./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/recursive/Fibonacci04.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/Fibonacci04.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 d3562c726fb0df5872bc6ae08c11ec0d40862c19 ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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/Fibonacci04.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 d3562c726fb0df5872bc6ae08c11ec0d40862c19 ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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:07:56,047 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 19:07:56,049 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 19:07:56,062 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 19:07:56,062 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 19:07:56,063 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 19:07:56,064 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 19:07:56,066 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 19:07:56,068 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 19:07:56,069 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 19:07:56,070 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 19:07:56,071 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 19:07:56,071 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 19:07:56,072 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 19:07:56,074 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 19:07:56,075 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 19:07:56,076 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 19:07:56,077 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 19:07:56,079 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 19:07:56,081 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 19:07:56,083 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 19:07:56,084 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 19:07:56,085 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 19:07:56,086 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 19:07:56,089 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 19:07:56,089 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 19:07:56,090 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 19:07:56,091 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 19:07:56,091 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 19:07:56,092 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 19:07:56,092 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 19:07:56,093 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 19:07:56,094 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 19:07:56,095 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 19:07:56,096 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 19:07:56,096 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 19:07:56,097 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 19:07:56,097 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 19:07:56,098 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 19:07:56,099 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 19:07:56,099 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 19:07:56,100 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:07:56,116 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 19:07:56,117 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 19:07:56,118 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 19:07:56,118 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 19:07:56,118 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 19:07:56,119 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 19:07:56,119 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 19:07:56,119 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 19:07:56,119 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 19:07:56,119 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 19:07:56,120 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 19:07:56,120 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 19:07:56,120 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 19:07:56,120 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 19:07:56,121 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 19:07:56,121 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 19:07:56,121 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 19:07:56,121 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 19:07:56,122 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 19:07:56,122 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 19:07:56,122 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 19:07:56,122 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:07:56,123 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 19:07:56,123 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 19:07:56,123 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 19:07:56,123 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 19:07:56,123 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 19:07:56,124 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 19:07:56,124 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 19:07:56,124 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 -> d3562c726fb0df5872bc6ae08c11ec0d40862c19 [2020-07-28 19:07:56,470 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 19:07:56,484 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 19:07:56,487 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 19:07:56,489 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 19:07:56,489 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 19:07:56,490 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive/Fibonacci04.c [2020-07-28 19:07:56,550 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9c79d61cd/cd7b549860714d9e97cb11d09b8f5489/FLAG1da272cff [2020-07-28 19:07:57,027 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 19:07:57,027 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive/Fibonacci04.c [2020-07-28 19:07:57,032 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9c79d61cd/cd7b549860714d9e97cb11d09b8f5489/FLAG1da272cff [2020-07-28 19:07:57,432 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9c79d61cd/cd7b549860714d9e97cb11d09b8f5489 [2020-07-28 19:07:57,436 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 19:07:57,438 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 19:07:57,439 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 19:07:57,440 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 19:07:57,443 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 19:07:57,444 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,448 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@77af6474 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57, skipping insertion in model container [2020-07-28 19:07:57,448 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,457 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 19:07:57,476 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 19:07:57,707 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:07:57,712 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 19:07:57,729 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:07:57,745 INFO L208 MainTranslator]: Completed translation [2020-07-28 19:07:57,746 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57 WrapperNode [2020-07-28 19:07:57,746 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 19:07:57,747 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 19:07:57,747 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 19:07:57,747 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 19:07:57,756 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:07:57" (1/1) ... [2020-07-28 19:07:57,760 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:07:57" (1/1) ... [2020-07-28 19:07:57,838 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 19:07:57,839 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 19:07:57,839 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 19:07:57,839 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 19:07:57,849 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,850 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,850 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,851 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,853 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,856 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,856 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (1/1) ... [2020-07-28 19:07:57,858 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 19:07:57,858 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 19:07:57,858 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 19:07:57,858 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 19:07:57,859 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (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:07:57,918 INFO L130 BoogieDeclarations]: Found specification of procedure fibonacci [2020-07-28 19:07:57,919 INFO L138 BoogieDeclarations]: Found implementation of procedure fibonacci [2020-07-28 19:07:57,919 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 19:07:57,919 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 19:07:58,183 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 19:07:58,183 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-28 19:07:58,187 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:07:58 BoogieIcfgContainer [2020-07-28 19:07:58,188 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 19:07:58,190 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 19:07:58,190 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 19:07:58,196 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 19:07:58,196 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 07:07:57" (1/3) ... [2020-07-28 19:07:58,198 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@fe839dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:07:58, skipping insertion in model container [2020-07-28 19:07:58,198 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:07:57" (2/3) ... [2020-07-28 19:07:58,199 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@fe839dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:07:58, skipping insertion in model container [2020-07-28 19:07:58,199 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:07:58" (3/3) ... [2020-07-28 19:07:58,201 INFO L109 eAbstractionObserver]: Analyzing ICFG Fibonacci04.c [2020-07-28 19:07:58,213 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 19:07:58,223 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 19:07:58,243 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 19:07:58,273 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 19:07:58,273 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 19:07:58,274 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 19:07:58,274 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 19:07:58,274 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 19:07:58,275 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 19:07:58,275 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 19:07:58,275 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 19:07:58,299 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states. [2020-07-28 19:07:58,305 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2020-07-28 19:07:58,306 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:07:58,307 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:07:58,308 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:07:58,314 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:07:58,315 INFO L82 PathProgramCache]: Analyzing trace with hash 238562696, now seen corresponding path program 1 times [2020-07-28 19:07:58,326 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:07:58,327 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1210738054] [2020-07-28 19:07:58,327 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:07:58,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:58,523 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:07:58,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:58,598 INFO L280 TraceCheckUtils]: 0: Hoare triple {21#true} ~n := #in~n; {28#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:58,600 INFO L280 TraceCheckUtils]: 1: Hoare triple {28#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {29#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:58,602 INFO L280 TraceCheckUtils]: 2: Hoare triple {29#(<= |fibonacci_#in~n| 0)} assume true; {29#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:58,605 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {29#(<= |fibonacci_#in~n| 0)} {21#true} #34#return; {27#(<= ULTIMATE.start_main_~x~0 0)} is VALID [2020-07-28 19:07:58,608 INFO L280 TraceCheckUtils]: 0: Hoare triple {21#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {21#true} is VALID [2020-07-28 19:07:58,608 INFO L263 TraceCheckUtils]: 1: Hoare triple {21#true} call main_#t~ret3 := fibonacci(main_~x~0); {21#true} is VALID [2020-07-28 19:07:58,609 INFO L280 TraceCheckUtils]: 2: Hoare triple {21#true} ~n := #in~n; {28#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:58,611 INFO L280 TraceCheckUtils]: 3: Hoare triple {28#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {29#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:58,611 INFO L280 TraceCheckUtils]: 4: Hoare triple {29#(<= |fibonacci_#in~n| 0)} assume true; {29#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:58,615 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {29#(<= |fibonacci_#in~n| 0)} {21#true} #34#return; {27#(<= ULTIMATE.start_main_~x~0 0)} is VALID [2020-07-28 19:07:58,616 INFO L280 TraceCheckUtils]: 6: Hoare triple {27#(<= ULTIMATE.start_main_~x~0 0)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {27#(<= ULTIMATE.start_main_~x~0 0)} is VALID [2020-07-28 19:07:58,617 INFO L280 TraceCheckUtils]: 7: Hoare triple {27#(<= ULTIMATE.start_main_~x~0 0)} assume !(5 != main_~x~0 || 3 == main_~result~0); {22#false} is VALID [2020-07-28 19:07:58,617 INFO L280 TraceCheckUtils]: 8: Hoare triple {22#false} assume !false; {22#false} is VALID [2020-07-28 19:07:58,618 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:07:58,619 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1210738054] [2020-07-28 19:07:58,620 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:07:58,620 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-28 19:07:58,622 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643434233] [2020-07-28 19:07:58,628 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 9 [2020-07-28 19:07:58,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:07:58,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 19:07:58,666 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:07:58,667 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 19:07:58,667 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:07:58,676 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 19:07:58,678 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-28 19:07:58,680 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 5 states. [2020-07-28 19:07:58,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:07:58,925 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2020-07-28 19:07:58,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:07:58,926 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 9 [2020-07-28 19:07:58,926 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:07:58,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:07:58,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 35 transitions. [2020-07-28 19:07:58,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:07:58,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 35 transitions. [2020-07-28 19:07:58,943 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 35 transitions. [2020-07-28 19:07:59,002 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:07:59,015 INFO L225 Difference]: With dead ends: 30 [2020-07-28 19:07:59,016 INFO L226 Difference]: Without dead ends: 17 [2020-07-28 19:07:59,020 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 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:07:59,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2020-07-28 19:07:59,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2020-07-28 19:07:59,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:07:59,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2020-07-28 19:07:59,065 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2020-07-28 19:07:59,065 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2020-07-28 19:07:59,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:07:59,072 INFO L93 Difference]: Finished difference Result 17 states and 21 transitions. [2020-07-28 19:07:59,072 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 21 transitions. [2020-07-28 19:07:59,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:07:59,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:07:59,073 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2020-07-28 19:07:59,074 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2020-07-28 19:07:59,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:07:59,079 INFO L93 Difference]: Finished difference Result 17 states and 21 transitions. [2020-07-28 19:07:59,079 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 21 transitions. [2020-07-28 19:07:59,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:07:59,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:07:59,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:07:59,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:07:59,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-28 19:07:59,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 21 transitions. [2020-07-28 19:07:59,086 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 21 transitions. Word has length 9 [2020-07-28 19:07:59,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:07:59,087 INFO L479 AbstractCegarLoop]: Abstraction has 17 states and 21 transitions. [2020-07-28 19:07:59,088 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 19:07:59,088 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 21 transitions. [2020-07-28 19:07:59,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2020-07-28 19:07:59,089 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:07:59,089 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:07:59,090 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 19:07:59,090 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:07:59,090 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:07:59,091 INFO L82 PathProgramCache]: Analyzing trace with hash -497654578, now seen corresponding path program 1 times [2020-07-28 19:07:59,091 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:07:59,091 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1181576169] [2020-07-28 19:07:59,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:07:59,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,134 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:07:59,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,193 INFO L280 TraceCheckUtils]: 0: Hoare triple {126#true} ~n := #in~n; {134#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:59,194 INFO L280 TraceCheckUtils]: 1: Hoare triple {134#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {134#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:59,196 INFO L280 TraceCheckUtils]: 2: Hoare triple {134#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {135#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:07:59,199 INFO L280 TraceCheckUtils]: 3: Hoare triple {135#(<= |fibonacci_#in~n| 1)} assume true; {135#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:07:59,201 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {135#(<= |fibonacci_#in~n| 1)} {126#true} #34#return; {133#(<= ULTIMATE.start_main_~x~0 1)} is VALID [2020-07-28 19:07:59,202 INFO L280 TraceCheckUtils]: 0: Hoare triple {126#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {126#true} is VALID [2020-07-28 19:07:59,202 INFO L263 TraceCheckUtils]: 1: Hoare triple {126#true} call main_#t~ret3 := fibonacci(main_~x~0); {126#true} is VALID [2020-07-28 19:07:59,203 INFO L280 TraceCheckUtils]: 2: Hoare triple {126#true} ~n := #in~n; {134#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:59,204 INFO L280 TraceCheckUtils]: 3: Hoare triple {134#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {134#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:59,206 INFO L280 TraceCheckUtils]: 4: Hoare triple {134#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {135#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:07:59,208 INFO L280 TraceCheckUtils]: 5: Hoare triple {135#(<= |fibonacci_#in~n| 1)} assume true; {135#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:07:59,210 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {135#(<= |fibonacci_#in~n| 1)} {126#true} #34#return; {133#(<= ULTIMATE.start_main_~x~0 1)} is VALID [2020-07-28 19:07:59,211 INFO L280 TraceCheckUtils]: 7: Hoare triple {133#(<= ULTIMATE.start_main_~x~0 1)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {133#(<= ULTIMATE.start_main_~x~0 1)} is VALID [2020-07-28 19:07:59,212 INFO L280 TraceCheckUtils]: 8: Hoare triple {133#(<= ULTIMATE.start_main_~x~0 1)} assume !(5 != main_~x~0 || 3 == main_~result~0); {127#false} is VALID [2020-07-28 19:07:59,213 INFO L280 TraceCheckUtils]: 9: Hoare triple {127#false} assume !false; {127#false} is VALID [2020-07-28 19:07:59,214 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:07:59,214 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1181576169] [2020-07-28 19:07:59,215 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:07:59,215 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-28 19:07:59,215 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [37252870] [2020-07-28 19:07:59,219 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 10 [2020-07-28 19:07:59,220 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:07:59,220 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 19:07:59,235 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:07:59,235 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 19:07:59,236 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:07:59,236 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 19:07:59,237 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-28 19:07:59,237 INFO L87 Difference]: Start difference. First operand 17 states and 21 transitions. Second operand 5 states. [2020-07-28 19:07:59,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:07:59,407 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2020-07-28 19:07:59,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:07:59,408 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 10 [2020-07-28 19:07:59,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:07:59,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:07:59,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 25 transitions. [2020-07-28 19:07:59,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:07:59,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 25 transitions. [2020-07-28 19:07:59,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 25 transitions. [2020-07-28 19:07:59,455 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:07:59,457 INFO L225 Difference]: With dead ends: 23 [2020-07-28 19:07:59,457 INFO L226 Difference]: Without dead ends: 19 [2020-07-28 19:07:59,458 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 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:07:59,459 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2020-07-28 19:07:59,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 17. [2020-07-28 19:07:59,467 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:07:59,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 17 states. [2020-07-28 19:07:59,467 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 17 states. [2020-07-28 19:07:59,468 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 17 states. [2020-07-28 19:07:59,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:07:59,472 INFO L93 Difference]: Finished difference Result 19 states and 24 transitions. [2020-07-28 19:07:59,472 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 24 transitions. [2020-07-28 19:07:59,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:07:59,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:07:59,473 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 19 states. [2020-07-28 19:07:59,474 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 19 states. [2020-07-28 19:07:59,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:07:59,478 INFO L93 Difference]: Finished difference Result 19 states and 24 transitions. [2020-07-28 19:07:59,478 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 24 transitions. [2020-07-28 19:07:59,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:07:59,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:07:59,479 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:07:59,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:07:59,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-28 19:07:59,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 21 transitions. [2020-07-28 19:07:59,484 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 21 transitions. Word has length 10 [2020-07-28 19:07:59,485 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:07:59,485 INFO L479 AbstractCegarLoop]: Abstraction has 17 states and 21 transitions. [2020-07-28 19:07:59,485 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 19:07:59,488 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 21 transitions. [2020-07-28 19:07:59,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2020-07-28 19:07:59,490 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:07:59,490 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:07:59,490 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 19:07:59,491 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:07:59,491 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:07:59,491 INFO L82 PathProgramCache]: Analyzing trace with hash -850570499, now seen corresponding path program 1 times [2020-07-28 19:07:59,491 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:07:59,492 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2072312344] [2020-07-28 19:07:59,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:07:59,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,526 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:07:59,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,574 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:07:59,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,609 INFO L280 TraceCheckUtils]: 0: Hoare triple {226#true} ~n := #in~n; {255#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:59,610 INFO L280 TraceCheckUtils]: 1: Hoare triple {255#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:59,611 INFO L280 TraceCheckUtils]: 2: Hoare triple {256#(<= |fibonacci_#in~n| 0)} assume true; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:59,613 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {256#(<= |fibonacci_#in~n| 0)} {246#(< 1 fibonacci_~n)} #30#return; {227#false} is VALID [2020-07-28 19:07:59,613 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2020-07-28 19:07:59,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,620 INFO L280 TraceCheckUtils]: 0: Hoare triple {226#true} ~n := #in~n; {226#true} is VALID [2020-07-28 19:07:59,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {226#true} assume ~n < 1;#res := 0; {226#true} is VALID [2020-07-28 19:07:59,621 INFO L280 TraceCheckUtils]: 2: Hoare triple {226#true} assume true; {226#true} is VALID [2020-07-28 19:07:59,622 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {226#true} {227#false} #32#return; {227#false} is VALID [2020-07-28 19:07:59,622 INFO L280 TraceCheckUtils]: 0: Hoare triple {226#true} ~n := #in~n; {226#true} is VALID [2020-07-28 19:07:59,623 INFO L280 TraceCheckUtils]: 1: Hoare triple {226#true} assume !(~n < 1); {245#(< 0 fibonacci_~n)} is VALID [2020-07-28 19:07:59,624 INFO L280 TraceCheckUtils]: 2: Hoare triple {245#(< 0 fibonacci_~n)} assume !(1 == ~n); {246#(< 1 fibonacci_~n)} is VALID [2020-07-28 19:07:59,625 INFO L263 TraceCheckUtils]: 3: Hoare triple {246#(< 1 fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {226#true} is VALID [2020-07-28 19:07:59,626 INFO L280 TraceCheckUtils]: 4: Hoare triple {226#true} ~n := #in~n; {255#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:59,627 INFO L280 TraceCheckUtils]: 5: Hoare triple {255#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:59,628 INFO L280 TraceCheckUtils]: 6: Hoare triple {256#(<= |fibonacci_#in~n| 0)} assume true; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:59,629 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {256#(<= |fibonacci_#in~n| 0)} {246#(< 1 fibonacci_~n)} #30#return; {227#false} is VALID [2020-07-28 19:07:59,630 INFO L280 TraceCheckUtils]: 8: Hoare triple {227#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {227#false} is VALID [2020-07-28 19:07:59,630 INFO L263 TraceCheckUtils]: 9: Hoare triple {227#false} call #t~ret1 := fibonacci(~n - 2); {226#true} is VALID [2020-07-28 19:07:59,630 INFO L280 TraceCheckUtils]: 10: Hoare triple {226#true} ~n := #in~n; {226#true} is VALID [2020-07-28 19:07:59,631 INFO L280 TraceCheckUtils]: 11: Hoare triple {226#true} assume ~n < 1;#res := 0; {226#true} is VALID [2020-07-28 19:07:59,631 INFO L280 TraceCheckUtils]: 12: Hoare triple {226#true} assume true; {226#true} is VALID [2020-07-28 19:07:59,631 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {226#true} {227#false} #32#return; {227#false} is VALID [2020-07-28 19:07:59,632 INFO L280 TraceCheckUtils]: 14: Hoare triple {227#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {227#false} is VALID [2020-07-28 19:07:59,632 INFO L280 TraceCheckUtils]: 15: Hoare triple {227#false} assume true; {227#false} is VALID [2020-07-28 19:07:59,633 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {227#false} {226#true} #34#return; {227#false} is VALID [2020-07-28 19:07:59,634 INFO L280 TraceCheckUtils]: 0: Hoare triple {226#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {226#true} is VALID [2020-07-28 19:07:59,634 INFO L263 TraceCheckUtils]: 1: Hoare triple {226#true} call main_#t~ret3 := fibonacci(main_~x~0); {226#true} is VALID [2020-07-28 19:07:59,635 INFO L280 TraceCheckUtils]: 2: Hoare triple {226#true} ~n := #in~n; {226#true} is VALID [2020-07-28 19:07:59,636 INFO L280 TraceCheckUtils]: 3: Hoare triple {226#true} assume !(~n < 1); {245#(< 0 fibonacci_~n)} is VALID [2020-07-28 19:07:59,637 INFO L280 TraceCheckUtils]: 4: Hoare triple {245#(< 0 fibonacci_~n)} assume !(1 == ~n); {246#(< 1 fibonacci_~n)} is VALID [2020-07-28 19:07:59,637 INFO L263 TraceCheckUtils]: 5: Hoare triple {246#(< 1 fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {226#true} is VALID [2020-07-28 19:07:59,638 INFO L280 TraceCheckUtils]: 6: Hoare triple {226#true} ~n := #in~n; {255#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:07:59,639 INFO L280 TraceCheckUtils]: 7: Hoare triple {255#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:59,640 INFO L280 TraceCheckUtils]: 8: Hoare triple {256#(<= |fibonacci_#in~n| 0)} assume true; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:07:59,642 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {256#(<= |fibonacci_#in~n| 0)} {246#(< 1 fibonacci_~n)} #30#return; {227#false} is VALID [2020-07-28 19:07:59,642 INFO L280 TraceCheckUtils]: 10: Hoare triple {227#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {227#false} is VALID [2020-07-28 19:07:59,642 INFO L263 TraceCheckUtils]: 11: Hoare triple {227#false} call #t~ret1 := fibonacci(~n - 2); {226#true} is VALID [2020-07-28 19:07:59,643 INFO L280 TraceCheckUtils]: 12: Hoare triple {226#true} ~n := #in~n; {226#true} is VALID [2020-07-28 19:07:59,643 INFO L280 TraceCheckUtils]: 13: Hoare triple {226#true} assume ~n < 1;#res := 0; {226#true} is VALID [2020-07-28 19:07:59,643 INFO L280 TraceCheckUtils]: 14: Hoare triple {226#true} assume true; {226#true} is VALID [2020-07-28 19:07:59,644 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {226#true} {227#false} #32#return; {227#false} is VALID [2020-07-28 19:07:59,644 INFO L280 TraceCheckUtils]: 16: Hoare triple {227#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {227#false} is VALID [2020-07-28 19:07:59,644 INFO L280 TraceCheckUtils]: 17: Hoare triple {227#false} assume true; {227#false} is VALID [2020-07-28 19:07:59,645 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {227#false} {226#true} #34#return; {227#false} is VALID [2020-07-28 19:07:59,645 INFO L280 TraceCheckUtils]: 19: Hoare triple {227#false} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {227#false} is VALID [2020-07-28 19:07:59,645 INFO L280 TraceCheckUtils]: 20: Hoare triple {227#false} assume !(5 != main_~x~0 || 3 == main_~result~0); {227#false} is VALID [2020-07-28 19:07:59,646 INFO L280 TraceCheckUtils]: 21: Hoare triple {227#false} assume !false; {227#false} is VALID [2020-07-28 19:07:59,648 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-28 19:07:59,649 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2072312344] [2020-07-28 19:07:59,649 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [877969541] [2020-07-28 19:07:59,649 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:07:59,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,693 INFO L263 TraceCheckSpWp]: Trace formula consists of 55 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:07:59,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:07:59,708 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:07:59,998 INFO L280 TraceCheckUtils]: 0: Hoare triple {226#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {226#true} is VALID [2020-07-28 19:07:59,998 INFO L263 TraceCheckUtils]: 1: Hoare triple {226#true} call main_#t~ret3 := fibonacci(main_~x~0); {226#true} is VALID [2020-07-28 19:07:59,999 INFO L280 TraceCheckUtils]: 2: Hoare triple {226#true} ~n := #in~n; {266#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:00,008 INFO L280 TraceCheckUtils]: 3: Hoare triple {266#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {266#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:00,009 INFO L280 TraceCheckUtils]: 4: Hoare triple {266#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(1 == ~n); {266#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:00,009 INFO L263 TraceCheckUtils]: 5: Hoare triple {266#(<= |fibonacci_#in~n| fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {226#true} is VALID [2020-07-28 19:08:00,010 INFO L280 TraceCheckUtils]: 6: Hoare triple {226#true} ~n := #in~n; {266#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:00,011 INFO L280 TraceCheckUtils]: 7: Hoare triple {266#(<= |fibonacci_#in~n| fibonacci_~n)} assume ~n < 1;#res := 0; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:00,012 INFO L280 TraceCheckUtils]: 8: Hoare triple {256#(<= |fibonacci_#in~n| 0)} assume true; {256#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:00,013 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {256#(<= |fibonacci_#in~n| 0)} {266#(<= |fibonacci_#in~n| fibonacci_~n)} #30#return; {288#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,014 INFO L280 TraceCheckUtils]: 10: Hoare triple {288#(<= |fibonacci_#in~n| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {288#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,014 INFO L263 TraceCheckUtils]: 11: Hoare triple {288#(<= |fibonacci_#in~n| 1)} call #t~ret1 := fibonacci(~n - 2); {226#true} is VALID [2020-07-28 19:08:00,015 INFO L280 TraceCheckUtils]: 12: Hoare triple {226#true} ~n := #in~n; {226#true} is VALID [2020-07-28 19:08:00,015 INFO L280 TraceCheckUtils]: 13: Hoare triple {226#true} assume ~n < 1;#res := 0; {226#true} is VALID [2020-07-28 19:08:00,015 INFO L280 TraceCheckUtils]: 14: Hoare triple {226#true} assume true; {226#true} is VALID [2020-07-28 19:08:00,017 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {226#true} {288#(<= |fibonacci_#in~n| 1)} #32#return; {288#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,018 INFO L280 TraceCheckUtils]: 16: Hoare triple {288#(<= |fibonacci_#in~n| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {288#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,018 INFO L280 TraceCheckUtils]: 17: Hoare triple {288#(<= |fibonacci_#in~n| 1)} assume true; {288#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,020 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {288#(<= |fibonacci_#in~n| 1)} {226#true} #34#return; {316#(<= ULTIMATE.start_main_~x~0 1)} is VALID [2020-07-28 19:08:00,021 INFO L280 TraceCheckUtils]: 19: Hoare triple {316#(<= ULTIMATE.start_main_~x~0 1)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {316#(<= ULTIMATE.start_main_~x~0 1)} is VALID [2020-07-28 19:08:00,022 INFO L280 TraceCheckUtils]: 20: Hoare triple {316#(<= ULTIMATE.start_main_~x~0 1)} assume !(5 != main_~x~0 || 3 == main_~result~0); {227#false} is VALID [2020-07-28 19:08:00,023 INFO L280 TraceCheckUtils]: 21: Hoare triple {227#false} assume !false; {227#false} is VALID [2020-07-28 19:08:00,025 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-28 19:08:00,025 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:00,026 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2020-07-28 19:08:00,026 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2018739137] [2020-07-28 19:08:00,027 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 22 [2020-07-28 19:08:00,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:00,028 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-28 19:08:00,080 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:08:00,080 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-28 19:08:00,081 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:08:00,081 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-28 19:08:00,081 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2020-07-28 19:08:00,081 INFO L87 Difference]: Start difference. First operand 17 states and 21 transitions. Second operand 9 states. [2020-07-28 19:08:00,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:00,528 INFO L93 Difference]: Finished difference Result 34 states and 45 transitions. [2020-07-28 19:08:00,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:08:00,528 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 22 [2020-07-28 19:08:00,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:00,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 19:08:00,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2020-07-28 19:08:00,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 19:08:00,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2020-07-28 19:08:00,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 42 transitions. [2020-07-28 19:08:00,598 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:08:00,600 INFO L225 Difference]: With dead ends: 34 [2020-07-28 19:08:00,600 INFO L226 Difference]: Without dead ends: 19 [2020-07-28 19:08:00,601 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2020-07-28 19:08:00,601 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2020-07-28 19:08:00,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2020-07-28 19:08:00,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:00,611 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 19 states. [2020-07-28 19:08:00,611 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2020-07-28 19:08:00,611 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2020-07-28 19:08:00,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:00,613 INFO L93 Difference]: Finished difference Result 19 states and 23 transitions. [2020-07-28 19:08:00,614 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 23 transitions. [2020-07-28 19:08:00,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:00,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:00,615 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2020-07-28 19:08:00,615 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2020-07-28 19:08:00,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:00,617 INFO L93 Difference]: Finished difference Result 19 states and 23 transitions. [2020-07-28 19:08:00,618 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 23 transitions. [2020-07-28 19:08:00,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:00,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:00,619 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:00,619 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:00,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-28 19:08:00,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 23 transitions. [2020-07-28 19:08:00,621 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 23 transitions. Word has length 22 [2020-07-28 19:08:00,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:00,622 INFO L479 AbstractCegarLoop]: Abstraction has 19 states and 23 transitions. [2020-07-28 19:08:00,622 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-28 19:08:00,622 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 23 transitions. [2020-07-28 19:08:00,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2020-07-28 19:08:00,624 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:00,624 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:00,838 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-28 19:08:00,839 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:00,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:00,840 INFO L82 PathProgramCache]: Analyzing trace with hash 1834230885, now seen corresponding path program 1 times [2020-07-28 19:08:00,841 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:08:00,841 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [711580287] [2020-07-28 19:08:00,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:08:00,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:00,902 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:08:00,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:00,942 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:00,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:00,968 INFO L280 TraceCheckUtils]: 0: Hoare triple {437#true} ~n := #in~n; {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:00,969 INFO L280 TraceCheckUtils]: 1: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:00,970 INFO L280 TraceCheckUtils]: 2: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,971 INFO L280 TraceCheckUtils]: 3: Hoare triple {469#(<= |fibonacci_#in~n| 1)} assume true; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,973 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {469#(<= |fibonacci_#in~n| 1)} {458#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:00,974 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:00,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:00,982 INFO L280 TraceCheckUtils]: 0: Hoare triple {437#true} ~n := #in~n; {437#true} is VALID [2020-07-28 19:08:00,982 INFO L280 TraceCheckUtils]: 1: Hoare triple {437#true} assume ~n < 1;#res := 0; {437#true} is VALID [2020-07-28 19:08:00,983 INFO L280 TraceCheckUtils]: 2: Hoare triple {437#true} assume true; {437#true} is VALID [2020-07-28 19:08:00,984 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {437#true} {464#(<= |fibonacci_#in~n| 2)} #32#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:00,985 INFO L280 TraceCheckUtils]: 0: Hoare triple {437#true} ~n := #in~n; {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:00,986 INFO L280 TraceCheckUtils]: 1: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:00,987 INFO L280 TraceCheckUtils]: 2: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:00,987 INFO L263 TraceCheckUtils]: 3: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {437#true} is VALID [2020-07-28 19:08:00,988 INFO L280 TraceCheckUtils]: 4: Hoare triple {437#true} ~n := #in~n; {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:00,989 INFO L280 TraceCheckUtils]: 5: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:00,990 INFO L280 TraceCheckUtils]: 6: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,991 INFO L280 TraceCheckUtils]: 7: Hoare triple {469#(<= |fibonacci_#in~n| 1)} assume true; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:00,993 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {469#(<= |fibonacci_#in~n| 1)} {458#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:00,994 INFO L280 TraceCheckUtils]: 9: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:00,994 INFO L263 TraceCheckUtils]: 10: Hoare triple {464#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {437#true} is VALID [2020-07-28 19:08:00,994 INFO L280 TraceCheckUtils]: 11: Hoare triple {437#true} ~n := #in~n; {437#true} is VALID [2020-07-28 19:08:00,995 INFO L280 TraceCheckUtils]: 12: Hoare triple {437#true} assume ~n < 1;#res := 0; {437#true} is VALID [2020-07-28 19:08:00,995 INFO L280 TraceCheckUtils]: 13: Hoare triple {437#true} assume true; {437#true} is VALID [2020-07-28 19:08:00,997 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {437#true} {464#(<= |fibonacci_#in~n| 2)} #32#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:00,998 INFO L280 TraceCheckUtils]: 15: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:00,998 INFO L280 TraceCheckUtils]: 16: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume true; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,000 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {464#(<= |fibonacci_#in~n| 2)} {437#true} #34#return; {457#(<= ULTIMATE.start_main_~x~0 2)} is VALID [2020-07-28 19:08:01,001 INFO L280 TraceCheckUtils]: 0: Hoare triple {437#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {437#true} is VALID [2020-07-28 19:08:01,002 INFO L263 TraceCheckUtils]: 1: Hoare triple {437#true} call main_#t~ret3 := fibonacci(main_~x~0); {437#true} is VALID [2020-07-28 19:08:01,002 INFO L280 TraceCheckUtils]: 2: Hoare triple {437#true} ~n := #in~n; {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:01,003 INFO L280 TraceCheckUtils]: 3: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:01,004 INFO L280 TraceCheckUtils]: 4: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:01,004 INFO L263 TraceCheckUtils]: 5: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {437#true} is VALID [2020-07-28 19:08:01,005 INFO L280 TraceCheckUtils]: 6: Hoare triple {437#true} ~n := #in~n; {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:01,006 INFO L280 TraceCheckUtils]: 7: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {458#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:01,007 INFO L280 TraceCheckUtils]: 8: Hoare triple {458#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:01,008 INFO L280 TraceCheckUtils]: 9: Hoare triple {469#(<= |fibonacci_#in~n| 1)} assume true; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:01,010 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {469#(<= |fibonacci_#in~n| 1)} {458#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,011 INFO L280 TraceCheckUtils]: 11: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,011 INFO L263 TraceCheckUtils]: 12: Hoare triple {464#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {437#true} is VALID [2020-07-28 19:08:01,012 INFO L280 TraceCheckUtils]: 13: Hoare triple {437#true} ~n := #in~n; {437#true} is VALID [2020-07-28 19:08:01,012 INFO L280 TraceCheckUtils]: 14: Hoare triple {437#true} assume ~n < 1;#res := 0; {437#true} is VALID [2020-07-28 19:08:01,012 INFO L280 TraceCheckUtils]: 15: Hoare triple {437#true} assume true; {437#true} is VALID [2020-07-28 19:08:01,014 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {437#true} {464#(<= |fibonacci_#in~n| 2)} #32#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,015 INFO L280 TraceCheckUtils]: 17: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,015 INFO L280 TraceCheckUtils]: 18: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume true; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,017 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {464#(<= |fibonacci_#in~n| 2)} {437#true} #34#return; {457#(<= ULTIMATE.start_main_~x~0 2)} is VALID [2020-07-28 19:08:01,018 INFO L280 TraceCheckUtils]: 20: Hoare triple {457#(<= ULTIMATE.start_main_~x~0 2)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {457#(<= ULTIMATE.start_main_~x~0 2)} is VALID [2020-07-28 19:08:01,019 INFO L280 TraceCheckUtils]: 21: Hoare triple {457#(<= ULTIMATE.start_main_~x~0 2)} assume !(5 != main_~x~0 || 3 == main_~result~0); {438#false} is VALID [2020-07-28 19:08:01,019 INFO L280 TraceCheckUtils]: 22: Hoare triple {438#false} assume !false; {438#false} is VALID [2020-07-28 19:08:01,020 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-28 19:08:01,021 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [711580287] [2020-07-28 19:08:01,021 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [878680242] [2020-07-28 19:08:01,022 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:08:01,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:01,055 INFO L263 TraceCheckSpWp]: Trace formula consists of 57 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:08:01,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:01,071 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:01,304 INFO L280 TraceCheckUtils]: 0: Hoare triple {437#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {437#true} is VALID [2020-07-28 19:08:01,304 INFO L263 TraceCheckUtils]: 1: Hoare triple {437#true} call main_#t~ret3 := fibonacci(main_~x~0); {437#true} is VALID [2020-07-28 19:08:01,305 INFO L280 TraceCheckUtils]: 2: Hoare triple {437#true} ~n := #in~n; {479#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:01,306 INFO L280 TraceCheckUtils]: 3: Hoare triple {479#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {479#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:01,306 INFO L280 TraceCheckUtils]: 4: Hoare triple {479#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(1 == ~n); {479#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:01,307 INFO L263 TraceCheckUtils]: 5: Hoare triple {479#(<= |fibonacci_#in~n| fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {437#true} is VALID [2020-07-28 19:08:01,307 INFO L280 TraceCheckUtils]: 6: Hoare triple {437#true} ~n := #in~n; {479#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:01,308 INFO L280 TraceCheckUtils]: 7: Hoare triple {479#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {479#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:01,309 INFO L280 TraceCheckUtils]: 8: Hoare triple {479#(<= |fibonacci_#in~n| fibonacci_~n)} assume 1 == ~n;#res := 1; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:01,311 INFO L280 TraceCheckUtils]: 9: Hoare triple {469#(<= |fibonacci_#in~n| 1)} assume true; {469#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:01,313 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {469#(<= |fibonacci_#in~n| 1)} {479#(<= |fibonacci_#in~n| fibonacci_~n)} #30#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,313 INFO L280 TraceCheckUtils]: 11: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,314 INFO L263 TraceCheckUtils]: 12: Hoare triple {464#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {437#true} is VALID [2020-07-28 19:08:01,314 INFO L280 TraceCheckUtils]: 13: Hoare triple {437#true} ~n := #in~n; {437#true} is VALID [2020-07-28 19:08:01,314 INFO L280 TraceCheckUtils]: 14: Hoare triple {437#true} assume ~n < 1;#res := 0; {437#true} is VALID [2020-07-28 19:08:01,314 INFO L280 TraceCheckUtils]: 15: Hoare triple {437#true} assume true; {437#true} is VALID [2020-07-28 19:08:01,317 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {437#true} {464#(<= |fibonacci_#in~n| 2)} #32#return; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,318 INFO L280 TraceCheckUtils]: 17: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,319 INFO L280 TraceCheckUtils]: 18: Hoare triple {464#(<= |fibonacci_#in~n| 2)} assume true; {464#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:01,320 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {464#(<= |fibonacci_#in~n| 2)} {437#true} #34#return; {457#(<= ULTIMATE.start_main_~x~0 2)} is VALID [2020-07-28 19:08:01,320 INFO L280 TraceCheckUtils]: 20: Hoare triple {457#(<= ULTIMATE.start_main_~x~0 2)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {457#(<= ULTIMATE.start_main_~x~0 2)} is VALID [2020-07-28 19:08:01,321 INFO L280 TraceCheckUtils]: 21: Hoare triple {457#(<= ULTIMATE.start_main_~x~0 2)} assume !(5 != main_~x~0 || 3 == main_~result~0); {438#false} is VALID [2020-07-28 19:08:01,322 INFO L280 TraceCheckUtils]: 22: Hoare triple {438#false} assume !false; {438#false} is VALID [2020-07-28 19:08:01,328 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-28 19:08:01,328 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:01,328 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2020-07-28 19:08:01,329 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [439600049] [2020-07-28 19:08:01,329 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 23 [2020-07-28 19:08:01,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:01,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 19:08:01,359 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:01,360 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 19:08:01,360 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:08:01,360 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 19:08:01,361 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2020-07-28 19:08:01,361 INFO L87 Difference]: Start difference. First operand 19 states and 23 transitions. Second operand 7 states. [2020-07-28 19:08:01,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:01,622 INFO L93 Difference]: Finished difference Result 37 states and 51 transitions. [2020-07-28 19:08:01,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:08:01,623 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 23 [2020-07-28 19:08:01,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:01,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:08:01,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2020-07-28 19:08:01,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:08:01,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2020-07-28 19:08:01,629 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2020-07-28 19:08:01,682 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:01,685 INFO L225 Difference]: With dead ends: 37 [2020-07-28 19:08:01,685 INFO L226 Difference]: Without dead ends: 33 [2020-07-28 19:08:01,686 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2020-07-28 19:08:01,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2020-07-28 19:08:01,711 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2020-07-28 19:08:01,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:01,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 33 states. [2020-07-28 19:08:01,712 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2020-07-28 19:08:01,712 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2020-07-28 19:08:01,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:01,717 INFO L93 Difference]: Finished difference Result 33 states and 47 transitions. [2020-07-28 19:08:01,717 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 47 transitions. [2020-07-28 19:08:01,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:01,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:01,718 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2020-07-28 19:08:01,718 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2020-07-28 19:08:01,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:01,722 INFO L93 Difference]: Finished difference Result 33 states and 47 transitions. [2020-07-28 19:08:01,722 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 47 transitions. [2020-07-28 19:08:01,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:01,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:01,723 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:01,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:01,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2020-07-28 19:08:01,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 47 transitions. [2020-07-28 19:08:01,727 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 47 transitions. Word has length 23 [2020-07-28 19:08:01,727 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:01,728 INFO L479 AbstractCegarLoop]: Abstraction has 33 states and 47 transitions. [2020-07-28 19:08:01,728 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 19:08:01,728 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 47 transitions. [2020-07-28 19:08:01,729 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-28 19:08:01,729 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:01,729 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:01,943 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:08:01,944 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:01,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:01,945 INFO L82 PathProgramCache]: Analyzing trace with hash -1301134080, now seen corresponding path program 2 times [2020-07-28 19:08:01,945 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:08:01,946 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958807920] [2020-07-28 19:08:01,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:08:01,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:02,012 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:08:02,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:02,044 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:02,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:02,097 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:02,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:02,104 INFO L280 TraceCheckUtils]: 0: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,104 INFO L280 TraceCheckUtils]: 1: Hoare triple {697#true} assume !(~n < 1); {697#true} is VALID [2020-07-28 19:08:02,105 INFO L280 TraceCheckUtils]: 2: Hoare triple {697#true} assume 1 == ~n;#res := 1; {697#true} is VALID [2020-07-28 19:08:02,105 INFO L280 TraceCheckUtils]: 3: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,106 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #30#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,107 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:02,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:02,113 INFO L280 TraceCheckUtils]: 0: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,113 INFO L280 TraceCheckUtils]: 1: Hoare triple {697#true} assume ~n < 1;#res := 0; {697#true} is VALID [2020-07-28 19:08:02,113 INFO L280 TraceCheckUtils]: 2: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,115 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #32#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,116 INFO L280 TraceCheckUtils]: 0: Hoare triple {697#true} ~n := #in~n; {753#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,117 INFO L280 TraceCheckUtils]: 1: Hoare triple {753#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {754#(and (< 0 fibonacci_~n) (= fibonacci_~n |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:02,118 INFO L280 TraceCheckUtils]: 2: Hoare triple {754#(and (< 0 fibonacci_~n) (= fibonacci_~n |fibonacci_#in~n|))} assume !(1 == ~n); {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,118 INFO L263 TraceCheckUtils]: 3: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {697#true} is VALID [2020-07-28 19:08:02,118 INFO L280 TraceCheckUtils]: 4: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,119 INFO L280 TraceCheckUtils]: 5: Hoare triple {697#true} assume !(~n < 1); {697#true} is VALID [2020-07-28 19:08:02,119 INFO L280 TraceCheckUtils]: 6: Hoare triple {697#true} assume 1 == ~n;#res := 1; {697#true} is VALID [2020-07-28 19:08:02,119 INFO L280 TraceCheckUtils]: 7: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,121 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #30#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,122 INFO L280 TraceCheckUtils]: 9: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,122 INFO L263 TraceCheckUtils]: 10: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {697#true} is VALID [2020-07-28 19:08:02,122 INFO L280 TraceCheckUtils]: 11: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,123 INFO L280 TraceCheckUtils]: 12: Hoare triple {697#true} assume ~n < 1;#res := 0; {697#true} is VALID [2020-07-28 19:08:02,123 INFO L280 TraceCheckUtils]: 13: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,124 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #32#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,125 INFO L280 TraceCheckUtils]: 15: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,126 INFO L280 TraceCheckUtils]: 16: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume true; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,127 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {755#(<= 2 |fibonacci_#in~n|)} {697#true} #30#return; {748#(<= 3 fibonacci_~n)} is VALID [2020-07-28 19:08:02,128 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:08:02,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:02,150 INFO L280 TraceCheckUtils]: 0: Hoare triple {697#true} ~n := #in~n; {753#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,151 INFO L280 TraceCheckUtils]: 1: Hoare triple {753#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {765#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:02,152 INFO L280 TraceCheckUtils]: 2: Hoare triple {765#(<= |fibonacci_#in~n| 0)} assume true; {765#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:02,153 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {765#(<= |fibonacci_#in~n| 0)} {748#(<= 3 fibonacci_~n)} #32#return; {698#false} is VALID [2020-07-28 19:08:02,154 INFO L280 TraceCheckUtils]: 0: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,154 INFO L280 TraceCheckUtils]: 1: Hoare triple {697#true} assume !(~n < 1); {697#true} is VALID [2020-07-28 19:08:02,154 INFO L280 TraceCheckUtils]: 2: Hoare triple {697#true} assume !(1 == ~n); {697#true} is VALID [2020-07-28 19:08:02,154 INFO L263 TraceCheckUtils]: 3: Hoare triple {697#true} call #t~ret0 := fibonacci(~n - 1); {697#true} is VALID [2020-07-28 19:08:02,155 INFO L280 TraceCheckUtils]: 4: Hoare triple {697#true} ~n := #in~n; {753#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,156 INFO L280 TraceCheckUtils]: 5: Hoare triple {753#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {754#(and (< 0 fibonacci_~n) (= fibonacci_~n |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:02,157 INFO L280 TraceCheckUtils]: 6: Hoare triple {754#(and (< 0 fibonacci_~n) (= fibonacci_~n |fibonacci_#in~n|))} assume !(1 == ~n); {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,157 INFO L263 TraceCheckUtils]: 7: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {697#true} is VALID [2020-07-28 19:08:02,157 INFO L280 TraceCheckUtils]: 8: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,158 INFO L280 TraceCheckUtils]: 9: Hoare triple {697#true} assume !(~n < 1); {697#true} is VALID [2020-07-28 19:08:02,158 INFO L280 TraceCheckUtils]: 10: Hoare triple {697#true} assume 1 == ~n;#res := 1; {697#true} is VALID [2020-07-28 19:08:02,158 INFO L280 TraceCheckUtils]: 11: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,159 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #30#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,160 INFO L280 TraceCheckUtils]: 13: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,160 INFO L263 TraceCheckUtils]: 14: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {697#true} is VALID [2020-07-28 19:08:02,161 INFO L280 TraceCheckUtils]: 15: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,161 INFO L280 TraceCheckUtils]: 16: Hoare triple {697#true} assume ~n < 1;#res := 0; {697#true} is VALID [2020-07-28 19:08:02,161 INFO L280 TraceCheckUtils]: 17: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,162 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #32#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,163 INFO L280 TraceCheckUtils]: 19: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,163 INFO L280 TraceCheckUtils]: 20: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume true; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,164 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {755#(<= 2 |fibonacci_#in~n|)} {697#true} #30#return; {748#(<= 3 fibonacci_~n)} is VALID [2020-07-28 19:08:02,165 INFO L280 TraceCheckUtils]: 22: Hoare triple {748#(<= 3 fibonacci_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {748#(<= 3 fibonacci_~n)} is VALID [2020-07-28 19:08:02,165 INFO L263 TraceCheckUtils]: 23: Hoare triple {748#(<= 3 fibonacci_~n)} call #t~ret1 := fibonacci(~n - 2); {697#true} is VALID [2020-07-28 19:08:02,165 INFO L280 TraceCheckUtils]: 24: Hoare triple {697#true} ~n := #in~n; {753#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,166 INFO L280 TraceCheckUtils]: 25: Hoare triple {753#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {765#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:02,167 INFO L280 TraceCheckUtils]: 26: Hoare triple {765#(<= |fibonacci_#in~n| 0)} assume true; {765#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:02,169 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {765#(<= |fibonacci_#in~n| 0)} {748#(<= 3 fibonacci_~n)} #32#return; {698#false} is VALID [2020-07-28 19:08:02,169 INFO L280 TraceCheckUtils]: 28: Hoare triple {698#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {698#false} is VALID [2020-07-28 19:08:02,169 INFO L280 TraceCheckUtils]: 29: Hoare triple {698#false} assume true; {698#false} is VALID [2020-07-28 19:08:02,169 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {698#false} {697#true} #34#return; {698#false} is VALID [2020-07-28 19:08:02,171 INFO L280 TraceCheckUtils]: 0: Hoare triple {697#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {697#true} is VALID [2020-07-28 19:08:02,172 INFO L263 TraceCheckUtils]: 1: Hoare triple {697#true} call main_#t~ret3 := fibonacci(main_~x~0); {697#true} is VALID [2020-07-28 19:08:02,172 INFO L280 TraceCheckUtils]: 2: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,172 INFO L280 TraceCheckUtils]: 3: Hoare triple {697#true} assume !(~n < 1); {697#true} is VALID [2020-07-28 19:08:02,172 INFO L280 TraceCheckUtils]: 4: Hoare triple {697#true} assume !(1 == ~n); {697#true} is VALID [2020-07-28 19:08:02,172 INFO L263 TraceCheckUtils]: 5: Hoare triple {697#true} call #t~ret0 := fibonacci(~n - 1); {697#true} is VALID [2020-07-28 19:08:02,174 INFO L280 TraceCheckUtils]: 6: Hoare triple {697#true} ~n := #in~n; {753#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,177 INFO L280 TraceCheckUtils]: 7: Hoare triple {753#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {754#(and (< 0 fibonacci_~n) (= fibonacci_~n |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:02,181 INFO L280 TraceCheckUtils]: 8: Hoare triple {754#(and (< 0 fibonacci_~n) (= fibonacci_~n |fibonacci_#in~n|))} assume !(1 == ~n); {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,182 INFO L263 TraceCheckUtils]: 9: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {697#true} is VALID [2020-07-28 19:08:02,182 INFO L280 TraceCheckUtils]: 10: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,182 INFO L280 TraceCheckUtils]: 11: Hoare triple {697#true} assume !(~n < 1); {697#true} is VALID [2020-07-28 19:08:02,182 INFO L280 TraceCheckUtils]: 12: Hoare triple {697#true} assume 1 == ~n;#res := 1; {697#true} is VALID [2020-07-28 19:08:02,182 INFO L280 TraceCheckUtils]: 13: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,184 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #30#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,185 INFO L280 TraceCheckUtils]: 15: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,185 INFO L263 TraceCheckUtils]: 16: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {697#true} is VALID [2020-07-28 19:08:02,185 INFO L280 TraceCheckUtils]: 17: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,185 INFO L280 TraceCheckUtils]: 18: Hoare triple {697#true} assume ~n < 1;#res := 0; {697#true} is VALID [2020-07-28 19:08:02,185 INFO L280 TraceCheckUtils]: 19: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,187 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {697#true} {755#(<= 2 |fibonacci_#in~n|)} #32#return; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,188 INFO L280 TraceCheckUtils]: 21: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,188 INFO L280 TraceCheckUtils]: 22: Hoare triple {755#(<= 2 |fibonacci_#in~n|)} assume true; {755#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,190 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {755#(<= 2 |fibonacci_#in~n|)} {697#true} #30#return; {748#(<= 3 fibonacci_~n)} is VALID [2020-07-28 19:08:02,191 INFO L280 TraceCheckUtils]: 24: Hoare triple {748#(<= 3 fibonacci_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {748#(<= 3 fibonacci_~n)} is VALID [2020-07-28 19:08:02,191 INFO L263 TraceCheckUtils]: 25: Hoare triple {748#(<= 3 fibonacci_~n)} call #t~ret1 := fibonacci(~n - 2); {697#true} is VALID [2020-07-28 19:08:02,192 INFO L280 TraceCheckUtils]: 26: Hoare triple {697#true} ~n := #in~n; {753#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:02,192 INFO L280 TraceCheckUtils]: 27: Hoare triple {753#(= fibonacci_~n |fibonacci_#in~n|)} assume ~n < 1;#res := 0; {765#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:02,193 INFO L280 TraceCheckUtils]: 28: Hoare triple {765#(<= |fibonacci_#in~n| 0)} assume true; {765#(<= |fibonacci_#in~n| 0)} is VALID [2020-07-28 19:08:02,194 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {765#(<= |fibonacci_#in~n| 0)} {748#(<= 3 fibonacci_~n)} #32#return; {698#false} is VALID [2020-07-28 19:08:02,195 INFO L280 TraceCheckUtils]: 30: Hoare triple {698#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {698#false} is VALID [2020-07-28 19:08:02,195 INFO L280 TraceCheckUtils]: 31: Hoare triple {698#false} assume true; {698#false} is VALID [2020-07-28 19:08:02,195 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {698#false} {697#true} #34#return; {698#false} is VALID [2020-07-28 19:08:02,196 INFO L280 TraceCheckUtils]: 33: Hoare triple {698#false} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {698#false} is VALID [2020-07-28 19:08:02,196 INFO L280 TraceCheckUtils]: 34: Hoare triple {698#false} assume !(5 != main_~x~0 || 3 == main_~result~0); {698#false} is VALID [2020-07-28 19:08:02,196 INFO L280 TraceCheckUtils]: 35: Hoare triple {698#false} assume !false; {698#false} is VALID [2020-07-28 19:08:02,198 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 23 proven. 7 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2020-07-28 19:08:02,198 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1958807920] [2020-07-28 19:08:02,198 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1426474717] [2020-07-28 19:08:02,198 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 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:08:02,223 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:08:02,224 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:08:02,224 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:08:02,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:02,234 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:02,540 INFO L280 TraceCheckUtils]: 0: Hoare triple {697#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {697#true} is VALID [2020-07-28 19:08:02,540 INFO L263 TraceCheckUtils]: 1: Hoare triple {697#true} call main_#t~ret3 := fibonacci(main_~x~0); {697#true} is VALID [2020-07-28 19:08:02,541 INFO L280 TraceCheckUtils]: 2: Hoare triple {697#true} ~n := #in~n; {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,541 INFO L280 TraceCheckUtils]: 3: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,542 INFO L280 TraceCheckUtils]: 4: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(1 == ~n); {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,542 INFO L263 TraceCheckUtils]: 5: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {697#true} is VALID [2020-07-28 19:08:02,542 INFO L280 TraceCheckUtils]: 6: Hoare triple {697#true} ~n := #in~n; {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,543 INFO L280 TraceCheckUtils]: 7: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,543 INFO L280 TraceCheckUtils]: 8: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(1 == ~n); {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,543 INFO L263 TraceCheckUtils]: 9: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {697#true} is VALID [2020-07-28 19:08:02,544 INFO L280 TraceCheckUtils]: 10: Hoare triple {697#true} ~n := #in~n; {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,544 INFO L280 TraceCheckUtils]: 11: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {775#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:02,545 INFO L280 TraceCheckUtils]: 12: Hoare triple {775#(<= |fibonacci_#in~n| fibonacci_~n)} assume 1 == ~n;#res := 1; {806#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:02,546 INFO L280 TraceCheckUtils]: 13: Hoare triple {806#(<= |fibonacci_#in~n| 1)} assume true; {806#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:02,547 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {806#(<= |fibonacci_#in~n| 1)} {775#(<= |fibonacci_#in~n| fibonacci_~n)} #30#return; {813#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:02,548 INFO L280 TraceCheckUtils]: 15: Hoare triple {813#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {813#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:02,548 INFO L263 TraceCheckUtils]: 16: Hoare triple {813#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {697#true} is VALID [2020-07-28 19:08:02,548 INFO L280 TraceCheckUtils]: 17: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,548 INFO L280 TraceCheckUtils]: 18: Hoare triple {697#true} assume ~n < 1;#res := 0; {697#true} is VALID [2020-07-28 19:08:02,549 INFO L280 TraceCheckUtils]: 19: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,549 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {697#true} {813#(<= |fibonacci_#in~n| 2)} #32#return; {813#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:02,550 INFO L280 TraceCheckUtils]: 21: Hoare triple {813#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {813#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:02,551 INFO L280 TraceCheckUtils]: 22: Hoare triple {813#(<= |fibonacci_#in~n| 2)} assume true; {813#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:02,552 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {813#(<= |fibonacci_#in~n| 2)} {775#(<= |fibonacci_#in~n| fibonacci_~n)} #30#return; {841#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:02,554 INFO L280 TraceCheckUtils]: 24: Hoare triple {841#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {841#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:02,554 INFO L263 TraceCheckUtils]: 25: Hoare triple {841#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {697#true} is VALID [2020-07-28 19:08:02,554 INFO L280 TraceCheckUtils]: 26: Hoare triple {697#true} ~n := #in~n; {697#true} is VALID [2020-07-28 19:08:02,554 INFO L280 TraceCheckUtils]: 27: Hoare triple {697#true} assume ~n < 1;#res := 0; {697#true} is VALID [2020-07-28 19:08:02,555 INFO L280 TraceCheckUtils]: 28: Hoare triple {697#true} assume true; {697#true} is VALID [2020-07-28 19:08:02,558 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {697#true} {841#(<= |fibonacci_#in~n| 3)} #32#return; {841#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:02,559 INFO L280 TraceCheckUtils]: 30: Hoare triple {841#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {841#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:02,559 INFO L280 TraceCheckUtils]: 31: Hoare triple {841#(<= |fibonacci_#in~n| 3)} assume true; {841#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:02,560 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {841#(<= |fibonacci_#in~n| 3)} {697#true} #34#return; {869#(<= ULTIMATE.start_main_~x~0 3)} is VALID [2020-07-28 19:08:02,560 INFO L280 TraceCheckUtils]: 33: Hoare triple {869#(<= ULTIMATE.start_main_~x~0 3)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {869#(<= ULTIMATE.start_main_~x~0 3)} is VALID [2020-07-28 19:08:02,561 INFO L280 TraceCheckUtils]: 34: Hoare triple {869#(<= ULTIMATE.start_main_~x~0 3)} assume !(5 != main_~x~0 || 3 == main_~result~0); {698#false} is VALID [2020-07-28 19:08:02,561 INFO L280 TraceCheckUtils]: 35: Hoare triple {698#false} assume !false; {698#false} is VALID [2020-07-28 19:08:02,563 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2020-07-28 19:08:02,563 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:02,563 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2020-07-28 19:08:02,563 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1704221797] [2020-07-28 19:08:02,564 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 36 [2020-07-28 19:08:02,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:02,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:08:02,623 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:08:02,623 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:08:02,624 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:08:02,624 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:08:02,625 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:08:02,625 INFO L87 Difference]: Start difference. First operand 33 states and 47 transitions. Second operand 12 states. [2020-07-28 19:08:03,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:03,276 INFO L93 Difference]: Finished difference Result 67 states and 102 transitions. [2020-07-28 19:08:03,276 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-28 19:08:03,276 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 36 [2020-07-28 19:08:03,277 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:03,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:08:03,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2020-07-28 19:08:03,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:08:03,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2020-07-28 19:08:03,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 69 transitions. [2020-07-28 19:08:03,372 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:08:03,375 INFO L225 Difference]: With dead ends: 67 [2020-07-28 19:08:03,375 INFO L226 Difference]: Without dead ends: 34 [2020-07-28 19:08:03,376 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=88, Invalid=254, Unknown=0, NotChecked=0, Total=342 [2020-07-28 19:08:03,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2020-07-28 19:08:03,391 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2020-07-28 19:08:03,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:03,392 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 34 states. [2020-07-28 19:08:03,392 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 34 states. [2020-07-28 19:08:03,392 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 34 states. [2020-07-28 19:08:03,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:03,396 INFO L93 Difference]: Finished difference Result 34 states and 42 transitions. [2020-07-28 19:08:03,396 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2020-07-28 19:08:03,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:03,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:03,397 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 34 states. [2020-07-28 19:08:03,397 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 34 states. [2020-07-28 19:08:03,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:03,400 INFO L93 Difference]: Finished difference Result 34 states and 42 transitions. [2020-07-28 19:08:03,400 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2020-07-28 19:08:03,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:03,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:03,401 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:03,401 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:03,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2020-07-28 19:08:03,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 42 transitions. [2020-07-28 19:08:03,404 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 42 transitions. Word has length 36 [2020-07-28 19:08:03,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:03,404 INFO L479 AbstractCegarLoop]: Abstraction has 34 states and 42 transitions. [2020-07-28 19:08:03,404 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:08:03,404 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2020-07-28 19:08:03,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-28 19:08:03,406 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:03,406 INFO L422 BasicCegarLoop]: trace histogram [11, 11, 9, 5, 5, 5, 5, 5, 5, 5, 4, 2, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:03,620 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:08:03,621 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:03,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:03,622 INFO L82 PathProgramCache]: Analyzing trace with hash -181993491, now seen corresponding path program 3 times [2020-07-28 19:08:03,622 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:08:03,623 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [483856614] [2020-07-28 19:08:03,623 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:08:03,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:03,733 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:08:03,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:03,826 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:03,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:03,855 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:03,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:03,880 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:03,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:03,907 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,908 INFO L280 TraceCheckUtils]: 1: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,909 INFO L280 TraceCheckUtils]: 2: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:03,910 INFO L280 TraceCheckUtils]: 3: Hoare triple {1263#(<= |fibonacci_#in~n| 1)} assume true; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:03,913 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1263#(<= |fibonacci_#in~n| 1)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,913 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:03,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:03,925 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:03,925 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:03,926 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:03,927 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1087#true} {1258#(<= |fibonacci_#in~n| 2)} #32#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,929 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,929 INFO L280 TraceCheckUtils]: 1: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,930 INFO L280 TraceCheckUtils]: 2: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,931 INFO L263 TraceCheckUtils]: 3: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:03,932 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,932 INFO L280 TraceCheckUtils]: 5: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,933 INFO L280 TraceCheckUtils]: 6: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:03,934 INFO L280 TraceCheckUtils]: 7: Hoare triple {1263#(<= |fibonacci_#in~n| 1)} assume true; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:03,936 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {1263#(<= |fibonacci_#in~n| 1)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,937 INFO L280 TraceCheckUtils]: 9: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,938 INFO L263 TraceCheckUtils]: 10: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:03,938 INFO L280 TraceCheckUtils]: 11: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:03,939 INFO L280 TraceCheckUtils]: 12: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:03,939 INFO L280 TraceCheckUtils]: 13: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:03,941 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1087#true} {1258#(<= |fibonacci_#in~n| 2)} #32#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,942 INFO L280 TraceCheckUtils]: 15: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,943 INFO L280 TraceCheckUtils]: 16: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume true; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,945 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1258#(<= |fibonacci_#in~n| 2)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:03,948 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:08:03,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:03,961 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:03,962 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:03,962 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:03,962 INFO L280 TraceCheckUtils]: 3: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:03,963 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1087#true} {1247#(<= |fibonacci_#in~n| 3)} #32#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:03,964 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,965 INFO L280 TraceCheckUtils]: 1: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,966 INFO L280 TraceCheckUtils]: 2: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,966 INFO L263 TraceCheckUtils]: 3: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:03,967 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,967 INFO L280 TraceCheckUtils]: 5: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,968 INFO L280 TraceCheckUtils]: 6: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,968 INFO L263 TraceCheckUtils]: 7: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:03,969 INFO L280 TraceCheckUtils]: 8: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,970 INFO L280 TraceCheckUtils]: 9: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:03,971 INFO L280 TraceCheckUtils]: 10: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:03,973 INFO L280 TraceCheckUtils]: 11: Hoare triple {1263#(<= |fibonacci_#in~n| 1)} assume true; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:03,975 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1263#(<= |fibonacci_#in~n| 1)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,976 INFO L280 TraceCheckUtils]: 13: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,976 INFO L263 TraceCheckUtils]: 14: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:03,976 INFO L280 TraceCheckUtils]: 15: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:03,976 INFO L280 TraceCheckUtils]: 16: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:03,977 INFO L280 TraceCheckUtils]: 17: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:03,978 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1087#true} {1258#(<= |fibonacci_#in~n| 2)} #32#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,979 INFO L280 TraceCheckUtils]: 19: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,980 INFO L280 TraceCheckUtils]: 20: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume true; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:03,982 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1258#(<= |fibonacci_#in~n| 2)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:03,983 INFO L280 TraceCheckUtils]: 22: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:03,983 INFO L263 TraceCheckUtils]: 23: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:03,984 INFO L280 TraceCheckUtils]: 24: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:03,984 INFO L280 TraceCheckUtils]: 25: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:03,984 INFO L280 TraceCheckUtils]: 26: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:03,984 INFO L280 TraceCheckUtils]: 27: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:03,986 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1087#true} {1247#(<= |fibonacci_#in~n| 3)} #32#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:03,986 INFO L280 TraceCheckUtils]: 29: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:03,987 INFO L280 TraceCheckUtils]: 30: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume true; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:03,992 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1247#(<= |fibonacci_#in~n| 3)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:03,994 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2020-07-28 19:08:04,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:04,011 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:04,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:04,019 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:04,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:04,024 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,024 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,024 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,025 INFO L280 TraceCheckUtils]: 3: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,025 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,025 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:04,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:04,030 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,030 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,031 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,031 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,031 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,032 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,032 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,032 INFO L263 TraceCheckUtils]: 3: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,033 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,033 INFO L280 TraceCheckUtils]: 5: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,038 INFO L280 TraceCheckUtils]: 6: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,039 INFO L280 TraceCheckUtils]: 7: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,039 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,040 INFO L280 TraceCheckUtils]: 9: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,040 INFO L263 TraceCheckUtils]: 10: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,040 INFO L280 TraceCheckUtils]: 11: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,041 INFO L280 TraceCheckUtils]: 12: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,041 INFO L280 TraceCheckUtils]: 13: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,043 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,044 INFO L280 TraceCheckUtils]: 15: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,044 INFO L280 TraceCheckUtils]: 16: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,044 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,045 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:08:04,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:04,054 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,055 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,055 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,055 INFO L280 TraceCheckUtils]: 3: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,056 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,056 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,056 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,057 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,057 INFO L263 TraceCheckUtils]: 3: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,057 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,058 INFO L280 TraceCheckUtils]: 5: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,058 INFO L280 TraceCheckUtils]: 6: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,058 INFO L263 TraceCheckUtils]: 7: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,059 INFO L280 TraceCheckUtils]: 8: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,059 INFO L280 TraceCheckUtils]: 9: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,059 INFO L280 TraceCheckUtils]: 10: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,059 INFO L280 TraceCheckUtils]: 11: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,060 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,060 INFO L280 TraceCheckUtils]: 13: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,060 INFO L263 TraceCheckUtils]: 14: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,060 INFO L280 TraceCheckUtils]: 15: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,061 INFO L280 TraceCheckUtils]: 16: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,061 INFO L280 TraceCheckUtils]: 17: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,061 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,062 INFO L280 TraceCheckUtils]: 19: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,062 INFO L280 TraceCheckUtils]: 20: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,063 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,063 INFO L280 TraceCheckUtils]: 22: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,063 INFO L263 TraceCheckUtils]: 23: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,064 INFO L280 TraceCheckUtils]: 24: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,064 INFO L280 TraceCheckUtils]: 25: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,064 INFO L280 TraceCheckUtils]: 26: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,064 INFO L280 TraceCheckUtils]: 27: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,065 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,065 INFO L280 TraceCheckUtils]: 29: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,065 INFO L280 TraceCheckUtils]: 30: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,067 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1087#true} {1196#(<= |fibonacci_#in~n| 4)} #32#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,071 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,073 INFO L280 TraceCheckUtils]: 1: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,074 INFO L280 TraceCheckUtils]: 2: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,075 INFO L263 TraceCheckUtils]: 3: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,076 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,076 INFO L280 TraceCheckUtils]: 5: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,077 INFO L280 TraceCheckUtils]: 6: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,077 INFO L263 TraceCheckUtils]: 7: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,078 INFO L280 TraceCheckUtils]: 8: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,079 INFO L280 TraceCheckUtils]: 9: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,080 INFO L280 TraceCheckUtils]: 10: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,080 INFO L263 TraceCheckUtils]: 11: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,081 INFO L280 TraceCheckUtils]: 12: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,081 INFO L280 TraceCheckUtils]: 13: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,082 INFO L280 TraceCheckUtils]: 14: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:04,083 INFO L280 TraceCheckUtils]: 15: Hoare triple {1263#(<= |fibonacci_#in~n| 1)} assume true; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:04,085 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1263#(<= |fibonacci_#in~n| 1)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,085 INFO L280 TraceCheckUtils]: 17: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,086 INFO L263 TraceCheckUtils]: 18: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,086 INFO L280 TraceCheckUtils]: 19: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,086 INFO L280 TraceCheckUtils]: 20: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,087 INFO L280 TraceCheckUtils]: 21: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,088 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1087#true} {1258#(<= |fibonacci_#in~n| 2)} #32#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,089 INFO L280 TraceCheckUtils]: 23: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,089 INFO L280 TraceCheckUtils]: 24: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume true; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,091 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {1258#(<= |fibonacci_#in~n| 2)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,092 INFO L280 TraceCheckUtils]: 26: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,092 INFO L263 TraceCheckUtils]: 27: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,092 INFO L280 TraceCheckUtils]: 28: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,093 INFO L280 TraceCheckUtils]: 29: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,093 INFO L280 TraceCheckUtils]: 30: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,093 INFO L280 TraceCheckUtils]: 31: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,094 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1087#true} {1247#(<= |fibonacci_#in~n| 3)} #32#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,095 INFO L280 TraceCheckUtils]: 33: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,096 INFO L280 TraceCheckUtils]: 34: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume true; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,097 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {1247#(<= |fibonacci_#in~n| 3)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,098 INFO L280 TraceCheckUtils]: 36: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,098 INFO L263 TraceCheckUtils]: 37: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,099 INFO L280 TraceCheckUtils]: 38: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,099 INFO L280 TraceCheckUtils]: 39: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,099 INFO L280 TraceCheckUtils]: 40: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,099 INFO L263 TraceCheckUtils]: 41: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,100 INFO L280 TraceCheckUtils]: 42: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,100 INFO L280 TraceCheckUtils]: 43: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,100 INFO L280 TraceCheckUtils]: 44: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,100 INFO L263 TraceCheckUtils]: 45: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,101 INFO L280 TraceCheckUtils]: 46: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,101 INFO L280 TraceCheckUtils]: 47: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,101 INFO L280 TraceCheckUtils]: 48: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,101 INFO L280 TraceCheckUtils]: 49: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,102 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,102 INFO L280 TraceCheckUtils]: 51: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,102 INFO L263 TraceCheckUtils]: 52: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,102 INFO L280 TraceCheckUtils]: 53: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,102 INFO L280 TraceCheckUtils]: 54: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,103 INFO L280 TraceCheckUtils]: 55: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,103 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,103 INFO L280 TraceCheckUtils]: 57: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,103 INFO L280 TraceCheckUtils]: 58: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,104 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,104 INFO L280 TraceCheckUtils]: 60: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,104 INFO L263 TraceCheckUtils]: 61: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,104 INFO L280 TraceCheckUtils]: 62: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,105 INFO L280 TraceCheckUtils]: 63: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,105 INFO L280 TraceCheckUtils]: 64: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,105 INFO L280 TraceCheckUtils]: 65: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,105 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,106 INFO L280 TraceCheckUtils]: 67: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,106 INFO L280 TraceCheckUtils]: 68: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,107 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {1087#true} {1196#(<= |fibonacci_#in~n| 4)} #32#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,108 INFO L280 TraceCheckUtils]: 70: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,109 INFO L280 TraceCheckUtils]: 71: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume true; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,110 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {1196#(<= |fibonacci_#in~n| 4)} {1087#true} #34#return; {1162#(<= ULTIMATE.start_main_~x~0 4)} is VALID [2020-07-28 19:08:04,118 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {1087#true} is VALID [2020-07-28 19:08:04,119 INFO L263 TraceCheckUtils]: 1: Hoare triple {1087#true} call main_#t~ret3 := fibonacci(main_~x~0); {1087#true} is VALID [2020-07-28 19:08:04,120 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,120 INFO L280 TraceCheckUtils]: 3: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,121 INFO L280 TraceCheckUtils]: 4: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,121 INFO L263 TraceCheckUtils]: 5: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,122 INFO L280 TraceCheckUtils]: 6: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,135 INFO L280 TraceCheckUtils]: 7: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,136 INFO L280 TraceCheckUtils]: 8: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,136 INFO L263 TraceCheckUtils]: 9: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,137 INFO L280 TraceCheckUtils]: 10: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,138 INFO L280 TraceCheckUtils]: 11: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,138 INFO L280 TraceCheckUtils]: 12: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,139 INFO L263 TraceCheckUtils]: 13: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,140 INFO L280 TraceCheckUtils]: 14: Hoare triple {1087#true} ~n := #in~n; {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,141 INFO L280 TraceCheckUtils]: 15: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {1163#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:04,142 INFO L280 TraceCheckUtils]: 16: Hoare triple {1163#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:04,143 INFO L280 TraceCheckUtils]: 17: Hoare triple {1263#(<= |fibonacci_#in~n| 1)} assume true; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:04,145 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1263#(<= |fibonacci_#in~n| 1)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,146 INFO L280 TraceCheckUtils]: 19: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,146 INFO L263 TraceCheckUtils]: 20: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,146 INFO L280 TraceCheckUtils]: 21: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,146 INFO L280 TraceCheckUtils]: 22: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,146 INFO L280 TraceCheckUtils]: 23: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,148 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1087#true} {1258#(<= |fibonacci_#in~n| 2)} #32#return; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,162 INFO L280 TraceCheckUtils]: 25: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,164 INFO L280 TraceCheckUtils]: 26: Hoare triple {1258#(<= |fibonacci_#in~n| 2)} assume true; {1258#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:04,166 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1258#(<= |fibonacci_#in~n| 2)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,167 INFO L280 TraceCheckUtils]: 28: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,167 INFO L263 TraceCheckUtils]: 29: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,168 INFO L280 TraceCheckUtils]: 30: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,168 INFO L280 TraceCheckUtils]: 31: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,168 INFO L280 TraceCheckUtils]: 32: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,168 INFO L280 TraceCheckUtils]: 33: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,169 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {1087#true} {1247#(<= |fibonacci_#in~n| 3)} #32#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,170 INFO L280 TraceCheckUtils]: 35: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,170 INFO L280 TraceCheckUtils]: 36: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume true; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,171 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {1247#(<= |fibonacci_#in~n| 3)} {1163#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,172 INFO L280 TraceCheckUtils]: 38: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,172 INFO L263 TraceCheckUtils]: 39: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,173 INFO L280 TraceCheckUtils]: 40: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,173 INFO L280 TraceCheckUtils]: 41: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,173 INFO L280 TraceCheckUtils]: 42: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,173 INFO L263 TraceCheckUtils]: 43: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,173 INFO L280 TraceCheckUtils]: 44: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,173 INFO L280 TraceCheckUtils]: 45: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,174 INFO L280 TraceCheckUtils]: 46: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,174 INFO L263 TraceCheckUtils]: 47: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,174 INFO L280 TraceCheckUtils]: 48: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,175 INFO L280 TraceCheckUtils]: 49: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,175 INFO L280 TraceCheckUtils]: 50: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,175 INFO L280 TraceCheckUtils]: 51: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,175 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,175 INFO L280 TraceCheckUtils]: 53: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,175 INFO L263 TraceCheckUtils]: 54: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,176 INFO L280 TraceCheckUtils]: 55: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,176 INFO L280 TraceCheckUtils]: 56: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,176 INFO L280 TraceCheckUtils]: 57: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,177 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,177 INFO L280 TraceCheckUtils]: 59: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,177 INFO L280 TraceCheckUtils]: 60: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,177 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,177 INFO L280 TraceCheckUtils]: 62: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,178 INFO L263 TraceCheckUtils]: 63: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,178 INFO L280 TraceCheckUtils]: 64: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,178 INFO L280 TraceCheckUtils]: 65: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,178 INFO L280 TraceCheckUtils]: 66: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,178 INFO L280 TraceCheckUtils]: 67: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,178 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,179 INFO L280 TraceCheckUtils]: 69: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,179 INFO L280 TraceCheckUtils]: 70: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,180 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {1087#true} {1196#(<= |fibonacci_#in~n| 4)} #32#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,181 INFO L280 TraceCheckUtils]: 72: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,181 INFO L280 TraceCheckUtils]: 73: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume true; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,182 INFO L275 TraceCheckUtils]: 74: Hoare quadruple {1196#(<= |fibonacci_#in~n| 4)} {1087#true} #34#return; {1162#(<= ULTIMATE.start_main_~x~0 4)} is VALID [2020-07-28 19:08:04,183 INFO L280 TraceCheckUtils]: 75: Hoare triple {1162#(<= ULTIMATE.start_main_~x~0 4)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {1162#(<= ULTIMATE.start_main_~x~0 4)} is VALID [2020-07-28 19:08:04,184 INFO L280 TraceCheckUtils]: 76: Hoare triple {1162#(<= ULTIMATE.start_main_~x~0 4)} assume !(5 != main_~x~0 || 3 == main_~result~0); {1088#false} is VALID [2020-07-28 19:08:04,184 INFO L280 TraceCheckUtils]: 77: Hoare triple {1088#false} assume !false; {1088#false} is VALID [2020-07-28 19:08:04,189 INFO L134 CoverageAnalysis]: Checked inductivity of 296 backedges. 22 proven. 127 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2020-07-28 19:08:04,190 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [483856614] [2020-07-28 19:08:04,190 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1923941687] [2020-07-28 19:08:04,190 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 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:08:04,237 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2020-07-28 19:08:04,237 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:08:04,238 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:08:04,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:04,262 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:04,563 INFO L280 TraceCheckUtils]: 0: Hoare triple {1087#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {1087#true} is VALID [2020-07-28 19:08:04,563 INFO L263 TraceCheckUtils]: 1: Hoare triple {1087#true} call main_#t~ret3 := fibonacci(main_~x~0); {1087#true} is VALID [2020-07-28 19:08:04,564 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#true} ~n := #in~n; {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,565 INFO L280 TraceCheckUtils]: 3: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,565 INFO L280 TraceCheckUtils]: 4: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(1 == ~n); {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,565 INFO L263 TraceCheckUtils]: 5: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,566 INFO L280 TraceCheckUtils]: 6: Hoare triple {1087#true} ~n := #in~n; {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,567 INFO L280 TraceCheckUtils]: 7: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,567 INFO L280 TraceCheckUtils]: 8: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(1 == ~n); {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,567 INFO L263 TraceCheckUtils]: 9: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,567 INFO L280 TraceCheckUtils]: 10: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,568 INFO L280 TraceCheckUtils]: 11: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,568 INFO L280 TraceCheckUtils]: 12: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,568 INFO L263 TraceCheckUtils]: 13: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,568 INFO L280 TraceCheckUtils]: 14: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,569 INFO L280 TraceCheckUtils]: 15: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,569 INFO L280 TraceCheckUtils]: 16: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,569 INFO L280 TraceCheckUtils]: 17: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,569 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,569 INFO L280 TraceCheckUtils]: 19: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,569 INFO L263 TraceCheckUtils]: 20: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,570 INFO L280 TraceCheckUtils]: 21: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,570 INFO L280 TraceCheckUtils]: 22: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,570 INFO L280 TraceCheckUtils]: 23: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,571 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,571 INFO L280 TraceCheckUtils]: 25: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,571 INFO L280 TraceCheckUtils]: 26: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,573 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1087#true} {1305#(<= |fibonacci_#in~n| fibonacci_~n)} #30#return; {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,574 INFO L280 TraceCheckUtils]: 28: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,574 INFO L263 TraceCheckUtils]: 29: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,575 INFO L280 TraceCheckUtils]: 30: Hoare triple {1087#true} ~n := #in~n; {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,575 INFO L280 TraceCheckUtils]: 31: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} assume !(~n < 1); {1305#(<= |fibonacci_#in~n| fibonacci_~n)} is VALID [2020-07-28 19:08:04,576 INFO L280 TraceCheckUtils]: 32: Hoare triple {1305#(<= |fibonacci_#in~n| fibonacci_~n)} assume 1 == ~n;#res := 1; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:04,576 INFO L280 TraceCheckUtils]: 33: Hoare triple {1263#(<= |fibonacci_#in~n| 1)} assume true; {1263#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:04,578 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {1263#(<= |fibonacci_#in~n| 1)} {1305#(<= |fibonacci_#in~n| fibonacci_~n)} #32#return; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,578 INFO L280 TraceCheckUtils]: 35: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,579 INFO L280 TraceCheckUtils]: 36: Hoare triple {1247#(<= |fibonacci_#in~n| 3)} assume true; {1247#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:04,580 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {1247#(<= |fibonacci_#in~n| 3)} {1305#(<= |fibonacci_#in~n| fibonacci_~n)} #30#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,581 INFO L280 TraceCheckUtils]: 38: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,581 INFO L263 TraceCheckUtils]: 39: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,581 INFO L280 TraceCheckUtils]: 40: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,581 INFO L280 TraceCheckUtils]: 41: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,582 INFO L280 TraceCheckUtils]: 42: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,582 INFO L263 TraceCheckUtils]: 43: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,582 INFO L280 TraceCheckUtils]: 44: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,582 INFO L280 TraceCheckUtils]: 45: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,582 INFO L280 TraceCheckUtils]: 46: Hoare triple {1087#true} assume !(1 == ~n); {1087#true} is VALID [2020-07-28 19:08:04,582 INFO L263 TraceCheckUtils]: 47: Hoare triple {1087#true} call #t~ret0 := fibonacci(~n - 1); {1087#true} is VALID [2020-07-28 19:08:04,582 INFO L280 TraceCheckUtils]: 48: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,583 INFO L280 TraceCheckUtils]: 49: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,583 INFO L280 TraceCheckUtils]: 50: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,583 INFO L280 TraceCheckUtils]: 51: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,583 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,583 INFO L280 TraceCheckUtils]: 53: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,583 INFO L263 TraceCheckUtils]: 54: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,584 INFO L280 TraceCheckUtils]: 55: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,584 INFO L280 TraceCheckUtils]: 56: Hoare triple {1087#true} assume ~n < 1;#res := 0; {1087#true} is VALID [2020-07-28 19:08:04,584 INFO L280 TraceCheckUtils]: 57: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,585 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,585 INFO L280 TraceCheckUtils]: 59: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,585 INFO L280 TraceCheckUtils]: 60: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,585 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {1087#true} {1087#true} #30#return; {1087#true} is VALID [2020-07-28 19:08:04,585 INFO L280 TraceCheckUtils]: 62: Hoare triple {1087#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1087#true} is VALID [2020-07-28 19:08:04,586 INFO L263 TraceCheckUtils]: 63: Hoare triple {1087#true} call #t~ret1 := fibonacci(~n - 2); {1087#true} is VALID [2020-07-28 19:08:04,586 INFO L280 TraceCheckUtils]: 64: Hoare triple {1087#true} ~n := #in~n; {1087#true} is VALID [2020-07-28 19:08:04,586 INFO L280 TraceCheckUtils]: 65: Hoare triple {1087#true} assume !(~n < 1); {1087#true} is VALID [2020-07-28 19:08:04,586 INFO L280 TraceCheckUtils]: 66: Hoare triple {1087#true} assume 1 == ~n;#res := 1; {1087#true} is VALID [2020-07-28 19:08:04,586 INFO L280 TraceCheckUtils]: 67: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,586 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {1087#true} {1087#true} #32#return; {1087#true} is VALID [2020-07-28 19:08:04,587 INFO L280 TraceCheckUtils]: 69: Hoare triple {1087#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1087#true} is VALID [2020-07-28 19:08:04,587 INFO L280 TraceCheckUtils]: 70: Hoare triple {1087#true} assume true; {1087#true} is VALID [2020-07-28 19:08:04,589 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {1087#true} {1196#(<= |fibonacci_#in~n| 4)} #32#return; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,589 INFO L280 TraceCheckUtils]: 72: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,590 INFO L280 TraceCheckUtils]: 73: Hoare triple {1196#(<= |fibonacci_#in~n| 4)} assume true; {1196#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:04,592 INFO L275 TraceCheckUtils]: 74: Hoare quadruple {1196#(<= |fibonacci_#in~n| 4)} {1087#true} #34#return; {1162#(<= ULTIMATE.start_main_~x~0 4)} is VALID [2020-07-28 19:08:04,592 INFO L280 TraceCheckUtils]: 75: Hoare triple {1162#(<= ULTIMATE.start_main_~x~0 4)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {1162#(<= ULTIMATE.start_main_~x~0 4)} is VALID [2020-07-28 19:08:04,599 INFO L280 TraceCheckUtils]: 76: Hoare triple {1162#(<= ULTIMATE.start_main_~x~0 4)} assume !(5 != main_~x~0 || 3 == main_~result~0); {1088#false} is VALID [2020-07-28 19:08:04,599 INFO L280 TraceCheckUtils]: 77: Hoare triple {1088#false} assume !false; {1088#false} is VALID [2020-07-28 19:08:04,604 INFO L134 CoverageAnalysis]: Checked inductivity of 296 backedges. 41 proven. 82 refuted. 0 times theorem prover too weak. 173 trivial. 0 not checked. [2020-07-28 19:08:04,605 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:04,606 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 9 [2020-07-28 19:08:04,606 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1408969208] [2020-07-28 19:08:04,609 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 78 [2020-07-28 19:08:04,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:04,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-28 19:08:04,692 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:08:04,692 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-28 19:08:04,692 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:08:04,693 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-28 19:08:04,693 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2020-07-28 19:08:04,693 INFO L87 Difference]: Start difference. First operand 34 states and 42 transitions. Second operand 9 states. [2020-07-28 19:08:05,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:05,128 INFO L93 Difference]: Finished difference Result 76 states and 107 transitions. [2020-07-28 19:08:05,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 19:08:05,128 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 78 [2020-07-28 19:08:05,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:05,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 19:08:05,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2020-07-28 19:08:05,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 19:08:05,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2020-07-28 19:08:05,143 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2020-07-28 19:08:05,236 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:05,241 INFO L225 Difference]: With dead ends: 76 [2020-07-28 19:08:05,241 INFO L226 Difference]: Without dead ends: 72 [2020-07-28 19:08:05,242 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=54, Invalid=102, Unknown=0, NotChecked=0, Total=156 [2020-07-28 19:08:05,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2020-07-28 19:08:05,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 66. [2020-07-28 19:08:05,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:05,278 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 66 states. [2020-07-28 19:08:05,278 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 66 states. [2020-07-28 19:08:05,278 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 66 states. [2020-07-28 19:08:05,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:05,285 INFO L93 Difference]: Finished difference Result 72 states and 103 transitions. [2020-07-28 19:08:05,285 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 103 transitions. [2020-07-28 19:08:05,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:05,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:05,287 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 72 states. [2020-07-28 19:08:05,287 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 72 states. [2020-07-28 19:08:05,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:05,293 INFO L93 Difference]: Finished difference Result 72 states and 103 transitions. [2020-07-28 19:08:05,293 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 103 transitions. [2020-07-28 19:08:05,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:05,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:05,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:05,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:05,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2020-07-28 19:08:05,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 94 transitions. [2020-07-28 19:08:05,300 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 94 transitions. Word has length 78 [2020-07-28 19:08:05,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:05,301 INFO L479 AbstractCegarLoop]: Abstraction has 66 states and 94 transitions. [2020-07-28 19:08:05,301 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-28 19:08:05,301 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 94 transitions. [2020-07-28 19:08:05,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 147 [2020-07-28 19:08:05,303 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:05,304 INFO L422 BasicCegarLoop]: trace histogram [21, 21, 17, 10, 10, 10, 10, 10, 10, 10, 7, 4, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:05,513 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:08:05,514 INFO L427 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:05,514 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:05,515 INFO L82 PathProgramCache]: Analyzing trace with hash 2106103662, now seen corresponding path program 4 times [2020-07-28 19:08:05,515 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:08:05,516 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [470798222] [2020-07-28 19:08:05,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:08:05,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,600 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:08:05,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,690 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:05,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,738 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:05,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,762 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:05,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,790 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:05,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,809 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,809 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,810 INFO L280 TraceCheckUtils]: 2: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,811 INFO L280 TraceCheckUtils]: 3: Hoare triple {2222#(<= |fibonacci_#in~n| 1)} assume true; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,813 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2222#(<= |fibonacci_#in~n| 1)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,813 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:05,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,818 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,819 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:05,819 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,821 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1860#true} {2217#(<= |fibonacci_#in~n| 2)} #32#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,821 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,822 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,823 INFO L280 TraceCheckUtils]: 2: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,823 INFO L263 TraceCheckUtils]: 3: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,824 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,824 INFO L280 TraceCheckUtils]: 5: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,825 INFO L280 TraceCheckUtils]: 6: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,826 INFO L280 TraceCheckUtils]: 7: Hoare triple {2222#(<= |fibonacci_#in~n| 1)} assume true; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,828 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {2222#(<= |fibonacci_#in~n| 1)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,828 INFO L280 TraceCheckUtils]: 9: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,829 INFO L263 TraceCheckUtils]: 10: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,829 INFO L280 TraceCheckUtils]: 11: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,829 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:05,829 INFO L280 TraceCheckUtils]: 13: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,830 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1860#true} {2217#(<= |fibonacci_#in~n| 2)} #32#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,831 INFO L280 TraceCheckUtils]: 15: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,832 INFO L280 TraceCheckUtils]: 16: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume true; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,833 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2217#(<= |fibonacci_#in~n| 2)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,834 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:08:05,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,841 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,841 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,841 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:05,842 INFO L280 TraceCheckUtils]: 3: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,843 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1860#true} {2206#(<= |fibonacci_#in~n| 3)} #32#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,845 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,847 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,849 INFO L280 TraceCheckUtils]: 2: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,849 INFO L263 TraceCheckUtils]: 3: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,851 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,852 INFO L280 TraceCheckUtils]: 5: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,853 INFO L280 TraceCheckUtils]: 6: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,854 INFO L263 TraceCheckUtils]: 7: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,854 INFO L280 TraceCheckUtils]: 8: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,855 INFO L280 TraceCheckUtils]: 9: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,856 INFO L280 TraceCheckUtils]: 10: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,857 INFO L280 TraceCheckUtils]: 11: Hoare triple {2222#(<= |fibonacci_#in~n| 1)} assume true; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,858 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2222#(<= |fibonacci_#in~n| 1)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,859 INFO L280 TraceCheckUtils]: 13: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,859 INFO L263 TraceCheckUtils]: 14: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,859 INFO L280 TraceCheckUtils]: 15: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,860 INFO L280 TraceCheckUtils]: 16: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:05,860 INFO L280 TraceCheckUtils]: 17: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,861 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1860#true} {2217#(<= |fibonacci_#in~n| 2)} #32#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,862 INFO L280 TraceCheckUtils]: 19: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,862 INFO L280 TraceCheckUtils]: 20: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume true; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,864 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {2217#(<= |fibonacci_#in~n| 2)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,864 INFO L280 TraceCheckUtils]: 22: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,865 INFO L263 TraceCheckUtils]: 23: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,865 INFO L280 TraceCheckUtils]: 24: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,865 INFO L280 TraceCheckUtils]: 25: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,866 INFO L280 TraceCheckUtils]: 26: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:05,866 INFO L280 TraceCheckUtils]: 27: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,867 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1860#true} {2206#(<= |fibonacci_#in~n| 3)} #32#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,868 INFO L280 TraceCheckUtils]: 29: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,868 INFO L280 TraceCheckUtils]: 30: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume true; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,870 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2206#(<= |fibonacci_#in~n| 3)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:05,871 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2020-07-28 19:08:05,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,880 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:05,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,887 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,887 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,887 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:05,888 INFO L280 TraceCheckUtils]: 3: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,888 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:05,888 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:05,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,892 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,892 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:05,893 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,893 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:05,893 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,893 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,894 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:05,894 INFO L263 TraceCheckUtils]: 3: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,895 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,895 INFO L280 TraceCheckUtils]: 5: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,895 INFO L280 TraceCheckUtils]: 6: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:05,895 INFO L280 TraceCheckUtils]: 7: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,895 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:05,896 INFO L280 TraceCheckUtils]: 9: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:05,896 INFO L263 TraceCheckUtils]: 10: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,896 INFO L280 TraceCheckUtils]: 11: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,896 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:05,896 INFO L280 TraceCheckUtils]: 13: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,897 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:05,897 INFO L280 TraceCheckUtils]: 15: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:05,897 INFO L280 TraceCheckUtils]: 16: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,899 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1860#true} {2169#(<= |fibonacci_#in~n| 4)} #32#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:05,900 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,901 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,901 INFO L280 TraceCheckUtils]: 2: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,901 INFO L263 TraceCheckUtils]: 3: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,902 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,903 INFO L280 TraceCheckUtils]: 5: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,903 INFO L280 TraceCheckUtils]: 6: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,903 INFO L263 TraceCheckUtils]: 7: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,904 INFO L280 TraceCheckUtils]: 8: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,905 INFO L280 TraceCheckUtils]: 9: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,905 INFO L280 TraceCheckUtils]: 10: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,906 INFO L263 TraceCheckUtils]: 11: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,906 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,907 INFO L280 TraceCheckUtils]: 13: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:05,908 INFO L280 TraceCheckUtils]: 14: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,908 INFO L280 TraceCheckUtils]: 15: Hoare triple {2222#(<= |fibonacci_#in~n| 1)} assume true; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:05,910 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2222#(<= |fibonacci_#in~n| 1)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,910 INFO L280 TraceCheckUtils]: 17: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,911 INFO L263 TraceCheckUtils]: 18: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,911 INFO L280 TraceCheckUtils]: 19: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,911 INFO L280 TraceCheckUtils]: 20: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:05,911 INFO L280 TraceCheckUtils]: 21: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,912 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1860#true} {2217#(<= |fibonacci_#in~n| 2)} #32#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,913 INFO L280 TraceCheckUtils]: 23: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,914 INFO L280 TraceCheckUtils]: 24: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume true; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:05,915 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {2217#(<= |fibonacci_#in~n| 2)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,916 INFO L280 TraceCheckUtils]: 26: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,916 INFO L263 TraceCheckUtils]: 27: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,917 INFO L280 TraceCheckUtils]: 28: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,917 INFO L280 TraceCheckUtils]: 29: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,917 INFO L280 TraceCheckUtils]: 30: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:05,917 INFO L280 TraceCheckUtils]: 31: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,918 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1860#true} {2206#(<= |fibonacci_#in~n| 3)} #32#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,919 INFO L280 TraceCheckUtils]: 33: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,920 INFO L280 TraceCheckUtils]: 34: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume true; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:05,921 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {2206#(<= |fibonacci_#in~n| 3)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:05,922 INFO L280 TraceCheckUtils]: 36: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:05,922 INFO L263 TraceCheckUtils]: 37: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,922 INFO L280 TraceCheckUtils]: 38: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,923 INFO L280 TraceCheckUtils]: 39: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,923 INFO L280 TraceCheckUtils]: 40: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:05,923 INFO L263 TraceCheckUtils]: 41: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:05,923 INFO L280 TraceCheckUtils]: 42: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,924 INFO L280 TraceCheckUtils]: 43: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:05,924 INFO L280 TraceCheckUtils]: 44: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:05,924 INFO L280 TraceCheckUtils]: 45: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,924 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:05,924 INFO L280 TraceCheckUtils]: 47: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:05,925 INFO L263 TraceCheckUtils]: 48: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:05,925 INFO L280 TraceCheckUtils]: 49: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:05,925 INFO L280 TraceCheckUtils]: 50: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:05,925 INFO L280 TraceCheckUtils]: 51: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,925 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:05,925 INFO L280 TraceCheckUtils]: 53: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:05,926 INFO L280 TraceCheckUtils]: 54: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:05,927 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {1860#true} {2169#(<= |fibonacci_#in~n| 4)} #32#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:05,928 INFO L280 TraceCheckUtils]: 56: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:05,929 INFO L280 TraceCheckUtils]: 57: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume true; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:05,930 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {2169#(<= |fibonacci_#in~n| 4)} {1860#true} #30#return; {2062#(<= fibonacci_~n 5)} is VALID [2020-07-28 19:08:05,934 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 64 [2020-07-28 19:08:05,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:05,972 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:05,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,008 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:06,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,037 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:06,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,062 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:06,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,068 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,069 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,069 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,069 INFO L280 TraceCheckUtils]: 3: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,070 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,071 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:06,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,075 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,075 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,076 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,077 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,078 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,079 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,079 INFO L280 TraceCheckUtils]: 2: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume !(1 == ~n); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,080 INFO L263 TraceCheckUtils]: 3: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,080 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,080 INFO L280 TraceCheckUtils]: 5: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,081 INFO L280 TraceCheckUtils]: 6: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,081 INFO L280 TraceCheckUtils]: 7: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,082 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,083 INFO L280 TraceCheckUtils]: 9: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,084 INFO L263 TraceCheckUtils]: 10: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,084 INFO L280 TraceCheckUtils]: 11: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,084 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,084 INFO L280 TraceCheckUtils]: 13: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,086 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,086 INFO L280 TraceCheckUtils]: 15: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,087 INFO L280 TraceCheckUtils]: 16: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume true; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,088 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2372#(<= 1 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,089 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2020-07-28 19:08:06,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,094 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,094 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,094 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,095 INFO L280 TraceCheckUtils]: 3: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,096 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1860#true} {2366#(<= 2 |fibonacci_#in~n|)} #32#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,097 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,097 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,098 INFO L280 TraceCheckUtils]: 2: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,098 INFO L263 TraceCheckUtils]: 3: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,099 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,100 INFO L280 TraceCheckUtils]: 5: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,100 INFO L280 TraceCheckUtils]: 6: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume !(1 == ~n); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,100 INFO L263 TraceCheckUtils]: 7: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,101 INFO L280 TraceCheckUtils]: 8: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,101 INFO L280 TraceCheckUtils]: 9: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,101 INFO L280 TraceCheckUtils]: 10: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,101 INFO L280 TraceCheckUtils]: 11: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,102 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,103 INFO L280 TraceCheckUtils]: 13: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,103 INFO L263 TraceCheckUtils]: 14: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,103 INFO L280 TraceCheckUtils]: 15: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,104 INFO L280 TraceCheckUtils]: 16: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,104 INFO L280 TraceCheckUtils]: 17: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,105 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,106 INFO L280 TraceCheckUtils]: 19: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,106 INFO L280 TraceCheckUtils]: 20: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume true; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,108 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {2372#(<= 1 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,108 INFO L280 TraceCheckUtils]: 22: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,108 INFO L263 TraceCheckUtils]: 23: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,109 INFO L280 TraceCheckUtils]: 24: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,109 INFO L280 TraceCheckUtils]: 25: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,109 INFO L280 TraceCheckUtils]: 26: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,109 INFO L280 TraceCheckUtils]: 27: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,110 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1860#true} {2366#(<= 2 |fibonacci_#in~n|)} #32#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,111 INFO L280 TraceCheckUtils]: 29: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,112 INFO L280 TraceCheckUtils]: 30: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume true; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,113 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2366#(<= 2 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,114 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2020-07-28 19:08:06,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,122 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2020-07-28 19:08:06,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,126 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,126 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,127 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,127 INFO L280 TraceCheckUtils]: 3: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,127 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,127 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2020-07-28 19:08:06,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,131 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,131 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,131 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,131 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,132 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,132 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,132 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,132 INFO L263 TraceCheckUtils]: 3: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,132 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,133 INFO L280 TraceCheckUtils]: 5: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,133 INFO L280 TraceCheckUtils]: 6: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,133 INFO L280 TraceCheckUtils]: 7: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,134 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,134 INFO L280 TraceCheckUtils]: 9: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:06,134 INFO L263 TraceCheckUtils]: 10: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,134 INFO L280 TraceCheckUtils]: 11: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,134 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,135 INFO L280 TraceCheckUtils]: 13: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,135 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,135 INFO L280 TraceCheckUtils]: 15: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:06,136 INFO L280 TraceCheckUtils]: 16: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,137 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1860#true} {2329#(<= 3 |fibonacci_#in~n|)} #32#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,138 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,139 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,140 INFO L280 TraceCheckUtils]: 2: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,140 INFO L263 TraceCheckUtils]: 3: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,140 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,141 INFO L280 TraceCheckUtils]: 5: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,142 INFO L280 TraceCheckUtils]: 6: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,142 INFO L263 TraceCheckUtils]: 7: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,143 INFO L280 TraceCheckUtils]: 8: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,144 INFO L280 TraceCheckUtils]: 9: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,144 INFO L280 TraceCheckUtils]: 10: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume !(1 == ~n); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,144 INFO L263 TraceCheckUtils]: 11: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,145 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,145 INFO L280 TraceCheckUtils]: 13: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,145 INFO L280 TraceCheckUtils]: 14: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,145 INFO L280 TraceCheckUtils]: 15: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,146 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,147 INFO L280 TraceCheckUtils]: 17: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,147 INFO L263 TraceCheckUtils]: 18: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,147 INFO L280 TraceCheckUtils]: 19: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,148 INFO L280 TraceCheckUtils]: 20: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,148 INFO L280 TraceCheckUtils]: 21: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,149 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,150 INFO L280 TraceCheckUtils]: 23: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,150 INFO L280 TraceCheckUtils]: 24: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume true; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,152 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {2372#(<= 1 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,152 INFO L280 TraceCheckUtils]: 26: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,152 INFO L263 TraceCheckUtils]: 27: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,153 INFO L280 TraceCheckUtils]: 28: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,153 INFO L280 TraceCheckUtils]: 29: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,153 INFO L280 TraceCheckUtils]: 30: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,153 INFO L280 TraceCheckUtils]: 31: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,155 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1860#true} {2366#(<= 2 |fibonacci_#in~n|)} #32#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,155 INFO L280 TraceCheckUtils]: 33: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,156 INFO L280 TraceCheckUtils]: 34: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume true; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,158 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {2366#(<= 2 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,159 INFO L280 TraceCheckUtils]: 36: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,159 INFO L263 TraceCheckUtils]: 37: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,159 INFO L280 TraceCheckUtils]: 38: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,159 INFO L280 TraceCheckUtils]: 39: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,159 INFO L280 TraceCheckUtils]: 40: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,160 INFO L263 TraceCheckUtils]: 41: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,160 INFO L280 TraceCheckUtils]: 42: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,160 INFO L280 TraceCheckUtils]: 43: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,160 INFO L280 TraceCheckUtils]: 44: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,160 INFO L280 TraceCheckUtils]: 45: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,161 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,161 INFO L280 TraceCheckUtils]: 47: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:06,161 INFO L263 TraceCheckUtils]: 48: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,162 INFO L280 TraceCheckUtils]: 49: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,162 INFO L280 TraceCheckUtils]: 50: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,162 INFO L280 TraceCheckUtils]: 51: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,162 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,163 INFO L280 TraceCheckUtils]: 53: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:06,163 INFO L280 TraceCheckUtils]: 54: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,164 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {1860#true} {2329#(<= 3 |fibonacci_#in~n|)} #32#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,165 INFO L280 TraceCheckUtils]: 56: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,166 INFO L280 TraceCheckUtils]: 57: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume true; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,168 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {2329#(<= 3 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,172 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 64 [2020-07-28 19:08:06,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,177 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,177 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,177 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,177 INFO L280 TraceCheckUtils]: 3: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,179 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1860#true} {2291#(<= 4 |fibonacci_#in~n|)} #32#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,179 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,180 INFO L280 TraceCheckUtils]: 1: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,181 INFO L280 TraceCheckUtils]: 2: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,181 INFO L263 TraceCheckUtils]: 3: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,181 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,182 INFO L280 TraceCheckUtils]: 5: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,182 INFO L280 TraceCheckUtils]: 6: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,183 INFO L263 TraceCheckUtils]: 7: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,183 INFO L280 TraceCheckUtils]: 8: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,184 INFO L280 TraceCheckUtils]: 9: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,185 INFO L280 TraceCheckUtils]: 10: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,185 INFO L263 TraceCheckUtils]: 11: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,185 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,186 INFO L280 TraceCheckUtils]: 13: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,187 INFO L280 TraceCheckUtils]: 14: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume !(1 == ~n); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,187 INFO L263 TraceCheckUtils]: 15: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,187 INFO L280 TraceCheckUtils]: 16: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,187 INFO L280 TraceCheckUtils]: 17: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,188 INFO L280 TraceCheckUtils]: 18: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,188 INFO L280 TraceCheckUtils]: 19: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,189 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,190 INFO L280 TraceCheckUtils]: 21: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,190 INFO L263 TraceCheckUtils]: 22: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,190 INFO L280 TraceCheckUtils]: 23: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,190 INFO L280 TraceCheckUtils]: 24: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,191 INFO L280 TraceCheckUtils]: 25: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,192 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,192 INFO L280 TraceCheckUtils]: 27: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,193 INFO L280 TraceCheckUtils]: 28: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume true; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,194 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {2372#(<= 1 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,195 INFO L280 TraceCheckUtils]: 30: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,195 INFO L263 TraceCheckUtils]: 31: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,196 INFO L280 TraceCheckUtils]: 32: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,196 INFO L280 TraceCheckUtils]: 33: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,196 INFO L280 TraceCheckUtils]: 34: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,196 INFO L280 TraceCheckUtils]: 35: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,197 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {1860#true} {2366#(<= 2 |fibonacci_#in~n|)} #32#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,198 INFO L280 TraceCheckUtils]: 37: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,198 INFO L280 TraceCheckUtils]: 38: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume true; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,200 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2366#(<= 2 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,200 INFO L280 TraceCheckUtils]: 40: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,201 INFO L263 TraceCheckUtils]: 41: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,201 INFO L280 TraceCheckUtils]: 42: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,201 INFO L280 TraceCheckUtils]: 43: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,201 INFO L280 TraceCheckUtils]: 44: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,202 INFO L263 TraceCheckUtils]: 45: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,202 INFO L280 TraceCheckUtils]: 46: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,202 INFO L280 TraceCheckUtils]: 47: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,203 INFO L280 TraceCheckUtils]: 48: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,203 INFO L280 TraceCheckUtils]: 49: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,203 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,203 INFO L280 TraceCheckUtils]: 51: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:06,203 INFO L263 TraceCheckUtils]: 52: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,204 INFO L280 TraceCheckUtils]: 53: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,204 INFO L280 TraceCheckUtils]: 54: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,204 INFO L280 TraceCheckUtils]: 55: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,205 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,205 INFO L280 TraceCheckUtils]: 57: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:06,205 INFO L280 TraceCheckUtils]: 58: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,206 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {1860#true} {2329#(<= 3 |fibonacci_#in~n|)} #32#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,207 INFO L280 TraceCheckUtils]: 60: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,208 INFO L280 TraceCheckUtils]: 61: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume true; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,209 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {2329#(<= 3 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,210 INFO L280 TraceCheckUtils]: 63: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,211 INFO L263 TraceCheckUtils]: 64: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,211 INFO L280 TraceCheckUtils]: 65: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,211 INFO L280 TraceCheckUtils]: 66: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,212 INFO L280 TraceCheckUtils]: 67: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,212 INFO L280 TraceCheckUtils]: 68: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,213 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {1860#true} {2291#(<= 4 |fibonacci_#in~n|)} #32#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,214 INFO L280 TraceCheckUtils]: 70: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,214 INFO L280 TraceCheckUtils]: 71: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume true; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,216 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {2291#(<= 4 |fibonacci_#in~n|)} {2062#(<= fibonacci_~n 5)} #32#return; {1861#false} is VALID [2020-07-28 19:08:06,221 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,221 INFO L280 TraceCheckUtils]: 1: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,221 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,222 INFO L263 TraceCheckUtils]: 3: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,222 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,223 INFO L280 TraceCheckUtils]: 5: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,224 INFO L280 TraceCheckUtils]: 6: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,224 INFO L263 TraceCheckUtils]: 7: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,224 INFO L280 TraceCheckUtils]: 8: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,225 INFO L280 TraceCheckUtils]: 9: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,226 INFO L280 TraceCheckUtils]: 10: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,226 INFO L263 TraceCheckUtils]: 11: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,227 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,227 INFO L280 TraceCheckUtils]: 13: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,228 INFO L280 TraceCheckUtils]: 14: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,228 INFO L263 TraceCheckUtils]: 15: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,229 INFO L280 TraceCheckUtils]: 16: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,229 INFO L280 TraceCheckUtils]: 17: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,230 INFO L280 TraceCheckUtils]: 18: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:06,230 INFO L280 TraceCheckUtils]: 19: Hoare triple {2222#(<= |fibonacci_#in~n| 1)} assume true; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:06,232 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {2222#(<= |fibonacci_#in~n| 1)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,233 INFO L280 TraceCheckUtils]: 21: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,233 INFO L263 TraceCheckUtils]: 22: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,233 INFO L280 TraceCheckUtils]: 23: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,233 INFO L280 TraceCheckUtils]: 24: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,233 INFO L280 TraceCheckUtils]: 25: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,234 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {1860#true} {2217#(<= |fibonacci_#in~n| 2)} #32#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,235 INFO L280 TraceCheckUtils]: 27: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,236 INFO L280 TraceCheckUtils]: 28: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume true; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,237 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {2217#(<= |fibonacci_#in~n| 2)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,238 INFO L280 TraceCheckUtils]: 30: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,238 INFO L263 TraceCheckUtils]: 31: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,239 INFO L280 TraceCheckUtils]: 32: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,239 INFO L280 TraceCheckUtils]: 33: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,239 INFO L280 TraceCheckUtils]: 34: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,239 INFO L280 TraceCheckUtils]: 35: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,241 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {1860#true} {2206#(<= |fibonacci_#in~n| 3)} #32#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,241 INFO L280 TraceCheckUtils]: 37: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,242 INFO L280 TraceCheckUtils]: 38: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume true; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,243 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2206#(<= |fibonacci_#in~n| 3)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,244 INFO L280 TraceCheckUtils]: 40: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,245 INFO L263 TraceCheckUtils]: 41: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,245 INFO L280 TraceCheckUtils]: 42: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,245 INFO L280 TraceCheckUtils]: 43: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,245 INFO L280 TraceCheckUtils]: 44: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,245 INFO L263 TraceCheckUtils]: 45: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,245 INFO L280 TraceCheckUtils]: 46: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,246 INFO L280 TraceCheckUtils]: 47: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,246 INFO L280 TraceCheckUtils]: 48: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,246 INFO L280 TraceCheckUtils]: 49: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,246 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,246 INFO L280 TraceCheckUtils]: 51: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:06,247 INFO L263 TraceCheckUtils]: 52: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,247 INFO L280 TraceCheckUtils]: 53: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,247 INFO L280 TraceCheckUtils]: 54: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,248 INFO L280 TraceCheckUtils]: 55: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,248 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,248 INFO L280 TraceCheckUtils]: 57: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:06,248 INFO L280 TraceCheckUtils]: 58: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,250 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {1860#true} {2169#(<= |fibonacci_#in~n| 4)} #32#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,250 INFO L280 TraceCheckUtils]: 60: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,251 INFO L280 TraceCheckUtils]: 61: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume true; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,252 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {2169#(<= |fibonacci_#in~n| 4)} {1860#true} #30#return; {2062#(<= fibonacci_~n 5)} is VALID [2020-07-28 19:08:06,253 INFO L280 TraceCheckUtils]: 63: Hoare triple {2062#(<= fibonacci_~n 5)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2062#(<= fibonacci_~n 5)} is VALID [2020-07-28 19:08:06,253 INFO L263 TraceCheckUtils]: 64: Hoare triple {2062#(<= fibonacci_~n 5)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,254 INFO L280 TraceCheckUtils]: 65: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,254 INFO L280 TraceCheckUtils]: 66: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,255 INFO L280 TraceCheckUtils]: 67: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,255 INFO L263 TraceCheckUtils]: 68: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,256 INFO L280 TraceCheckUtils]: 69: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,256 INFO L280 TraceCheckUtils]: 70: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,257 INFO L280 TraceCheckUtils]: 71: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,257 INFO L263 TraceCheckUtils]: 72: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,258 INFO L280 TraceCheckUtils]: 73: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,259 INFO L280 TraceCheckUtils]: 74: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,259 INFO L280 TraceCheckUtils]: 75: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,259 INFO L263 TraceCheckUtils]: 76: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,260 INFO L280 TraceCheckUtils]: 77: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,261 INFO L280 TraceCheckUtils]: 78: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,262 INFO L280 TraceCheckUtils]: 79: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume !(1 == ~n); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,262 INFO L263 TraceCheckUtils]: 80: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,262 INFO L280 TraceCheckUtils]: 81: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,262 INFO L280 TraceCheckUtils]: 82: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,262 INFO L280 TraceCheckUtils]: 83: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,263 INFO L280 TraceCheckUtils]: 84: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,264 INFO L275 TraceCheckUtils]: 85: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,265 INFO L280 TraceCheckUtils]: 86: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,265 INFO L263 TraceCheckUtils]: 87: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,265 INFO L280 TraceCheckUtils]: 88: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,266 INFO L280 TraceCheckUtils]: 89: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,266 INFO L280 TraceCheckUtils]: 90: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,267 INFO L275 TraceCheckUtils]: 91: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,268 INFO L280 TraceCheckUtils]: 92: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,268 INFO L280 TraceCheckUtils]: 93: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume true; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,270 INFO L275 TraceCheckUtils]: 94: Hoare quadruple {2372#(<= 1 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,271 INFO L280 TraceCheckUtils]: 95: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,271 INFO L263 TraceCheckUtils]: 96: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,271 INFO L280 TraceCheckUtils]: 97: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,271 INFO L280 TraceCheckUtils]: 98: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,272 INFO L280 TraceCheckUtils]: 99: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,272 INFO L280 TraceCheckUtils]: 100: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,273 INFO L275 TraceCheckUtils]: 101: Hoare quadruple {1860#true} {2366#(<= 2 |fibonacci_#in~n|)} #32#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,274 INFO L280 TraceCheckUtils]: 102: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,274 INFO L280 TraceCheckUtils]: 103: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume true; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,276 INFO L275 TraceCheckUtils]: 104: Hoare quadruple {2366#(<= 2 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,277 INFO L280 TraceCheckUtils]: 105: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,277 INFO L263 TraceCheckUtils]: 106: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,277 INFO L280 TraceCheckUtils]: 107: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,277 INFO L280 TraceCheckUtils]: 108: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,278 INFO L280 TraceCheckUtils]: 109: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,278 INFO L263 TraceCheckUtils]: 110: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,278 INFO L280 TraceCheckUtils]: 111: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,278 INFO L280 TraceCheckUtils]: 112: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,279 INFO L280 TraceCheckUtils]: 113: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,279 INFO L280 TraceCheckUtils]: 114: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,279 INFO L275 TraceCheckUtils]: 115: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,279 INFO L280 TraceCheckUtils]: 116: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:06,279 INFO L263 TraceCheckUtils]: 117: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,280 INFO L280 TraceCheckUtils]: 118: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,280 INFO L280 TraceCheckUtils]: 119: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,280 INFO L280 TraceCheckUtils]: 120: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,281 INFO L275 TraceCheckUtils]: 121: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,281 INFO L280 TraceCheckUtils]: 122: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:06,281 INFO L280 TraceCheckUtils]: 123: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,283 INFO L275 TraceCheckUtils]: 124: Hoare quadruple {1860#true} {2329#(<= 3 |fibonacci_#in~n|)} #32#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,284 INFO L280 TraceCheckUtils]: 125: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,284 INFO L280 TraceCheckUtils]: 126: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume true; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,286 INFO L275 TraceCheckUtils]: 127: Hoare quadruple {2329#(<= 3 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,287 INFO L280 TraceCheckUtils]: 128: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,287 INFO L263 TraceCheckUtils]: 129: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,288 INFO L280 TraceCheckUtils]: 130: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,288 INFO L280 TraceCheckUtils]: 131: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,288 INFO L280 TraceCheckUtils]: 132: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,288 INFO L280 TraceCheckUtils]: 133: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,290 INFO L275 TraceCheckUtils]: 134: Hoare quadruple {1860#true} {2291#(<= 4 |fibonacci_#in~n|)} #32#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,290 INFO L280 TraceCheckUtils]: 135: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,291 INFO L280 TraceCheckUtils]: 136: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume true; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,293 INFO L275 TraceCheckUtils]: 137: Hoare quadruple {2291#(<= 4 |fibonacci_#in~n|)} {2062#(<= fibonacci_~n 5)} #32#return; {1861#false} is VALID [2020-07-28 19:08:06,293 INFO L280 TraceCheckUtils]: 138: Hoare triple {1861#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1861#false} is VALID [2020-07-28 19:08:06,293 INFO L280 TraceCheckUtils]: 139: Hoare triple {1861#false} assume true; {1861#false} is VALID [2020-07-28 19:08:06,294 INFO L275 TraceCheckUtils]: 140: Hoare quadruple {1861#false} {1860#true} #34#return; {1861#false} is VALID [2020-07-28 19:08:06,319 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {1860#true} is VALID [2020-07-28 19:08:06,320 INFO L263 TraceCheckUtils]: 1: Hoare triple {1860#true} call main_#t~ret3 := fibonacci(main_~x~0); {1860#true} is VALID [2020-07-28 19:08:06,320 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,320 INFO L280 TraceCheckUtils]: 3: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,321 INFO L280 TraceCheckUtils]: 4: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,321 INFO L263 TraceCheckUtils]: 5: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,322 INFO L280 TraceCheckUtils]: 6: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,323 INFO L280 TraceCheckUtils]: 7: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,323 INFO L280 TraceCheckUtils]: 8: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,324 INFO L263 TraceCheckUtils]: 9: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,324 INFO L280 TraceCheckUtils]: 10: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,325 INFO L280 TraceCheckUtils]: 11: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,325 INFO L280 TraceCheckUtils]: 12: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,326 INFO L263 TraceCheckUtils]: 13: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,326 INFO L280 TraceCheckUtils]: 14: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,327 INFO L280 TraceCheckUtils]: 15: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,328 INFO L280 TraceCheckUtils]: 16: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,328 INFO L263 TraceCheckUtils]: 17: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,329 INFO L280 TraceCheckUtils]: 18: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,329 INFO L280 TraceCheckUtils]: 19: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,330 INFO L280 TraceCheckUtils]: 20: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume 1 == ~n;#res := 1; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:06,331 INFO L280 TraceCheckUtils]: 21: Hoare triple {2222#(<= |fibonacci_#in~n| 1)} assume true; {2222#(<= |fibonacci_#in~n| 1)} is VALID [2020-07-28 19:08:06,332 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2222#(<= |fibonacci_#in~n| 1)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,333 INFO L280 TraceCheckUtils]: 23: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,333 INFO L263 TraceCheckUtils]: 24: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,334 INFO L280 TraceCheckUtils]: 25: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,334 INFO L280 TraceCheckUtils]: 26: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,334 INFO L280 TraceCheckUtils]: 27: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,335 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1860#true} {2217#(<= |fibonacci_#in~n| 2)} #32#return; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,336 INFO L280 TraceCheckUtils]: 29: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,337 INFO L280 TraceCheckUtils]: 30: Hoare triple {2217#(<= |fibonacci_#in~n| 2)} assume true; {2217#(<= |fibonacci_#in~n| 2)} is VALID [2020-07-28 19:08:06,338 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2217#(<= |fibonacci_#in~n| 2)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,342 INFO L280 TraceCheckUtils]: 32: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,342 INFO L263 TraceCheckUtils]: 33: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,342 INFO L280 TraceCheckUtils]: 34: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,342 INFO L280 TraceCheckUtils]: 35: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,342 INFO L280 TraceCheckUtils]: 36: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,343 INFO L280 TraceCheckUtils]: 37: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,344 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {1860#true} {2206#(<= |fibonacci_#in~n| 3)} #32#return; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,344 INFO L280 TraceCheckUtils]: 39: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,345 INFO L280 TraceCheckUtils]: 40: Hoare triple {2206#(<= |fibonacci_#in~n| 3)} assume true; {2206#(<= |fibonacci_#in~n| 3)} is VALID [2020-07-28 19:08:06,347 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {2206#(<= |fibonacci_#in~n| 3)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,353 INFO L280 TraceCheckUtils]: 42: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,353 INFO L263 TraceCheckUtils]: 43: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,353 INFO L280 TraceCheckUtils]: 44: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,353 INFO L280 TraceCheckUtils]: 45: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,354 INFO L280 TraceCheckUtils]: 46: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,354 INFO L263 TraceCheckUtils]: 47: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,354 INFO L280 TraceCheckUtils]: 48: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,354 INFO L280 TraceCheckUtils]: 49: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,355 INFO L280 TraceCheckUtils]: 50: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,355 INFO L280 TraceCheckUtils]: 51: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,355 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,355 INFO L280 TraceCheckUtils]: 53: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:06,356 INFO L263 TraceCheckUtils]: 54: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,356 INFO L280 TraceCheckUtils]: 55: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,356 INFO L280 TraceCheckUtils]: 56: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,356 INFO L280 TraceCheckUtils]: 57: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,356 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,357 INFO L280 TraceCheckUtils]: 59: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:06,357 INFO L280 TraceCheckUtils]: 60: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,359 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {1860#true} {2169#(<= |fibonacci_#in~n| 4)} #32#return; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,359 INFO L280 TraceCheckUtils]: 62: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,360 INFO L280 TraceCheckUtils]: 63: Hoare triple {2169#(<= |fibonacci_#in~n| 4)} assume true; {2169#(<= |fibonacci_#in~n| 4)} is VALID [2020-07-28 19:08:06,361 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {2169#(<= |fibonacci_#in~n| 4)} {1860#true} #30#return; {2062#(<= fibonacci_~n 5)} is VALID [2020-07-28 19:08:06,362 INFO L280 TraceCheckUtils]: 65: Hoare triple {2062#(<= fibonacci_~n 5)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2062#(<= fibonacci_~n 5)} is VALID [2020-07-28 19:08:06,362 INFO L263 TraceCheckUtils]: 66: Hoare triple {2062#(<= fibonacci_~n 5)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,363 INFO L280 TraceCheckUtils]: 67: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,364 INFO L280 TraceCheckUtils]: 68: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,364 INFO L280 TraceCheckUtils]: 69: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,364 INFO L263 TraceCheckUtils]: 70: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,365 INFO L280 TraceCheckUtils]: 71: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,366 INFO L280 TraceCheckUtils]: 72: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,366 INFO L280 TraceCheckUtils]: 73: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,366 INFO L263 TraceCheckUtils]: 74: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,367 INFO L280 TraceCheckUtils]: 75: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,368 INFO L280 TraceCheckUtils]: 76: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,368 INFO L280 TraceCheckUtils]: 77: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,369 INFO L263 TraceCheckUtils]: 78: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,369 INFO L280 TraceCheckUtils]: 79: Hoare triple {1860#true} ~n := #in~n; {2136#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,370 INFO L280 TraceCheckUtils]: 80: Hoare triple {2136#(= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,371 INFO L280 TraceCheckUtils]: 81: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume !(1 == ~n); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,371 INFO L263 TraceCheckUtils]: 82: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,371 INFO L280 TraceCheckUtils]: 83: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,371 INFO L280 TraceCheckUtils]: 84: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,372 INFO L280 TraceCheckUtils]: 85: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,372 INFO L280 TraceCheckUtils]: 86: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,373 INFO L275 TraceCheckUtils]: 87: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,374 INFO L280 TraceCheckUtils]: 88: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,374 INFO L263 TraceCheckUtils]: 89: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,374 INFO L280 TraceCheckUtils]: 90: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,374 INFO L280 TraceCheckUtils]: 91: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,375 INFO L280 TraceCheckUtils]: 92: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,376 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,377 INFO L280 TraceCheckUtils]: 94: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,377 INFO L280 TraceCheckUtils]: 95: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume true; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,379 INFO L275 TraceCheckUtils]: 96: Hoare quadruple {2372#(<= 1 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,380 INFO L280 TraceCheckUtils]: 97: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,380 INFO L263 TraceCheckUtils]: 98: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,380 INFO L280 TraceCheckUtils]: 99: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,380 INFO L280 TraceCheckUtils]: 100: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,380 INFO L280 TraceCheckUtils]: 101: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,381 INFO L280 TraceCheckUtils]: 102: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,382 INFO L275 TraceCheckUtils]: 103: Hoare quadruple {1860#true} {2366#(<= 2 |fibonacci_#in~n|)} #32#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,383 INFO L280 TraceCheckUtils]: 104: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,384 INFO L280 TraceCheckUtils]: 105: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume true; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,385 INFO L275 TraceCheckUtils]: 106: Hoare quadruple {2366#(<= 2 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,386 INFO L280 TraceCheckUtils]: 107: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,386 INFO L263 TraceCheckUtils]: 108: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,387 INFO L280 TraceCheckUtils]: 109: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,387 INFO L280 TraceCheckUtils]: 110: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,387 INFO L280 TraceCheckUtils]: 111: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:06,387 INFO L263 TraceCheckUtils]: 112: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:06,387 INFO L280 TraceCheckUtils]: 113: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,388 INFO L280 TraceCheckUtils]: 114: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,388 INFO L280 TraceCheckUtils]: 115: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,388 INFO L280 TraceCheckUtils]: 116: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,389 INFO L275 TraceCheckUtils]: 117: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:06,389 INFO L280 TraceCheckUtils]: 118: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:06,389 INFO L263 TraceCheckUtils]: 119: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,389 INFO L280 TraceCheckUtils]: 120: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,390 INFO L280 TraceCheckUtils]: 121: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:06,390 INFO L280 TraceCheckUtils]: 122: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,390 INFO L275 TraceCheckUtils]: 123: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:06,390 INFO L280 TraceCheckUtils]: 124: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:06,391 INFO L280 TraceCheckUtils]: 125: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,392 INFO L275 TraceCheckUtils]: 126: Hoare quadruple {1860#true} {2329#(<= 3 |fibonacci_#in~n|)} #32#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,393 INFO L280 TraceCheckUtils]: 127: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,394 INFO L280 TraceCheckUtils]: 128: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume true; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,396 INFO L275 TraceCheckUtils]: 129: Hoare quadruple {2329#(<= 3 |fibonacci_#in~n|)} {2136#(= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,397 INFO L280 TraceCheckUtils]: 130: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,397 INFO L263 TraceCheckUtils]: 131: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:06,397 INFO L280 TraceCheckUtils]: 132: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:06,397 INFO L280 TraceCheckUtils]: 133: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:06,398 INFO L280 TraceCheckUtils]: 134: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:06,398 INFO L280 TraceCheckUtils]: 135: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:06,399 INFO L275 TraceCheckUtils]: 136: Hoare quadruple {1860#true} {2291#(<= 4 |fibonacci_#in~n|)} #32#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,400 INFO L280 TraceCheckUtils]: 137: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,400 INFO L280 TraceCheckUtils]: 138: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume true; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:06,402 INFO L275 TraceCheckUtils]: 139: Hoare quadruple {2291#(<= 4 |fibonacci_#in~n|)} {2062#(<= fibonacci_~n 5)} #32#return; {1861#false} is VALID [2020-07-28 19:08:06,402 INFO L280 TraceCheckUtils]: 140: Hoare triple {1861#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1861#false} is VALID [2020-07-28 19:08:06,403 INFO L280 TraceCheckUtils]: 141: Hoare triple {1861#false} assume true; {1861#false} is VALID [2020-07-28 19:08:06,403 INFO L275 TraceCheckUtils]: 142: Hoare quadruple {1861#false} {1860#true} #34#return; {1861#false} is VALID [2020-07-28 19:08:06,403 INFO L280 TraceCheckUtils]: 143: Hoare triple {1861#false} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {1861#false} is VALID [2020-07-28 19:08:06,403 INFO L280 TraceCheckUtils]: 144: Hoare triple {1861#false} assume !(5 != main_~x~0 || 3 == main_~result~0); {1861#false} is VALID [2020-07-28 19:08:06,404 INFO L280 TraceCheckUtils]: 145: Hoare triple {1861#false} assume !false; {1861#false} is VALID [2020-07-28 19:08:06,444 INFO L134 CoverageAnalysis]: Checked inductivity of 1156 backedges. 249 proven. 381 refuted. 0 times theorem prover too weak. 526 trivial. 0 not checked. [2020-07-28 19:08:06,445 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [470798222] [2020-07-28 19:08:06,445 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2136998306] [2020-07-28 19:08:06,445 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST 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:08:06,498 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2020-07-28 19:08:06,498 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:08:06,500 INFO L263 TraceCheckSpWp]: Trace formula consists of 262 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-28 19:08:06,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:06,527 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:07,057 INFO L280 TraceCheckUtils]: 0: Hoare triple {1860#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {1860#true} is VALID [2020-07-28 19:08:07,058 INFO L263 TraceCheckUtils]: 1: Hoare triple {1860#true} call main_#t~ret3 := fibonacci(main_~x~0); {1860#true} is VALID [2020-07-28 19:08:07,059 INFO L280 TraceCheckUtils]: 2: Hoare triple {1860#true} ~n := #in~n; {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,059 INFO L280 TraceCheckUtils]: 3: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,060 INFO L280 TraceCheckUtils]: 4: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,060 INFO L263 TraceCheckUtils]: 5: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,060 INFO L280 TraceCheckUtils]: 6: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,060 INFO L280 TraceCheckUtils]: 7: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,060 INFO L280 TraceCheckUtils]: 8: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:07,061 INFO L263 TraceCheckUtils]: 9: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,061 INFO L280 TraceCheckUtils]: 10: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,061 INFO L280 TraceCheckUtils]: 11: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,061 INFO L280 TraceCheckUtils]: 12: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:07,061 INFO L263 TraceCheckUtils]: 13: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,061 INFO L280 TraceCheckUtils]: 14: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,062 INFO L280 TraceCheckUtils]: 15: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,062 INFO L280 TraceCheckUtils]: 16: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:07,062 INFO L263 TraceCheckUtils]: 17: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,062 INFO L280 TraceCheckUtils]: 18: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,062 INFO L280 TraceCheckUtils]: 19: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,063 INFO L280 TraceCheckUtils]: 20: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:07,063 INFO L280 TraceCheckUtils]: 21: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,063 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:07,063 INFO L280 TraceCheckUtils]: 23: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:07,063 INFO L263 TraceCheckUtils]: 24: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,063 INFO L280 TraceCheckUtils]: 25: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,064 INFO L280 TraceCheckUtils]: 26: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:07,064 INFO L280 TraceCheckUtils]: 27: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,064 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:07,064 INFO L280 TraceCheckUtils]: 29: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:07,065 INFO L280 TraceCheckUtils]: 30: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,065 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:07,065 INFO L280 TraceCheckUtils]: 32: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:07,065 INFO L263 TraceCheckUtils]: 33: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,065 INFO L280 TraceCheckUtils]: 34: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,065 INFO L280 TraceCheckUtils]: 35: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,065 INFO L280 TraceCheckUtils]: 36: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:07,066 INFO L280 TraceCheckUtils]: 37: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,066 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:07,066 INFO L280 TraceCheckUtils]: 39: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:07,066 INFO L280 TraceCheckUtils]: 40: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,066 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:07,067 INFO L280 TraceCheckUtils]: 42: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:07,067 INFO L263 TraceCheckUtils]: 43: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,067 INFO L280 TraceCheckUtils]: 44: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,067 INFO L280 TraceCheckUtils]: 45: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,067 INFO L280 TraceCheckUtils]: 46: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:07,067 INFO L263 TraceCheckUtils]: 47: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,067 INFO L280 TraceCheckUtils]: 48: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,068 INFO L280 TraceCheckUtils]: 49: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,068 INFO L280 TraceCheckUtils]: 50: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:07,068 INFO L280 TraceCheckUtils]: 51: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,068 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:07,068 INFO L280 TraceCheckUtils]: 53: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:07,069 INFO L263 TraceCheckUtils]: 54: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,069 INFO L280 TraceCheckUtils]: 55: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,069 INFO L280 TraceCheckUtils]: 56: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:07,069 INFO L280 TraceCheckUtils]: 57: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,069 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:07,069 INFO L280 TraceCheckUtils]: 59: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:07,070 INFO L280 TraceCheckUtils]: 60: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,070 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:07,070 INFO L280 TraceCheckUtils]: 62: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:07,070 INFO L280 TraceCheckUtils]: 63: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,073 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {1860#true} {2400#(<= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,077 INFO L280 TraceCheckUtils]: 65: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,078 INFO L263 TraceCheckUtils]: 66: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,078 INFO L280 TraceCheckUtils]: 67: Hoare triple {1860#true} ~n := #in~n; {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,079 INFO L280 TraceCheckUtils]: 68: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,079 INFO L280 TraceCheckUtils]: 69: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,079 INFO L263 TraceCheckUtils]: 70: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,080 INFO L280 TraceCheckUtils]: 71: Hoare triple {1860#true} ~n := #in~n; {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,080 INFO L280 TraceCheckUtils]: 72: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,081 INFO L280 TraceCheckUtils]: 73: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,081 INFO L263 TraceCheckUtils]: 74: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,082 INFO L280 TraceCheckUtils]: 75: Hoare triple {1860#true} ~n := #in~n; {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,082 INFO L280 TraceCheckUtils]: 76: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,083 INFO L280 TraceCheckUtils]: 77: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(1 == ~n); {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,083 INFO L263 TraceCheckUtils]: 78: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,083 INFO L280 TraceCheckUtils]: 79: Hoare triple {1860#true} ~n := #in~n; {2400#(<= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,084 INFO L280 TraceCheckUtils]: 80: Hoare triple {2400#(<= fibonacci_~n |fibonacci_#in~n|)} assume !(~n < 1); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,085 INFO L280 TraceCheckUtils]: 81: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume !(1 == ~n); {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,085 INFO L263 TraceCheckUtils]: 82: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,085 INFO L280 TraceCheckUtils]: 83: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,085 INFO L280 TraceCheckUtils]: 84: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,085 INFO L280 TraceCheckUtils]: 85: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:07,086 INFO L280 TraceCheckUtils]: 86: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,086 INFO L275 TraceCheckUtils]: 87: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #30#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,087 INFO L280 TraceCheckUtils]: 88: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,087 INFO L263 TraceCheckUtils]: 89: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,087 INFO L280 TraceCheckUtils]: 90: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,087 INFO L280 TraceCheckUtils]: 91: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:07,087 INFO L280 TraceCheckUtils]: 92: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,088 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {1860#true} {2372#(<= 1 |fibonacci_#in~n|)} #32#return; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,088 INFO L280 TraceCheckUtils]: 94: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,089 INFO L280 TraceCheckUtils]: 95: Hoare triple {2372#(<= 1 |fibonacci_#in~n|)} assume true; {2372#(<= 1 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,090 INFO L275 TraceCheckUtils]: 96: Hoare quadruple {2372#(<= 1 |fibonacci_#in~n|)} {2400#(<= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,090 INFO L280 TraceCheckUtils]: 97: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,090 INFO L263 TraceCheckUtils]: 98: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,090 INFO L280 TraceCheckUtils]: 99: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,091 INFO L280 TraceCheckUtils]: 100: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,091 INFO L280 TraceCheckUtils]: 101: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:07,091 INFO L280 TraceCheckUtils]: 102: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,093 INFO L275 TraceCheckUtils]: 103: Hoare quadruple {1860#true} {2366#(<= 2 |fibonacci_#in~n|)} #32#return; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,093 INFO L280 TraceCheckUtils]: 104: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,094 INFO L280 TraceCheckUtils]: 105: Hoare triple {2366#(<= 2 |fibonacci_#in~n|)} assume true; {2366#(<= 2 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,095 INFO L275 TraceCheckUtils]: 106: Hoare quadruple {2366#(<= 2 |fibonacci_#in~n|)} {2400#(<= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,095 INFO L280 TraceCheckUtils]: 107: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,095 INFO L263 TraceCheckUtils]: 108: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,095 INFO L280 TraceCheckUtils]: 109: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L280 TraceCheckUtils]: 110: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L280 TraceCheckUtils]: 111: Hoare triple {1860#true} assume !(1 == ~n); {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L263 TraceCheckUtils]: 112: Hoare triple {1860#true} call #t~ret0 := fibonacci(~n - 1); {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L280 TraceCheckUtils]: 113: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L280 TraceCheckUtils]: 114: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L280 TraceCheckUtils]: 115: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L280 TraceCheckUtils]: 116: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,096 INFO L275 TraceCheckUtils]: 117: Hoare quadruple {1860#true} {1860#true} #30#return; {1860#true} is VALID [2020-07-28 19:08:07,097 INFO L280 TraceCheckUtils]: 118: Hoare triple {1860#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {1860#true} is VALID [2020-07-28 19:08:07,097 INFO L263 TraceCheckUtils]: 119: Hoare triple {1860#true} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,097 INFO L280 TraceCheckUtils]: 120: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,097 INFO L280 TraceCheckUtils]: 121: Hoare triple {1860#true} assume ~n < 1;#res := 0; {1860#true} is VALID [2020-07-28 19:08:07,097 INFO L280 TraceCheckUtils]: 122: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,097 INFO L275 TraceCheckUtils]: 123: Hoare quadruple {1860#true} {1860#true} #32#return; {1860#true} is VALID [2020-07-28 19:08:07,097 INFO L280 TraceCheckUtils]: 124: Hoare triple {1860#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {1860#true} is VALID [2020-07-28 19:08:07,098 INFO L280 TraceCheckUtils]: 125: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,098 INFO L275 TraceCheckUtils]: 126: Hoare quadruple {1860#true} {2329#(<= 3 |fibonacci_#in~n|)} #32#return; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,099 INFO L280 TraceCheckUtils]: 127: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,099 INFO L280 TraceCheckUtils]: 128: Hoare triple {2329#(<= 3 |fibonacci_#in~n|)} assume true; {2329#(<= 3 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,100 INFO L275 TraceCheckUtils]: 129: Hoare quadruple {2329#(<= 3 |fibonacci_#in~n|)} {2400#(<= fibonacci_~n |fibonacci_#in~n|)} #30#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,100 INFO L280 TraceCheckUtils]: 130: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,100 INFO L263 TraceCheckUtils]: 131: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~n - 2); {1860#true} is VALID [2020-07-28 19:08:07,101 INFO L280 TraceCheckUtils]: 132: Hoare triple {1860#true} ~n := #in~n; {1860#true} is VALID [2020-07-28 19:08:07,101 INFO L280 TraceCheckUtils]: 133: Hoare triple {1860#true} assume !(~n < 1); {1860#true} is VALID [2020-07-28 19:08:07,101 INFO L280 TraceCheckUtils]: 134: Hoare triple {1860#true} assume 1 == ~n;#res := 1; {1860#true} is VALID [2020-07-28 19:08:07,101 INFO L280 TraceCheckUtils]: 135: Hoare triple {1860#true} assume true; {1860#true} is VALID [2020-07-28 19:08:07,102 INFO L275 TraceCheckUtils]: 136: Hoare quadruple {1860#true} {2291#(<= 4 |fibonacci_#in~n|)} #32#return; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,102 INFO L280 TraceCheckUtils]: 137: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,102 INFO L280 TraceCheckUtils]: 138: Hoare triple {2291#(<= 4 |fibonacci_#in~n|)} assume true; {2291#(<= 4 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,103 INFO L275 TraceCheckUtils]: 139: Hoare quadruple {2291#(<= 4 |fibonacci_#in~n|)} {2400#(<= fibonacci_~n |fibonacci_#in~n|)} #32#return; {2812#(<= 6 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,104 INFO L280 TraceCheckUtils]: 140: Hoare triple {2812#(<= 6 |fibonacci_#in~n|)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := #t~ret0 + #t~ret1;havoc #t~ret1;havoc #t~ret0; {2812#(<= 6 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,105 INFO L280 TraceCheckUtils]: 141: Hoare triple {2812#(<= 6 |fibonacci_#in~n|)} assume true; {2812#(<= 6 |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:07,105 INFO L275 TraceCheckUtils]: 142: Hoare quadruple {2812#(<= 6 |fibonacci_#in~n|)} {1860#true} #34#return; {2822#(<= 6 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:08:07,106 INFO L280 TraceCheckUtils]: 143: Hoare triple {2822#(<= 6 ULTIMATE.start_main_~x~0)} assume -2147483648 <= main_#t~ret3 && main_#t~ret3 <= 2147483647;main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {2822#(<= 6 ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:08:07,107 INFO L280 TraceCheckUtils]: 144: Hoare triple {2822#(<= 6 ULTIMATE.start_main_~x~0)} assume !(5 != main_~x~0 || 3 == main_~result~0); {1861#false} is VALID [2020-07-28 19:08:07,107 INFO L280 TraceCheckUtils]: 145: Hoare triple {1861#false} assume !false; {1861#false} is VALID [2020-07-28 19:08:07,119 INFO L134 CoverageAnalysis]: Checked inductivity of 1156 backedges. 327 proven. 131 refuted. 0 times theorem prover too weak. 698 trivial. 0 not checked. [2020-07-28 19:08:07,119 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:07,119 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 15 [2020-07-28 19:08:07,119 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [261903842] [2020-07-28 19:08:07,120 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 146 [2020-07-28 19:08:07,821 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:07,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-28 19:08:07,929 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:07,929 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-28 19:08:07,930 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:08:07,930 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-28 19:08:07,930 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:08:07,931 INFO L87 Difference]: Start difference. First operand 66 states and 94 transitions. Second operand 15 states. [2020-07-28 19:08:09,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:09,466 INFO L93 Difference]: Finished difference Result 143 states and 253 transitions. [2020-07-28 19:08:09,466 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-28 19:08:09,466 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 146 [2020-07-28 19:08:09,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:09,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-28 19:08:09,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 139 transitions. [2020-07-28 19:08:09,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-28 19:08:09,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 139 transitions. [2020-07-28 19:08:09,478 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 139 transitions. [2020-07-28 19:08:09,667 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:09,670 INFO L225 Difference]: With dead ends: 143 [2020-07-28 19:08:09,671 INFO L226 Difference]: Without dead ends: 64 [2020-07-28 19:08:09,674 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 216 GetRequests, 186 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 186 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=225, Invalid=767, Unknown=0, NotChecked=0, Total=992 [2020-07-28 19:08:09,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2020-07-28 19:08:09,719 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2020-07-28 19:08:09,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:09,721 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 57 states. [2020-07-28 19:08:09,721 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 57 states. [2020-07-28 19:08:09,721 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 57 states. [2020-07-28 19:08:09,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:09,725 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2020-07-28 19:08:09,725 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2020-07-28 19:08:09,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:09,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:09,727 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 64 states. [2020-07-28 19:08:09,727 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 64 states. [2020-07-28 19:08:09,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:09,731 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2020-07-28 19:08:09,731 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2020-07-28 19:08:09,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:09,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:09,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:09,733 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:09,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-28 19:08:09,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2020-07-28 19:08:09,736 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 146 [2020-07-28 19:08:09,736 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:09,736 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2020-07-28 19:08:09,737 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-28 19:08:09,737 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2020-07-28 19:08:09,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2020-07-28 19:08:09,739 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:09,739 INFO L422 BasicCegarLoop]: trace histogram [15, 15, 12, 7, 7, 7, 7, 7, 7, 7, 5, 3, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:09,940 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2020-07-28 19:08:09,941 INFO L427 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:09,942 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:09,942 INFO L82 PathProgramCache]: Analyzing trace with hash 1483723059, now seen corresponding path program 5 times [2020-07-28 19:08:09,942 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:08:09,943 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2139519955] [2020-07-28 19:08:09,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:08:09,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:08:09,961 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:08:09,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:08:09,978 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:08:09,998 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-28 19:08:09,998 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 19:08:09,999 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-28 19:08:10,019 FATAL L488 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret3 := fibonacci(~x~0); [2020-07-28 19:08:10,020 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:08:10,025 INFO L168 Benchmark]: Toolchain (without parser) took 12587.58 ms. Allocated memory was 1.0 GB in the beginning and 1.4 GB in the end (delta: 376.4 MB). Free memory was 956.2 MB in the beginning and 1.0 GB in the end (delta: -62.3 MB). Peak memory consumption was 314.1 MB. Max. memory is 11.5 GB. [2020-07-28 19:08:10,026 INFO L168 Benchmark]: CDTParser took 0.32 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:08:10,026 INFO L168 Benchmark]: CACSL2BoogieTranslator took 306.85 ms. Allocated memory is still 1.0 GB. Free memory was 956.2 MB in the beginning and 945.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:08:10,027 INFO L168 Benchmark]: Boogie Procedure Inliner took 92.00 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 945.5 MB in the beginning and 1.1 GB in the end (delta: -193.7 MB). Peak memory consumption was 9.7 MB. Max. memory is 11.5 GB. [2020-07-28 19:08:10,027 INFO L168 Benchmark]: Boogie Preprocessor took 18.70 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:08:10,028 INFO L168 Benchmark]: RCFGBuilder took 329.85 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: 24.1 MB). Peak memory consumption was 24.1 MB. Max. memory is 11.5 GB. [2020-07-28 19:08:10,029 INFO L168 Benchmark]: TraceAbstraction took 11832.56 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 233.8 MB). Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 96.6 MB). Peak memory consumption was 330.4 MB. Max. memory is 11.5 GB. [2020-07-28 19:08:10,032 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.32 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 306.85 ms. Allocated memory is still 1.0 GB. Free memory was 956.2 MB in the beginning and 945.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 92.00 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 945.5 MB in the beginning and 1.1 GB in the end (delta: -193.7 MB). Peak memory consumption was 9.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 18.70 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 329.85 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: 24.1 MB). Peak memory consumption was 24.1 MB. Max. memory is 11.5 GB. * TraceAbstraction took 11832.56 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 233.8 MB). Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 96.6 MB). Peak memory consumption was 330.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:08:11,925 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 19:08:11,928 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 19:08:11,947 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 19:08:11,947 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 19:08:11,950 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 19:08:11,952 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 19:08:11,966 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 19:08:11,968 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 19:08:11,971 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 19:08:11,974 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 19:08:11,976 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 19:08:11,976 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 19:08:11,980 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 19:08:11,981 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 19:08:11,982 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 19:08:11,983 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 19:08:11,984 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 19:08:11,986 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 19:08:11,988 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 19:08:11,990 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 19:08:11,991 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 19:08:11,992 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 19:08:11,993 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 19:08:11,996 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 19:08:11,996 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 19:08:11,996 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 19:08:11,998 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 19:08:11,998 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 19:08:11,999 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 19:08:12,000 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 19:08:12,000 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 19:08:12,001 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 19:08:12,002 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 19:08:12,003 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 19:08:12,004 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 19:08:12,004 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 19:08:12,005 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 19:08:12,005 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 19:08:12,006 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 19:08:12,007 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 19:08:12,008 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:08:12,023 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 19:08:12,023 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 19:08:12,024 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 19:08:12,025 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 19:08:12,025 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 19:08:12,025 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 19:08:12,026 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 19:08:12,026 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 19:08:12,026 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 19:08:12,026 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 19:08:12,027 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 19:08:12,027 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 19:08:12,027 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2020-07-28 19:08:12,028 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2020-07-28 19:08:12,028 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 19:08:12,028 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 19:08:12,028 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 19:08:12,029 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 19:08:12,029 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 19:08:12,029 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 19:08:12,030 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 19:08:12,030 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 19:08:12,030 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:08:12,031 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 19:08:12,031 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 19:08:12,031 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 19:08:12,031 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2020-07-28 19:08:12,032 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --rewrite-divk --print-success --lang smt [2020-07-28 19:08:12,032 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 19:08:12,032 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 19:08:12,032 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-28 19:08:12,033 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 -> d3562c726fb0df5872bc6ae08c11ec0d40862c19 [2020-07-28 19:08:12,353 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 19:08:12,378 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 19:08:12,383 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 19:08:12,385 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 19:08:12,386 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 19:08:12,387 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive/Fibonacci04.c [2020-07-28 19:08:12,471 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/40dea5a75/8edf487931d249f5b7f634091a347f0e/FLAG414edd708 [2020-07-28 19:08:12,866 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 19:08:12,867 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive/Fibonacci04.c [2020-07-28 19:08:12,872 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/40dea5a75/8edf487931d249f5b7f634091a347f0e/FLAG414edd708 [2020-07-28 19:08:13,288 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/40dea5a75/8edf487931d249f5b7f634091a347f0e [2020-07-28 19:08:13,291 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 19:08:13,295 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 19:08:13,296 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 19:08:13,296 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 19:08:13,300 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 19:08:13,301 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,304 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@439f00a7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13, skipping insertion in model container [2020-07-28 19:08:13,305 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,313 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 19:08:13,332 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 19:08:13,485 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:08:13,491 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 19:08:13,509 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:08:13,524 INFO L208 MainTranslator]: Completed translation [2020-07-28 19:08:13,525 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13 WrapperNode [2020-07-28 19:08:13,526 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 19:08:13,526 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 19:08:13,527 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 19:08:13,527 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 19:08:13,537 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:08:13" (1/1) ... [2020-07-28 19:08:13,545 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:08:13" (1/1) ... [2020-07-28 19:08:13,633 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 19:08:13,634 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 19:08:13,634 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 19:08:13,635 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 19:08:13,645 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,646 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,648 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,648 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,655 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,660 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,662 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (1/1) ... [2020-07-28 19:08:13,664 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 19:08:13,665 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 19:08:13,665 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 19:08:13,667 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 19:08:13,668 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (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:08:13,748 INFO L130 BoogieDeclarations]: Found specification of procedure fibonacci [2020-07-28 19:08:13,749 INFO L138 BoogieDeclarations]: Found implementation of procedure fibonacci [2020-07-28 19:08:13,750 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 19:08:13,750 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 19:08:13,993 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 19:08:13,993 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-28 19:08:13,997 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:08:13 BoogieIcfgContainer [2020-07-28 19:08:13,998 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 19:08:13,999 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 19:08:13,999 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 19:08:14,003 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 19:08:14,003 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 07:08:13" (1/3) ... [2020-07-28 19:08:14,004 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d76d31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:08:14, skipping insertion in model container [2020-07-28 19:08:14,005 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:08:13" (2/3) ... [2020-07-28 19:08:14,005 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d76d31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:08:14, skipping insertion in model container [2020-07-28 19:08:14,006 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:08:13" (3/3) ... [2020-07-28 19:08:14,008 INFO L109 eAbstractionObserver]: Analyzing ICFG Fibonacci04.c [2020-07-28 19:08:14,019 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 19:08:14,027 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 19:08:14,059 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 19:08:14,131 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 19:08:14,134 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 19:08:14,135 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 19:08:14,135 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 19:08:14,135 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 19:08:14,135 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 19:08:14,136 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 19:08:14,136 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 19:08:14,180 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states. [2020-07-28 19:08:14,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2020-07-28 19:08:14,194 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:14,195 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:14,196 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:14,203 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:14,205 INFO L82 PathProgramCache]: Analyzing trace with hash 302252519, now seen corresponding path program 1 times [2020-07-28 19:08:14,220 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:08:14,221 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1108470336] [2020-07-28 19:08:14,222 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:08:14,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:14,302 INFO L263 TraceCheckSpWp]: Trace formula consists of 15 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-28 19:08:14,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:14,323 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:14,438 INFO L280 TraceCheckUtils]: 0: Hoare triple {20#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {20#true} is VALID [2020-07-28 19:08:14,439 INFO L263 TraceCheckUtils]: 1: Hoare triple {20#true} call main_#t~ret3 := fibonacci(main_~x~0); {20#true} is VALID [2020-07-28 19:08:14,440 INFO L280 TraceCheckUtils]: 2: Hoare triple {20#true} ~n := #in~n; {31#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:14,441 INFO L280 TraceCheckUtils]: 3: Hoare triple {31#(= fibonacci_~n |fibonacci_#in~n|)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {35#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:14,443 INFO L280 TraceCheckUtils]: 4: Hoare triple {35#(bvslt |fibonacci_#in~n| (_ bv1 32))} assume true; {35#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:14,446 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35#(bvslt |fibonacci_#in~n| (_ bv1 32))} {20#true} #33#return; {42#(bvslt ULTIMATE.start_main_~x~0 (_ bv1 32))} is VALID [2020-07-28 19:08:14,447 INFO L280 TraceCheckUtils]: 6: Hoare triple {42#(bvslt ULTIMATE.start_main_~x~0 (_ bv1 32))} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {42#(bvslt ULTIMATE.start_main_~x~0 (_ bv1 32))} is VALID [2020-07-28 19:08:14,449 INFO L280 TraceCheckUtils]: 7: Hoare triple {42#(bvslt ULTIMATE.start_main_~x~0 (_ bv1 32))} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {21#false} is VALID [2020-07-28 19:08:14,449 INFO L280 TraceCheckUtils]: 8: Hoare triple {21#false} assume !false; {21#false} is VALID [2020-07-28 19:08:14,452 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:08:14,453 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:08:14,630 INFO L280 TraceCheckUtils]: 8: Hoare triple {21#false} assume !false; {21#false} is VALID [2020-07-28 19:08:14,631 INFO L280 TraceCheckUtils]: 7: Hoare triple {55#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {21#false} is VALID [2020-07-28 19:08:14,632 INFO L280 TraceCheckUtils]: 6: Hoare triple {55#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {55#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} is VALID [2020-07-28 19:08:14,634 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {65#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} {20#true} #33#return; {55#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} is VALID [2020-07-28 19:08:14,636 INFO L280 TraceCheckUtils]: 4: Hoare triple {65#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} assume true; {65#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:14,637 INFO L280 TraceCheckUtils]: 3: Hoare triple {72#(or (not (bvslt fibonacci_~n (_ bv1 32))) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {65#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:14,638 INFO L280 TraceCheckUtils]: 2: Hoare triple {20#true} ~n := #in~n; {72#(or (not (bvslt fibonacci_~n (_ bv1 32))) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:14,639 INFO L263 TraceCheckUtils]: 1: Hoare triple {20#true} call main_#t~ret3 := fibonacci(main_~x~0); {20#true} is VALID [2020-07-28 19:08:14,639 INFO L280 TraceCheckUtils]: 0: Hoare triple {20#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {20#true} is VALID [2020-07-28 19:08:14,641 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:08:14,642 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1108470336] [2020-07-28 19:08:14,643 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:08:14,643 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5, 5] imperfect sequences [] total 8 [2020-07-28 19:08:14,645 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1987683235] [2020-07-28 19:08:14,652 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 9 [2020-07-28 19:08:14,655 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:14,659 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-28 19:08:14,695 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:14,696 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-28 19:08:14,696 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:08:14,706 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-28 19:08:14,708 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2020-07-28 19:08:14,710 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 8 states. [2020-07-28 19:08:15,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:15,184 INFO L93 Difference]: Finished difference Result 38 states and 48 transitions. [2020-07-28 19:08:15,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:08:15,185 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 9 [2020-07-28 19:08:15,185 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:15,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 19:08:15,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2020-07-28 19:08:15,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 19:08:15,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2020-07-28 19:08:15,205 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 48 transitions. [2020-07-28 19:08:15,311 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:08:15,324 INFO L225 Difference]: With dead ends: 38 [2020-07-28 19:08:15,325 INFO L226 Difference]: Without dead ends: 20 [2020-07-28 19:08:15,329 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 9 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:08:15,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2020-07-28 19:08:15,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2020-07-28 19:08:15,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:15,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2020-07-28 19:08:15,381 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2020-07-28 19:08:15,381 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2020-07-28 19:08:15,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:15,389 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2020-07-28 19:08:15,389 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2020-07-28 19:08:15,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:15,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:15,391 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2020-07-28 19:08:15,391 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2020-07-28 19:08:15,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:15,398 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2020-07-28 19:08:15,398 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2020-07-28 19:08:15,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:15,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:15,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:15,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:15,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-28 19:08:15,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 28 transitions. [2020-07-28 19:08:15,407 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 28 transitions. Word has length 9 [2020-07-28 19:08:15,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:15,408 INFO L479 AbstractCegarLoop]: Abstraction has 20 states and 28 transitions. [2020-07-28 19:08:15,408 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-28 19:08:15,409 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2020-07-28 19:08:15,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2020-07-28 19:08:15,411 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:15,411 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:15,623 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 mathsat -unsat_core_generation=3 [2020-07-28 19:08:15,624 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:15,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:15,625 INFO L82 PathProgramCache]: Analyzing trace with hash 495326291, now seen corresponding path program 1 times [2020-07-28 19:08:15,626 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:08:15,627 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [31447695] [2020-07-28 19:08:15,627 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:08:15,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:15,656 INFO L263 TraceCheckSpWp]: Trace formula consists of 34 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:08:15,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:15,668 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:15,759 INFO L280 TraceCheckUtils]: 0: Hoare triple {194#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {194#true} is VALID [2020-07-28 19:08:15,759 INFO L263 TraceCheckUtils]: 1: Hoare triple {194#true} call main_#t~ret3 := fibonacci(main_~x~0); {194#true} is VALID [2020-07-28 19:08:15,760 INFO L280 TraceCheckUtils]: 2: Hoare triple {194#true} ~n := #in~n; {194#true} is VALID [2020-07-28 19:08:15,760 INFO L280 TraceCheckUtils]: 3: Hoare triple {194#true} assume !~bvslt32(~n, 1bv32); {194#true} is VALID [2020-07-28 19:08:15,760 INFO L280 TraceCheckUtils]: 4: Hoare triple {194#true} assume !(1bv32 == ~n); {194#true} is VALID [2020-07-28 19:08:15,761 INFO L263 TraceCheckUtils]: 5: Hoare triple {194#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {194#true} is VALID [2020-07-28 19:08:15,762 INFO L280 TraceCheckUtils]: 6: Hoare triple {194#true} ~n := #in~n; {217#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:15,763 INFO L280 TraceCheckUtils]: 7: Hoare triple {217#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {217#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:15,764 INFO L280 TraceCheckUtils]: 8: Hoare triple {217#(= fibonacci_~n |fibonacci_#in~n|)} assume 1bv32 == ~n;#res := 1bv32; {224#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:15,765 INFO L280 TraceCheckUtils]: 9: Hoare triple {224#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {224#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:15,767 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {224#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {194#true} #29#return; {231#(= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:15,768 INFO L263 TraceCheckUtils]: 11: Hoare triple {231#(= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {194#true} is VALID [2020-07-28 19:08:15,769 INFO L280 TraceCheckUtils]: 12: Hoare triple {194#true} ~n := #in~n; {217#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:15,770 INFO L280 TraceCheckUtils]: 13: Hoare triple {217#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:15,771 INFO L280 TraceCheckUtils]: 14: Hoare triple {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} assume 1bv32 == ~n;#res := 1bv32; {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:15,772 INFO L280 TraceCheckUtils]: 15: Hoare triple {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} assume true; {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:15,773 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} {231#(= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))} #31#return; {195#false} is VALID [2020-07-28 19:08:15,774 INFO L280 TraceCheckUtils]: 17: Hoare triple {195#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {195#false} is VALID [2020-07-28 19:08:15,774 INFO L280 TraceCheckUtils]: 18: Hoare triple {195#false} assume true; {195#false} is VALID [2020-07-28 19:08:15,774 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {195#false} {194#true} #33#return; {195#false} is VALID [2020-07-28 19:08:15,775 INFO L280 TraceCheckUtils]: 20: Hoare triple {195#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {195#false} is VALID [2020-07-28 19:08:15,775 INFO L280 TraceCheckUtils]: 21: Hoare triple {195#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {195#false} is VALID [2020-07-28 19:08:15,775 INFO L280 TraceCheckUtils]: 22: Hoare triple {195#false} assume !false; {195#false} is VALID [2020-07-28 19:08:15,779 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-28 19:08:15,783 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:08:16,393 INFO L280 TraceCheckUtils]: 22: Hoare triple {195#false} assume !false; {195#false} is VALID [2020-07-28 19:08:16,394 INFO L280 TraceCheckUtils]: 21: Hoare triple {195#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {195#false} is VALID [2020-07-28 19:08:16,394 INFO L280 TraceCheckUtils]: 20: Hoare triple {195#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {195#false} is VALID [2020-07-28 19:08:16,395 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {195#false} {194#true} #33#return; {195#false} is VALID [2020-07-28 19:08:16,396 INFO L280 TraceCheckUtils]: 18: Hoare triple {195#false} assume true; {195#false} is VALID [2020-07-28 19:08:16,396 INFO L280 TraceCheckUtils]: 17: Hoare triple {195#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {195#false} is VALID [2020-07-28 19:08:16,400 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} {290#(bvslt (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv1 32))} #31#return; {195#false} is VALID [2020-07-28 19:08:16,405 INFO L280 TraceCheckUtils]: 15: Hoare triple {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} assume true; {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:16,408 INFO L280 TraceCheckUtils]: 14: Hoare triple {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} assume 1bv32 == ~n;#res := 1bv32; {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:16,413 INFO L280 TraceCheckUtils]: 13: Hoare triple {303#(or (not (bvslt |fibonacci_#in~n| (_ bv1 32))) (bvslt fibonacci_~n (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {241#(not (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:16,414 INFO L280 TraceCheckUtils]: 12: Hoare triple {194#true} ~n := #in~n; {303#(or (not (bvslt |fibonacci_#in~n| (_ bv1 32))) (bvslt fibonacci_~n (_ bv1 32)))} is VALID [2020-07-28 19:08:16,414 INFO L263 TraceCheckUtils]: 11: Hoare triple {290#(bvslt (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv1 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {194#true} is VALID [2020-07-28 19:08:16,419 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {313#(forall ((v_fibonacci_~n_BEFORE_CALL_7 (_ BitVec 32))) (or (bvslt (bvadd v_fibonacci_~n_BEFORE_CALL_7 (_ bv4294967294 32)) (_ bv1 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv1 32)) v_fibonacci_~n_BEFORE_CALL_7))))} {194#true} #29#return; {290#(bvslt (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv1 32))} is VALID [2020-07-28 19:08:16,424 INFO L280 TraceCheckUtils]: 9: Hoare triple {317#(bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {313#(forall ((v_fibonacci_~n_BEFORE_CALL_7 (_ BitVec 32))) (or (bvslt (bvadd v_fibonacci_~n_BEFORE_CALL_7 (_ bv4294967294 32)) (_ bv1 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv1 32)) v_fibonacci_~n_BEFORE_CALL_7))))} is VALID [2020-07-28 19:08:16,426 INFO L280 TraceCheckUtils]: 8: Hoare triple {321#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} assume 1bv32 == ~n;#res := 1bv32; {317#(bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2020-07-28 19:08:16,427 INFO L280 TraceCheckUtils]: 7: Hoare triple {321#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {321#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2020-07-28 19:08:16,428 INFO L280 TraceCheckUtils]: 6: Hoare triple {194#true} ~n := #in~n; {321#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2020-07-28 19:08:16,428 INFO L263 TraceCheckUtils]: 5: Hoare triple {194#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {194#true} is VALID [2020-07-28 19:08:16,429 INFO L280 TraceCheckUtils]: 4: Hoare triple {194#true} assume !(1bv32 == ~n); {194#true} is VALID [2020-07-28 19:08:16,429 INFO L280 TraceCheckUtils]: 3: Hoare triple {194#true} assume !~bvslt32(~n, 1bv32); {194#true} is VALID [2020-07-28 19:08:16,429 INFO L280 TraceCheckUtils]: 2: Hoare triple {194#true} ~n := #in~n; {194#true} is VALID [2020-07-28 19:08:16,430 INFO L263 TraceCheckUtils]: 1: Hoare triple {194#true} call main_#t~ret3 := fibonacci(main_~x~0); {194#true} is VALID [2020-07-28 19:08:16,430 INFO L280 TraceCheckUtils]: 0: Hoare triple {194#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {194#true} is VALID [2020-07-28 19:08:16,437 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-28 19:08:16,440 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [31447695] [2020-07-28 19:08:16,440 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:16,441 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 8] total 11 [2020-07-28 19:08:16,441 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [41568447] [2020-07-28 19:08:16,443 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 23 [2020-07-28 19:08:16,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:16,445 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-28 19:08:16,507 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:08:16,507 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-28 19:08:16,508 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:08:16,508 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-28 19:08:16,508 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2020-07-28 19:08:16,509 INFO L87 Difference]: Start difference. First operand 20 states and 28 transitions. Second operand 11 states. [2020-07-28 19:08:17,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:17,457 INFO L93 Difference]: Finished difference Result 49 states and 80 transitions. [2020-07-28 19:08:17,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 19:08:17,458 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 23 [2020-07-28 19:08:17,458 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:17,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:08:17,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 54 transitions. [2020-07-28 19:08:17,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:08:17,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 54 transitions. [2020-07-28 19:08:17,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 54 transitions. [2020-07-28 19:08:17,605 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:17,610 INFO L225 Difference]: With dead ends: 49 [2020-07-28 19:08:17,611 INFO L226 Difference]: Without dead ends: 30 [2020-07-28 19:08:17,613 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 36 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=67, Invalid=143, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:08:17,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2020-07-28 19:08:17,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 27. [2020-07-28 19:08:17,641 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:17,641 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 27 states. [2020-07-28 19:08:17,642 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 27 states. [2020-07-28 19:08:17,642 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 27 states. [2020-07-28 19:08:17,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:17,655 INFO L93 Difference]: Finished difference Result 30 states and 42 transitions. [2020-07-28 19:08:17,656 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 42 transitions. [2020-07-28 19:08:17,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:17,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:17,661 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 30 states. [2020-07-28 19:08:17,662 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 30 states. [2020-07-28 19:08:17,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:17,666 INFO L93 Difference]: Finished difference Result 30 states and 42 transitions. [2020-07-28 19:08:17,668 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 42 transitions. [2020-07-28 19:08:17,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:17,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:17,671 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:17,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:17,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2020-07-28 19:08:17,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 37 transitions. [2020-07-28 19:08:17,678 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 37 transitions. Word has length 23 [2020-07-28 19:08:17,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:17,678 INFO L479 AbstractCegarLoop]: Abstraction has 27 states and 37 transitions. [2020-07-28 19:08:17,678 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-28 19:08:17,679 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2020-07-28 19:08:17,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2020-07-28 19:08:17,684 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:17,684 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:17,885 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2020-07-28 19:08:17,886 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:17,887 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:17,887 INFO L82 PathProgramCache]: Analyzing trace with hash 2106720969, now seen corresponding path program 1 times [2020-07-28 19:08:17,888 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:08:17,889 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [859549156] [2020-07-28 19:08:17,889 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:08:17,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:17,924 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:08:17,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:17,940 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:18,085 INFO L280 TraceCheckUtils]: 0: Hoare triple {505#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {505#true} is VALID [2020-07-28 19:08:18,086 INFO L263 TraceCheckUtils]: 1: Hoare triple {505#true} call main_#t~ret3 := fibonacci(main_~x~0); {505#true} is VALID [2020-07-28 19:08:18,086 INFO L280 TraceCheckUtils]: 2: Hoare triple {505#true} ~n := #in~n; {505#true} is VALID [2020-07-28 19:08:18,087 INFO L280 TraceCheckUtils]: 3: Hoare triple {505#true} assume !~bvslt32(~n, 1bv32); {519#(not (bvslt fibonacci_~n (_ bv1 32)))} is VALID [2020-07-28 19:08:18,087 INFO L280 TraceCheckUtils]: 4: Hoare triple {519#(not (bvslt fibonacci_~n (_ bv1 32)))} assume !(1bv32 == ~n); {519#(not (bvslt fibonacci_~n (_ bv1 32)))} is VALID [2020-07-28 19:08:18,087 INFO L263 TraceCheckUtils]: 5: Hoare triple {519#(not (bvslt fibonacci_~n (_ bv1 32)))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {505#true} is VALID [2020-07-28 19:08:18,088 INFO L280 TraceCheckUtils]: 6: Hoare triple {505#true} ~n := #in~n; {529#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:18,089 INFO L280 TraceCheckUtils]: 7: Hoare triple {529#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {533#(and (not (bvslt fibonacci_~n (_ bv1 32))) (= fibonacci_~n |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:18,089 INFO L280 TraceCheckUtils]: 8: Hoare triple {533#(and (not (bvslt fibonacci_~n (_ bv1 32))) (= fibonacci_~n |fibonacci_#in~n|))} assume !(1bv32 == ~n); {537#(and (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (not (bvslt fibonacci_~n (_ bv1 32))) (= fibonacci_~n |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:18,090 INFO L263 TraceCheckUtils]: 9: Hoare triple {537#(and (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (not (bvslt fibonacci_~n (_ bv1 32))) (= fibonacci_~n |fibonacci_#in~n|))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {505#true} is VALID [2020-07-28 19:08:18,090 INFO L280 TraceCheckUtils]: 10: Hoare triple {505#true} ~n := #in~n; {529#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:18,091 INFO L280 TraceCheckUtils]: 11: Hoare triple {529#(= fibonacci_~n |fibonacci_#in~n|)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:18,091 INFO L280 TraceCheckUtils]: 12: Hoare triple {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} assume true; {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:18,094 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} {537#(and (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (not (bvslt fibonacci_~n (_ bv1 32))) (= fibonacci_~n |fibonacci_#in~n|))} #29#return; {506#false} is VALID [2020-07-28 19:08:18,094 INFO L263 TraceCheckUtils]: 14: Hoare triple {506#false} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {506#false} is VALID [2020-07-28 19:08:18,095 INFO L280 TraceCheckUtils]: 15: Hoare triple {506#false} ~n := #in~n; {506#false} is VALID [2020-07-28 19:08:18,095 INFO L280 TraceCheckUtils]: 16: Hoare triple {506#false} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {506#false} is VALID [2020-07-28 19:08:18,095 INFO L280 TraceCheckUtils]: 17: Hoare triple {506#false} assume true; {506#false} is VALID [2020-07-28 19:08:18,095 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {506#false} {506#false} #31#return; {506#false} is VALID [2020-07-28 19:08:18,096 INFO L280 TraceCheckUtils]: 19: Hoare triple {506#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {506#false} is VALID [2020-07-28 19:08:18,096 INFO L280 TraceCheckUtils]: 20: Hoare triple {506#false} assume true; {506#false} is VALID [2020-07-28 19:08:18,096 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {506#false} {519#(not (bvslt fibonacci_~n (_ bv1 32)))} #29#return; {506#false} is VALID [2020-07-28 19:08:18,097 INFO L263 TraceCheckUtils]: 22: Hoare triple {506#false} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {506#false} is VALID [2020-07-28 19:08:18,097 INFO L280 TraceCheckUtils]: 23: Hoare triple {506#false} ~n := #in~n; {506#false} is VALID [2020-07-28 19:08:18,097 INFO L280 TraceCheckUtils]: 24: Hoare triple {506#false} assume !~bvslt32(~n, 1bv32); {506#false} is VALID [2020-07-28 19:08:18,098 INFO L280 TraceCheckUtils]: 25: Hoare triple {506#false} assume 1bv32 == ~n;#res := 1bv32; {506#false} is VALID [2020-07-28 19:08:18,099 INFO L280 TraceCheckUtils]: 26: Hoare triple {506#false} assume true; {506#false} is VALID [2020-07-28 19:08:18,099 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {506#false} {506#false} #31#return; {506#false} is VALID [2020-07-28 19:08:18,100 INFO L280 TraceCheckUtils]: 28: Hoare triple {506#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {506#false} is VALID [2020-07-28 19:08:18,100 INFO L280 TraceCheckUtils]: 29: Hoare triple {506#false} assume true; {506#false} is VALID [2020-07-28 19:08:18,100 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {506#false} {505#true} #33#return; {506#false} is VALID [2020-07-28 19:08:18,100 INFO L280 TraceCheckUtils]: 31: Hoare triple {506#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {506#false} is VALID [2020-07-28 19:08:18,101 INFO L280 TraceCheckUtils]: 32: Hoare triple {506#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {506#false} is VALID [2020-07-28 19:08:18,101 INFO L280 TraceCheckUtils]: 33: Hoare triple {506#false} assume !false; {506#false} is VALID [2020-07-28 19:08:18,104 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 26 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2020-07-28 19:08:18,104 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:08:18,561 INFO L280 TraceCheckUtils]: 33: Hoare triple {506#false} assume !false; {506#false} is VALID [2020-07-28 19:08:18,562 INFO L280 TraceCheckUtils]: 32: Hoare triple {506#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {506#false} is VALID [2020-07-28 19:08:18,562 INFO L280 TraceCheckUtils]: 31: Hoare triple {506#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {506#false} is VALID [2020-07-28 19:08:18,562 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {506#false} {505#true} #33#return; {506#false} is VALID [2020-07-28 19:08:18,563 INFO L280 TraceCheckUtils]: 29: Hoare triple {506#false} assume true; {506#false} is VALID [2020-07-28 19:08:18,563 INFO L280 TraceCheckUtils]: 28: Hoare triple {506#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {506#false} is VALID [2020-07-28 19:08:18,563 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {505#true} {506#false} #31#return; {506#false} is VALID [2020-07-28 19:08:18,563 INFO L280 TraceCheckUtils]: 26: Hoare triple {505#true} assume true; {505#true} is VALID [2020-07-28 19:08:18,564 INFO L280 TraceCheckUtils]: 25: Hoare triple {505#true} assume 1bv32 == ~n;#res := 1bv32; {505#true} is VALID [2020-07-28 19:08:18,564 INFO L280 TraceCheckUtils]: 24: Hoare triple {505#true} assume !~bvslt32(~n, 1bv32); {505#true} is VALID [2020-07-28 19:08:18,564 INFO L280 TraceCheckUtils]: 23: Hoare triple {505#true} ~n := #in~n; {505#true} is VALID [2020-07-28 19:08:18,564 INFO L263 TraceCheckUtils]: 22: Hoare triple {506#false} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {505#true} is VALID [2020-07-28 19:08:18,565 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {506#false} {505#true} #29#return; {506#false} is VALID [2020-07-28 19:08:18,565 INFO L280 TraceCheckUtils]: 20: Hoare triple {506#false} assume true; {506#false} is VALID [2020-07-28 19:08:18,565 INFO L280 TraceCheckUtils]: 19: Hoare triple {506#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {506#false} is VALID [2020-07-28 19:08:18,566 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {505#true} {506#false} #31#return; {506#false} is VALID [2020-07-28 19:08:18,566 INFO L280 TraceCheckUtils]: 17: Hoare triple {505#true} assume true; {505#true} is VALID [2020-07-28 19:08:18,566 INFO L280 TraceCheckUtils]: 16: Hoare triple {505#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {505#true} is VALID [2020-07-28 19:08:18,567 INFO L280 TraceCheckUtils]: 15: Hoare triple {505#true} ~n := #in~n; {505#true} is VALID [2020-07-28 19:08:18,567 INFO L263 TraceCheckUtils]: 14: Hoare triple {506#false} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {505#true} is VALID [2020-07-28 19:08:18,568 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} {680#(not (bvslt (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv1 32)))} #29#return; {506#false} is VALID [2020-07-28 19:08:18,575 INFO L280 TraceCheckUtils]: 12: Hoare triple {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} assume true; {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:18,580 INFO L280 TraceCheckUtils]: 11: Hoare triple {690#(or (not (bvslt fibonacci_~n (_ bv1 32))) (bvslt |fibonacci_#in~n| (_ bv1 32)))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {547#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:18,582 INFO L280 TraceCheckUtils]: 10: Hoare triple {505#true} ~n := #in~n; {690#(or (not (bvslt fibonacci_~n (_ bv1 32))) (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:18,582 INFO L263 TraceCheckUtils]: 9: Hoare triple {680#(not (bvslt (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv1 32)))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {505#true} is VALID [2020-07-28 19:08:18,583 INFO L280 TraceCheckUtils]: 8: Hoare triple {697#(or (not (bvslt (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv1 32))) (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32)))} assume !(1bv32 == ~n); {680#(not (bvslt (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2020-07-28 19:08:18,586 INFO L280 TraceCheckUtils]: 7: Hoare triple {505#true} assume !~bvslt32(~n, 1bv32); {697#(or (not (bvslt (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv1 32))) (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:18,587 INFO L280 TraceCheckUtils]: 6: Hoare triple {505#true} ~n := #in~n; {505#true} is VALID [2020-07-28 19:08:18,587 INFO L263 TraceCheckUtils]: 5: Hoare triple {505#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {505#true} is VALID [2020-07-28 19:08:18,587 INFO L280 TraceCheckUtils]: 4: Hoare triple {505#true} assume !(1bv32 == ~n); {505#true} is VALID [2020-07-28 19:08:18,588 INFO L280 TraceCheckUtils]: 3: Hoare triple {505#true} assume !~bvslt32(~n, 1bv32); {505#true} is VALID [2020-07-28 19:08:18,588 INFO L280 TraceCheckUtils]: 2: Hoare triple {505#true} ~n := #in~n; {505#true} is VALID [2020-07-28 19:08:18,588 INFO L263 TraceCheckUtils]: 1: Hoare triple {505#true} call main_#t~ret3 := fibonacci(main_~x~0); {505#true} is VALID [2020-07-28 19:08:18,588 INFO L280 TraceCheckUtils]: 0: Hoare triple {505#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {505#true} is VALID [2020-07-28 19:08:18,592 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2020-07-28 19:08:18,592 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [859549156] [2020-07-28 19:08:18,593 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-28 19:08:18,593 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [6] total 10 [2020-07-28 19:08:18,593 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1144633885] [2020-07-28 19:08:18,593 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 34 [2020-07-28 19:08:18,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:18,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 19:08:18,637 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:18,637 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 19:08:18,638 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:08:18,638 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 19:08:18,639 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:08:18,639 INFO L87 Difference]: Start difference. First operand 27 states and 37 transitions. Second operand 7 states. [2020-07-28 19:08:18,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:18,939 INFO L93 Difference]: Finished difference Result 51 states and 71 transitions. [2020-07-28 19:08:18,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-28 19:08:18,939 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 34 [2020-07-28 19:08:18,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:18,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:08:18,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2020-07-28 19:08:18,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:08:18,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2020-07-28 19:08:18,945 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2020-07-28 19:08:19,047 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:19,051 INFO L225 Difference]: With dead ends: 51 [2020-07-28 19:08:19,051 INFO L226 Difference]: Without dead ends: 26 [2020-07-28 19:08:19,055 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 54 SyntacticMatches, 4 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2020-07-28 19:08:19,055 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2020-07-28 19:08:19,068 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2020-07-28 19:08:19,068 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:19,068 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 26 states. [2020-07-28 19:08:19,068 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-28 19:08:19,068 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-28 19:08:19,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:19,071 INFO L93 Difference]: Finished difference Result 26 states and 31 transitions. [2020-07-28 19:08:19,072 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 31 transitions. [2020-07-28 19:08:19,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:19,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:19,077 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-28 19:08:19,078 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-28 19:08:19,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:19,080 INFO L93 Difference]: Finished difference Result 26 states and 31 transitions. [2020-07-28 19:08:19,081 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 31 transitions. [2020-07-28 19:08:19,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:19,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:19,082 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:19,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:19,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-28 19:08:19,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 31 transitions. [2020-07-28 19:08:19,085 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 31 transitions. Word has length 34 [2020-07-28 19:08:19,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:19,085 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 31 transitions. [2020-07-28 19:08:19,086 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 19:08:19,086 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 31 transitions. [2020-07-28 19:08:19,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2020-07-28 19:08:19,087 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:19,087 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:19,298 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 mathsat -unsat_core_generation=3 [2020-07-28 19:08:19,298 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:19,299 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:19,299 INFO L82 PathProgramCache]: Analyzing trace with hash 709025827, now seen corresponding path program 2 times [2020-07-28 19:08:19,300 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:08:19,301 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [10241718] [2020-07-28 19:08:19,301 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 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:08:19,329 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:08:19,329 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:08:19,330 INFO L263 TraceCheckSpWp]: Trace formula consists of 51 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:08:19,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:19,339 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:19,435 INFO L280 TraceCheckUtils]: 0: Hoare triple {864#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {864#true} is VALID [2020-07-28 19:08:19,435 INFO L263 TraceCheckUtils]: 1: Hoare triple {864#true} call main_#t~ret3 := fibonacci(main_~x~0); {864#true} is VALID [2020-07-28 19:08:19,436 INFO L280 TraceCheckUtils]: 2: Hoare triple {864#true} ~n := #in~n; {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,437 INFO L280 TraceCheckUtils]: 3: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,437 INFO L280 TraceCheckUtils]: 4: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,438 INFO L263 TraceCheckUtils]: 5: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {864#true} is VALID [2020-07-28 19:08:19,438 INFO L280 TraceCheckUtils]: 6: Hoare triple {864#true} ~n := #in~n; {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,439 INFO L280 TraceCheckUtils]: 7: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,440 INFO L280 TraceCheckUtils]: 8: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,440 INFO L263 TraceCheckUtils]: 9: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {864#true} is VALID [2020-07-28 19:08:19,441 INFO L280 TraceCheckUtils]: 10: Hoare triple {864#true} ~n := #in~n; {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,441 INFO L280 TraceCheckUtils]: 11: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {875#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:19,442 INFO L280 TraceCheckUtils]: 12: Hoare triple {875#(= fibonacci_~n |fibonacci_#in~n|)} assume 1bv32 == ~n;#res := 1bv32; {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,443 INFO L280 TraceCheckUtils]: 13: Hoare triple {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,444 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {875#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,444 INFO L263 TraceCheckUtils]: 15: Hoare triple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {864#true} is VALID [2020-07-28 19:08:19,444 INFO L280 TraceCheckUtils]: 16: Hoare triple {864#true} ~n := #in~n; {864#true} is VALID [2020-07-28 19:08:19,445 INFO L280 TraceCheckUtils]: 17: Hoare triple {864#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {864#true} is VALID [2020-07-28 19:08:19,445 INFO L280 TraceCheckUtils]: 18: Hoare triple {864#true} assume true; {864#true} is VALID [2020-07-28 19:08:19,446 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {864#true} {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #31#return; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,446 INFO L280 TraceCheckUtils]: 20: Hoare triple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,447 INFO L280 TraceCheckUtils]: 21: Hoare triple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} assume true; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,448 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} {875#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,448 INFO L263 TraceCheckUtils]: 23: Hoare triple {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {864#true} is VALID [2020-07-28 19:08:19,448 INFO L280 TraceCheckUtils]: 24: Hoare triple {864#true} ~n := #in~n; {864#true} is VALID [2020-07-28 19:08:19,448 INFO L280 TraceCheckUtils]: 25: Hoare triple {864#true} assume !~bvslt32(~n, 1bv32); {864#true} is VALID [2020-07-28 19:08:19,448 INFO L280 TraceCheckUtils]: 26: Hoare triple {864#true} assume 1bv32 == ~n;#res := 1bv32; {864#true} is VALID [2020-07-28 19:08:19,449 INFO L280 TraceCheckUtils]: 27: Hoare triple {864#true} assume true; {864#true} is VALID [2020-07-28 19:08:19,449 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {864#true} {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #31#return; {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,450 INFO L280 TraceCheckUtils]: 29: Hoare triple {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,450 INFO L280 TraceCheckUtils]: 30: Hoare triple {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:19,451 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {938#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {864#true} #33#return; {966#(= (_ bv3 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:08:19,451 INFO L280 TraceCheckUtils]: 32: Hoare triple {966#(= (_ bv3 32) ULTIMATE.start_main_~x~0)} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {966#(= (_ bv3 32) ULTIMATE.start_main_~x~0)} is VALID [2020-07-28 19:08:19,452 INFO L280 TraceCheckUtils]: 33: Hoare triple {966#(= (_ bv3 32) ULTIMATE.start_main_~x~0)} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {865#false} is VALID [2020-07-28 19:08:19,452 INFO L280 TraceCheckUtils]: 34: Hoare triple {865#false} assume !false; {865#false} is VALID [2020-07-28 19:08:19,454 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 6 proven. 23 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2020-07-28 19:08:19,455 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:08:19,793 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:08:19,902 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:08:19,997 INFO L280 TraceCheckUtils]: 34: Hoare triple {865#false} assume !false; {865#false} is VALID [2020-07-28 19:08:19,998 INFO L280 TraceCheckUtils]: 33: Hoare triple {979#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {865#false} is VALID [2020-07-28 19:08:19,998 INFO L280 TraceCheckUtils]: 32: Hoare triple {979#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {979#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} is VALID [2020-07-28 19:08:20,000 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} {864#true} #33#return; {979#(not (= (_ bv5 32) ULTIMATE.start_main_~x~0))} is VALID [2020-07-28 19:08:20,001 INFO L280 TraceCheckUtils]: 30: Hoare triple {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} assume true; {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:20,002 INFO L280 TraceCheckUtils]: 29: Hoare triple {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:20,003 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {864#true} {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} #31#return; {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:20,003 INFO L280 TraceCheckUtils]: 27: Hoare triple {864#true} assume true; {864#true} is VALID [2020-07-28 19:08:20,003 INFO L280 TraceCheckUtils]: 26: Hoare triple {864#true} assume 1bv32 == ~n;#res := 1bv32; {864#true} is VALID [2020-07-28 19:08:20,003 INFO L280 TraceCheckUtils]: 25: Hoare triple {864#true} assume !~bvslt32(~n, 1bv32); {864#true} is VALID [2020-07-28 19:08:20,004 INFO L280 TraceCheckUtils]: 24: Hoare triple {864#true} ~n := #in~n; {864#true} is VALID [2020-07-28 19:08:20,004 INFO L263 TraceCheckUtils]: 23: Hoare triple {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {864#true} is VALID [2020-07-28 19:08:20,005 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} {1017#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} #29#return; {989#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:20,006 INFO L280 TraceCheckUtils]: 21: Hoare triple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} assume true; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:20,007 INFO L280 TraceCheckUtils]: 20: Hoare triple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:20,008 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {864#true} {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #31#return; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:20,008 INFO L280 TraceCheckUtils]: 18: Hoare triple {864#true} assume true; {864#true} is VALID [2020-07-28 19:08:20,008 INFO L280 TraceCheckUtils]: 17: Hoare triple {864#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {864#true} is VALID [2020-07-28 19:08:20,008 INFO L280 TraceCheckUtils]: 16: Hoare triple {864#true} ~n := #in~n; {864#true} is VALID [2020-07-28 19:08:20,009 INFO L263 TraceCheckUtils]: 15: Hoare triple {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {864#true} is VALID [2020-07-28 19:08:20,010 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {1045#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} #29#return; {913#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:20,011 INFO L280 TraceCheckUtils]: 13: Hoare triple {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:20,011 INFO L280 TraceCheckUtils]: 12: Hoare triple {1055#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume 1bv32 == ~n;#res := 1bv32; {906#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:20,012 INFO L280 TraceCheckUtils]: 11: Hoare triple {1055#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {1055#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:20,013 INFO L280 TraceCheckUtils]: 10: Hoare triple {864#true} ~n := #in~n; {1055#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:20,013 INFO L263 TraceCheckUtils]: 9: Hoare triple {1045#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {864#true} is VALID [2020-07-28 19:08:20,014 INFO L280 TraceCheckUtils]: 8: Hoare triple {1045#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} assume !(1bv32 == ~n); {1045#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:20,015 INFO L280 TraceCheckUtils]: 7: Hoare triple {1045#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} assume !~bvslt32(~n, 1bv32); {1045#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:20,015 INFO L280 TraceCheckUtils]: 6: Hoare triple {864#true} ~n := #in~n; {1045#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:20,016 INFO L263 TraceCheckUtils]: 5: Hoare triple {1017#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {864#true} is VALID [2020-07-28 19:08:20,017 INFO L280 TraceCheckUtils]: 4: Hoare triple {1017#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} assume !(1bv32 == ~n); {1017#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:20,017 INFO L280 TraceCheckUtils]: 3: Hoare triple {1017#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} assume !~bvslt32(~n, 1bv32); {1017#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:20,018 INFO L280 TraceCheckUtils]: 2: Hoare triple {864#true} ~n := #in~n; {1017#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967291 32)) (_ bv0 32))) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:20,018 INFO L263 TraceCheckUtils]: 1: Hoare triple {864#true} call main_#t~ret3 := fibonacci(main_~x~0); {864#true} is VALID [2020-07-28 19:08:20,019 INFO L280 TraceCheckUtils]: 0: Hoare triple {864#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {864#true} is VALID [2020-07-28 19:08:20,021 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 6 proven. 30 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2020-07-28 19:08:20,022 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [10241718] [2020-07-28 19:08:20,022 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:20,022 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 9] total 12 [2020-07-28 19:08:20,022 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1256385162] [2020-07-28 19:08:20,023 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 35 [2020-07-28 19:08:20,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:20,027 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:08:20,101 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:08:20,102 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:08:20,102 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:08:20,102 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:08:20,103 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:08:20,103 INFO L87 Difference]: Start difference. First operand 26 states and 31 transitions. Second operand 12 states. [2020-07-28 19:08:20,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:20,991 INFO L93 Difference]: Finished difference Result 71 states and 107 transitions. [2020-07-28 19:08:20,991 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-28 19:08:20,991 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 35 [2020-07-28 19:08:20,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:20,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:08:20,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2020-07-28 19:08:20,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:08:21,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2020-07-28 19:08:21,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 74 transitions. [2020-07-28 19:08:21,144 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:21,148 INFO L225 Difference]: With dead ends: 71 [2020-07-28 19:08:21,148 INFO L226 Difference]: Without dead ends: 43 [2020-07-28 19:08:21,149 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=68, Invalid=172, Unknown=0, NotChecked=0, Total=240 [2020-07-28 19:08:21,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2020-07-28 19:08:21,167 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 37. [2020-07-28 19:08:21,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:21,168 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 37 states. [2020-07-28 19:08:21,168 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 37 states. [2020-07-28 19:08:21,168 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 37 states. [2020-07-28 19:08:21,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:21,173 INFO L93 Difference]: Finished difference Result 43 states and 60 transitions. [2020-07-28 19:08:21,173 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 60 transitions. [2020-07-28 19:08:21,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:21,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:21,175 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 43 states. [2020-07-28 19:08:21,175 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 43 states. [2020-07-28 19:08:21,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:21,179 INFO L93 Difference]: Finished difference Result 43 states and 60 transitions. [2020-07-28 19:08:21,179 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 60 transitions. [2020-07-28 19:08:21,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:21,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:21,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:21,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:21,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2020-07-28 19:08:21,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 50 transitions. [2020-07-28 19:08:21,185 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 50 transitions. Word has length 35 [2020-07-28 19:08:21,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:21,185 INFO L479 AbstractCegarLoop]: Abstraction has 37 states and 50 transitions. [2020-07-28 19:08:21,185 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:08:21,186 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 50 transitions. [2020-07-28 19:08:21,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2020-07-28 19:08:21,189 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:21,190 INFO L422 BasicCegarLoop]: trace histogram [17, 17, 13, 8, 8, 8, 8, 8, 8, 5, 4, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:21,411 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 mathsat -unsat_core_generation=3 [2020-07-28 19:08:21,411 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:21,411 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:21,411 INFO L82 PathProgramCache]: Analyzing trace with hash 1131559661, now seen corresponding path program 3 times [2020-07-28 19:08:21,412 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:08:21,413 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [108787361] [2020-07-28 19:08:21,413 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 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:08:21,465 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2020-07-28 19:08:21,466 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:08:21,469 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:08:21,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:21,499 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:21,671 INFO L280 TraceCheckUtils]: 0: Hoare triple {1310#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {1310#true} is VALID [2020-07-28 19:08:21,671 INFO L263 TraceCheckUtils]: 1: Hoare triple {1310#true} call main_#t~ret3 := fibonacci(main_~x~0); {1310#true} is VALID [2020-07-28 19:08:21,672 INFO L280 TraceCheckUtils]: 2: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,672 INFO L280 TraceCheckUtils]: 3: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,672 INFO L280 TraceCheckUtils]: 4: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:21,673 INFO L263 TraceCheckUtils]: 5: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,673 INFO L280 TraceCheckUtils]: 6: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,673 INFO L280 TraceCheckUtils]: 7: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,674 INFO L280 TraceCheckUtils]: 8: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:21,674 INFO L263 TraceCheckUtils]: 9: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,674 INFO L280 TraceCheckUtils]: 10: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,675 INFO L280 TraceCheckUtils]: 11: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,675 INFO L280 TraceCheckUtils]: 12: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:21,675 INFO L263 TraceCheckUtils]: 13: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,675 INFO L280 TraceCheckUtils]: 14: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,676 INFO L280 TraceCheckUtils]: 15: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,676 INFO L280 TraceCheckUtils]: 16: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:21,676 INFO L263 TraceCheckUtils]: 17: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,677 INFO L280 TraceCheckUtils]: 18: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,677 INFO L280 TraceCheckUtils]: 19: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,677 INFO L280 TraceCheckUtils]: 20: Hoare triple {1310#true} assume 1bv32 == ~n;#res := 1bv32; {1310#true} is VALID [2020-07-28 19:08:21,677 INFO L280 TraceCheckUtils]: 21: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,678 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:21,678 INFO L263 TraceCheckUtils]: 23: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:21,678 INFO L280 TraceCheckUtils]: 24: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,678 INFO L280 TraceCheckUtils]: 25: Hoare triple {1310#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1310#true} is VALID [2020-07-28 19:08:21,678 INFO L280 TraceCheckUtils]: 26: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,679 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:21,679 INFO L280 TraceCheckUtils]: 28: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:21,679 INFO L280 TraceCheckUtils]: 29: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,679 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:21,680 INFO L263 TraceCheckUtils]: 31: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:21,680 INFO L280 TraceCheckUtils]: 32: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,680 INFO L280 TraceCheckUtils]: 33: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,680 INFO L280 TraceCheckUtils]: 34: Hoare triple {1310#true} assume 1bv32 == ~n;#res := 1bv32; {1310#true} is VALID [2020-07-28 19:08:21,680 INFO L280 TraceCheckUtils]: 35: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,681 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:21,681 INFO L280 TraceCheckUtils]: 37: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:21,681 INFO L280 TraceCheckUtils]: 38: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,681 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:21,681 INFO L263 TraceCheckUtils]: 40: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:21,682 INFO L280 TraceCheckUtils]: 41: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,682 INFO L280 TraceCheckUtils]: 42: Hoare triple {1310#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1310#true} is VALID [2020-07-28 19:08:21,682 INFO L280 TraceCheckUtils]: 43: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,682 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:21,683 INFO L280 TraceCheckUtils]: 45: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:21,683 INFO L280 TraceCheckUtils]: 46: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,683 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:21,684 INFO L263 TraceCheckUtils]: 48: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:21,684 INFO L280 TraceCheckUtils]: 49: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,684 INFO L280 TraceCheckUtils]: 50: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,685 INFO L280 TraceCheckUtils]: 51: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:21,685 INFO L263 TraceCheckUtils]: 52: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,685 INFO L280 TraceCheckUtils]: 53: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,686 INFO L280 TraceCheckUtils]: 54: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,686 INFO L280 TraceCheckUtils]: 55: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:21,686 INFO L263 TraceCheckUtils]: 56: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,687 INFO L280 TraceCheckUtils]: 57: Hoare triple {1310#true} ~n := #in~n; {1486#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:21,688 INFO L280 TraceCheckUtils]: 58: Hoare triple {1486#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {1486#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:21,688 INFO L280 TraceCheckUtils]: 59: Hoare triple {1486#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {1486#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:21,689 INFO L263 TraceCheckUtils]: 60: Hoare triple {1486#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,689 INFO L280 TraceCheckUtils]: 61: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,689 INFO L280 TraceCheckUtils]: 62: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,689 INFO L280 TraceCheckUtils]: 63: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:21,690 INFO L263 TraceCheckUtils]: 64: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:21,690 INFO L280 TraceCheckUtils]: 65: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,691 INFO L280 TraceCheckUtils]: 66: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:21,691 INFO L280 TraceCheckUtils]: 67: Hoare triple {1310#true} assume 1bv32 == ~n;#res := 1bv32; {1310#true} is VALID [2020-07-28 19:08:21,691 INFO L280 TraceCheckUtils]: 68: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,691 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:21,692 INFO L263 TraceCheckUtils]: 70: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:21,692 INFO L280 TraceCheckUtils]: 71: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:21,692 INFO L280 TraceCheckUtils]: 72: Hoare triple {1310#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1310#true} is VALID [2020-07-28 19:08:21,692 INFO L280 TraceCheckUtils]: 73: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,692 INFO L275 TraceCheckUtils]: 74: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:21,693 INFO L280 TraceCheckUtils]: 75: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:21,693 INFO L280 TraceCheckUtils]: 76: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:21,695 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {1310#true} {1486#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {1486#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:21,695 INFO L263 TraceCheckUtils]: 78: Hoare triple {1486#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:21,696 INFO L280 TraceCheckUtils]: 79: Hoare triple {1310#true} ~n := #in~n; {1486#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:21,696 INFO L280 TraceCheckUtils]: 80: Hoare triple {1486#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {1486#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:21,697 INFO L280 TraceCheckUtils]: 81: Hoare triple {1486#(= fibonacci_~n |fibonacci_#in~n|)} assume 1bv32 == ~n;#res := 1bv32; {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:21,697 INFO L280 TraceCheckUtils]: 82: Hoare triple {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:21,698 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {1486#(= fibonacci_~n |fibonacci_#in~n|)} #31#return; {1566#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:21,699 INFO L280 TraceCheckUtils]: 84: Hoare triple {1566#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1566#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:21,699 INFO L280 TraceCheckUtils]: 85: Hoare triple {1566#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {1566#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:21,701 INFO L275 TraceCheckUtils]: 86: Hoare quadruple {1566#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {1310#true} #29#return; {1576#(= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:21,701 INFO L263 TraceCheckUtils]: 87: Hoare triple {1576#(= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:21,701 INFO L280 TraceCheckUtils]: 88: Hoare triple {1310#true} ~n := #in~n; {1486#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:21,702 INFO L280 TraceCheckUtils]: 89: Hoare triple {1486#(= fibonacci_~n |fibonacci_#in~n|)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:21,702 INFO L280 TraceCheckUtils]: 90: Hoare triple {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} assume true; {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:21,703 INFO L275 TraceCheckUtils]: 91: Hoare quadruple {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} {1576#(= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))} #31#return; {1311#false} is VALID [2020-07-28 19:08:21,704 INFO L280 TraceCheckUtils]: 92: Hoare triple {1311#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1311#false} is VALID [2020-07-28 19:08:21,704 INFO L280 TraceCheckUtils]: 93: Hoare triple {1311#false} assume true; {1311#false} is VALID [2020-07-28 19:08:21,704 INFO L275 TraceCheckUtils]: 94: Hoare quadruple {1311#false} {1310#true} #29#return; {1311#false} is VALID [2020-07-28 19:08:21,704 INFO L263 TraceCheckUtils]: 95: Hoare triple {1311#false} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1311#false} is VALID [2020-07-28 19:08:21,705 INFO L280 TraceCheckUtils]: 96: Hoare triple {1311#false} ~n := #in~n; {1311#false} is VALID [2020-07-28 19:08:21,705 INFO L280 TraceCheckUtils]: 97: Hoare triple {1311#false} assume !~bvslt32(~n, 1bv32); {1311#false} is VALID [2020-07-28 19:08:21,705 INFO L280 TraceCheckUtils]: 98: Hoare triple {1311#false} assume 1bv32 == ~n;#res := 1bv32; {1311#false} is VALID [2020-07-28 19:08:21,705 INFO L280 TraceCheckUtils]: 99: Hoare triple {1311#false} assume true; {1311#false} is VALID [2020-07-28 19:08:21,705 INFO L275 TraceCheckUtils]: 100: Hoare quadruple {1311#false} {1311#false} #31#return; {1311#false} is VALID [2020-07-28 19:08:21,706 INFO L280 TraceCheckUtils]: 101: Hoare triple {1311#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1311#false} is VALID [2020-07-28 19:08:21,706 INFO L280 TraceCheckUtils]: 102: Hoare triple {1311#false} assume true; {1311#false} is VALID [2020-07-28 19:08:21,706 INFO L275 TraceCheckUtils]: 103: Hoare quadruple {1311#false} {1310#true} #31#return; {1311#false} is VALID [2020-07-28 19:08:21,707 INFO L280 TraceCheckUtils]: 104: Hoare triple {1311#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1311#false} is VALID [2020-07-28 19:08:21,707 INFO L280 TraceCheckUtils]: 105: Hoare triple {1311#false} assume true; {1311#false} is VALID [2020-07-28 19:08:21,707 INFO L275 TraceCheckUtils]: 106: Hoare quadruple {1311#false} {1310#true} #33#return; {1311#false} is VALID [2020-07-28 19:08:21,707 INFO L280 TraceCheckUtils]: 107: Hoare triple {1311#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {1311#false} is VALID [2020-07-28 19:08:21,708 INFO L280 TraceCheckUtils]: 108: Hoare triple {1311#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {1311#false} is VALID [2020-07-28 19:08:21,708 INFO L280 TraceCheckUtils]: 109: Hoare triple {1311#false} assume !false; {1311#false} is VALID [2020-07-28 19:08:21,745 INFO L134 CoverageAnalysis]: Checked inductivity of 706 backedges. 304 proven. 13 refuted. 0 times theorem prover too weak. 389 trivial. 0 not checked. [2020-07-28 19:08:21,745 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:08:22,816 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:08:23,089 INFO L280 TraceCheckUtils]: 109: Hoare triple {1311#false} assume !false; {1311#false} is VALID [2020-07-28 19:08:23,090 INFO L280 TraceCheckUtils]: 108: Hoare triple {1311#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {1311#false} is VALID [2020-07-28 19:08:23,090 INFO L280 TraceCheckUtils]: 107: Hoare triple {1311#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {1311#false} is VALID [2020-07-28 19:08:23,090 INFO L275 TraceCheckUtils]: 106: Hoare quadruple {1311#false} {1310#true} #33#return; {1311#false} is VALID [2020-07-28 19:08:23,091 INFO L280 TraceCheckUtils]: 105: Hoare triple {1311#false} assume true; {1311#false} is VALID [2020-07-28 19:08:23,091 INFO L280 TraceCheckUtils]: 104: Hoare triple {1311#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1311#false} is VALID [2020-07-28 19:08:23,091 INFO L275 TraceCheckUtils]: 103: Hoare quadruple {1311#false} {1310#true} #31#return; {1311#false} is VALID [2020-07-28 19:08:23,092 INFO L280 TraceCheckUtils]: 102: Hoare triple {1311#false} assume true; {1311#false} is VALID [2020-07-28 19:08:23,092 INFO L280 TraceCheckUtils]: 101: Hoare triple {1311#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1311#false} is VALID [2020-07-28 19:08:23,092 INFO L275 TraceCheckUtils]: 100: Hoare quadruple {1310#true} {1311#false} #31#return; {1311#false} is VALID [2020-07-28 19:08:23,092 INFO L280 TraceCheckUtils]: 99: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,093 INFO L280 TraceCheckUtils]: 98: Hoare triple {1310#true} assume 1bv32 == ~n;#res := 1bv32; {1310#true} is VALID [2020-07-28 19:08:23,093 INFO L280 TraceCheckUtils]: 97: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,093 INFO L280 TraceCheckUtils]: 96: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,094 INFO L263 TraceCheckUtils]: 95: Hoare triple {1311#false} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,094 INFO L275 TraceCheckUtils]: 94: Hoare quadruple {1311#false} {1310#true} #29#return; {1311#false} is VALID [2020-07-28 19:08:23,094 INFO L280 TraceCheckUtils]: 93: Hoare triple {1311#false} assume true; {1311#false} is VALID [2020-07-28 19:08:23,094 INFO L280 TraceCheckUtils]: 92: Hoare triple {1311#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1311#false} is VALID [2020-07-28 19:08:23,095 INFO L275 TraceCheckUtils]: 91: Hoare quadruple {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} {1710#(not (bvslt (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv1 32)))} #31#return; {1311#false} is VALID [2020-07-28 19:08:23,096 INFO L280 TraceCheckUtils]: 90: Hoare triple {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} assume true; {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:23,097 INFO L280 TraceCheckUtils]: 89: Hoare triple {1720#(or (not (bvslt fibonacci_~n (_ bv1 32))) (bvslt |fibonacci_#in~n| (_ bv1 32)))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1586#(bvslt |fibonacci_#in~n| (_ bv1 32))} is VALID [2020-07-28 19:08:23,098 INFO L280 TraceCheckUtils]: 88: Hoare triple {1310#true} ~n := #in~n; {1720#(or (not (bvslt fibonacci_~n (_ bv1 32))) (bvslt |fibonacci_#in~n| (_ bv1 32)))} is VALID [2020-07-28 19:08:23,098 INFO L263 TraceCheckUtils]: 87: Hoare triple {1710#(not (bvslt (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv1 32)))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,101 INFO L275 TraceCheckUtils]: 86: Hoare quadruple {1730#(forall ((v_fibonacci_~n_BEFORE_CALL_42 (_ BitVec 32))) (or (not (bvslt (bvadd v_fibonacci_~n_BEFORE_CALL_42 (_ bv4294967294 32)) (_ bv1 32))) (not (= (bvadd |fibonacci_#in~n| (_ bv1 32)) v_fibonacci_~n_BEFORE_CALL_42))))} {1310#true} #29#return; {1710#(not (bvslt (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2020-07-28 19:08:23,105 INFO L280 TraceCheckUtils]: 85: Hoare triple {1734#(not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} assume true; {1730#(forall ((v_fibonacci_~n_BEFORE_CALL_42 (_ BitVec 32))) (or (not (bvslt (bvadd v_fibonacci_~n_BEFORE_CALL_42 (_ bv4294967294 32)) (_ bv1 32))) (not (= (bvadd |fibonacci_#in~n| (_ bv1 32)) v_fibonacci_~n_BEFORE_CALL_42))))} is VALID [2020-07-28 19:08:23,105 INFO L280 TraceCheckUtils]: 84: Hoare triple {1734#(not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1734#(not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2020-07-28 19:08:23,106 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} #31#return; {1734#(not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2020-07-28 19:08:23,107 INFO L280 TraceCheckUtils]: 82: Hoare triple {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:23,107 INFO L280 TraceCheckUtils]: 81: Hoare triple {1751#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume 1bv32 == ~n;#res := 1bv32; {1559#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:23,108 INFO L280 TraceCheckUtils]: 80: Hoare triple {1751#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {1751#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:23,108 INFO L280 TraceCheckUtils]: 79: Hoare triple {1310#true} ~n := #in~n; {1751#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:23,108 INFO L263 TraceCheckUtils]: 78: Hoare triple {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,110 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {1310#true} {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} #29#return; {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:08:23,110 INFO L280 TraceCheckUtils]: 76: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,110 INFO L280 TraceCheckUtils]: 75: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:23,110 INFO L275 TraceCheckUtils]: 74: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:23,110 INFO L280 TraceCheckUtils]: 73: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,111 INFO L280 TraceCheckUtils]: 72: Hoare triple {1310#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1310#true} is VALID [2020-07-28 19:08:23,111 INFO L280 TraceCheckUtils]: 71: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,111 INFO L263 TraceCheckUtils]: 70: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,111 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:23,111 INFO L280 TraceCheckUtils]: 68: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,111 INFO L280 TraceCheckUtils]: 67: Hoare triple {1310#true} assume 1bv32 == ~n;#res := 1bv32; {1310#true} is VALID [2020-07-28 19:08:23,112 INFO L280 TraceCheckUtils]: 66: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,112 INFO L280 TraceCheckUtils]: 65: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,112 INFO L263 TraceCheckUtils]: 64: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,112 INFO L280 TraceCheckUtils]: 63: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:23,112 INFO L280 TraceCheckUtils]: 62: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,112 INFO L280 TraceCheckUtils]: 61: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,113 INFO L263 TraceCheckUtils]: 60: Hoare triple {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,115 INFO L280 TraceCheckUtils]: 59: Hoare triple {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} assume !(1bv32 == ~n); {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:08:23,115 INFO L280 TraceCheckUtils]: 58: Hoare triple {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:08:23,116 INFO L280 TraceCheckUtils]: 57: Hoare triple {1310#true} ~n := #in~n; {1741#(or (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))) (not (bvslt (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv1 32))))} is VALID [2020-07-28 19:08:23,116 INFO L263 TraceCheckUtils]: 56: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,116 INFO L280 TraceCheckUtils]: 55: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:23,116 INFO L280 TraceCheckUtils]: 54: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,116 INFO L280 TraceCheckUtils]: 53: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,116 INFO L263 TraceCheckUtils]: 52: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,117 INFO L280 TraceCheckUtils]: 51: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:23,117 INFO L280 TraceCheckUtils]: 50: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,117 INFO L280 TraceCheckUtils]: 49: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,117 INFO L263 TraceCheckUtils]: 48: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,117 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:23,117 INFO L280 TraceCheckUtils]: 46: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,118 INFO L280 TraceCheckUtils]: 45: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:23,118 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:23,118 INFO L280 TraceCheckUtils]: 43: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,119 INFO L280 TraceCheckUtils]: 42: Hoare triple {1310#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1310#true} is VALID [2020-07-28 19:08:23,119 INFO L280 TraceCheckUtils]: 41: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,119 INFO L263 TraceCheckUtils]: 40: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,119 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:23,120 INFO L280 TraceCheckUtils]: 38: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,120 INFO L280 TraceCheckUtils]: 37: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:23,121 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:23,121 INFO L280 TraceCheckUtils]: 35: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,121 INFO L280 TraceCheckUtils]: 34: Hoare triple {1310#true} assume 1bv32 == ~n;#res := 1bv32; {1310#true} is VALID [2020-07-28 19:08:23,121 INFO L280 TraceCheckUtils]: 33: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,121 INFO L280 TraceCheckUtils]: 32: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,122 INFO L263 TraceCheckUtils]: 31: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,122 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:23,122 INFO L280 TraceCheckUtils]: 29: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,122 INFO L280 TraceCheckUtils]: 28: Hoare triple {1310#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {1310#true} is VALID [2020-07-28 19:08:23,122 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1310#true} {1310#true} #31#return; {1310#true} is VALID [2020-07-28 19:08:23,123 INFO L280 TraceCheckUtils]: 26: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,123 INFO L280 TraceCheckUtils]: 25: Hoare triple {1310#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1310#true} is VALID [2020-07-28 19:08:23,123 INFO L280 TraceCheckUtils]: 24: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,123 INFO L263 TraceCheckUtils]: 23: Hoare triple {1310#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {1310#true} is VALID [2020-07-28 19:08:23,124 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1310#true} {1310#true} #29#return; {1310#true} is VALID [2020-07-28 19:08:23,124 INFO L280 TraceCheckUtils]: 21: Hoare triple {1310#true} assume true; {1310#true} is VALID [2020-07-28 19:08:23,125 INFO L280 TraceCheckUtils]: 20: Hoare triple {1310#true} assume 1bv32 == ~n;#res := 1bv32; {1310#true} is VALID [2020-07-28 19:08:23,125 INFO L280 TraceCheckUtils]: 19: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,125 INFO L280 TraceCheckUtils]: 18: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,125 INFO L263 TraceCheckUtils]: 17: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,126 INFO L280 TraceCheckUtils]: 16: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:23,126 INFO L280 TraceCheckUtils]: 15: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,126 INFO L280 TraceCheckUtils]: 14: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,127 INFO L263 TraceCheckUtils]: 13: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,127 INFO L280 TraceCheckUtils]: 12: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:23,127 INFO L280 TraceCheckUtils]: 11: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,127 INFO L280 TraceCheckUtils]: 10: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,128 INFO L263 TraceCheckUtils]: 9: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,128 INFO L280 TraceCheckUtils]: 8: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:23,128 INFO L280 TraceCheckUtils]: 7: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,128 INFO L280 TraceCheckUtils]: 6: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,129 INFO L263 TraceCheckUtils]: 5: Hoare triple {1310#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {1310#true} is VALID [2020-07-28 19:08:23,129 INFO L280 TraceCheckUtils]: 4: Hoare triple {1310#true} assume !(1bv32 == ~n); {1310#true} is VALID [2020-07-28 19:08:23,129 INFO L280 TraceCheckUtils]: 3: Hoare triple {1310#true} assume !~bvslt32(~n, 1bv32); {1310#true} is VALID [2020-07-28 19:08:23,129 INFO L280 TraceCheckUtils]: 2: Hoare triple {1310#true} ~n := #in~n; {1310#true} is VALID [2020-07-28 19:08:23,130 INFO L263 TraceCheckUtils]: 1: Hoare triple {1310#true} call main_#t~ret3 := fibonacci(main_~x~0); {1310#true} is VALID [2020-07-28 19:08:23,130 INFO L280 TraceCheckUtils]: 0: Hoare triple {1310#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {1310#true} is VALID [2020-07-28 19:08:23,141 INFO L134 CoverageAnalysis]: Checked inductivity of 706 backedges. 238 proven. 30 refuted. 0 times theorem prover too weak. 438 trivial. 0 not checked. [2020-07-28 19:08:23,141 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [108787361] [2020-07-28 19:08:23,142 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:23,142 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 10] total 13 [2020-07-28 19:08:23,142 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2033092291] [2020-07-28 19:08:23,143 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 110 [2020-07-28 19:08:23,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:23,201 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-28 19:08:23,299 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:23,299 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-28 19:08:23,300 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:08:23,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-28 19:08:23,300 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2020-07-28 19:08:23,300 INFO L87 Difference]: Start difference. First operand 37 states and 50 transitions. Second operand 13 states. [2020-07-28 19:08:26,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:26,013 INFO L93 Difference]: Finished difference Result 103 states and 202 transitions. [2020-07-28 19:08:26,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-28 19:08:26,013 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 110 [2020-07-28 19:08:26,014 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:26,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:08:26,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2020-07-28 19:08:26,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:08:26,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2020-07-28 19:08:26,027 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2020-07-28 19:08:26,375 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:26,380 INFO L225 Difference]: With dead ends: 103 [2020-07-28 19:08:26,380 INFO L226 Difference]: Without dead ends: 65 [2020-07-28 19:08:26,382 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 204 SyntacticMatches, 4 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=120, Invalid=300, Unknown=0, NotChecked=0, Total=420 [2020-07-28 19:08:26,383 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2020-07-28 19:08:26,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 62. [2020-07-28 19:08:26,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:26,433 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 62 states. [2020-07-28 19:08:26,433 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 62 states. [2020-07-28 19:08:26,434 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 62 states. [2020-07-28 19:08:26,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:26,441 INFO L93 Difference]: Finished difference Result 65 states and 107 transitions. [2020-07-28 19:08:26,441 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 107 transitions. [2020-07-28 19:08:26,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:26,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:26,443 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 65 states. [2020-07-28 19:08:26,443 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 65 states. [2020-07-28 19:08:26,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:26,450 INFO L93 Difference]: Finished difference Result 65 states and 107 transitions. [2020-07-28 19:08:26,451 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 107 transitions. [2020-07-28 19:08:26,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:26,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:26,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:26,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:26,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2020-07-28 19:08:26,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 104 transitions. [2020-07-28 19:08:26,459 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 104 transitions. Word has length 110 [2020-07-28 19:08:26,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:26,460 INFO L479 AbstractCegarLoop]: Abstraction has 62 states and 104 transitions. [2020-07-28 19:08:26,460 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-28 19:08:26,460 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 104 transitions. [2020-07-28 19:08:26,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2020-07-28 19:08:26,463 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:26,463 INFO L422 BasicCegarLoop]: trace histogram [21, 21, 17, 10, 10, 10, 10, 10, 10, 7, 4, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:26,683 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 mathsat -unsat_core_generation=3 [2020-07-28 19:08:26,683 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:26,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:26,683 INFO L82 PathProgramCache]: Analyzing trace with hash 1389203217, now seen corresponding path program 4 times [2020-07-28 19:08:26,684 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:08:26,684 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [136009152] [2020-07-28 19:08:26,684 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST 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:08:26,771 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2020-07-28 19:08:26,771 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:08:26,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 17 conjunts are in the unsatisfiable core [2020-07-28 19:08:26,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:08:26,829 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:08:27,134 INFO L280 TraceCheckUtils]: 0: Hoare triple {2328#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {2328#true} is VALID [2020-07-28 19:08:27,134 INFO L263 TraceCheckUtils]: 1: Hoare triple {2328#true} call main_#t~ret3 := fibonacci(main_~x~0); {2328#true} is VALID [2020-07-28 19:08:27,134 INFO L280 TraceCheckUtils]: 2: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,135 INFO L280 TraceCheckUtils]: 3: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2342#(not (bvslt fibonacci_~n (_ bv1 32)))} is VALID [2020-07-28 19:08:27,135 INFO L280 TraceCheckUtils]: 4: Hoare triple {2342#(not (bvslt fibonacci_~n (_ bv1 32)))} assume !(1bv32 == ~n); {2342#(not (bvslt fibonacci_~n (_ bv1 32)))} is VALID [2020-07-28 19:08:27,136 INFO L263 TraceCheckUtils]: 5: Hoare triple {2342#(not (bvslt fibonacci_~n (_ bv1 32)))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,136 INFO L280 TraceCheckUtils]: 6: Hoare triple {2328#true} ~n := #in~n; {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,137 INFO L280 TraceCheckUtils]: 7: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,137 INFO L280 TraceCheckUtils]: 8: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,138 INFO L263 TraceCheckUtils]: 9: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,138 INFO L280 TraceCheckUtils]: 10: Hoare triple {2328#true} ~n := #in~n; {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,139 INFO L280 TraceCheckUtils]: 11: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,139 INFO L280 TraceCheckUtils]: 12: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,139 INFO L263 TraceCheckUtils]: 13: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,140 INFO L280 TraceCheckUtils]: 14: Hoare triple {2328#true} ~n := #in~n; {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,140 INFO L280 TraceCheckUtils]: 15: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,141 INFO L280 TraceCheckUtils]: 16: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,141 INFO L263 TraceCheckUtils]: 17: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,141 INFO L280 TraceCheckUtils]: 18: Hoare triple {2328#true} ~n := #in~n; {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,142 INFO L280 TraceCheckUtils]: 19: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,142 INFO L280 TraceCheckUtils]: 20: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume 1bv32 == ~n;#res := 1bv32; {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,142 INFO L280 TraceCheckUtils]: 21: Hoare triple {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,143 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {2352#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,144 INFO L263 TraceCheckUtils]: 23: Hoare triple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,144 INFO L280 TraceCheckUtils]: 24: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,144 INFO L280 TraceCheckUtils]: 25: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:27,144 INFO L280 TraceCheckUtils]: 26: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,145 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2328#true} {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #31#return; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,145 INFO L280 TraceCheckUtils]: 28: Hoare triple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,146 INFO L280 TraceCheckUtils]: 29: Hoare triple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} assume true; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,147 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} {2352#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,147 INFO L263 TraceCheckUtils]: 31: Hoare triple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,147 INFO L280 TraceCheckUtils]: 32: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,147 INFO L280 TraceCheckUtils]: 33: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,148 INFO L280 TraceCheckUtils]: 34: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:27,148 INFO L280 TraceCheckUtils]: 35: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,148 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {2328#true} {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #31#return; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,149 INFO L280 TraceCheckUtils]: 37: Hoare triple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,149 INFO L280 TraceCheckUtils]: 38: Hoare triple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,150 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {2352#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,150 INFO L263 TraceCheckUtils]: 40: Hoare triple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,150 INFO L280 TraceCheckUtils]: 41: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,150 INFO L280 TraceCheckUtils]: 42: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,151 INFO L280 TraceCheckUtils]: 43: Hoare triple {2328#true} assume !(1bv32 == ~n); {2328#true} is VALID [2020-07-28 19:08:27,151 INFO L263 TraceCheckUtils]: 44: Hoare triple {2328#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,151 INFO L280 TraceCheckUtils]: 45: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,151 INFO L280 TraceCheckUtils]: 46: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,151 INFO L280 TraceCheckUtils]: 47: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:27,151 INFO L280 TraceCheckUtils]: 48: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,152 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {2328#true} {2328#true} #29#return; {2328#true} is VALID [2020-07-28 19:08:27,152 INFO L263 TraceCheckUtils]: 50: Hoare triple {2328#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,152 INFO L280 TraceCheckUtils]: 51: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,152 INFO L280 TraceCheckUtils]: 52: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:27,153 INFO L280 TraceCheckUtils]: 53: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,153 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {2328#true} {2328#true} #31#return; {2328#true} is VALID [2020-07-28 19:08:27,153 INFO L280 TraceCheckUtils]: 55: Hoare triple {2328#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2328#true} is VALID [2020-07-28 19:08:27,153 INFO L280 TraceCheckUtils]: 56: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,154 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {2328#true} {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} #31#return; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,155 INFO L280 TraceCheckUtils]: 58: Hoare triple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,159 INFO L280 TraceCheckUtils]: 59: Hoare triple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} assume true; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,160 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} {2342#(not (bvslt fibonacci_~n (_ bv1 32)))} #29#return; {2519#(= (bvadd fibonacci_~n (_ bv4294967291 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:27,160 INFO L263 TraceCheckUtils]: 61: Hoare triple {2519#(= (bvadd fibonacci_~n (_ bv4294967291 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,160 INFO L280 TraceCheckUtils]: 62: Hoare triple {2328#true} ~n := #in~n; {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,161 INFO L280 TraceCheckUtils]: 63: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,162 INFO L280 TraceCheckUtils]: 64: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,162 INFO L263 TraceCheckUtils]: 65: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,162 INFO L280 TraceCheckUtils]: 66: Hoare triple {2328#true} ~n := #in~n; {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,163 INFO L280 TraceCheckUtils]: 67: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,164 INFO L280 TraceCheckUtils]: 68: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,164 INFO L263 TraceCheckUtils]: 69: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,165 INFO L280 TraceCheckUtils]: 70: Hoare triple {2328#true} ~n := #in~n; {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,165 INFO L280 TraceCheckUtils]: 71: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !~bvslt32(~n, 1bv32); {2352#(= fibonacci_~n |fibonacci_#in~n|)} is VALID [2020-07-28 19:08:27,166 INFO L280 TraceCheckUtils]: 72: Hoare triple {2352#(= fibonacci_~n |fibonacci_#in~n|)} assume !(1bv32 == ~n); {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,166 INFO L263 TraceCheckUtils]: 73: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,166 INFO L280 TraceCheckUtils]: 74: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,167 INFO L280 TraceCheckUtils]: 75: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,167 INFO L280 TraceCheckUtils]: 76: Hoare triple {2328#true} assume !(1bv32 == ~n); {2328#true} is VALID [2020-07-28 19:08:27,167 INFO L263 TraceCheckUtils]: 77: Hoare triple {2328#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,167 INFO L280 TraceCheckUtils]: 78: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,167 INFO L280 TraceCheckUtils]: 79: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,167 INFO L280 TraceCheckUtils]: 80: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:27,168 INFO L280 TraceCheckUtils]: 81: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,168 INFO L275 TraceCheckUtils]: 82: Hoare quadruple {2328#true} {2328#true} #29#return; {2328#true} is VALID [2020-07-28 19:08:27,168 INFO L263 TraceCheckUtils]: 83: Hoare triple {2328#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,168 INFO L280 TraceCheckUtils]: 84: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,168 INFO L280 TraceCheckUtils]: 85: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:27,168 INFO L280 TraceCheckUtils]: 86: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,168 INFO L275 TraceCheckUtils]: 87: Hoare quadruple {2328#true} {2328#true} #31#return; {2328#true} is VALID [2020-07-28 19:08:27,169 INFO L280 TraceCheckUtils]: 88: Hoare triple {2328#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2328#true} is VALID [2020-07-28 19:08:27,169 INFO L280 TraceCheckUtils]: 89: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,177 INFO L275 TraceCheckUtils]: 90: Hoare quadruple {2328#true} {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #29#return; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,177 INFO L263 TraceCheckUtils]: 91: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,177 INFO L280 TraceCheckUtils]: 92: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,178 INFO L280 TraceCheckUtils]: 93: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,178 INFO L280 TraceCheckUtils]: 94: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:27,178 INFO L280 TraceCheckUtils]: 95: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,179 INFO L275 TraceCheckUtils]: 96: Hoare quadruple {2328#true} {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #31#return; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,179 INFO L280 TraceCheckUtils]: 97: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,180 INFO L280 TraceCheckUtils]: 98: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,180 INFO L275 TraceCheckUtils]: 99: Hoare quadruple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} {2352#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:27,181 INFO L263 TraceCheckUtils]: 100: Hoare triple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,181 INFO L280 TraceCheckUtils]: 101: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,181 INFO L280 TraceCheckUtils]: 102: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,181 INFO L280 TraceCheckUtils]: 103: Hoare triple {2328#true} assume !(1bv32 == ~n); {2328#true} is VALID [2020-07-28 19:08:27,181 INFO L263 TraceCheckUtils]: 104: Hoare triple {2328#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:27,181 INFO L280 TraceCheckUtils]: 105: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,182 INFO L280 TraceCheckUtils]: 106: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,182 INFO L280 TraceCheckUtils]: 107: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:27,182 INFO L280 TraceCheckUtils]: 108: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,182 INFO L275 TraceCheckUtils]: 109: Hoare quadruple {2328#true} {2328#true} #29#return; {2328#true} is VALID [2020-07-28 19:08:27,182 INFO L263 TraceCheckUtils]: 110: Hoare triple {2328#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,182 INFO L280 TraceCheckUtils]: 111: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,183 INFO L280 TraceCheckUtils]: 112: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:27,183 INFO L280 TraceCheckUtils]: 113: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,183 INFO L275 TraceCheckUtils]: 114: Hoare quadruple {2328#true} {2328#true} #31#return; {2328#true} is VALID [2020-07-28 19:08:27,183 INFO L280 TraceCheckUtils]: 115: Hoare triple {2328#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2328#true} is VALID [2020-07-28 19:08:27,183 INFO L280 TraceCheckUtils]: 116: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,189 INFO L275 TraceCheckUtils]: 117: Hoare quadruple {2328#true} {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} #31#return; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:27,190 INFO L280 TraceCheckUtils]: 118: Hoare triple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:27,193 INFO L280 TraceCheckUtils]: 119: Hoare triple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} assume true; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:27,194 INFO L275 TraceCheckUtils]: 120: Hoare quadruple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} {2352#(= fibonacci_~n |fibonacci_#in~n|)} #29#return; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,194 INFO L263 TraceCheckUtils]: 121: Hoare triple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:27,194 INFO L280 TraceCheckUtils]: 122: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:27,195 INFO L280 TraceCheckUtils]: 123: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:27,195 INFO L280 TraceCheckUtils]: 124: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:27,195 INFO L280 TraceCheckUtils]: 125: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:27,195 INFO L275 TraceCheckUtils]: 126: Hoare quadruple {2328#true} {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} #31#return; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,196 INFO L280 TraceCheckUtils]: 127: Hoare triple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,196 INFO L280 TraceCheckUtils]: 128: Hoare triple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} assume true; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:27,197 INFO L275 TraceCheckUtils]: 129: Hoare quadruple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} {2519#(= (bvadd fibonacci_~n (_ bv4294967291 32)) (_ bv0 32))} #31#return; {2329#false} is VALID [2020-07-28 19:08:27,197 INFO L280 TraceCheckUtils]: 130: Hoare triple {2329#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2329#false} is VALID [2020-07-28 19:08:27,197 INFO L280 TraceCheckUtils]: 131: Hoare triple {2329#false} assume true; {2329#false} is VALID [2020-07-28 19:08:27,197 INFO L275 TraceCheckUtils]: 132: Hoare quadruple {2329#false} {2328#true} #33#return; {2329#false} is VALID [2020-07-28 19:08:27,197 INFO L280 TraceCheckUtils]: 133: Hoare triple {2329#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {2329#false} is VALID [2020-07-28 19:08:27,198 INFO L280 TraceCheckUtils]: 134: Hoare triple {2329#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {2329#false} is VALID [2020-07-28 19:08:27,198 INFO L280 TraceCheckUtils]: 135: Hoare triple {2329#false} assume !false; {2329#false} is VALID [2020-07-28 19:08:27,211 INFO L134 CoverageAnalysis]: Checked inductivity of 1111 backedges. 184 proven. 373 refuted. 0 times theorem prover too weak. 554 trivial. 0 not checked. [2020-07-28 19:08:27,212 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:08:28,672 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:08:28,860 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:08:28,990 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:08:29,073 INFO L280 TraceCheckUtils]: 135: Hoare triple {2329#false} assume !false; {2329#false} is VALID [2020-07-28 19:08:29,073 INFO L280 TraceCheckUtils]: 134: Hoare triple {2329#false} assume !(5bv32 != main_~x~0 || 3bv32 == main_~result~0); {2329#false} is VALID [2020-07-28 19:08:29,073 INFO L280 TraceCheckUtils]: 133: Hoare triple {2329#false} main_~result~0 := main_#t~ret3;havoc main_#t~ret3; {2329#false} is VALID [2020-07-28 19:08:29,074 INFO L275 TraceCheckUtils]: 132: Hoare quadruple {2329#false} {2328#true} #33#return; {2329#false} is VALID [2020-07-28 19:08:29,074 INFO L280 TraceCheckUtils]: 131: Hoare triple {2329#false} assume true; {2329#false} is VALID [2020-07-28 19:08:29,075 INFO L280 TraceCheckUtils]: 130: Hoare triple {2329#false} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2329#false} is VALID [2020-07-28 19:08:29,080 INFO L275 TraceCheckUtils]: 129: Hoare quadruple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} {2519#(= (bvadd fibonacci_~n (_ bv4294967291 32)) (_ bv0 32))} #31#return; {2329#false} is VALID [2020-07-28 19:08:29,080 INFO L280 TraceCheckUtils]: 128: Hoare triple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} assume true; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,083 INFO L280 TraceCheckUtils]: 127: Hoare triple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,087 INFO L275 TraceCheckUtils]: 126: Hoare quadruple {2328#true} {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} #31#return; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,088 INFO L280 TraceCheckUtils]: 125: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,088 INFO L280 TraceCheckUtils]: 124: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:29,088 INFO L280 TraceCheckUtils]: 123: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,088 INFO L280 TraceCheckUtils]: 122: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,088 INFO L263 TraceCheckUtils]: 121: Hoare triple {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,090 INFO L275 TraceCheckUtils]: 120: Hoare quadruple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} {2799#(or (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))))} #29#return; {2702#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,091 INFO L280 TraceCheckUtils]: 119: Hoare triple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} assume true; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:29,091 INFO L280 TraceCheckUtils]: 118: Hoare triple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:29,092 INFO L275 TraceCheckUtils]: 117: Hoare quadruple {2328#true} {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} #31#return; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:29,092 INFO L280 TraceCheckUtils]: 116: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,092 INFO L280 TraceCheckUtils]: 115: Hoare triple {2328#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2328#true} is VALID [2020-07-28 19:08:29,093 INFO L275 TraceCheckUtils]: 114: Hoare quadruple {2328#true} {2328#true} #31#return; {2328#true} is VALID [2020-07-28 19:08:29,093 INFO L280 TraceCheckUtils]: 113: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,093 INFO L280 TraceCheckUtils]: 112: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:29,093 INFO L280 TraceCheckUtils]: 111: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,093 INFO L263 TraceCheckUtils]: 110: Hoare triple {2328#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,093 INFO L275 TraceCheckUtils]: 109: Hoare quadruple {2328#true} {2328#true} #29#return; {2328#true} is VALID [2020-07-28 19:08:29,094 INFO L280 TraceCheckUtils]: 108: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,094 INFO L280 TraceCheckUtils]: 107: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:29,094 INFO L280 TraceCheckUtils]: 106: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,094 INFO L280 TraceCheckUtils]: 105: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,095 INFO L263 TraceCheckUtils]: 104: Hoare triple {2328#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,095 INFO L280 TraceCheckUtils]: 103: Hoare triple {2328#true} assume !(1bv32 == ~n); {2328#true} is VALID [2020-07-28 19:08:29,095 INFO L280 TraceCheckUtils]: 102: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,095 INFO L280 TraceCheckUtils]: 101: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,096 INFO L263 TraceCheckUtils]: 100: Hoare triple {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,097 INFO L275 TraceCheckUtils]: 99: Hoare quadruple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} {2866#(or (not (= (_ bv2 32) |fibonacci_#in~n|)) (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32)))} #29#return; {2638#(not (= (_ bv2 32) |fibonacci_#in~n|))} is VALID [2020-07-28 19:08:29,098 INFO L280 TraceCheckUtils]: 98: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,098 INFO L280 TraceCheckUtils]: 97: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,099 INFO L275 TraceCheckUtils]: 96: Hoare quadruple {2328#true} {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #31#return; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,099 INFO L280 TraceCheckUtils]: 95: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,100 INFO L280 TraceCheckUtils]: 94: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:29,100 INFO L280 TraceCheckUtils]: 93: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,100 INFO L280 TraceCheckUtils]: 92: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,100 INFO L263 TraceCheckUtils]: 91: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,101 INFO L275 TraceCheckUtils]: 90: Hoare quadruple {2328#true} {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} #29#return; {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,101 INFO L280 TraceCheckUtils]: 89: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,102 INFO L280 TraceCheckUtils]: 88: Hoare triple {2328#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2328#true} is VALID [2020-07-28 19:08:29,102 INFO L275 TraceCheckUtils]: 87: Hoare quadruple {2328#true} {2328#true} #31#return; {2328#true} is VALID [2020-07-28 19:08:29,102 INFO L280 TraceCheckUtils]: 86: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,102 INFO L280 TraceCheckUtils]: 85: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:29,102 INFO L280 TraceCheckUtils]: 84: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,102 INFO L263 TraceCheckUtils]: 83: Hoare triple {2328#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,103 INFO L275 TraceCheckUtils]: 82: Hoare quadruple {2328#true} {2328#true} #29#return; {2328#true} is VALID [2020-07-28 19:08:29,103 INFO L280 TraceCheckUtils]: 81: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,103 INFO L280 TraceCheckUtils]: 80: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:29,103 INFO L280 TraceCheckUtils]: 79: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,104 INFO L280 TraceCheckUtils]: 78: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,104 INFO L263 TraceCheckUtils]: 77: Hoare triple {2328#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,104 INFO L280 TraceCheckUtils]: 76: Hoare triple {2328#true} assume !(1bv32 == ~n); {2328#true} is VALID [2020-07-28 19:08:29,104 INFO L280 TraceCheckUtils]: 75: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,104 INFO L280 TraceCheckUtils]: 74: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,105 INFO L263 TraceCheckUtils]: 73: Hoare triple {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,108 INFO L280 TraceCheckUtils]: 72: Hoare triple {2951#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32)))} assume !(1bv32 == ~n); {2556#(not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,110 INFO L280 TraceCheckUtils]: 71: Hoare triple {2951#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {2951#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,111 INFO L280 TraceCheckUtils]: 70: Hoare triple {2328#true} ~n := #in~n; {2951#(or (not (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,112 INFO L263 TraceCheckUtils]: 69: Hoare triple {2866#(or (not (= (_ bv2 32) |fibonacci_#in~n|)) (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32)))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,112 INFO L280 TraceCheckUtils]: 68: Hoare triple {2866#(or (not (= (_ bv2 32) |fibonacci_#in~n|)) (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32)))} assume !(1bv32 == ~n); {2866#(or (not (= (_ bv2 32) |fibonacci_#in~n|)) (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,113 INFO L280 TraceCheckUtils]: 67: Hoare triple {2866#(or (not (= (_ bv2 32) |fibonacci_#in~n|)) (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {2866#(or (not (= (_ bv2 32) |fibonacci_#in~n|)) (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,114 INFO L280 TraceCheckUtils]: 66: Hoare triple {2328#true} ~n := #in~n; {2866#(or (not (= (_ bv2 32) |fibonacci_#in~n|)) (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,114 INFO L263 TraceCheckUtils]: 65: Hoare triple {2799#(or (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,114 INFO L280 TraceCheckUtils]: 64: Hoare triple {2799#(or (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))))} assume !(1bv32 == ~n); {2799#(or (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,115 INFO L280 TraceCheckUtils]: 63: Hoare triple {2799#(or (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))))} assume !~bvslt32(~n, 1bv32); {2799#(or (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,116 INFO L280 TraceCheckUtils]: 62: Hoare triple {2328#true} ~n := #in~n; {2799#(or (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,116 INFO L263 TraceCheckUtils]: 61: Hoare triple {2519#(= (bvadd fibonacci_~n (_ bv4294967291 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,117 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} {2328#true} #29#return; {2519#(= (bvadd fibonacci_~n (_ bv4294967291 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,118 INFO L280 TraceCheckUtils]: 59: Hoare triple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} assume true; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,118 INFO L280 TraceCheckUtils]: 58: Hoare triple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,119 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {2328#true} {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} #31#return; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,119 INFO L280 TraceCheckUtils]: 56: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,119 INFO L280 TraceCheckUtils]: 55: Hoare triple {2328#true} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2328#true} is VALID [2020-07-28 19:08:29,120 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {2328#true} {2328#true} #31#return; {2328#true} is VALID [2020-07-28 19:08:29,120 INFO L280 TraceCheckUtils]: 53: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,120 INFO L280 TraceCheckUtils]: 52: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:29,120 INFO L280 TraceCheckUtils]: 51: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,120 INFO L263 TraceCheckUtils]: 50: Hoare triple {2328#true} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,120 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {2328#true} {2328#true} #29#return; {2328#true} is VALID [2020-07-28 19:08:29,121 INFO L280 TraceCheckUtils]: 48: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,121 INFO L280 TraceCheckUtils]: 47: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:29,121 INFO L280 TraceCheckUtils]: 46: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,122 INFO L280 TraceCheckUtils]: 45: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,122 INFO L263 TraceCheckUtils]: 44: Hoare triple {2328#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,122 INFO L280 TraceCheckUtils]: 43: Hoare triple {2328#true} assume !(1bv32 == ~n); {2328#true} is VALID [2020-07-28 19:08:29,122 INFO L280 TraceCheckUtils]: 42: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,122 INFO L280 TraceCheckUtils]: 41: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,122 INFO L263 TraceCheckUtils]: 40: Hoare triple {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,124 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} {3045#(or (not (= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32)))} #29#return; {2455#(= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,124 INFO L280 TraceCheckUtils]: 38: Hoare triple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} assume true; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,125 INFO L280 TraceCheckUtils]: 37: Hoare triple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,126 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {2328#true} {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} #31#return; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,126 INFO L280 TraceCheckUtils]: 35: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,126 INFO L280 TraceCheckUtils]: 34: Hoare triple {2328#true} assume 1bv32 == ~n;#res := 1bv32; {2328#true} is VALID [2020-07-28 19:08:29,126 INFO L280 TraceCheckUtils]: 33: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,126 INFO L280 TraceCheckUtils]: 32: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,127 INFO L263 TraceCheckUtils]: 31: Hoare triple {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,128 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} {3076#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} #29#return; {2427#(= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,129 INFO L280 TraceCheckUtils]: 29: Hoare triple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} assume true; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,129 INFO L280 TraceCheckUtils]: 28: Hoare triple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #res := ~bvadd32(#t~ret0, #t~ret1);havoc #t~ret0;havoc #t~ret1; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,130 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2328#true} {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} #31#return; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,130 INFO L280 TraceCheckUtils]: 26: Hoare triple {2328#true} assume true; {2328#true} is VALID [2020-07-28 19:08:29,131 INFO L280 TraceCheckUtils]: 25: Hoare triple {2328#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2328#true} is VALID [2020-07-28 19:08:29,131 INFO L280 TraceCheckUtils]: 24: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,131 INFO L263 TraceCheckUtils]: 23: Hoare triple {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} call #t~ret1 := fibonacci(~bvsub32(~n, 2bv32)); {2328#true} is VALID [2020-07-28 19:08:29,132 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} {3104#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} #29#return; {2402#(= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,133 INFO L280 TraceCheckUtils]: 21: Hoare triple {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} assume true; {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,134 INFO L280 TraceCheckUtils]: 20: Hoare triple {3114#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume 1bv32 == ~n;#res := 1bv32; {2395#(= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:08:29,134 INFO L280 TraceCheckUtils]: 19: Hoare triple {3114#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {3114#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,135 INFO L280 TraceCheckUtils]: 18: Hoare triple {2328#true} ~n := #in~n; {3114#(or (not (= (bvadd fibonacci_~n (_ bv4294967295 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,135 INFO L263 TraceCheckUtils]: 17: Hoare triple {3104#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,136 INFO L280 TraceCheckUtils]: 16: Hoare triple {3104#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} assume !(1bv32 == ~n); {3104#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,137 INFO L280 TraceCheckUtils]: 15: Hoare triple {3104#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} assume !~bvslt32(~n, 1bv32); {3104#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,137 INFO L280 TraceCheckUtils]: 14: Hoare triple {2328#true} ~n := #in~n; {3104#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967294 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,137 INFO L263 TraceCheckUtils]: 13: Hoare triple {3076#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,138 INFO L280 TraceCheckUtils]: 12: Hoare triple {3076#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} assume !(1bv32 == ~n); {3076#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,139 INFO L280 TraceCheckUtils]: 11: Hoare triple {3076#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} assume !~bvslt32(~n, 1bv32); {3076#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,139 INFO L280 TraceCheckUtils]: 10: Hoare triple {2328#true} ~n := #in~n; {3076#(or (= (bvadd |fibonacci_#in~n| (_ bv4294967293 32)) (_ bv0 32)) (not (= (bvadd fibonacci_~n (_ bv4294967293 32)) (_ bv0 32))))} is VALID [2020-07-28 19:08:29,140 INFO L263 TraceCheckUtils]: 9: Hoare triple {3045#(or (not (= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32)))} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,140 INFO L280 TraceCheckUtils]: 8: Hoare triple {3045#(or (not (= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32)))} assume !(1bv32 == ~n); {3045#(or (not (= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,141 INFO L280 TraceCheckUtils]: 7: Hoare triple {3045#(or (not (= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32)))} assume !~bvslt32(~n, 1bv32); {3045#(or (not (= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,141 INFO L280 TraceCheckUtils]: 6: Hoare triple {2328#true} ~n := #in~n; {3045#(or (not (= (bvadd fibonacci_~n (_ bv4294967292 32)) (_ bv0 32))) (= (bvadd |fibonacci_#in~n| (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:08:29,142 INFO L263 TraceCheckUtils]: 5: Hoare triple {2328#true} call #t~ret0 := fibonacci(~bvsub32(~n, 1bv32)); {2328#true} is VALID [2020-07-28 19:08:29,142 INFO L280 TraceCheckUtils]: 4: Hoare triple {2328#true} assume !(1bv32 == ~n); {2328#true} is VALID [2020-07-28 19:08:29,142 INFO L280 TraceCheckUtils]: 3: Hoare triple {2328#true} assume !~bvslt32(~n, 1bv32); {2328#true} is VALID [2020-07-28 19:08:29,142 INFO L280 TraceCheckUtils]: 2: Hoare triple {2328#true} ~n := #in~n; {2328#true} is VALID [2020-07-28 19:08:29,142 INFO L263 TraceCheckUtils]: 1: Hoare triple {2328#true} call main_#t~ret3 := fibonacci(main_~x~0); {2328#true} is VALID [2020-07-28 19:08:29,142 INFO L280 TraceCheckUtils]: 0: Hoare triple {2328#true} havoc main_#res;havoc main_#t~nondet2, main_#t~ret3, main_~x~0, main_~result~0;main_~x~0 := main_#t~nondet2;havoc main_#t~nondet2; {2328#true} is VALID [2020-07-28 19:08:29,164 INFO L134 CoverageAnalysis]: Checked inductivity of 1111 backedges. 197 proven. 400 refuted. 0 times theorem prover too weak. 514 trivial. 0 not checked. [2020-07-28 19:08:29,164 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [136009152] [2020-07-28 19:08:29,164 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:08:29,164 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 17] total 19 [2020-07-28 19:08:29,165 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [536803541] [2020-07-28 19:08:29,165 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 136 [2020-07-28 19:08:54,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:08:54,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-28 19:08:54,357 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:54,357 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-28 19:08:54,357 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:08:54,358 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-28 19:08:54,358 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=270, Unknown=0, NotChecked=0, Total=342 [2020-07-28 19:08:54,358 INFO L87 Difference]: Start difference. First operand 62 states and 104 transitions. Second operand 19 states. [2020-07-28 19:08:56,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:56,310 INFO L93 Difference]: Finished difference Result 136 states and 286 transitions. [2020-07-28 19:08:56,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-28 19:08:56,310 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 136 [2020-07-28 19:08:56,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:08:56,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-28 19:08:56,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 93 transitions. [2020-07-28 19:08:56,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-28 19:08:56,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 93 transitions. [2020-07-28 19:08:56,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 93 transitions. [2020-07-28 19:08:56,512 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:08:56,516 INFO L225 Difference]: With dead ends: 136 [2020-07-28 19:08:56,517 INFO L226 Difference]: Without dead ends: 76 [2020-07-28 19:08:56,519 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 281 GetRequests, 245 SyntacticMatches, 8 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 156 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=242, Invalid=628, Unknown=0, NotChecked=0, Total=870 [2020-07-28 19:08:56,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2020-07-28 19:08:56,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 59. [2020-07-28 19:08:56,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:08:56,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 59 states. [2020-07-28 19:08:56,559 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 59 states. [2020-07-28 19:08:56,559 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 59 states. [2020-07-28 19:08:56,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:56,566 INFO L93 Difference]: Finished difference Result 76 states and 109 transitions. [2020-07-28 19:08:56,566 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 109 transitions. [2020-07-28 19:08:56,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:56,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:56,568 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 76 states. [2020-07-28 19:08:56,568 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 76 states. [2020-07-28 19:08:56,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:08:56,577 INFO L93 Difference]: Finished difference Result 76 states and 109 transitions. [2020-07-28 19:08:56,577 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 109 transitions. [2020-07-28 19:08:56,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:08:56,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:08:56,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:08:56,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:08:56,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-28 19:08:56,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 82 transitions. [2020-07-28 19:08:56,585 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 82 transitions. Word has length 136 [2020-07-28 19:08:56,586 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:08:56,586 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 82 transitions. [2020-07-28 19:08:56,586 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-28 19:08:56,586 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 82 transitions. [2020-07-28 19:08:56,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2020-07-28 19:08:56,588 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:08:56,589 INFO L422 BasicCegarLoop]: trace histogram [15, 15, 12, 7, 7, 7, 7, 7, 7, 5, 3, 1, 1, 1, 1, 1, 1] [2020-07-28 19:08:56,803 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 mathsat -unsat_core_generation=3 [2020-07-28 19:08:56,804 INFO L427 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:08:56,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:08:56,805 INFO L82 PathProgramCache]: Analyzing trace with hash -46374959, now seen corresponding path program 5 times [2020-07-28 19:08:56,806 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:08:56,806 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1206153015] [2020-07-28 19:08:56,806 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_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:08:56,878 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 13 check-sat command(s) [2020-07-28 19:08:56,878 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2020-07-28 19:08:56,878 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:08:56,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:08:56,927 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:08:56,969 INFO L174 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2020-07-28 19:08:56,969 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 19:08:57,172 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 mathsat -unsat_core_generation=3 [2020-07-28 19:08:57,191 FATAL L488 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret3 := fibonacci(~x~0); [2020-07-28 19:08:57,192 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:08:57,199 INFO L168 Benchmark]: Toolchain (without parser) took 43905.24 ms. Allocated memory was 1.0 GB in the beginning and 4.3 GB in the end (delta: 3.3 GB). Free memory was 953.5 MB in the beginning and 1.5 GB in the end (delta: -514.8 MB). Peak memory consumption was 2.8 GB. Max. memory is 11.5 GB. [2020-07-28 19:08:57,199 INFO L168 Benchmark]: CDTParser took 0.26 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 19:08:57,200 INFO L168 Benchmark]: CACSL2BoogieTranslator took 230.28 ms. Allocated memory is still 1.0 GB. Free memory was 953.5 MB in the beginning and 941.4 MB in the end (delta: 12.1 MB). Peak memory consumption was 12.1 MB. Max. memory is 11.5 GB. [2020-07-28 19:08:57,201 INFO L168 Benchmark]: Boogie Procedure Inliner took 106.69 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.7 MB). Free memory was 941.4 MB in the beginning and 1.1 GB in the end (delta: -198.3 MB). Peak memory consumption was 9.9 MB. Max. memory is 11.5 GB. [2020-07-28 19:08:57,201 INFO L168 Benchmark]: Boogie Preprocessor took 30.37 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:08:57,202 INFO L168 Benchmark]: RCFGBuilder took 333.05 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: 26.2 MB). Peak memory consumption was 26.2 MB. Max. memory is 11.5 GB. [2020-07-28 19:08:57,202 INFO L168 Benchmark]: TraceAbstraction took 43196.36 ms. Allocated memory was 1.2 GB in the beginning and 4.3 GB in the end (delta: 3.1 GB). Free memory was 1.1 GB in the beginning and 1.5 GB in the end (delta: -354.8 MB). Peak memory consumption was 2.8 GB. Max. memory is 11.5 GB. [2020-07-28 19:08:57,206 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.26 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 230.28 ms. Allocated memory is still 1.0 GB. Free memory was 953.5 MB in the beginning and 941.4 MB in the end (delta: 12.1 MB). Peak memory consumption was 12.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 106.69 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.7 MB). Free memory was 941.4 MB in the beginning and 1.1 GB in the end (delta: -198.3 MB). Peak memory consumption was 9.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 30.37 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 333.05 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: 26.2 MB). Peak memory consumption was 26.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 43196.36 ms. Allocated memory was 1.2 GB in the beginning and 4.3 GB in the end (delta: 3.1 GB). Free memory was 1.1 GB in the beginning and 1.5 GB in the end (delta: -354.8 MB). Peak memory consumption was 2.8 GB. 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...