./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 8bd4bc60 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 7a7b79fb8a331a00295fb9ddfb653e17bda3c30d .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 7a7b79fb8a331a00295fb9ddfb653e17bda3c30d ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator --- Real Ultimate output --- This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 19:10:26,986 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 19:10:26,988 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 19:10:27,007 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 19:10:27,008 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 19:10:27,011 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 19:10:27,013 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 19:10:27,023 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 19:10:27,028 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 19:10:27,032 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 19:10:27,034 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 19:10:27,035 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 19:10:27,036 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 19:10:27,038 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 19:10:27,040 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 19:10:27,041 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 19:10:27,042 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 19:10:27,043 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 19:10:27,046 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 19:10:27,050 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 19:10:27,055 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 19:10:27,059 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 19:10:27,061 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 19:10:27,062 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 19:10:27,065 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 19:10:27,065 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 19:10:27,065 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 19:10:27,067 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 19:10:27,068 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 19:10:27,069 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 19:10:27,069 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 19:10:27,070 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 19:10:27,071 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 19:10:27,072 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 19:10:27,074 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 19:10:27,074 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 19:10:27,075 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 19:10:27,075 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 19:10:27,076 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 19:10:27,076 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 19:10:27,079 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 19:10:27,080 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-28 19:10:27,117 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 19:10:27,118 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 19:10:27,120 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 19:10:27,122 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 19:10:27,123 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 19:10:27,123 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 19:10:27,123 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 19:10:27,123 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 19:10:27,124 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 19:10:27,124 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 19:10:27,125 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 19:10:27,126 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 19:10:27,126 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 19:10:27,126 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 19:10:27,127 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 19:10:27,127 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 19:10:27,127 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 19:10:27,128 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 19:10:27,128 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 19:10:27,128 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 19:10:27,128 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 19:10:27,129 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:10:27,129 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 19:10:27,130 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 19:10:27,130 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 19:10:27,130 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 19:10:27,130 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 19:10:27,131 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 19:10:27,131 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 19:10:27,131 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.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(G ! call(__VERIFIER_error())) ) 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 -> 7a7b79fb8a331a00295fb9ddfb653e17bda3c30d [2020-07-28 19:10:27,443 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 19:10:27,454 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 19:10:27,458 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 19:10:27,459 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 19:10:27,460 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 19:10:27,461 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2020-07-28 19:10:27,538 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/62743019a/8414bac51c10476f8fe1965e3d3fdb71/FLAGda2a97324 [2020-07-28 19:10:28,000 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 19:10:28,001 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2020-07-28 19:10:28,008 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/62743019a/8414bac51c10476f8fe1965e3d3fdb71/FLAGda2a97324 [2020-07-28 19:10:28,376 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/62743019a/8414bac51c10476f8fe1965e3d3fdb71 [2020-07-28 19:10:28,380 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 19:10:28,384 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 19:10:28,386 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 19:10:28,386 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 19:10:28,390 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 19:10:28,392 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,395 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3cb8b780 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28, skipping insertion in model container [2020-07-28 19:10:28,396 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,404 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 19:10:28,425 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 19:10:28,606 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:10:28,611 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 19:10:28,642 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:10:28,659 INFO L208 MainTranslator]: Completed translation [2020-07-28 19:10:28,660 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28 WrapperNode [2020-07-28 19:10:28,660 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 19:10:28,662 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 19:10:28,662 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 19:10:28,662 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 19:10:28,669 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,674 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,743 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 19:10:28,744 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 19:10:28,744 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 19:10:28,744 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 19:10:28,755 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,755 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,756 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,757 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,761 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,765 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,770 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... [2020-07-28 19:10:28,777 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 19:10:28,777 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 19:10:28,777 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 19:10:28,778 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 19:10:28,779 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:10:28,839 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 19:10:28,839 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 19:10:28,840 INFO L130 BoogieDeclarations]: Found specification of procedure fibo2 [2020-07-28 19:10:28,840 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo2 [2020-07-28 19:10:28,840 INFO L130 BoogieDeclarations]: Found specification of procedure fibo1 [2020-07-28 19:10:28,840 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo1 [2020-07-28 19:10:29,120 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 19:10:29,121 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-28 19:10:29,126 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:10:29 BoogieIcfgContainer [2020-07-28 19:10:29,126 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 19:10:29,129 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 19:10:29,129 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 19:10:29,133 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 19:10:29,134 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 07:10:28" (1/3) ... [2020-07-28 19:10:29,135 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6547e0fa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:10:29, skipping insertion in model container [2020-07-28 19:10:29,135 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:28" (2/3) ... [2020-07-28 19:10:29,136 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6547e0fa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:10:29, skipping insertion in model container [2020-07-28 19:10:29,136 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:10:29" (3/3) ... [2020-07-28 19:10:29,138 INFO L109 eAbstractionObserver]: Analyzing ICFG fibo_2calls_4-2.c [2020-07-28 19:10:29,154 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 19:10:29,165 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 19:10:29,183 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 19:10:29,213 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 19:10:29,213 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 19:10:29,213 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 19:10:29,213 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 19:10:29,213 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 19:10:29,214 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 19:10:29,214 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 19:10:29,214 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 19:10:29,244 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2020-07-28 19:10:29,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2020-07-28 19:10:29,251 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:29,252 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:29,253 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:29,259 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:29,259 INFO L82 PathProgramCache]: Analyzing trace with hash 1871295635, now seen corresponding path program 1 times [2020-07-28 19:10:29,271 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:29,272 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544484400] [2020-07-28 19:10:29,273 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:29,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:29,431 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:29,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:29,519 INFO L280 TraceCheckUtils]: 0: Hoare triple {31#true} ~n := #in~n; {38#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:29,521 INFO L280 TraceCheckUtils]: 1: Hoare triple {38#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {39#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:29,523 INFO L280 TraceCheckUtils]: 2: Hoare triple {39#(<= |fibo1_#in~n| 0)} assume true; {39#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:29,525 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {39#(<= |fibo1_#in~n| 0)} {33#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {32#false} is VALID [2020-07-28 19:10:29,529 INFO L280 TraceCheckUtils]: 0: Hoare triple {31#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {33#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:29,530 INFO L263 TraceCheckUtils]: 1: Hoare triple {33#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {31#true} is VALID [2020-07-28 19:10:29,531 INFO L280 TraceCheckUtils]: 2: Hoare triple {31#true} ~n := #in~n; {38#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:29,533 INFO L280 TraceCheckUtils]: 3: Hoare triple {38#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {39#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:29,534 INFO L280 TraceCheckUtils]: 4: Hoare triple {39#(<= |fibo1_#in~n| 0)} assume true; {39#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:29,538 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {39#(<= |fibo1_#in~n| 0)} {33#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {32#false} is VALID [2020-07-28 19:10:29,538 INFO L280 TraceCheckUtils]: 6: Hoare triple {32#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {32#false} is VALID [2020-07-28 19:10:29,538 INFO L280 TraceCheckUtils]: 7: Hoare triple {32#false} assume 3 == main_~result~0; {32#false} is VALID [2020-07-28 19:10:29,539 INFO L280 TraceCheckUtils]: 8: Hoare triple {32#false} assume !false; {32#false} is VALID [2020-07-28 19:10:29,540 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:10:29,541 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1544484400] [2020-07-28 19:10:29,542 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:10:29,543 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-28 19:10:29,544 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1615477801] [2020-07-28 19:10:29,550 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 9 [2020-07-28 19:10:29,553 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:29,558 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 19:10:29,581 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:29,582 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 19:10:29,582 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:29,593 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 19:10:29,595 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-28 19:10:29,597 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 5 states. [2020-07-28 19:10:29,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:29,882 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2020-07-28 19:10:29,882 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:10:29,883 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 9 [2020-07-28 19:10:29,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:29,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:10:29,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2020-07-28 19:10:29,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:10:29,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2020-07-28 19:10:29,900 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2020-07-28 19:10:29,984 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:29,999 INFO L225 Difference]: With dead ends: 38 [2020-07-28 19:10:30,000 INFO L226 Difference]: Without dead ends: 26 [2020-07-28 19:10:30,004 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-28 19:10:30,025 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2020-07-28 19:10:30,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2020-07-28 19:10:30,056 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:30,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 26 states. [2020-07-28 19:10:30,057 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-28 19:10:30,058 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-28 19:10:30,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:30,065 INFO L93 Difference]: Finished difference Result 26 states and 33 transitions. [2020-07-28 19:10:30,066 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 33 transitions. [2020-07-28 19:10:30,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:30,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:30,068 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-28 19:10:30,068 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-28 19:10:30,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:30,074 INFO L93 Difference]: Finished difference Result 26 states and 33 transitions. [2020-07-28 19:10:30,075 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 33 transitions. [2020-07-28 19:10:30,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:30,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:30,076 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:30,077 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:30,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-28 19:10:30,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 33 transitions. [2020-07-28 19:10:30,083 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 33 transitions. Word has length 9 [2020-07-28 19:10:30,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:30,084 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 33 transitions. [2020-07-28 19:10:30,084 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 19:10:30,084 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 33 transitions. [2020-07-28 19:10:30,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2020-07-28 19:10:30,086 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:30,086 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:30,086 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 19:10:30,087 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:30,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:30,087 INFO L82 PathProgramCache]: Analyzing trace with hash -1404217650, now seen corresponding path program 1 times [2020-07-28 19:10:30,088 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:30,088 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [600031714] [2020-07-28 19:10:30,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:30,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,123 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:30,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,165 INFO L280 TraceCheckUtils]: 0: Hoare triple {176#true} ~n := #in~n; {184#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:30,166 INFO L280 TraceCheckUtils]: 1: Hoare triple {184#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {184#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:30,168 INFO L280 TraceCheckUtils]: 2: Hoare triple {184#(= fibo1_~n |fibo1_#in~n|)} assume 1 == ~n;#res := 1; {185#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:30,169 INFO L280 TraceCheckUtils]: 3: Hoare triple {185#(<= |fibo1_#in~n| 1)} assume true; {185#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:30,171 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {185#(<= |fibo1_#in~n| 1)} {178#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {177#false} is VALID [2020-07-28 19:10:30,172 INFO L280 TraceCheckUtils]: 0: Hoare triple {176#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {178#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:30,173 INFO L263 TraceCheckUtils]: 1: Hoare triple {178#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {176#true} is VALID [2020-07-28 19:10:30,174 INFO L280 TraceCheckUtils]: 2: Hoare triple {176#true} ~n := #in~n; {184#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:30,175 INFO L280 TraceCheckUtils]: 3: Hoare triple {184#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {184#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:30,176 INFO L280 TraceCheckUtils]: 4: Hoare triple {184#(= fibo1_~n |fibo1_#in~n|)} assume 1 == ~n;#res := 1; {185#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:30,177 INFO L280 TraceCheckUtils]: 5: Hoare triple {185#(<= |fibo1_#in~n| 1)} assume true; {185#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:30,179 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {185#(<= |fibo1_#in~n| 1)} {178#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {177#false} is VALID [2020-07-28 19:10:30,179 INFO L280 TraceCheckUtils]: 7: Hoare triple {177#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {177#false} is VALID [2020-07-28 19:10:30,180 INFO L280 TraceCheckUtils]: 8: Hoare triple {177#false} assume 3 == main_~result~0; {177#false} is VALID [2020-07-28 19:10:30,180 INFO L280 TraceCheckUtils]: 9: Hoare triple {177#false} assume !false; {177#false} is VALID [2020-07-28 19:10:30,181 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:10:30,182 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [600031714] [2020-07-28 19:10:30,182 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:10:30,182 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-28 19:10:30,183 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1732527580] [2020-07-28 19:10:30,185 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 10 [2020-07-28 19:10:30,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:30,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 19:10:30,203 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:30,203 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 19:10:30,203 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:30,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 19:10:30,204 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-28 19:10:30,204 INFO L87 Difference]: Start difference. First operand 26 states and 33 transitions. Second operand 5 states. [2020-07-28 19:10:30,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:30,432 INFO L93 Difference]: Finished difference Result 32 states and 40 transitions. [2020-07-28 19:10:30,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:10:30,433 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 10 [2020-07-28 19:10:30,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:30,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:10:30,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 37 transitions. [2020-07-28 19:10:30,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:10:30,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 37 transitions. [2020-07-28 19:10:30,440 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 37 transitions. [2020-07-28 19:10:30,510 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:30,513 INFO L225 Difference]: With dead ends: 32 [2020-07-28 19:10:30,513 INFO L226 Difference]: Without dead ends: 28 [2020-07-28 19:10:30,514 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-28 19:10:30,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2020-07-28 19:10:30,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 26. [2020-07-28 19:10:30,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:30,527 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 26 states. [2020-07-28 19:10:30,527 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 26 states. [2020-07-28 19:10:30,527 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 26 states. [2020-07-28 19:10:30,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:30,531 INFO L93 Difference]: Finished difference Result 28 states and 36 transitions. [2020-07-28 19:10:30,532 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 36 transitions. [2020-07-28 19:10:30,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:30,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:30,533 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 28 states. [2020-07-28 19:10:30,534 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 28 states. [2020-07-28 19:10:30,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:30,538 INFO L93 Difference]: Finished difference Result 28 states and 36 transitions. [2020-07-28 19:10:30,538 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 36 transitions. [2020-07-28 19:10:30,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:30,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:30,540 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:30,540 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:30,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-28 19:10:30,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 33 transitions. [2020-07-28 19:10:30,543 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 33 transitions. Word has length 10 [2020-07-28 19:10:30,544 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:30,544 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 33 transitions. [2020-07-28 19:10:30,544 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 19:10:30,545 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 33 transitions. [2020-07-28 19:10:30,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2020-07-28 19:10:30,546 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:30,546 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:30,547 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 19:10:30,547 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:30,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:30,548 INFO L82 PathProgramCache]: Analyzing trace with hash -1629927371, now seen corresponding path program 1 times [2020-07-28 19:10:30,548 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:30,549 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1293325750] [2020-07-28 19:10:30,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:30,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,589 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:30,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,639 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:30,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,674 INFO L280 TraceCheckUtils]: 0: Hoare triple {318#true} ~n := #in~n; {348#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:30,675 INFO L280 TraceCheckUtils]: 1: Hoare triple {348#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:30,676 INFO L280 TraceCheckUtils]: 2: Hoare triple {349#(<= |fibo2_#in~n| 0)} assume true; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:30,678 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {349#(<= |fibo2_#in~n| 0)} {339#(< 1 fibo1_~n)} #52#return; {319#false} is VALID [2020-07-28 19:10:30,678 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2020-07-28 19:10:30,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,685 INFO L280 TraceCheckUtils]: 0: Hoare triple {318#true} ~n := #in~n; {318#true} is VALID [2020-07-28 19:10:30,686 INFO L280 TraceCheckUtils]: 1: Hoare triple {318#true} assume ~n < 1;#res := 0; {318#true} is VALID [2020-07-28 19:10:30,686 INFO L280 TraceCheckUtils]: 2: Hoare triple {318#true} assume true; {318#true} is VALID [2020-07-28 19:10:30,687 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {318#true} {319#false} #54#return; {319#false} is VALID [2020-07-28 19:10:30,687 INFO L280 TraceCheckUtils]: 0: Hoare triple {318#true} ~n := #in~n; {318#true} is VALID [2020-07-28 19:10:30,688 INFO L280 TraceCheckUtils]: 1: Hoare triple {318#true} assume !(~n < 1); {338#(< 0 fibo1_~n)} is VALID [2020-07-28 19:10:30,690 INFO L280 TraceCheckUtils]: 2: Hoare triple {338#(< 0 fibo1_~n)} assume !(1 == ~n); {339#(< 1 fibo1_~n)} is VALID [2020-07-28 19:10:30,690 INFO L263 TraceCheckUtils]: 3: Hoare triple {339#(< 1 fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {318#true} is VALID [2020-07-28 19:10:30,691 INFO L280 TraceCheckUtils]: 4: Hoare triple {318#true} ~n := #in~n; {348#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:30,692 INFO L280 TraceCheckUtils]: 5: Hoare triple {348#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:30,693 INFO L280 TraceCheckUtils]: 6: Hoare triple {349#(<= |fibo2_#in~n| 0)} assume true; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:30,695 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {349#(<= |fibo2_#in~n| 0)} {339#(< 1 fibo1_~n)} #52#return; {319#false} is VALID [2020-07-28 19:10:30,695 INFO L280 TraceCheckUtils]: 8: Hoare triple {319#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {319#false} is VALID [2020-07-28 19:10:30,695 INFO L263 TraceCheckUtils]: 9: Hoare triple {319#false} call #t~ret1 := fibo2(~n - 2); {318#true} is VALID [2020-07-28 19:10:30,696 INFO L280 TraceCheckUtils]: 10: Hoare triple {318#true} ~n := #in~n; {318#true} is VALID [2020-07-28 19:10:30,696 INFO L280 TraceCheckUtils]: 11: Hoare triple {318#true} assume ~n < 1;#res := 0; {318#true} is VALID [2020-07-28 19:10:30,697 INFO L280 TraceCheckUtils]: 12: Hoare triple {318#true} assume true; {318#true} is VALID [2020-07-28 19:10:30,697 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {318#true} {319#false} #54#return; {319#false} is VALID [2020-07-28 19:10:30,697 INFO L280 TraceCheckUtils]: 14: Hoare triple {319#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {319#false} is VALID [2020-07-28 19:10:30,698 INFO L280 TraceCheckUtils]: 15: Hoare triple {319#false} assume true; {319#false} is VALID [2020-07-28 19:10:30,698 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {319#false} {320#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {319#false} is VALID [2020-07-28 19:10:30,701 INFO L280 TraceCheckUtils]: 0: Hoare triple {318#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {320#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:30,701 INFO L263 TraceCheckUtils]: 1: Hoare triple {320#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {318#true} is VALID [2020-07-28 19:10:30,701 INFO L280 TraceCheckUtils]: 2: Hoare triple {318#true} ~n := #in~n; {318#true} is VALID [2020-07-28 19:10:30,702 INFO L280 TraceCheckUtils]: 3: Hoare triple {318#true} assume !(~n < 1); {338#(< 0 fibo1_~n)} is VALID [2020-07-28 19:10:30,703 INFO L280 TraceCheckUtils]: 4: Hoare triple {338#(< 0 fibo1_~n)} assume !(1 == ~n); {339#(< 1 fibo1_~n)} is VALID [2020-07-28 19:10:30,704 INFO L263 TraceCheckUtils]: 5: Hoare triple {339#(< 1 fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {318#true} is VALID [2020-07-28 19:10:30,705 INFO L280 TraceCheckUtils]: 6: Hoare triple {318#true} ~n := #in~n; {348#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:30,706 INFO L280 TraceCheckUtils]: 7: Hoare triple {348#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:30,707 INFO L280 TraceCheckUtils]: 8: Hoare triple {349#(<= |fibo2_#in~n| 0)} assume true; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:30,708 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {349#(<= |fibo2_#in~n| 0)} {339#(< 1 fibo1_~n)} #52#return; {319#false} is VALID [2020-07-28 19:10:30,709 INFO L280 TraceCheckUtils]: 10: Hoare triple {319#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {319#false} is VALID [2020-07-28 19:10:30,709 INFO L263 TraceCheckUtils]: 11: Hoare triple {319#false} call #t~ret1 := fibo2(~n - 2); {318#true} is VALID [2020-07-28 19:10:30,710 INFO L280 TraceCheckUtils]: 12: Hoare triple {318#true} ~n := #in~n; {318#true} is VALID [2020-07-28 19:10:30,710 INFO L280 TraceCheckUtils]: 13: Hoare triple {318#true} assume ~n < 1;#res := 0; {318#true} is VALID [2020-07-28 19:10:30,710 INFO L280 TraceCheckUtils]: 14: Hoare triple {318#true} assume true; {318#true} is VALID [2020-07-28 19:10:30,711 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {318#true} {319#false} #54#return; {319#false} is VALID [2020-07-28 19:10:30,711 INFO L280 TraceCheckUtils]: 16: Hoare triple {319#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {319#false} is VALID [2020-07-28 19:10:30,711 INFO L280 TraceCheckUtils]: 17: Hoare triple {319#false} assume true; {319#false} is VALID [2020-07-28 19:10:30,712 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {319#false} {320#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {319#false} is VALID [2020-07-28 19:10:30,712 INFO L280 TraceCheckUtils]: 19: Hoare triple {319#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {319#false} is VALID [2020-07-28 19:10:30,712 INFO L280 TraceCheckUtils]: 20: Hoare triple {319#false} assume 3 == main_~result~0; {319#false} is VALID [2020-07-28 19:10:30,713 INFO L280 TraceCheckUtils]: 21: Hoare triple {319#false} assume !false; {319#false} is VALID [2020-07-28 19:10:30,715 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:30,716 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1293325750] [2020-07-28 19:10:30,716 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1888249475] [2020-07-28 19:10:30,716 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:30,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,778 INFO L263 TraceCheckSpWp]: Trace formula consists of 52 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:10:30,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:30,805 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:31,094 INFO L280 TraceCheckUtils]: 0: Hoare triple {318#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {320#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:31,094 INFO L263 TraceCheckUtils]: 1: Hoare triple {320#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {318#true} is VALID [2020-07-28 19:10:31,095 INFO L280 TraceCheckUtils]: 2: Hoare triple {318#true} ~n := #in~n; {359#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:31,096 INFO L280 TraceCheckUtils]: 3: Hoare triple {359#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {359#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:31,097 INFO L280 TraceCheckUtils]: 4: Hoare triple {359#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {359#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:31,098 INFO L263 TraceCheckUtils]: 5: Hoare triple {359#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {318#true} is VALID [2020-07-28 19:10:31,099 INFO L280 TraceCheckUtils]: 6: Hoare triple {318#true} ~n := #in~n; {372#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:31,100 INFO L280 TraceCheckUtils]: 7: Hoare triple {372#(<= |fibo2_#in~n| fibo2_~n)} assume ~n < 1;#res := 0; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:31,101 INFO L280 TraceCheckUtils]: 8: Hoare triple {349#(<= |fibo2_#in~n| 0)} assume true; {349#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:31,103 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {349#(<= |fibo2_#in~n| 0)} {359#(<= |fibo1_#in~n| fibo1_~n)} #52#return; {382#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:31,104 INFO L280 TraceCheckUtils]: 10: Hoare triple {382#(<= |fibo1_#in~n| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {382#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:31,104 INFO L263 TraceCheckUtils]: 11: Hoare triple {382#(<= |fibo1_#in~n| 1)} call #t~ret1 := fibo2(~n - 2); {318#true} is VALID [2020-07-28 19:10:31,105 INFO L280 TraceCheckUtils]: 12: Hoare triple {318#true} ~n := #in~n; {318#true} is VALID [2020-07-28 19:10:31,105 INFO L280 TraceCheckUtils]: 13: Hoare triple {318#true} assume ~n < 1;#res := 0; {318#true} is VALID [2020-07-28 19:10:31,105 INFO L280 TraceCheckUtils]: 14: Hoare triple {318#true} assume true; {318#true} is VALID [2020-07-28 19:10:31,107 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {318#true} {382#(<= |fibo1_#in~n| 1)} #54#return; {382#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:31,108 INFO L280 TraceCheckUtils]: 16: Hoare triple {382#(<= |fibo1_#in~n| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {382#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:31,109 INFO L280 TraceCheckUtils]: 17: Hoare triple {382#(<= |fibo1_#in~n| 1)} assume true; {382#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:31,110 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {382#(<= |fibo1_#in~n| 1)} {320#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {319#false} is VALID [2020-07-28 19:10:31,110 INFO L280 TraceCheckUtils]: 19: Hoare triple {319#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {319#false} is VALID [2020-07-28 19:10:31,111 INFO L280 TraceCheckUtils]: 20: Hoare triple {319#false} assume 3 == main_~result~0; {319#false} is VALID [2020-07-28 19:10:31,111 INFO L280 TraceCheckUtils]: 21: Hoare triple {319#false} assume !false; {319#false} is VALID [2020-07-28 19:10:31,113 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:31,114 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:31,114 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2020-07-28 19:10:31,114 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1428092617] [2020-07-28 19:10:31,115 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2020-07-28 19:10:31,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:31,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 19:10:31,162 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:31,162 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 19:10:31,162 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:31,163 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 19:10:31,163 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:10:31,164 INFO L87 Difference]: Start difference. First operand 26 states and 33 transitions. Second operand 10 states. [2020-07-28 19:10:31,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:31,770 INFO L93 Difference]: Finished difference Result 54 states and 74 transitions. [2020-07-28 19:10:31,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 19:10:31,771 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2020-07-28 19:10:31,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:31,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:10:31,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2020-07-28 19:10:31,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:10:31,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2020-07-28 19:10:31,779 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 71 transitions. [2020-07-28 19:10:31,913 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:31,915 INFO L225 Difference]: With dead ends: 54 [2020-07-28 19:10:31,915 INFO L226 Difference]: Without dead ends: 30 [2020-07-28 19:10:31,920 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:10:31,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2020-07-28 19:10:31,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 28. [2020-07-28 19:10:31,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:31,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 28 states. [2020-07-28 19:10:31,937 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 28 states. [2020-07-28 19:10:31,937 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 28 states. [2020-07-28 19:10:31,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:31,940 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2020-07-28 19:10:31,941 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2020-07-28 19:10:31,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:31,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:31,942 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 30 states. [2020-07-28 19:10:31,942 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 30 states. [2020-07-28 19:10:31,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:31,945 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2020-07-28 19:10:31,945 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2020-07-28 19:10:31,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:31,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:31,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:31,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:31,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-28 19:10:31,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 35 transitions. [2020-07-28 19:10:31,950 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 35 transitions. Word has length 22 [2020-07-28 19:10:31,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:31,950 INFO L479 AbstractCegarLoop]: Abstraction has 28 states and 35 transitions. [2020-07-28 19:10:31,950 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 19:10:31,951 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 35 transitions. [2020-07-28 19:10:31,952 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2020-07-28 19:10:31,952 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:31,952 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:32,167 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-28 19:10:32,167 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:32,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:32,169 INFO L82 PathProgramCache]: Analyzing trace with hash 1285987244, now seen corresponding path program 1 times [2020-07-28 19:10:32,169 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:32,170 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1598304609] [2020-07-28 19:10:32,170 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:32,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:32,200 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:32,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:32,243 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:32,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:32,272 INFO L280 TraceCheckUtils]: 0: Hoare triple {590#true} ~n := #in~n; {622#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:32,273 INFO L280 TraceCheckUtils]: 1: Hoare triple {622#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {622#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:32,274 INFO L280 TraceCheckUtils]: 2: Hoare triple {622#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,274 INFO L280 TraceCheckUtils]: 3: Hoare triple {623#(<= |fibo2_#in~n| 1)} assume true; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,276 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {623#(<= |fibo2_#in~n| 1)} {611#(= fibo1_~n |fibo1_#in~n|)} #52#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,276 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:10:32,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:32,283 INFO L280 TraceCheckUtils]: 0: Hoare triple {590#true} ~n := #in~n; {590#true} is VALID [2020-07-28 19:10:32,283 INFO L280 TraceCheckUtils]: 1: Hoare triple {590#true} assume ~n < 1;#res := 0; {590#true} is VALID [2020-07-28 19:10:32,283 INFO L280 TraceCheckUtils]: 2: Hoare triple {590#true} assume true; {590#true} is VALID [2020-07-28 19:10:32,284 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {590#true} {617#(<= |fibo1_#in~n| 2)} #54#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,285 INFO L280 TraceCheckUtils]: 0: Hoare triple {590#true} ~n := #in~n; {611#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:32,286 INFO L280 TraceCheckUtils]: 1: Hoare triple {611#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {611#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:32,286 INFO L280 TraceCheckUtils]: 2: Hoare triple {611#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {611#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:32,287 INFO L263 TraceCheckUtils]: 3: Hoare triple {611#(= fibo1_~n |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {590#true} is VALID [2020-07-28 19:10:32,287 INFO L280 TraceCheckUtils]: 4: Hoare triple {590#true} ~n := #in~n; {622#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:32,288 INFO L280 TraceCheckUtils]: 5: Hoare triple {622#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {622#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:32,289 INFO L280 TraceCheckUtils]: 6: Hoare triple {622#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,289 INFO L280 TraceCheckUtils]: 7: Hoare triple {623#(<= |fibo2_#in~n| 1)} assume true; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,290 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {623#(<= |fibo2_#in~n| 1)} {611#(= fibo1_~n |fibo1_#in~n|)} #52#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,291 INFO L280 TraceCheckUtils]: 9: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,291 INFO L263 TraceCheckUtils]: 10: Hoare triple {617#(<= |fibo1_#in~n| 2)} call #t~ret1 := fibo2(~n - 2); {590#true} is VALID [2020-07-28 19:10:32,292 INFO L280 TraceCheckUtils]: 11: Hoare triple {590#true} ~n := #in~n; {590#true} is VALID [2020-07-28 19:10:32,292 INFO L280 TraceCheckUtils]: 12: Hoare triple {590#true} assume ~n < 1;#res := 0; {590#true} is VALID [2020-07-28 19:10:32,292 INFO L280 TraceCheckUtils]: 13: Hoare triple {590#true} assume true; {590#true} is VALID [2020-07-28 19:10:32,293 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {590#true} {617#(<= |fibo1_#in~n| 2)} #54#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,294 INFO L280 TraceCheckUtils]: 15: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,295 INFO L280 TraceCheckUtils]: 16: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume true; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,296 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {617#(<= |fibo1_#in~n| 2)} {592#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {591#false} is VALID [2020-07-28 19:10:32,297 INFO L280 TraceCheckUtils]: 0: Hoare triple {590#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {592#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:32,297 INFO L263 TraceCheckUtils]: 1: Hoare triple {592#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {590#true} is VALID [2020-07-28 19:10:32,298 INFO L280 TraceCheckUtils]: 2: Hoare triple {590#true} ~n := #in~n; {611#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:32,298 INFO L280 TraceCheckUtils]: 3: Hoare triple {611#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {611#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:32,299 INFO L280 TraceCheckUtils]: 4: Hoare triple {611#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {611#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:32,299 INFO L263 TraceCheckUtils]: 5: Hoare triple {611#(= fibo1_~n |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {590#true} is VALID [2020-07-28 19:10:32,300 INFO L280 TraceCheckUtils]: 6: Hoare triple {590#true} ~n := #in~n; {622#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:32,300 INFO L280 TraceCheckUtils]: 7: Hoare triple {622#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {622#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:32,301 INFO L280 TraceCheckUtils]: 8: Hoare triple {622#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,302 INFO L280 TraceCheckUtils]: 9: Hoare triple {623#(<= |fibo2_#in~n| 1)} assume true; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,303 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {623#(<= |fibo2_#in~n| 1)} {611#(= fibo1_~n |fibo1_#in~n|)} #52#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,304 INFO L280 TraceCheckUtils]: 11: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,304 INFO L263 TraceCheckUtils]: 12: Hoare triple {617#(<= |fibo1_#in~n| 2)} call #t~ret1 := fibo2(~n - 2); {590#true} is VALID [2020-07-28 19:10:32,304 INFO L280 TraceCheckUtils]: 13: Hoare triple {590#true} ~n := #in~n; {590#true} is VALID [2020-07-28 19:10:32,305 INFO L280 TraceCheckUtils]: 14: Hoare triple {590#true} assume ~n < 1;#res := 0; {590#true} is VALID [2020-07-28 19:10:32,305 INFO L280 TraceCheckUtils]: 15: Hoare triple {590#true} assume true; {590#true} is VALID [2020-07-28 19:10:32,306 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {590#true} {617#(<= |fibo1_#in~n| 2)} #54#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,306 INFO L280 TraceCheckUtils]: 17: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,307 INFO L280 TraceCheckUtils]: 18: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume true; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,308 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {617#(<= |fibo1_#in~n| 2)} {592#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {591#false} is VALID [2020-07-28 19:10:32,308 INFO L280 TraceCheckUtils]: 20: Hoare triple {591#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {591#false} is VALID [2020-07-28 19:10:32,309 INFO L280 TraceCheckUtils]: 21: Hoare triple {591#false} assume 3 == main_~result~0; {591#false} is VALID [2020-07-28 19:10:32,309 INFO L280 TraceCheckUtils]: 22: Hoare triple {591#false} assume !false; {591#false} is VALID [2020-07-28 19:10:32,310 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:32,310 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1598304609] [2020-07-28 19:10:32,310 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [407129503] [2020-07-28 19:10:32,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:32,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:32,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 54 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:10:32,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:32,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:32,520 INFO L280 TraceCheckUtils]: 0: Hoare triple {590#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {592#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:32,520 INFO L263 TraceCheckUtils]: 1: Hoare triple {592#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {590#true} is VALID [2020-07-28 19:10:32,521 INFO L280 TraceCheckUtils]: 2: Hoare triple {590#true} ~n := #in~n; {633#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:32,522 INFO L280 TraceCheckUtils]: 3: Hoare triple {633#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {633#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:32,522 INFO L280 TraceCheckUtils]: 4: Hoare triple {633#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {633#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:32,523 INFO L263 TraceCheckUtils]: 5: Hoare triple {633#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {590#true} is VALID [2020-07-28 19:10:32,523 INFO L280 TraceCheckUtils]: 6: Hoare triple {590#true} ~n := #in~n; {646#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:32,524 INFO L280 TraceCheckUtils]: 7: Hoare triple {646#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {646#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:32,525 INFO L280 TraceCheckUtils]: 8: Hoare triple {646#(<= |fibo2_#in~n| fibo2_~n)} assume 1 == ~n;#res := 1; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,526 INFO L280 TraceCheckUtils]: 9: Hoare triple {623#(<= |fibo2_#in~n| 1)} assume true; {623#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:32,527 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {623#(<= |fibo2_#in~n| 1)} {633#(<= |fibo1_#in~n| fibo1_~n)} #52#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,528 INFO L280 TraceCheckUtils]: 11: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,528 INFO L263 TraceCheckUtils]: 12: Hoare triple {617#(<= |fibo1_#in~n| 2)} call #t~ret1 := fibo2(~n - 2); {590#true} is VALID [2020-07-28 19:10:32,528 INFO L280 TraceCheckUtils]: 13: Hoare triple {590#true} ~n := #in~n; {590#true} is VALID [2020-07-28 19:10:32,528 INFO L280 TraceCheckUtils]: 14: Hoare triple {590#true} assume ~n < 1;#res := 0; {590#true} is VALID [2020-07-28 19:10:32,529 INFO L280 TraceCheckUtils]: 15: Hoare triple {590#true} assume true; {590#true} is VALID [2020-07-28 19:10:32,530 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {590#true} {617#(<= |fibo1_#in~n| 2)} #54#return; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,531 INFO L280 TraceCheckUtils]: 17: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,539 INFO L280 TraceCheckUtils]: 18: Hoare triple {617#(<= |fibo1_#in~n| 2)} assume true; {617#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:32,540 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {617#(<= |fibo1_#in~n| 2)} {592#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {591#false} is VALID [2020-07-28 19:10:32,540 INFO L280 TraceCheckUtils]: 20: Hoare triple {591#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {591#false} is VALID [2020-07-28 19:10:32,540 INFO L280 TraceCheckUtils]: 21: Hoare triple {591#false} assume 3 == main_~result~0; {591#false} is VALID [2020-07-28 19:10:32,540 INFO L280 TraceCheckUtils]: 22: Hoare triple {591#false} assume !false; {591#false} is VALID [2020-07-28 19:10:32,541 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:32,541 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:32,541 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2020-07-28 19:10:32,542 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1908820243] [2020-07-28 19:10:32,542 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2020-07-28 19:10:32,543 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:32,543 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-28 19:10:32,580 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:32,580 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-28 19:10:32,580 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:32,580 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-28 19:10:32,581 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-28 19:10:32,581 INFO L87 Difference]: Start difference. First operand 28 states and 35 transitions. Second operand 9 states. [2020-07-28 19:10:33,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:33,155 INFO L93 Difference]: Finished difference Result 50 states and 70 transitions. [2020-07-28 19:10:33,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-28 19:10:33,156 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2020-07-28 19:10:33,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:33,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 19:10:33,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 62 transitions. [2020-07-28 19:10:33,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 19:10:33,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 62 transitions. [2020-07-28 19:10:33,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 62 transitions. [2020-07-28 19:10:33,241 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:33,244 INFO L225 Difference]: With dead ends: 50 [2020-07-28 19:10:33,244 INFO L226 Difference]: Without dead ends: 46 [2020-07-28 19:10:33,245 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2020-07-28 19:10:33,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2020-07-28 19:10:33,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 44. [2020-07-28 19:10:33,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:33,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 44 states. [2020-07-28 19:10:33,268 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 44 states. [2020-07-28 19:10:33,268 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 44 states. [2020-07-28 19:10:33,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:33,272 INFO L93 Difference]: Finished difference Result 46 states and 66 transitions. [2020-07-28 19:10:33,273 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 66 transitions. [2020-07-28 19:10:33,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:33,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:33,274 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 46 states. [2020-07-28 19:10:33,274 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 46 states. [2020-07-28 19:10:33,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:33,279 INFO L93 Difference]: Finished difference Result 46 states and 66 transitions. [2020-07-28 19:10:33,279 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 66 transitions. [2020-07-28 19:10:33,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:33,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:33,280 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:33,280 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:33,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2020-07-28 19:10:33,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 61 transitions. [2020-07-28 19:10:33,284 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 61 transitions. Word has length 23 [2020-07-28 19:10:33,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:33,284 INFO L479 AbstractCegarLoop]: Abstraction has 44 states and 61 transitions. [2020-07-28 19:10:33,284 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-28 19:10:33,284 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 61 transitions. [2020-07-28 19:10:33,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2020-07-28 19:10:33,285 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:33,286 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:33,492 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:33,493 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:33,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:33,493 INFO L82 PathProgramCache]: Analyzing trace with hash -649262923, now seen corresponding path program 1 times [2020-07-28 19:10:33,494 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:33,494 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [861704635] [2020-07-28 19:10:33,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:33,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,551 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:33,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,603 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:33,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,650 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:33,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,680 INFO L280 TraceCheckUtils]: 0: Hoare triple {911#true} ~n := #in~n; {975#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:33,681 INFO L280 TraceCheckUtils]: 1: Hoare triple {975#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,681 INFO L280 TraceCheckUtils]: 2: Hoare triple {976#(<= |fibo1_#in~n| 0)} assume true; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,683 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {976#(<= |fibo1_#in~n| 0)} {966#(< 1 fibo2_~n)} #48#return; {912#false} is VALID [2020-07-28 19:10:33,683 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2020-07-28 19:10:33,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,688 INFO L280 TraceCheckUtils]: 0: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,689 INFO L280 TraceCheckUtils]: 1: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:33,689 INFO L280 TraceCheckUtils]: 2: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:33,689 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {911#true} {912#false} #50#return; {912#false} is VALID [2020-07-28 19:10:33,689 INFO L280 TraceCheckUtils]: 0: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,691 INFO L280 TraceCheckUtils]: 1: Hoare triple {911#true} assume !(~n < 1); {965#(< 0 fibo2_~n)} is VALID [2020-07-28 19:10:33,692 INFO L280 TraceCheckUtils]: 2: Hoare triple {965#(< 0 fibo2_~n)} assume !(1 == ~n); {966#(< 1 fibo2_~n)} is VALID [2020-07-28 19:10:33,692 INFO L263 TraceCheckUtils]: 3: Hoare triple {966#(< 1 fibo2_~n)} call #t~ret2 := fibo1(~n - 1); {911#true} is VALID [2020-07-28 19:10:33,693 INFO L280 TraceCheckUtils]: 4: Hoare triple {911#true} ~n := #in~n; {975#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:33,694 INFO L280 TraceCheckUtils]: 5: Hoare triple {975#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,694 INFO L280 TraceCheckUtils]: 6: Hoare triple {976#(<= |fibo1_#in~n| 0)} assume true; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,696 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {976#(<= |fibo1_#in~n| 0)} {966#(< 1 fibo2_~n)} #48#return; {912#false} is VALID [2020-07-28 19:10:33,696 INFO L280 TraceCheckUtils]: 8: Hoare triple {912#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {912#false} is VALID [2020-07-28 19:10:33,696 INFO L263 TraceCheckUtils]: 9: Hoare triple {912#false} call #t~ret3 := fibo1(~n - 2); {911#true} is VALID [2020-07-28 19:10:33,697 INFO L280 TraceCheckUtils]: 10: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,697 INFO L280 TraceCheckUtils]: 11: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:33,697 INFO L280 TraceCheckUtils]: 12: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:33,697 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {911#true} {912#false} #50#return; {912#false} is VALID [2020-07-28 19:10:33,698 INFO L280 TraceCheckUtils]: 14: Hoare triple {912#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {912#false} is VALID [2020-07-28 19:10:33,698 INFO L280 TraceCheckUtils]: 15: Hoare triple {912#false} assume true; {912#false} is VALID [2020-07-28 19:10:33,698 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {912#false} {911#true} #52#return; {912#false} is VALID [2020-07-28 19:10:33,699 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2020-07-28 19:10:33,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,704 INFO L280 TraceCheckUtils]: 0: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,704 INFO L280 TraceCheckUtils]: 1: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:33,704 INFO L280 TraceCheckUtils]: 2: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:33,704 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {911#true} {912#false} #54#return; {912#false} is VALID [2020-07-28 19:10:33,705 INFO L280 TraceCheckUtils]: 0: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,705 INFO L280 TraceCheckUtils]: 1: Hoare triple {911#true} assume !(~n < 1); {911#true} is VALID [2020-07-28 19:10:33,705 INFO L280 TraceCheckUtils]: 2: Hoare triple {911#true} assume !(1 == ~n); {911#true} is VALID [2020-07-28 19:10:33,705 INFO L263 TraceCheckUtils]: 3: Hoare triple {911#true} call #t~ret0 := fibo2(~n - 1); {911#true} is VALID [2020-07-28 19:10:33,706 INFO L280 TraceCheckUtils]: 4: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,707 INFO L280 TraceCheckUtils]: 5: Hoare triple {911#true} assume !(~n < 1); {965#(< 0 fibo2_~n)} is VALID [2020-07-28 19:10:33,707 INFO L280 TraceCheckUtils]: 6: Hoare triple {965#(< 0 fibo2_~n)} assume !(1 == ~n); {966#(< 1 fibo2_~n)} is VALID [2020-07-28 19:10:33,708 INFO L263 TraceCheckUtils]: 7: Hoare triple {966#(< 1 fibo2_~n)} call #t~ret2 := fibo1(~n - 1); {911#true} is VALID [2020-07-28 19:10:33,708 INFO L280 TraceCheckUtils]: 8: Hoare triple {911#true} ~n := #in~n; {975#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:33,709 INFO L280 TraceCheckUtils]: 9: Hoare triple {975#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,710 INFO L280 TraceCheckUtils]: 10: Hoare triple {976#(<= |fibo1_#in~n| 0)} assume true; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,711 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {976#(<= |fibo1_#in~n| 0)} {966#(< 1 fibo2_~n)} #48#return; {912#false} is VALID [2020-07-28 19:10:33,711 INFO L280 TraceCheckUtils]: 12: Hoare triple {912#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {912#false} is VALID [2020-07-28 19:10:33,711 INFO L263 TraceCheckUtils]: 13: Hoare triple {912#false} call #t~ret3 := fibo1(~n - 2); {911#true} is VALID [2020-07-28 19:10:33,711 INFO L280 TraceCheckUtils]: 14: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,711 INFO L280 TraceCheckUtils]: 15: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:33,712 INFO L280 TraceCheckUtils]: 16: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:33,712 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {911#true} {912#false} #50#return; {912#false} is VALID [2020-07-28 19:10:33,712 INFO L280 TraceCheckUtils]: 18: Hoare triple {912#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {912#false} is VALID [2020-07-28 19:10:33,712 INFO L280 TraceCheckUtils]: 19: Hoare triple {912#false} assume true; {912#false} is VALID [2020-07-28 19:10:33,713 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {912#false} {911#true} #52#return; {912#false} is VALID [2020-07-28 19:10:33,713 INFO L280 TraceCheckUtils]: 21: Hoare triple {912#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {912#false} is VALID [2020-07-28 19:10:33,713 INFO L263 TraceCheckUtils]: 22: Hoare triple {912#false} call #t~ret1 := fibo2(~n - 2); {911#true} is VALID [2020-07-28 19:10:33,713 INFO L280 TraceCheckUtils]: 23: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,713 INFO L280 TraceCheckUtils]: 24: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:33,714 INFO L280 TraceCheckUtils]: 25: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:33,714 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {911#true} {912#false} #54#return; {912#false} is VALID [2020-07-28 19:10:33,714 INFO L280 TraceCheckUtils]: 27: Hoare triple {912#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {912#false} is VALID [2020-07-28 19:10:33,714 INFO L280 TraceCheckUtils]: 28: Hoare triple {912#false} assume true; {912#false} is VALID [2020-07-28 19:10:33,715 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {912#false} {913#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {912#false} is VALID [2020-07-28 19:10:33,718 INFO L280 TraceCheckUtils]: 0: Hoare triple {911#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {913#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:33,719 INFO L263 TraceCheckUtils]: 1: Hoare triple {913#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {911#true} is VALID [2020-07-28 19:10:33,719 INFO L280 TraceCheckUtils]: 2: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,719 INFO L280 TraceCheckUtils]: 3: Hoare triple {911#true} assume !(~n < 1); {911#true} is VALID [2020-07-28 19:10:33,719 INFO L280 TraceCheckUtils]: 4: Hoare triple {911#true} assume !(1 == ~n); {911#true} is VALID [2020-07-28 19:10:33,720 INFO L263 TraceCheckUtils]: 5: Hoare triple {911#true} call #t~ret0 := fibo2(~n - 1); {911#true} is VALID [2020-07-28 19:10:33,720 INFO L280 TraceCheckUtils]: 6: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,721 INFO L280 TraceCheckUtils]: 7: Hoare triple {911#true} assume !(~n < 1); {965#(< 0 fibo2_~n)} is VALID [2020-07-28 19:10:33,722 INFO L280 TraceCheckUtils]: 8: Hoare triple {965#(< 0 fibo2_~n)} assume !(1 == ~n); {966#(< 1 fibo2_~n)} is VALID [2020-07-28 19:10:33,722 INFO L263 TraceCheckUtils]: 9: Hoare triple {966#(< 1 fibo2_~n)} call #t~ret2 := fibo1(~n - 1); {911#true} is VALID [2020-07-28 19:10:33,723 INFO L280 TraceCheckUtils]: 10: Hoare triple {911#true} ~n := #in~n; {975#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:33,724 INFO L280 TraceCheckUtils]: 11: Hoare triple {975#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,724 INFO L280 TraceCheckUtils]: 12: Hoare triple {976#(<= |fibo1_#in~n| 0)} assume true; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:33,728 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {976#(<= |fibo1_#in~n| 0)} {966#(< 1 fibo2_~n)} #48#return; {912#false} is VALID [2020-07-28 19:10:33,728 INFO L280 TraceCheckUtils]: 14: Hoare triple {912#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {912#false} is VALID [2020-07-28 19:10:33,729 INFO L263 TraceCheckUtils]: 15: Hoare triple {912#false} call #t~ret3 := fibo1(~n - 2); {911#true} is VALID [2020-07-28 19:10:33,729 INFO L280 TraceCheckUtils]: 16: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,729 INFO L280 TraceCheckUtils]: 17: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:33,730 INFO L280 TraceCheckUtils]: 18: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:33,730 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {911#true} {912#false} #50#return; {912#false} is VALID [2020-07-28 19:10:33,730 INFO L280 TraceCheckUtils]: 20: Hoare triple {912#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {912#false} is VALID [2020-07-28 19:10:33,730 INFO L280 TraceCheckUtils]: 21: Hoare triple {912#false} assume true; {912#false} is VALID [2020-07-28 19:10:33,731 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {912#false} {911#true} #52#return; {912#false} is VALID [2020-07-28 19:10:33,731 INFO L280 TraceCheckUtils]: 23: Hoare triple {912#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {912#false} is VALID [2020-07-28 19:10:33,731 INFO L263 TraceCheckUtils]: 24: Hoare triple {912#false} call #t~ret1 := fibo2(~n - 2); {911#true} is VALID [2020-07-28 19:10:33,731 INFO L280 TraceCheckUtils]: 25: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:33,731 INFO L280 TraceCheckUtils]: 26: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:33,732 INFO L280 TraceCheckUtils]: 27: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:33,732 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {911#true} {912#false} #54#return; {912#false} is VALID [2020-07-28 19:10:33,732 INFO L280 TraceCheckUtils]: 29: Hoare triple {912#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {912#false} is VALID [2020-07-28 19:10:33,732 INFO L280 TraceCheckUtils]: 30: Hoare triple {912#false} assume true; {912#false} is VALID [2020-07-28 19:10:33,733 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {912#false} {913#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {912#false} is VALID [2020-07-28 19:10:33,733 INFO L280 TraceCheckUtils]: 32: Hoare triple {912#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {912#false} is VALID [2020-07-28 19:10:33,733 INFO L280 TraceCheckUtils]: 33: Hoare triple {912#false} assume 3 == main_~result~0; {912#false} is VALID [2020-07-28 19:10:33,733 INFO L280 TraceCheckUtils]: 34: Hoare triple {912#false} assume !false; {912#false} is VALID [2020-07-28 19:10:33,735 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-28 19:10:33,735 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [861704635] [2020-07-28 19:10:33,735 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1642122629] [2020-07-28 19:10:33,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:33,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,771 INFO L263 TraceCheckSpWp]: Trace formula consists of 81 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:10:33,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:33,791 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:34,106 INFO L280 TraceCheckUtils]: 0: Hoare triple {911#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {913#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:34,107 INFO L263 TraceCheckUtils]: 1: Hoare triple {913#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {911#true} is VALID [2020-07-28 19:10:34,108 INFO L280 TraceCheckUtils]: 2: Hoare triple {911#true} ~n := #in~n; {986#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:34,110 INFO L280 TraceCheckUtils]: 3: Hoare triple {986#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {986#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:34,112 INFO L280 TraceCheckUtils]: 4: Hoare triple {986#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {986#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:34,112 INFO L263 TraceCheckUtils]: 5: Hoare triple {986#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {911#true} is VALID [2020-07-28 19:10:34,113 INFO L280 TraceCheckUtils]: 6: Hoare triple {911#true} ~n := #in~n; {999#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:34,113 INFO L280 TraceCheckUtils]: 7: Hoare triple {999#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {999#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:34,114 INFO L280 TraceCheckUtils]: 8: Hoare triple {999#(<= |fibo2_#in~n| fibo2_~n)} assume !(1 == ~n); {999#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:34,114 INFO L263 TraceCheckUtils]: 9: Hoare triple {999#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~n - 1); {911#true} is VALID [2020-07-28 19:10:34,115 INFO L280 TraceCheckUtils]: 10: Hoare triple {911#true} ~n := #in~n; {986#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:34,116 INFO L280 TraceCheckUtils]: 11: Hoare triple {986#(<= |fibo1_#in~n| fibo1_~n)} assume ~n < 1;#res := 0; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:34,116 INFO L280 TraceCheckUtils]: 12: Hoare triple {976#(<= |fibo1_#in~n| 0)} assume true; {976#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:34,118 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {976#(<= |fibo1_#in~n| 0)} {999#(<= |fibo2_#in~n| fibo2_~n)} #48#return; {1021#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:34,118 INFO L280 TraceCheckUtils]: 14: Hoare triple {1021#(<= |fibo2_#in~n| 1)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {1021#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:34,119 INFO L263 TraceCheckUtils]: 15: Hoare triple {1021#(<= |fibo2_#in~n| 1)} call #t~ret3 := fibo1(~n - 2); {911#true} is VALID [2020-07-28 19:10:34,119 INFO L280 TraceCheckUtils]: 16: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:34,119 INFO L280 TraceCheckUtils]: 17: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:34,119 INFO L280 TraceCheckUtils]: 18: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:34,120 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {911#true} {1021#(<= |fibo2_#in~n| 1)} #50#return; {1021#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:34,121 INFO L280 TraceCheckUtils]: 20: Hoare triple {1021#(<= |fibo2_#in~n| 1)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {1021#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:34,122 INFO L280 TraceCheckUtils]: 21: Hoare triple {1021#(<= |fibo2_#in~n| 1)} assume true; {1021#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:34,124 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1021#(<= |fibo2_#in~n| 1)} {986#(<= |fibo1_#in~n| fibo1_~n)} #52#return; {1049#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:34,125 INFO L280 TraceCheckUtils]: 23: Hoare triple {1049#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1049#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:34,125 INFO L263 TraceCheckUtils]: 24: Hoare triple {1049#(<= |fibo1_#in~n| 2)} call #t~ret1 := fibo2(~n - 2); {911#true} is VALID [2020-07-28 19:10:34,125 INFO L280 TraceCheckUtils]: 25: Hoare triple {911#true} ~n := #in~n; {911#true} is VALID [2020-07-28 19:10:34,125 INFO L280 TraceCheckUtils]: 26: Hoare triple {911#true} assume ~n < 1;#res := 0; {911#true} is VALID [2020-07-28 19:10:34,126 INFO L280 TraceCheckUtils]: 27: Hoare triple {911#true} assume true; {911#true} is VALID [2020-07-28 19:10:34,127 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {911#true} {1049#(<= |fibo1_#in~n| 2)} #54#return; {1049#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:34,129 INFO L280 TraceCheckUtils]: 29: Hoare triple {1049#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1049#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:34,129 INFO L280 TraceCheckUtils]: 30: Hoare triple {1049#(<= |fibo1_#in~n| 2)} assume true; {1049#(<= |fibo1_#in~n| 2)} is VALID [2020-07-28 19:10:34,130 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1049#(<= |fibo1_#in~n| 2)} {913#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {912#false} is VALID [2020-07-28 19:10:34,130 INFO L280 TraceCheckUtils]: 32: Hoare triple {912#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {912#false} is VALID [2020-07-28 19:10:34,131 INFO L280 TraceCheckUtils]: 33: Hoare triple {912#false} assume 3 == main_~result~0; {912#false} is VALID [2020-07-28 19:10:34,131 INFO L280 TraceCheckUtils]: 34: Hoare triple {912#false} assume !false; {912#false} is VALID [2020-07-28 19:10:34,133 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-28 19:10:34,133 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:34,133 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 8] total 11 [2020-07-28 19:10:34,134 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1220058813] [2020-07-28 19:10:34,135 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 35 [2020-07-28 19:10:34,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:34,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-28 19:10:34,203 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:34,203 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-28 19:10:34,204 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:34,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-28 19:10:34,204 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2020-07-28 19:10:34,204 INFO L87 Difference]: Start difference. First operand 44 states and 61 transitions. Second operand 11 states. [2020-07-28 19:10:35,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:35,230 INFO L93 Difference]: Finished difference Result 104 states and 166 transitions. [2020-07-28 19:10:35,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-28 19:10:35,230 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 35 [2020-07-28 19:10:35,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:35,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:10:35,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 98 transitions. [2020-07-28 19:10:35,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:10:35,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 98 transitions. [2020-07-28 19:10:35,240 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 98 transitions. [2020-07-28 19:10:35,373 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:35,380 INFO L225 Difference]: With dead ends: 104 [2020-07-28 19:10:35,380 INFO L226 Difference]: Without dead ends: 62 [2020-07-28 19:10:35,382 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2020-07-28 19:10:35,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2020-07-28 19:10:35,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 62. [2020-07-28 19:10:35,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:35,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 62 states. [2020-07-28 19:10:35,432 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 62 states. [2020-07-28 19:10:35,433 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 62 states. [2020-07-28 19:10:35,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:35,445 INFO L93 Difference]: Finished difference Result 62 states and 91 transitions. [2020-07-28 19:10:35,446 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 91 transitions. [2020-07-28 19:10:35,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:35,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:35,450 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 62 states. [2020-07-28 19:10:35,450 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 62 states. [2020-07-28 19:10:35,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:35,460 INFO L93 Difference]: Finished difference Result 62 states and 91 transitions. [2020-07-28 19:10:35,460 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 91 transitions. [2020-07-28 19:10:35,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:35,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:35,463 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:35,464 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:35,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2020-07-28 19:10:35,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 91 transitions. [2020-07-28 19:10:35,471 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 91 transitions. Word has length 35 [2020-07-28 19:10:35,476 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:35,476 INFO L479 AbstractCegarLoop]: Abstraction has 62 states and 91 transitions. [2020-07-28 19:10:35,477 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-28 19:10:35,477 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 91 transitions. [2020-07-28 19:10:35,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-28 19:10:35,478 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:35,480 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:35,695 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:35,696 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:35,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:35,696 INFO L82 PathProgramCache]: Analyzing trace with hash 2000747716, now seen corresponding path program 1 times [2020-07-28 19:10:35,697 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:35,697 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634657123] [2020-07-28 19:10:35,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:35,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:35,757 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:35,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:35,804 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:35,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:35,863 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:35,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:35,872 INFO L280 TraceCheckUtils]: 0: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,872 INFO L280 TraceCheckUtils]: 1: Hoare triple {1439#true} assume !(~n < 1); {1439#true} is VALID [2020-07-28 19:10:35,872 INFO L280 TraceCheckUtils]: 2: Hoare triple {1439#true} assume 1 == ~n;#res := 1; {1439#true} is VALID [2020-07-28 19:10:35,873 INFO L280 TraceCheckUtils]: 3: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,878 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #48#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,879 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:10:35,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:35,887 INFO L280 TraceCheckUtils]: 0: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,888 INFO L280 TraceCheckUtils]: 1: Hoare triple {1439#true} assume ~n < 1;#res := 0; {1439#true} is VALID [2020-07-28 19:10:35,888 INFO L280 TraceCheckUtils]: 2: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,889 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #50#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,890 INFO L280 TraceCheckUtils]: 0: Hoare triple {1439#true} ~n := #in~n; {1496#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,892 INFO L280 TraceCheckUtils]: 1: Hoare triple {1496#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {1497#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2020-07-28 19:10:35,893 INFO L280 TraceCheckUtils]: 2: Hoare triple {1497#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume !(1 == ~n); {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,893 INFO L263 TraceCheckUtils]: 3: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} call #t~ret2 := fibo1(~n - 1); {1439#true} is VALID [2020-07-28 19:10:35,894 INFO L280 TraceCheckUtils]: 4: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,894 INFO L280 TraceCheckUtils]: 5: Hoare triple {1439#true} assume !(~n < 1); {1439#true} is VALID [2020-07-28 19:10:35,894 INFO L280 TraceCheckUtils]: 6: Hoare triple {1439#true} assume 1 == ~n;#res := 1; {1439#true} is VALID [2020-07-28 19:10:35,894 INFO L280 TraceCheckUtils]: 7: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,895 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #48#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,896 INFO L280 TraceCheckUtils]: 9: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,896 INFO L263 TraceCheckUtils]: 10: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} call #t~ret3 := fibo1(~n - 2); {1439#true} is VALID [2020-07-28 19:10:35,896 INFO L280 TraceCheckUtils]: 11: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,897 INFO L280 TraceCheckUtils]: 12: Hoare triple {1439#true} assume ~n < 1;#res := 0; {1439#true} is VALID [2020-07-28 19:10:35,897 INFO L280 TraceCheckUtils]: 13: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,898 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #50#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,898 INFO L280 TraceCheckUtils]: 15: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,899 INFO L280 TraceCheckUtils]: 16: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume true; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,900 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1498#(<= 2 |fibo2_#in~n|)} {1439#true} #52#return; {1491#(<= 3 fibo1_~n)} is VALID [2020-07-28 19:10:35,901 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:10:35,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:35,919 INFO L280 TraceCheckUtils]: 0: Hoare triple {1439#true} ~n := #in~n; {1496#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,920 INFO L280 TraceCheckUtils]: 1: Hoare triple {1496#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {1508#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:35,920 INFO L280 TraceCheckUtils]: 2: Hoare triple {1508#(<= |fibo2_#in~n| 0)} assume true; {1508#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:35,922 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1508#(<= |fibo2_#in~n| 0)} {1491#(<= 3 fibo1_~n)} #54#return; {1440#false} is VALID [2020-07-28 19:10:35,922 INFO L280 TraceCheckUtils]: 0: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,922 INFO L280 TraceCheckUtils]: 1: Hoare triple {1439#true} assume !(~n < 1); {1439#true} is VALID [2020-07-28 19:10:35,922 INFO L280 TraceCheckUtils]: 2: Hoare triple {1439#true} assume !(1 == ~n); {1439#true} is VALID [2020-07-28 19:10:35,923 INFO L263 TraceCheckUtils]: 3: Hoare triple {1439#true} call #t~ret0 := fibo2(~n - 1); {1439#true} is VALID [2020-07-28 19:10:35,923 INFO L280 TraceCheckUtils]: 4: Hoare triple {1439#true} ~n := #in~n; {1496#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,924 INFO L280 TraceCheckUtils]: 5: Hoare triple {1496#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {1497#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2020-07-28 19:10:35,925 INFO L280 TraceCheckUtils]: 6: Hoare triple {1497#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume !(1 == ~n); {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,925 INFO L263 TraceCheckUtils]: 7: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} call #t~ret2 := fibo1(~n - 1); {1439#true} is VALID [2020-07-28 19:10:35,925 INFO L280 TraceCheckUtils]: 8: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,925 INFO L280 TraceCheckUtils]: 9: Hoare triple {1439#true} assume !(~n < 1); {1439#true} is VALID [2020-07-28 19:10:35,926 INFO L280 TraceCheckUtils]: 10: Hoare triple {1439#true} assume 1 == ~n;#res := 1; {1439#true} is VALID [2020-07-28 19:10:35,926 INFO L280 TraceCheckUtils]: 11: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,927 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #48#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,927 INFO L280 TraceCheckUtils]: 13: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,928 INFO L263 TraceCheckUtils]: 14: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} call #t~ret3 := fibo1(~n - 2); {1439#true} is VALID [2020-07-28 19:10:35,928 INFO L280 TraceCheckUtils]: 15: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,928 INFO L280 TraceCheckUtils]: 16: Hoare triple {1439#true} assume ~n < 1;#res := 0; {1439#true} is VALID [2020-07-28 19:10:35,928 INFO L280 TraceCheckUtils]: 17: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,929 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #50#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,930 INFO L280 TraceCheckUtils]: 19: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,930 INFO L280 TraceCheckUtils]: 20: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume true; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,931 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1498#(<= 2 |fibo2_#in~n|)} {1439#true} #52#return; {1491#(<= 3 fibo1_~n)} is VALID [2020-07-28 19:10:35,932 INFO L280 TraceCheckUtils]: 22: Hoare triple {1491#(<= 3 fibo1_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1491#(<= 3 fibo1_~n)} is VALID [2020-07-28 19:10:35,932 INFO L263 TraceCheckUtils]: 23: Hoare triple {1491#(<= 3 fibo1_~n)} call #t~ret1 := fibo2(~n - 2); {1439#true} is VALID [2020-07-28 19:10:35,933 INFO L280 TraceCheckUtils]: 24: Hoare triple {1439#true} ~n := #in~n; {1496#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,934 INFO L280 TraceCheckUtils]: 25: Hoare triple {1496#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {1508#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:35,934 INFO L280 TraceCheckUtils]: 26: Hoare triple {1508#(<= |fibo2_#in~n| 0)} assume true; {1508#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:35,935 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1508#(<= |fibo2_#in~n| 0)} {1491#(<= 3 fibo1_~n)} #54#return; {1440#false} is VALID [2020-07-28 19:10:35,936 INFO L280 TraceCheckUtils]: 28: Hoare triple {1440#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1440#false} is VALID [2020-07-28 19:10:35,936 INFO L280 TraceCheckUtils]: 29: Hoare triple {1440#false} assume true; {1440#false} is VALID [2020-07-28 19:10:35,936 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1440#false} {1441#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {1440#false} is VALID [2020-07-28 19:10:35,938 INFO L280 TraceCheckUtils]: 0: Hoare triple {1439#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {1441#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:35,938 INFO L263 TraceCheckUtils]: 1: Hoare triple {1441#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {1439#true} is VALID [2020-07-28 19:10:35,938 INFO L280 TraceCheckUtils]: 2: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,939 INFO L280 TraceCheckUtils]: 3: Hoare triple {1439#true} assume !(~n < 1); {1439#true} is VALID [2020-07-28 19:10:35,939 INFO L280 TraceCheckUtils]: 4: Hoare triple {1439#true} assume !(1 == ~n); {1439#true} is VALID [2020-07-28 19:10:35,939 INFO L263 TraceCheckUtils]: 5: Hoare triple {1439#true} call #t~ret0 := fibo2(~n - 1); {1439#true} is VALID [2020-07-28 19:10:35,940 INFO L280 TraceCheckUtils]: 6: Hoare triple {1439#true} ~n := #in~n; {1496#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,940 INFO L280 TraceCheckUtils]: 7: Hoare triple {1496#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {1497#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2020-07-28 19:10:35,941 INFO L280 TraceCheckUtils]: 8: Hoare triple {1497#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume !(1 == ~n); {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,941 INFO L263 TraceCheckUtils]: 9: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} call #t~ret2 := fibo1(~n - 1); {1439#true} is VALID [2020-07-28 19:10:35,942 INFO L280 TraceCheckUtils]: 10: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,942 INFO L280 TraceCheckUtils]: 11: Hoare triple {1439#true} assume !(~n < 1); {1439#true} is VALID [2020-07-28 19:10:35,942 INFO L280 TraceCheckUtils]: 12: Hoare triple {1439#true} assume 1 == ~n;#res := 1; {1439#true} is VALID [2020-07-28 19:10:35,942 INFO L280 TraceCheckUtils]: 13: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,943 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #48#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,944 INFO L280 TraceCheckUtils]: 15: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,944 INFO L263 TraceCheckUtils]: 16: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} call #t~ret3 := fibo1(~n - 2); {1439#true} is VALID [2020-07-28 19:10:35,944 INFO L280 TraceCheckUtils]: 17: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:35,944 INFO L280 TraceCheckUtils]: 18: Hoare triple {1439#true} assume ~n < 1;#res := 0; {1439#true} is VALID [2020-07-28 19:10:35,945 INFO L280 TraceCheckUtils]: 19: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:35,946 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {1439#true} {1498#(<= 2 |fibo2_#in~n|)} #50#return; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,946 INFO L280 TraceCheckUtils]: 21: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,947 INFO L280 TraceCheckUtils]: 22: Hoare triple {1498#(<= 2 |fibo2_#in~n|)} assume true; {1498#(<= 2 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,948 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {1498#(<= 2 |fibo2_#in~n|)} {1439#true} #52#return; {1491#(<= 3 fibo1_~n)} is VALID [2020-07-28 19:10:35,948 INFO L280 TraceCheckUtils]: 24: Hoare triple {1491#(<= 3 fibo1_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1491#(<= 3 fibo1_~n)} is VALID [2020-07-28 19:10:35,949 INFO L263 TraceCheckUtils]: 25: Hoare triple {1491#(<= 3 fibo1_~n)} call #t~ret1 := fibo2(~n - 2); {1439#true} is VALID [2020-07-28 19:10:35,949 INFO L280 TraceCheckUtils]: 26: Hoare triple {1439#true} ~n := #in~n; {1496#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:35,950 INFO L280 TraceCheckUtils]: 27: Hoare triple {1496#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {1508#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:35,951 INFO L280 TraceCheckUtils]: 28: Hoare triple {1508#(<= |fibo2_#in~n| 0)} assume true; {1508#(<= |fibo2_#in~n| 0)} is VALID [2020-07-28 19:10:35,952 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1508#(<= |fibo2_#in~n| 0)} {1491#(<= 3 fibo1_~n)} #54#return; {1440#false} is VALID [2020-07-28 19:10:35,952 INFO L280 TraceCheckUtils]: 30: Hoare triple {1440#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1440#false} is VALID [2020-07-28 19:10:35,952 INFO L280 TraceCheckUtils]: 31: Hoare triple {1440#false} assume true; {1440#false} is VALID [2020-07-28 19:10:35,952 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1440#false} {1441#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {1440#false} is VALID [2020-07-28 19:10:35,953 INFO L280 TraceCheckUtils]: 33: Hoare triple {1440#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1440#false} is VALID [2020-07-28 19:10:35,953 INFO L280 TraceCheckUtils]: 34: Hoare triple {1440#false} assume 3 == main_~result~0; {1440#false} is VALID [2020-07-28 19:10:35,953 INFO L280 TraceCheckUtils]: 35: Hoare triple {1440#false} assume !false; {1440#false} is VALID [2020-07-28 19:10:35,954 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-28 19:10:35,955 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [634657123] [2020-07-28 19:10:35,955 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1939735790] [2020-07-28 19:10:35,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:35,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:35,994 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:10:36,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:36,004 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:36,336 INFO L280 TraceCheckUtils]: 0: Hoare triple {1439#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {1441#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:36,336 INFO L263 TraceCheckUtils]: 1: Hoare triple {1441#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {1439#true} is VALID [2020-07-28 19:10:36,337 INFO L280 TraceCheckUtils]: 2: Hoare triple {1439#true} ~n := #in~n; {1518#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:36,338 INFO L280 TraceCheckUtils]: 3: Hoare triple {1518#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {1518#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:36,338 INFO L280 TraceCheckUtils]: 4: Hoare triple {1518#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {1518#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:36,339 INFO L263 TraceCheckUtils]: 5: Hoare triple {1518#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {1439#true} is VALID [2020-07-28 19:10:36,339 INFO L280 TraceCheckUtils]: 6: Hoare triple {1439#true} ~n := #in~n; {1531#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:36,340 INFO L280 TraceCheckUtils]: 7: Hoare triple {1531#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {1531#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:36,340 INFO L280 TraceCheckUtils]: 8: Hoare triple {1531#(<= |fibo2_#in~n| fibo2_~n)} assume !(1 == ~n); {1531#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:36,341 INFO L263 TraceCheckUtils]: 9: Hoare triple {1531#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~n - 1); {1439#true} is VALID [2020-07-28 19:10:36,341 INFO L280 TraceCheckUtils]: 10: Hoare triple {1439#true} ~n := #in~n; {1518#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:36,342 INFO L280 TraceCheckUtils]: 11: Hoare triple {1518#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {1518#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:36,343 INFO L280 TraceCheckUtils]: 12: Hoare triple {1518#(<= |fibo1_#in~n| fibo1_~n)} assume 1 == ~n;#res := 1; {1550#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:36,343 INFO L280 TraceCheckUtils]: 13: Hoare triple {1550#(<= |fibo1_#in~n| 1)} assume true; {1550#(<= |fibo1_#in~n| 1)} is VALID [2020-07-28 19:10:36,344 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1550#(<= |fibo1_#in~n| 1)} {1531#(<= |fibo2_#in~n| fibo2_~n)} #48#return; {1557#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:36,345 INFO L280 TraceCheckUtils]: 15: Hoare triple {1557#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {1557#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:36,345 INFO L263 TraceCheckUtils]: 16: Hoare triple {1557#(<= |fibo2_#in~n| 2)} call #t~ret3 := fibo1(~n - 2); {1439#true} is VALID [2020-07-28 19:10:36,345 INFO L280 TraceCheckUtils]: 17: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:36,345 INFO L280 TraceCheckUtils]: 18: Hoare triple {1439#true} assume ~n < 1;#res := 0; {1439#true} is VALID [2020-07-28 19:10:36,346 INFO L280 TraceCheckUtils]: 19: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:36,346 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {1439#true} {1557#(<= |fibo2_#in~n| 2)} #50#return; {1557#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:36,347 INFO L280 TraceCheckUtils]: 21: Hoare triple {1557#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {1557#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:36,347 INFO L280 TraceCheckUtils]: 22: Hoare triple {1557#(<= |fibo2_#in~n| 2)} assume true; {1557#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:36,348 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {1557#(<= |fibo2_#in~n| 2)} {1518#(<= |fibo1_#in~n| fibo1_~n)} #52#return; {1585#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:36,350 INFO L280 TraceCheckUtils]: 24: Hoare triple {1585#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1585#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:36,350 INFO L263 TraceCheckUtils]: 25: Hoare triple {1585#(<= |fibo1_#in~n| 3)} call #t~ret1 := fibo2(~n - 2); {1439#true} is VALID [2020-07-28 19:10:36,350 INFO L280 TraceCheckUtils]: 26: Hoare triple {1439#true} ~n := #in~n; {1439#true} is VALID [2020-07-28 19:10:36,351 INFO L280 TraceCheckUtils]: 27: Hoare triple {1439#true} assume ~n < 1;#res := 0; {1439#true} is VALID [2020-07-28 19:10:36,351 INFO L280 TraceCheckUtils]: 28: Hoare triple {1439#true} assume true; {1439#true} is VALID [2020-07-28 19:10:36,352 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1439#true} {1585#(<= |fibo1_#in~n| 3)} #54#return; {1585#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:36,352 INFO L280 TraceCheckUtils]: 30: Hoare triple {1585#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1585#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:36,352 INFO L280 TraceCheckUtils]: 31: Hoare triple {1585#(<= |fibo1_#in~n| 3)} assume true; {1585#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:36,353 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1585#(<= |fibo1_#in~n| 3)} {1441#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {1440#false} is VALID [2020-07-28 19:10:36,353 INFO L280 TraceCheckUtils]: 33: Hoare triple {1440#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1440#false} is VALID [2020-07-28 19:10:36,354 INFO L280 TraceCheckUtils]: 34: Hoare triple {1440#false} assume 3 == main_~result~0; {1440#false} is VALID [2020-07-28 19:10:36,354 INFO L280 TraceCheckUtils]: 35: Hoare triple {1440#false} assume !false; {1440#false} is VALID [2020-07-28 19:10:36,356 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-28 19:10:36,357 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:36,357 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2020-07-28 19:10:36,357 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1195631706] [2020-07-28 19:10:36,358 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 36 [2020-07-28 19:10:36,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:36,358 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-28 19:10:36,428 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:36,428 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-28 19:10:36,429 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:36,429 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-28 19:10:36,429 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=128, Unknown=0, NotChecked=0, Total=156 [2020-07-28 19:10:36,429 INFO L87 Difference]: Start difference. First operand 62 states and 91 transitions. Second operand 13 states. [2020-07-28 19:10:38,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:38,107 INFO L93 Difference]: Finished difference Result 176 states and 320 transitions. [2020-07-28 19:10:38,107 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-28 19:10:38,107 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 36 [2020-07-28 19:10:38,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:38,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:10:38,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2020-07-28 19:10:38,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:10:38,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2020-07-28 19:10:38,119 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 129 transitions. [2020-07-28 19:10:38,267 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:38,276 INFO L225 Difference]: With dead ends: 176 [2020-07-28 19:10:38,276 INFO L226 Difference]: Without dead ends: 116 [2020-07-28 19:10:38,278 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=86, Invalid=376, Unknown=0, NotChecked=0, Total=462 [2020-07-28 19:10:38,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2020-07-28 19:10:38,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 102. [2020-07-28 19:10:38,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:38,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand 102 states. [2020-07-28 19:10:38,362 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 102 states. [2020-07-28 19:10:38,363 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 102 states. [2020-07-28 19:10:38,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:38,374 INFO L93 Difference]: Finished difference Result 116 states and 194 transitions. [2020-07-28 19:10:38,374 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 194 transitions. [2020-07-28 19:10:38,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:38,376 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:38,376 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 116 states. [2020-07-28 19:10:38,377 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 116 states. [2020-07-28 19:10:38,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:38,388 INFO L93 Difference]: Finished difference Result 116 states and 194 transitions. [2020-07-28 19:10:38,388 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 194 transitions. [2020-07-28 19:10:38,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:38,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:38,390 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:38,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:38,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2020-07-28 19:10:38,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 165 transitions. [2020-07-28 19:10:38,399 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 165 transitions. Word has length 36 [2020-07-28 19:10:38,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:38,400 INFO L479 AbstractCegarLoop]: Abstraction has 102 states and 165 transitions. [2020-07-28 19:10:38,400 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-28 19:10:38,400 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 165 transitions. [2020-07-28 19:10:38,402 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2020-07-28 19:10:38,402 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:38,402 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:38,615 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:38,616 INFO L427 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:38,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:38,617 INFO L82 PathProgramCache]: Analyzing trace with hash -434541687, now seen corresponding path program 1 times [2020-07-28 19:10:38,617 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:38,618 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1006495790] [2020-07-28 19:10:38,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:38,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,671 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:38,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,694 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:38,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,720 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:38,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,773 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:38,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,779 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,779 INFO L280 TraceCheckUtils]: 1: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,780 INFO L280 TraceCheckUtils]: 2: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,780 INFO L280 TraceCheckUtils]: 3: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,781 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #52#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,781 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:10:38,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,787 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,788 INFO L280 TraceCheckUtils]: 1: Hoare triple {2230#true} assume ~n < 1;#res := 0; {2230#true} is VALID [2020-07-28 19:10:38,788 INFO L280 TraceCheckUtils]: 2: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,789 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #54#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,790 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,791 INFO L280 TraceCheckUtils]: 1: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:38,792 INFO L280 TraceCheckUtils]: 2: Hoare triple {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,792 INFO L263 TraceCheckUtils]: 3: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,793 INFO L280 TraceCheckUtils]: 4: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,793 INFO L280 TraceCheckUtils]: 5: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,793 INFO L280 TraceCheckUtils]: 6: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,793 INFO L280 TraceCheckUtils]: 7: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,794 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #52#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,795 INFO L280 TraceCheckUtils]: 9: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,795 INFO L263 TraceCheckUtils]: 10: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,795 INFO L280 TraceCheckUtils]: 11: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,795 INFO L280 TraceCheckUtils]: 12: Hoare triple {2230#true} assume ~n < 1;#res := 0; {2230#true} is VALID [2020-07-28 19:10:38,796 INFO L280 TraceCheckUtils]: 13: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,797 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #54#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,797 INFO L280 TraceCheckUtils]: 15: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,798 INFO L280 TraceCheckUtils]: 16: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume true; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,799 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2339#(<= 2 |fibo1_#in~n|)} {2230#true} #48#return; {2332#(<= 3 fibo2_~n)} is VALID [2020-07-28 19:10:38,800 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:10:38,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,818 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,819 INFO L280 TraceCheckUtils]: 1: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,820 INFO L280 TraceCheckUtils]: 2: Hoare triple {2349#(<= |fibo1_#in~n| 0)} assume true; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,822 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2349#(<= |fibo1_#in~n| 0)} {2332#(<= 3 fibo2_~n)} #50#return; {2231#false} is VALID [2020-07-28 19:10:38,822 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,822 INFO L280 TraceCheckUtils]: 1: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,823 INFO L280 TraceCheckUtils]: 2: Hoare triple {2230#true} assume !(1 == ~n); {2230#true} is VALID [2020-07-28 19:10:38,823 INFO L263 TraceCheckUtils]: 3: Hoare triple {2230#true} call #t~ret2 := fibo1(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,823 INFO L280 TraceCheckUtils]: 4: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,824 INFO L280 TraceCheckUtils]: 5: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:38,825 INFO L280 TraceCheckUtils]: 6: Hoare triple {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,825 INFO L263 TraceCheckUtils]: 7: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,825 INFO L280 TraceCheckUtils]: 8: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,826 INFO L280 TraceCheckUtils]: 9: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,826 INFO L280 TraceCheckUtils]: 10: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,826 INFO L280 TraceCheckUtils]: 11: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,827 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #52#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,828 INFO L280 TraceCheckUtils]: 13: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,828 INFO L263 TraceCheckUtils]: 14: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,828 INFO L280 TraceCheckUtils]: 15: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,828 INFO L280 TraceCheckUtils]: 16: Hoare triple {2230#true} assume ~n < 1;#res := 0; {2230#true} is VALID [2020-07-28 19:10:38,829 INFO L280 TraceCheckUtils]: 17: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,830 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #54#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,831 INFO L280 TraceCheckUtils]: 19: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,831 INFO L280 TraceCheckUtils]: 20: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume true; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,833 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {2339#(<= 2 |fibo1_#in~n|)} {2230#true} #48#return; {2332#(<= 3 fibo2_~n)} is VALID [2020-07-28 19:10:38,833 INFO L280 TraceCheckUtils]: 22: Hoare triple {2332#(<= 3 fibo2_~n)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {2332#(<= 3 fibo2_~n)} is VALID [2020-07-28 19:10:38,834 INFO L263 TraceCheckUtils]: 23: Hoare triple {2332#(<= 3 fibo2_~n)} call #t~ret3 := fibo1(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,834 INFO L280 TraceCheckUtils]: 24: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,835 INFO L280 TraceCheckUtils]: 25: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,835 INFO L280 TraceCheckUtils]: 26: Hoare triple {2349#(<= |fibo1_#in~n| 0)} assume true; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,836 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2349#(<= |fibo1_#in~n| 0)} {2332#(<= 3 fibo2_~n)} #50#return; {2231#false} is VALID [2020-07-28 19:10:38,837 INFO L280 TraceCheckUtils]: 28: Hoare triple {2231#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {2231#false} is VALID [2020-07-28 19:10:38,837 INFO L280 TraceCheckUtils]: 29: Hoare triple {2231#false} assume true; {2231#false} is VALID [2020-07-28 19:10:38,837 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2231#false} {2230#true} #52#return; {2231#false} is VALID [2020-07-28 19:10:38,838 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2020-07-28 19:10:38,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,842 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,843 INFO L280 TraceCheckUtils]: 1: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,843 INFO L280 TraceCheckUtils]: 2: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,843 INFO L280 TraceCheckUtils]: 3: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,843 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2230#true} {2231#false} #54#return; {2231#false} is VALID [2020-07-28 19:10:38,844 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,844 INFO L280 TraceCheckUtils]: 1: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,844 INFO L280 TraceCheckUtils]: 2: Hoare triple {2230#true} assume !(1 == ~n); {2230#true} is VALID [2020-07-28 19:10:38,844 INFO L263 TraceCheckUtils]: 3: Hoare triple {2230#true} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,844 INFO L280 TraceCheckUtils]: 4: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,845 INFO L280 TraceCheckUtils]: 5: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,845 INFO L280 TraceCheckUtils]: 6: Hoare triple {2230#true} assume !(1 == ~n); {2230#true} is VALID [2020-07-28 19:10:38,845 INFO L263 TraceCheckUtils]: 7: Hoare triple {2230#true} call #t~ret2 := fibo1(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,846 INFO L280 TraceCheckUtils]: 8: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,846 INFO L280 TraceCheckUtils]: 9: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:38,847 INFO L280 TraceCheckUtils]: 10: Hoare triple {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,847 INFO L263 TraceCheckUtils]: 11: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,848 INFO L280 TraceCheckUtils]: 12: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,848 INFO L280 TraceCheckUtils]: 13: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,848 INFO L280 TraceCheckUtils]: 14: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,848 INFO L280 TraceCheckUtils]: 15: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,849 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #52#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,850 INFO L280 TraceCheckUtils]: 17: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,850 INFO L263 TraceCheckUtils]: 18: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,850 INFO L280 TraceCheckUtils]: 19: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,850 INFO L280 TraceCheckUtils]: 20: Hoare triple {2230#true} assume ~n < 1;#res := 0; {2230#true} is VALID [2020-07-28 19:10:38,851 INFO L280 TraceCheckUtils]: 21: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,851 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #54#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,852 INFO L280 TraceCheckUtils]: 23: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,853 INFO L280 TraceCheckUtils]: 24: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume true; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,854 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {2339#(<= 2 |fibo1_#in~n|)} {2230#true} #48#return; {2332#(<= 3 fibo2_~n)} is VALID [2020-07-28 19:10:38,854 INFO L280 TraceCheckUtils]: 26: Hoare triple {2332#(<= 3 fibo2_~n)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {2332#(<= 3 fibo2_~n)} is VALID [2020-07-28 19:10:38,854 INFO L263 TraceCheckUtils]: 27: Hoare triple {2332#(<= 3 fibo2_~n)} call #t~ret3 := fibo1(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,855 INFO L280 TraceCheckUtils]: 28: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,856 INFO L280 TraceCheckUtils]: 29: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,856 INFO L280 TraceCheckUtils]: 30: Hoare triple {2349#(<= |fibo1_#in~n| 0)} assume true; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,857 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2349#(<= |fibo1_#in~n| 0)} {2332#(<= 3 fibo2_~n)} #50#return; {2231#false} is VALID [2020-07-28 19:10:38,857 INFO L280 TraceCheckUtils]: 32: Hoare triple {2231#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {2231#false} is VALID [2020-07-28 19:10:38,858 INFO L280 TraceCheckUtils]: 33: Hoare triple {2231#false} assume true; {2231#false} is VALID [2020-07-28 19:10:38,858 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {2231#false} {2230#true} #52#return; {2231#false} is VALID [2020-07-28 19:10:38,858 INFO L280 TraceCheckUtils]: 35: Hoare triple {2231#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2231#false} is VALID [2020-07-28 19:10:38,858 INFO L263 TraceCheckUtils]: 36: Hoare triple {2231#false} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,858 INFO L280 TraceCheckUtils]: 37: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,859 INFO L280 TraceCheckUtils]: 38: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,859 INFO L280 TraceCheckUtils]: 39: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,859 INFO L280 TraceCheckUtils]: 40: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,859 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {2230#true} {2231#false} #54#return; {2231#false} is VALID [2020-07-28 19:10:38,859 INFO L280 TraceCheckUtils]: 42: Hoare triple {2231#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2231#false} is VALID [2020-07-28 19:10:38,860 INFO L280 TraceCheckUtils]: 43: Hoare triple {2231#false} assume true; {2231#false} is VALID [2020-07-28 19:10:38,860 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {2231#false} {2232#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {2231#false} is VALID [2020-07-28 19:10:38,862 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {2232#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:38,862 INFO L263 TraceCheckUtils]: 1: Hoare triple {2232#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {2230#true} is VALID [2020-07-28 19:10:38,863 INFO L280 TraceCheckUtils]: 2: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,863 INFO L280 TraceCheckUtils]: 3: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,863 INFO L280 TraceCheckUtils]: 4: Hoare triple {2230#true} assume !(1 == ~n); {2230#true} is VALID [2020-07-28 19:10:38,863 INFO L263 TraceCheckUtils]: 5: Hoare triple {2230#true} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,863 INFO L280 TraceCheckUtils]: 6: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,864 INFO L280 TraceCheckUtils]: 7: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,864 INFO L280 TraceCheckUtils]: 8: Hoare triple {2230#true} assume !(1 == ~n); {2230#true} is VALID [2020-07-28 19:10:38,864 INFO L263 TraceCheckUtils]: 9: Hoare triple {2230#true} call #t~ret2 := fibo1(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,864 INFO L280 TraceCheckUtils]: 10: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,865 INFO L280 TraceCheckUtils]: 11: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:38,866 INFO L280 TraceCheckUtils]: 12: Hoare triple {2338#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,866 INFO L263 TraceCheckUtils]: 13: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:38,866 INFO L280 TraceCheckUtils]: 14: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,867 INFO L280 TraceCheckUtils]: 15: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,867 INFO L280 TraceCheckUtils]: 16: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,867 INFO L280 TraceCheckUtils]: 17: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,868 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #52#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,868 INFO L280 TraceCheckUtils]: 19: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,869 INFO L263 TraceCheckUtils]: 20: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,869 INFO L280 TraceCheckUtils]: 21: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,869 INFO L280 TraceCheckUtils]: 22: Hoare triple {2230#true} assume ~n < 1;#res := 0; {2230#true} is VALID [2020-07-28 19:10:38,869 INFO L280 TraceCheckUtils]: 23: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,870 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2230#true} {2339#(<= 2 |fibo1_#in~n|)} #54#return; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,871 INFO L280 TraceCheckUtils]: 25: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,871 INFO L280 TraceCheckUtils]: 26: Hoare triple {2339#(<= 2 |fibo1_#in~n|)} assume true; {2339#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,872 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2339#(<= 2 |fibo1_#in~n|)} {2230#true} #48#return; {2332#(<= 3 fibo2_~n)} is VALID [2020-07-28 19:10:38,873 INFO L280 TraceCheckUtils]: 28: Hoare triple {2332#(<= 3 fibo2_~n)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {2332#(<= 3 fibo2_~n)} is VALID [2020-07-28 19:10:38,873 INFO L263 TraceCheckUtils]: 29: Hoare triple {2332#(<= 3 fibo2_~n)} call #t~ret3 := fibo1(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,873 INFO L280 TraceCheckUtils]: 30: Hoare triple {2230#true} ~n := #in~n; {2337#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:38,874 INFO L280 TraceCheckUtils]: 31: Hoare triple {2337#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,875 INFO L280 TraceCheckUtils]: 32: Hoare triple {2349#(<= |fibo1_#in~n| 0)} assume true; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:38,876 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {2349#(<= |fibo1_#in~n| 0)} {2332#(<= 3 fibo2_~n)} #50#return; {2231#false} is VALID [2020-07-28 19:10:38,876 INFO L280 TraceCheckUtils]: 34: Hoare triple {2231#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {2231#false} is VALID [2020-07-28 19:10:38,876 INFO L280 TraceCheckUtils]: 35: Hoare triple {2231#false} assume true; {2231#false} is VALID [2020-07-28 19:10:38,876 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {2231#false} {2230#true} #52#return; {2231#false} is VALID [2020-07-28 19:10:38,876 INFO L280 TraceCheckUtils]: 37: Hoare triple {2231#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2231#false} is VALID [2020-07-28 19:10:38,877 INFO L263 TraceCheckUtils]: 38: Hoare triple {2231#false} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:38,877 INFO L280 TraceCheckUtils]: 39: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:38,877 INFO L280 TraceCheckUtils]: 40: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:38,877 INFO L280 TraceCheckUtils]: 41: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:38,877 INFO L280 TraceCheckUtils]: 42: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:38,878 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {2230#true} {2231#false} #54#return; {2231#false} is VALID [2020-07-28 19:10:38,878 INFO L280 TraceCheckUtils]: 44: Hoare triple {2231#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2231#false} is VALID [2020-07-28 19:10:38,878 INFO L280 TraceCheckUtils]: 45: Hoare triple {2231#false} assume true; {2231#false} is VALID [2020-07-28 19:10:38,878 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2231#false} {2232#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {2231#false} is VALID [2020-07-28 19:10:38,878 INFO L280 TraceCheckUtils]: 47: Hoare triple {2231#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {2231#false} is VALID [2020-07-28 19:10:38,878 INFO L280 TraceCheckUtils]: 48: Hoare triple {2231#false} assume 3 == main_~result~0; {2231#false} is VALID [2020-07-28 19:10:38,879 INFO L280 TraceCheckUtils]: 49: Hoare triple {2231#false} assume !false; {2231#false} is VALID [2020-07-28 19:10:38,881 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 15 proven. 4 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2020-07-28 19:10:38,881 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1006495790] [2020-07-28 19:10:38,881 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1466420781] [2020-07-28 19:10:38,882 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:38,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,912 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:10:38,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:38,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:39,237 INFO L280 TraceCheckUtils]: 0: Hoare triple {2230#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {2232#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:39,237 INFO L263 TraceCheckUtils]: 1: Hoare triple {2232#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {2230#true} is VALID [2020-07-28 19:10:39,238 INFO L280 TraceCheckUtils]: 2: Hoare triple {2230#true} ~n := #in~n; {2359#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:39,238 INFO L280 TraceCheckUtils]: 3: Hoare triple {2359#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {2359#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:39,241 INFO L280 TraceCheckUtils]: 4: Hoare triple {2359#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {2359#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:39,242 INFO L263 TraceCheckUtils]: 5: Hoare triple {2359#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:39,246 INFO L280 TraceCheckUtils]: 6: Hoare triple {2230#true} ~n := #in~n; {2372#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:39,248 INFO L280 TraceCheckUtils]: 7: Hoare triple {2372#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {2372#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:39,249 INFO L280 TraceCheckUtils]: 8: Hoare triple {2372#(<= |fibo2_#in~n| fibo2_~n)} assume !(1 == ~n); {2372#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:39,249 INFO L263 TraceCheckUtils]: 9: Hoare triple {2372#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~n - 1); {2230#true} is VALID [2020-07-28 19:10:39,250 INFO L280 TraceCheckUtils]: 10: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:39,250 INFO L280 TraceCheckUtils]: 11: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:39,250 INFO L280 TraceCheckUtils]: 12: Hoare triple {2230#true} assume !(1 == ~n); {2230#true} is VALID [2020-07-28 19:10:39,250 INFO L263 TraceCheckUtils]: 13: Hoare triple {2230#true} call #t~ret0 := fibo2(~n - 1); {2230#true} is VALID [2020-07-28 19:10:39,251 INFO L280 TraceCheckUtils]: 14: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:39,251 INFO L280 TraceCheckUtils]: 15: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:39,251 INFO L280 TraceCheckUtils]: 16: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:39,251 INFO L280 TraceCheckUtils]: 17: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:39,251 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {2230#true} {2230#true} #52#return; {2230#true} is VALID [2020-07-28 19:10:39,251 INFO L280 TraceCheckUtils]: 19: Hoare triple {2230#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2230#true} is VALID [2020-07-28 19:10:39,251 INFO L263 TraceCheckUtils]: 20: Hoare triple {2230#true} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:39,252 INFO L280 TraceCheckUtils]: 21: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:39,252 INFO L280 TraceCheckUtils]: 22: Hoare triple {2230#true} assume ~n < 1;#res := 0; {2230#true} is VALID [2020-07-28 19:10:39,252 INFO L280 TraceCheckUtils]: 23: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:39,252 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2230#true} {2230#true} #54#return; {2230#true} is VALID [2020-07-28 19:10:39,252 INFO L280 TraceCheckUtils]: 25: Hoare triple {2230#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2230#true} is VALID [2020-07-28 19:10:39,252 INFO L280 TraceCheckUtils]: 26: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:39,254 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2230#true} {2372#(<= |fibo2_#in~n| fibo2_~n)} #48#return; {2372#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:39,255 INFO L280 TraceCheckUtils]: 28: Hoare triple {2372#(<= |fibo2_#in~n| fibo2_~n)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {2372#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:39,255 INFO L263 TraceCheckUtils]: 29: Hoare triple {2372#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret3 := fibo1(~n - 2); {2230#true} is VALID [2020-07-28 19:10:39,256 INFO L280 TraceCheckUtils]: 30: Hoare triple {2230#true} ~n := #in~n; {2359#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:39,256 INFO L280 TraceCheckUtils]: 31: Hoare triple {2359#(<= |fibo1_#in~n| fibo1_~n)} assume ~n < 1;#res := 0; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:39,257 INFO L280 TraceCheckUtils]: 32: Hoare triple {2349#(<= |fibo1_#in~n| 0)} assume true; {2349#(<= |fibo1_#in~n| 0)} is VALID [2020-07-28 19:10:39,258 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {2349#(<= |fibo1_#in~n| 0)} {2372#(<= |fibo2_#in~n| fibo2_~n)} #50#return; {2454#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:39,258 INFO L280 TraceCheckUtils]: 34: Hoare triple {2454#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {2454#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:39,258 INFO L280 TraceCheckUtils]: 35: Hoare triple {2454#(<= |fibo2_#in~n| 2)} assume true; {2454#(<= |fibo2_#in~n| 2)} is VALID [2020-07-28 19:10:39,259 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {2454#(<= |fibo2_#in~n| 2)} {2359#(<= |fibo1_#in~n| fibo1_~n)} #52#return; {2464#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:39,260 INFO L280 TraceCheckUtils]: 37: Hoare triple {2464#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2464#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:39,260 INFO L263 TraceCheckUtils]: 38: Hoare triple {2464#(<= |fibo1_#in~n| 3)} call #t~ret1 := fibo2(~n - 2); {2230#true} is VALID [2020-07-28 19:10:39,260 INFO L280 TraceCheckUtils]: 39: Hoare triple {2230#true} ~n := #in~n; {2230#true} is VALID [2020-07-28 19:10:39,260 INFO L280 TraceCheckUtils]: 40: Hoare triple {2230#true} assume !(~n < 1); {2230#true} is VALID [2020-07-28 19:10:39,260 INFO L280 TraceCheckUtils]: 41: Hoare triple {2230#true} assume 1 == ~n;#res := 1; {2230#true} is VALID [2020-07-28 19:10:39,261 INFO L280 TraceCheckUtils]: 42: Hoare triple {2230#true} assume true; {2230#true} is VALID [2020-07-28 19:10:39,264 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {2230#true} {2464#(<= |fibo1_#in~n| 3)} #54#return; {2464#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:39,265 INFO L280 TraceCheckUtils]: 44: Hoare triple {2464#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2464#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:39,269 INFO L280 TraceCheckUtils]: 45: Hoare triple {2464#(<= |fibo1_#in~n| 3)} assume true; {2464#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:39,273 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2464#(<= |fibo1_#in~n| 3)} {2232#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {2231#false} is VALID [2020-07-28 19:10:39,273 INFO L280 TraceCheckUtils]: 47: Hoare triple {2231#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {2231#false} is VALID [2020-07-28 19:10:39,273 INFO L280 TraceCheckUtils]: 48: Hoare triple {2231#false} assume 3 == main_~result~0; {2231#false} is VALID [2020-07-28 19:10:39,273 INFO L280 TraceCheckUtils]: 49: Hoare triple {2231#false} assume !false; {2231#false} is VALID [2020-07-28 19:10:39,276 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 12 proven. 12 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2020-07-28 19:10:39,277 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:39,277 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2020-07-28 19:10:39,278 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515829164] [2020-07-28 19:10:39,278 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 50 [2020-07-28 19:10:39,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:39,283 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:10:39,356 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:39,356 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:10:39,357 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:39,357 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:10:39,357 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=107, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:10:39,357 INFO L87 Difference]: Start difference. First operand 102 states and 165 transitions. Second operand 12 states. [2020-07-28 19:10:40,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:40,754 INFO L93 Difference]: Finished difference Result 261 states and 507 transitions. [2020-07-28 19:10:40,754 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-28 19:10:40,755 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 50 [2020-07-28 19:10:40,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:40,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:10:40,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2020-07-28 19:10:40,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:10:40,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2020-07-28 19:10:40,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 118 transitions. [2020-07-28 19:10:40,949 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:40,966 INFO L225 Difference]: With dead ends: 261 [2020-07-28 19:10:40,966 INFO L226 Difference]: Without dead ends: 161 [2020-07-28 19:10:40,969 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2020-07-28 19:10:40,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2020-07-28 19:10:41,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 138. [2020-07-28 19:10:41,097 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:41,097 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand 138 states. [2020-07-28 19:10:41,097 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand 138 states. [2020-07-28 19:10:41,097 INFO L87 Difference]: Start difference. First operand 161 states. Second operand 138 states. [2020-07-28 19:10:41,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:41,112 INFO L93 Difference]: Finished difference Result 161 states and 281 transitions. [2020-07-28 19:10:41,113 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 281 transitions. [2020-07-28 19:10:41,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:41,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:41,115 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 161 states. [2020-07-28 19:10:41,115 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 161 states. [2020-07-28 19:10:41,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:41,129 INFO L93 Difference]: Finished difference Result 161 states and 281 transitions. [2020-07-28 19:10:41,129 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 281 transitions. [2020-07-28 19:10:41,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:41,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:41,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:41,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:41,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 138 states. [2020-07-28 19:10:41,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 240 transitions. [2020-07-28 19:10:41,143 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 240 transitions. Word has length 50 [2020-07-28 19:10:41,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:41,143 INFO L479 AbstractCegarLoop]: Abstraction has 138 states and 240 transitions. [2020-07-28 19:10:41,143 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:10:41,143 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 240 transitions. [2020-07-28 19:10:41,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2020-07-28 19:10:41,145 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:41,146 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:41,359 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2020-07-28 19:10:41,360 INFO L427 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:41,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:41,361 INFO L82 PathProgramCache]: Analyzing trace with hash -751947822, now seen corresponding path program 1 times [2020-07-28 19:10:41,361 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:41,362 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1330852800] [2020-07-28 19:10:41,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:41,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,403 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:10:41,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,430 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:41,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,464 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:41,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,525 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:10:41,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,530 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,531 INFO L280 TraceCheckUtils]: 1: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,531 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,531 INFO L280 TraceCheckUtils]: 3: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,532 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #52#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,533 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:10:41,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,537 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,538 INFO L280 TraceCheckUtils]: 1: Hoare triple {3352#true} assume ~n < 1;#res := 0; {3352#true} is VALID [2020-07-28 19:10:41,538 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,539 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #54#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,540 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} ~n := #in~n; {3464#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,541 INFO L280 TraceCheckUtils]: 1: Hoare triple {3464#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:41,545 INFO L280 TraceCheckUtils]: 2: Hoare triple {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,546 INFO L263 TraceCheckUtils]: 3: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,546 INFO L280 TraceCheckUtils]: 4: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,546 INFO L280 TraceCheckUtils]: 5: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,546 INFO L280 TraceCheckUtils]: 6: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,546 INFO L280 TraceCheckUtils]: 7: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,549 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #52#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,550 INFO L280 TraceCheckUtils]: 9: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,550 INFO L263 TraceCheckUtils]: 10: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,551 INFO L280 TraceCheckUtils]: 11: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,551 INFO L280 TraceCheckUtils]: 12: Hoare triple {3352#true} assume ~n < 1;#res := 0; {3352#true} is VALID [2020-07-28 19:10:41,551 INFO L280 TraceCheckUtils]: 13: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,552 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #54#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,553 INFO L280 TraceCheckUtils]: 15: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,553 INFO L280 TraceCheckUtils]: 16: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume true; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,554 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3466#(<= 2 |fibo1_#in~n|)} {3439#(= fibo2_~n |fibo2_#in~n|)} #48#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,555 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:10:41,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,560 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,561 INFO L280 TraceCheckUtils]: 1: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,561 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,561 INFO L280 TraceCheckUtils]: 3: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,562 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3352#true} {3458#(<= 3 |fibo2_#in~n|)} #50#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,563 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} ~n := #in~n; {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,564 INFO L280 TraceCheckUtils]: 1: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,564 INFO L280 TraceCheckUtils]: 2: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,564 INFO L263 TraceCheckUtils]: 3: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} call #t~ret2 := fibo1(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,565 INFO L280 TraceCheckUtils]: 4: Hoare triple {3352#true} ~n := #in~n; {3464#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,566 INFO L280 TraceCheckUtils]: 5: Hoare triple {3464#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:41,567 INFO L280 TraceCheckUtils]: 6: Hoare triple {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,567 INFO L263 TraceCheckUtils]: 7: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,567 INFO L280 TraceCheckUtils]: 8: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,568 INFO L280 TraceCheckUtils]: 9: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,568 INFO L280 TraceCheckUtils]: 10: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,568 INFO L280 TraceCheckUtils]: 11: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,569 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #52#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,570 INFO L280 TraceCheckUtils]: 13: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,570 INFO L263 TraceCheckUtils]: 14: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,571 INFO L280 TraceCheckUtils]: 15: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,571 INFO L280 TraceCheckUtils]: 16: Hoare triple {3352#true} assume ~n < 1;#res := 0; {3352#true} is VALID [2020-07-28 19:10:41,571 INFO L280 TraceCheckUtils]: 17: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,573 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #54#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,573 INFO L280 TraceCheckUtils]: 19: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,574 INFO L280 TraceCheckUtils]: 20: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume true; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,576 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {3466#(<= 2 |fibo1_#in~n|)} {3439#(= fibo2_~n |fibo2_#in~n|)} #48#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,577 INFO L280 TraceCheckUtils]: 22: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,577 INFO L263 TraceCheckUtils]: 23: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} call #t~ret3 := fibo1(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,577 INFO L280 TraceCheckUtils]: 24: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,577 INFO L280 TraceCheckUtils]: 25: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,578 INFO L280 TraceCheckUtils]: 26: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,578 INFO L280 TraceCheckUtils]: 27: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,579 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3352#true} {3458#(<= 3 |fibo2_#in~n|)} #50#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,580 INFO L280 TraceCheckUtils]: 29: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,581 INFO L280 TraceCheckUtils]: 30: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume true; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,582 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3458#(<= 3 |fibo2_#in~n|)} {3352#true} #52#return; {3433#(<= 4 fibo1_~n)} is VALID [2020-07-28 19:10:41,583 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2020-07-28 19:10:41,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,605 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} ~n := #in~n; {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,606 INFO L280 TraceCheckUtils]: 1: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,607 INFO L280 TraceCheckUtils]: 2: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,608 INFO L280 TraceCheckUtils]: 3: Hoare triple {3476#(<= |fibo2_#in~n| 1)} assume true; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,609 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3476#(<= |fibo2_#in~n| 1)} {3433#(<= 4 fibo1_~n)} #54#return; {3353#false} is VALID [2020-07-28 19:10:41,610 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,610 INFO L280 TraceCheckUtils]: 1: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,610 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#true} assume !(1 == ~n); {3352#true} is VALID [2020-07-28 19:10:41,611 INFO L263 TraceCheckUtils]: 3: Hoare triple {3352#true} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,612 INFO L280 TraceCheckUtils]: 4: Hoare triple {3352#true} ~n := #in~n; {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,612 INFO L280 TraceCheckUtils]: 5: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,613 INFO L280 TraceCheckUtils]: 6: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,613 INFO L263 TraceCheckUtils]: 7: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} call #t~ret2 := fibo1(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,614 INFO L280 TraceCheckUtils]: 8: Hoare triple {3352#true} ~n := #in~n; {3464#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,615 INFO L280 TraceCheckUtils]: 9: Hoare triple {3464#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:41,616 INFO L280 TraceCheckUtils]: 10: Hoare triple {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,616 INFO L263 TraceCheckUtils]: 11: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,617 INFO L280 TraceCheckUtils]: 12: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,617 INFO L280 TraceCheckUtils]: 13: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,617 INFO L280 TraceCheckUtils]: 14: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,617 INFO L280 TraceCheckUtils]: 15: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,618 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #52#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,619 INFO L280 TraceCheckUtils]: 17: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,620 INFO L263 TraceCheckUtils]: 18: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,620 INFO L280 TraceCheckUtils]: 19: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,620 INFO L280 TraceCheckUtils]: 20: Hoare triple {3352#true} assume ~n < 1;#res := 0; {3352#true} is VALID [2020-07-28 19:10:41,620 INFO L280 TraceCheckUtils]: 21: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,622 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #54#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,623 INFO L280 TraceCheckUtils]: 23: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,623 INFO L280 TraceCheckUtils]: 24: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume true; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,625 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {3466#(<= 2 |fibo1_#in~n|)} {3439#(= fibo2_~n |fibo2_#in~n|)} #48#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,626 INFO L280 TraceCheckUtils]: 26: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,626 INFO L263 TraceCheckUtils]: 27: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} call #t~ret3 := fibo1(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,626 INFO L280 TraceCheckUtils]: 28: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,627 INFO L280 TraceCheckUtils]: 29: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,627 INFO L280 TraceCheckUtils]: 30: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,627 INFO L280 TraceCheckUtils]: 31: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,628 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3352#true} {3458#(<= 3 |fibo2_#in~n|)} #50#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,629 INFO L280 TraceCheckUtils]: 33: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,630 INFO L280 TraceCheckUtils]: 34: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume true; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,631 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {3458#(<= 3 |fibo2_#in~n|)} {3352#true} #52#return; {3433#(<= 4 fibo1_~n)} is VALID [2020-07-28 19:10:41,632 INFO L280 TraceCheckUtils]: 36: Hoare triple {3433#(<= 4 fibo1_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3433#(<= 4 fibo1_~n)} is VALID [2020-07-28 19:10:41,632 INFO L263 TraceCheckUtils]: 37: Hoare triple {3433#(<= 4 fibo1_~n)} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,633 INFO L280 TraceCheckUtils]: 38: Hoare triple {3352#true} ~n := #in~n; {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,633 INFO L280 TraceCheckUtils]: 39: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,634 INFO L280 TraceCheckUtils]: 40: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,635 INFO L280 TraceCheckUtils]: 41: Hoare triple {3476#(<= |fibo2_#in~n| 1)} assume true; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,636 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {3476#(<= |fibo2_#in~n| 1)} {3433#(<= 4 fibo1_~n)} #54#return; {3353#false} is VALID [2020-07-28 19:10:41,636 INFO L280 TraceCheckUtils]: 43: Hoare triple {3353#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3353#false} is VALID [2020-07-28 19:10:41,636 INFO L280 TraceCheckUtils]: 44: Hoare triple {3353#false} assume true; {3353#false} is VALID [2020-07-28 19:10:41,636 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {3353#false} {3354#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {3353#false} is VALID [2020-07-28 19:10:41,639 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {3354#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:41,640 INFO L263 TraceCheckUtils]: 1: Hoare triple {3354#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {3352#true} is VALID [2020-07-28 19:10:41,640 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,640 INFO L280 TraceCheckUtils]: 3: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,640 INFO L280 TraceCheckUtils]: 4: Hoare triple {3352#true} assume !(1 == ~n); {3352#true} is VALID [2020-07-28 19:10:41,640 INFO L263 TraceCheckUtils]: 5: Hoare triple {3352#true} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,641 INFO L280 TraceCheckUtils]: 6: Hoare triple {3352#true} ~n := #in~n; {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,642 INFO L280 TraceCheckUtils]: 7: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,642 INFO L280 TraceCheckUtils]: 8: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,642 INFO L263 TraceCheckUtils]: 9: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} call #t~ret2 := fibo1(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,643 INFO L280 TraceCheckUtils]: 10: Hoare triple {3352#true} ~n := #in~n; {3464#(= fibo1_~n |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,644 INFO L280 TraceCheckUtils]: 11: Hoare triple {3464#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} is VALID [2020-07-28 19:10:41,645 INFO L280 TraceCheckUtils]: 12: Hoare triple {3465#(and (< 0 fibo1_~n) (= fibo1_~n |fibo1_#in~n|))} assume !(1 == ~n); {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,645 INFO L263 TraceCheckUtils]: 13: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,645 INFO L280 TraceCheckUtils]: 14: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,645 INFO L280 TraceCheckUtils]: 15: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,646 INFO L280 TraceCheckUtils]: 16: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,646 INFO L280 TraceCheckUtils]: 17: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,647 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #52#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,647 INFO L280 TraceCheckUtils]: 19: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,648 INFO L263 TraceCheckUtils]: 20: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,648 INFO L280 TraceCheckUtils]: 21: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,648 INFO L280 TraceCheckUtils]: 22: Hoare triple {3352#true} assume ~n < 1;#res := 0; {3352#true} is VALID [2020-07-28 19:10:41,648 INFO L280 TraceCheckUtils]: 23: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,649 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {3352#true} {3466#(<= 2 |fibo1_#in~n|)} #54#return; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,650 INFO L280 TraceCheckUtils]: 25: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,650 INFO L280 TraceCheckUtils]: 26: Hoare triple {3466#(<= 2 |fibo1_#in~n|)} assume true; {3466#(<= 2 |fibo1_#in~n|)} is VALID [2020-07-28 19:10:41,651 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3466#(<= 2 |fibo1_#in~n|)} {3439#(= fibo2_~n |fibo2_#in~n|)} #48#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,652 INFO L280 TraceCheckUtils]: 28: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,652 INFO L263 TraceCheckUtils]: 29: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} call #t~ret3 := fibo1(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,652 INFO L280 TraceCheckUtils]: 30: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,653 INFO L280 TraceCheckUtils]: 31: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,653 INFO L280 TraceCheckUtils]: 32: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,653 INFO L280 TraceCheckUtils]: 33: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,654 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {3352#true} {3458#(<= 3 |fibo2_#in~n|)} #50#return; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,655 INFO L280 TraceCheckUtils]: 35: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,655 INFO L280 TraceCheckUtils]: 36: Hoare triple {3458#(<= 3 |fibo2_#in~n|)} assume true; {3458#(<= 3 |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,656 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {3458#(<= 3 |fibo2_#in~n|)} {3352#true} #52#return; {3433#(<= 4 fibo1_~n)} is VALID [2020-07-28 19:10:41,657 INFO L280 TraceCheckUtils]: 38: Hoare triple {3433#(<= 4 fibo1_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3433#(<= 4 fibo1_~n)} is VALID [2020-07-28 19:10:41,657 INFO L263 TraceCheckUtils]: 39: Hoare triple {3433#(<= 4 fibo1_~n)} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,658 INFO L280 TraceCheckUtils]: 40: Hoare triple {3352#true} ~n := #in~n; {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,658 INFO L280 TraceCheckUtils]: 41: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3439#(= fibo2_~n |fibo2_#in~n|)} is VALID [2020-07-28 19:10:41,659 INFO L280 TraceCheckUtils]: 42: Hoare triple {3439#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,659 INFO L280 TraceCheckUtils]: 43: Hoare triple {3476#(<= |fibo2_#in~n| 1)} assume true; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,660 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {3476#(<= |fibo2_#in~n| 1)} {3433#(<= 4 fibo1_~n)} #54#return; {3353#false} is VALID [2020-07-28 19:10:41,661 INFO L280 TraceCheckUtils]: 45: Hoare triple {3353#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3353#false} is VALID [2020-07-28 19:10:41,661 INFO L280 TraceCheckUtils]: 46: Hoare triple {3353#false} assume true; {3353#false} is VALID [2020-07-28 19:10:41,661 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3353#false} {3354#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {3353#false} is VALID [2020-07-28 19:10:41,661 INFO L280 TraceCheckUtils]: 48: Hoare triple {3353#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {3353#false} is VALID [2020-07-28 19:10:41,661 INFO L280 TraceCheckUtils]: 49: Hoare triple {3353#false} assume 3 == main_~result~0; {3353#false} is VALID [2020-07-28 19:10:41,661 INFO L280 TraceCheckUtils]: 50: Hoare triple {3353#false} assume !false; {3353#false} is VALID [2020-07-28 19:10:41,664 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 19 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2020-07-28 19:10:41,664 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1330852800] [2020-07-28 19:10:41,664 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [161207205] [2020-07-28 19:10:41,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:41,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,695 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:10:41,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:41,711 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:41,918 INFO L280 TraceCheckUtils]: 0: Hoare triple {3352#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4; {3354#(<= 4 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:41,918 INFO L263 TraceCheckUtils]: 1: Hoare triple {3354#(<= 4 ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {3352#true} is VALID [2020-07-28 19:10:41,919 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#true} ~n := #in~n; {3486#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:41,919 INFO L280 TraceCheckUtils]: 3: Hoare triple {3486#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {3486#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:41,920 INFO L280 TraceCheckUtils]: 4: Hoare triple {3486#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {3486#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:41,920 INFO L263 TraceCheckUtils]: 5: Hoare triple {3486#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,920 INFO L280 TraceCheckUtils]: 6: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,920 INFO L280 TraceCheckUtils]: 7: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,921 INFO L280 TraceCheckUtils]: 8: Hoare triple {3352#true} assume !(1 == ~n); {3352#true} is VALID [2020-07-28 19:10:41,921 INFO L263 TraceCheckUtils]: 9: Hoare triple {3352#true} call #t~ret2 := fibo1(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,921 INFO L280 TraceCheckUtils]: 10: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,921 INFO L280 TraceCheckUtils]: 11: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,921 INFO L280 TraceCheckUtils]: 12: Hoare triple {3352#true} assume !(1 == ~n); {3352#true} is VALID [2020-07-28 19:10:41,921 INFO L263 TraceCheckUtils]: 13: Hoare triple {3352#true} call #t~ret0 := fibo2(~n - 1); {3352#true} is VALID [2020-07-28 19:10:41,921 INFO L280 TraceCheckUtils]: 14: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L280 TraceCheckUtils]: 15: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L280 TraceCheckUtils]: 16: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L280 TraceCheckUtils]: 17: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {3352#true} {3352#true} #52#return; {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L280 TraceCheckUtils]: 19: Hoare triple {3352#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L263 TraceCheckUtils]: 20: Hoare triple {3352#true} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L280 TraceCheckUtils]: 21: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,922 INFO L280 TraceCheckUtils]: 22: Hoare triple {3352#true} assume ~n < 1;#res := 0; {3352#true} is VALID [2020-07-28 19:10:41,923 INFO L280 TraceCheckUtils]: 23: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,923 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {3352#true} {3352#true} #54#return; {3352#true} is VALID [2020-07-28 19:10:41,923 INFO L280 TraceCheckUtils]: 25: Hoare triple {3352#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3352#true} is VALID [2020-07-28 19:10:41,923 INFO L280 TraceCheckUtils]: 26: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,923 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3352#true} {3352#true} #48#return; {3352#true} is VALID [2020-07-28 19:10:41,923 INFO L280 TraceCheckUtils]: 28: Hoare triple {3352#true} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647; {3352#true} is VALID [2020-07-28 19:10:41,923 INFO L263 TraceCheckUtils]: 29: Hoare triple {3352#true} call #t~ret3 := fibo1(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,924 INFO L280 TraceCheckUtils]: 30: Hoare triple {3352#true} ~n := #in~n; {3352#true} is VALID [2020-07-28 19:10:41,924 INFO L280 TraceCheckUtils]: 31: Hoare triple {3352#true} assume !(~n < 1); {3352#true} is VALID [2020-07-28 19:10:41,924 INFO L280 TraceCheckUtils]: 32: Hoare triple {3352#true} assume 1 == ~n;#res := 1; {3352#true} is VALID [2020-07-28 19:10:41,924 INFO L280 TraceCheckUtils]: 33: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,924 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {3352#true} {3352#true} #50#return; {3352#true} is VALID [2020-07-28 19:10:41,924 INFO L280 TraceCheckUtils]: 35: Hoare triple {3352#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;#res := #t~ret2 + #t~ret3;havoc #t~ret2;havoc #t~ret3; {3352#true} is VALID [2020-07-28 19:10:41,924 INFO L280 TraceCheckUtils]: 36: Hoare triple {3352#true} assume true; {3352#true} is VALID [2020-07-28 19:10:41,925 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {3352#true} {3486#(<= |fibo1_#in~n| fibo1_~n)} #52#return; {3486#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:41,926 INFO L280 TraceCheckUtils]: 38: Hoare triple {3486#(<= |fibo1_#in~n| fibo1_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {3486#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:41,926 INFO L263 TraceCheckUtils]: 39: Hoare triple {3486#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret1 := fibo2(~n - 2); {3352#true} is VALID [2020-07-28 19:10:41,926 INFO L280 TraceCheckUtils]: 40: Hoare triple {3352#true} ~n := #in~n; {3601#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:41,927 INFO L280 TraceCheckUtils]: 41: Hoare triple {3601#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {3601#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:41,927 INFO L280 TraceCheckUtils]: 42: Hoare triple {3601#(<= |fibo2_#in~n| fibo2_~n)} assume 1 == ~n;#res := 1; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,927 INFO L280 TraceCheckUtils]: 43: Hoare triple {3476#(<= |fibo2_#in~n| 1)} assume true; {3476#(<= |fibo2_#in~n| 1)} is VALID [2020-07-28 19:10:41,928 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {3476#(<= |fibo2_#in~n| 1)} {3486#(<= |fibo1_#in~n| fibo1_~n)} #54#return; {3614#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:41,929 INFO L280 TraceCheckUtils]: 45: Hoare triple {3614#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {3614#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:41,929 INFO L280 TraceCheckUtils]: 46: Hoare triple {3614#(<= |fibo1_#in~n| 3)} assume true; {3614#(<= |fibo1_#in~n| 3)} is VALID [2020-07-28 19:10:41,930 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3614#(<= |fibo1_#in~n| 3)} {3354#(<= 4 ULTIMATE.start_main_~x~0)} #46#return; {3353#false} is VALID [2020-07-28 19:10:41,930 INFO L280 TraceCheckUtils]: 48: Hoare triple {3353#false} assume -2147483648 <= main_#t~ret4 && main_#t~ret4 <= 2147483647;main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {3353#false} is VALID [2020-07-28 19:10:41,930 INFO L280 TraceCheckUtils]: 49: Hoare triple {3353#false} assume 3 == main_~result~0; {3353#false} is VALID [2020-07-28 19:10:41,930 INFO L280 TraceCheckUtils]: 50: Hoare triple {3353#false} assume !false; {3353#false} is VALID [2020-07-28 19:10:41,932 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 18 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2020-07-28 19:10:41,932 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:41,932 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2020-07-28 19:10:41,933 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1885343665] [2020-07-28 19:10:41,933 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 51 [2020-07-28 19:10:41,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:41,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-28 19:10:42,016 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:42,016 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-28 19:10:42,016 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:10:42,016 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-28 19:10:42,017 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=129, Unknown=0, NotChecked=0, Total=156 [2020-07-28 19:10:42,017 INFO L87 Difference]: Start difference. First operand 138 states and 240 transitions. Second operand 13 states. [2020-07-28 19:10:43,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:43,383 INFO L93 Difference]: Finished difference Result 300 states and 579 transitions. [2020-07-28 19:10:43,383 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-28 19:10:43,384 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 51 [2020-07-28 19:10:43,384 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:43,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:10:43,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2020-07-28 19:10:43,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:10:43,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2020-07-28 19:10:43,393 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 121 transitions. [2020-07-28 19:10:43,538 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:43,543 INFO L225 Difference]: With dead ends: 300 [2020-07-28 19:10:43,543 INFO L226 Difference]: Without dead ends: 97 [2020-07-28 19:10:43,545 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2020-07-28 19:10:43,546 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2020-07-28 19:10:43,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 79. [2020-07-28 19:10:43,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:43,612 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand 79 states. [2020-07-28 19:10:43,612 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 79 states. [2020-07-28 19:10:43,612 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 79 states. [2020-07-28 19:10:43,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:43,621 INFO L93 Difference]: Finished difference Result 97 states and 152 transitions. [2020-07-28 19:10:43,621 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 152 transitions. [2020-07-28 19:10:43,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:43,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:43,623 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 97 states. [2020-07-28 19:10:43,623 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 97 states. [2020-07-28 19:10:43,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:43,630 INFO L93 Difference]: Finished difference Result 97 states and 152 transitions. [2020-07-28 19:10:43,631 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 152 transitions. [2020-07-28 19:10:43,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:43,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:43,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:43,633 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:43,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-28 19:10:43,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 122 transitions. [2020-07-28 19:10:43,639 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 122 transitions. Word has length 51 [2020-07-28 19:10:43,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:43,640 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 122 transitions. [2020-07-28 19:10:43,640 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-28 19:10:43,640 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 122 transitions. [2020-07-28 19:10:43,641 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2020-07-28 19:10:43,642 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:43,642 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:43,856 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:10:43,857 INFO L427 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:43,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:43,857 INFO L82 PathProgramCache]: Analyzing trace with hash -26046796, now seen corresponding path program 1 times [2020-07-28 19:10:43,858 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:10:43,858 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576481778] [2020-07-28 19:10:43,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:10:43,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:10:43,873 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:10:43,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:10:43,885 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:10:43,907 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-28 19:10:43,909 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 19:10:43,910 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-28 19:10:43,940 FATAL L488 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret4 := fibo1(~x~0); [2020-07-28 19:10:43,941 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResult(TraceAbstractionStarter.java:693) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportCounterexampleResult(TraceAbstractionStarter.java:626) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResults(TraceAbstractionStarter.java:525) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:383) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-28 19:10:43,947 INFO L168 Benchmark]: Toolchain (without parser) took 15564.73 ms. Allocated memory was 1.0 GB in the beginning and 1.4 GB in the end (delta: 370.1 MB). Free memory was 958.9 MB in the beginning and 882.2 MB in the end (delta: 76.6 MB). Peak memory consumption was 446.8 MB. Max. memory is 11.5 GB. [2020-07-28 19:10:43,948 INFO L168 Benchmark]: CDTParser took 0.48 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 19:10:43,949 INFO L168 Benchmark]: CACSL2BoogieTranslator took 274.89 ms. Allocated memory is still 1.0 GB. Free memory was 958.9 MB in the beginning and 948.1 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2020-07-28 19:10:43,954 INFO L168 Benchmark]: Boogie Procedure Inliner took 81.70 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 148.9 MB). Free memory was 948.1 MB in the beginning and 1.1 GB in the end (delta: -197.4 MB). Peak memory consumption was 9.7 MB. Max. memory is 11.5 GB. [2020-07-28 19:10:43,955 INFO L168 Benchmark]: Boogie Preprocessor took 33.02 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: 6.5 MB). Peak memory consumption was 6.5 MB. Max. memory is 11.5 GB. [2020-07-28 19:10:43,956 INFO L168 Benchmark]: RCFGBuilder took 349.67 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: 19.8 MB). Peak memory consumption was 19.8 MB. Max. memory is 11.5 GB. [2020-07-28 19:10:43,956 INFO L168 Benchmark]: TraceAbstraction took 14815.38 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 221.2 MB). Free memory was 1.1 GB in the beginning and 882.2 MB in the end (delta: 237.1 MB). Peak memory consumption was 458.4 MB. Max. memory is 11.5 GB. [2020-07-28 19:10:43,960 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.48 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 274.89 ms. Allocated memory is still 1.0 GB. Free memory was 958.9 MB in the beginning and 948.1 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 81.70 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 148.9 MB). Free memory was 948.1 MB in the beginning and 1.1 GB in the end (delta: -197.4 MB). Peak memory consumption was 9.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 33.02 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: 6.5 MB). Peak memory consumption was 6.5 MB. Max. memory is 11.5 GB. * RCFGBuilder took 349.67 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: 19.8 MB). Peak memory consumption was 19.8 MB. Max. memory is 11.5 GB. * TraceAbstraction took 14815.38 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 221.2 MB). Free memory was 1.1 GB in the beginning and 882.2 MB in the end (delta: 237.1 MB). Peak memory consumption was 458.4 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 19:10:46,004 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 19:10:46,007 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 19:10:46,027 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 19:10:46,027 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 19:10:46,029 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 19:10:46,031 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 19:10:46,043 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 19:10:46,048 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 19:10:46,051 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 19:10:46,052 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 19:10:46,055 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 19:10:46,055 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 19:10:46,058 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 19:10:46,059 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 19:10:46,060 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 19:10:46,061 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 19:10:46,062 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 19:10:46,063 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 19:10:46,066 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 19:10:46,067 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 19:10:46,069 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 19:10:46,070 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 19:10:46,071 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 19:10:46,073 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 19:10:46,073 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 19:10:46,074 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 19:10:46,075 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 19:10:46,075 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 19:10:46,076 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 19:10:46,076 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 19:10:46,077 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 19:10:46,078 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 19:10:46,079 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 19:10:46,080 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 19:10:46,080 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 19:10:46,081 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 19:10:46,081 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 19:10:46,081 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 19:10:46,082 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 19:10:46,083 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 19:10:46,084 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2020-07-28 19:10:46,099 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 19:10:46,100 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 19:10:46,101 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 19:10:46,101 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 19:10:46,102 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 19:10:46,102 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 19:10:46,102 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 19:10:46,102 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 19:10:46,103 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 19:10:46,103 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 19:10:46,103 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 19:10:46,103 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 19:10:46,104 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2020-07-28 19:10:46,104 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2020-07-28 19:10:46,104 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 19:10:46,105 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 19:10:46,105 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 19:10:46,105 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 19:10:46,106 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 19:10:46,106 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 19:10:46,106 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 19:10:46,106 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 19:10:46,107 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:10:46,107 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 19:10:46,107 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 19:10:46,107 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 19:10:46,108 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2020-07-28 19:10:46,108 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --rewrite-divk --print-success --lang smt [2020-07-28 19:10:46,108 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 19:10:46,109 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 19:10:46,109 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-28 19:10:46,109 INFO L138 SettingsManager]: * Logic for external solver=AUFBV Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.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(G ! call(__VERIFIER_error())) ) 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 -> 7a7b79fb8a331a00295fb9ddfb653e17bda3c30d [2020-07-28 19:10:46,433 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 19:10:46,452 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 19:10:46,458 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 19:10:46,460 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 19:10:46,461 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 19:10:46,462 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2020-07-28 19:10:46,541 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/68dc45536/368190f0abb54e18b54a1670fa3f4de5/FLAG9bbfa8e54 [2020-07-28 19:10:46,979 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 19:10:46,980 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2020-07-28 19:10:46,987 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/68dc45536/368190f0abb54e18b54a1670fa3f4de5/FLAG9bbfa8e54 [2020-07-28 19:10:47,368 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/68dc45536/368190f0abb54e18b54a1670fa3f4de5 [2020-07-28 19:10:47,373 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 19:10:47,376 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 19:10:47,379 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 19:10:47,379 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 19:10:47,383 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 19:10:47,385 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,388 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@f13286f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47, skipping insertion in model container [2020-07-28 19:10:47,388 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,397 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 19:10:47,418 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 19:10:47,607 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:10:47,614 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 19:10:47,631 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:10:47,646 INFO L208 MainTranslator]: Completed translation [2020-07-28 19:10:47,647 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47 WrapperNode [2020-07-28 19:10:47,647 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 19:10:47,648 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 19:10:47,648 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 19:10:47,648 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 19:10:47,655 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,661 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,738 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 19:10:47,739 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 19:10:47,739 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 19:10:47,739 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 19:10:47,746 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,746 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,748 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,748 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,753 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,756 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,757 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... [2020-07-28 19:10:47,759 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 19:10:47,760 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 19:10:47,760 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 19:10:47,760 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 19:10:47,761 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:10:47,834 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 19:10:47,835 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 19:10:47,835 INFO L130 BoogieDeclarations]: Found specification of procedure fibo2 [2020-07-28 19:10:47,835 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo2 [2020-07-28 19:10:47,835 INFO L130 BoogieDeclarations]: Found specification of procedure fibo1 [2020-07-28 19:10:47,835 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo1 [2020-07-28 19:10:48,105 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 19:10:48,105 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-28 19:10:48,112 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:10:48 BoogieIcfgContainer [2020-07-28 19:10:48,112 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 19:10:48,114 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 19:10:48,115 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 19:10:48,119 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 19:10:48,119 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 07:10:47" (1/3) ... [2020-07-28 19:10:48,121 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@8000e79 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:10:48, skipping insertion in model container [2020-07-28 19:10:48,121 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:10:47" (2/3) ... [2020-07-28 19:10:48,122 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@8000e79 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:10:48, skipping insertion in model container [2020-07-28 19:10:48,122 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:10:48" (3/3) ... [2020-07-28 19:10:48,124 INFO L109 eAbstractionObserver]: Analyzing ICFG fibo_2calls_4-2.c [2020-07-28 19:10:48,139 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 19:10:48,148 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 19:10:48,165 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 19:10:48,190 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 19:10:48,190 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 19:10:48,191 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 19:10:48,191 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 19:10:48,191 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 19:10:48,191 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 19:10:48,192 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 19:10:48,192 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 19:10:48,213 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states. [2020-07-28 19:10:48,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2020-07-28 19:10:48,220 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:48,221 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:48,222 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:48,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:48,229 INFO L82 PathProgramCache]: Analyzing trace with hash 1762602805, now seen corresponding path program 1 times [2020-07-28 19:10:48,242 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:10:48,243 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1991549290] [2020-07-28 19:10:48,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2020-07-28 19:10:48,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:48,293 INFO L263 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-28 19:10:48,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:48,307 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:48,439 INFO L280 TraceCheckUtils]: 0: Hoare triple {29#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {34#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:48,440 INFO L263 TraceCheckUtils]: 1: Hoare triple {34#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {29#true} is VALID [2020-07-28 19:10:48,441 INFO L280 TraceCheckUtils]: 2: Hoare triple {29#true} ~n := #in~n; {41#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:48,443 INFO L280 TraceCheckUtils]: 3: Hoare triple {41#(= |fibo1_#in~n| fibo1_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {45#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:48,444 INFO L280 TraceCheckUtils]: 4: Hoare triple {45#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {45#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:48,447 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {45#(bvslt |fibo1_#in~n| (_ bv1 32))} {34#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {30#false} is VALID [2020-07-28 19:10:48,447 INFO L280 TraceCheckUtils]: 6: Hoare triple {30#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {30#false} is VALID [2020-07-28 19:10:48,448 INFO L280 TraceCheckUtils]: 7: Hoare triple {30#false} assume 3bv32 == main_~result~0; {30#false} is VALID [2020-07-28 19:10:48,448 INFO L280 TraceCheckUtils]: 8: Hoare triple {30#false} assume !false; {30#false} is VALID [2020-07-28 19:10:48,451 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:10:48,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:10:48,597 INFO L280 TraceCheckUtils]: 8: Hoare triple {30#false} assume !false; {30#false} is VALID [2020-07-28 19:10:48,597 INFO L280 TraceCheckUtils]: 7: Hoare triple {30#false} assume 3bv32 == main_~result~0; {30#false} is VALID [2020-07-28 19:10:48,598 INFO L280 TraceCheckUtils]: 6: Hoare triple {30#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {30#false} is VALID [2020-07-28 19:10:48,601 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {45#(bvslt |fibo1_#in~n| (_ bv1 32))} {70#(not (bvslt ULTIMATE.start_main_~x~0 (_ bv1 32)))} #44#return; {30#false} is VALID [2020-07-28 19:10:48,606 INFO L280 TraceCheckUtils]: 4: Hoare triple {45#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {45#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:48,608 INFO L280 TraceCheckUtils]: 3: Hoare triple {80#(or (bvslt |fibo1_#in~n| (_ bv1 32)) (not (bvslt fibo1_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {45#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:48,611 INFO L280 TraceCheckUtils]: 2: Hoare triple {29#true} ~n := #in~n; {80#(or (bvslt |fibo1_#in~n| (_ bv1 32)) (not (bvslt fibo1_~n (_ bv1 32))))} is VALID [2020-07-28 19:10:48,612 INFO L263 TraceCheckUtils]: 1: Hoare triple {70#(not (bvslt ULTIMATE.start_main_~x~0 (_ bv1 32)))} call main_#t~ret4 := fibo1(main_~x~0); {29#true} is VALID [2020-07-28 19:10:48,614 INFO L280 TraceCheckUtils]: 0: Hoare triple {29#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {70#(not (bvslt ULTIMATE.start_main_~x~0 (_ bv1 32)))} is VALID [2020-07-28 19:10:48,615 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:10:48,616 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1991549290] [2020-07-28 19:10:48,617 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:10:48,618 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5, 5] imperfect sequences [] total 7 [2020-07-28 19:10:48,620 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1086218987] [2020-07-28 19:10:48,629 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 9 [2020-07-28 19:10:48,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:48,644 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 19:10:48,689 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:48,689 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 19:10:48,690 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:10:48,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 19:10:48,701 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2020-07-28 19:10:48,704 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 7 states. [2020-07-28 19:10:49,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:49,164 INFO L93 Difference]: Finished difference Result 36 states and 45 transitions. [2020-07-28 19:10:49,164 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:10:49,165 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 9 [2020-07-28 19:10:49,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:49,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:10:49,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2020-07-28 19:10:49,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:10:49,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2020-07-28 19:10:49,201 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2020-07-28 19:10:49,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:49,331 INFO L225 Difference]: With dead ends: 36 [2020-07-28 19:10:49,332 INFO L226 Difference]: Without dead ends: 24 [2020-07-28 19:10:49,338 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2020-07-28 19:10:49,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2020-07-28 19:10:49,396 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2020-07-28 19:10:49,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:49,397 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 24 states. [2020-07-28 19:10:49,398 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2020-07-28 19:10:49,398 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2020-07-28 19:10:49,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:49,413 INFO L93 Difference]: Finished difference Result 24 states and 31 transitions. [2020-07-28 19:10:49,414 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 31 transitions. [2020-07-28 19:10:49,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:49,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:49,416 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2020-07-28 19:10:49,417 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2020-07-28 19:10:49,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:49,434 INFO L93 Difference]: Finished difference Result 24 states and 31 transitions. [2020-07-28 19:10:49,434 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 31 transitions. [2020-07-28 19:10:49,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:49,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:49,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:49,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:49,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-28 19:10:49,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 31 transitions. [2020-07-28 19:10:49,448 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 31 transitions. Word has length 9 [2020-07-28 19:10:49,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:49,450 INFO L479 AbstractCegarLoop]: Abstraction has 24 states and 31 transitions. [2020-07-28 19:10:49,450 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 19:10:49,450 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 31 transitions. [2020-07-28 19:10:49,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2020-07-28 19:10:49,455 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:49,456 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:49,668 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 mathsat -unsat_core_generation=3 [2020-07-28 19:10:49,669 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:49,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:49,670 INFO L82 PathProgramCache]: Analyzing trace with hash -450158515, now seen corresponding path program 1 times [2020-07-28 19:10:49,671 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:10:49,671 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [876022227] [2020-07-28 19:10:49,672 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2020-07-28 19:10:49,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:49,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 15 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-28 19:10:49,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:49,704 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:49,759 INFO L280 TraceCheckUtils]: 0: Hoare triple {212#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {217#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:49,760 INFO L263 TraceCheckUtils]: 1: Hoare triple {217#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {212#true} is VALID [2020-07-28 19:10:49,761 INFO L280 TraceCheckUtils]: 2: Hoare triple {212#true} ~n := #in~n; {224#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:49,763 INFO L280 TraceCheckUtils]: 3: Hoare triple {224#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {224#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:49,764 INFO L280 TraceCheckUtils]: 4: Hoare triple {224#(= |fibo1_#in~n| fibo1_~n)} assume 1bv32 == ~n;#res := 1bv32; {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:49,765 INFO L280 TraceCheckUtils]: 5: Hoare triple {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:49,766 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {217#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {213#false} is VALID [2020-07-28 19:10:49,767 INFO L280 TraceCheckUtils]: 7: Hoare triple {213#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {213#false} is VALID [2020-07-28 19:10:49,767 INFO L280 TraceCheckUtils]: 8: Hoare triple {213#false} assume 3bv32 == main_~result~0; {213#false} is VALID [2020-07-28 19:10:49,768 INFO L280 TraceCheckUtils]: 9: Hoare triple {213#false} assume !false; {213#false} is VALID [2020-07-28 19:10:49,768 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:10:49,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:10:49,865 INFO L280 TraceCheckUtils]: 9: Hoare triple {213#false} assume !false; {213#false} is VALID [2020-07-28 19:10:49,866 INFO L280 TraceCheckUtils]: 8: Hoare triple {213#false} assume 3bv32 == main_~result~0; {213#false} is VALID [2020-07-28 19:10:49,866 INFO L280 TraceCheckUtils]: 7: Hoare triple {213#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {213#false} is VALID [2020-07-28 19:10:49,868 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {256#(not (= (_ bv1 32) ULTIMATE.start_main_~x~0))} #44#return; {213#false} is VALID [2020-07-28 19:10:49,869 INFO L280 TraceCheckUtils]: 5: Hoare triple {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:49,870 INFO L280 TraceCheckUtils]: 4: Hoare triple {266#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} assume 1bv32 == ~n;#res := 1bv32; {231#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:49,871 INFO L280 TraceCheckUtils]: 3: Hoare triple {266#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} assume !~bvslt32(~n, 1bv32); {266#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} is VALID [2020-07-28 19:10:49,872 INFO L280 TraceCheckUtils]: 2: Hoare triple {212#true} ~n := #in~n; {266#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} is VALID [2020-07-28 19:10:49,872 INFO L263 TraceCheckUtils]: 1: Hoare triple {256#(not (= (_ bv1 32) ULTIMATE.start_main_~x~0))} call main_#t~ret4 := fibo1(main_~x~0); {212#true} is VALID [2020-07-28 19:10:49,874 INFO L280 TraceCheckUtils]: 0: Hoare triple {212#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {256#(not (= (_ bv1 32) ULTIMATE.start_main_~x~0))} is VALID [2020-07-28 19:10:49,875 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:10:49,876 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [876022227] [2020-07-28 19:10:49,876 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:10:49,876 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5, 5] imperfect sequences [] total 7 [2020-07-28 19:10:49,876 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1469043629] [2020-07-28 19:10:49,881 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 10 [2020-07-28 19:10:49,881 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:49,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 19:10:49,909 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:49,909 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 19:10:49,909 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:10:49,910 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 19:10:49,910 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2020-07-28 19:10:49,910 INFO L87 Difference]: Start difference. First operand 24 states and 31 transitions. Second operand 7 states. [2020-07-28 19:10:50,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:50,278 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2020-07-28 19:10:50,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:10:50,279 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 10 [2020-07-28 19:10:50,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:50,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:10:50,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 35 transitions. [2020-07-28 19:10:50,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:10:50,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 35 transitions. [2020-07-28 19:10:50,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 35 transitions. [2020-07-28 19:10:50,360 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:50,362 INFO L225 Difference]: With dead ends: 30 [2020-07-28 19:10:50,362 INFO L226 Difference]: Without dead ends: 26 [2020-07-28 19:10:50,363 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2020-07-28 19:10:50,364 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2020-07-28 19:10:50,382 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 24. [2020-07-28 19:10:50,382 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:50,382 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 24 states. [2020-07-28 19:10:50,383 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 24 states. [2020-07-28 19:10:50,383 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 24 states. [2020-07-28 19:10:50,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:50,387 INFO L93 Difference]: Finished difference Result 26 states and 34 transitions. [2020-07-28 19:10:50,387 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 34 transitions. [2020-07-28 19:10:50,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:50,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:50,389 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 26 states. [2020-07-28 19:10:50,389 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 26 states. [2020-07-28 19:10:50,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:50,393 INFO L93 Difference]: Finished difference Result 26 states and 34 transitions. [2020-07-28 19:10:50,393 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 34 transitions. [2020-07-28 19:10:50,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:50,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:50,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:50,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:50,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-28 19:10:50,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 31 transitions. [2020-07-28 19:10:50,398 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 31 transitions. Word has length 10 [2020-07-28 19:10:50,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:50,398 INFO L479 AbstractCegarLoop]: Abstraction has 24 states and 31 transitions. [2020-07-28 19:10:50,398 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 19:10:50,399 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 31 transitions. [2020-07-28 19:10:50,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-28 19:10:50,400 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:50,400 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:50,612 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2020-07-28 19:10:50,612 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:50,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:50,613 INFO L82 PathProgramCache]: Analyzing trace with hash 1017181589, now seen corresponding path program 1 times [2020-07-28 19:10:50,615 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:10:50,615 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1552812984] [2020-07-28 19:10:50,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2020-07-28 19:10:50,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:50,640 INFO L263 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:10:50,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:50,651 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:50,754 INFO L280 TraceCheckUtils]: 0: Hoare triple {397#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {402#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:50,754 INFO L263 TraceCheckUtils]: 1: Hoare triple {402#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {397#true} is VALID [2020-07-28 19:10:50,755 INFO L280 TraceCheckUtils]: 2: Hoare triple {397#true} ~n := #in~n; {409#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:50,755 INFO L280 TraceCheckUtils]: 3: Hoare triple {409#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {409#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:50,756 INFO L280 TraceCheckUtils]: 4: Hoare triple {409#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {409#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:50,756 INFO L263 TraceCheckUtils]: 5: Hoare triple {409#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {397#true} is VALID [2020-07-28 19:10:50,757 INFO L280 TraceCheckUtils]: 6: Hoare triple {397#true} ~n := #in~n; {422#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:50,757 INFO L280 TraceCheckUtils]: 7: Hoare triple {422#(= |fibo2_#in~n| fibo2_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {426#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:50,758 INFO L280 TraceCheckUtils]: 8: Hoare triple {426#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {426#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:50,759 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {426#(bvslt |fibo2_#in~n| (_ bv1 32))} {409#(= |fibo1_#in~n| fibo1_~n)} #50#return; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:50,759 INFO L263 TraceCheckUtils]: 10: Hoare triple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {397#true} is VALID [2020-07-28 19:10:50,760 INFO L280 TraceCheckUtils]: 11: Hoare triple {397#true} ~n := #in~n; {397#true} is VALID [2020-07-28 19:10:50,760 INFO L280 TraceCheckUtils]: 12: Hoare triple {397#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {397#true} is VALID [2020-07-28 19:10:50,760 INFO L280 TraceCheckUtils]: 13: Hoare triple {397#true} assume true; {397#true} is VALID [2020-07-28 19:10:50,764 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {397#true} {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #52#return; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:50,765 INFO L280 TraceCheckUtils]: 15: Hoare triple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:50,765 INFO L280 TraceCheckUtils]: 16: Hoare triple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:50,770 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {402#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {398#false} is VALID [2020-07-28 19:10:50,771 INFO L280 TraceCheckUtils]: 18: Hoare triple {398#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {398#false} is VALID [2020-07-28 19:10:50,771 INFO L280 TraceCheckUtils]: 19: Hoare triple {398#false} assume 3bv32 == main_~result~0; {398#false} is VALID [2020-07-28 19:10:50,771 INFO L280 TraceCheckUtils]: 20: Hoare triple {398#false} assume !false; {398#false} is VALID [2020-07-28 19:10:50,772 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:50,772 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:10:51,151 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:10:51,253 INFO L280 TraceCheckUtils]: 20: Hoare triple {398#false} assume !false; {398#false} is VALID [2020-07-28 19:10:51,254 INFO L280 TraceCheckUtils]: 19: Hoare triple {398#false} assume 3bv32 == main_~result~0; {398#false} is VALID [2020-07-28 19:10:51,254 INFO L280 TraceCheckUtils]: 18: Hoare triple {398#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {398#false} is VALID [2020-07-28 19:10:51,257 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {476#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967295 32)) (_ bv1 32)))} #44#return; {398#false} is VALID [2020-07-28 19:10:51,257 INFO L280 TraceCheckUtils]: 16: Hoare triple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:51,258 INFO L280 TraceCheckUtils]: 15: Hoare triple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:51,259 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {397#true} {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #52#return; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:51,259 INFO L280 TraceCheckUtils]: 13: Hoare triple {397#true} assume true; {397#true} is VALID [2020-07-28 19:10:51,259 INFO L280 TraceCheckUtils]: 12: Hoare triple {397#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {397#true} is VALID [2020-07-28 19:10:51,260 INFO L280 TraceCheckUtils]: 11: Hoare triple {397#true} ~n := #in~n; {397#true} is VALID [2020-07-28 19:10:51,260 INFO L263 TraceCheckUtils]: 10: Hoare triple {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {397#true} is VALID [2020-07-28 19:10:51,261 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {426#(bvslt |fibo2_#in~n| (_ bv1 32))} {504#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} #50#return; {433#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:51,262 INFO L280 TraceCheckUtils]: 8: Hoare triple {426#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {426#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:51,262 INFO L280 TraceCheckUtils]: 7: Hoare triple {514#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {426#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:51,264 INFO L280 TraceCheckUtils]: 6: Hoare triple {397#true} ~n := #in~n; {514#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} is VALID [2020-07-28 19:10:51,264 INFO L263 TraceCheckUtils]: 5: Hoare triple {504#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {397#true} is VALID [2020-07-28 19:10:51,270 INFO L280 TraceCheckUtils]: 4: Hoare triple {504#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {504#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:10:51,271 INFO L280 TraceCheckUtils]: 3: Hoare triple {504#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {504#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:10:51,272 INFO L280 TraceCheckUtils]: 2: Hoare triple {397#true} ~n := #in~n; {504#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:10:51,272 INFO L263 TraceCheckUtils]: 1: Hoare triple {476#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967295 32)) (_ bv1 32)))} call main_#t~ret4 := fibo1(main_~x~0); {397#true} is VALID [2020-07-28 19:10:51,272 INFO L280 TraceCheckUtils]: 0: Hoare triple {397#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {476#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2020-07-28 19:10:51,274 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:51,274 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1552812984] [2020-07-28 19:10:51,274 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:51,274 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2020-07-28 19:10:51,274 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1731200701] [2020-07-28 19:10:51,275 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 21 [2020-07-28 19:10:51,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:51,276 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 19:10:51,339 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:51,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 19:10:51,339 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:10:51,339 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 19:10:51,340 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:10:51,340 INFO L87 Difference]: Start difference. First operand 24 states and 31 transitions. Second operand 10 states. [2020-07-28 19:10:52,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:52,247 INFO L93 Difference]: Finished difference Result 36 states and 48 transitions. [2020-07-28 19:10:52,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:10:52,247 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 21 [2020-07-28 19:10:52,247 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:52,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:10:52,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2020-07-28 19:10:52,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:10:52,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2020-07-28 19:10:52,253 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 42 transitions. [2020-07-28 19:10:52,347 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:52,350 INFO L225 Difference]: With dead ends: 36 [2020-07-28 19:10:52,350 INFO L226 Difference]: Without dead ends: 32 [2020-07-28 19:10:52,351 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 31 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:10:52,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2020-07-28 19:10:52,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 28. [2020-07-28 19:10:52,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:52,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 28 states. [2020-07-28 19:10:52,363 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 28 states. [2020-07-28 19:10:52,363 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 28 states. [2020-07-28 19:10:52,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:52,367 INFO L93 Difference]: Finished difference Result 32 states and 44 transitions. [2020-07-28 19:10:52,367 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 44 transitions. [2020-07-28 19:10:52,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:52,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:52,368 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 32 states. [2020-07-28 19:10:52,369 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 32 states. [2020-07-28 19:10:52,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:52,372 INFO L93 Difference]: Finished difference Result 32 states and 44 transitions. [2020-07-28 19:10:52,373 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 44 transitions. [2020-07-28 19:10:52,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:52,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:52,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:52,374 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:52,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-28 19:10:52,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 38 transitions. [2020-07-28 19:10:52,378 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 38 transitions. Word has length 21 [2020-07-28 19:10:52,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:52,378 INFO L479 AbstractCegarLoop]: Abstraction has 28 states and 38 transitions. [2020-07-28 19:10:52,378 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 19:10:52,378 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2020-07-28 19:10:52,379 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2020-07-28 19:10:52,380 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:52,380 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:52,593 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 mathsat -unsat_core_generation=3 [2020-07-28 19:10:52,593 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:52,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:52,594 INFO L82 PathProgramCache]: Analyzing trace with hash 1369022552, now seen corresponding path program 1 times [2020-07-28 19:10:52,595 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:10:52,595 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [975411959] [2020-07-28 19:10:52,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2020-07-28 19:10:52,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:52,615 INFO L263 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:10:52,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:52,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:52,713 INFO L280 TraceCheckUtils]: 0: Hoare triple {677#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {682#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:52,713 INFO L263 TraceCheckUtils]: 1: Hoare triple {682#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {677#true} is VALID [2020-07-28 19:10:52,714 INFO L280 TraceCheckUtils]: 2: Hoare triple {677#true} ~n := #in~n; {689#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:52,715 INFO L280 TraceCheckUtils]: 3: Hoare triple {689#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {689#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:52,715 INFO L280 TraceCheckUtils]: 4: Hoare triple {689#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {689#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:52,716 INFO L263 TraceCheckUtils]: 5: Hoare triple {689#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {677#true} is VALID [2020-07-28 19:10:52,716 INFO L280 TraceCheckUtils]: 6: Hoare triple {677#true} ~n := #in~n; {702#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:52,717 INFO L280 TraceCheckUtils]: 7: Hoare triple {702#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {702#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:52,717 INFO L280 TraceCheckUtils]: 8: Hoare triple {702#(= |fibo2_#in~n| fibo2_~n)} assume 1bv32 == ~n;#res := 1bv32; {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:52,718 INFO L280 TraceCheckUtils]: 9: Hoare triple {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:52,719 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {689#(= |fibo1_#in~n| fibo1_~n)} #50#return; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:52,719 INFO L263 TraceCheckUtils]: 11: Hoare triple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {677#true} is VALID [2020-07-28 19:10:52,719 INFO L280 TraceCheckUtils]: 12: Hoare triple {677#true} ~n := #in~n; {677#true} is VALID [2020-07-28 19:10:52,719 INFO L280 TraceCheckUtils]: 13: Hoare triple {677#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {677#true} is VALID [2020-07-28 19:10:52,720 INFO L280 TraceCheckUtils]: 14: Hoare triple {677#true} assume true; {677#true} is VALID [2020-07-28 19:10:52,722 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {677#true} {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #52#return; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:52,722 INFO L280 TraceCheckUtils]: 16: Hoare triple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:52,723 INFO L280 TraceCheckUtils]: 17: Hoare triple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} assume true; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:52,724 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} {682#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {678#false} is VALID [2020-07-28 19:10:52,724 INFO L280 TraceCheckUtils]: 19: Hoare triple {678#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {678#false} is VALID [2020-07-28 19:10:52,725 INFO L280 TraceCheckUtils]: 20: Hoare triple {678#false} assume 3bv32 == main_~result~0; {678#false} is VALID [2020-07-28 19:10:52,725 INFO L280 TraceCheckUtils]: 21: Hoare triple {678#false} assume !false; {678#false} is VALID [2020-07-28 19:10:52,726 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:52,726 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:10:52,978 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:10:53,066 INFO L280 TraceCheckUtils]: 21: Hoare triple {678#false} assume !false; {678#false} is VALID [2020-07-28 19:10:53,067 INFO L280 TraceCheckUtils]: 20: Hoare triple {678#false} assume 3bv32 == main_~result~0; {678#false} is VALID [2020-07-28 19:10:53,067 INFO L280 TraceCheckUtils]: 19: Hoare triple {678#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {678#false} is VALID [2020-07-28 19:10:53,071 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} {759#(not (= (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv0 32)))} #44#return; {678#false} is VALID [2020-07-28 19:10:53,075 INFO L280 TraceCheckUtils]: 17: Hoare triple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} assume true; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:53,075 INFO L280 TraceCheckUtils]: 16: Hoare triple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:53,078 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {677#true} {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #52#return; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:53,079 INFO L280 TraceCheckUtils]: 14: Hoare triple {677#true} assume true; {677#true} is VALID [2020-07-28 19:10:53,079 INFO L280 TraceCheckUtils]: 13: Hoare triple {677#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {677#true} is VALID [2020-07-28 19:10:53,079 INFO L280 TraceCheckUtils]: 12: Hoare triple {677#true} ~n := #in~n; {677#true} is VALID [2020-07-28 19:10:53,079 INFO L263 TraceCheckUtils]: 11: Hoare triple {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {677#true} is VALID [2020-07-28 19:10:53,084 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {787#(or (= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv0 32))))} #50#return; {716#(= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:53,089 INFO L280 TraceCheckUtils]: 9: Hoare triple {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:53,091 INFO L280 TraceCheckUtils]: 8: Hoare triple {797#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} assume 1bv32 == ~n;#res := 1bv32; {709#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:53,092 INFO L280 TraceCheckUtils]: 7: Hoare triple {797#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} assume !~bvslt32(~n, 1bv32); {797#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} is VALID [2020-07-28 19:10:53,092 INFO L280 TraceCheckUtils]: 6: Hoare triple {677#true} ~n := #in~n; {797#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} is VALID [2020-07-28 19:10:53,093 INFO L263 TraceCheckUtils]: 5: Hoare triple {787#(or (= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv0 32))))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {677#true} is VALID [2020-07-28 19:10:53,093 INFO L280 TraceCheckUtils]: 4: Hoare triple {787#(or (= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv0 32))))} assume !(1bv32 == ~n); {787#(or (= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:10:53,094 INFO L280 TraceCheckUtils]: 3: Hoare triple {787#(or (= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv0 32))))} assume !~bvslt32(~n, 1bv32); {787#(or (= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:10:53,095 INFO L280 TraceCheckUtils]: 2: Hoare triple {677#true} ~n := #in~n; {787#(or (= (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:10:53,095 INFO L263 TraceCheckUtils]: 1: Hoare triple {759#(not (= (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv0 32)))} call main_#t~ret4 := fibo1(main_~x~0); {677#true} is VALID [2020-07-28 19:10:53,096 INFO L280 TraceCheckUtils]: 0: Hoare triple {677#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {759#(not (= (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2020-07-28 19:10:53,098 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:10:53,098 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [975411959] [2020-07-28 19:10:53,098 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:53,099 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2020-07-28 19:10:53,099 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1395420424] [2020-07-28 19:10:53,099 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2020-07-28 19:10:53,101 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:53,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 19:10:53,159 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:53,159 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 19:10:53,159 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:10:53,160 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 19:10:53,160 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:10:53,160 INFO L87 Difference]: Start difference. First operand 28 states and 38 transitions. Second operand 10 states. [2020-07-28 19:10:53,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:53,746 INFO L93 Difference]: Finished difference Result 60 states and 95 transitions. [2020-07-28 19:10:53,746 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:10:53,746 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2020-07-28 19:10:53,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:53,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:10:53,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2020-07-28 19:10:53,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:10:53,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2020-07-28 19:10:53,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2020-07-28 19:10:53,874 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:53,879 INFO L225 Difference]: With dead ends: 60 [2020-07-28 19:10:53,879 INFO L226 Difference]: Without dead ends: 34 [2020-07-28 19:10:53,880 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 3 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:10:53,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2020-07-28 19:10:53,903 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 31. [2020-07-28 19:10:53,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:53,904 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 31 states. [2020-07-28 19:10:53,904 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 31 states. [2020-07-28 19:10:53,904 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 31 states. [2020-07-28 19:10:53,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:53,909 INFO L93 Difference]: Finished difference Result 34 states and 49 transitions. [2020-07-28 19:10:53,909 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 49 transitions. [2020-07-28 19:10:53,912 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:53,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:53,915 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 34 states. [2020-07-28 19:10:53,915 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 34 states. [2020-07-28 19:10:53,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:53,923 INFO L93 Difference]: Finished difference Result 34 states and 49 transitions. [2020-07-28 19:10:53,924 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 49 transitions. [2020-07-28 19:10:53,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:53,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:53,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:53,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:53,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-28 19:10:53,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 45 transitions. [2020-07-28 19:10:53,933 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 45 transitions. Word has length 22 [2020-07-28 19:10:53,934 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:53,934 INFO L479 AbstractCegarLoop]: Abstraction has 31 states and 45 transitions. [2020-07-28 19:10:53,935 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 19:10:53,935 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 45 transitions. [2020-07-28 19:10:53,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-28 19:10:53,938 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:53,939 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:54,152 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 mathsat -unsat_core_generation=3 [2020-07-28 19:10:54,152 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:54,153 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:54,153 INFO L82 PathProgramCache]: Analyzing trace with hash -870174923, now seen corresponding path program 1 times [2020-07-28 19:10:54,154 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:10:54,155 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [658960401] [2020-07-28 19:10:54,155 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2020-07-28 19:10:54,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:54,199 INFO L263 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:10:54,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:54,208 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:54,341 INFO L280 TraceCheckUtils]: 0: Hoare triple {1004#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {1009#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:54,341 INFO L263 TraceCheckUtils]: 1: Hoare triple {1009#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {1004#true} is VALID [2020-07-28 19:10:54,343 INFO L280 TraceCheckUtils]: 2: Hoare triple {1004#true} ~n := #in~n; {1016#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:54,343 INFO L280 TraceCheckUtils]: 3: Hoare triple {1016#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1016#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:54,346 INFO L280 TraceCheckUtils]: 4: Hoare triple {1016#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {1016#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:54,346 INFO L263 TraceCheckUtils]: 5: Hoare triple {1016#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1004#true} is VALID [2020-07-28 19:10:54,347 INFO L280 TraceCheckUtils]: 6: Hoare triple {1004#true} ~n := #in~n; {1029#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:54,347 INFO L280 TraceCheckUtils]: 7: Hoare triple {1029#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {1029#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:54,348 INFO L280 TraceCheckUtils]: 8: Hoare triple {1029#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {1029#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:54,348 INFO L263 TraceCheckUtils]: 9: Hoare triple {1029#(= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {1004#true} is VALID [2020-07-28 19:10:54,349 INFO L280 TraceCheckUtils]: 10: Hoare triple {1004#true} ~n := #in~n; {1016#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:54,349 INFO L280 TraceCheckUtils]: 11: Hoare triple {1016#(= |fibo1_#in~n| fibo1_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:54,350 INFO L280 TraceCheckUtils]: 12: Hoare triple {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:54,351 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} {1029#(= |fibo2_#in~n| fibo2_~n)} #46#return; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,351 INFO L263 TraceCheckUtils]: 14: Hoare triple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {1004#true} is VALID [2020-07-28 19:10:54,351 INFO L280 TraceCheckUtils]: 15: Hoare triple {1004#true} ~n := #in~n; {1004#true} is VALID [2020-07-28 19:10:54,351 INFO L280 TraceCheckUtils]: 16: Hoare triple {1004#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1004#true} is VALID [2020-07-28 19:10:54,352 INFO L280 TraceCheckUtils]: 17: Hoare triple {1004#true} assume true; {1004#true} is VALID [2020-07-28 19:10:54,352 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1004#true} {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #48#return; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,353 INFO L280 TraceCheckUtils]: 19: Hoare triple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,353 INFO L280 TraceCheckUtils]: 20: Hoare triple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,357 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {1016#(= |fibo1_#in~n| fibo1_~n)} #50#return; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,358 INFO L263 TraceCheckUtils]: 22: Hoare triple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1004#true} is VALID [2020-07-28 19:10:54,358 INFO L280 TraceCheckUtils]: 23: Hoare triple {1004#true} ~n := #in~n; {1004#true} is VALID [2020-07-28 19:10:54,358 INFO L280 TraceCheckUtils]: 24: Hoare triple {1004#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1004#true} is VALID [2020-07-28 19:10:54,358 INFO L280 TraceCheckUtils]: 25: Hoare triple {1004#true} assume true; {1004#true} is VALID [2020-07-28 19:10:54,359 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {1004#true} {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #52#return; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,359 INFO L280 TraceCheckUtils]: 27: Hoare triple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,360 INFO L280 TraceCheckUtils]: 28: Hoare triple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:54,361 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {1009#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {1005#false} is VALID [2020-07-28 19:10:54,361 INFO L280 TraceCheckUtils]: 30: Hoare triple {1005#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1005#false} is VALID [2020-07-28 19:10:54,361 INFO L280 TraceCheckUtils]: 31: Hoare triple {1005#false} assume 3bv32 == main_~result~0; {1005#false} is VALID [2020-07-28 19:10:54,361 INFO L280 TraceCheckUtils]: 32: Hoare triple {1005#false} assume !false; {1005#false} is VALID [2020-07-28 19:10:54,363 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-28 19:10:54,363 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:10:54,842 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:10:55,021 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:10:55,127 INFO L280 TraceCheckUtils]: 32: Hoare triple {1005#false} assume !false; {1005#false} is VALID [2020-07-28 19:10:55,127 INFO L280 TraceCheckUtils]: 31: Hoare triple {1005#false} assume 3bv32 == main_~result~0; {1005#false} is VALID [2020-07-28 19:10:55,128 INFO L280 TraceCheckUtils]: 30: Hoare triple {1005#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1005#false} is VALID [2020-07-28 19:10:55,129 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {1120#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv1 32)))} #44#return; {1005#false} is VALID [2020-07-28 19:10:55,130 INFO L280 TraceCheckUtils]: 28: Hoare triple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,130 INFO L280 TraceCheckUtils]: 27: Hoare triple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,131 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {1004#true} {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #52#return; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,131 INFO L280 TraceCheckUtils]: 25: Hoare triple {1004#true} assume true; {1004#true} is VALID [2020-07-28 19:10:55,131 INFO L280 TraceCheckUtils]: 24: Hoare triple {1004#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1004#true} is VALID [2020-07-28 19:10:55,131 INFO L280 TraceCheckUtils]: 23: Hoare triple {1004#true} ~n := #in~n; {1004#true} is VALID [2020-07-28 19:10:55,132 INFO L263 TraceCheckUtils]: 22: Hoare triple {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1004#true} is VALID [2020-07-28 19:10:55,137 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {1148#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} #50#return; {1077#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,137 INFO L280 TraceCheckUtils]: 20: Hoare triple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,138 INFO L280 TraceCheckUtils]: 19: Hoare triple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,139 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1004#true} {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #48#return; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,139 INFO L280 TraceCheckUtils]: 17: Hoare triple {1004#true} assume true; {1004#true} is VALID [2020-07-28 19:10:55,139 INFO L280 TraceCheckUtils]: 16: Hoare triple {1004#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1004#true} is VALID [2020-07-28 19:10:55,139 INFO L280 TraceCheckUtils]: 15: Hoare triple {1004#true} ~n := #in~n; {1004#true} is VALID [2020-07-28 19:10:55,139 INFO L263 TraceCheckUtils]: 14: Hoare triple {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {1004#true} is VALID [2020-07-28 19:10:55,141 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} {1176#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967295 32)) (_ bv1 32))))} #46#return; {1052#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:55,141 INFO L280 TraceCheckUtils]: 12: Hoare triple {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:55,142 INFO L280 TraceCheckUtils]: 11: Hoare triple {1186#(or (bvslt |fibo1_#in~n| (_ bv1 32)) (not (bvslt fibo1_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1045#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:55,143 INFO L280 TraceCheckUtils]: 10: Hoare triple {1004#true} ~n := #in~n; {1186#(or (bvslt |fibo1_#in~n| (_ bv1 32)) (not (bvslt fibo1_~n (_ bv1 32))))} is VALID [2020-07-28 19:10:55,143 INFO L263 TraceCheckUtils]: 9: Hoare triple {1176#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967295 32)) (_ bv1 32))))} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {1004#true} is VALID [2020-07-28 19:10:55,144 INFO L280 TraceCheckUtils]: 8: Hoare triple {1176#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967295 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {1176#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:10:55,144 INFO L280 TraceCheckUtils]: 7: Hoare triple {1176#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967295 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {1176#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:10:55,146 INFO L280 TraceCheckUtils]: 6: Hoare triple {1004#true} ~n := #in~n; {1176#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:10:55,146 INFO L263 TraceCheckUtils]: 5: Hoare triple {1148#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1004#true} is VALID [2020-07-28 19:10:55,148 INFO L280 TraceCheckUtils]: 4: Hoare triple {1148#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {1148#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:10:55,150 INFO L280 TraceCheckUtils]: 3: Hoare triple {1148#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {1148#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:10:55,150 INFO L280 TraceCheckUtils]: 2: Hoare triple {1004#true} ~n := #in~n; {1148#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:10:55,151 INFO L263 TraceCheckUtils]: 1: Hoare triple {1120#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv1 32)))} call main_#t~ret4 := fibo1(main_~x~0); {1004#true} is VALID [2020-07-28 19:10:55,154 INFO L280 TraceCheckUtils]: 0: Hoare triple {1004#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {1120#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:10:55,156 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-28 19:10:55,156 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [658960401] [2020-07-28 19:10:55,156 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:55,156 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2020-07-28 19:10:55,157 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [725490480] [2020-07-28 19:10:55,157 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 33 [2020-07-28 19:10:55,160 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:55,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:10:55,270 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:55,271 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:10:55,271 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:10:55,271 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:10:55,271 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:10:55,272 INFO L87 Difference]: Start difference. First operand 31 states and 45 transitions. Second operand 12 states. [2020-07-28 19:10:56,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:56,712 INFO L93 Difference]: Finished difference Result 48 states and 77 transitions. [2020-07-28 19:10:56,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 19:10:56,712 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 33 [2020-07-28 19:10:56,713 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:56,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:10:56,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 50 transitions. [2020-07-28 19:10:56,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:10:56,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 50 transitions. [2020-07-28 19:10:56,719 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 50 transitions. [2020-07-28 19:10:56,849 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:56,852 INFO L225 Difference]: With dead ends: 48 [2020-07-28 19:10:56,853 INFO L226 Difference]: Without dead ends: 44 [2020-07-28 19:10:56,855 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:10:56,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2020-07-28 19:10:56,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 35. [2020-07-28 19:10:56,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:56,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 35 states. [2020-07-28 19:10:56,888 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 35 states. [2020-07-28 19:10:56,888 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 35 states. [2020-07-28 19:10:56,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:56,895 INFO L93 Difference]: Finished difference Result 44 states and 73 transitions. [2020-07-28 19:10:56,896 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 73 transitions. [2020-07-28 19:10:56,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:56,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:56,901 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 44 states. [2020-07-28 19:10:56,901 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 44 states. [2020-07-28 19:10:56,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:56,909 INFO L93 Difference]: Finished difference Result 44 states and 73 transitions. [2020-07-28 19:10:56,910 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 73 transitions. [2020-07-28 19:10:56,912 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:56,912 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:56,912 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:56,912 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:56,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2020-07-28 19:10:56,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 53 transitions. [2020-07-28 19:10:56,933 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 53 transitions. Word has length 33 [2020-07-28 19:10:56,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:56,936 INFO L479 AbstractCegarLoop]: Abstraction has 35 states and 53 transitions. [2020-07-28 19:10:56,936 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:10:56,936 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 53 transitions. [2020-07-28 19:10:56,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2020-07-28 19:10:56,937 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:56,938 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:57,147 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 mathsat -unsat_core_generation=3 [2020-07-28 19:10:57,148 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:57,149 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:57,150 INFO L82 PathProgramCache]: Analyzing trace with hash -1345994245, now seen corresponding path program 1 times [2020-07-28 19:10:57,150 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:10:57,151 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [206100615] [2020-07-28 19:10:57,151 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2020-07-28 19:10:57,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:57,180 INFO L263 TraceCheckSpWp]: Trace formula consists of 49 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:10:57,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:57,194 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:57,302 INFO L280 TraceCheckUtils]: 0: Hoare triple {1410#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {1415#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:57,302 INFO L263 TraceCheckUtils]: 1: Hoare triple {1415#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {1410#true} is VALID [2020-07-28 19:10:57,305 INFO L280 TraceCheckUtils]: 2: Hoare triple {1410#true} ~n := #in~n; {1422#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:57,305 INFO L280 TraceCheckUtils]: 3: Hoare triple {1422#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1422#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:57,306 INFO L280 TraceCheckUtils]: 4: Hoare triple {1422#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {1422#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:57,306 INFO L263 TraceCheckUtils]: 5: Hoare triple {1422#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1410#true} is VALID [2020-07-28 19:10:57,307 INFO L280 TraceCheckUtils]: 6: Hoare triple {1410#true} ~n := #in~n; {1435#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:57,307 INFO L280 TraceCheckUtils]: 7: Hoare triple {1435#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {1435#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:57,308 INFO L280 TraceCheckUtils]: 8: Hoare triple {1435#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {1435#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:57,308 INFO L263 TraceCheckUtils]: 9: Hoare triple {1435#(= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {1410#true} is VALID [2020-07-28 19:10:57,309 INFO L280 TraceCheckUtils]: 10: Hoare triple {1410#true} ~n := #in~n; {1422#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:57,309 INFO L280 TraceCheckUtils]: 11: Hoare triple {1422#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1422#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:57,310 INFO L280 TraceCheckUtils]: 12: Hoare triple {1422#(= |fibo1_#in~n| fibo1_~n)} assume 1bv32 == ~n;#res := 1bv32; {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,311 INFO L280 TraceCheckUtils]: 13: Hoare triple {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,313 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {1435#(= |fibo2_#in~n| fibo2_~n)} #46#return; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,313 INFO L263 TraceCheckUtils]: 15: Hoare triple {1461#(= (_ bv2 32) |fibo2_#in~n|)} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {1410#true} is VALID [2020-07-28 19:10:57,314 INFO L280 TraceCheckUtils]: 16: Hoare triple {1410#true} ~n := #in~n; {1410#true} is VALID [2020-07-28 19:10:57,314 INFO L280 TraceCheckUtils]: 17: Hoare triple {1410#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1410#true} is VALID [2020-07-28 19:10:57,314 INFO L280 TraceCheckUtils]: 18: Hoare triple {1410#true} assume true; {1410#true} is VALID [2020-07-28 19:10:57,315 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {1410#true} {1461#(= (_ bv2 32) |fibo2_#in~n|)} #48#return; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,315 INFO L280 TraceCheckUtils]: 20: Hoare triple {1461#(= (_ bv2 32) |fibo2_#in~n|)} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,316 INFO L280 TraceCheckUtils]: 21: Hoare triple {1461#(= (_ bv2 32) |fibo2_#in~n|)} assume true; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,317 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1461#(= (_ bv2 32) |fibo2_#in~n|)} {1422#(= |fibo1_#in~n| fibo1_~n)} #50#return; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,317 INFO L263 TraceCheckUtils]: 23: Hoare triple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1410#true} is VALID [2020-07-28 19:10:57,317 INFO L280 TraceCheckUtils]: 24: Hoare triple {1410#true} ~n := #in~n; {1410#true} is VALID [2020-07-28 19:10:57,318 INFO L280 TraceCheckUtils]: 25: Hoare triple {1410#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1410#true} is VALID [2020-07-28 19:10:57,318 INFO L280 TraceCheckUtils]: 26: Hoare triple {1410#true} assume true; {1410#true} is VALID [2020-07-28 19:10:57,319 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1410#true} {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #52#return; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,319 INFO L280 TraceCheckUtils]: 28: Hoare triple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,320 INFO L280 TraceCheckUtils]: 29: Hoare triple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,321 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {1415#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {1411#false} is VALID [2020-07-28 19:10:57,322 INFO L280 TraceCheckUtils]: 31: Hoare triple {1411#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1411#false} is VALID [2020-07-28 19:10:57,322 INFO L280 TraceCheckUtils]: 32: Hoare triple {1411#false} assume 3bv32 == main_~result~0; {1411#false} is VALID [2020-07-28 19:10:57,322 INFO L280 TraceCheckUtils]: 33: Hoare triple {1411#false} assume !false; {1411#false} is VALID [2020-07-28 19:10:57,324 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-28 19:10:57,324 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:10:57,647 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:10:57,798 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:10:57,898 INFO L280 TraceCheckUtils]: 33: Hoare triple {1411#false} assume !false; {1411#false} is VALID [2020-07-28 19:10:57,898 INFO L280 TraceCheckUtils]: 32: Hoare triple {1411#false} assume 3bv32 == main_~result~0; {1411#false} is VALID [2020-07-28 19:10:57,899 INFO L280 TraceCheckUtils]: 31: Hoare triple {1411#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1411#false} is VALID [2020-07-28 19:10:57,900 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {1529#(not (= (_ bv3 32) ULTIMATE.start_main_~x~0))} #44#return; {1411#false} is VALID [2020-07-28 19:10:57,901 INFO L280 TraceCheckUtils]: 29: Hoare triple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,901 INFO L280 TraceCheckUtils]: 28: Hoare triple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,902 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1410#true} {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #52#return; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,902 INFO L280 TraceCheckUtils]: 26: Hoare triple {1410#true} assume true; {1410#true} is VALID [2020-07-28 19:10:57,902 INFO L280 TraceCheckUtils]: 25: Hoare triple {1410#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1410#true} is VALID [2020-07-28 19:10:57,902 INFO L280 TraceCheckUtils]: 24: Hoare triple {1410#true} ~n := #in~n; {1410#true} is VALID [2020-07-28 19:10:57,903 INFO L263 TraceCheckUtils]: 23: Hoare triple {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1410#true} is VALID [2020-07-28 19:10:57,904 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1461#(= (_ bv2 32) |fibo2_#in~n|)} {1557#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} #50#return; {1486#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,904 INFO L280 TraceCheckUtils]: 21: Hoare triple {1461#(= (_ bv2 32) |fibo2_#in~n|)} assume true; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,904 INFO L280 TraceCheckUtils]: 20: Hoare triple {1461#(= (_ bv2 32) |fibo2_#in~n|)} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,905 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {1410#true} {1461#(= (_ bv2 32) |fibo2_#in~n|)} #48#return; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,905 INFO L280 TraceCheckUtils]: 18: Hoare triple {1410#true} assume true; {1410#true} is VALID [2020-07-28 19:10:57,905 INFO L280 TraceCheckUtils]: 17: Hoare triple {1410#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1410#true} is VALID [2020-07-28 19:10:57,905 INFO L280 TraceCheckUtils]: 16: Hoare triple {1410#true} ~n := #in~n; {1410#true} is VALID [2020-07-28 19:10:57,906 INFO L263 TraceCheckUtils]: 15: Hoare triple {1461#(= (_ bv2 32) |fibo2_#in~n|)} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {1410#true} is VALID [2020-07-28 19:10:57,906 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {1585#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (_ bv2 32) fibo2_~n)))} #46#return; {1461#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2020-07-28 19:10:57,907 INFO L280 TraceCheckUtils]: 13: Hoare triple {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,907 INFO L280 TraceCheckUtils]: 12: Hoare triple {1595#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} assume 1bv32 == ~n;#res := 1bv32; {1454#(= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:10:57,908 INFO L280 TraceCheckUtils]: 11: Hoare triple {1595#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} assume !~bvslt32(~n, 1bv32); {1595#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} is VALID [2020-07-28 19:10:57,908 INFO L280 TraceCheckUtils]: 10: Hoare triple {1410#true} ~n := #in~n; {1595#(or (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo1_~n)))} is VALID [2020-07-28 19:10:57,908 INFO L263 TraceCheckUtils]: 9: Hoare triple {1585#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (_ bv2 32) fibo2_~n)))} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {1410#true} is VALID [2020-07-28 19:10:57,909 INFO L280 TraceCheckUtils]: 8: Hoare triple {1585#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (_ bv2 32) fibo2_~n)))} assume !(1bv32 == ~n); {1585#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (_ bv2 32) fibo2_~n)))} is VALID [2020-07-28 19:10:57,909 INFO L280 TraceCheckUtils]: 7: Hoare triple {1585#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (_ bv2 32) fibo2_~n)))} assume !~bvslt32(~n, 1bv32); {1585#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (_ bv2 32) fibo2_~n)))} is VALID [2020-07-28 19:10:57,911 INFO L280 TraceCheckUtils]: 6: Hoare triple {1410#true} ~n := #in~n; {1585#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (_ bv2 32) fibo2_~n)))} is VALID [2020-07-28 19:10:57,911 INFO L263 TraceCheckUtils]: 5: Hoare triple {1557#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1410#true} is VALID [2020-07-28 19:10:57,913 INFO L280 TraceCheckUtils]: 4: Hoare triple {1557#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} assume !(1bv32 == ~n); {1557#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:10:57,913 INFO L280 TraceCheckUtils]: 3: Hoare triple {1557#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {1557#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:10:57,915 INFO L280 TraceCheckUtils]: 2: Hoare triple {1410#true} ~n := #in~n; {1557#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:10:57,915 INFO L263 TraceCheckUtils]: 1: Hoare triple {1529#(not (= (_ bv3 32) ULTIMATE.start_main_~x~0))} call main_#t~ret4 := fibo1(main_~x~0); {1410#true} is VALID [2020-07-28 19:10:57,916 INFO L280 TraceCheckUtils]: 0: Hoare triple {1410#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {1529#(not (= (_ bv3 32) ULTIMATE.start_main_~x~0))} is VALID [2020-07-28 19:10:57,918 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-28 19:10:57,919 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [206100615] [2020-07-28 19:10:57,919 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:10:57,919 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2020-07-28 19:10:57,919 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1305880642] [2020-07-28 19:10:57,920 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 34 [2020-07-28 19:10:57,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:10:57,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:10:57,990 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:57,990 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:10:57,990 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:10:57,991 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:10:57,991 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:10:57,991 INFO L87 Difference]: Start difference. First operand 35 states and 53 transitions. Second operand 12 states. [2020-07-28 19:10:58,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:58,754 INFO L93 Difference]: Finished difference Result 78 states and 149 transitions. [2020-07-28 19:10:58,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 19:10:58,755 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 34 [2020-07-28 19:10:58,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:10:58,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:10:58,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2020-07-28 19:10:58,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:10:58,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2020-07-28 19:10:58,762 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 79 transitions. [2020-07-28 19:10:58,893 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:10:58,897 INFO L225 Difference]: With dead ends: 78 [2020-07-28 19:10:58,897 INFO L226 Difference]: Without dead ends: 45 [2020-07-28 19:10:58,899 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 56 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:10:58,899 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2020-07-28 19:10:58,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2020-07-28 19:10:58,922 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:10:58,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 45 states. [2020-07-28 19:10:58,923 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2020-07-28 19:10:58,923 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2020-07-28 19:10:58,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:58,928 INFO L93 Difference]: Finished difference Result 45 states and 76 transitions. [2020-07-28 19:10:58,929 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 76 transitions. [2020-07-28 19:10:58,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:58,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:58,930 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2020-07-28 19:10:58,930 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2020-07-28 19:10:58,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:10:58,935 INFO L93 Difference]: Finished difference Result 45 states and 76 transitions. [2020-07-28 19:10:58,935 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 76 transitions. [2020-07-28 19:10:58,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:10:58,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:10:58,937 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:10:58,937 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:10:58,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2020-07-28 19:10:58,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 76 transitions. [2020-07-28 19:10:58,942 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 76 transitions. Word has length 34 [2020-07-28 19:10:58,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:10:58,942 INFO L479 AbstractCegarLoop]: Abstraction has 45 states and 76 transitions. [2020-07-28 19:10:58,943 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:10:58,943 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 76 transitions. [2020-07-28 19:10:58,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-28 19:10:58,945 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:10:58,945 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:10:59,157 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 mathsat -unsat_core_generation=3 [2020-07-28 19:10:59,158 INFO L427 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:10:59,158 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:10:59,158 INFO L82 PathProgramCache]: Analyzing trace with hash 2067261461, now seen corresponding path program 2 times [2020-07-28 19:10:59,158 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:10:59,159 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [904302964] [2020-07-28 19:10:59,160 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 8 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with mathsat -unsat_core_generation=3 [2020-07-28 19:10:59,192 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:10:59,192 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:10:59,194 INFO L263 TraceCheckSpWp]: Trace formula consists of 65 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-28 19:10:59,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:10:59,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:10:59,407 INFO L280 TraceCheckUtils]: 0: Hoare triple {1877#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {1882#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:10:59,407 INFO L263 TraceCheckUtils]: 1: Hoare triple {1882#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {1877#true} is VALID [2020-07-28 19:10:59,408 INFO L280 TraceCheckUtils]: 2: Hoare triple {1877#true} ~n := #in~n; {1889#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:59,408 INFO L280 TraceCheckUtils]: 3: Hoare triple {1889#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1889#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:59,408 INFO L280 TraceCheckUtils]: 4: Hoare triple {1889#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {1889#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:59,409 INFO L263 TraceCheckUtils]: 5: Hoare triple {1889#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2020-07-28 19:10:59,409 INFO L280 TraceCheckUtils]: 6: Hoare triple {1877#true} ~n := #in~n; {1902#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:59,409 INFO L280 TraceCheckUtils]: 7: Hoare triple {1902#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {1902#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:59,410 INFO L280 TraceCheckUtils]: 8: Hoare triple {1902#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {1902#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:59,410 INFO L263 TraceCheckUtils]: 9: Hoare triple {1902#(= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2020-07-28 19:10:59,410 INFO L280 TraceCheckUtils]: 10: Hoare triple {1877#true} ~n := #in~n; {1889#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:59,411 INFO L280 TraceCheckUtils]: 11: Hoare triple {1889#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1889#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:59,411 INFO L280 TraceCheckUtils]: 12: Hoare triple {1889#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {1889#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:10:59,411 INFO L263 TraceCheckUtils]: 13: Hoare triple {1889#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2020-07-28 19:10:59,412 INFO L280 TraceCheckUtils]: 14: Hoare triple {1877#true} ~n := #in~n; {1902#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:10:59,412 INFO L280 TraceCheckUtils]: 15: Hoare triple {1902#(= |fibo2_#in~n| fibo2_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:59,413 INFO L280 TraceCheckUtils]: 16: Hoare triple {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:10:59,414 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} {1889#(= |fibo1_#in~n| fibo1_~n)} #50#return; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,414 INFO L263 TraceCheckUtils]: 18: Hoare triple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2020-07-28 19:10:59,414 INFO L280 TraceCheckUtils]: 19: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2020-07-28 19:10:59,414 INFO L280 TraceCheckUtils]: 20: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2020-07-28 19:10:59,414 INFO L280 TraceCheckUtils]: 21: Hoare triple {1877#true} assume true; {1877#true} is VALID [2020-07-28 19:10:59,415 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1877#true} {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #52#return; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,416 INFO L280 TraceCheckUtils]: 23: Hoare triple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,416 INFO L280 TraceCheckUtils]: 24: Hoare triple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,420 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {1902#(= |fibo2_#in~n| fibo2_~n)} #46#return; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,420 INFO L263 TraceCheckUtils]: 26: Hoare triple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2020-07-28 19:10:59,421 INFO L280 TraceCheckUtils]: 27: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2020-07-28 19:10:59,421 INFO L280 TraceCheckUtils]: 28: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2020-07-28 19:10:59,421 INFO L280 TraceCheckUtils]: 29: Hoare triple {1877#true} assume true; {1877#true} is VALID [2020-07-28 19:10:59,422 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1877#true} {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #48#return; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,422 INFO L280 TraceCheckUtils]: 31: Hoare triple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,426 INFO L280 TraceCheckUtils]: 32: Hoare triple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,431 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {1889#(= |fibo1_#in~n| fibo1_~n)} #50#return; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,432 INFO L263 TraceCheckUtils]: 34: Hoare triple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2020-07-28 19:10:59,432 INFO L280 TraceCheckUtils]: 35: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2020-07-28 19:10:59,432 INFO L280 TraceCheckUtils]: 36: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2020-07-28 19:10:59,432 INFO L280 TraceCheckUtils]: 37: Hoare triple {1877#true} assume true; {1877#true} is VALID [2020-07-28 19:10:59,433 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {1877#true} {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #52#return; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,434 INFO L280 TraceCheckUtils]: 39: Hoare triple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,434 INFO L280 TraceCheckUtils]: 40: Hoare triple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:10:59,435 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {1882#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {1878#false} is VALID [2020-07-28 19:10:59,435 INFO L280 TraceCheckUtils]: 42: Hoare triple {1878#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1878#false} is VALID [2020-07-28 19:10:59,435 INFO L280 TraceCheckUtils]: 43: Hoare triple {1878#false} assume 3bv32 == main_~result~0; {1878#false} is VALID [2020-07-28 19:10:59,436 INFO L280 TraceCheckUtils]: 44: Hoare triple {1878#false} assume !false; {1878#false} is VALID [2020-07-28 19:10:59,438 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 4 proven. 20 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2020-07-28 19:10:59,438 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:00,031 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:00,301 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:00,484 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:00,579 INFO L280 TraceCheckUtils]: 44: Hoare triple {1878#false} assume !false; {1878#false} is VALID [2020-07-28 19:11:00,579 INFO L280 TraceCheckUtils]: 43: Hoare triple {1878#false} assume 3bv32 == main_~result~0; {1878#false} is VALID [2020-07-28 19:11:00,580 INFO L280 TraceCheckUtils]: 42: Hoare triple {1878#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {1878#false} is VALID [2020-07-28 19:11:00,581 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {2030#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967293 32)) (_ bv1 32)))} #44#return; {1878#false} is VALID [2020-07-28 19:11:00,581 INFO L280 TraceCheckUtils]: 40: Hoare triple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,583 INFO L280 TraceCheckUtils]: 39: Hoare triple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,584 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {1877#true} {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #52#return; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,584 INFO L280 TraceCheckUtils]: 37: Hoare triple {1877#true} assume true; {1877#true} is VALID [2020-07-28 19:11:00,585 INFO L280 TraceCheckUtils]: 36: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2020-07-28 19:11:00,585 INFO L280 TraceCheckUtils]: 35: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2020-07-28 19:11:00,585 INFO L263 TraceCheckUtils]: 34: Hoare triple {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2020-07-28 19:11:00,593 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {2058#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} #50#return; {1987#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,593 INFO L280 TraceCheckUtils]: 32: Hoare triple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,594 INFO L280 TraceCheckUtils]: 31: Hoare triple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,594 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1877#true} {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #48#return; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,595 INFO L280 TraceCheckUtils]: 29: Hoare triple {1877#true} assume true; {1877#true} is VALID [2020-07-28 19:11:00,595 INFO L280 TraceCheckUtils]: 28: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2020-07-28 19:11:00,595 INFO L280 TraceCheckUtils]: 27: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2020-07-28 19:11:00,595 INFO L263 TraceCheckUtils]: 26: Hoare triple {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2020-07-28 19:11:00,607 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {2086#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} #46#return; {1962#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,612 INFO L280 TraceCheckUtils]: 24: Hoare triple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,613 INFO L280 TraceCheckUtils]: 23: Hoare triple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,614 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1877#true} {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #52#return; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,614 INFO L280 TraceCheckUtils]: 21: Hoare triple {1877#true} assume true; {1877#true} is VALID [2020-07-28 19:11:00,615 INFO L280 TraceCheckUtils]: 20: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2020-07-28 19:11:00,615 INFO L280 TraceCheckUtils]: 19: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2020-07-28 19:11:00,615 INFO L263 TraceCheckUtils]: 18: Hoare triple {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2020-07-28 19:11:00,616 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} {2114#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} #50#return; {1937#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:00,617 INFO L280 TraceCheckUtils]: 16: Hoare triple {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:00,618 INFO L280 TraceCheckUtils]: 15: Hoare triple {2124#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1930#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:00,618 INFO L280 TraceCheckUtils]: 14: Hoare triple {1877#true} ~n := #in~n; {2124#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} is VALID [2020-07-28 19:11:00,619 INFO L263 TraceCheckUtils]: 13: Hoare triple {2114#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2020-07-28 19:11:00,619 INFO L280 TraceCheckUtils]: 12: Hoare triple {2114#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {2114#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,620 INFO L280 TraceCheckUtils]: 11: Hoare triple {2114#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {2114#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,620 INFO L280 TraceCheckUtils]: 10: Hoare triple {1877#true} ~n := #in~n; {2114#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,621 INFO L263 TraceCheckUtils]: 9: Hoare triple {2086#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2020-07-28 19:11:00,621 INFO L280 TraceCheckUtils]: 8: Hoare triple {2086#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {2086#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,622 INFO L280 TraceCheckUtils]: 7: Hoare triple {2086#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {2086#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,622 INFO L280 TraceCheckUtils]: 6: Hoare triple {1877#true} ~n := #in~n; {2086#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,623 INFO L263 TraceCheckUtils]: 5: Hoare triple {2058#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2020-07-28 19:11:00,623 INFO L280 TraceCheckUtils]: 4: Hoare triple {2058#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {2058#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,624 INFO L280 TraceCheckUtils]: 3: Hoare triple {2058#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {2058#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,624 INFO L280 TraceCheckUtils]: 2: Hoare triple {1877#true} ~n := #in~n; {2058#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:00,625 INFO L263 TraceCheckUtils]: 1: Hoare triple {2030#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967293 32)) (_ bv1 32)))} call main_#t~ret4 := fibo1(main_~x~0); {1877#true} is VALID [2020-07-28 19:11:00,625 INFO L280 TraceCheckUtils]: 0: Hoare triple {1877#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {2030#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2020-07-28 19:11:00,628 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 4 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-28 19:11:00,628 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [904302964] [2020-07-28 19:11:00,629 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:00,629 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11] total 14 [2020-07-28 19:11:00,629 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1616431471] [2020-07-28 19:11:00,629 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 45 [2020-07-28 19:11:00,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:00,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-28 19:11:00,757 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:00,758 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-28 19:11:00,758 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:00,758 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-28 19:11:00,759 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2020-07-28 19:11:00,759 INFO L87 Difference]: Start difference. First operand 45 states and 76 transitions. Second operand 14 states. [2020-07-28 19:11:03,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:03,279 INFO L93 Difference]: Finished difference Result 69 states and 141 transitions. [2020-07-28 19:11:03,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 19:11:03,279 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 45 [2020-07-28 19:11:03,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:03,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 19:11:03,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2020-07-28 19:11:03,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 19:11:03,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2020-07-28 19:11:03,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 64 transitions. [2020-07-28 19:11:03,448 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:03,453 INFO L225 Difference]: With dead ends: 69 [2020-07-28 19:11:03,454 INFO L226 Difference]: Without dead ends: 65 [2020-07-28 19:11:03,455 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 77 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2020-07-28 19:11:03,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2020-07-28 19:11:03,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 49. [2020-07-28 19:11:03,484 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:03,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 49 states. [2020-07-28 19:11:03,485 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 49 states. [2020-07-28 19:11:03,485 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 49 states. [2020-07-28 19:11:03,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:03,492 INFO L93 Difference]: Finished difference Result 65 states and 137 transitions. [2020-07-28 19:11:03,493 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 137 transitions. [2020-07-28 19:11:03,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:03,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:03,494 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 65 states. [2020-07-28 19:11:03,495 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 65 states. [2020-07-28 19:11:03,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:03,502 INFO L93 Difference]: Finished difference Result 65 states and 137 transitions. [2020-07-28 19:11:03,502 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 137 transitions. [2020-07-28 19:11:03,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:03,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:03,504 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:03,504 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:03,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2020-07-28 19:11:03,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 89 transitions. [2020-07-28 19:11:03,508 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 89 transitions. Word has length 45 [2020-07-28 19:11:03,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:03,509 INFO L479 AbstractCegarLoop]: Abstraction has 49 states and 89 transitions. [2020-07-28 19:11:03,509 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-28 19:11:03,509 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 89 transitions. [2020-07-28 19:11:03,511 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2020-07-28 19:11:03,511 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:03,511 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:03,722 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 mathsat -unsat_core_generation=3 [2020-07-28 19:11:03,723 INFO L427 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:03,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:03,723 INFO L82 PathProgramCache]: Analyzing trace with hash -302356090, now seen corresponding path program 1 times [2020-07-28 19:11:03,724 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:03,725 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1067004768] [2020-07-28 19:11:03,725 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 9 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:03,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:03,756 INFO L263 TraceCheckSpWp]: Trace formula consists of 66 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:11:03,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:03,766 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:03,906 INFO L280 TraceCheckUtils]: 0: Hoare triple {2447#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {2452#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:11:03,907 INFO L263 TraceCheckUtils]: 1: Hoare triple {2452#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {2447#true} is VALID [2020-07-28 19:11:03,907 INFO L280 TraceCheckUtils]: 2: Hoare triple {2447#true} ~n := #in~n; {2459#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:03,907 INFO L280 TraceCheckUtils]: 3: Hoare triple {2459#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {2459#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:03,908 INFO L280 TraceCheckUtils]: 4: Hoare triple {2459#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {2459#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:03,908 INFO L263 TraceCheckUtils]: 5: Hoare triple {2459#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {2447#true} is VALID [2020-07-28 19:11:03,908 INFO L280 TraceCheckUtils]: 6: Hoare triple {2447#true} ~n := #in~n; {2472#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:03,909 INFO L280 TraceCheckUtils]: 7: Hoare triple {2472#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {2472#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:03,909 INFO L280 TraceCheckUtils]: 8: Hoare triple {2472#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {2472#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:03,909 INFO L263 TraceCheckUtils]: 9: Hoare triple {2472#(= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {2447#true} is VALID [2020-07-28 19:11:03,910 INFO L280 TraceCheckUtils]: 10: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:03,910 INFO L280 TraceCheckUtils]: 11: Hoare triple {2447#true} assume !~bvslt32(~n, 1bv32); {2447#true} is VALID [2020-07-28 19:11:03,910 INFO L280 TraceCheckUtils]: 12: Hoare triple {2447#true} assume !(1bv32 == ~n); {2447#true} is VALID [2020-07-28 19:11:03,910 INFO L263 TraceCheckUtils]: 13: Hoare triple {2447#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {2447#true} is VALID [2020-07-28 19:11:03,910 INFO L280 TraceCheckUtils]: 14: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:03,911 INFO L280 TraceCheckUtils]: 15: Hoare triple {2447#true} assume !~bvslt32(~n, 1bv32); {2447#true} is VALID [2020-07-28 19:11:03,911 INFO L280 TraceCheckUtils]: 16: Hoare triple {2447#true} assume 1bv32 == ~n;#res := 1bv32; {2447#true} is VALID [2020-07-28 19:11:03,911 INFO L280 TraceCheckUtils]: 17: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:03,911 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {2447#true} {2447#true} #50#return; {2447#true} is VALID [2020-07-28 19:11:03,911 INFO L263 TraceCheckUtils]: 19: Hoare triple {2447#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {2447#true} is VALID [2020-07-28 19:11:03,911 INFO L280 TraceCheckUtils]: 20: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:03,912 INFO L280 TraceCheckUtils]: 21: Hoare triple {2447#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2447#true} is VALID [2020-07-28 19:11:03,912 INFO L280 TraceCheckUtils]: 22: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:03,912 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {2447#true} {2447#true} #52#return; {2447#true} is VALID [2020-07-28 19:11:03,912 INFO L280 TraceCheckUtils]: 24: Hoare triple {2447#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2447#true} is VALID [2020-07-28 19:11:03,912 INFO L280 TraceCheckUtils]: 25: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:03,913 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {2447#true} {2472#(= |fibo2_#in~n| fibo2_~n)} #46#return; {2472#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:03,913 INFO L263 TraceCheckUtils]: 27: Hoare triple {2472#(= |fibo2_#in~n| fibo2_~n)} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {2447#true} is VALID [2020-07-28 19:11:03,914 INFO L280 TraceCheckUtils]: 28: Hoare triple {2447#true} ~n := #in~n; {2459#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:03,914 INFO L280 TraceCheckUtils]: 29: Hoare triple {2459#(= |fibo1_#in~n| fibo1_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:03,915 INFO L280 TraceCheckUtils]: 30: Hoare triple {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:03,917 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} {2472#(= |fibo2_#in~n| fibo2_~n)} #48#return; {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:03,917 INFO L280 TraceCheckUtils]: 32: Hoare triple {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:03,919 INFO L280 TraceCheckUtils]: 33: Hoare triple {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:03,924 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {2459#(= |fibo1_#in~n| fibo1_~n)} #50#return; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:03,925 INFO L263 TraceCheckUtils]: 35: Hoare triple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {2447#true} is VALID [2020-07-28 19:11:03,925 INFO L280 TraceCheckUtils]: 36: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:03,925 INFO L280 TraceCheckUtils]: 37: Hoare triple {2447#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2447#true} is VALID [2020-07-28 19:11:03,925 INFO L280 TraceCheckUtils]: 38: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:03,928 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2447#true} {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #52#return; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:03,929 INFO L280 TraceCheckUtils]: 40: Hoare triple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:03,930 INFO L280 TraceCheckUtils]: 41: Hoare triple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:03,931 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {2452#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {2448#false} is VALID [2020-07-28 19:11:03,931 INFO L280 TraceCheckUtils]: 43: Hoare triple {2448#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {2448#false} is VALID [2020-07-28 19:11:03,931 INFO L280 TraceCheckUtils]: 44: Hoare triple {2448#false} assume 3bv32 == main_~result~0; {2448#false} is VALID [2020-07-28 19:11:03,932 INFO L280 TraceCheckUtils]: 45: Hoare triple {2448#false} assume !false; {2448#false} is VALID [2020-07-28 19:11:03,934 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 11 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2020-07-28 19:11:03,934 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:04,399 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:04,553 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:04,661 INFO L280 TraceCheckUtils]: 45: Hoare triple {2448#false} assume !false; {2448#false} is VALID [2020-07-28 19:11:04,662 INFO L280 TraceCheckUtils]: 44: Hoare triple {2448#false} assume 3bv32 == main_~result~0; {2448#false} is VALID [2020-07-28 19:11:04,662 INFO L280 TraceCheckUtils]: 43: Hoare triple {2448#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {2448#false} is VALID [2020-07-28 19:11:04,663 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {2602#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967293 32)) (_ bv1 32)))} #44#return; {2448#false} is VALID [2020-07-28 19:11:04,663 INFO L280 TraceCheckUtils]: 41: Hoare triple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:04,663 INFO L280 TraceCheckUtils]: 40: Hoare triple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:04,664 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2447#true} {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #52#return; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:04,664 INFO L280 TraceCheckUtils]: 38: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:04,664 INFO L280 TraceCheckUtils]: 37: Hoare triple {2447#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2447#true} is VALID [2020-07-28 19:11:04,665 INFO L280 TraceCheckUtils]: 36: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:04,665 INFO L263 TraceCheckUtils]: 35: Hoare triple {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {2447#true} is VALID [2020-07-28 19:11:04,671 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {2630#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} #50#return; {2559#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:04,672 INFO L280 TraceCheckUtils]: 33: Hoare triple {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:04,673 INFO L280 TraceCheckUtils]: 32: Hoare triple {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:04,674 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} #48#return; {2549#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:04,674 INFO L280 TraceCheckUtils]: 30: Hoare triple {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:04,675 INFO L280 TraceCheckUtils]: 29: Hoare triple {2653#(or (bvslt |fibo1_#in~n| (_ bv1 32)) (not (bvslt fibo1_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2542#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:04,675 INFO L280 TraceCheckUtils]: 28: Hoare triple {2447#true} ~n := #in~n; {2653#(or (bvslt |fibo1_#in~n| (_ bv1 32)) (not (bvslt fibo1_~n (_ bv1 32))))} is VALID [2020-07-28 19:11:04,675 INFO L263 TraceCheckUtils]: 27: Hoare triple {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {2447#true} is VALID [2020-07-28 19:11:04,676 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {2447#true} {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} #46#return; {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:04,677 INFO L280 TraceCheckUtils]: 25: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:04,677 INFO L280 TraceCheckUtils]: 24: Hoare triple {2447#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2447#true} is VALID [2020-07-28 19:11:04,677 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {2447#true} {2447#true} #52#return; {2447#true} is VALID [2020-07-28 19:11:04,678 INFO L280 TraceCheckUtils]: 22: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:04,678 INFO L280 TraceCheckUtils]: 21: Hoare triple {2447#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2447#true} is VALID [2020-07-28 19:11:04,678 INFO L280 TraceCheckUtils]: 20: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:04,678 INFO L263 TraceCheckUtils]: 19: Hoare triple {2447#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {2447#true} is VALID [2020-07-28 19:11:04,678 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {2447#true} {2447#true} #50#return; {2447#true} is VALID [2020-07-28 19:11:04,679 INFO L280 TraceCheckUtils]: 17: Hoare triple {2447#true} assume true; {2447#true} is VALID [2020-07-28 19:11:04,679 INFO L280 TraceCheckUtils]: 16: Hoare triple {2447#true} assume 1bv32 == ~n;#res := 1bv32; {2447#true} is VALID [2020-07-28 19:11:04,679 INFO L280 TraceCheckUtils]: 15: Hoare triple {2447#true} assume !~bvslt32(~n, 1bv32); {2447#true} is VALID [2020-07-28 19:11:04,679 INFO L280 TraceCheckUtils]: 14: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:04,679 INFO L263 TraceCheckUtils]: 13: Hoare triple {2447#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {2447#true} is VALID [2020-07-28 19:11:04,680 INFO L280 TraceCheckUtils]: 12: Hoare triple {2447#true} assume !(1bv32 == ~n); {2447#true} is VALID [2020-07-28 19:11:04,680 INFO L280 TraceCheckUtils]: 11: Hoare triple {2447#true} assume !~bvslt32(~n, 1bv32); {2447#true} is VALID [2020-07-28 19:11:04,680 INFO L280 TraceCheckUtils]: 10: Hoare triple {2447#true} ~n := #in~n; {2447#true} is VALID [2020-07-28 19:11:04,680 INFO L263 TraceCheckUtils]: 9: Hoare triple {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {2447#true} is VALID [2020-07-28 19:11:04,687 INFO L280 TraceCheckUtils]: 8: Hoare triple {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:04,688 INFO L280 TraceCheckUtils]: 7: Hoare triple {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:04,689 INFO L280 TraceCheckUtils]: 6: Hoare triple {2447#true} ~n := #in~n; {2643#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd fibo2_~n (_ bv4294967294 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:04,689 INFO L263 TraceCheckUtils]: 5: Hoare triple {2630#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {2447#true} is VALID [2020-07-28 19:11:04,689 INFO L280 TraceCheckUtils]: 4: Hoare triple {2630#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {2630#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:04,690 INFO L280 TraceCheckUtils]: 3: Hoare triple {2630#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {2630#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:04,691 INFO L280 TraceCheckUtils]: 2: Hoare triple {2447#true} ~n := #in~n; {2630#(or (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)) (not (bvslt (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv1 32))))} is VALID [2020-07-28 19:11:04,691 INFO L263 TraceCheckUtils]: 1: Hoare triple {2602#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967293 32)) (_ bv1 32)))} call main_#t~ret4 := fibo1(main_~x~0); {2447#true} is VALID [2020-07-28 19:11:04,692 INFO L280 TraceCheckUtils]: 0: Hoare triple {2447#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {2602#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2020-07-28 19:11:04,695 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 11 proven. 12 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-28 19:11:04,695 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1067004768] [2020-07-28 19:11:04,695 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:04,695 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2020-07-28 19:11:04,696 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821001596] [2020-07-28 19:11:04,697 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 46 [2020-07-28 19:11:04,698 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:04,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:11:04,813 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:04,814 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:11:04,814 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:04,814 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:11:04,815 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:11:04,815 INFO L87 Difference]: Start difference. First operand 49 states and 89 transitions. Second operand 12 states. [2020-07-28 19:11:05,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:05,862 INFO L93 Difference]: Finished difference Result 76 states and 163 transitions. [2020-07-28 19:11:05,862 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 19:11:05,862 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 46 [2020-07-28 19:11:05,862 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:05,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:11:05,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2020-07-28 19:11:05,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:11:05,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2020-07-28 19:11:05,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2020-07-28 19:11:05,970 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:05,975 INFO L225 Difference]: With dead ends: 76 [2020-07-28 19:11:05,976 INFO L226 Difference]: Without dead ends: 72 [2020-07-28 19:11:05,977 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 82 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:11:05,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2020-07-28 19:11:06,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 51. [2020-07-28 19:11:06,013 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:06,013 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 51 states. [2020-07-28 19:11:06,013 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 51 states. [2020-07-28 19:11:06,013 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 51 states. [2020-07-28 19:11:06,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:06,023 INFO L93 Difference]: Finished difference Result 72 states and 159 transitions. [2020-07-28 19:11:06,023 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 159 transitions. [2020-07-28 19:11:06,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:06,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:06,025 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 72 states. [2020-07-28 19:11:06,025 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 72 states. [2020-07-28 19:11:06,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:06,034 INFO L93 Difference]: Finished difference Result 72 states and 159 transitions. [2020-07-28 19:11:06,034 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 159 transitions. [2020-07-28 19:11:06,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:06,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:06,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:06,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:06,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2020-07-28 19:11:06,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 94 transitions. [2020-07-28 19:11:06,042 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 94 transitions. Word has length 46 [2020-07-28 19:11:06,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:06,042 INFO L479 AbstractCegarLoop]: Abstraction has 51 states and 94 transitions. [2020-07-28 19:11:06,042 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:11:06,043 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 94 transitions. [2020-07-28 19:11:06,044 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2020-07-28 19:11:06,044 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:06,044 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:06,265 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 mathsat -unsat_core_generation=3 [2020-07-28 19:11:06,266 INFO L427 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:06,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:06,266 INFO L82 PathProgramCache]: Analyzing trace with hash -435942218, now seen corresponding path program 1 times [2020-07-28 19:11:06,267 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:06,267 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1258839756] [2020-07-28 19:11:06,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 10 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:06,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:06,315 INFO L263 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:11:06,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:06,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:06,419 INFO L280 TraceCheckUtils]: 0: Hoare triple {3040#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {3045#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:11:06,419 INFO L263 TraceCheckUtils]: 1: Hoare triple {3045#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {3040#true} is VALID [2020-07-28 19:11:06,420 INFO L280 TraceCheckUtils]: 2: Hoare triple {3040#true} ~n := #in~n; {3052#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:06,420 INFO L280 TraceCheckUtils]: 3: Hoare triple {3052#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {3052#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:06,421 INFO L280 TraceCheckUtils]: 4: Hoare triple {3052#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {3052#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:06,421 INFO L263 TraceCheckUtils]: 5: Hoare triple {3052#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3040#true} is VALID [2020-07-28 19:11:06,421 INFO L280 TraceCheckUtils]: 6: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,421 INFO L280 TraceCheckUtils]: 7: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,421 INFO L280 TraceCheckUtils]: 8: Hoare triple {3040#true} assume !(1bv32 == ~n); {3040#true} is VALID [2020-07-28 19:11:06,421 INFO L263 TraceCheckUtils]: 9: Hoare triple {3040#true} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {3040#true} is VALID [2020-07-28 19:11:06,422 INFO L280 TraceCheckUtils]: 10: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,422 INFO L280 TraceCheckUtils]: 11: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,422 INFO L280 TraceCheckUtils]: 12: Hoare triple {3040#true} assume !(1bv32 == ~n); {3040#true} is VALID [2020-07-28 19:11:06,422 INFO L263 TraceCheckUtils]: 13: Hoare triple {3040#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3040#true} is VALID [2020-07-28 19:11:06,422 INFO L280 TraceCheckUtils]: 14: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,422 INFO L280 TraceCheckUtils]: 15: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,422 INFO L280 TraceCheckUtils]: 16: Hoare triple {3040#true} assume 1bv32 == ~n;#res := 1bv32; {3040#true} is VALID [2020-07-28 19:11:06,423 INFO L280 TraceCheckUtils]: 17: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,423 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {3040#true} {3040#true} #50#return; {3040#true} is VALID [2020-07-28 19:11:06,423 INFO L263 TraceCheckUtils]: 19: Hoare triple {3040#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3040#true} is VALID [2020-07-28 19:11:06,423 INFO L280 TraceCheckUtils]: 20: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,423 INFO L280 TraceCheckUtils]: 21: Hoare triple {3040#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3040#true} is VALID [2020-07-28 19:11:06,423 INFO L280 TraceCheckUtils]: 22: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,423 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {3040#true} {3040#true} #52#return; {3040#true} is VALID [2020-07-28 19:11:06,424 INFO L280 TraceCheckUtils]: 24: Hoare triple {3040#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3040#true} is VALID [2020-07-28 19:11:06,424 INFO L280 TraceCheckUtils]: 25: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,424 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {3040#true} {3040#true} #46#return; {3040#true} is VALID [2020-07-28 19:11:06,424 INFO L263 TraceCheckUtils]: 27: Hoare triple {3040#true} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {3040#true} is VALID [2020-07-28 19:11:06,424 INFO L280 TraceCheckUtils]: 28: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,424 INFO L280 TraceCheckUtils]: 29: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,424 INFO L280 TraceCheckUtils]: 30: Hoare triple {3040#true} assume 1bv32 == ~n;#res := 1bv32; {3040#true} is VALID [2020-07-28 19:11:06,425 INFO L280 TraceCheckUtils]: 31: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,425 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3040#true} {3040#true} #48#return; {3040#true} is VALID [2020-07-28 19:11:06,425 INFO L280 TraceCheckUtils]: 33: Hoare triple {3040#true} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {3040#true} is VALID [2020-07-28 19:11:06,425 INFO L280 TraceCheckUtils]: 34: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,426 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {3040#true} {3052#(= |fibo1_#in~n| fibo1_~n)} #50#return; {3052#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:06,426 INFO L263 TraceCheckUtils]: 36: Hoare triple {3052#(= |fibo1_#in~n| fibo1_~n)} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3040#true} is VALID [2020-07-28 19:11:06,426 INFO L280 TraceCheckUtils]: 37: Hoare triple {3040#true} ~n := #in~n; {3158#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:06,427 INFO L280 TraceCheckUtils]: 38: Hoare triple {3158#(= |fibo2_#in~n| fibo2_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:06,427 INFO L280 TraceCheckUtils]: 39: Hoare triple {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:06,428 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} {3052#(= |fibo1_#in~n| fibo1_~n)} #52#return; {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:06,429 INFO L280 TraceCheckUtils]: 41: Hoare triple {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:06,430 INFO L280 TraceCheckUtils]: 42: Hoare triple {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:06,431 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {3045#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {3041#false} is VALID [2020-07-28 19:11:06,431 INFO L280 TraceCheckUtils]: 44: Hoare triple {3041#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {3041#false} is VALID [2020-07-28 19:11:06,431 INFO L280 TraceCheckUtils]: 45: Hoare triple {3041#false} assume 3bv32 == main_~result~0; {3041#false} is VALID [2020-07-28 19:11:06,432 INFO L280 TraceCheckUtils]: 46: Hoare triple {3041#false} assume !false; {3041#false} is VALID [2020-07-28 19:11:06,434 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 15 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2020-07-28 19:11:06,434 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:06,712 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:06,871 INFO L280 TraceCheckUtils]: 46: Hoare triple {3041#false} assume !false; {3041#false} is VALID [2020-07-28 19:11:06,872 INFO L280 TraceCheckUtils]: 45: Hoare triple {3041#false} assume 3bv32 == main_~result~0; {3041#false} is VALID [2020-07-28 19:11:06,872 INFO L280 TraceCheckUtils]: 44: Hoare triple {3041#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {3041#false} is VALID [2020-07-28 19:11:06,874 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {3197#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv1 32)))} #44#return; {3041#false} is VALID [2020-07-28 19:11:06,874 INFO L280 TraceCheckUtils]: 42: Hoare triple {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:06,875 INFO L280 TraceCheckUtils]: 41: Hoare triple {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:06,877 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} #52#return; {3169#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:11:06,877 INFO L280 TraceCheckUtils]: 39: Hoare triple {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:06,878 INFO L280 TraceCheckUtils]: 38: Hoare triple {3220#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3162#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:11:06,879 INFO L280 TraceCheckUtils]: 37: Hoare triple {3040#true} ~n := #in~n; {3220#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} is VALID [2020-07-28 19:11:06,879 INFO L263 TraceCheckUtils]: 36: Hoare triple {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3040#true} is VALID [2020-07-28 19:11:06,880 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {3040#true} {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} #50#return; {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:11:06,881 INFO L280 TraceCheckUtils]: 34: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,881 INFO L280 TraceCheckUtils]: 33: Hoare triple {3040#true} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {3040#true} is VALID [2020-07-28 19:11:06,881 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3040#true} {3040#true} #48#return; {3040#true} is VALID [2020-07-28 19:11:06,881 INFO L280 TraceCheckUtils]: 31: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,882 INFO L280 TraceCheckUtils]: 30: Hoare triple {3040#true} assume 1bv32 == ~n;#res := 1bv32; {3040#true} is VALID [2020-07-28 19:11:06,882 INFO L280 TraceCheckUtils]: 29: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,882 INFO L280 TraceCheckUtils]: 28: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,882 INFO L263 TraceCheckUtils]: 27: Hoare triple {3040#true} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {3040#true} is VALID [2020-07-28 19:11:06,882 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {3040#true} {3040#true} #46#return; {3040#true} is VALID [2020-07-28 19:11:06,883 INFO L280 TraceCheckUtils]: 25: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,883 INFO L280 TraceCheckUtils]: 24: Hoare triple {3040#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3040#true} is VALID [2020-07-28 19:11:06,884 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {3040#true} {3040#true} #52#return; {3040#true} is VALID [2020-07-28 19:11:06,884 INFO L280 TraceCheckUtils]: 22: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,884 INFO L280 TraceCheckUtils]: 21: Hoare triple {3040#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3040#true} is VALID [2020-07-28 19:11:06,885 INFO L280 TraceCheckUtils]: 20: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,885 INFO L263 TraceCheckUtils]: 19: Hoare triple {3040#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3040#true} is VALID [2020-07-28 19:11:06,885 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {3040#true} {3040#true} #50#return; {3040#true} is VALID [2020-07-28 19:11:06,890 INFO L280 TraceCheckUtils]: 17: Hoare triple {3040#true} assume true; {3040#true} is VALID [2020-07-28 19:11:06,891 INFO L280 TraceCheckUtils]: 16: Hoare triple {3040#true} assume 1bv32 == ~n;#res := 1bv32; {3040#true} is VALID [2020-07-28 19:11:06,891 INFO L280 TraceCheckUtils]: 15: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,891 INFO L280 TraceCheckUtils]: 14: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,891 INFO L263 TraceCheckUtils]: 13: Hoare triple {3040#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3040#true} is VALID [2020-07-28 19:11:06,892 INFO L280 TraceCheckUtils]: 12: Hoare triple {3040#true} assume !(1bv32 == ~n); {3040#true} is VALID [2020-07-28 19:11:06,892 INFO L280 TraceCheckUtils]: 11: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,892 INFO L280 TraceCheckUtils]: 10: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,892 INFO L263 TraceCheckUtils]: 9: Hoare triple {3040#true} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {3040#true} is VALID [2020-07-28 19:11:06,893 INFO L280 TraceCheckUtils]: 8: Hoare triple {3040#true} assume !(1bv32 == ~n); {3040#true} is VALID [2020-07-28 19:11:06,893 INFO L280 TraceCheckUtils]: 7: Hoare triple {3040#true} assume !~bvslt32(~n, 1bv32); {3040#true} is VALID [2020-07-28 19:11:06,893 INFO L280 TraceCheckUtils]: 6: Hoare triple {3040#true} ~n := #in~n; {3040#true} is VALID [2020-07-28 19:11:06,899 INFO L263 TraceCheckUtils]: 5: Hoare triple {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3040#true} is VALID [2020-07-28 19:11:06,911 INFO L280 TraceCheckUtils]: 4: Hoare triple {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:11:06,915 INFO L280 TraceCheckUtils]: 3: Hoare triple {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:11:06,916 INFO L280 TraceCheckUtils]: 2: Hoare triple {3040#true} ~n := #in~n; {3210#(or (not (bvslt (bvadd fibo1_~n (_ bv4294967294 32)) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:11:06,916 INFO L263 TraceCheckUtils]: 1: Hoare triple {3197#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv1 32)))} call main_#t~ret4 := fibo1(main_~x~0); {3040#true} is VALID [2020-07-28 19:11:06,917 INFO L280 TraceCheckUtils]: 0: Hoare triple {3040#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {3197#(not (bvslt (bvadd ULTIMATE.start_main_~x~0 (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:11:06,919 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 15 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2020-07-28 19:11:06,919 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1258839756] [2020-07-28 19:11:06,920 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:06,920 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2020-07-28 19:11:06,920 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [38207988] [2020-07-28 19:11:06,921 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 47 [2020-07-28 19:11:06,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:06,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 19:11:07,012 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:07,013 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 19:11:07,013 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:07,013 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 19:11:07,013 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:11:07,014 INFO L87 Difference]: Start difference. First operand 51 states and 94 transitions. Second operand 10 states. [2020-07-28 19:11:07,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:07,698 INFO L93 Difference]: Finished difference Result 67 states and 121 transitions. [2020-07-28 19:11:07,698 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:11:07,698 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 47 [2020-07-28 19:11:07,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:07,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:11:07,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2020-07-28 19:11:07,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:11:07,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2020-07-28 19:11:07,712 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 39 transitions. [2020-07-28 19:11:07,785 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:07,788 INFO L225 Difference]: With dead ends: 67 [2020-07-28 19:11:07,788 INFO L226 Difference]: Without dead ends: 63 [2020-07-28 19:11:07,788 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:11:07,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2020-07-28 19:11:07,810 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 51. [2020-07-28 19:11:07,810 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:07,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 51 states. [2020-07-28 19:11:07,810 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 51 states. [2020-07-28 19:11:07,810 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 51 states. [2020-07-28 19:11:07,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:07,817 INFO L93 Difference]: Finished difference Result 63 states and 117 transitions. [2020-07-28 19:11:07,817 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 117 transitions. [2020-07-28 19:11:07,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:07,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:07,819 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 63 states. [2020-07-28 19:11:07,819 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 63 states. [2020-07-28 19:11:07,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:07,824 INFO L93 Difference]: Finished difference Result 63 states and 117 transitions. [2020-07-28 19:11:07,824 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 117 transitions. [2020-07-28 19:11:07,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:07,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:07,826 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:07,826 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:07,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2020-07-28 19:11:07,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 94 transitions. [2020-07-28 19:11:07,830 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 94 transitions. Word has length 47 [2020-07-28 19:11:07,830 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:07,830 INFO L479 AbstractCegarLoop]: Abstraction has 51 states and 94 transitions. [2020-07-28 19:11:07,831 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 19:11:07,831 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 94 transitions. [2020-07-28 19:11:07,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-28 19:11:07,832 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:07,832 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:08,055 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 mathsat -unsat_core_generation=3 [2020-07-28 19:11:08,056 INFO L427 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:08,056 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:08,056 INFO L82 PathProgramCache]: Analyzing trace with hash -665066493, now seen corresponding path program 2 times [2020-07-28 19:11:08,057 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:08,057 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1243261068] [2020-07-28 19:11:08,057 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 11 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:08,088 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:11:08,088 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:11:08,090 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:11:08,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:08,103 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:08,182 INFO L280 TraceCheckUtils]: 0: Hoare triple {3602#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {3607#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:11:08,182 INFO L263 TraceCheckUtils]: 1: Hoare triple {3607#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {3602#true} is VALID [2020-07-28 19:11:08,183 INFO L280 TraceCheckUtils]: 2: Hoare triple {3602#true} ~n := #in~n; {3614#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:08,184 INFO L280 TraceCheckUtils]: 3: Hoare triple {3614#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {3614#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:08,184 INFO L280 TraceCheckUtils]: 4: Hoare triple {3614#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {3614#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:08,185 INFO L263 TraceCheckUtils]: 5: Hoare triple {3614#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3602#true} is VALID [2020-07-28 19:11:08,185 INFO L280 TraceCheckUtils]: 6: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,185 INFO L280 TraceCheckUtils]: 7: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,185 INFO L280 TraceCheckUtils]: 8: Hoare triple {3602#true} assume !(1bv32 == ~n); {3602#true} is VALID [2020-07-28 19:11:08,185 INFO L263 TraceCheckUtils]: 9: Hoare triple {3602#true} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {3602#true} is VALID [2020-07-28 19:11:08,185 INFO L280 TraceCheckUtils]: 10: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,185 INFO L280 TraceCheckUtils]: 11: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,186 INFO L280 TraceCheckUtils]: 12: Hoare triple {3602#true} assume !(1bv32 == ~n); {3602#true} is VALID [2020-07-28 19:11:08,186 INFO L263 TraceCheckUtils]: 13: Hoare triple {3602#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3602#true} is VALID [2020-07-28 19:11:08,186 INFO L280 TraceCheckUtils]: 14: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,186 INFO L280 TraceCheckUtils]: 15: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,186 INFO L280 TraceCheckUtils]: 16: Hoare triple {3602#true} assume 1bv32 == ~n;#res := 1bv32; {3602#true} is VALID [2020-07-28 19:11:08,186 INFO L280 TraceCheckUtils]: 17: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,186 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {3602#true} {3602#true} #50#return; {3602#true} is VALID [2020-07-28 19:11:08,187 INFO L263 TraceCheckUtils]: 19: Hoare triple {3602#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3602#true} is VALID [2020-07-28 19:11:08,187 INFO L280 TraceCheckUtils]: 20: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,187 INFO L280 TraceCheckUtils]: 21: Hoare triple {3602#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3602#true} is VALID [2020-07-28 19:11:08,187 INFO L280 TraceCheckUtils]: 22: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,187 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {3602#true} {3602#true} #52#return; {3602#true} is VALID [2020-07-28 19:11:08,187 INFO L280 TraceCheckUtils]: 24: Hoare triple {3602#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3602#true} is VALID [2020-07-28 19:11:08,187 INFO L280 TraceCheckUtils]: 25: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {3602#true} {3602#true} #46#return; {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L263 TraceCheckUtils]: 27: Hoare triple {3602#true} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L280 TraceCheckUtils]: 28: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L280 TraceCheckUtils]: 29: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L280 TraceCheckUtils]: 30: Hoare triple {3602#true} assume 1bv32 == ~n;#res := 1bv32; {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L280 TraceCheckUtils]: 31: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3602#true} {3602#true} #48#return; {3602#true} is VALID [2020-07-28 19:11:08,188 INFO L280 TraceCheckUtils]: 33: Hoare triple {3602#true} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {3602#true} is VALID [2020-07-28 19:11:08,189 INFO L280 TraceCheckUtils]: 34: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,189 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {3602#true} {3614#(= |fibo1_#in~n| fibo1_~n)} #50#return; {3614#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:08,190 INFO L263 TraceCheckUtils]: 36: Hoare triple {3614#(= |fibo1_#in~n| fibo1_~n)} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3602#true} is VALID [2020-07-28 19:11:08,190 INFO L280 TraceCheckUtils]: 37: Hoare triple {3602#true} ~n := #in~n; {3720#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:08,190 INFO L280 TraceCheckUtils]: 38: Hoare triple {3720#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {3720#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:08,191 INFO L280 TraceCheckUtils]: 39: Hoare triple {3720#(= |fibo2_#in~n| fibo2_~n)} assume 1bv32 == ~n;#res := 1bv32; {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,191 INFO L280 TraceCheckUtils]: 40: Hoare triple {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,192 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {3614#(= |fibo1_#in~n| fibo1_~n)} #52#return; {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,193 INFO L280 TraceCheckUtils]: 42: Hoare triple {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,193 INFO L280 TraceCheckUtils]: 43: Hoare triple {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,194 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {3607#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {3603#false} is VALID [2020-07-28 19:11:08,195 INFO L280 TraceCheckUtils]: 45: Hoare triple {3603#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {3603#false} is VALID [2020-07-28 19:11:08,195 INFO L280 TraceCheckUtils]: 46: Hoare triple {3603#false} assume 3bv32 == main_~result~0; {3603#false} is VALID [2020-07-28 19:11:08,195 INFO L280 TraceCheckUtils]: 47: Hoare triple {3603#false} assume !false; {3603#false} is VALID [2020-07-28 19:11:08,196 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 17 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2020-07-28 19:11:08,196 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:08,389 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:08,557 INFO L280 TraceCheckUtils]: 47: Hoare triple {3603#false} assume !false; {3603#false} is VALID [2020-07-28 19:11:08,557 INFO L280 TraceCheckUtils]: 46: Hoare triple {3603#false} assume 3bv32 == main_~result~0; {3603#false} is VALID [2020-07-28 19:11:08,557 INFO L280 TraceCheckUtils]: 45: Hoare triple {3603#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {3603#false} is VALID [2020-07-28 19:11:08,558 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {3762#(not (= (_ bv3 32) ULTIMATE.start_main_~x~0))} #44#return; {3603#false} is VALID [2020-07-28 19:11:08,559 INFO L280 TraceCheckUtils]: 43: Hoare triple {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,559 INFO L280 TraceCheckUtils]: 42: Hoare triple {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,560 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} #52#return; {3734#(= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,560 INFO L280 TraceCheckUtils]: 40: Hoare triple {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,561 INFO L280 TraceCheckUtils]: 39: Hoare triple {3785#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} assume 1bv32 == ~n;#res := 1bv32; {3727#(= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:08,561 INFO L280 TraceCheckUtils]: 38: Hoare triple {3785#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} assume !~bvslt32(~n, 1bv32); {3785#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} is VALID [2020-07-28 19:11:08,562 INFO L280 TraceCheckUtils]: 37: Hoare triple {3602#true} ~n := #in~n; {3785#(or (= (bvadd |fibo2_#in~n| (_ bv4294967295 32)) (_ bv0 32)) (not (= (_ bv1 32) fibo2_~n)))} is VALID [2020-07-28 19:11:08,562 INFO L263 TraceCheckUtils]: 36: Hoare triple {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3602#true} is VALID [2020-07-28 19:11:08,563 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {3602#true} {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} #50#return; {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:08,563 INFO L280 TraceCheckUtils]: 34: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,563 INFO L280 TraceCheckUtils]: 33: Hoare triple {3602#true} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {3602#true} is VALID [2020-07-28 19:11:08,563 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3602#true} {3602#true} #48#return; {3602#true} is VALID [2020-07-28 19:11:08,563 INFO L280 TraceCheckUtils]: 31: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,563 INFO L280 TraceCheckUtils]: 30: Hoare triple {3602#true} assume 1bv32 == ~n;#res := 1bv32; {3602#true} is VALID [2020-07-28 19:11:08,563 INFO L280 TraceCheckUtils]: 29: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,564 INFO L280 TraceCheckUtils]: 28: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,564 INFO L263 TraceCheckUtils]: 27: Hoare triple {3602#true} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {3602#true} is VALID [2020-07-28 19:11:08,564 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {3602#true} {3602#true} #46#return; {3602#true} is VALID [2020-07-28 19:11:08,564 INFO L280 TraceCheckUtils]: 25: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,564 INFO L280 TraceCheckUtils]: 24: Hoare triple {3602#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {3602#true} is VALID [2020-07-28 19:11:08,564 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {3602#true} {3602#true} #52#return; {3602#true} is VALID [2020-07-28 19:11:08,564 INFO L280 TraceCheckUtils]: 22: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L280 TraceCheckUtils]: 21: Hoare triple {3602#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L280 TraceCheckUtils]: 20: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L263 TraceCheckUtils]: 19: Hoare triple {3602#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {3602#true} {3602#true} #50#return; {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L280 TraceCheckUtils]: 17: Hoare triple {3602#true} assume true; {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L280 TraceCheckUtils]: 16: Hoare triple {3602#true} assume 1bv32 == ~n;#res := 1bv32; {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L280 TraceCheckUtils]: 15: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,565 INFO L280 TraceCheckUtils]: 14: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,566 INFO L263 TraceCheckUtils]: 13: Hoare triple {3602#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3602#true} is VALID [2020-07-28 19:11:08,566 INFO L280 TraceCheckUtils]: 12: Hoare triple {3602#true} assume !(1bv32 == ~n); {3602#true} is VALID [2020-07-28 19:11:08,566 INFO L280 TraceCheckUtils]: 11: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,566 INFO L280 TraceCheckUtils]: 10: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,566 INFO L263 TraceCheckUtils]: 9: Hoare triple {3602#true} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {3602#true} is VALID [2020-07-28 19:11:08,566 INFO L280 TraceCheckUtils]: 8: Hoare triple {3602#true} assume !(1bv32 == ~n); {3602#true} is VALID [2020-07-28 19:11:08,566 INFO L280 TraceCheckUtils]: 7: Hoare triple {3602#true} assume !~bvslt32(~n, 1bv32); {3602#true} is VALID [2020-07-28 19:11:08,567 INFO L280 TraceCheckUtils]: 6: Hoare triple {3602#true} ~n := #in~n; {3602#true} is VALID [2020-07-28 19:11:08,567 INFO L263 TraceCheckUtils]: 5: Hoare triple {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {3602#true} is VALID [2020-07-28 19:11:08,567 INFO L280 TraceCheckUtils]: 4: Hoare triple {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} assume !(1bv32 == ~n); {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:08,568 INFO L280 TraceCheckUtils]: 3: Hoare triple {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:08,568 INFO L280 TraceCheckUtils]: 2: Hoare triple {3602#true} ~n := #in~n; {3775#(or (not (= (bvadd fibo1_~n (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:08,568 INFO L263 TraceCheckUtils]: 1: Hoare triple {3762#(not (= (_ bv3 32) ULTIMATE.start_main_~x~0))} call main_#t~ret4 := fibo1(main_~x~0); {3602#true} is VALID [2020-07-28 19:11:08,569 INFO L280 TraceCheckUtils]: 0: Hoare triple {3602#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {3762#(not (= (_ bv3 32) ULTIMATE.start_main_~x~0))} is VALID [2020-07-28 19:11:08,571 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 17 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2020-07-28 19:11:08,571 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1243261068] [2020-07-28 19:11:08,571 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:08,571 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2020-07-28 19:11:08,571 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [340956255] [2020-07-28 19:11:08,572 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 48 [2020-07-28 19:11:08,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:08,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 19:11:08,638 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:08,639 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 19:11:08,639 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:08,639 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 19:11:08,639 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:11:08,639 INFO L87 Difference]: Start difference. First operand 51 states and 94 transitions. Second operand 10 states. [2020-07-28 19:11:09,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:09,198 INFO L93 Difference]: Finished difference Result 67 states and 121 transitions. [2020-07-28 19:11:09,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:11:09,198 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 48 [2020-07-28 19:11:09,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:09,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:11:09,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2020-07-28 19:11:09,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:11:09,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2020-07-28 19:11:09,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 39 transitions. [2020-07-28 19:11:09,269 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:09,271 INFO L225 Difference]: With dead ends: 67 [2020-07-28 19:11:09,271 INFO L226 Difference]: Without dead ends: 63 [2020-07-28 19:11:09,272 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 85 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:11:09,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2020-07-28 19:11:09,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 51. [2020-07-28 19:11:09,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:09,300 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 51 states. [2020-07-28 19:11:09,300 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 51 states. [2020-07-28 19:11:09,301 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 51 states. [2020-07-28 19:11:09,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:09,308 INFO L93 Difference]: Finished difference Result 63 states and 117 transitions. [2020-07-28 19:11:09,308 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 117 transitions. [2020-07-28 19:11:09,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:09,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:09,309 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 63 states. [2020-07-28 19:11:09,309 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 63 states. [2020-07-28 19:11:09,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:09,313 INFO L93 Difference]: Finished difference Result 63 states and 117 transitions. [2020-07-28 19:11:09,313 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 117 transitions. [2020-07-28 19:11:09,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:09,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:09,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:09,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:09,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2020-07-28 19:11:09,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 94 transitions. [2020-07-28 19:11:09,319 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 94 transitions. Word has length 48 [2020-07-28 19:11:09,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:09,319 INFO L479 AbstractCegarLoop]: Abstraction has 51 states and 94 transitions. [2020-07-28 19:11:09,319 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 19:11:09,320 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 94 transitions. [2020-07-28 19:11:09,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-28 19:11:09,322 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:09,322 INFO L422 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:09,534 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 mathsat -unsat_core_generation=3 [2020-07-28 19:11:09,535 INFO L427 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:09,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:09,535 INFO L82 PathProgramCache]: Analyzing trace with hash 1104522773, now seen corresponding path program 1 times [2020-07-28 19:11:09,536 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:09,536 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [339705132] [2020-07-28 19:11:09,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 12 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:09,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:09,579 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:11:09,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:09,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:09,753 INFO L280 TraceCheckUtils]: 0: Hoare triple {4170#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {4175#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:11:09,753 INFO L263 TraceCheckUtils]: 1: Hoare triple {4175#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {4170#true} is VALID [2020-07-28 19:11:09,754 INFO L280 TraceCheckUtils]: 2: Hoare triple {4170#true} ~n := #in~n; {4182#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:09,754 INFO L280 TraceCheckUtils]: 3: Hoare triple {4182#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {4182#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:09,755 INFO L280 TraceCheckUtils]: 4: Hoare triple {4182#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {4182#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:09,755 INFO L263 TraceCheckUtils]: 5: Hoare triple {4182#(= |fibo1_#in~n| fibo1_~n)} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:09,755 INFO L280 TraceCheckUtils]: 6: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,755 INFO L280 TraceCheckUtils]: 7: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:09,755 INFO L280 TraceCheckUtils]: 8: Hoare triple {4170#true} assume !(1bv32 == ~n); {4170#true} is VALID [2020-07-28 19:11:09,755 INFO L263 TraceCheckUtils]: 9: Hoare triple {4170#true} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:09,756 INFO L280 TraceCheckUtils]: 10: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,756 INFO L280 TraceCheckUtils]: 11: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:09,756 INFO L280 TraceCheckUtils]: 12: Hoare triple {4170#true} assume !(1bv32 == ~n); {4170#true} is VALID [2020-07-28 19:11:09,756 INFO L263 TraceCheckUtils]: 13: Hoare triple {4170#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:09,756 INFO L280 TraceCheckUtils]: 14: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,756 INFO L280 TraceCheckUtils]: 15: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:09,756 INFO L280 TraceCheckUtils]: 16: Hoare triple {4170#true} assume 1bv32 == ~n;#res := 1bv32; {4170#true} is VALID [2020-07-28 19:11:09,757 INFO L280 TraceCheckUtils]: 17: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,757 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {4170#true} {4170#true} #50#return; {4170#true} is VALID [2020-07-28 19:11:09,757 INFO L263 TraceCheckUtils]: 19: Hoare triple {4170#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:09,757 INFO L280 TraceCheckUtils]: 20: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,757 INFO L280 TraceCheckUtils]: 21: Hoare triple {4170#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4170#true} is VALID [2020-07-28 19:11:09,757 INFO L280 TraceCheckUtils]: 22: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,758 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {4170#true} {4170#true} #52#return; {4170#true} is VALID [2020-07-28 19:11:09,758 INFO L280 TraceCheckUtils]: 24: Hoare triple {4170#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {4170#true} is VALID [2020-07-28 19:11:09,758 INFO L280 TraceCheckUtils]: 25: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,759 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {4170#true} {4170#true} #46#return; {4170#true} is VALID [2020-07-28 19:11:09,759 INFO L263 TraceCheckUtils]: 27: Hoare triple {4170#true} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:09,759 INFO L280 TraceCheckUtils]: 28: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,759 INFO L280 TraceCheckUtils]: 29: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:09,759 INFO L280 TraceCheckUtils]: 30: Hoare triple {4170#true} assume 1bv32 == ~n;#res := 1bv32; {4170#true} is VALID [2020-07-28 19:11:09,759 INFO L280 TraceCheckUtils]: 31: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,760 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {4170#true} {4170#true} #48#return; {4170#true} is VALID [2020-07-28 19:11:09,760 INFO L280 TraceCheckUtils]: 33: Hoare triple {4170#true} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {4170#true} is VALID [2020-07-28 19:11:09,760 INFO L280 TraceCheckUtils]: 34: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,762 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {4170#true} {4182#(= |fibo1_#in~n| fibo1_~n)} #50#return; {4182#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:09,762 INFO L263 TraceCheckUtils]: 36: Hoare triple {4182#(= |fibo1_#in~n| fibo1_~n)} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:09,763 INFO L280 TraceCheckUtils]: 37: Hoare triple {4170#true} ~n := #in~n; {4288#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:09,764 INFO L280 TraceCheckUtils]: 38: Hoare triple {4288#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {4288#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:09,764 INFO L280 TraceCheckUtils]: 39: Hoare triple {4288#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {4288#(= |fibo2_#in~n| fibo2_~n)} is VALID [2020-07-28 19:11:09,765 INFO L263 TraceCheckUtils]: 40: Hoare triple {4288#(= |fibo2_#in~n| fibo2_~n)} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:09,765 INFO L280 TraceCheckUtils]: 41: Hoare triple {4170#true} ~n := #in~n; {4182#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:09,766 INFO L280 TraceCheckUtils]: 42: Hoare triple {4182#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {4182#(= |fibo1_#in~n| fibo1_~n)} is VALID [2020-07-28 19:11:09,767 INFO L280 TraceCheckUtils]: 43: Hoare triple {4182#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:09,767 INFO L263 TraceCheckUtils]: 44: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:09,767 INFO L280 TraceCheckUtils]: 45: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,768 INFO L280 TraceCheckUtils]: 46: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:09,768 INFO L280 TraceCheckUtils]: 47: Hoare triple {4170#true} assume 1bv32 == ~n;#res := 1bv32; {4170#true} is VALID [2020-07-28 19:11:09,768 INFO L280 TraceCheckUtils]: 48: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,769 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {4170#true} {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #50#return; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:09,769 INFO L263 TraceCheckUtils]: 50: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:09,769 INFO L280 TraceCheckUtils]: 51: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,770 INFO L280 TraceCheckUtils]: 52: Hoare triple {4170#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4170#true} is VALID [2020-07-28 19:11:09,770 INFO L280 TraceCheckUtils]: 53: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,771 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {4170#true} {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #52#return; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:09,772 INFO L280 TraceCheckUtils]: 55: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:09,773 INFO L280 TraceCheckUtils]: 56: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:09,774 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} {4288#(= |fibo2_#in~n| fibo2_~n)} #46#return; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:09,774 INFO L263 TraceCheckUtils]: 58: Hoare triple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:09,774 INFO L280 TraceCheckUtils]: 59: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:09,775 INFO L280 TraceCheckUtils]: 60: Hoare triple {4170#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4170#true} is VALID [2020-07-28 19:11:09,775 INFO L280 TraceCheckUtils]: 61: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:09,776 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {4170#true} {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} #48#return; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:09,777 INFO L280 TraceCheckUtils]: 63: Hoare triple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:09,778 INFO L280 TraceCheckUtils]: 64: Hoare triple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} assume true; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:09,779 INFO L275 TraceCheckUtils]: 65: Hoare quadruple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} {4182#(= |fibo1_#in~n| fibo1_~n)} #52#return; {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} is VALID [2020-07-28 19:11:09,780 INFO L280 TraceCheckUtils]: 66: Hoare triple {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} is VALID [2020-07-28 19:11:09,781 INFO L280 TraceCheckUtils]: 67: Hoare triple {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} assume true; {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} is VALID [2020-07-28 19:11:09,782 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} {4175#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {4171#false} is VALID [2020-07-28 19:11:09,782 INFO L280 TraceCheckUtils]: 69: Hoare triple {4171#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {4171#false} is VALID [2020-07-28 19:11:09,782 INFO L280 TraceCheckUtils]: 70: Hoare triple {4171#false} assume 3bv32 == main_~result~0; {4171#false} is VALID [2020-07-28 19:11:09,782 INFO L280 TraceCheckUtils]: 71: Hoare triple {4171#false} assume !false; {4171#false} is VALID [2020-07-28 19:11:09,785 INFO L134 CoverageAnalysis]: Checked inductivity of 124 backedges. 37 proven. 17 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2020-07-28 19:11:09,786 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:10,365 INFO L280 TraceCheckUtils]: 71: Hoare triple {4171#false} assume !false; {4171#false} is VALID [2020-07-28 19:11:10,365 INFO L280 TraceCheckUtils]: 70: Hoare triple {4171#false} assume 3bv32 == main_~result~0; {4171#false} is VALID [2020-07-28 19:11:10,365 INFO L280 TraceCheckUtils]: 69: Hoare triple {4171#false} main_~result~0 := main_#t~ret4;havoc main_#t~ret4; {4171#false} is VALID [2020-07-28 19:11:10,366 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} {4175#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} #44#return; {4171#false} is VALID [2020-07-28 19:11:10,367 INFO L280 TraceCheckUtils]: 67: Hoare triple {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} assume true; {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} is VALID [2020-07-28 19:11:10,368 INFO L280 TraceCheckUtils]: 66: Hoare triple {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} is VALID [2020-07-28 19:11:10,369 INFO L275 TraceCheckUtils]: 65: Hoare quadruple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} #52#return; {4375#(not (= (_ bv4 32) |fibo1_#in~n|))} is VALID [2020-07-28 19:11:10,369 INFO L280 TraceCheckUtils]: 64: Hoare triple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} assume true; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:10,370 INFO L280 TraceCheckUtils]: 63: Hoare triple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:10,370 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {4170#true} {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} #48#return; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:10,371 INFO L280 TraceCheckUtils]: 61: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,371 INFO L280 TraceCheckUtils]: 60: Hoare triple {4170#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4170#true} is VALID [2020-07-28 19:11:10,371 INFO L280 TraceCheckUtils]: 59: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,371 INFO L263 TraceCheckUtils]: 58: Hoare triple {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:10,372 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} {4443#(or (= (_ bv2 32) fibo2_~n) (not (= (_ bv2 32) |fibo2_#in~n|)))} #46#return; {4350#(not (= (_ bv2 32) |fibo2_#in~n|))} is VALID [2020-07-28 19:11:10,372 INFO L280 TraceCheckUtils]: 56: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,373 INFO L280 TraceCheckUtils]: 55: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,374 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {4170#true} {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #52#return; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,374 INFO L280 TraceCheckUtils]: 53: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,374 INFO L280 TraceCheckUtils]: 52: Hoare triple {4170#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4170#true} is VALID [2020-07-28 19:11:10,374 INFO L280 TraceCheckUtils]: 51: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,375 INFO L263 TraceCheckUtils]: 50: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:10,376 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {4170#true} {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #50#return; {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,376 INFO L280 TraceCheckUtils]: 48: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,376 INFO L280 TraceCheckUtils]: 47: Hoare triple {4170#true} assume 1bv32 == ~n;#res := 1bv32; {4170#true} is VALID [2020-07-28 19:11:10,376 INFO L280 TraceCheckUtils]: 46: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:10,376 INFO L280 TraceCheckUtils]: 45: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,376 INFO L263 TraceCheckUtils]: 44: Hoare triple {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:10,377 INFO L280 TraceCheckUtils]: 43: Hoare triple {4489#(or (= (_ bv1 32) fibo1_~n) (not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))))} assume !(1bv32 == ~n); {4307#(not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,377 INFO L280 TraceCheckUtils]: 42: Hoare triple {4489#(or (= (_ bv1 32) fibo1_~n) (not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))))} assume !~bvslt32(~n, 1bv32); {4489#(or (= (_ bv1 32) fibo1_~n) (not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:10,378 INFO L280 TraceCheckUtils]: 41: Hoare triple {4170#true} ~n := #in~n; {4489#(or (= (_ bv1 32) fibo1_~n) (not (= (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:10,378 INFO L263 TraceCheckUtils]: 40: Hoare triple {4443#(or (= (_ bv2 32) fibo2_~n) (not (= (_ bv2 32) |fibo2_#in~n|)))} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:10,378 INFO L280 TraceCheckUtils]: 39: Hoare triple {4443#(or (= (_ bv2 32) fibo2_~n) (not (= (_ bv2 32) |fibo2_#in~n|)))} assume !(1bv32 == ~n); {4443#(or (= (_ bv2 32) fibo2_~n) (not (= (_ bv2 32) |fibo2_#in~n|)))} is VALID [2020-07-28 19:11:10,379 INFO L280 TraceCheckUtils]: 38: Hoare triple {4443#(or (= (_ bv2 32) fibo2_~n) (not (= (_ bv2 32) |fibo2_#in~n|)))} assume !~bvslt32(~n, 1bv32); {4443#(or (= (_ bv2 32) fibo2_~n) (not (= (_ bv2 32) |fibo2_#in~n|)))} is VALID [2020-07-28 19:11:10,379 INFO L280 TraceCheckUtils]: 37: Hoare triple {4170#true} ~n := #in~n; {4443#(or (= (_ bv2 32) fibo2_~n) (not (= (_ bv2 32) |fibo2_#in~n|)))} is VALID [2020-07-28 19:11:10,379 INFO L263 TraceCheckUtils]: 36: Hoare triple {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:10,380 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {4170#true} {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} #50#return; {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,380 INFO L280 TraceCheckUtils]: 34: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,380 INFO L280 TraceCheckUtils]: 33: Hoare triple {4170#true} #res := ~bvadd32(#t~ret2, #t~ret3);havoc #t~ret3;havoc #t~ret2; {4170#true} is VALID [2020-07-28 19:11:10,380 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {4170#true} {4170#true} #48#return; {4170#true} is VALID [2020-07-28 19:11:10,381 INFO L280 TraceCheckUtils]: 31: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,381 INFO L280 TraceCheckUtils]: 30: Hoare triple {4170#true} assume 1bv32 == ~n;#res := 1bv32; {4170#true} is VALID [2020-07-28 19:11:10,381 INFO L280 TraceCheckUtils]: 29: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:10,381 INFO L280 TraceCheckUtils]: 28: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,381 INFO L263 TraceCheckUtils]: 27: Hoare triple {4170#true} call #t~ret3 := fibo1(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:10,381 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {4170#true} {4170#true} #46#return; {4170#true} is VALID [2020-07-28 19:11:10,381 INFO L280 TraceCheckUtils]: 25: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,382 INFO L280 TraceCheckUtils]: 24: Hoare triple {4170#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {4170#true} is VALID [2020-07-28 19:11:10,382 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {4170#true} {4170#true} #52#return; {4170#true} is VALID [2020-07-28 19:11:10,382 INFO L280 TraceCheckUtils]: 22: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,382 INFO L280 TraceCheckUtils]: 21: Hoare triple {4170#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4170#true} is VALID [2020-07-28 19:11:10,382 INFO L280 TraceCheckUtils]: 20: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,382 INFO L263 TraceCheckUtils]: 19: Hoare triple {4170#true} call #t~ret1 := fibo2(~bvsub32(~n, 2bv32)); {4170#true} is VALID [2020-07-28 19:11:10,382 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {4170#true} {4170#true} #50#return; {4170#true} is VALID [2020-07-28 19:11:10,383 INFO L280 TraceCheckUtils]: 17: Hoare triple {4170#true} assume true; {4170#true} is VALID [2020-07-28 19:11:10,383 INFO L280 TraceCheckUtils]: 16: Hoare triple {4170#true} assume 1bv32 == ~n;#res := 1bv32; {4170#true} is VALID [2020-07-28 19:11:10,383 INFO L280 TraceCheckUtils]: 15: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:10,383 INFO L280 TraceCheckUtils]: 14: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,383 INFO L263 TraceCheckUtils]: 13: Hoare triple {4170#true} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:10,383 INFO L280 TraceCheckUtils]: 12: Hoare triple {4170#true} assume !(1bv32 == ~n); {4170#true} is VALID [2020-07-28 19:11:10,383 INFO L280 TraceCheckUtils]: 11: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:10,384 INFO L280 TraceCheckUtils]: 10: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,384 INFO L263 TraceCheckUtils]: 9: Hoare triple {4170#true} call #t~ret2 := fibo1(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:10,384 INFO L280 TraceCheckUtils]: 8: Hoare triple {4170#true} assume !(1bv32 == ~n); {4170#true} is VALID [2020-07-28 19:11:10,384 INFO L280 TraceCheckUtils]: 7: Hoare triple {4170#true} assume !~bvslt32(~n, 1bv32); {4170#true} is VALID [2020-07-28 19:11:10,384 INFO L280 TraceCheckUtils]: 6: Hoare triple {4170#true} ~n := #in~n; {4170#true} is VALID [2020-07-28 19:11:10,384 INFO L263 TraceCheckUtils]: 5: Hoare triple {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} call #t~ret0 := fibo2(~bvsub32(~n, 1bv32)); {4170#true} is VALID [2020-07-28 19:11:10,392 INFO L280 TraceCheckUtils]: 4: Hoare triple {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} assume !(1bv32 == ~n); {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,392 INFO L280 TraceCheckUtils]: 3: Hoare triple {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,393 INFO L280 TraceCheckUtils]: 2: Hoare triple {4170#true} ~n := #in~n; {4415#(or (not (= (_ bv4 32) |fibo1_#in~n|)) (= (bvadd fibo1_~n (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:10,393 INFO L263 TraceCheckUtils]: 1: Hoare triple {4175#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} call main_#t~ret4 := fibo1(main_~x~0); {4170#true} is VALID [2020-07-28 19:11:10,394 INFO L280 TraceCheckUtils]: 0: Hoare triple {4170#true} havoc main_#res;havoc main_#t~ret4, main_~x~0, main_~result~0;main_~x~0 := 4bv32; {4175#(= (_ bv4 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:11:10,399 INFO L134 CoverageAnalysis]: Checked inductivity of 124 backedges. 37 proven. 19 refuted. 0 times theorem prover too weak. 68 trivial. 0 not checked. [2020-07-28 19:11:10,400 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [339705132] [2020-07-28 19:11:10,400 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:10,400 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 11 [2020-07-28 19:11:10,401 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [705816801] [2020-07-28 19:11:10,401 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 72 [2020-07-28 19:11:10,405 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:10,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-28 19:11:10,504 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:10,505 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-28 19:11:10,505 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:10,505 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-28 19:11:10,505 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2020-07-28 19:11:10,506 INFO L87 Difference]: Start difference. First operand 51 states and 94 transitions. Second operand 11 states. [2020-07-28 19:11:11,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:11,283 INFO L93 Difference]: Finished difference Result 69 states and 122 transitions. [2020-07-28 19:11:11,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 19:11:11,283 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 72 [2020-07-28 19:11:11,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:11,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:11:11,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 52 transitions. [2020-07-28 19:11:11,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:11:11,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 52 transitions. [2020-07-28 19:11:11,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 52 transitions. [2020-07-28 19:11:11,383 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:11,386 INFO L225 Difference]: With dead ends: 69 [2020-07-28 19:11:11,386 INFO L226 Difference]: Without dead ends: 63 [2020-07-28 19:11:11,387 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 129 SyntacticMatches, 4 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:11:11,387 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2020-07-28 19:11:11,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 54. [2020-07-28 19:11:11,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:11,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 54 states. [2020-07-28 19:11:11,413 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 54 states. [2020-07-28 19:11:11,414 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 54 states. [2020-07-28 19:11:11,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:11,418 INFO L93 Difference]: Finished difference Result 63 states and 116 transitions. [2020-07-28 19:11:11,418 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 116 transitions. [2020-07-28 19:11:11,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:11,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:11,420 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 63 states. [2020-07-28 19:11:11,420 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 63 states. [2020-07-28 19:11:11,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:11,424 INFO L93 Difference]: Finished difference Result 63 states and 116 transitions. [2020-07-28 19:11:11,424 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 116 transitions. [2020-07-28 19:11:11,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:11,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:11,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:11,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:11,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2020-07-28 19:11:11,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 98 transitions. [2020-07-28 19:11:11,429 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 98 transitions. Word has length 72 [2020-07-28 19:11:11,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:11,430 INFO L479 AbstractCegarLoop]: Abstraction has 54 states and 98 transitions. [2020-07-28 19:11:11,430 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-28 19:11:11,430 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 98 transitions. [2020-07-28 19:11:11,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2020-07-28 19:11:11,432 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:11,432 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:11,643 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 mathsat -unsat_core_generation=3 [2020-07-28 19:11:11,644 INFO L427 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:11,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:11,646 INFO L82 PathProgramCache]: Analyzing trace with hash -927001472, now seen corresponding path program 2 times [2020-07-28 19:11:11,647 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:11,647 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1643570074] [2020-07-28 19:11:11,647 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 13 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:11,690 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:11:11,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2020-07-28 19:11:11,690 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:11:11,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:11:11,727 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:11:11,756 INFO L174 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2020-07-28 19:11:11,757 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 19:11:11,957 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 mathsat -unsat_core_generation=3 [2020-07-28 19:11:11,978 FATAL L488 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret4 := fibo1(~x~0); [2020-07-28 19:11:11,979 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResult(TraceAbstractionStarter.java:693) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportCounterexampleResult(TraceAbstractionStarter.java:626) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResults(TraceAbstractionStarter.java:525) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:383) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-28 19:11:11,984 INFO L168 Benchmark]: Toolchain (without parser) took 24609.65 ms. Allocated memory was 1.0 GB in the beginning and 1.4 GB in the end (delta: 341.3 MB). Free memory was 960.2 MB in the beginning and 1.3 GB in the end (delta: -327.5 MB). Peak memory consumption was 13.8 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:11,985 INFO L168 Benchmark]: CDTParser took 0.19 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 19:11:11,985 INFO L168 Benchmark]: CACSL2BoogieTranslator took 268.98 ms. Allocated memory is still 1.0 GB. Free memory was 960.2 MB in the beginning and 949.5 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:11,985 INFO L168 Benchmark]: Boogie Procedure Inliner took 90.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 126.4 MB). Free memory was 949.5 MB in the beginning and 1.1 GB in the end (delta: -173.1 MB). Peak memory consumption was 9.8 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:11,986 INFO L168 Benchmark]: Boogie Preprocessor took 20.78 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. [2020-07-28 19:11:11,986 INFO L168 Benchmark]: RCFGBuilder took 352.82 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: 27.1 MB). Peak memory consumption was 27.1 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:11,987 INFO L168 Benchmark]: TraceAbstraction took 23867.62 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 215.0 MB). Free memory was 1.1 GB in the beginning and 1.3 GB in the end (delta: -192.2 MB). Peak memory consumption was 22.8 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:11,990 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.19 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 268.98 ms. Allocated memory is still 1.0 GB. Free memory was 960.2 MB in the beginning and 949.5 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 90.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 126.4 MB). Free memory was 949.5 MB in the beginning and 1.1 GB in the end (delta: -173.1 MB). Peak memory consumption was 9.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 20.78 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 352.82 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: 27.1 MB). Peak memory consumption was 27.1 MB. Max. memory is 11.5 GB. * TraceAbstraction took 23867.62 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 215.0 MB). Free memory was 1.1 GB in the beginning and 1.3 GB in the end (delta: -192.2 MB). Peak memory consumption was 22.8 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...