./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 22d9a6832a4080412e38f5d573b63985f3b10b3c2009b6559595c7c0bbda414f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:15:15,838 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:15:15,839 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:15:15,865 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:15:15,865 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:15:15,866 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:15:15,867 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:15:15,868 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:15:15,870 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:15:15,870 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:15:15,871 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:15:15,872 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:15:15,872 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:15:15,873 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:15:15,874 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:15:15,875 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:15:15,875 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:15:15,876 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:15:15,877 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:15:15,879 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:15:15,880 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:15:15,881 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:15:15,882 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:15:15,882 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:15:15,884 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:15:15,885 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:15:15,885 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:15:15,885 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:15:15,886 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:15:15,886 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:15:15,887 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:15:15,887 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:15:15,888 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:15:15,888 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:15:15,889 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:15:15,889 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:15:15,890 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:15:15,890 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:15:15,890 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:15:15,891 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:15:15,891 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:15:15,892 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 18:15:15,909 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:15:15,910 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:15:15,910 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:15:15,910 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:15:15,911 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:15:15,911 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:15:15,911 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:15:15,911 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:15:15,912 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:15:15,912 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:15:15,912 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:15:15,912 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 18:15:15,912 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:15:15,912 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:15:15,913 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:15:15,913 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:15:15,913 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:15:15,913 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:15:15,913 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:15:15,913 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:15:15,913 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:15:15,914 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:15:15,914 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:15:15,914 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:15:15,914 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:15:15,914 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:15:15,914 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:15:15,915 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:15:15,915 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 18:15:15,915 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 18:15:15,915 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:15:15,915 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:15:15,915 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:15:15,916 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 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(reach_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 -> 22d9a6832a4080412e38f5d573b63985f3b10b3c2009b6559595c7c0bbda414f [2022-02-20 18:15:16,125 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:15:16,144 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:15:16,146 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:15:16,147 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:15:16,148 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:15:16,149 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2022-02-20 18:15:16,204 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a99c4c973/7f50ed6531804b848236d6a971ccaedd/FLAG37a4659c0 [2022-02-20 18:15:16,553 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:15:16,554 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2022-02-20 18:15:16,561 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a99c4c973/7f50ed6531804b848236d6a971ccaedd/FLAG37a4659c0 [2022-02-20 18:15:16,984 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a99c4c973/7f50ed6531804b848236d6a971ccaedd [2022-02-20 18:15:16,987 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:15:16,990 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:15:16,994 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:15:16,994 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:15:16,996 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:15:16,998 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:15:16" (1/1) ... [2022-02-20 18:15:17,000 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6dbebf14 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:16, skipping insertion in model container [2022-02-20 18:15:17,000 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:15:16" (1/1) ... [2022-02-20 18:15:17,005 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:15:17,015 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:15:17,139 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c[946,959] [2022-02-20 18:15:17,142 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:15:17,149 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:15:17,165 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c[946,959] [2022-02-20 18:15:17,168 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:15:17,177 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:15:17,178 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17 WrapperNode [2022-02-20 18:15:17,178 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:15:17,179 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:15:17,179 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:15:17,180 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:15:17,185 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,194 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,209 INFO L137 Inliner]: procedures = 14, calls = 12, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 21 [2022-02-20 18:15:17,210 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:15:17,211 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:15:17,211 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:15:17,211 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:15:17,216 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,216 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,225 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,226 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,232 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,236 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,237 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,240 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:15:17,241 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:15:17,242 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:15:17,242 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:15:17,243 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (1/1) ... [2022-02-20 18:15:17,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:15:17,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:17,272 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 18:15:17,274 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 18:15:17,309 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:15:17,309 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 18:15:17,310 INFO L130 BoogieDeclarations]: Found specification of procedure fibo2 [2022-02-20 18:15:17,310 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo2 [2022-02-20 18:15:17,310 INFO L130 BoogieDeclarations]: Found specification of procedure fibo1 [2022-02-20 18:15:17,310 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo1 [2022-02-20 18:15:17,310 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:15:17,310 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:15:17,357 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:15:17,358 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:15:17,461 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:15:17,466 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:15:17,466 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 18:15:17,467 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:15:17 BoogieIcfgContainer [2022-02-20 18:15:17,468 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:15:17,469 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:15:17,469 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:15:17,476 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:15:17,476 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:15:16" (1/3) ... [2022-02-20 18:15:17,477 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@478449a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:15:17, skipping insertion in model container [2022-02-20 18:15:17,477 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:17" (2/3) ... [2022-02-20 18:15:17,477 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@478449a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:15:17, skipping insertion in model container [2022-02-20 18:15:17,478 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:15:17" (3/3) ... [2022-02-20 18:15:17,479 INFO L111 eAbstractionObserver]: Analyzing ICFG fibo_2calls_4-2.c [2022-02-20 18:15:17,483 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:15:17,486 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:15:17,523 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:15:17,531 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 18:15:17,531 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:15:17,558 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:17,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 18:15:17,562 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:17,563 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:17,563 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:17,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:17,568 INFO L85 PathProgramCache]: Analyzing trace with hash 1123300790, now seen corresponding path program 1 times [2022-02-20 18:15:17,576 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:17,577 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [576466238] [2022-02-20 18:15:17,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:17,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:17,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:17,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:17,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:17,840 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~n := #in~n; {32#true} is VALID [2022-02-20 18:15:17,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume ~n < 1;#res := 0; {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} is VALID [2022-02-20 18:15:17,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} assume true; {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} is VALID [2022-02-20 18:15:17,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} {32#true} #47#return; {38#(= |ULTIMATE.start_main_#t~ret8#1| 0)} is VALID [2022-02-20 18:15:17,863 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-02-20 18:15:17,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {32#true} is VALID [2022-02-20 18:15:17,864 INFO L272 TraceCheckUtils]: 2: Hoare triple {32#true} call main_#t~ret8#1 := fibo1(main_~x~0#1); {32#true} is VALID [2022-02-20 18:15:17,864 INFO L290 TraceCheckUtils]: 3: Hoare triple {32#true} ~n := #in~n; {32#true} is VALID [2022-02-20 18:15:17,865 INFO L290 TraceCheckUtils]: 4: Hoare triple {32#true} assume ~n < 1;#res := 0; {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} is VALID [2022-02-20 18:15:17,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} assume true; {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} is VALID [2022-02-20 18:15:17,867 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {40#(and (<= 0 |fibo1_#res|) (<= |fibo1_#res| 0))} {32#true} #47#return; {38#(= |ULTIMATE.start_main_#t~ret8#1| 0)} is VALID [2022-02-20 18:15:17,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#(= |ULTIMATE.start_main_#t~ret8#1| 0)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {39#(= |ULTIMATE.start_main_~result~0#1| 0)} is VALID [2022-02-20 18:15:17,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {39#(= |ULTIMATE.start_main_~result~0#1| 0)} assume 3 == main_~result~0#1; {33#false} is VALID [2022-02-20 18:15:17,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-02-20 18:15:17,869 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:15:17,869 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:17,870 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [576466238] [2022-02-20 18:15:17,870 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [576466238] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:15:17,870 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:15:17,871 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:15:17,872 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [814812600] [2022-02-20 18:15:17,872 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:15:17,876 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2022-02-20 18:15:17,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:17,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:17,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:17,907 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:15:17,908 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:17,929 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:15:17,930 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:15:17,932 INFO L87 Difference]: Start difference. First operand has 29 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:18,099 INFO L93 Difference]: Finished difference Result 43 states and 51 transitions. [2022-02-20 18:15:18,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:15:18,099 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2022-02-20 18:15:18,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:18,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 18:15:18,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 18:15:18,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-02-20 18:15:18,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:18,156 INFO L225 Difference]: With dead ends: 43 [2022-02-20 18:15:18,157 INFO L226 Difference]: Without dead ends: 27 [2022-02-20 18:15:18,159 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:15:18,161 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 4 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:18,162 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 126 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:15:18,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-02-20 18:15:18,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-02-20 18:15:18,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:18,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,184 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,184 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:18,188 INFO L93 Difference]: Finished difference Result 27 states and 34 transitions. [2022-02-20 18:15:18,188 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 34 transitions. [2022-02-20 18:15:18,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:18,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:18,189 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 27 states. [2022-02-20 18:15:18,190 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 27 states. [2022-02-20 18:15:18,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:18,193 INFO L93 Difference]: Finished difference Result 27 states and 34 transitions. [2022-02-20 18:15:18,193 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 34 transitions. [2022-02-20 18:15:18,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:18,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:18,193 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:18,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:18,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 34 transitions. [2022-02-20 18:15:18,200 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 34 transitions. Word has length 10 [2022-02-20 18:15:18,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:18,200 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 34 transitions. [2022-02-20 18:15:18,201 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 1.6) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,201 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 34 transitions. [2022-02-20 18:15:18,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 18:15:18,201 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:18,201 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:18,202 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 18:15:18,202 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:18,202 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:18,203 INFO L85 PathProgramCache]: Analyzing trace with hash 1177745932, now seen corresponding path program 1 times [2022-02-20 18:15:18,203 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:18,203 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [825147571] [2022-02-20 18:15:18,203 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:18,203 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:18,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:18,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,255 INFO L290 TraceCheckUtils]: 0: Hoare triple {184#true} ~n := #in~n; {184#true} is VALID [2022-02-20 18:15:18,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {184#true} assume !(~n < 1); {184#true} is VALID [2022-02-20 18:15:18,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {184#true} assume 1 == ~n;#res := 1; {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} is VALID [2022-02-20 18:15:18,257 INFO L290 TraceCheckUtils]: 3: Hoare triple {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} assume true; {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} is VALID [2022-02-20 18:15:18,258 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} {184#true} #47#return; {191#(= |ULTIMATE.start_main_#t~ret8#1| 1)} is VALID [2022-02-20 18:15:18,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {184#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {184#true} is VALID [2022-02-20 18:15:18,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {184#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {184#true} is VALID [2022-02-20 18:15:18,259 INFO L272 TraceCheckUtils]: 2: Hoare triple {184#true} call main_#t~ret8#1 := fibo1(main_~x~0#1); {184#true} is VALID [2022-02-20 18:15:18,259 INFO L290 TraceCheckUtils]: 3: Hoare triple {184#true} ~n := #in~n; {184#true} is VALID [2022-02-20 18:15:18,271 INFO L290 TraceCheckUtils]: 4: Hoare triple {184#true} assume !(~n < 1); {184#true} is VALID [2022-02-20 18:15:18,272 INFO L290 TraceCheckUtils]: 5: Hoare triple {184#true} assume 1 == ~n;#res := 1; {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} is VALID [2022-02-20 18:15:18,272 INFO L290 TraceCheckUtils]: 6: Hoare triple {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} assume true; {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} is VALID [2022-02-20 18:15:18,273 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {193#(and (<= |fibo1_#res| 1) (<= 1 |fibo1_#res|))} {184#true} #47#return; {191#(= |ULTIMATE.start_main_#t~ret8#1| 1)} is VALID [2022-02-20 18:15:18,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {191#(= |ULTIMATE.start_main_#t~ret8#1| 1)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {192#(= |ULTIMATE.start_main_~result~0#1| 1)} is VALID [2022-02-20 18:15:18,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {192#(= |ULTIMATE.start_main_~result~0#1| 1)} assume 3 == main_~result~0#1; {185#false} is VALID [2022-02-20 18:15:18,274 INFO L290 TraceCheckUtils]: 10: Hoare triple {185#false} assume !false; {185#false} is VALID [2022-02-20 18:15:18,275 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:15:18,275 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:18,275 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [825147571] [2022-02-20 18:15:18,275 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [825147571] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:15:18,275 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:15:18,275 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:15:18,276 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1303264873] [2022-02-20 18:15:18,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:15:18,277 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 18:15:18,277 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:18,277 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:18,288 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:15:18,288 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:18,288 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:15:18,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:15:18,289 INFO L87 Difference]: Start difference. First operand 27 states and 34 transitions. Second operand has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:18,380 INFO L93 Difference]: Finished difference Result 33 states and 41 transitions. [2022-02-20 18:15:18,380 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:15:18,381 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 18:15:18,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:18,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-02-20 18:15:18,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-02-20 18:15:18,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 38 transitions. [2022-02-20 18:15:18,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:18,436 INFO L225 Difference]: With dead ends: 33 [2022-02-20 18:15:18,437 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 18:15:18,440 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:15:18,443 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 0 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:18,444 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 125 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:15:18,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 18:15:18,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 27. [2022-02-20 18:15:18,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:18,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,452 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,454 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:18,460 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-02-20 18:15:18,460 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-02-20 18:15:18,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:18,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:18,463 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 29 states. [2022-02-20 18:15:18,464 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 29 states. [2022-02-20 18:15:18,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:18,467 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-02-20 18:15:18,467 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-02-20 18:15:18,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:18,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:18,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:18,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:18,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:18,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 34 transitions. [2022-02-20 18:15:18,480 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 34 transitions. Word has length 11 [2022-02-20 18:15:18,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:18,481 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 34 transitions. [2022-02-20 18:15:18,482 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:18,482 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 34 transitions. [2022-02-20 18:15:18,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 18:15:18,484 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:18,484 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:18,484 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 18:15:18,484 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:18,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:18,485 INFO L85 PathProgramCache]: Analyzing trace with hash 2110588723, now seen corresponding path program 1 times [2022-02-20 18:15:18,486 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:18,486 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [9029303] [2022-02-20 18:15:18,486 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:18,486 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:18,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,536 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:18,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:18,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#true} ~n := #in~n; {357#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:18,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {357#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {358#(<= |fibo2_#in~n| 0)} assume true; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {358#(<= |fibo2_#in~n| 0)} {348#(not (<= fibo1_~n 1))} #53#return; {329#false} is VALID [2022-02-20 18:15:18,622 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:15:18,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#true} ~n := #in~n; {328#true} is VALID [2022-02-20 18:15:18,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#true} assume ~n < 1;#res := 0; {328#true} is VALID [2022-02-20 18:15:18,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {328#true} assume true; {328#true} is VALID [2022-02-20 18:15:18,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {328#true} {329#false} #55#return; {329#false} is VALID [2022-02-20 18:15:18,636 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#true} ~n := #in~n; {328#true} is VALID [2022-02-20 18:15:18,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#true} assume !(~n < 1); {347#(< 0 fibo1_~n)} is VALID [2022-02-20 18:15:18,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {347#(< 0 fibo1_~n)} assume !(1 == ~n); {348#(not (<= fibo1_~n 1))} is VALID [2022-02-20 18:15:18,637 INFO L272 TraceCheckUtils]: 3: Hoare triple {348#(not (<= fibo1_~n 1))} call #t~ret4 := fibo2(~n - 1); {328#true} is VALID [2022-02-20 18:15:18,638 INFO L290 TraceCheckUtils]: 4: Hoare triple {328#true} ~n := #in~n; {357#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:18,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {357#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {358#(<= |fibo2_#in~n| 0)} assume true; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,639 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {358#(<= |fibo2_#in~n| 0)} {348#(not (<= fibo1_~n 1))} #53#return; {329#false} is VALID [2022-02-20 18:15:18,639 INFO L290 TraceCheckUtils]: 8: Hoare triple {329#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {329#false} is VALID [2022-02-20 18:15:18,640 INFO L272 TraceCheckUtils]: 9: Hoare triple {329#false} call #t~ret5 := fibo2(~n - 2); {328#true} is VALID [2022-02-20 18:15:18,640 INFO L290 TraceCheckUtils]: 10: Hoare triple {328#true} ~n := #in~n; {328#true} is VALID [2022-02-20 18:15:18,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {328#true} assume ~n < 1;#res := 0; {328#true} is VALID [2022-02-20 18:15:18,646 INFO L290 TraceCheckUtils]: 12: Hoare triple {328#true} assume true; {328#true} is VALID [2022-02-20 18:15:18,646 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {328#true} {329#false} #55#return; {329#false} is VALID [2022-02-20 18:15:18,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {329#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {329#false} is VALID [2022-02-20 18:15:18,647 INFO L290 TraceCheckUtils]: 15: Hoare triple {329#false} assume true; {329#false} is VALID [2022-02-20 18:15:18,648 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {329#false} {328#true} #47#return; {329#false} is VALID [2022-02-20 18:15:18,649 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {328#true} is VALID [2022-02-20 18:15:18,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {328#true} is VALID [2022-02-20 18:15:18,649 INFO L272 TraceCheckUtils]: 2: Hoare triple {328#true} call main_#t~ret8#1 := fibo1(main_~x~0#1); {328#true} is VALID [2022-02-20 18:15:18,649 INFO L290 TraceCheckUtils]: 3: Hoare triple {328#true} ~n := #in~n; {328#true} is VALID [2022-02-20 18:15:18,655 INFO L290 TraceCheckUtils]: 4: Hoare triple {328#true} assume !(~n < 1); {347#(< 0 fibo1_~n)} is VALID [2022-02-20 18:15:18,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {347#(< 0 fibo1_~n)} assume !(1 == ~n); {348#(not (<= fibo1_~n 1))} is VALID [2022-02-20 18:15:18,656 INFO L272 TraceCheckUtils]: 6: Hoare triple {348#(not (<= fibo1_~n 1))} call #t~ret4 := fibo2(~n - 1); {328#true} is VALID [2022-02-20 18:15:18,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {328#true} ~n := #in~n; {357#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:18,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {357#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,658 INFO L290 TraceCheckUtils]: 9: Hoare triple {358#(<= |fibo2_#in~n| 0)} assume true; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,658 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {358#(<= |fibo2_#in~n| 0)} {348#(not (<= fibo1_~n 1))} #53#return; {329#false} is VALID [2022-02-20 18:15:18,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {329#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {329#false} is VALID [2022-02-20 18:15:18,659 INFO L272 TraceCheckUtils]: 12: Hoare triple {329#false} call #t~ret5 := fibo2(~n - 2); {328#true} is VALID [2022-02-20 18:15:18,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {328#true} ~n := #in~n; {328#true} is VALID [2022-02-20 18:15:18,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {328#true} assume ~n < 1;#res := 0; {328#true} is VALID [2022-02-20 18:15:18,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {328#true} assume true; {328#true} is VALID [2022-02-20 18:15:18,660 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {328#true} {329#false} #55#return; {329#false} is VALID [2022-02-20 18:15:18,660 INFO L290 TraceCheckUtils]: 17: Hoare triple {329#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {329#false} is VALID [2022-02-20 18:15:18,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#false} assume true; {329#false} is VALID [2022-02-20 18:15:18,660 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {329#false} {328#true} #47#return; {329#false} is VALID [2022-02-20 18:15:18,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {329#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {329#false} is VALID [2022-02-20 18:15:18,660 INFO L290 TraceCheckUtils]: 21: Hoare triple {329#false} assume 3 == main_~result~0#1; {329#false} is VALID [2022-02-20 18:15:18,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {329#false} assume !false; {329#false} is VALID [2022-02-20 18:15:18,661 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:18,661 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:18,661 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [9029303] [2022-02-20 18:15:18,661 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [9029303] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:15:18,662 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1917511576] [2022-02-20 18:15:18,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:18,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:18,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:18,674 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:15:18,694 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 18:15:18,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,718 INFO L263 TraceCheckSpWp]: Trace formula consists of 75 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:15:18,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:18,743 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:18,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {328#true} is VALID [2022-02-20 18:15:18,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {365#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:18,968 INFO L272 TraceCheckUtils]: 2: Hoare triple {365#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {328#true} is VALID [2022-02-20 18:15:18,968 INFO L290 TraceCheckUtils]: 3: Hoare triple {328#true} ~n := #in~n; {372#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:18,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {372#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {372#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:18,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {372#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {372#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:18,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {372#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~n - 1); {328#true} is VALID [2022-02-20 18:15:18,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {328#true} ~n := #in~n; {385#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:18,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {385#(<= |fibo2_#in~n| fibo2_~n)} assume ~n < 1;#res := 0; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {358#(<= |fibo2_#in~n| 0)} assume true; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:18,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {358#(<= |fibo2_#in~n| 0)} {372#(<= |fibo1_#in~n| fibo1_~n)} #53#return; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:18,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {395#(<= |fibo1_#in~n| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:18,972 INFO L272 TraceCheckUtils]: 12: Hoare triple {395#(<= |fibo1_#in~n| 1)} call #t~ret5 := fibo2(~n - 2); {328#true} is VALID [2022-02-20 18:15:18,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {328#true} ~n := #in~n; {328#true} is VALID [2022-02-20 18:15:18,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {328#true} assume ~n < 1;#res := 0; {328#true} is VALID [2022-02-20 18:15:18,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {328#true} assume true; {328#true} is VALID [2022-02-20 18:15:18,973 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {328#true} {395#(<= |fibo1_#in~n| 1)} #55#return; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:18,974 INFO L290 TraceCheckUtils]: 17: Hoare triple {395#(<= |fibo1_#in~n| 1)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:18,974 INFO L290 TraceCheckUtils]: 18: Hoare triple {395#(<= |fibo1_#in~n| 1)} assume true; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:18,975 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {395#(<= |fibo1_#in~n| 1)} {365#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {329#false} is VALID [2022-02-20 18:15:18,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {329#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {329#false} is VALID [2022-02-20 18:15:18,975 INFO L290 TraceCheckUtils]: 21: Hoare triple {329#false} assume 3 == main_~result~0#1; {329#false} is VALID [2022-02-20 18:15:18,975 INFO L290 TraceCheckUtils]: 22: Hoare triple {329#false} assume !false; {329#false} is VALID [2022-02-20 18:15:18,975 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:18,976 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:19,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {329#false} assume !false; {329#false} is VALID [2022-02-20 18:15:19,493 INFO L290 TraceCheckUtils]: 21: Hoare triple {329#false} assume 3 == main_~result~0#1; {329#false} is VALID [2022-02-20 18:15:19,493 INFO L290 TraceCheckUtils]: 20: Hoare triple {329#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {329#false} is VALID [2022-02-20 18:15:19,496 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {395#(<= |fibo1_#in~n| 1)} {441#(<= 2 |ULTIMATE.start_main_~x~0#1|)} #47#return; {329#false} is VALID [2022-02-20 18:15:19,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {395#(<= |fibo1_#in~n| 1)} assume true; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:19,497 INFO L290 TraceCheckUtils]: 17: Hoare triple {395#(<= |fibo1_#in~n| 1)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:19,498 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {328#true} {395#(<= |fibo1_#in~n| 1)} #55#return; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:19,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {328#true} assume true; {328#true} is VALID [2022-02-20 18:15:19,498 INFO L290 TraceCheckUtils]: 14: Hoare triple {328#true} assume ~n < 1;#res := 0; {328#true} is VALID [2022-02-20 18:15:19,498 INFO L290 TraceCheckUtils]: 13: Hoare triple {328#true} ~n := #in~n; {328#true} is VALID [2022-02-20 18:15:19,498 INFO L272 TraceCheckUtils]: 12: Hoare triple {395#(<= |fibo1_#in~n| 1)} call #t~ret5 := fibo2(~n - 2); {328#true} is VALID [2022-02-20 18:15:19,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {395#(<= |fibo1_#in~n| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:19,499 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {358#(<= |fibo2_#in~n| 0)} {472#(or (<= |fibo1_#in~n| 1) (<= 2 fibo1_~n))} #53#return; {395#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:19,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {358#(<= |fibo2_#in~n| 0)} assume true; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:19,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {482#(or (not (< fibo2_~n 1)) (<= |fibo2_#in~n| 0))} assume ~n < 1;#res := 0; {358#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:19,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {328#true} ~n := #in~n; {482#(or (not (< fibo2_~n 1)) (<= |fibo2_#in~n| 0))} is VALID [2022-02-20 18:15:19,501 INFO L272 TraceCheckUtils]: 6: Hoare triple {472#(or (<= |fibo1_#in~n| 1) (<= 2 fibo1_~n))} call #t~ret4 := fibo2(~n - 1); {328#true} is VALID [2022-02-20 18:15:19,502 INFO L290 TraceCheckUtils]: 5: Hoare triple {472#(or (<= |fibo1_#in~n| 1) (<= 2 fibo1_~n))} assume !(1 == ~n); {472#(or (<= |fibo1_#in~n| 1) (<= 2 fibo1_~n))} is VALID [2022-02-20 18:15:19,502 INFO L290 TraceCheckUtils]: 4: Hoare triple {472#(or (<= |fibo1_#in~n| 1) (<= 2 fibo1_~n))} assume !(~n < 1); {472#(or (<= |fibo1_#in~n| 1) (<= 2 fibo1_~n))} is VALID [2022-02-20 18:15:19,503 INFO L290 TraceCheckUtils]: 3: Hoare triple {328#true} ~n := #in~n; {472#(or (<= |fibo1_#in~n| 1) (<= 2 fibo1_~n))} is VALID [2022-02-20 18:15:19,503 INFO L272 TraceCheckUtils]: 2: Hoare triple {441#(<= 2 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {328#true} is VALID [2022-02-20 18:15:19,504 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {441#(<= 2 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:19,504 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {328#true} is VALID [2022-02-20 18:15:19,504 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:19,504 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1917511576] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:19,505 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:15:19,505 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 7, 7] total 13 [2022-02-20 18:15:19,505 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [322452335] [2022-02-20 18:15:19,505 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:19,506 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 10 states have (on average 3.2) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 2 states have call predecessors, (8), 8 states have call successors, (8) Word has length 23 [2022-02-20 18:15:19,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:19,512 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 10 states have (on average 3.2) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 2 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:19,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:19,540 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 18:15:19,541 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:19,542 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 18:15:19,542 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-02-20 18:15:19,543 INFO L87 Difference]: Start difference. First operand 27 states and 34 transitions. Second operand has 13 states, 10 states have (on average 3.2) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 2 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:19,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:19,932 INFO L93 Difference]: Finished difference Result 55 states and 75 transitions. [2022-02-20 18:15:19,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 18:15:19,932 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 10 states have (on average 3.2) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 2 states have call predecessors, (8), 8 states have call successors, (8) Word has length 23 [2022-02-20 18:15:19,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:19,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 10 states have (on average 3.2) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 2 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:19,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2022-02-20 18:15:19,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 10 states have (on average 3.2) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 2 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:19,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2022-02-20 18:15:19,946 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 72 transitions. [2022-02-20 18:15:20,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:20,002 INFO L225 Difference]: With dead ends: 55 [2022-02-20 18:15:20,002 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 18:15:20,002 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 43 SyntacticMatches, 3 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2022-02-20 18:15:20,003 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 34 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:20,003 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 135 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 139 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:15:20,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 18:15:20,023 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 29. [2022-02-20 18:15:20,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:20,024 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 29 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 5 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-02-20 18:15:20,024 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 29 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 5 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-02-20 18:15:20,025 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 29 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 5 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-02-20 18:15:20,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:20,027 INFO L93 Difference]: Finished difference Result 31 states and 39 transitions. [2022-02-20 18:15:20,027 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 39 transitions. [2022-02-20 18:15:20,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:20,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:20,028 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 5 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) Second operand 31 states. [2022-02-20 18:15:20,028 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 5 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) Second operand 31 states. [2022-02-20 18:15:20,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:20,030 INFO L93 Difference]: Finished difference Result 31 states and 39 transitions. [2022-02-20 18:15:20,030 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 39 transitions. [2022-02-20 18:15:20,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:20,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:20,030 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:20,031 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:20,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 5 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-02-20 18:15:20,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-02-20 18:15:20,032 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 23 [2022-02-20 18:15:20,033 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:20,033 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-02-20 18:15:20,033 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 10 states have (on average 3.2) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 2 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:20,033 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-02-20 18:15:20,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 18:15:20,034 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:20,034 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:20,055 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:20,247 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:20,248 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:20,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:20,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1277869167, now seen corresponding path program 1 times [2022-02-20 18:15:20,248 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:20,248 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1896224562] [2022-02-20 18:15:20,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:20,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:20,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:20,281 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:20,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:20,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:20,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:20,352 INFO L290 TraceCheckUtils]: 0: Hoare triple {676#true} ~n := #in~n; {709#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:20,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {709#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:20,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,354 INFO L290 TraceCheckUtils]: 3: Hoare triple {710#(<= |fibo2_#in~n| 1)} assume true; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,355 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {710#(<= |fibo2_#in~n| 1)} {697#(= fibo1_~n |fibo1_#in~n|)} #53#return; {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:20,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 18:15:20,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:20,372 INFO L290 TraceCheckUtils]: 0: Hoare triple {676#true} ~n := #in~n; {676#true} is VALID [2022-02-20 18:15:20,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {676#true} assume ~n < 1;#res := 0; {676#true} is VALID [2022-02-20 18:15:20,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {676#true} assume true; {676#true} is VALID [2022-02-20 18:15:20,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {676#true} {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,374 INFO L290 TraceCheckUtils]: 0: Hoare triple {676#true} ~n := #in~n; {697#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:20,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {697#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {697#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:20,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {697#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {697#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:20,375 INFO L272 TraceCheckUtils]: 3: Hoare triple {697#(= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {676#true} is VALID [2022-02-20 18:15:20,375 INFO L290 TraceCheckUtils]: 4: Hoare triple {676#true} ~n := #in~n; {709#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:20,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {709#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:20,376 INFO L290 TraceCheckUtils]: 6: Hoare triple {709#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,376 INFO L290 TraceCheckUtils]: 7: Hoare triple {710#(<= |fibo2_#in~n| 1)} assume true; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,377 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {710#(<= |fibo2_#in~n| 1)} {697#(= fibo1_~n |fibo1_#in~n|)} #53#return; {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:20,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:20,378 INFO L272 TraceCheckUtils]: 10: Hoare triple {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} call #t~ret5 := fibo2(~n - 2); {676#true} is VALID [2022-02-20 18:15:20,378 INFO L290 TraceCheckUtils]: 11: Hoare triple {676#true} ~n := #in~n; {676#true} is VALID [2022-02-20 18:15:20,378 INFO L290 TraceCheckUtils]: 12: Hoare triple {676#true} assume ~n < 1;#res := 0; {676#true} is VALID [2022-02-20 18:15:20,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {676#true} assume true; {676#true} is VALID [2022-02-20 18:15:20,379 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {676#true} {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,379 INFO L290 TraceCheckUtils]: 15: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume true; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,381 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {708#(<= |fibo1_#in~n| 2)} {678#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {677#false} is VALID [2022-02-20 18:15:20,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {676#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {676#true} is VALID [2022-02-20 18:15:20,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {676#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {678#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:20,382 INFO L272 TraceCheckUtils]: 2: Hoare triple {678#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {676#true} is VALID [2022-02-20 18:15:20,382 INFO L290 TraceCheckUtils]: 3: Hoare triple {676#true} ~n := #in~n; {697#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:20,382 INFO L290 TraceCheckUtils]: 4: Hoare triple {697#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {697#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:20,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {697#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {697#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:20,383 INFO L272 TraceCheckUtils]: 6: Hoare triple {697#(= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {676#true} is VALID [2022-02-20 18:15:20,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {676#true} ~n := #in~n; {709#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:20,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {709#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:20,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,384 INFO L290 TraceCheckUtils]: 10: Hoare triple {710#(<= |fibo2_#in~n| 1)} assume true; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,385 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {710#(<= |fibo2_#in~n| 1)} {697#(= fibo1_~n |fibo1_#in~n|)} #53#return; {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:20,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:20,386 INFO L272 TraceCheckUtils]: 13: Hoare triple {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} call #t~ret5 := fibo2(~n - 2); {676#true} is VALID [2022-02-20 18:15:20,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {676#true} ~n := #in~n; {676#true} is VALID [2022-02-20 18:15:20,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {676#true} assume ~n < 1;#res := 0; {676#true} is VALID [2022-02-20 18:15:20,386 INFO L290 TraceCheckUtils]: 16: Hoare triple {676#true} assume true; {676#true} is VALID [2022-02-20 18:15:20,387 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {676#true} {703#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,388 INFO L290 TraceCheckUtils]: 19: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume true; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,388 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {708#(<= |fibo1_#in~n| 2)} {678#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {677#false} is VALID [2022-02-20 18:15:20,389 INFO L290 TraceCheckUtils]: 21: Hoare triple {677#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {677#false} is VALID [2022-02-20 18:15:20,389 INFO L290 TraceCheckUtils]: 22: Hoare triple {677#false} assume 3 == main_~result~0#1; {677#false} is VALID [2022-02-20 18:15:20,389 INFO L290 TraceCheckUtils]: 23: Hoare triple {677#false} assume !false; {677#false} is VALID [2022-02-20 18:15:20,389 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:20,389 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:20,390 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1896224562] [2022-02-20 18:15:20,390 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1896224562] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:15:20,390 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1351280370] [2022-02-20 18:15:20,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:20,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:20,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:20,392 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:15:20,394 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 18:15:20,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:20,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 77 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:15:20,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:20,444 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:20,573 INFO L290 TraceCheckUtils]: 0: Hoare triple {676#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {676#true} is VALID [2022-02-20 18:15:20,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {676#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {678#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:20,575 INFO L272 TraceCheckUtils]: 2: Hoare triple {678#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {676#true} is VALID [2022-02-20 18:15:20,576 INFO L290 TraceCheckUtils]: 3: Hoare triple {676#true} ~n := #in~n; {723#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:20,576 INFO L290 TraceCheckUtils]: 4: Hoare triple {723#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {723#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:20,577 INFO L290 TraceCheckUtils]: 5: Hoare triple {723#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {723#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:20,577 INFO L272 TraceCheckUtils]: 6: Hoare triple {723#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~n - 1); {676#true} is VALID [2022-02-20 18:15:20,577 INFO L290 TraceCheckUtils]: 7: Hoare triple {676#true} ~n := #in~n; {736#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:20,577 INFO L290 TraceCheckUtils]: 8: Hoare triple {736#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {736#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:20,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {736#(<= |fibo2_#in~n| fibo2_~n)} assume 1 == ~n;#res := 1; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,578 INFO L290 TraceCheckUtils]: 10: Hoare triple {710#(<= |fibo2_#in~n| 1)} assume true; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:20,579 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {710#(<= |fibo2_#in~n| 1)} {723#(<= |fibo1_#in~n| fibo1_~n)} #53#return; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,582 INFO L290 TraceCheckUtils]: 12: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,583 INFO L272 TraceCheckUtils]: 13: Hoare triple {708#(<= |fibo1_#in~n| 2)} call #t~ret5 := fibo2(~n - 2); {676#true} is VALID [2022-02-20 18:15:20,583 INFO L290 TraceCheckUtils]: 14: Hoare triple {676#true} ~n := #in~n; {676#true} is VALID [2022-02-20 18:15:20,583 INFO L290 TraceCheckUtils]: 15: Hoare triple {676#true} assume ~n < 1;#res := 0; {676#true} is VALID [2022-02-20 18:15:20,583 INFO L290 TraceCheckUtils]: 16: Hoare triple {676#true} assume true; {676#true} is VALID [2022-02-20 18:15:20,584 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {676#true} {708#(<= |fibo1_#in~n| 2)} #55#return; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume true; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:20,586 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {708#(<= |fibo1_#in~n| 2)} {678#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {677#false} is VALID [2022-02-20 18:15:20,586 INFO L290 TraceCheckUtils]: 21: Hoare triple {677#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {677#false} is VALID [2022-02-20 18:15:20,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {677#false} assume 3 == main_~result~0#1; {677#false} is VALID [2022-02-20 18:15:20,590 INFO L290 TraceCheckUtils]: 23: Hoare triple {677#false} assume !false; {677#false} is VALID [2022-02-20 18:15:20,591 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:20,591 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:21,072 INFO L290 TraceCheckUtils]: 23: Hoare triple {677#false} assume !false; {677#false} is VALID [2022-02-20 18:15:21,072 INFO L290 TraceCheckUtils]: 22: Hoare triple {677#false} assume 3 == main_~result~0#1; {677#false} is VALID [2022-02-20 18:15:21,072 INFO L290 TraceCheckUtils]: 21: Hoare triple {677#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {677#false} is VALID [2022-02-20 18:15:21,073 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {708#(<= |fibo1_#in~n| 2)} {794#(< 2 |ULTIMATE.start_main_~x~0#1|)} #47#return; {677#false} is VALID [2022-02-20 18:15:21,073 INFO L290 TraceCheckUtils]: 19: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume true; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:21,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:21,075 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {676#true} {708#(<= |fibo1_#in~n| 2)} #55#return; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:21,075 INFO L290 TraceCheckUtils]: 16: Hoare triple {676#true} assume true; {676#true} is VALID [2022-02-20 18:15:21,075 INFO L290 TraceCheckUtils]: 15: Hoare triple {676#true} assume ~n < 1;#res := 0; {676#true} is VALID [2022-02-20 18:15:21,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {676#true} ~n := #in~n; {676#true} is VALID [2022-02-20 18:15:21,076 INFO L272 TraceCheckUtils]: 13: Hoare triple {708#(<= |fibo1_#in~n| 2)} call #t~ret5 := fibo2(~n - 2); {676#true} is VALID [2022-02-20 18:15:21,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {708#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:21,077 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {710#(<= |fibo2_#in~n| 1)} {825#(or (< 2 fibo1_~n) (<= |fibo1_#in~n| 2))} #53#return; {708#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:21,077 INFO L290 TraceCheckUtils]: 10: Hoare triple {710#(<= |fibo2_#in~n| 1)} assume true; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:21,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {835#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} assume 1 == ~n;#res := 1; {710#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:21,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {835#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} assume !(~n < 1); {835#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} is VALID [2022-02-20 18:15:21,079 INFO L290 TraceCheckUtils]: 7: Hoare triple {676#true} ~n := #in~n; {835#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} is VALID [2022-02-20 18:15:21,079 INFO L272 TraceCheckUtils]: 6: Hoare triple {825#(or (< 2 fibo1_~n) (<= |fibo1_#in~n| 2))} call #t~ret4 := fibo2(~n - 1); {676#true} is VALID [2022-02-20 18:15:21,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {825#(or (< 2 fibo1_~n) (<= |fibo1_#in~n| 2))} assume !(1 == ~n); {825#(or (< 2 fibo1_~n) (<= |fibo1_#in~n| 2))} is VALID [2022-02-20 18:15:21,080 INFO L290 TraceCheckUtils]: 4: Hoare triple {825#(or (< 2 fibo1_~n) (<= |fibo1_#in~n| 2))} assume !(~n < 1); {825#(or (< 2 fibo1_~n) (<= |fibo1_#in~n| 2))} is VALID [2022-02-20 18:15:21,080 INFO L290 TraceCheckUtils]: 3: Hoare triple {676#true} ~n := #in~n; {825#(or (< 2 fibo1_~n) (<= |fibo1_#in~n| 2))} is VALID [2022-02-20 18:15:21,080 INFO L272 TraceCheckUtils]: 2: Hoare triple {794#(< 2 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {676#true} is VALID [2022-02-20 18:15:21,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {676#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {794#(< 2 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:21,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {676#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {676#true} is VALID [2022-02-20 18:15:21,081 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:21,081 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1351280370] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:21,081 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:15:21,081 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 13 [2022-02-20 18:15:21,081 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1195244375] [2022-02-20 18:15:21,082 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:21,085 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.909090909090909) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (7), 1 states have call predecessors, (7), 3 states have return successors, (7), 3 states have call predecessors, (7), 7 states have call successors, (7) Word has length 24 [2022-02-20 18:15:21,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:21,088 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.909090909090909) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (7), 1 states have call predecessors, (7), 3 states have return successors, (7), 3 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 18:15:21,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:21,122 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 18:15:21,122 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:21,123 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 18:15:21,123 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=120, Unknown=0, NotChecked=0, Total=156 [2022-02-20 18:15:21,124 INFO L87 Difference]: Start difference. First operand 29 states and 36 transitions. Second operand has 13 states, 11 states have (on average 2.909090909090909) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (7), 1 states have call predecessors, (7), 3 states have return successors, (7), 3 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 18:15:21,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:21,494 INFO L93 Difference]: Finished difference Result 51 states and 71 transitions. [2022-02-20 18:15:21,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 18:15:21,494 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.909090909090909) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (7), 1 states have call predecessors, (7), 3 states have return successors, (7), 3 states have call predecessors, (7), 7 states have call successors, (7) Word has length 24 [2022-02-20 18:15:21,494 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:21,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.909090909090909) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (7), 1 states have call predecessors, (7), 3 states have return successors, (7), 3 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 18:15:21,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-02-20 18:15:21,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.909090909090909) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (7), 1 states have call predecessors, (7), 3 states have return successors, (7), 3 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 18:15:21,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-02-20 18:15:21,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-02-20 18:15:21,541 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:21,543 INFO L225 Difference]: With dead ends: 51 [2022-02-20 18:15:21,543 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 18:15:21,543 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-02-20 18:15:21,544 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 204 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:21,544 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 120 Invalid, 204 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 18:15:21,544 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 18:15:21,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 45. [2022-02-20 18:15:21,554 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:21,554 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 45 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 31 states have internal predecessors, (38), 9 states have call successors, (9), 4 states have call predecessors, (9), 5 states have return successors, (15), 9 states have call predecessors, (15), 9 states have call successors, (15) [2022-02-20 18:15:21,554 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 45 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 31 states have internal predecessors, (38), 9 states have call successors, (9), 4 states have call predecessors, (9), 5 states have return successors, (15), 9 states have call predecessors, (15), 9 states have call successors, (15) [2022-02-20 18:15:21,555 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 45 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 31 states have internal predecessors, (38), 9 states have call successors, (9), 4 states have call predecessors, (9), 5 states have return successors, (15), 9 states have call predecessors, (15), 9 states have call successors, (15) [2022-02-20 18:15:21,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:21,557 INFO L93 Difference]: Finished difference Result 47 states and 67 transitions. [2022-02-20 18:15:21,557 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 67 transitions. [2022-02-20 18:15:21,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:21,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:21,558 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 31 states have internal predecessors, (38), 9 states have call successors, (9), 4 states have call predecessors, (9), 5 states have return successors, (15), 9 states have call predecessors, (15), 9 states have call successors, (15) Second operand 47 states. [2022-02-20 18:15:21,558 INFO L87 Difference]: Start difference. First operand has 45 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 31 states have internal predecessors, (38), 9 states have call successors, (9), 4 states have call predecessors, (9), 5 states have return successors, (15), 9 states have call predecessors, (15), 9 states have call successors, (15) Second operand 47 states. [2022-02-20 18:15:21,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:21,560 INFO L93 Difference]: Finished difference Result 47 states and 67 transitions. [2022-02-20 18:15:21,560 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 67 transitions. [2022-02-20 18:15:21,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:21,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:21,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:21,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:21,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 31 states have internal predecessors, (38), 9 states have call successors, (9), 4 states have call predecessors, (9), 5 states have return successors, (15), 9 states have call predecessors, (15), 9 states have call successors, (15) [2022-02-20 18:15:21,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-02-20 18:15:21,563 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 24 [2022-02-20 18:15:21,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:21,563 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-02-20 18:15:21,563 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.909090909090909) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (7), 1 states have call predecessors, (7), 3 states have return successors, (7), 3 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 18:15:21,563 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-02-20 18:15:21,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 18:15:21,564 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:21,564 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:21,584 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:21,779 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-02-20 18:15:21,780 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:21,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:21,780 INFO L85 PathProgramCache]: Analyzing trace with hash -2061621832, now seen corresponding path program 1 times [2022-02-20 18:15:21,780 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:21,780 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2067071440] [2022-02-20 18:15:21,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:21,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:21,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,803 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:21,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,818 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:21,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,838 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:21,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} ~n := #in~n; {1138#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:21,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {1138#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {1139#(<= |fibo1_#in~n| 0)} assume true; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,852 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1139#(<= |fibo1_#in~n| 0)} {1129#(not (<= fibo2_~n 1))} #49#return; {1076#false} is VALID [2022-02-20 18:15:21,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:15:21,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:21,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:21,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1075#true} {1076#false} #51#return; {1076#false} is VALID [2022-02-20 18:15:21,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {1075#true} assume !(~n < 1); {1128#(< 0 fibo2_~n)} is VALID [2022-02-20 18:15:21,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {1128#(< 0 fibo2_~n)} assume !(1 == ~n); {1129#(not (<= fibo2_~n 1))} is VALID [2022-02-20 18:15:21,858 INFO L272 TraceCheckUtils]: 3: Hoare triple {1129#(not (<= fibo2_~n 1))} call #t~ret6 := fibo1(~n - 1); {1075#true} is VALID [2022-02-20 18:15:21,859 INFO L290 TraceCheckUtils]: 4: Hoare triple {1075#true} ~n := #in~n; {1138#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:21,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {1138#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,859 INFO L290 TraceCheckUtils]: 6: Hoare triple {1139#(<= |fibo1_#in~n| 0)} assume true; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,860 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1139#(<= |fibo1_#in~n| 0)} {1129#(not (<= fibo2_~n 1))} #49#return; {1076#false} is VALID [2022-02-20 18:15:21,860 INFO L290 TraceCheckUtils]: 8: Hoare triple {1076#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1076#false} is VALID [2022-02-20 18:15:21,860 INFO L272 TraceCheckUtils]: 9: Hoare triple {1076#false} call #t~ret7 := fibo1(~n - 2); {1075#true} is VALID [2022-02-20 18:15:21,860 INFO L290 TraceCheckUtils]: 10: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:21,861 INFO L290 TraceCheckUtils]: 12: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:21,861 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1075#true} {1076#false} #51#return; {1076#false} is VALID [2022-02-20 18:15:21,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {1076#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1076#false} is VALID [2022-02-20 18:15:21,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {1076#false} assume true; {1076#false} is VALID [2022-02-20 18:15:21,861 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1076#false} {1075#true} #53#return; {1076#false} is VALID [2022-02-20 18:15:21,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-02-20 18:15:21,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:21,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:21,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1075#true} {1076#false} #55#return; {1076#false} is VALID [2022-02-20 18:15:21,867 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {1075#true} assume !(~n < 1); {1075#true} is VALID [2022-02-20 18:15:21,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {1075#true} assume !(1 == ~n); {1075#true} is VALID [2022-02-20 18:15:21,867 INFO L272 TraceCheckUtils]: 3: Hoare triple {1075#true} call #t~ret4 := fibo2(~n - 1); {1075#true} is VALID [2022-02-20 18:15:21,867 INFO L290 TraceCheckUtils]: 4: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {1075#true} assume !(~n < 1); {1128#(< 0 fibo2_~n)} is VALID [2022-02-20 18:15:21,868 INFO L290 TraceCheckUtils]: 6: Hoare triple {1128#(< 0 fibo2_~n)} assume !(1 == ~n); {1129#(not (<= fibo2_~n 1))} is VALID [2022-02-20 18:15:21,868 INFO L272 TraceCheckUtils]: 7: Hoare triple {1129#(not (<= fibo2_~n 1))} call #t~ret6 := fibo1(~n - 1); {1075#true} is VALID [2022-02-20 18:15:21,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {1075#true} ~n := #in~n; {1138#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:21,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {1138#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,869 INFO L290 TraceCheckUtils]: 10: Hoare triple {1139#(<= |fibo1_#in~n| 0)} assume true; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,870 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1139#(<= |fibo1_#in~n| 0)} {1129#(not (<= fibo2_~n 1))} #49#return; {1076#false} is VALID [2022-02-20 18:15:21,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {1076#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1076#false} is VALID [2022-02-20 18:15:21,870 INFO L272 TraceCheckUtils]: 13: Hoare triple {1076#false} call #t~ret7 := fibo1(~n - 2); {1075#true} is VALID [2022-02-20 18:15:21,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:21,871 INFO L290 TraceCheckUtils]: 16: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:21,871 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1075#true} {1076#false} #51#return; {1076#false} is VALID [2022-02-20 18:15:21,871 INFO L290 TraceCheckUtils]: 18: Hoare triple {1076#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1076#false} is VALID [2022-02-20 18:15:21,871 INFO L290 TraceCheckUtils]: 19: Hoare triple {1076#false} assume true; {1076#false} is VALID [2022-02-20 18:15:21,871 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1076#false} {1075#true} #53#return; {1076#false} is VALID [2022-02-20 18:15:21,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {1076#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1076#false} is VALID [2022-02-20 18:15:21,871 INFO L272 TraceCheckUtils]: 22: Hoare triple {1076#false} call #t~ret5 := fibo2(~n - 2); {1075#true} is VALID [2022-02-20 18:15:21,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:21,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:21,872 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1075#true} {1076#false} #55#return; {1076#false} is VALID [2022-02-20 18:15:21,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {1076#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1076#false} is VALID [2022-02-20 18:15:21,872 INFO L290 TraceCheckUtils]: 28: Hoare triple {1076#false} assume true; {1076#false} is VALID [2022-02-20 18:15:21,872 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1076#false} {1075#true} #47#return; {1076#false} is VALID [2022-02-20 18:15:21,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1075#true} is VALID [2022-02-20 18:15:21,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {1075#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {1075#true} is VALID [2022-02-20 18:15:21,873 INFO L272 TraceCheckUtils]: 2: Hoare triple {1075#true} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1075#true} is VALID [2022-02-20 18:15:21,873 INFO L290 TraceCheckUtils]: 3: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,873 INFO L290 TraceCheckUtils]: 4: Hoare triple {1075#true} assume !(~n < 1); {1075#true} is VALID [2022-02-20 18:15:21,873 INFO L290 TraceCheckUtils]: 5: Hoare triple {1075#true} assume !(1 == ~n); {1075#true} is VALID [2022-02-20 18:15:21,873 INFO L272 TraceCheckUtils]: 6: Hoare triple {1075#true} call #t~ret4 := fibo2(~n - 1); {1075#true} is VALID [2022-02-20 18:15:21,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {1075#true} assume !(~n < 1); {1128#(< 0 fibo2_~n)} is VALID [2022-02-20 18:15:21,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {1128#(< 0 fibo2_~n)} assume !(1 == ~n); {1129#(not (<= fibo2_~n 1))} is VALID [2022-02-20 18:15:21,874 INFO L272 TraceCheckUtils]: 10: Hoare triple {1129#(not (<= fibo2_~n 1))} call #t~ret6 := fibo1(~n - 1); {1075#true} is VALID [2022-02-20 18:15:21,875 INFO L290 TraceCheckUtils]: 11: Hoare triple {1075#true} ~n := #in~n; {1138#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:21,875 INFO L290 TraceCheckUtils]: 12: Hoare triple {1138#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {1139#(<= |fibo1_#in~n| 0)} assume true; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:21,876 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1139#(<= |fibo1_#in~n| 0)} {1129#(not (<= fibo2_~n 1))} #49#return; {1076#false} is VALID [2022-02-20 18:15:21,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {1076#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1076#false} is VALID [2022-02-20 18:15:21,876 INFO L272 TraceCheckUtils]: 16: Hoare triple {1076#false} call #t~ret7 := fibo1(~n - 2); {1075#true} is VALID [2022-02-20 18:15:21,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,876 INFO L290 TraceCheckUtils]: 18: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:21,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:21,877 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1075#true} {1076#false} #51#return; {1076#false} is VALID [2022-02-20 18:15:21,877 INFO L290 TraceCheckUtils]: 21: Hoare triple {1076#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1076#false} is VALID [2022-02-20 18:15:21,877 INFO L290 TraceCheckUtils]: 22: Hoare triple {1076#false} assume true; {1076#false} is VALID [2022-02-20 18:15:21,877 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1076#false} {1075#true} #53#return; {1076#false} is VALID [2022-02-20 18:15:21,877 INFO L290 TraceCheckUtils]: 24: Hoare triple {1076#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1076#false} is VALID [2022-02-20 18:15:21,877 INFO L272 TraceCheckUtils]: 25: Hoare triple {1076#false} call #t~ret5 := fibo2(~n - 2); {1075#true} is VALID [2022-02-20 18:15:21,877 INFO L290 TraceCheckUtils]: 26: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:21,878 INFO L290 TraceCheckUtils]: 27: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:21,878 INFO L290 TraceCheckUtils]: 28: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:21,878 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1075#true} {1076#false} #55#return; {1076#false} is VALID [2022-02-20 18:15:21,878 INFO L290 TraceCheckUtils]: 30: Hoare triple {1076#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1076#false} is VALID [2022-02-20 18:15:21,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {1076#false} assume true; {1076#false} is VALID [2022-02-20 18:15:21,878 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1076#false} {1075#true} #47#return; {1076#false} is VALID [2022-02-20 18:15:21,878 INFO L290 TraceCheckUtils]: 33: Hoare triple {1076#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1076#false} is VALID [2022-02-20 18:15:21,878 INFO L290 TraceCheckUtils]: 34: Hoare triple {1076#false} assume 3 == main_~result~0#1; {1076#false} is VALID [2022-02-20 18:15:21,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {1076#false} assume !false; {1076#false} is VALID [2022-02-20 18:15:21,879 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:15:21,879 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:21,879 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2067071440] [2022-02-20 18:15:21,879 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2067071440] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:15:21,879 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1931586703] [2022-02-20 18:15:21,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:21,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:21,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:21,881 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:15:21,882 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 18:15:21,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,916 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:21,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:21,929 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:22,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1075#true} is VALID [2022-02-20 18:15:22,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {1075#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {1146#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:22,143 INFO L272 TraceCheckUtils]: 2: Hoare triple {1146#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1075#true} is VALID [2022-02-20 18:15:22,143 INFO L290 TraceCheckUtils]: 3: Hoare triple {1075#true} ~n := #in~n; {1153#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:22,143 INFO L290 TraceCheckUtils]: 4: Hoare triple {1153#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {1153#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:22,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {1153#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {1153#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:22,144 INFO L272 TraceCheckUtils]: 6: Hoare triple {1153#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~n - 1); {1075#true} is VALID [2022-02-20 18:15:22,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {1075#true} ~n := #in~n; {1166#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:22,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {1166#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {1166#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:22,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {1166#(<= |fibo2_#in~n| fibo2_~n)} assume !(1 == ~n); {1166#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:22,145 INFO L272 TraceCheckUtils]: 10: Hoare triple {1166#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~n - 1); {1075#true} is VALID [2022-02-20 18:15:22,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {1075#true} ~n := #in~n; {1153#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:22,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {1153#(<= |fibo1_#in~n| fibo1_~n)} assume ~n < 1;#res := 0; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:22,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {1139#(<= |fibo1_#in~n| 0)} assume true; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:22,156 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1139#(<= |fibo1_#in~n| 0)} {1166#(<= |fibo2_#in~n| fibo2_~n)} #49#return; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:22,157 INFO L290 TraceCheckUtils]: 15: Hoare triple {1188#(<= |fibo2_#in~n| 1)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:22,157 INFO L272 TraceCheckUtils]: 16: Hoare triple {1188#(<= |fibo2_#in~n| 1)} call #t~ret7 := fibo1(~n - 2); {1075#true} is VALID [2022-02-20 18:15:22,157 INFO L290 TraceCheckUtils]: 17: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:22,157 INFO L290 TraceCheckUtils]: 18: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:22,157 INFO L290 TraceCheckUtils]: 19: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:22,157 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1075#true} {1188#(<= |fibo2_#in~n| 1)} #51#return; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:22,158 INFO L290 TraceCheckUtils]: 21: Hoare triple {1188#(<= |fibo2_#in~n| 1)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:22,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {1188#(<= |fibo2_#in~n| 1)} assume true; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:22,159 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1188#(<= |fibo2_#in~n| 1)} {1153#(<= |fibo1_#in~n| fibo1_~n)} #53#return; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:22,159 INFO L290 TraceCheckUtils]: 24: Hoare triple {1216#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:22,159 INFO L272 TraceCheckUtils]: 25: Hoare triple {1216#(<= |fibo1_#in~n| 2)} call #t~ret5 := fibo2(~n - 2); {1075#true} is VALID [2022-02-20 18:15:22,159 INFO L290 TraceCheckUtils]: 26: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:22,159 INFO L290 TraceCheckUtils]: 27: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:22,160 INFO L290 TraceCheckUtils]: 28: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:22,160 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1075#true} {1216#(<= |fibo1_#in~n| 2)} #55#return; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:22,160 INFO L290 TraceCheckUtils]: 30: Hoare triple {1216#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:22,161 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(<= |fibo1_#in~n| 2)} assume true; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:22,161 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1216#(<= |fibo1_#in~n| 2)} {1146#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {1076#false} is VALID [2022-02-20 18:15:22,161 INFO L290 TraceCheckUtils]: 33: Hoare triple {1076#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1076#false} is VALID [2022-02-20 18:15:22,161 INFO L290 TraceCheckUtils]: 34: Hoare triple {1076#false} assume 3 == main_~result~0#1; {1076#false} is VALID [2022-02-20 18:15:22,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {1076#false} assume !false; {1076#false} is VALID [2022-02-20 18:15:22,162 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 18:15:22,162 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:23,091 INFO L290 TraceCheckUtils]: 35: Hoare triple {1076#false} assume !false; {1076#false} is VALID [2022-02-20 18:15:23,091 INFO L290 TraceCheckUtils]: 34: Hoare triple {1076#false} assume 3 == main_~result~0#1; {1076#false} is VALID [2022-02-20 18:15:23,092 INFO L290 TraceCheckUtils]: 33: Hoare triple {1076#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1076#false} is VALID [2022-02-20 18:15:23,092 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1216#(<= |fibo1_#in~n| 2)} {1262#(<= 3 |ULTIMATE.start_main_~x~0#1|)} #47#return; {1076#false} is VALID [2022-02-20 18:15:23,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(<= |fibo1_#in~n| 2)} assume true; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:23,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {1216#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:23,094 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1075#true} {1216#(<= |fibo1_#in~n| 2)} #55#return; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:23,094 INFO L290 TraceCheckUtils]: 28: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:23,094 INFO L290 TraceCheckUtils]: 27: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:23,094 INFO L290 TraceCheckUtils]: 26: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:23,094 INFO L272 TraceCheckUtils]: 25: Hoare triple {1216#(<= |fibo1_#in~n| 2)} call #t~ret5 := fibo2(~n - 2); {1075#true} is VALID [2022-02-20 18:15:23,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {1216#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:23,095 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1188#(<= |fibo2_#in~n| 1)} {1293#(or (<= 3 fibo1_~n) (<= |fibo1_#in~n| 2))} #53#return; {1216#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:23,095 INFO L290 TraceCheckUtils]: 22: Hoare triple {1188#(<= |fibo2_#in~n| 1)} assume true; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:23,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {1188#(<= |fibo2_#in~n| 1)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:23,096 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1075#true} {1188#(<= |fibo2_#in~n| 1)} #51#return; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:23,096 INFO L290 TraceCheckUtils]: 19: Hoare triple {1075#true} assume true; {1075#true} is VALID [2022-02-20 18:15:23,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {1075#true} assume ~n < 1;#res := 0; {1075#true} is VALID [2022-02-20 18:15:23,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {1075#true} ~n := #in~n; {1075#true} is VALID [2022-02-20 18:15:23,097 INFO L272 TraceCheckUtils]: 16: Hoare triple {1188#(<= |fibo2_#in~n| 1)} call #t~ret7 := fibo1(~n - 2); {1075#true} is VALID [2022-02-20 18:15:23,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {1188#(<= |fibo2_#in~n| 1)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:23,098 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1139#(<= |fibo1_#in~n| 0)} {1324#(or (<= 2 fibo2_~n) (<= |fibo2_#in~n| 1))} #49#return; {1188#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:23,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {1139#(<= |fibo1_#in~n| 0)} assume true; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:23,099 INFO L290 TraceCheckUtils]: 12: Hoare triple {1334#(or (<= |fibo1_#in~n| 0) (not (< fibo1_~n 1)))} assume ~n < 1;#res := 0; {1139#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:23,101 INFO L290 TraceCheckUtils]: 11: Hoare triple {1075#true} ~n := #in~n; {1334#(or (<= |fibo1_#in~n| 0) (not (< fibo1_~n 1)))} is VALID [2022-02-20 18:15:23,101 INFO L272 TraceCheckUtils]: 10: Hoare triple {1324#(or (<= 2 fibo2_~n) (<= |fibo2_#in~n| 1))} call #t~ret6 := fibo1(~n - 1); {1075#true} is VALID [2022-02-20 18:15:23,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(or (<= 2 fibo2_~n) (<= |fibo2_#in~n| 1))} assume !(1 == ~n); {1324#(or (<= 2 fibo2_~n) (<= |fibo2_#in~n| 1))} is VALID [2022-02-20 18:15:23,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#(or (<= 2 fibo2_~n) (<= |fibo2_#in~n| 1))} assume !(~n < 1); {1324#(or (<= 2 fibo2_~n) (<= |fibo2_#in~n| 1))} is VALID [2022-02-20 18:15:23,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {1075#true} ~n := #in~n; {1324#(or (<= 2 fibo2_~n) (<= |fibo2_#in~n| 1))} is VALID [2022-02-20 18:15:23,107 INFO L272 TraceCheckUtils]: 6: Hoare triple {1293#(or (<= 3 fibo1_~n) (<= |fibo1_#in~n| 2))} call #t~ret4 := fibo2(~n - 1); {1075#true} is VALID [2022-02-20 18:15:23,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {1293#(or (<= 3 fibo1_~n) (<= |fibo1_#in~n| 2))} assume !(1 == ~n); {1293#(or (<= 3 fibo1_~n) (<= |fibo1_#in~n| 2))} is VALID [2022-02-20 18:15:23,108 INFO L290 TraceCheckUtils]: 4: Hoare triple {1293#(or (<= 3 fibo1_~n) (<= |fibo1_#in~n| 2))} assume !(~n < 1); {1293#(or (<= 3 fibo1_~n) (<= |fibo1_#in~n| 2))} is VALID [2022-02-20 18:15:23,108 INFO L290 TraceCheckUtils]: 3: Hoare triple {1075#true} ~n := #in~n; {1293#(or (<= 3 fibo1_~n) (<= |fibo1_#in~n| 2))} is VALID [2022-02-20 18:15:23,108 INFO L272 TraceCheckUtils]: 2: Hoare triple {1262#(<= 3 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1075#true} is VALID [2022-02-20 18:15:23,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {1075#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {1262#(<= 3 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:23,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {1075#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1075#true} is VALID [2022-02-20 18:15:23,109 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 18:15:23,109 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1931586703] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:23,109 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:15:23,109 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 8, 9] total 15 [2022-02-20 18:15:23,110 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [543185156] [2022-02-20 18:15:23,110 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:23,110 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 15 states have internal predecessors, (47), 11 states have call successors, (13), 1 states have call predecessors, (13), 5 states have return successors, (13), 3 states have call predecessors, (13), 11 states have call successors, (13) Word has length 36 [2022-02-20 18:15:23,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:23,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 15 states have internal predecessors, (47), 11 states have call successors, (13), 1 states have call predecessors, (13), 5 states have return successors, (13), 3 states have call predecessors, (13), 11 states have call successors, (13) [2022-02-20 18:15:23,155 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:23,156 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 18:15:23,156 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:23,156 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 18:15:23,156 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:15:23,158 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 15 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 15 states have internal predecessors, (47), 11 states have call successors, (13), 1 states have call predecessors, (13), 5 states have return successors, (13), 3 states have call predecessors, (13), 11 states have call successors, (13) [2022-02-20 18:15:23,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:23,774 INFO L93 Difference]: Finished difference Result 105 states and 167 transitions. [2022-02-20 18:15:23,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 18:15:23,774 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 15 states have internal predecessors, (47), 11 states have call successors, (13), 1 states have call predecessors, (13), 5 states have return successors, (13), 3 states have call predecessors, (13), 11 states have call successors, (13) Word has length 36 [2022-02-20 18:15:23,774 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:23,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 15 states have internal predecessors, (47), 11 states have call successors, (13), 1 states have call predecessors, (13), 5 states have return successors, (13), 3 states have call predecessors, (13), 11 states have call successors, (13) [2022-02-20 18:15:23,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-02-20 18:15:23,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 15 states have internal predecessors, (47), 11 states have call successors, (13), 1 states have call predecessors, (13), 5 states have return successors, (13), 3 states have call predecessors, (13), 11 states have call successors, (13) [2022-02-20 18:15:23,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-02-20 18:15:23,779 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 99 transitions. [2022-02-20 18:15:23,847 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:23,848 INFO L225 Difference]: With dead ends: 105 [2022-02-20 18:15:23,849 INFO L226 Difference]: Without dead ends: 63 [2022-02-20 18:15:23,849 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 75 SyntacticMatches, 4 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=369, Unknown=0, NotChecked=0, Total=462 [2022-02-20 18:15:23,850 INFO L933 BasicCegarLoop]: 21 mSDtfsCounter, 39 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 249 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 287 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 249 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:23,850 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 185 Invalid, 287 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 249 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 18:15:23,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-02-20 18:15:23,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 63. [2022-02-20 18:15:23,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:23,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 63 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 5 states have call predecessors, (12), 9 states have return successors, (29), 13 states have call predecessors, (29), 12 states have call successors, (29) [2022-02-20 18:15:23,874 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 63 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 5 states have call predecessors, (12), 9 states have return successors, (29), 13 states have call predecessors, (29), 12 states have call successors, (29) [2022-02-20 18:15:23,875 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 63 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 5 states have call predecessors, (12), 9 states have return successors, (29), 13 states have call predecessors, (29), 12 states have call successors, (29) [2022-02-20 18:15:23,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:23,884 INFO L93 Difference]: Finished difference Result 63 states and 92 transitions. [2022-02-20 18:15:23,884 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 92 transitions. [2022-02-20 18:15:23,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:23,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:23,885 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 5 states have call predecessors, (12), 9 states have return successors, (29), 13 states have call predecessors, (29), 12 states have call successors, (29) Second operand 63 states. [2022-02-20 18:15:23,885 INFO L87 Difference]: Start difference. First operand has 63 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 5 states have call predecessors, (12), 9 states have return successors, (29), 13 states have call predecessors, (29), 12 states have call successors, (29) Second operand 63 states. [2022-02-20 18:15:23,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:23,887 INFO L93 Difference]: Finished difference Result 63 states and 92 transitions. [2022-02-20 18:15:23,887 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 92 transitions. [2022-02-20 18:15:23,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:23,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:23,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:23,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:23,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 5 states have call predecessors, (12), 9 states have return successors, (29), 13 states have call predecessors, (29), 12 states have call successors, (29) [2022-02-20 18:15:23,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 92 transitions. [2022-02-20 18:15:23,891 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 92 transitions. Word has length 36 [2022-02-20 18:15:23,891 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:23,891 INFO L470 AbstractCegarLoop]: Abstraction has 63 states and 92 transitions. [2022-02-20 18:15:23,891 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 15 states have internal predecessors, (47), 11 states have call successors, (13), 1 states have call predecessors, (13), 5 states have return successors, (13), 3 states have call predecessors, (13), 11 states have call successors, (13) [2022-02-20 18:15:23,891 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 92 transitions. [2022-02-20 18:15:23,892 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 18:15:23,892 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:23,892 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:23,928 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:24,107 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:24,108 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:24,108 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:24,108 INFO L85 PathProgramCache]: Analyzing trace with hash 1167294498, now seen corresponding path program 1 times [2022-02-20 18:15:24,108 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:24,108 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1747910047] [2022-02-20 18:15:24,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:24,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:24,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,130 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:24,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,148 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:24,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:24,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {1719#true} assume !(~n < 1); {1719#true} is VALID [2022-02-20 18:15:24,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {1719#true} assume 1 == ~n;#res := 1; {1719#true} is VALID [2022-02-20 18:15:24,190 INFO L290 TraceCheckUtils]: 3: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,191 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #49#return; {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,191 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 18:15:24,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:24,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #51#return; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} ~n := #in~n; {1775#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {1775#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {1776#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {1776#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume !(1 == ~n); {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,201 INFO L272 TraceCheckUtils]: 3: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} call #t~ret6 := fibo1(~n - 1); {1719#true} is VALID [2022-02-20 18:15:24,201 INFO L290 TraceCheckUtils]: 4: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {1719#true} assume !(~n < 1); {1719#true} is VALID [2022-02-20 18:15:24,201 INFO L290 TraceCheckUtils]: 6: Hoare triple {1719#true} assume 1 == ~n;#res := 1; {1719#true} is VALID [2022-02-20 18:15:24,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,202 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #49#return; {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,202 INFO L272 TraceCheckUtils]: 10: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {1719#true} is VALID [2022-02-20 18:15:24,202 INFO L290 TraceCheckUtils]: 11: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,203 INFO L290 TraceCheckUtils]: 12: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:24,203 INFO L290 TraceCheckUtils]: 13: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,203 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #51#return; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {1787#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,204 INFO L290 TraceCheckUtils]: 16: Hoare triple {1787#(<= 2 |fibo2_#in~n|)} assume true; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,205 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1787#(<= 2 |fibo2_#in~n|)} {1719#true} #53#return; {1770#(<= 3 fibo1_~n)} is VALID [2022-02-20 18:15:24,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:15:24,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,218 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} ~n := #in~n; {1775#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {1775#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {1788#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:24,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {1788#(<= |fibo2_#in~n| 0)} assume true; {1788#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:24,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1788#(<= |fibo2_#in~n| 0)} {1770#(<= 3 fibo1_~n)} #55#return; {1720#false} is VALID [2022-02-20 18:15:24,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {1719#true} assume !(~n < 1); {1719#true} is VALID [2022-02-20 18:15:24,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {1719#true} assume !(1 == ~n); {1719#true} is VALID [2022-02-20 18:15:24,220 INFO L272 TraceCheckUtils]: 3: Hoare triple {1719#true} call #t~ret4 := fibo2(~n - 1); {1719#true} is VALID [2022-02-20 18:15:24,220 INFO L290 TraceCheckUtils]: 4: Hoare triple {1719#true} ~n := #in~n; {1775#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,221 INFO L290 TraceCheckUtils]: 5: Hoare triple {1775#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {1776#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,221 INFO L290 TraceCheckUtils]: 6: Hoare triple {1776#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume !(1 == ~n); {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,221 INFO L272 TraceCheckUtils]: 7: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} call #t~ret6 := fibo1(~n - 1); {1719#true} is VALID [2022-02-20 18:15:24,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {1719#true} assume !(~n < 1); {1719#true} is VALID [2022-02-20 18:15:24,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {1719#true} assume 1 == ~n;#res := 1; {1719#true} is VALID [2022-02-20 18:15:24,222 INFO L290 TraceCheckUtils]: 11: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,222 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #49#return; {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,223 INFO L290 TraceCheckUtils]: 13: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,223 INFO L272 TraceCheckUtils]: 14: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {1719#true} is VALID [2022-02-20 18:15:24,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,223 INFO L290 TraceCheckUtils]: 16: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:24,223 INFO L290 TraceCheckUtils]: 17: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,224 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #51#return; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {1787#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {1787#(<= 2 |fibo2_#in~n|)} assume true; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,225 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1787#(<= 2 |fibo2_#in~n|)} {1719#true} #53#return; {1770#(<= 3 fibo1_~n)} is VALID [2022-02-20 18:15:24,226 INFO L290 TraceCheckUtils]: 22: Hoare triple {1770#(<= 3 fibo1_~n)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1770#(<= 3 fibo1_~n)} is VALID [2022-02-20 18:15:24,226 INFO L272 TraceCheckUtils]: 23: Hoare triple {1770#(<= 3 fibo1_~n)} call #t~ret5 := fibo2(~n - 2); {1719#true} is VALID [2022-02-20 18:15:24,226 INFO L290 TraceCheckUtils]: 24: Hoare triple {1719#true} ~n := #in~n; {1775#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {1775#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {1788#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:24,227 INFO L290 TraceCheckUtils]: 26: Hoare triple {1788#(<= |fibo2_#in~n| 0)} assume true; {1788#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:24,227 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1788#(<= |fibo2_#in~n| 0)} {1770#(<= 3 fibo1_~n)} #55#return; {1720#false} is VALID [2022-02-20 18:15:24,228 INFO L290 TraceCheckUtils]: 28: Hoare triple {1720#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1720#false} is VALID [2022-02-20 18:15:24,228 INFO L290 TraceCheckUtils]: 29: Hoare triple {1720#false} assume true; {1720#false} is VALID [2022-02-20 18:15:24,228 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1720#false} {1719#true} #47#return; {1720#false} is VALID [2022-02-20 18:15:24,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1719#true} is VALID [2022-02-20 18:15:24,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {1719#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {1719#true} is VALID [2022-02-20 18:15:24,228 INFO L272 TraceCheckUtils]: 2: Hoare triple {1719#true} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1719#true} is VALID [2022-02-20 18:15:24,228 INFO L290 TraceCheckUtils]: 3: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,228 INFO L290 TraceCheckUtils]: 4: Hoare triple {1719#true} assume !(~n < 1); {1719#true} is VALID [2022-02-20 18:15:24,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {1719#true} assume !(1 == ~n); {1719#true} is VALID [2022-02-20 18:15:24,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {1719#true} call #t~ret4 := fibo2(~n - 1); {1719#true} is VALID [2022-02-20 18:15:24,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {1719#true} ~n := #in~n; {1775#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {1775#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {1776#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {1776#(and (< 0 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume !(1 == ~n); {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,230 INFO L272 TraceCheckUtils]: 10: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} call #t~ret6 := fibo1(~n - 1); {1719#true} is VALID [2022-02-20 18:15:24,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,230 INFO L290 TraceCheckUtils]: 12: Hoare triple {1719#true} assume !(~n < 1); {1719#true} is VALID [2022-02-20 18:15:24,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {1719#true} assume 1 == ~n;#res := 1; {1719#true} is VALID [2022-02-20 18:15:24,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,231 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #49#return; {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,231 INFO L290 TraceCheckUtils]: 16: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:24,231 INFO L272 TraceCheckUtils]: 17: Hoare triple {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {1719#true} is VALID [2022-02-20 18:15:24,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:24,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,232 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1719#true} {1777#(and (not (<= fibo2_~n 1)) (= fibo2_~n |fibo2_#in~n|))} #51#return; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,232 INFO L290 TraceCheckUtils]: 22: Hoare triple {1787#(<= 2 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {1787#(<= 2 |fibo2_#in~n|)} assume true; {1787#(<= 2 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,233 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1787#(<= 2 |fibo2_#in~n|)} {1719#true} #53#return; {1770#(<= 3 fibo1_~n)} is VALID [2022-02-20 18:15:24,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {1770#(<= 3 fibo1_~n)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1770#(<= 3 fibo1_~n)} is VALID [2022-02-20 18:15:24,234 INFO L272 TraceCheckUtils]: 26: Hoare triple {1770#(<= 3 fibo1_~n)} call #t~ret5 := fibo2(~n - 2); {1719#true} is VALID [2022-02-20 18:15:24,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {1719#true} ~n := #in~n; {1775#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:24,234 INFO L290 TraceCheckUtils]: 28: Hoare triple {1775#(= fibo2_~n |fibo2_#in~n|)} assume ~n < 1;#res := 0; {1788#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:24,235 INFO L290 TraceCheckUtils]: 29: Hoare triple {1788#(<= |fibo2_#in~n| 0)} assume true; {1788#(<= |fibo2_#in~n| 0)} is VALID [2022-02-20 18:15:24,235 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1788#(<= |fibo2_#in~n| 0)} {1770#(<= 3 fibo1_~n)} #55#return; {1720#false} is VALID [2022-02-20 18:15:24,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {1720#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1720#false} is VALID [2022-02-20 18:15:24,235 INFO L290 TraceCheckUtils]: 32: Hoare triple {1720#false} assume true; {1720#false} is VALID [2022-02-20 18:15:24,236 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1720#false} {1719#true} #47#return; {1720#false} is VALID [2022-02-20 18:15:24,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1720#false} is VALID [2022-02-20 18:15:24,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {1720#false} assume 3 == main_~result~0#1; {1720#false} is VALID [2022-02-20 18:15:24,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {1720#false} assume !false; {1720#false} is VALID [2022-02-20 18:15:24,236 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-02-20 18:15:24,236 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:24,236 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1747910047] [2022-02-20 18:15:24,236 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1747910047] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:15:24,236 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1092353991] [2022-02-20 18:15:24,236 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:24,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:24,236 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:24,252 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:15:24,253 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 18:15:24,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,289 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:24,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:24,298 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:24,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1719#true} is VALID [2022-02-20 18:15:24,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {1719#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {1795#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:24,492 INFO L272 TraceCheckUtils]: 2: Hoare triple {1795#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1719#true} is VALID [2022-02-20 18:15:24,492 INFO L290 TraceCheckUtils]: 3: Hoare triple {1719#true} ~n := #in~n; {1802#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:24,492 INFO L290 TraceCheckUtils]: 4: Hoare triple {1802#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {1802#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:24,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {1802#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {1802#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:24,493 INFO L272 TraceCheckUtils]: 6: Hoare triple {1802#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~n - 1); {1719#true} is VALID [2022-02-20 18:15:24,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {1719#true} ~n := #in~n; {1815#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:24,499 INFO L290 TraceCheckUtils]: 8: Hoare triple {1815#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {1815#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:24,499 INFO L290 TraceCheckUtils]: 9: Hoare triple {1815#(<= |fibo2_#in~n| fibo2_~n)} assume !(1 == ~n); {1815#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:24,499 INFO L272 TraceCheckUtils]: 10: Hoare triple {1815#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~n - 1); {1719#true} is VALID [2022-02-20 18:15:24,508 INFO L290 TraceCheckUtils]: 11: Hoare triple {1719#true} ~n := #in~n; {1802#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:24,508 INFO L290 TraceCheckUtils]: 12: Hoare triple {1802#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {1802#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:24,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {1802#(<= |fibo1_#in~n| fibo1_~n)} assume 1 == ~n;#res := 1; {1834#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:24,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {1834#(<= |fibo1_#in~n| 1)} assume true; {1834#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:24,509 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1834#(<= |fibo1_#in~n| 1)} {1815#(<= |fibo2_#in~n| fibo2_~n)} #49#return; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:24,510 INFO L290 TraceCheckUtils]: 16: Hoare triple {1841#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:24,510 INFO L272 TraceCheckUtils]: 17: Hoare triple {1841#(<= |fibo2_#in~n| 2)} call #t~ret7 := fibo1(~n - 2); {1719#true} is VALID [2022-02-20 18:15:24,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:24,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,517 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1719#true} {1841#(<= |fibo2_#in~n| 2)} #51#return; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:24,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {1841#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:24,517 INFO L290 TraceCheckUtils]: 23: Hoare triple {1841#(<= |fibo2_#in~n| 2)} assume true; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:24,518 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1841#(<= |fibo2_#in~n| 2)} {1802#(<= |fibo1_#in~n| fibo1_~n)} #53#return; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:24,518 INFO L290 TraceCheckUtils]: 25: Hoare triple {1869#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:24,518 INFO L272 TraceCheckUtils]: 26: Hoare triple {1869#(<= |fibo1_#in~n| 3)} call #t~ret5 := fibo2(~n - 2); {1719#true} is VALID [2022-02-20 18:15:24,519 INFO L290 TraceCheckUtils]: 27: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:24,519 INFO L290 TraceCheckUtils]: 28: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:24,519 INFO L290 TraceCheckUtils]: 29: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:24,519 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1719#true} {1869#(<= |fibo1_#in~n| 3)} #55#return; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:24,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {1869#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:24,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {1869#(<= |fibo1_#in~n| 3)} assume true; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:24,521 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1869#(<= |fibo1_#in~n| 3)} {1795#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {1720#false} is VALID [2022-02-20 18:15:24,521 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1720#false} is VALID [2022-02-20 18:15:24,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {1720#false} assume 3 == main_~result~0#1; {1720#false} is VALID [2022-02-20 18:15:24,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {1720#false} assume !false; {1720#false} is VALID [2022-02-20 18:15:24,521 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:15:24,521 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:25,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {1720#false} assume !false; {1720#false} is VALID [2022-02-20 18:15:25,418 INFO L290 TraceCheckUtils]: 35: Hoare triple {1720#false} assume 3 == main_~result~0#1; {1720#false} is VALID [2022-02-20 18:15:25,418 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1720#false} is VALID [2022-02-20 18:15:25,418 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1869#(<= |fibo1_#in~n| 3)} {1795#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {1720#false} is VALID [2022-02-20 18:15:25,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {1869#(<= |fibo1_#in~n| 3)} assume true; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:25,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {1869#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:25,419 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1719#true} {1869#(<= |fibo1_#in~n| 3)} #55#return; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:25,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:25,419 INFO L290 TraceCheckUtils]: 28: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:25,419 INFO L290 TraceCheckUtils]: 27: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:25,419 INFO L272 TraceCheckUtils]: 26: Hoare triple {1869#(<= |fibo1_#in~n| 3)} call #t~ret5 := fibo2(~n - 2); {1719#true} is VALID [2022-02-20 18:15:25,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {1869#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:25,420 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1841#(<= |fibo2_#in~n| 2)} {1945#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} #53#return; {1869#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:25,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {1841#(<= |fibo2_#in~n| 2)} assume true; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:25,421 INFO L290 TraceCheckUtils]: 22: Hoare triple {1841#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:25,421 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1719#true} {1841#(<= |fibo2_#in~n| 2)} #51#return; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:25,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {1719#true} assume true; {1719#true} is VALID [2022-02-20 18:15:25,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {1719#true} assume ~n < 1;#res := 0; {1719#true} is VALID [2022-02-20 18:15:25,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {1719#true} ~n := #in~n; {1719#true} is VALID [2022-02-20 18:15:25,421 INFO L272 TraceCheckUtils]: 17: Hoare triple {1841#(<= |fibo2_#in~n| 2)} call #t~ret7 := fibo1(~n - 2); {1719#true} is VALID [2022-02-20 18:15:25,422 INFO L290 TraceCheckUtils]: 16: Hoare triple {1841#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:25,422 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1834#(<= |fibo1_#in~n| 1)} {1976#(or (<= |fibo2_#in~n| 2) (< 2 fibo2_~n))} #49#return; {1841#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:25,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {1834#(<= |fibo1_#in~n| 1)} assume true; {1834#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:25,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {1986#(or (<= |fibo1_#in~n| 1) (not (<= fibo1_~n 1)))} assume 1 == ~n;#res := 1; {1834#(<= |fibo1_#in~n| 1)} is VALID [2022-02-20 18:15:25,423 INFO L290 TraceCheckUtils]: 12: Hoare triple {1986#(or (<= |fibo1_#in~n| 1) (not (<= fibo1_~n 1)))} assume !(~n < 1); {1986#(or (<= |fibo1_#in~n| 1) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:25,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {1719#true} ~n := #in~n; {1986#(or (<= |fibo1_#in~n| 1) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:25,424 INFO L272 TraceCheckUtils]: 10: Hoare triple {1976#(or (<= |fibo2_#in~n| 2) (< 2 fibo2_~n))} call #t~ret6 := fibo1(~n - 1); {1719#true} is VALID [2022-02-20 18:15:25,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {1976#(or (<= |fibo2_#in~n| 2) (< 2 fibo2_~n))} assume !(1 == ~n); {1976#(or (<= |fibo2_#in~n| 2) (< 2 fibo2_~n))} is VALID [2022-02-20 18:15:25,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {1976#(or (<= |fibo2_#in~n| 2) (< 2 fibo2_~n))} assume !(~n < 1); {1976#(or (<= |fibo2_#in~n| 2) (< 2 fibo2_~n))} is VALID [2022-02-20 18:15:25,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {1719#true} ~n := #in~n; {1976#(or (<= |fibo2_#in~n| 2) (< 2 fibo2_~n))} is VALID [2022-02-20 18:15:25,432 INFO L272 TraceCheckUtils]: 6: Hoare triple {1945#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} call #t~ret4 := fibo2(~n - 1); {1719#true} is VALID [2022-02-20 18:15:25,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {1945#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} assume !(1 == ~n); {1945#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:25,432 INFO L290 TraceCheckUtils]: 4: Hoare triple {1945#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} assume !(~n < 1); {1945#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:25,433 INFO L290 TraceCheckUtils]: 3: Hoare triple {1719#true} ~n := #in~n; {1945#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:25,433 INFO L272 TraceCheckUtils]: 2: Hoare triple {1795#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1719#true} is VALID [2022-02-20 18:15:25,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {1719#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {1795#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:25,433 INFO L290 TraceCheckUtils]: 0: Hoare triple {1719#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1719#true} is VALID [2022-02-20 18:15:25,433 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 18:15:25,434 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1092353991] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:25,434 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:15:25,434 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 9] total 17 [2022-02-20 18:15:25,434 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [925684983] [2022-02-20 18:15:25,434 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:25,435 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 3.0625) internal successors, (49), 17 states have internal predecessors, (49), 10 states have call successors, (12), 1 states have call predecessors, (12), 7 states have return successors, (12), 6 states have call predecessors, (12), 10 states have call successors, (12) Word has length 37 [2022-02-20 18:15:25,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:25,436 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 3.0625) internal successors, (49), 17 states have internal predecessors, (49), 10 states have call successors, (12), 1 states have call predecessors, (12), 7 states have return successors, (12), 6 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 18:15:25,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:25,483 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 18:15:25,483 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:25,484 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 18:15:25,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-02-20 18:15:25,484 INFO L87 Difference]: Start difference. First operand 63 states and 92 transitions. Second operand has 17 states, 16 states have (on average 3.0625) internal successors, (49), 17 states have internal predecessors, (49), 10 states have call successors, (12), 1 states have call predecessors, (12), 7 states have return successors, (12), 6 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 18:15:26,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:26,395 INFO L93 Difference]: Finished difference Result 177 states and 321 transitions. [2022-02-20 18:15:26,395 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 18:15:26,396 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 3.0625) internal successors, (49), 17 states have internal predecessors, (49), 10 states have call successors, (12), 1 states have call predecessors, (12), 7 states have return successors, (12), 6 states have call predecessors, (12), 10 states have call successors, (12) Word has length 37 [2022-02-20 18:15:26,402 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:26,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 3.0625) internal successors, (49), 17 states have internal predecessors, (49), 10 states have call successors, (12), 1 states have call predecessors, (12), 7 states have return successors, (12), 6 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 18:15:26,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 130 transitions. [2022-02-20 18:15:26,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 3.0625) internal successors, (49), 17 states have internal predecessors, (49), 10 states have call successors, (12), 1 states have call predecessors, (12), 7 states have return successors, (12), 6 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 18:15:26,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 130 transitions. [2022-02-20 18:15:26,408 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 130 transitions. [2022-02-20 18:15:26,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:26,495 INFO L225 Difference]: With dead ends: 177 [2022-02-20 18:15:26,495 INFO L226 Difference]: Without dead ends: 117 [2022-02-20 18:15:26,496 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 92 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=117, Invalid=483, Unknown=0, NotChecked=0, Total=600 [2022-02-20 18:15:26,497 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 52 mSDsluCounter, 166 mSDsCounter, 0 mSdLazyCounter, 279 mSolverCounterSat, 68 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 347 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 68 IncrementalHoareTripleChecker+Valid, 279 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:26,497 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 198 Invalid, 347 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [68 Valid, 279 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 18:15:26,497 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2022-02-20 18:15:26,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 103. [2022-02-20 18:15:26,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:26,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand has 103 states, 66 states have (on average 1.2121212121212122) internal successors, (80), 69 states have internal predecessors, (80), 21 states have call successors, (21), 7 states have call predecessors, (21), 15 states have return successors, (65), 26 states have call predecessors, (65), 21 states have call successors, (65) [2022-02-20 18:15:26,536 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand has 103 states, 66 states have (on average 1.2121212121212122) internal successors, (80), 69 states have internal predecessors, (80), 21 states have call successors, (21), 7 states have call predecessors, (21), 15 states have return successors, (65), 26 states have call predecessors, (65), 21 states have call successors, (65) [2022-02-20 18:15:26,536 INFO L87 Difference]: Start difference. First operand 117 states. Second operand has 103 states, 66 states have (on average 1.2121212121212122) internal successors, (80), 69 states have internal predecessors, (80), 21 states have call successors, (21), 7 states have call predecessors, (21), 15 states have return successors, (65), 26 states have call predecessors, (65), 21 states have call successors, (65) [2022-02-20 18:15:26,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:26,541 INFO L93 Difference]: Finished difference Result 117 states and 195 transitions. [2022-02-20 18:15:26,542 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 195 transitions. [2022-02-20 18:15:26,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:26,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:26,543 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 66 states have (on average 1.2121212121212122) internal successors, (80), 69 states have internal predecessors, (80), 21 states have call successors, (21), 7 states have call predecessors, (21), 15 states have return successors, (65), 26 states have call predecessors, (65), 21 states have call successors, (65) Second operand 117 states. [2022-02-20 18:15:26,543 INFO L87 Difference]: Start difference. First operand has 103 states, 66 states have (on average 1.2121212121212122) internal successors, (80), 69 states have internal predecessors, (80), 21 states have call successors, (21), 7 states have call predecessors, (21), 15 states have return successors, (65), 26 states have call predecessors, (65), 21 states have call successors, (65) Second operand 117 states. [2022-02-20 18:15:26,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:26,549 INFO L93 Difference]: Finished difference Result 117 states and 195 transitions. [2022-02-20 18:15:26,549 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 195 transitions. [2022-02-20 18:15:26,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:26,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:26,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:26,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:26,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 66 states have (on average 1.2121212121212122) internal successors, (80), 69 states have internal predecessors, (80), 21 states have call successors, (21), 7 states have call predecessors, (21), 15 states have return successors, (65), 26 states have call predecessors, (65), 21 states have call successors, (65) [2022-02-20 18:15:26,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 166 transitions. [2022-02-20 18:15:26,554 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 166 transitions. Word has length 37 [2022-02-20 18:15:26,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:26,554 INFO L470 AbstractCegarLoop]: Abstraction has 103 states and 166 transitions. [2022-02-20 18:15:26,555 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 3.0625) internal successors, (49), 17 states have internal predecessors, (49), 10 states have call successors, (12), 1 states have call predecessors, (12), 7 states have return successors, (12), 6 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 18:15:26,555 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 166 transitions. [2022-02-20 18:15:26,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 18:15:26,556 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:26,556 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:26,574 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:26,769 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:26,769 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:26,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:26,769 INFO L85 PathProgramCache]: Analyzing trace with hash 384535367, now seen corresponding path program 1 times [2022-02-20 18:15:26,770 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:26,770 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755914190] [2022-02-20 18:15:26,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:26,770 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:26,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,818 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:26,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:26,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,855 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:26,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:26,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,897 INFO L290 TraceCheckUtils]: 3: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,897 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 18:15:26,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume ~n < 1;#res := 0; {2626#true} is VALID [2022-02-20 18:15:26,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:26,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,904 INFO L272 TraceCheckUtils]: 3: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,904 INFO L290 TraceCheckUtils]: 4: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,904 INFO L290 TraceCheckUtils]: 6: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,905 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,905 INFO L272 TraceCheckUtils]: 10: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,905 INFO L290 TraceCheckUtils]: 11: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,905 INFO L290 TraceCheckUtils]: 12: Hoare triple {2626#true} assume ~n < 1;#res := 0; {2626#true} is VALID [2022-02-20 18:15:26,905 INFO L290 TraceCheckUtils]: 13: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,906 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,906 INFO L290 TraceCheckUtils]: 16: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume true; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,907 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2745#(<= 2 |fibo1_#in~n|)} {2626#true} #49#return; {2728#(<= 3 fibo2_~n)} is VALID [2022-02-20 18:15:26,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:15:26,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {2746#(<= |fibo1_#in~n| 0)} assume true; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2746#(<= |fibo1_#in~n| 0)} {2728#(<= 3 fibo2_~n)} #51#return; {2627#false} is VALID [2022-02-20 18:15:26,923 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {2626#true} assume !(1 == ~n); {2626#true} is VALID [2022-02-20 18:15:26,923 INFO L272 TraceCheckUtils]: 3: Hoare triple {2626#true} call #t~ret6 := fibo1(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,923 INFO L290 TraceCheckUtils]: 4: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:26,924 INFO L290 TraceCheckUtils]: 6: Hoare triple {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,924 INFO L272 TraceCheckUtils]: 7: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,925 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,926 INFO L290 TraceCheckUtils]: 13: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,926 INFO L272 TraceCheckUtils]: 14: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,926 INFO L290 TraceCheckUtils]: 15: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,926 INFO L290 TraceCheckUtils]: 16: Hoare triple {2626#true} assume ~n < 1;#res := 0; {2626#true} is VALID [2022-02-20 18:15:26,926 INFO L290 TraceCheckUtils]: 17: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,926 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume true; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,927 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2745#(<= 2 |fibo1_#in~n|)} {2626#true} #49#return; {2728#(<= 3 fibo2_~n)} is VALID [2022-02-20 18:15:26,928 INFO L290 TraceCheckUtils]: 22: Hoare triple {2728#(<= 3 fibo2_~n)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {2728#(<= 3 fibo2_~n)} is VALID [2022-02-20 18:15:26,928 INFO L272 TraceCheckUtils]: 23: Hoare triple {2728#(<= 3 fibo2_~n)} call #t~ret7 := fibo1(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {2746#(<= |fibo1_#in~n| 0)} assume true; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,929 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2746#(<= |fibo1_#in~n| 0)} {2728#(<= 3 fibo2_~n)} #51#return; {2627#false} is VALID [2022-02-20 18:15:26,929 INFO L290 TraceCheckUtils]: 28: Hoare triple {2627#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {2627#false} is VALID [2022-02-20 18:15:26,929 INFO L290 TraceCheckUtils]: 29: Hoare triple {2627#false} assume true; {2627#false} is VALID [2022-02-20 18:15:26,929 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2627#false} {2626#true} #53#return; {2627#false} is VALID [2022-02-20 18:15:26,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-02-20 18:15:26,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:26,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 3: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2626#true} {2627#false} #55#return; {2627#false} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {2626#true} assume !(1 == ~n); {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L272 TraceCheckUtils]: 3: Hoare triple {2626#true} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 4: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L290 TraceCheckUtils]: 6: Hoare triple {2626#true} assume !(1 == ~n); {2626#true} is VALID [2022-02-20 18:15:26,935 INFO L272 TraceCheckUtils]: 7: Hoare triple {2626#true} call #t~ret6 := fibo1(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:26,936 INFO L290 TraceCheckUtils]: 10: Hoare triple {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,937 INFO L272 TraceCheckUtils]: 11: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,937 INFO L290 TraceCheckUtils]: 12: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,937 INFO L290 TraceCheckUtils]: 13: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,937 INFO L290 TraceCheckUtils]: 14: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,937 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,938 INFO L290 TraceCheckUtils]: 17: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,938 INFO L272 TraceCheckUtils]: 18: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,938 INFO L290 TraceCheckUtils]: 19: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {2626#true} assume ~n < 1;#res := 0; {2626#true} is VALID [2022-02-20 18:15:26,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,939 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,939 INFO L290 TraceCheckUtils]: 23: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,939 INFO L290 TraceCheckUtils]: 24: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume true; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,940 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2745#(<= 2 |fibo1_#in~n|)} {2626#true} #49#return; {2728#(<= 3 fibo2_~n)} is VALID [2022-02-20 18:15:26,943 INFO L290 TraceCheckUtils]: 26: Hoare triple {2728#(<= 3 fibo2_~n)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {2728#(<= 3 fibo2_~n)} is VALID [2022-02-20 18:15:26,943 INFO L272 TraceCheckUtils]: 27: Hoare triple {2728#(<= 3 fibo2_~n)} call #t~ret7 := fibo1(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,943 INFO L290 TraceCheckUtils]: 28: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,944 INFO L290 TraceCheckUtils]: 29: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,944 INFO L290 TraceCheckUtils]: 30: Hoare triple {2746#(<= |fibo1_#in~n| 0)} assume true; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,944 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2746#(<= |fibo1_#in~n| 0)} {2728#(<= 3 fibo2_~n)} #51#return; {2627#false} is VALID [2022-02-20 18:15:26,944 INFO L290 TraceCheckUtils]: 32: Hoare triple {2627#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {2627#false} is VALID [2022-02-20 18:15:26,944 INFO L290 TraceCheckUtils]: 33: Hoare triple {2627#false} assume true; {2627#false} is VALID [2022-02-20 18:15:26,944 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2627#false} {2626#true} #53#return; {2627#false} is VALID [2022-02-20 18:15:26,945 INFO L290 TraceCheckUtils]: 35: Hoare triple {2627#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2627#false} is VALID [2022-02-20 18:15:26,945 INFO L272 TraceCheckUtils]: 36: Hoare triple {2627#false} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,945 INFO L290 TraceCheckUtils]: 37: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,945 INFO L290 TraceCheckUtils]: 38: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,945 INFO L290 TraceCheckUtils]: 39: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,945 INFO L290 TraceCheckUtils]: 40: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,945 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2626#true} {2627#false} #55#return; {2627#false} is VALID [2022-02-20 18:15:26,945 INFO L290 TraceCheckUtils]: 42: Hoare triple {2627#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2627#false} is VALID [2022-02-20 18:15:26,945 INFO L290 TraceCheckUtils]: 43: Hoare triple {2627#false} assume true; {2627#false} is VALID [2022-02-20 18:15:26,945 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2627#false} {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {2627#false} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:26,946 INFO L272 TraceCheckUtils]: 2: Hoare triple {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 3: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 4: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {2626#true} assume !(1 == ~n); {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {2626#true} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 8: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {2626#true} assume !(1 == ~n); {2626#true} is VALID [2022-02-20 18:15:26,946 INFO L272 TraceCheckUtils]: 10: Hoare triple {2626#true} call #t~ret6 := fibo1(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,947 INFO L290 TraceCheckUtils]: 11: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,947 INFO L290 TraceCheckUtils]: 12: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:26,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {2734#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,947 INFO L272 TraceCheckUtils]: 14: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:26,948 INFO L290 TraceCheckUtils]: 15: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,948 INFO L290 TraceCheckUtils]: 16: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,948 INFO L290 TraceCheckUtils]: 18: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,948 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:26,949 INFO L272 TraceCheckUtils]: 21: Hoare triple {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {2626#true} assume ~n < 1;#res := 0; {2626#true} is VALID [2022-02-20 18:15:26,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,949 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2626#true} {2735#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,950 INFO L290 TraceCheckUtils]: 26: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {2745#(<= 2 |fibo1_#in~n|)} assume true; {2745#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,950 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2745#(<= 2 |fibo1_#in~n|)} {2626#true} #49#return; {2728#(<= 3 fibo2_~n)} is VALID [2022-02-20 18:15:26,951 INFO L290 TraceCheckUtils]: 29: Hoare triple {2728#(<= 3 fibo2_~n)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {2728#(<= 3 fibo2_~n)} is VALID [2022-02-20 18:15:26,951 INFO L272 TraceCheckUtils]: 30: Hoare triple {2728#(<= 3 fibo2_~n)} call #t~ret7 := fibo1(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {2626#true} ~n := #in~n; {2733#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:26,951 INFO L290 TraceCheckUtils]: 32: Hoare triple {2733#(= fibo1_~n |fibo1_#in~n|)} assume ~n < 1;#res := 0; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,964 INFO L290 TraceCheckUtils]: 33: Hoare triple {2746#(<= |fibo1_#in~n| 0)} assume true; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:26,976 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2746#(<= |fibo1_#in~n| 0)} {2728#(<= 3 fibo2_~n)} #51#return; {2627#false} is VALID [2022-02-20 18:15:26,976 INFO L290 TraceCheckUtils]: 35: Hoare triple {2627#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {2627#false} is VALID [2022-02-20 18:15:26,976 INFO L290 TraceCheckUtils]: 36: Hoare triple {2627#false} assume true; {2627#false} is VALID [2022-02-20 18:15:26,976 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2627#false} {2626#true} #53#return; {2627#false} is VALID [2022-02-20 18:15:26,976 INFO L290 TraceCheckUtils]: 38: Hoare triple {2627#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2627#false} is VALID [2022-02-20 18:15:26,976 INFO L272 TraceCheckUtils]: 39: Hoare triple {2627#false} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:26,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:26,976 INFO L290 TraceCheckUtils]: 41: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:26,976 INFO L290 TraceCheckUtils]: 42: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:26,977 INFO L290 TraceCheckUtils]: 43: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:26,977 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2626#true} {2627#false} #55#return; {2627#false} is VALID [2022-02-20 18:15:26,977 INFO L290 TraceCheckUtils]: 45: Hoare triple {2627#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2627#false} is VALID [2022-02-20 18:15:26,977 INFO L290 TraceCheckUtils]: 46: Hoare triple {2627#false} assume true; {2627#false} is VALID [2022-02-20 18:15:26,977 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2627#false} {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {2627#false} is VALID [2022-02-20 18:15:26,977 INFO L290 TraceCheckUtils]: 48: Hoare triple {2627#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2627#false} is VALID [2022-02-20 18:15:26,977 INFO L290 TraceCheckUtils]: 49: Hoare triple {2627#false} assume 3 == main_~result~0#1; {2627#false} is VALID [2022-02-20 18:15:26,977 INFO L290 TraceCheckUtils]: 50: Hoare triple {2627#false} assume !false; {2627#false} is VALID [2022-02-20 18:15:26,977 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 15 proven. 4 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 18:15:26,978 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:26,978 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [755914190] [2022-02-20 18:15:26,978 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [755914190] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:15:26,978 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1286404664] [2022-02-20 18:15:26,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:26,978 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:26,978 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:26,988 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:15:27,003 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 18:15:27,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:27,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:27,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:27,072 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:27,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2626#true} is VALID [2022-02-20 18:15:27,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:27,287 INFO L272 TraceCheckUtils]: 2: Hoare triple {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {2626#true} is VALID [2022-02-20 18:15:27,287 INFO L290 TraceCheckUtils]: 3: Hoare triple {2626#true} ~n := #in~n; {2759#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:27,287 INFO L290 TraceCheckUtils]: 4: Hoare triple {2759#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {2759#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:27,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {2759#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {2759#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:27,288 INFO L272 TraceCheckUtils]: 6: Hoare triple {2759#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:27,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {2626#true} ~n := #in~n; {2772#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:27,289 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {2772#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:27,289 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#(<= |fibo2_#in~n| fibo2_~n)} assume !(1 == ~n); {2772#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:27,289 INFO L272 TraceCheckUtils]: 10: Hoare triple {2772#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~n - 1); {2626#true} is VALID [2022-02-20 18:15:27,289 INFO L290 TraceCheckUtils]: 11: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:27,289 INFO L290 TraceCheckUtils]: 12: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:27,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {2626#true} assume !(1 == ~n); {2626#true} is VALID [2022-02-20 18:15:27,289 INFO L272 TraceCheckUtils]: 14: Hoare triple {2626#true} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L290 TraceCheckUtils]: 15: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L290 TraceCheckUtils]: 18: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2626#true} {2626#true} #53#return; {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {2626#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L272 TraceCheckUtils]: 21: Hoare triple {2626#true} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:27,290 INFO L290 TraceCheckUtils]: 22: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:27,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {2626#true} assume ~n < 1;#res := 0; {2626#true} is VALID [2022-02-20 18:15:27,291 INFO L290 TraceCheckUtils]: 24: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:27,291 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2626#true} {2626#true} #55#return; {2626#true} is VALID [2022-02-20 18:15:27,291 INFO L290 TraceCheckUtils]: 26: Hoare triple {2626#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2626#true} is VALID [2022-02-20 18:15:27,291 INFO L290 TraceCheckUtils]: 27: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:27,292 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2626#true} {2772#(<= |fibo2_#in~n| fibo2_~n)} #49#return; {2772#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:27,292 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#(<= |fibo2_#in~n| fibo2_~n)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {2772#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:27,292 INFO L272 TraceCheckUtils]: 30: Hoare triple {2772#(<= |fibo2_#in~n| fibo2_~n)} call #t~ret7 := fibo1(~n - 2); {2626#true} is VALID [2022-02-20 18:15:27,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {2626#true} ~n := #in~n; {2759#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:27,293 INFO L290 TraceCheckUtils]: 32: Hoare triple {2759#(<= |fibo1_#in~n| fibo1_~n)} assume ~n < 1;#res := 0; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:27,293 INFO L290 TraceCheckUtils]: 33: Hoare triple {2746#(<= |fibo1_#in~n| 0)} assume true; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:27,294 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2746#(<= |fibo1_#in~n| 0)} {2772#(<= |fibo2_#in~n| fibo2_~n)} #51#return; {2854#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:27,294 INFO L290 TraceCheckUtils]: 35: Hoare triple {2854#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {2854#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:27,294 INFO L290 TraceCheckUtils]: 36: Hoare triple {2854#(<= |fibo2_#in~n| 2)} assume true; {2854#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:27,295 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2854#(<= |fibo2_#in~n| 2)} {2759#(<= |fibo1_#in~n| fibo1_~n)} #53#return; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:27,295 INFO L290 TraceCheckUtils]: 38: Hoare triple {2864#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:27,296 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(<= |fibo1_#in~n| 3)} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:27,296 INFO L290 TraceCheckUtils]: 40: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:27,296 INFO L290 TraceCheckUtils]: 41: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:27,296 INFO L290 TraceCheckUtils]: 42: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:27,296 INFO L290 TraceCheckUtils]: 43: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:27,297 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2626#true} {2864#(<= |fibo1_#in~n| 3)} #55#return; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:27,297 INFO L290 TraceCheckUtils]: 45: Hoare triple {2864#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:27,297 INFO L290 TraceCheckUtils]: 46: Hoare triple {2864#(<= |fibo1_#in~n| 3)} assume true; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:27,298 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2864#(<= |fibo1_#in~n| 3)} {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {2627#false} is VALID [2022-02-20 18:15:27,298 INFO L290 TraceCheckUtils]: 48: Hoare triple {2627#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2627#false} is VALID [2022-02-20 18:15:27,298 INFO L290 TraceCheckUtils]: 49: Hoare triple {2627#false} assume 3 == main_~result~0#1; {2627#false} is VALID [2022-02-20 18:15:27,298 INFO L290 TraceCheckUtils]: 50: Hoare triple {2627#false} assume !false; {2627#false} is VALID [2022-02-20 18:15:27,298 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 12 proven. 12 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-02-20 18:15:27,298 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:28,195 INFO L290 TraceCheckUtils]: 50: Hoare triple {2627#false} assume !false; {2627#false} is VALID [2022-02-20 18:15:28,196 INFO L290 TraceCheckUtils]: 49: Hoare triple {2627#false} assume 3 == main_~result~0#1; {2627#false} is VALID [2022-02-20 18:15:28,196 INFO L290 TraceCheckUtils]: 48: Hoare triple {2627#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2627#false} is VALID [2022-02-20 18:15:28,196 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2864#(<= |fibo1_#in~n| 3)} {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {2627#false} is VALID [2022-02-20 18:15:28,196 INFO L290 TraceCheckUtils]: 46: Hoare triple {2864#(<= |fibo1_#in~n| 3)} assume true; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:28,197 INFO L290 TraceCheckUtils]: 45: Hoare triple {2864#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:28,197 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2626#true} {2864#(<= |fibo1_#in~n| 3)} #55#return; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:28,197 INFO L290 TraceCheckUtils]: 43: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:28,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:28,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:28,197 INFO L290 TraceCheckUtils]: 40: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:28,197 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(<= |fibo1_#in~n| 3)} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:28,198 INFO L290 TraceCheckUtils]: 38: Hoare triple {2864#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:28,198 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2854#(<= |fibo2_#in~n| 2)} {2946#(or (<= 4 fibo1_~n) (<= |fibo1_#in~n| 3))} #53#return; {2864#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:28,199 INFO L290 TraceCheckUtils]: 36: Hoare triple {2854#(<= |fibo2_#in~n| 2)} assume true; {2854#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:28,199 INFO L290 TraceCheckUtils]: 35: Hoare triple {2854#(<= |fibo2_#in~n| 2)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {2854#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:28,199 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2746#(<= |fibo1_#in~n| 0)} {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} #51#return; {2854#(<= |fibo2_#in~n| 2)} is VALID [2022-02-20 18:15:28,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {2746#(<= |fibo1_#in~n| 0)} assume true; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:28,200 INFO L290 TraceCheckUtils]: 32: Hoare triple {2969#(or (<= |fibo1_#in~n| 0) (not (< fibo1_~n 1)))} assume ~n < 1;#res := 0; {2746#(<= |fibo1_#in~n| 0)} is VALID [2022-02-20 18:15:28,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {2626#true} ~n := #in~n; {2969#(or (<= |fibo1_#in~n| 0) (not (< fibo1_~n 1)))} is VALID [2022-02-20 18:15:28,200 INFO L272 TraceCheckUtils]: 30: Hoare triple {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} call #t~ret7 := fibo1(~n - 2); {2626#true} is VALID [2022-02-20 18:15:28,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} is VALID [2022-02-20 18:15:28,201 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2626#true} {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} #49#return; {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} is VALID [2022-02-20 18:15:28,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:28,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {2626#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {2626#true} is VALID [2022-02-20 18:15:28,201 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2626#true} {2626#true} #55#return; {2626#true} is VALID [2022-02-20 18:15:28,201 INFO L290 TraceCheckUtils]: 24: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:28,201 INFO L290 TraceCheckUtils]: 23: Hoare triple {2626#true} assume ~n < 1;#res := 0; {2626#true} is VALID [2022-02-20 18:15:28,201 INFO L290 TraceCheckUtils]: 22: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:28,201 INFO L272 TraceCheckUtils]: 21: Hoare triple {2626#true} call #t~ret5 := fibo2(~n - 2); {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {2626#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2626#true} {2626#true} #53#return; {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 18: Hoare triple {2626#true} assume true; {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 17: Hoare triple {2626#true} assume 1 == ~n;#res := 1; {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L272 TraceCheckUtils]: 14: Hoare triple {2626#true} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 13: Hoare triple {2626#true} assume !(1 == ~n); {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 12: Hoare triple {2626#true} assume !(~n < 1); {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 11: Hoare triple {2626#true} ~n := #in~n; {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L272 TraceCheckUtils]: 10: Hoare triple {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} call #t~ret6 := fibo1(~n - 1); {2626#true} is VALID [2022-02-20 18:15:28,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} assume !(1 == ~n); {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} is VALID [2022-02-20 18:15:28,203 INFO L290 TraceCheckUtils]: 8: Hoare triple {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} assume !(~n < 1); {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} is VALID [2022-02-20 18:15:28,203 INFO L290 TraceCheckUtils]: 7: Hoare triple {2626#true} ~n := #in~n; {2959#(or (<= |fibo2_#in~n| 2) (<= 3 fibo2_~n))} is VALID [2022-02-20 18:15:28,203 INFO L272 TraceCheckUtils]: 6: Hoare triple {2946#(or (<= 4 fibo1_~n) (<= |fibo1_#in~n| 3))} call #t~ret4 := fibo2(~n - 1); {2626#true} is VALID [2022-02-20 18:15:28,203 INFO L290 TraceCheckUtils]: 5: Hoare triple {2946#(or (<= 4 fibo1_~n) (<= |fibo1_#in~n| 3))} assume !(1 == ~n); {2946#(or (<= 4 fibo1_~n) (<= |fibo1_#in~n| 3))} is VALID [2022-02-20 18:15:28,204 INFO L290 TraceCheckUtils]: 4: Hoare triple {2946#(or (<= 4 fibo1_~n) (<= |fibo1_#in~n| 3))} assume !(~n < 1); {2946#(or (<= 4 fibo1_~n) (<= |fibo1_#in~n| 3))} is VALID [2022-02-20 18:15:28,204 INFO L290 TraceCheckUtils]: 3: Hoare triple {2626#true} ~n := #in~n; {2946#(or (<= 4 fibo1_~n) (<= |fibo1_#in~n| 3))} is VALID [2022-02-20 18:15:28,204 INFO L272 TraceCheckUtils]: 2: Hoare triple {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {2626#true} is VALID [2022-02-20 18:15:28,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {2626#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {2628#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:28,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {2626#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2626#true} is VALID [2022-02-20 18:15:28,205 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-02-20 18:15:28,205 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1286404664] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:28,205 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:15:28,205 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 9] total 16 [2022-02-20 18:15:28,205 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [20715454] [2022-02-20 18:15:28,205 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:28,206 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.533333333333333) internal successors, (53), 16 states have internal predecessors, (53), 10 states have call successors, (15), 1 states have call predecessors, (15), 6 states have return successors, (17), 9 states have call predecessors, (17), 10 states have call successors, (17) Word has length 51 [2022-02-20 18:15:28,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:28,207 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 3.533333333333333) internal successors, (53), 16 states have internal predecessors, (53), 10 states have call successors, (15), 1 states have call predecessors, (15), 6 states have return successors, (17), 9 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 18:15:28,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:28,282 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 18:15:28,282 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:28,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 18:15:28,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-02-20 18:15:28,283 INFO L87 Difference]: Start difference. First operand 103 states and 166 transitions. Second operand has 16 states, 15 states have (on average 3.533333333333333) internal successors, (53), 16 states have internal predecessors, (53), 10 states have call successors, (15), 1 states have call predecessors, (15), 6 states have return successors, (17), 9 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 18:15:29,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:29,152 INFO L93 Difference]: Finished difference Result 262 states and 508 transitions. [2022-02-20 18:15:29,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 18:15:29,152 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.533333333333333) internal successors, (53), 16 states have internal predecessors, (53), 10 states have call successors, (15), 1 states have call predecessors, (15), 6 states have return successors, (17), 9 states have call predecessors, (17), 10 states have call successors, (17) Word has length 51 [2022-02-20 18:15:29,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:29,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.533333333333333) internal successors, (53), 16 states have internal predecessors, (53), 10 states have call successors, (15), 1 states have call predecessors, (15), 6 states have return successors, (17), 9 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 18:15:29,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 119 transitions. [2022-02-20 18:15:29,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.533333333333333) internal successors, (53), 16 states have internal predecessors, (53), 10 states have call successors, (15), 1 states have call predecessors, (15), 6 states have return successors, (17), 9 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 18:15:29,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 119 transitions. [2022-02-20 18:15:29,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 119 transitions. [2022-02-20 18:15:29,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:29,263 INFO L225 Difference]: With dead ends: 262 [2022-02-20 18:15:29,264 INFO L226 Difference]: Without dead ends: 162 [2022-02-20 18:15:29,266 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 111 SyntacticMatches, 4 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=96, Invalid=366, Unknown=0, NotChecked=0, Total=462 [2022-02-20 18:15:29,268 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 54 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 333 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 333 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:29,268 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 201 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 333 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 18:15:29,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-02-20 18:15:29,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 139. [2022-02-20 18:15:29,348 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:29,349 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 139 states, 89 states have (on average 1.202247191011236) internal successors, (107), 91 states have internal predecessors, (107), 31 states have call successors, (31), 10 states have call predecessors, (31), 18 states have return successors, (103), 37 states have call predecessors, (103), 31 states have call successors, (103) [2022-02-20 18:15:29,349 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 139 states, 89 states have (on average 1.202247191011236) internal successors, (107), 91 states have internal predecessors, (107), 31 states have call successors, (31), 10 states have call predecessors, (31), 18 states have return successors, (103), 37 states have call predecessors, (103), 31 states have call successors, (103) [2022-02-20 18:15:29,350 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 139 states, 89 states have (on average 1.202247191011236) internal successors, (107), 91 states have internal predecessors, (107), 31 states have call successors, (31), 10 states have call predecessors, (31), 18 states have return successors, (103), 37 states have call predecessors, (103), 31 states have call successors, (103) [2022-02-20 18:15:29,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:29,359 INFO L93 Difference]: Finished difference Result 162 states and 282 transitions. [2022-02-20 18:15:29,359 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 282 transitions. [2022-02-20 18:15:29,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:29,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:29,361 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 89 states have (on average 1.202247191011236) internal successors, (107), 91 states have internal predecessors, (107), 31 states have call successors, (31), 10 states have call predecessors, (31), 18 states have return successors, (103), 37 states have call predecessors, (103), 31 states have call successors, (103) Second operand 162 states. [2022-02-20 18:15:29,362 INFO L87 Difference]: Start difference. First operand has 139 states, 89 states have (on average 1.202247191011236) internal successors, (107), 91 states have internal predecessors, (107), 31 states have call successors, (31), 10 states have call predecessors, (31), 18 states have return successors, (103), 37 states have call predecessors, (103), 31 states have call successors, (103) Second operand 162 states. [2022-02-20 18:15:29,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:29,371 INFO L93 Difference]: Finished difference Result 162 states and 282 transitions. [2022-02-20 18:15:29,371 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 282 transitions. [2022-02-20 18:15:29,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:29,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:29,372 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:29,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:29,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 89 states have (on average 1.202247191011236) internal successors, (107), 91 states have internal predecessors, (107), 31 states have call successors, (31), 10 states have call predecessors, (31), 18 states have return successors, (103), 37 states have call predecessors, (103), 31 states have call successors, (103) [2022-02-20 18:15:29,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 241 transitions. [2022-02-20 18:15:29,379 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 241 transitions. Word has length 51 [2022-02-20 18:15:29,379 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:29,380 INFO L470 AbstractCegarLoop]: Abstraction has 139 states and 241 transitions. [2022-02-20 18:15:29,380 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 3.533333333333333) internal successors, (53), 16 states have internal predecessors, (53), 10 states have call successors, (15), 1 states have call predecessors, (15), 6 states have return successors, (17), 9 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 18:15:29,380 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 241 transitions. [2022-02-20 18:15:29,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 18:15:29,381 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:29,381 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:29,413 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:29,599 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:29,599 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:29,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:29,600 INFO L85 PathProgramCache]: Analyzing trace with hash -1130362923, now seen corresponding path program 1 times [2022-02-20 18:15:29,600 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:29,600 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [365312548] [2022-02-20 18:15:29,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:29,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:29,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,645 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:29,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,664 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:29,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,689 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:29,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:29,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,731 INFO L290 TraceCheckUtils]: 3: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,733 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 18:15:29,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,737 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {3907#true} assume ~n < 1;#res := 0; {3907#true} is VALID [2022-02-20 18:15:29,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} ~n := #in~n; {4020#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {4020#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:29,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,738 INFO L272 TraceCheckUtils]: 3: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,739 INFO L290 TraceCheckUtils]: 4: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,739 INFO L290 TraceCheckUtils]: 5: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,739 INFO L290 TraceCheckUtils]: 6: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,739 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,740 INFO L272 TraceCheckUtils]: 10: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,740 INFO L290 TraceCheckUtils]: 12: Hoare triple {3907#true} assume ~n < 1;#res := 0; {3907#true} is VALID [2022-02-20 18:15:29,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,740 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,741 INFO L290 TraceCheckUtils]: 16: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume true; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,741 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4032#(<= 2 |fibo1_#in~n|)} {3994#(= fibo2_~n |fibo2_#in~n|)} #49#return; {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:29,741 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:15:29,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,747 INFO L290 TraceCheckUtils]: 3: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,748 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3907#true} {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} ~n := #in~n; {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,748 INFO L272 TraceCheckUtils]: 3: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,749 INFO L290 TraceCheckUtils]: 4: Hoare triple {3907#true} ~n := #in~n; {4020#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {4020#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:29,749 INFO L290 TraceCheckUtils]: 6: Hoare triple {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,749 INFO L272 TraceCheckUtils]: 7: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,750 INFO L290 TraceCheckUtils]: 10: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,750 INFO L290 TraceCheckUtils]: 11: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,750 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,750 INFO L290 TraceCheckUtils]: 13: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,751 INFO L272 TraceCheckUtils]: 14: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {3907#true} assume ~n < 1;#res := 0; {3907#true} is VALID [2022-02-20 18:15:29,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,751 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,752 INFO L290 TraceCheckUtils]: 19: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume true; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,753 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4032#(<= 2 |fibo1_#in~n|)} {3994#(= fibo2_~n |fibo2_#in~n|)} #49#return; {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:29,753 INFO L290 TraceCheckUtils]: 22: Hoare triple {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:29,753 INFO L272 TraceCheckUtils]: 23: Hoare triple {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,753 INFO L290 TraceCheckUtils]: 25: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,754 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3907#true} {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,754 INFO L290 TraceCheckUtils]: 29: Hoare triple {4019#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,754 INFO L290 TraceCheckUtils]: 30: Hoare triple {4019#(<= 3 |fibo2_#in~n|)} assume true; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,755 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4019#(<= 3 |fibo2_#in~n|)} {3907#true} #53#return; {3988#(<= 4 fibo1_~n)} is VALID [2022-02-20 18:15:29,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-02-20 18:15:29,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} ~n := #in~n; {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:29,770 INFO L290 TraceCheckUtils]: 3: Hoare triple {4033#(<= |fibo2_#in~n| 1)} assume true; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:29,770 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4033#(<= |fibo2_#in~n| 1)} {3988#(<= 4 fibo1_~n)} #55#return; {3908#false} is VALID [2022-02-20 18:15:29,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {3907#true} assume !(1 == ~n); {3907#true} is VALID [2022-02-20 18:15:29,770 INFO L272 TraceCheckUtils]: 3: Hoare triple {3907#true} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,771 INFO L290 TraceCheckUtils]: 4: Hoare triple {3907#true} ~n := #in~n; {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,771 INFO L290 TraceCheckUtils]: 6: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,771 INFO L272 TraceCheckUtils]: 7: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {3907#true} ~n := #in~n; {4020#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {4020#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:29,772 INFO L290 TraceCheckUtils]: 10: Hoare triple {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,772 INFO L272 TraceCheckUtils]: 11: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,772 INFO L290 TraceCheckUtils]: 12: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,772 INFO L290 TraceCheckUtils]: 13: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,773 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,773 INFO L272 TraceCheckUtils]: 18: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,773 INFO L290 TraceCheckUtils]: 19: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {3907#true} assume ~n < 1;#res := 0; {3907#true} is VALID [2022-02-20 18:15:29,773 INFO L290 TraceCheckUtils]: 21: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,774 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume true; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,775 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {4032#(<= 2 |fibo1_#in~n|)} {3994#(= fibo2_~n |fibo2_#in~n|)} #49#return; {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:29,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:29,775 INFO L272 TraceCheckUtils]: 27: Hoare triple {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,775 INFO L290 TraceCheckUtils]: 28: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,776 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3907#true} {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,776 INFO L290 TraceCheckUtils]: 33: Hoare triple {4019#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {4019#(<= 3 |fibo2_#in~n|)} assume true; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,777 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4019#(<= 3 |fibo2_#in~n|)} {3907#true} #53#return; {3988#(<= 4 fibo1_~n)} is VALID [2022-02-20 18:15:29,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {3988#(<= 4 fibo1_~n)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3988#(<= 4 fibo1_~n)} is VALID [2022-02-20 18:15:29,777 INFO L272 TraceCheckUtils]: 37: Hoare triple {3988#(<= 4 fibo1_~n)} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,777 INFO L290 TraceCheckUtils]: 38: Hoare triple {3907#true} ~n := #in~n; {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:29,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {4033#(<= |fibo2_#in~n| 1)} assume true; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:29,779 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4033#(<= |fibo2_#in~n| 1)} {3988#(<= 4 fibo1_~n)} #55#return; {3908#false} is VALID [2022-02-20 18:15:29,779 INFO L290 TraceCheckUtils]: 43: Hoare triple {3908#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {3908#false} is VALID [2022-02-20 18:15:29,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {3908#false} assume true; {3908#false} is VALID [2022-02-20 18:15:29,779 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3908#false} {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {3908#false} is VALID [2022-02-20 18:15:29,779 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3907#true} is VALID [2022-02-20 18:15:29,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {3907#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:29,779 INFO L272 TraceCheckUtils]: 2: Hoare triple {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {3907#true} is VALID [2022-02-20 18:15:29,779 INFO L290 TraceCheckUtils]: 3: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,779 INFO L290 TraceCheckUtils]: 4: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {3907#true} assume !(1 == ~n); {3907#true} is VALID [2022-02-20 18:15:29,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {3907#true} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {3907#true} ~n := #in~n; {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,780 INFO L272 TraceCheckUtils]: 10: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {3907#true} ~n := #in~n; {4020#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,781 INFO L290 TraceCheckUtils]: 12: Hoare triple {4020#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:29,782 INFO L290 TraceCheckUtils]: 13: Hoare triple {4021#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,782 INFO L272 TraceCheckUtils]: 14: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:29,782 INFO L290 TraceCheckUtils]: 15: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,782 INFO L290 TraceCheckUtils]: 16: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,782 INFO L290 TraceCheckUtils]: 17: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,782 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:29,783 INFO L272 TraceCheckUtils]: 21: Hoare triple {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {3907#true} assume ~n < 1;#res := 0; {3907#true} is VALID [2022-02-20 18:15:29,783 INFO L290 TraceCheckUtils]: 24: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,784 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3907#true} {4022#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {4032#(<= 2 |fibo1_#in~n|)} assume true; {4032#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:29,785 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4032#(<= 2 |fibo1_#in~n|)} {3994#(= fibo2_~n |fibo2_#in~n|)} #49#return; {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:29,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:29,785 INFO L272 TraceCheckUtils]: 30: Hoare triple {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,785 INFO L290 TraceCheckUtils]: 31: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:29,785 INFO L290 TraceCheckUtils]: 32: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:29,785 INFO L290 TraceCheckUtils]: 33: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:29,785 INFO L290 TraceCheckUtils]: 34: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:29,786 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3907#true} {4013#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {4019#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,786 INFO L290 TraceCheckUtils]: 37: Hoare triple {4019#(<= 3 |fibo2_#in~n|)} assume true; {4019#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,787 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4019#(<= 3 |fibo2_#in~n|)} {3907#true} #53#return; {3988#(<= 4 fibo1_~n)} is VALID [2022-02-20 18:15:29,787 INFO L290 TraceCheckUtils]: 39: Hoare triple {3988#(<= 4 fibo1_~n)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3988#(<= 4 fibo1_~n)} is VALID [2022-02-20 18:15:29,787 INFO L272 TraceCheckUtils]: 40: Hoare triple {3988#(<= 4 fibo1_~n)} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:29,787 INFO L290 TraceCheckUtils]: 41: Hoare triple {3907#true} ~n := #in~n; {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,787 INFO L290 TraceCheckUtils]: 42: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {3994#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:29,788 INFO L290 TraceCheckUtils]: 43: Hoare triple {3994#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:29,788 INFO L290 TraceCheckUtils]: 44: Hoare triple {4033#(<= |fibo2_#in~n| 1)} assume true; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:29,788 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4033#(<= |fibo2_#in~n| 1)} {3988#(<= 4 fibo1_~n)} #55#return; {3908#false} is VALID [2022-02-20 18:15:29,789 INFO L290 TraceCheckUtils]: 46: Hoare triple {3908#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {3908#false} is VALID [2022-02-20 18:15:29,789 INFO L290 TraceCheckUtils]: 47: Hoare triple {3908#false} assume true; {3908#false} is VALID [2022-02-20 18:15:29,789 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3908#false} {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {3908#false} is VALID [2022-02-20 18:15:29,789 INFO L290 TraceCheckUtils]: 49: Hoare triple {3908#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3908#false} is VALID [2022-02-20 18:15:29,789 INFO L290 TraceCheckUtils]: 50: Hoare triple {3908#false} assume 3 == main_~result~0#1; {3908#false} is VALID [2022-02-20 18:15:29,789 INFO L290 TraceCheckUtils]: 51: Hoare triple {3908#false} assume !false; {3908#false} is VALID [2022-02-20 18:15:29,789 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 19 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 18:15:29,789 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:29,789 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [365312548] [2022-02-20 18:15:29,789 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [365312548] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:15:29,789 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1748302809] [2022-02-20 18:15:29,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:29,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:29,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:29,791 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:15:29,806 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 18:15:29,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:15:29,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:29,863 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:30,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3907#true} is VALID [2022-02-20 18:15:30,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {3907#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:30,015 INFO L272 TraceCheckUtils]: 2: Hoare triple {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {3907#true} is VALID [2022-02-20 18:15:30,015 INFO L290 TraceCheckUtils]: 3: Hoare triple {3907#true} ~n := #in~n; {4046#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:30,015 INFO L290 TraceCheckUtils]: 4: Hoare triple {4046#(<= |fibo1_#in~n| fibo1_~n)} assume !(~n < 1); {4046#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 5: Hoare triple {4046#(<= |fibo1_#in~n| fibo1_~n)} assume !(1 == ~n); {4046#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:30,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {4046#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {3907#true} assume !(1 == ~n); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L272 TraceCheckUtils]: 10: Hoare triple {3907#true} call #t~ret6 := fibo1(~n - 1); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {3907#true} assume !(1 == ~n); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L272 TraceCheckUtils]: 14: Hoare triple {3907#true} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:30,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,017 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3907#true} {3907#true} #53#return; {3907#true} is VALID [2022-02-20 18:15:30,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {3907#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3907#true} is VALID [2022-02-20 18:15:30,017 INFO L272 TraceCheckUtils]: 21: Hoare triple {3907#true} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:30,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {3907#true} assume ~n < 1;#res := 0; {3907#true} is VALID [2022-02-20 18:15:30,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3907#true} {3907#true} #55#return; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 26: Hoare triple {3907#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 27: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3907#true} {3907#true} #49#return; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 29: Hoare triple {3907#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L272 TraceCheckUtils]: 30: Hoare triple {3907#true} call #t~ret7 := fibo1(~n - 2); {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 34: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3907#true} {3907#true} #51#return; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 36: Hoare triple {3907#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {3907#true} is VALID [2022-02-20 18:15:30,018 INFO L290 TraceCheckUtils]: 37: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,020 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3907#true} {4046#(<= |fibo1_#in~n| fibo1_~n)} #53#return; {4046#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:30,020 INFO L290 TraceCheckUtils]: 39: Hoare triple {4046#(<= |fibo1_#in~n| fibo1_~n)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4046#(<= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:30,020 INFO L272 TraceCheckUtils]: 40: Hoare triple {4046#(<= |fibo1_#in~n| fibo1_~n)} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:30,021 INFO L290 TraceCheckUtils]: 41: Hoare triple {3907#true} ~n := #in~n; {4161#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:30,021 INFO L290 TraceCheckUtils]: 42: Hoare triple {4161#(<= |fibo2_#in~n| fibo2_~n)} assume !(~n < 1); {4161#(<= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:30,021 INFO L290 TraceCheckUtils]: 43: Hoare triple {4161#(<= |fibo2_#in~n| fibo2_~n)} assume 1 == ~n;#res := 1; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:30,022 INFO L290 TraceCheckUtils]: 44: Hoare triple {4033#(<= |fibo2_#in~n| 1)} assume true; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:30,022 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4033#(<= |fibo2_#in~n| 1)} {4046#(<= |fibo1_#in~n| fibo1_~n)} #55#return; {4174#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:30,023 INFO L290 TraceCheckUtils]: 46: Hoare triple {4174#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {4174#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:30,023 INFO L290 TraceCheckUtils]: 47: Hoare triple {4174#(<= |fibo1_#in~n| 3)} assume true; {4174#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:30,024 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4174#(<= |fibo1_#in~n| 3)} {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {3908#false} is VALID [2022-02-20 18:15:30,024 INFO L290 TraceCheckUtils]: 49: Hoare triple {3908#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3908#false} is VALID [2022-02-20 18:15:30,024 INFO L290 TraceCheckUtils]: 50: Hoare triple {3908#false} assume 3 == main_~result~0#1; {3908#false} is VALID [2022-02-20 18:15:30,024 INFO L290 TraceCheckUtils]: 51: Hoare triple {3908#false} assume !false; {3908#false} is VALID [2022-02-20 18:15:30,024 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 18 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 18:15:30,024 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:30,564 INFO L290 TraceCheckUtils]: 51: Hoare triple {3908#false} assume !false; {3908#false} is VALID [2022-02-20 18:15:30,565 INFO L290 TraceCheckUtils]: 50: Hoare triple {3908#false} assume 3 == main_~result~0#1; {3908#false} is VALID [2022-02-20 18:15:30,565 INFO L290 TraceCheckUtils]: 49: Hoare triple {3908#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3908#false} is VALID [2022-02-20 18:15:30,565 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4174#(<= |fibo1_#in~n| 3)} {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} #47#return; {3908#false} is VALID [2022-02-20 18:15:30,566 INFO L290 TraceCheckUtils]: 47: Hoare triple {4174#(<= |fibo1_#in~n| 3)} assume true; {4174#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:30,566 INFO L290 TraceCheckUtils]: 46: Hoare triple {4174#(<= |fibo1_#in~n| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {4174#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:30,567 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4033#(<= |fibo2_#in~n| 1)} {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} #55#return; {4174#(<= |fibo1_#in~n| 3)} is VALID [2022-02-20 18:15:30,567 INFO L290 TraceCheckUtils]: 44: Hoare triple {4033#(<= |fibo2_#in~n| 1)} assume true; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:30,567 INFO L290 TraceCheckUtils]: 43: Hoare triple {4224#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} assume 1 == ~n;#res := 1; {4033#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:30,568 INFO L290 TraceCheckUtils]: 42: Hoare triple {4224#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} assume !(~n < 1); {4224#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} is VALID [2022-02-20 18:15:30,568 INFO L290 TraceCheckUtils]: 41: Hoare triple {3907#true} ~n := #in~n; {4224#(or (not (<= fibo2_~n 1)) (<= |fibo2_#in~n| 1))} is VALID [2022-02-20 18:15:30,568 INFO L272 TraceCheckUtils]: 40: Hoare triple {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:30,568 INFO L290 TraceCheckUtils]: 39: Hoare triple {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:30,569 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3907#true} {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} #53#return; {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 37: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 36: Hoare triple {3907#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3907#true} {3907#true} #51#return; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 33: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 32: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L272 TraceCheckUtils]: 30: Hoare triple {3907#true} call #t~ret7 := fibo1(~n - 2); {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 29: Hoare triple {3907#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3907#true} {3907#true} #49#return; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {3907#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3907#true} {3907#true} #55#return; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 24: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {3907#true} assume ~n < 1;#res := 0; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L272 TraceCheckUtils]: 21: Hoare triple {3907#true} call #t~ret5 := fibo2(~n - 2); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {3907#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3907#true} {3907#true} #53#return; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 18: Hoare triple {3907#true} assume true; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {3907#true} assume 1 == ~n;#res := 1; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L272 TraceCheckUtils]: 14: Hoare triple {3907#true} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {3907#true} assume !(1 == ~n); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 12: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L272 TraceCheckUtils]: 10: Hoare triple {3907#true} call #t~ret6 := fibo1(~n - 1); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {3907#true} assume !(1 == ~n); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {3907#true} assume !(~n < 1); {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {3907#true} ~n := #in~n; {3907#true} is VALID [2022-02-20 18:15:30,570 INFO L272 TraceCheckUtils]: 6: Hoare triple {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} call #t~ret4 := fibo2(~n - 1); {3907#true} is VALID [2022-02-20 18:15:30,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} assume !(1 == ~n); {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:30,571 INFO L290 TraceCheckUtils]: 4: Hoare triple {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} assume !(~n < 1); {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:30,571 INFO L290 TraceCheckUtils]: 3: Hoare triple {3907#true} ~n := #in~n; {4214#(or (<= |fibo1_#in~n| 3) (< 3 fibo1_~n))} is VALID [2022-02-20 18:15:30,571 INFO L272 TraceCheckUtils]: 2: Hoare triple {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {3907#true} is VALID [2022-02-20 18:15:30,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {3907#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {3909#(<= 4 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:30,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {3907#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3907#true} is VALID [2022-02-20 18:15:30,572 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 18 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 18:15:30,572 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1748302809] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:30,572 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:15:30,572 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 7, 7] total 17 [2022-02-20 18:15:30,572 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [982114290] [2022-02-20 18:15:30,572 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:30,573 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 3.3125) internal successors, (53), 17 states have internal predecessors, (53), 8 states have call successors, (14), 1 states have call predecessors, (14), 6 states have return successors, (16), 10 states have call predecessors, (16), 8 states have call successors, (16) Word has length 52 [2022-02-20 18:15:30,574 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:30,574 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 3.3125) internal successors, (53), 17 states have internal predecessors, (53), 8 states have call successors, (14), 1 states have call predecessors, (14), 6 states have return successors, (16), 10 states have call predecessors, (16), 8 states have call successors, (16) [2022-02-20 18:15:30,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:30,622 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 18:15:30,622 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:30,623 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 18:15:30,623 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-02-20 18:15:30,623 INFO L87 Difference]: Start difference. First operand 139 states and 241 transitions. Second operand has 17 states, 16 states have (on average 3.3125) internal successors, (53), 17 states have internal predecessors, (53), 8 states have call successors, (14), 1 states have call predecessors, (14), 6 states have return successors, (16), 10 states have call predecessors, (16), 8 states have call successors, (16) [2022-02-20 18:15:31,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:31,491 INFO L93 Difference]: Finished difference Result 301 states and 580 transitions. [2022-02-20 18:15:31,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 18:15:31,491 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 3.3125) internal successors, (53), 17 states have internal predecessors, (53), 8 states have call successors, (14), 1 states have call predecessors, (14), 6 states have return successors, (16), 10 states have call predecessors, (16), 8 states have call successors, (16) Word has length 52 [2022-02-20 18:15:31,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:31,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 3.3125) internal successors, (53), 17 states have internal predecessors, (53), 8 states have call successors, (14), 1 states have call predecessors, (14), 6 states have return successors, (16), 10 states have call predecessors, (16), 8 states have call successors, (16) [2022-02-20 18:15:31,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 122 transitions. [2022-02-20 18:15:31,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 3.3125) internal successors, (53), 17 states have internal predecessors, (53), 8 states have call successors, (14), 1 states have call predecessors, (14), 6 states have return successors, (16), 10 states have call predecessors, (16), 8 states have call successors, (16) [2022-02-20 18:15:31,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 122 transitions. [2022-02-20 18:15:31,496 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 122 transitions. [2022-02-20 18:15:31,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:31,594 INFO L225 Difference]: With dead ends: 301 [2022-02-20 18:15:31,594 INFO L226 Difference]: Without dead ends: 98 [2022-02-20 18:15:31,595 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 111 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=92, Invalid=370, Unknown=0, NotChecked=0, Total=462 [2022-02-20 18:15:31,596 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 58 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 383 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 428 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 383 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:31,596 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [69 Valid, 253 Invalid, 428 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 383 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 18:15:31,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-02-20 18:15:31,632 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 80. [2022-02-20 18:15:31,632 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:31,632 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 80 states, 52 states have (on average 1.1730769230769231) internal successors, (61), 54 states have internal predecessors, (61), 16 states have call successors, (16), 6 states have call predecessors, (16), 11 states have return successors, (46), 19 states have call predecessors, (46), 16 states have call successors, (46) [2022-02-20 18:15:31,633 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 80 states, 52 states have (on average 1.1730769230769231) internal successors, (61), 54 states have internal predecessors, (61), 16 states have call successors, (16), 6 states have call predecessors, (16), 11 states have return successors, (46), 19 states have call predecessors, (46), 16 states have call successors, (46) [2022-02-20 18:15:31,634 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 80 states, 52 states have (on average 1.1730769230769231) internal successors, (61), 54 states have internal predecessors, (61), 16 states have call successors, (16), 6 states have call predecessors, (16), 11 states have return successors, (46), 19 states have call predecessors, (46), 16 states have call successors, (46) [2022-02-20 18:15:31,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:31,639 INFO L93 Difference]: Finished difference Result 98 states and 153 transitions. [2022-02-20 18:15:31,639 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 153 transitions. [2022-02-20 18:15:31,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:31,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:31,640 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 52 states have (on average 1.1730769230769231) internal successors, (61), 54 states have internal predecessors, (61), 16 states have call successors, (16), 6 states have call predecessors, (16), 11 states have return successors, (46), 19 states have call predecessors, (46), 16 states have call successors, (46) Second operand 98 states. [2022-02-20 18:15:31,640 INFO L87 Difference]: Start difference. First operand has 80 states, 52 states have (on average 1.1730769230769231) internal successors, (61), 54 states have internal predecessors, (61), 16 states have call successors, (16), 6 states have call predecessors, (16), 11 states have return successors, (46), 19 states have call predecessors, (46), 16 states have call successors, (46) Second operand 98 states. [2022-02-20 18:15:31,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:31,645 INFO L93 Difference]: Finished difference Result 98 states and 153 transitions. [2022-02-20 18:15:31,645 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 153 transitions. [2022-02-20 18:15:31,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:31,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:31,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:31,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:31,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 52 states have (on average 1.1730769230769231) internal successors, (61), 54 states have internal predecessors, (61), 16 states have call successors, (16), 6 states have call predecessors, (16), 11 states have return successors, (46), 19 states have call predecessors, (46), 16 states have call successors, (46) [2022-02-20 18:15:31,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 123 transitions. [2022-02-20 18:15:31,653 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 123 transitions. Word has length 52 [2022-02-20 18:15:31,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:31,653 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 123 transitions. [2022-02-20 18:15:31,654 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 3.3125) internal successors, (53), 17 states have internal predecessors, (53), 8 states have call successors, (14), 1 states have call predecessors, (14), 6 states have return successors, (16), 10 states have call predecessors, (16), 8 states have call successors, (16) [2022-02-20 18:15:31,654 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 123 transitions. [2022-02-20 18:15:31,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-02-20 18:15:31,656 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:31,656 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:31,686 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:31,879 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:31,879 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:31,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:31,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1087717907, now seen corresponding path program 2 times [2022-02-20 18:15:31,880 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:31,880 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [75270810] [2022-02-20 18:15:31,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:31,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:31,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:31,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:15:31,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:31,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:31,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:32,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:32,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,072 INFO L290 TraceCheckUtils]: 3: Hoare triple {5219#(<= |fibo2_#in~n| 1)} assume true; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,073 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5219#(<= |fibo2_#in~n| 1)} {5207#(= fibo1_~n |fibo1_#in~n|)} #53#return; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 18:15:32,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,080 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,081 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5040#true} {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,082 INFO L272 TraceCheckUtils]: 3: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,083 INFO L290 TraceCheckUtils]: 4: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,084 INFO L290 TraceCheckUtils]: 6: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {5219#(<= |fibo2_#in~n| 1)} assume true; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,085 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {5219#(<= |fibo2_#in~n| 1)} {5207#(= fibo1_~n |fibo1_#in~n|)} #53#return; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,086 INFO L272 TraceCheckUtils]: 10: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,086 INFO L290 TraceCheckUtils]: 12: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,087 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {5040#true} {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,088 INFO L290 TraceCheckUtils]: 16: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume true; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,089 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5218#(<= |fibo1_#in~n| 2)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} is VALID [2022-02-20 18:15:32,089 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:15:32,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,096 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,097 INFO L290 TraceCheckUtils]: 3: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,097 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5040#true} {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} #51#return; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,098 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,098 INFO L272 TraceCheckUtils]: 3: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,099 INFO L290 TraceCheckUtils]: 4: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,099 INFO L290 TraceCheckUtils]: 5: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,099 INFO L290 TraceCheckUtils]: 6: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,099 INFO L272 TraceCheckUtils]: 7: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,100 INFO L290 TraceCheckUtils]: 8: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,100 INFO L290 TraceCheckUtils]: 10: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,101 INFO L290 TraceCheckUtils]: 11: Hoare triple {5219#(<= |fibo2_#in~n| 1)} assume true; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,101 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5219#(<= |fibo2_#in~n| 1)} {5207#(= fibo1_~n |fibo1_#in~n|)} #53#return; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,102 INFO L290 TraceCheckUtils]: 13: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,102 INFO L272 TraceCheckUtils]: 14: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,102 INFO L290 TraceCheckUtils]: 15: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,102 INFO L290 TraceCheckUtils]: 16: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,103 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5040#true} {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume true; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,104 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5218#(<= |fibo1_#in~n| 2)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} is VALID [2022-02-20 18:15:32,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} is VALID [2022-02-20 18:15:32,104 INFO L272 TraceCheckUtils]: 23: Hoare triple {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,106 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5040#true} {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} #51#return; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,106 INFO L290 TraceCheckUtils]: 29: Hoare triple {5206#(<= |fibo2_#in~n| 3)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {5206#(<= |fibo2_#in~n| 3)} assume true; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,107 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5206#(<= |fibo2_#in~n| 3)} {5040#true} #53#return; {5148#(<= fibo1_~n 4)} is VALID [2022-02-20 18:15:32,107 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-02-20 18:15:32,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,145 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:32,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,194 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 18:15:32,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,199 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,199 INFO L290 TraceCheckUtils]: 3: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,200 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,200 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 18:15:32,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:32,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,208 INFO L272 TraceCheckUtils]: 3: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,209 INFO L290 TraceCheckUtils]: 4: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,209 INFO L290 TraceCheckUtils]: 6: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,210 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,210 INFO L272 TraceCheckUtils]: 10: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,210 INFO L290 TraceCheckUtils]: 12: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,211 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,212 INFO L290 TraceCheckUtils]: 15: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume true; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,213 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5256#(<= 2 |fibo1_#in~n|)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:32,213 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:15:32,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,227 INFO L290 TraceCheckUtils]: 3: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,227 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5040#true} {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,229 INFO L272 TraceCheckUtils]: 3: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,229 INFO L290 TraceCheckUtils]: 4: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:32,230 INFO L290 TraceCheckUtils]: 6: Hoare triple {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,230 INFO L272 TraceCheckUtils]: 7: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,230 INFO L290 TraceCheckUtils]: 10: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,231 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,231 INFO L272 TraceCheckUtils]: 14: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,232 INFO L290 TraceCheckUtils]: 16: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,232 INFO L290 TraceCheckUtils]: 17: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,233 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume true; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,234 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5256#(<= 2 |fibo1_#in~n|)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:32,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:32,234 INFO L272 TraceCheckUtils]: 23: Hoare triple {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,235 INFO L290 TraceCheckUtils]: 24: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,236 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5040#true} {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume true; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,237 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5244#(<= 3 |fibo2_#in~n|)} {5148#(<= fibo1_~n 4)} #55#return; {5041#false} is VALID [2022-02-20 18:15:32,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {5040#true} assume !(1 == ~n); {5040#true} is VALID [2022-02-20 18:15:32,237 INFO L272 TraceCheckUtils]: 3: Hoare triple {5040#true} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,238 INFO L290 TraceCheckUtils]: 4: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,238 INFO L290 TraceCheckUtils]: 6: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,239 INFO L272 TraceCheckUtils]: 7: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,240 INFO L290 TraceCheckUtils]: 10: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,240 INFO L272 TraceCheckUtils]: 11: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,240 INFO L290 TraceCheckUtils]: 12: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,241 INFO L290 TraceCheckUtils]: 14: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {5219#(<= |fibo2_#in~n| 1)} assume true; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,242 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5219#(<= |fibo2_#in~n| 1)} {5207#(= fibo1_~n |fibo1_#in~n|)} #53#return; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,242 INFO L272 TraceCheckUtils]: 18: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,242 INFO L290 TraceCheckUtils]: 19: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,243 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5040#true} {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,244 INFO L290 TraceCheckUtils]: 23: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,244 INFO L290 TraceCheckUtils]: 24: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume true; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,244 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5218#(<= |fibo1_#in~n| 2)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} is VALID [2022-02-20 18:15:32,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} is VALID [2022-02-20 18:15:32,245 INFO L272 TraceCheckUtils]: 27: Hoare triple {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,245 INFO L290 TraceCheckUtils]: 28: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,245 INFO L290 TraceCheckUtils]: 29: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,245 INFO L290 TraceCheckUtils]: 31: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,246 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5040#true} {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} #51#return; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,246 INFO L290 TraceCheckUtils]: 33: Hoare triple {5206#(<= |fibo2_#in~n| 3)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {5206#(<= |fibo2_#in~n| 3)} assume true; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,247 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5206#(<= |fibo2_#in~n| 3)} {5040#true} #53#return; {5148#(<= fibo1_~n 4)} is VALID [2022-02-20 18:15:32,247 INFO L290 TraceCheckUtils]: 36: Hoare triple {5148#(<= fibo1_~n 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5148#(<= fibo1_~n 4)} is VALID [2022-02-20 18:15:32,247 INFO L272 TraceCheckUtils]: 37: Hoare triple {5148#(<= fibo1_~n 4)} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,248 INFO L290 TraceCheckUtils]: 38: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,248 INFO L290 TraceCheckUtils]: 39: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,248 INFO L290 TraceCheckUtils]: 40: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,248 INFO L272 TraceCheckUtils]: 41: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,249 INFO L290 TraceCheckUtils]: 42: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,249 INFO L290 TraceCheckUtils]: 43: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:32,249 INFO L290 TraceCheckUtils]: 44: Hoare triple {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,250 INFO L272 TraceCheckUtils]: 45: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,250 INFO L290 TraceCheckUtils]: 46: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,250 INFO L290 TraceCheckUtils]: 47: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,250 INFO L290 TraceCheckUtils]: 48: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,250 INFO L290 TraceCheckUtils]: 49: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,251 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,251 INFO L290 TraceCheckUtils]: 51: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,251 INFO L272 TraceCheckUtils]: 52: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,251 INFO L290 TraceCheckUtils]: 53: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,251 INFO L290 TraceCheckUtils]: 54: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,251 INFO L290 TraceCheckUtils]: 55: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,252 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,252 INFO L290 TraceCheckUtils]: 57: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,252 INFO L290 TraceCheckUtils]: 58: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume true; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,253 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5256#(<= 2 |fibo1_#in~n|)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:32,254 INFO L290 TraceCheckUtils]: 60: Hoare triple {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:32,254 INFO L272 TraceCheckUtils]: 61: Hoare triple {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,254 INFO L290 TraceCheckUtils]: 62: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,254 INFO L290 TraceCheckUtils]: 63: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,254 INFO L290 TraceCheckUtils]: 64: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,254 INFO L290 TraceCheckUtils]: 65: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,255 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {5040#true} {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,255 INFO L290 TraceCheckUtils]: 67: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,255 INFO L290 TraceCheckUtils]: 68: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume true; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,256 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5244#(<= 3 |fibo2_#in~n|)} {5148#(<= fibo1_~n 4)} #55#return; {5041#false} is VALID [2022-02-20 18:15:32,256 INFO L290 TraceCheckUtils]: 70: Hoare triple {5041#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5041#false} is VALID [2022-02-20 18:15:32,256 INFO L290 TraceCheckUtils]: 71: Hoare triple {5041#false} assume true; {5041#false} is VALID [2022-02-20 18:15:32,256 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5041#false} {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} #47#return; {5041#false} is VALID [2022-02-20 18:15:32,256 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5040#true} is VALID [2022-02-20 18:15:32,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} is VALID [2022-02-20 18:15:32,257 INFO L272 TraceCheckUtils]: 2: Hoare triple {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {5040#true} is VALID [2022-02-20 18:15:32,257 INFO L290 TraceCheckUtils]: 3: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,257 INFO L290 TraceCheckUtils]: 4: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {5040#true} assume !(1 == ~n); {5040#true} is VALID [2022-02-20 18:15:32,257 INFO L272 TraceCheckUtils]: 6: Hoare triple {5040#true} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,257 INFO L290 TraceCheckUtils]: 7: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,258 INFO L272 TraceCheckUtils]: 10: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,259 INFO L290 TraceCheckUtils]: 12: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,259 INFO L272 TraceCheckUtils]: 14: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,260 INFO L290 TraceCheckUtils]: 16: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,260 INFO L290 TraceCheckUtils]: 17: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {5219#(<= |fibo2_#in~n| 1)} assume true; {5219#(<= |fibo2_#in~n| 1)} is VALID [2022-02-20 18:15:32,261 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5219#(<= |fibo2_#in~n| 1)} {5207#(= fibo1_~n |fibo1_#in~n|)} #53#return; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,261 INFO L290 TraceCheckUtils]: 20: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} is VALID [2022-02-20 18:15:32,262 INFO L272 TraceCheckUtils]: 21: Hoare triple {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,262 INFO L290 TraceCheckUtils]: 22: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,262 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5040#true} {5213#(and (<= fibo1_~n 2) (= fibo1_~n |fibo1_#in~n|))} #55#return; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,263 INFO L290 TraceCheckUtils]: 26: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {5218#(<= |fibo1_#in~n| 2)} assume true; {5218#(<= |fibo1_#in~n| 2)} is VALID [2022-02-20 18:15:32,264 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5218#(<= |fibo1_#in~n| 2)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} is VALID [2022-02-20 18:15:32,264 INFO L290 TraceCheckUtils]: 29: Hoare triple {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} is VALID [2022-02-20 18:15:32,264 INFO L272 TraceCheckUtils]: 30: Hoare triple {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,264 INFO L290 TraceCheckUtils]: 31: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,264 INFO L290 TraceCheckUtils]: 32: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,264 INFO L290 TraceCheckUtils]: 33: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,265 INFO L290 TraceCheckUtils]: 34: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,265 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5040#true} {5200#(and (= fibo2_~n |fibo2_#in~n|) (<= fibo2_~n 3))} #51#return; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,265 INFO L290 TraceCheckUtils]: 36: Hoare triple {5206#(<= |fibo2_#in~n| 3)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,266 INFO L290 TraceCheckUtils]: 37: Hoare triple {5206#(<= |fibo2_#in~n| 3)} assume true; {5206#(<= |fibo2_#in~n| 3)} is VALID [2022-02-20 18:15:32,266 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5206#(<= |fibo2_#in~n| 3)} {5040#true} #53#return; {5148#(<= fibo1_~n 4)} is VALID [2022-02-20 18:15:32,267 INFO L290 TraceCheckUtils]: 39: Hoare triple {5148#(<= fibo1_~n 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5148#(<= fibo1_~n 4)} is VALID [2022-02-20 18:15:32,267 INFO L272 TraceCheckUtils]: 40: Hoare triple {5148#(<= fibo1_~n 4)} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,267 INFO L290 TraceCheckUtils]: 41: Hoare triple {5040#true} ~n := #in~n; {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,267 INFO L290 TraceCheckUtils]: 42: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,267 INFO L290 TraceCheckUtils]: 43: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {5181#(= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,268 INFO L272 TraceCheckUtils]: 44: Hoare triple {5181#(= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,268 INFO L290 TraceCheckUtils]: 45: Hoare triple {5040#true} ~n := #in~n; {5207#(= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,268 INFO L290 TraceCheckUtils]: 46: Hoare triple {5207#(= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} is VALID [2022-02-20 18:15:32,269 INFO L290 TraceCheckUtils]: 47: Hoare triple {5245#(and (= fibo1_~n |fibo1_#in~n|) (< 0 fibo1_~n))} assume !(1 == ~n); {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,269 INFO L272 TraceCheckUtils]: 48: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,269 INFO L290 TraceCheckUtils]: 49: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,269 INFO L290 TraceCheckUtils]: 50: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,269 INFO L290 TraceCheckUtils]: 51: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,269 INFO L290 TraceCheckUtils]: 52: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,270 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #53#return; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,270 INFO L290 TraceCheckUtils]: 54: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} is VALID [2022-02-20 18:15:32,270 INFO L272 TraceCheckUtils]: 55: Hoare triple {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,270 INFO L290 TraceCheckUtils]: 56: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,270 INFO L290 TraceCheckUtils]: 57: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,270 INFO L290 TraceCheckUtils]: 58: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,271 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5040#true} {5246#(and (= fibo1_~n |fibo1_#in~n|) (not (<= fibo1_~n 1)))} #55#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,271 INFO L290 TraceCheckUtils]: 60: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,272 INFO L290 TraceCheckUtils]: 61: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume true; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,272 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5256#(<= 2 |fibo1_#in~n|)} {5181#(= fibo2_~n |fibo2_#in~n|)} #49#return; {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:32,273 INFO L290 TraceCheckUtils]: 63: Hoare triple {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} is VALID [2022-02-20 18:15:32,273 INFO L272 TraceCheckUtils]: 64: Hoare triple {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,273 INFO L290 TraceCheckUtils]: 65: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,273 INFO L290 TraceCheckUtils]: 66: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,273 INFO L290 TraceCheckUtils]: 67: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,273 INFO L290 TraceCheckUtils]: 68: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,274 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5040#true} {5238#(and (<= 3 fibo2_~n) (= fibo2_~n |fibo2_#in~n|))} #51#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,274 INFO L290 TraceCheckUtils]: 70: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,274 INFO L290 TraceCheckUtils]: 71: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume true; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,275 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5244#(<= 3 |fibo2_#in~n|)} {5148#(<= fibo1_~n 4)} #55#return; {5041#false} is VALID [2022-02-20 18:15:32,275 INFO L290 TraceCheckUtils]: 73: Hoare triple {5041#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5041#false} is VALID [2022-02-20 18:15:32,275 INFO L290 TraceCheckUtils]: 74: Hoare triple {5041#false} assume true; {5041#false} is VALID [2022-02-20 18:15:32,275 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5041#false} {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} #47#return; {5041#false} is VALID [2022-02-20 18:15:32,275 INFO L290 TraceCheckUtils]: 76: Hoare triple {5041#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {5041#false} is VALID [2022-02-20 18:15:32,276 INFO L290 TraceCheckUtils]: 77: Hoare triple {5041#false} assume 3 == main_~result~0#1; {5041#false} is VALID [2022-02-20 18:15:32,276 INFO L290 TraceCheckUtils]: 78: Hoare triple {5041#false} assume !false; {5041#false} is VALID [2022-02-20 18:15:32,277 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 31 proven. 51 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-02-20 18:15:32,277 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:15:32,277 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [75270810] [2022-02-20 18:15:32,277 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [75270810] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:15:32,277 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [655315893] [2022-02-20 18:15:32,277 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 18:15:32,277 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:32,278 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:32,279 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:15:32,311 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 18:15:32,337 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 18:15:32,337 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:15:32,338 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 18:15:32,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:32,383 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:32,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5040#true} is VALID [2022-02-20 18:15:32,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} is VALID [2022-02-20 18:15:32,663 INFO L272 TraceCheckUtils]: 2: Hoare triple {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {5040#true} is VALID [2022-02-20 18:15:32,663 INFO L290 TraceCheckUtils]: 3: Hoare triple {5040#true} ~n := #in~n; {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,663 INFO L290 TraceCheckUtils]: 4: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {5040#true} assume !(1 == ~n); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L272 TraceCheckUtils]: 10: Hoare triple {5040#true} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {5040#true} assume !(1 == ~n); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L272 TraceCheckUtils]: 14: Hoare triple {5040#true} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 16: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 17: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5040#true} {5040#true} #53#return; {5040#true} is VALID [2022-02-20 18:15:32,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {5040#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L272 TraceCheckUtils]: 21: Hoare triple {5040#true} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 22: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 23: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 24: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5040#true} {5040#true} #55#return; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 26: Hoare triple {5040#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 27: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5040#true} {5040#true} #49#return; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 29: Hoare triple {5040#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L272 TraceCheckUtils]: 30: Hoare triple {5040#true} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 32: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 33: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5040#true} {5040#true} #51#return; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {5040#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5040#true} is VALID [2022-02-20 18:15:32,665 INFO L290 TraceCheckUtils]: 37: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,666 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5040#true} {5269#(<= fibo1_~n |fibo1_#in~n|)} #53#return; {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,666 INFO L272 TraceCheckUtils]: 40: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,666 INFO L290 TraceCheckUtils]: 41: Hoare triple {5040#true} ~n := #in~n; {5384#(<= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,667 INFO L290 TraceCheckUtils]: 42: Hoare triple {5384#(<= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5384#(<= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,667 INFO L290 TraceCheckUtils]: 43: Hoare triple {5384#(<= fibo2_~n |fibo2_#in~n|)} assume !(1 == ~n); {5384#(<= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,667 INFO L272 TraceCheckUtils]: 44: Hoare triple {5384#(<= fibo2_~n |fibo2_#in~n|)} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,667 INFO L290 TraceCheckUtils]: 45: Hoare triple {5040#true} ~n := #in~n; {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,668 INFO L290 TraceCheckUtils]: 46: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} assume !(~n < 1); {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,668 INFO L290 TraceCheckUtils]: 47: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} assume !(1 == ~n); {5269#(<= fibo1_~n |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,668 INFO L272 TraceCheckUtils]: 48: Hoare triple {5269#(<= fibo1_~n |fibo1_#in~n|)} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:32,668 INFO L290 TraceCheckUtils]: 49: Hoare triple {5040#true} ~n := #in~n; {5384#(<= fibo2_~n |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,668 INFO L290 TraceCheckUtils]: 50: Hoare triple {5384#(<= fibo2_~n |fibo2_#in~n|)} assume !(~n < 1); {5412#(<= 1 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,669 INFO L290 TraceCheckUtils]: 51: Hoare triple {5412#(<= 1 |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {5412#(<= 1 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,669 INFO L290 TraceCheckUtils]: 52: Hoare triple {5412#(<= 1 |fibo2_#in~n|)} assume true; {5412#(<= 1 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,670 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5412#(<= 1 |fibo2_#in~n|)} {5269#(<= fibo1_~n |fibo1_#in~n|)} #53#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,670 INFO L290 TraceCheckUtils]: 54: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,670 INFO L272 TraceCheckUtils]: 55: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,670 INFO L290 TraceCheckUtils]: 56: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,670 INFO L290 TraceCheckUtils]: 57: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:32,679 INFO L290 TraceCheckUtils]: 58: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,688 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5040#true} {5256#(<= 2 |fibo1_#in~n|)} #55#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,688 INFO L290 TraceCheckUtils]: 60: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,688 INFO L290 TraceCheckUtils]: 61: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume true; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,689 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5256#(<= 2 |fibo1_#in~n|)} {5384#(<= fibo2_~n |fibo2_#in~n|)} #49#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,689 INFO L290 TraceCheckUtils]: 63: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,690 INFO L272 TraceCheckUtils]: 64: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:32,690 INFO L290 TraceCheckUtils]: 65: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:32,690 INFO L290 TraceCheckUtils]: 66: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:32,690 INFO L290 TraceCheckUtils]: 67: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:32,690 INFO L290 TraceCheckUtils]: 68: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:32,691 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5040#true} {5244#(<= 3 |fibo2_#in~n|)} #51#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,691 INFO L290 TraceCheckUtils]: 70: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,692 INFO L290 TraceCheckUtils]: 71: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume true; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:32,693 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5244#(<= 3 |fibo2_#in~n|)} {5269#(<= fibo1_~n |fibo1_#in~n|)} #55#return; {5479#(<= 5 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,693 INFO L290 TraceCheckUtils]: 73: Hoare triple {5479#(<= 5 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5479#(<= 5 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,694 INFO L290 TraceCheckUtils]: 74: Hoare triple {5479#(<= 5 |fibo1_#in~n|)} assume true; {5479#(<= 5 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:32,694 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5479#(<= 5 |fibo1_#in~n|)} {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} #47#return; {5041#false} is VALID [2022-02-20 18:15:32,694 INFO L290 TraceCheckUtils]: 76: Hoare triple {5041#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {5041#false} is VALID [2022-02-20 18:15:32,694 INFO L290 TraceCheckUtils]: 77: Hoare triple {5041#false} assume 3 == main_~result~0#1; {5041#false} is VALID [2022-02-20 18:15:32,694 INFO L290 TraceCheckUtils]: 78: Hoare triple {5041#false} assume !false; {5041#false} is VALID [2022-02-20 18:15:32,695 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 54 proven. 18 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 18:15:32,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:34,243 INFO L290 TraceCheckUtils]: 78: Hoare triple {5041#false} assume !false; {5041#false} is VALID [2022-02-20 18:15:34,244 INFO L290 TraceCheckUtils]: 77: Hoare triple {5041#false} assume 3 == main_~result~0#1; {5041#false} is VALID [2022-02-20 18:15:34,244 INFO L290 TraceCheckUtils]: 76: Hoare triple {5041#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {5041#false} is VALID [2022-02-20 18:15:34,244 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5479#(<= 5 |fibo1_#in~n|)} {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} #47#return; {5041#false} is VALID [2022-02-20 18:15:34,245 INFO L290 TraceCheckUtils]: 74: Hoare triple {5479#(<= 5 |fibo1_#in~n|)} assume true; {5479#(<= 5 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,245 INFO L290 TraceCheckUtils]: 73: Hoare triple {5479#(<= 5 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5479#(<= 5 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,245 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5244#(<= 3 |fibo2_#in~n|)} {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} #55#return; {5479#(<= 5 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,246 INFO L290 TraceCheckUtils]: 71: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume true; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,246 INFO L290 TraceCheckUtils]: 70: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,246 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5040#true} {5244#(<= 3 |fibo2_#in~n|)} #51#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,246 INFO L290 TraceCheckUtils]: 68: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:34,247 INFO L290 TraceCheckUtils]: 67: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:34,247 INFO L290 TraceCheckUtils]: 66: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:34,247 INFO L290 TraceCheckUtils]: 65: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:34,247 INFO L272 TraceCheckUtils]: 64: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:34,247 INFO L290 TraceCheckUtils]: 63: Hoare triple {5244#(<= 3 |fibo2_#in~n|)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,248 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5256#(<= 2 |fibo1_#in~n|)} {5553#(or (<= 3 |fibo2_#in~n|) (< fibo2_~n 3))} #49#return; {5244#(<= 3 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,263 INFO L290 TraceCheckUtils]: 61: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume true; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,263 INFO L290 TraceCheckUtils]: 60: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,264 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5040#true} {5256#(<= 2 |fibo1_#in~n|)} #55#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,264 INFO L290 TraceCheckUtils]: 58: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:34,264 INFO L290 TraceCheckUtils]: 57: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:34,264 INFO L290 TraceCheckUtils]: 56: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:34,264 INFO L272 TraceCheckUtils]: 55: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:34,264 INFO L290 TraceCheckUtils]: 54: Hoare triple {5256#(<= 2 |fibo1_#in~n|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,265 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5412#(<= 1 |fibo2_#in~n|)} {5584#(or (<= 2 |fibo1_#in~n|) (< fibo1_~n 2))} #53#return; {5256#(<= 2 |fibo1_#in~n|)} is VALID [2022-02-20 18:15:34,265 INFO L290 TraceCheckUtils]: 52: Hoare triple {5412#(<= 1 |fibo2_#in~n|)} assume true; {5412#(<= 1 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,266 INFO L290 TraceCheckUtils]: 51: Hoare triple {5412#(<= 1 |fibo2_#in~n|)} assume 1 == ~n;#res := 1; {5412#(<= 1 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,266 INFO L290 TraceCheckUtils]: 50: Hoare triple {5597#(or (<= 1 |fibo2_#in~n|) (< fibo2_~n 1))} assume !(~n < 1); {5412#(<= 1 |fibo2_#in~n|)} is VALID [2022-02-20 18:15:34,266 INFO L290 TraceCheckUtils]: 49: Hoare triple {5040#true} ~n := #in~n; {5597#(or (<= 1 |fibo2_#in~n|) (< fibo2_~n 1))} is VALID [2022-02-20 18:15:34,267 INFO L272 TraceCheckUtils]: 48: Hoare triple {5584#(or (<= 2 |fibo1_#in~n|) (< fibo1_~n 2))} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:34,267 INFO L290 TraceCheckUtils]: 47: Hoare triple {5584#(or (<= 2 |fibo1_#in~n|) (< fibo1_~n 2))} assume !(1 == ~n); {5584#(or (<= 2 |fibo1_#in~n|) (< fibo1_~n 2))} is VALID [2022-02-20 18:15:34,267 INFO L290 TraceCheckUtils]: 46: Hoare triple {5584#(or (<= 2 |fibo1_#in~n|) (< fibo1_~n 2))} assume !(~n < 1); {5584#(or (<= 2 |fibo1_#in~n|) (< fibo1_~n 2))} is VALID [2022-02-20 18:15:34,268 INFO L290 TraceCheckUtils]: 45: Hoare triple {5040#true} ~n := #in~n; {5584#(or (<= 2 |fibo1_#in~n|) (< fibo1_~n 2))} is VALID [2022-02-20 18:15:34,268 INFO L272 TraceCheckUtils]: 44: Hoare triple {5553#(or (<= 3 |fibo2_#in~n|) (< fibo2_~n 3))} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:34,268 INFO L290 TraceCheckUtils]: 43: Hoare triple {5553#(or (<= 3 |fibo2_#in~n|) (< fibo2_~n 3))} assume !(1 == ~n); {5553#(or (<= 3 |fibo2_#in~n|) (< fibo2_~n 3))} is VALID [2022-02-20 18:15:34,268 INFO L290 TraceCheckUtils]: 42: Hoare triple {5553#(or (<= 3 |fibo2_#in~n|) (< fibo2_~n 3))} assume !(~n < 1); {5553#(or (<= 3 |fibo2_#in~n|) (< fibo2_~n 3))} is VALID [2022-02-20 18:15:34,269 INFO L290 TraceCheckUtils]: 41: Hoare triple {5040#true} ~n := #in~n; {5553#(or (<= 3 |fibo2_#in~n|) (< fibo2_~n 3))} is VALID [2022-02-20 18:15:34,269 INFO L272 TraceCheckUtils]: 40: Hoare triple {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:34,269 INFO L290 TraceCheckUtils]: 39: Hoare triple {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} is VALID [2022-02-20 18:15:34,270 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5040#true} {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} #53#return; {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} is VALID [2022-02-20 18:15:34,270 INFO L290 TraceCheckUtils]: 37: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:34,270 INFO L290 TraceCheckUtils]: 36: Hoare triple {5040#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;#res := #t~ret6 + #t~ret7;havoc #t~ret6;havoc #t~ret7; {5040#true} is VALID [2022-02-20 18:15:34,270 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5040#true} {5040#true} #51#return; {5040#true} is VALID [2022-02-20 18:15:34,270 INFO L290 TraceCheckUtils]: 34: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:34,270 INFO L290 TraceCheckUtils]: 33: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:34,270 INFO L290 TraceCheckUtils]: 32: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:34,270 INFO L290 TraceCheckUtils]: 31: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L272 TraceCheckUtils]: 30: Hoare triple {5040#true} call #t~ret7 := fibo1(~n - 2); {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {5040#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5040#true} {5040#true} #49#return; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L290 TraceCheckUtils]: 26: Hoare triple {5040#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;#res := #t~ret4 + #t~ret5;havoc #t~ret4;havoc #t~ret5; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5040#true} {5040#true} #55#return; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L290 TraceCheckUtils]: 24: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L290 TraceCheckUtils]: 23: Hoare triple {5040#true} assume ~n < 1;#res := 0; {5040#true} is VALID [2022-02-20 18:15:34,271 INFO L290 TraceCheckUtils]: 22: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L272 TraceCheckUtils]: 21: Hoare triple {5040#true} call #t~ret5 := fibo2(~n - 2); {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {5040#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5040#true} {5040#true} #53#return; {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L290 TraceCheckUtils]: 18: Hoare triple {5040#true} assume true; {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {5040#true} assume 1 == ~n;#res := 1; {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L290 TraceCheckUtils]: 15: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L272 TraceCheckUtils]: 14: Hoare triple {5040#true} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {5040#true} assume !(1 == ~n); {5040#true} is VALID [2022-02-20 18:15:34,272 INFO L290 TraceCheckUtils]: 12: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:34,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:34,273 INFO L272 TraceCheckUtils]: 10: Hoare triple {5040#true} call #t~ret6 := fibo1(~n - 1); {5040#true} is VALID [2022-02-20 18:15:34,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {5040#true} assume !(1 == ~n); {5040#true} is VALID [2022-02-20 18:15:34,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {5040#true} assume !(~n < 1); {5040#true} is VALID [2022-02-20 18:15:34,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {5040#true} ~n := #in~n; {5040#true} is VALID [2022-02-20 18:15:34,273 INFO L272 TraceCheckUtils]: 6: Hoare triple {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} call #t~ret4 := fibo2(~n - 1); {5040#true} is VALID [2022-02-20 18:15:34,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} assume !(1 == ~n); {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} is VALID [2022-02-20 18:15:34,274 INFO L290 TraceCheckUtils]: 4: Hoare triple {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} assume !(~n < 1); {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} is VALID [2022-02-20 18:15:34,274 INFO L290 TraceCheckUtils]: 3: Hoare triple {5040#true} ~n := #in~n; {5519#(or (<= 5 |fibo1_#in~n|) (< fibo1_~n 5))} is VALID [2022-02-20 18:15:34,274 INFO L272 TraceCheckUtils]: 2: Hoare triple {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {5040#true} is VALID [2022-02-20 18:15:34,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {5040#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4; {5042#(<= |ULTIMATE.start_main_~x~0#1| 4)} is VALID [2022-02-20 18:15:34,275 INFO L290 TraceCheckUtils]: 0: Hoare triple {5040#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5040#true} is VALID [2022-02-20 18:15:34,275 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 54 proven. 22 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-02-20 18:15:34,275 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [655315893] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:34,275 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:15:34,275 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9, 11] total 24 [2022-02-20 18:15:34,275 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507619583] [2022-02-20 18:15:34,276 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:34,276 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 23 states have (on average 3.0869565217391304) internal successors, (71), 24 states have internal predecessors, (71), 16 states have call successors, (22), 1 states have call predecessors, (22), 9 states have return successors, (26), 14 states have call predecessors, (26), 16 states have call successors, (26) Word has length 79 [2022-02-20 18:15:34,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:34,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 24 states, 23 states have (on average 3.0869565217391304) internal successors, (71), 24 states have internal predecessors, (71), 16 states have call successors, (22), 1 states have call predecessors, (22), 9 states have return successors, (26), 14 states have call predecessors, (26), 16 states have call successors, (26) [2022-02-20 18:15:34,367 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:34,367 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-02-20 18:15:34,367 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:15:34,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-02-20 18:15:34,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-02-20 18:15:34,368 INFO L87 Difference]: Start difference. First operand 80 states and 123 transitions. Second operand has 24 states, 23 states have (on average 3.0869565217391304) internal successors, (71), 24 states have internal predecessors, (71), 16 states have call successors, (22), 1 states have call predecessors, (22), 9 states have return successors, (26), 14 states have call predecessors, (26), 16 states have call successors, (26) [2022-02-20 18:15:35,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:35,444 INFO L93 Difference]: Finished difference Result 179 states and 304 transitions. [2022-02-20 18:15:35,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-02-20 18:15:35,445 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 23 states have (on average 3.0869565217391304) internal successors, (71), 24 states have internal predecessors, (71), 16 states have call successors, (22), 1 states have call predecessors, (22), 9 states have return successors, (26), 14 states have call predecessors, (26), 16 states have call successors, (26) Word has length 79 [2022-02-20 18:15:35,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:35,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 23 states have (on average 3.0869565217391304) internal successors, (71), 24 states have internal predecessors, (71), 16 states have call successors, (22), 1 states have call predecessors, (22), 9 states have return successors, (26), 14 states have call predecessors, (26), 16 states have call successors, (26) [2022-02-20 18:15:35,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 141 transitions. [2022-02-20 18:15:35,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 23 states have (on average 3.0869565217391304) internal successors, (71), 24 states have internal predecessors, (71), 16 states have call successors, (22), 1 states have call predecessors, (22), 9 states have return successors, (26), 14 states have call predecessors, (26), 16 states have call successors, (26) [2022-02-20 18:15:35,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 141 transitions. [2022-02-20 18:15:35,451 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 141 transitions. [2022-02-20 18:15:35,556 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:35,560 INFO L225 Difference]: With dead ends: 179 [2022-02-20 18:15:35,560 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 18:15:35,561 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 169 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 244 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=196, Invalid=926, Unknown=0, NotChecked=0, Total=1122 [2022-02-20 18:15:35,562 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 70 mSDsluCounter, 271 mSDsCounter, 0 mSdLazyCounter, 471 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 300 SdHoareTripleChecker+Invalid, 542 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 471 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:35,562 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 300 Invalid, 542 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 471 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 18:15:35,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 18:15:35,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 80. [2022-02-20 18:15:35,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:35,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 80 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 54 states have internal predecessors, (63), 14 states have call successors, (14), 8 states have call predecessors, (14), 11 states have return successors, (29), 17 states have call predecessors, (29), 14 states have call successors, (29) [2022-02-20 18:15:35,593 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 80 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 54 states have internal predecessors, (63), 14 states have call successors, (14), 8 states have call predecessors, (14), 11 states have return successors, (29), 17 states have call predecessors, (29), 14 states have call successors, (29) [2022-02-20 18:15:35,593 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 80 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 54 states have internal predecessors, (63), 14 states have call successors, (14), 8 states have call predecessors, (14), 11 states have return successors, (29), 17 states have call predecessors, (29), 14 states have call successors, (29) [2022-02-20 18:15:35,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:35,597 INFO L93 Difference]: Finished difference Result 89 states and 119 transitions. [2022-02-20 18:15:35,597 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 119 transitions. [2022-02-20 18:15:35,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:35,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:35,597 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 54 states have internal predecessors, (63), 14 states have call successors, (14), 8 states have call predecessors, (14), 11 states have return successors, (29), 17 states have call predecessors, (29), 14 states have call successors, (29) Second operand 89 states. [2022-02-20 18:15:35,598 INFO L87 Difference]: Start difference. First operand has 80 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 54 states have internal predecessors, (63), 14 states have call successors, (14), 8 states have call predecessors, (14), 11 states have return successors, (29), 17 states have call predecessors, (29), 14 states have call successors, (29) Second operand 89 states. [2022-02-20 18:15:35,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:35,600 INFO L93 Difference]: Finished difference Result 89 states and 119 transitions. [2022-02-20 18:15:35,600 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 119 transitions. [2022-02-20 18:15:35,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:35,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:35,601 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:35,601 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:35,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 54 states have internal predecessors, (63), 14 states have call successors, (14), 8 states have call predecessors, (14), 11 states have return successors, (29), 17 states have call predecessors, (29), 14 states have call successors, (29) [2022-02-20 18:15:35,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 106 transitions. [2022-02-20 18:15:35,617 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 106 transitions. Word has length 79 [2022-02-20 18:15:35,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:35,617 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 106 transitions. [2022-02-20 18:15:35,617 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 23 states have (on average 3.0869565217391304) internal successors, (71), 24 states have internal predecessors, (71), 16 states have call successors, (22), 1 states have call predecessors, (22), 9 states have return successors, (26), 14 states have call predecessors, (26), 16 states have call successors, (26) [2022-02-20 18:15:35,617 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 106 transitions. [2022-02-20 18:15:35,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 18:15:35,618 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:35,618 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:35,641 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:35,835 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:15:35,836 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:35,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:35,837 INFO L85 PathProgramCache]: Analyzing trace with hash 780870354, now seen corresponding path program 1 times [2022-02-20 18:15:35,837 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:15:35,837 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [853107423] [2022-02-20 18:15:35,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:35,837 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:15:35,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 18:15:35,858 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 18:15:35,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 18:15:35,883 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 18:15:35,883 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 18:15:35,884 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 18:15:35,886 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 18:15:35,889 INFO L732 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:35,892 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 18:15:35,909 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret8 := fibo1(~x~0); [2022-02-20 18:15:35,910 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:230) 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:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) 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:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 18:15:35,919 INFO L158 Benchmark]: Toolchain (without parser) took 18928.85ms. Allocated memory was 94.4MB in the beginning and 220.2MB in the end (delta: 125.8MB). Free memory was 62.2MB in the beginning and 183.3MB in the end (delta: -121.1MB). Peak memory consumption was 4.3MB. Max. memory is 16.1GB. [2022-02-20 18:15:35,919 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 94.4MB. Free memory is still 49.2MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:15:35,920 INFO L158 Benchmark]: CACSL2BoogieTranslator took 185.12ms. Allocated memory is still 94.4MB. Free memory was 62.0MB in the beginning and 71.0MB in the end (delta: -9.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 18:15:35,920 INFO L158 Benchmark]: Boogie Procedure Inliner took 30.55ms. Allocated memory is still 94.4MB. Free memory was 71.0MB in the beginning and 69.4MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 18:15:35,920 INFO L158 Benchmark]: Boogie Preprocessor took 29.96ms. Allocated memory is still 94.4MB. Free memory was 69.4MB in the beginning and 68.5MB in the end (delta: 839.8kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:15:35,920 INFO L158 Benchmark]: RCFGBuilder took 226.28ms. Allocated memory is still 94.4MB. Free memory was 68.5MB in the beginning and 58.5MB in the end (delta: 10.0MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 18:15:35,927 INFO L158 Benchmark]: TraceAbstraction took 18449.60ms. Allocated memory was 94.4MB in the beginning and 220.2MB in the end (delta: 125.8MB). Free memory was 58.0MB in the beginning and 183.3MB in the end (delta: -125.4MB). Peak memory consumption was 3.2MB. Max. memory is 16.1GB. [2022-02-20 18:15:35,928 INFO L339 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.15ms. Allocated memory is still 94.4MB. Free memory is still 49.2MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 185.12ms. Allocated memory is still 94.4MB. Free memory was 62.0MB in the beginning and 71.0MB in the end (delta: -9.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 30.55ms. Allocated memory is still 94.4MB. Free memory was 71.0MB in the beginning and 69.4MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 29.96ms. Allocated memory is still 94.4MB. Free memory was 69.4MB in the beginning and 68.5MB in the end (delta: 839.8kB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 226.28ms. Allocated memory is still 94.4MB. Free memory was 68.5MB in the beginning and 58.5MB in the end (delta: 10.0MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * TraceAbstraction took 18449.60ms. Allocated memory was 94.4MB in the beginning and 220.2MB in the end (delta: 125.8MB). Free memory was 58.0MB in the beginning and 183.3MB in the end (delta: -125.4MB). Peak memory consumption was 3.2MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - 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:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 18:15:35,959 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 22d9a6832a4080412e38f5d573b63985f3b10b3c2009b6559595c7c0bbda414f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:15:37,777 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:15:37,779 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:15:37,816 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:15:37,817 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:15:37,820 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:15:37,821 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:15:37,825 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:15:37,828 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:15:37,831 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:15:37,832 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:15:37,833 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:15:37,833 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:15:37,836 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:15:37,837 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:15:37,841 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:15:37,842 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:15:37,842 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:15:37,844 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:15:37,848 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:15:37,850 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:15:37,850 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:15:37,852 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:15:37,852 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:15:37,858 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:15:37,858 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:15:37,858 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:15:37,860 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:15:37,860 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:15:37,861 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:15:37,861 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:15:37,861 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:15:37,863 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:15:37,863 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:15:37,865 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:15:37,865 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:15:37,865 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:15:37,866 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:15:37,866 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:15:37,867 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:15:37,868 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:15:37,868 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2022-02-20 18:15:37,900 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:15:37,901 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:15:37,902 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:15:37,902 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:15:37,903 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:15:37,903 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:15:37,904 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:15:37,904 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:15:37,905 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:15:37,905 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:15:37,905 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:15:37,906 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:15:37,906 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:15:37,906 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:15:37,906 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:15:37,906 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:15:37,906 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 18:15:37,907 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 18:15:37,907 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 18:15:37,907 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:15:37,907 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:15:37,907 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:15:37,907 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:15:37,908 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:15:37,908 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:15:37,908 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:15:37,908 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:15:37,908 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:15:37,908 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:15:37,909 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:15:37,909 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 18:15:37,909 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 18:15:37,909 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:15:37,909 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:15:37,910 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:15:37,910 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 18:15:37,910 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 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(reach_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 -> 22d9a6832a4080412e38f5d573b63985f3b10b3c2009b6559595c7c0bbda414f [2022-02-20 18:15:38,205 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:15:38,235 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:15:38,238 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:15:38,238 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:15:38,239 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:15:38,240 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2022-02-20 18:15:38,295 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe670fe24/994482d41d52454cbd7738cd6f076c71/FLAGac8476065 [2022-02-20 18:15:38,655 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:15:38,656 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c [2022-02-20 18:15:38,661 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe670fe24/994482d41d52454cbd7738cd6f076c71/FLAGac8476065 [2022-02-20 18:15:39,078 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe670fe24/994482d41d52454cbd7738cd6f076c71 [2022-02-20 18:15:39,080 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:15:39,081 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:15:39,089 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:15:39,089 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:15:39,091 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:15:39,092 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,093 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@59538265 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39, skipping insertion in model container [2022-02-20 18:15:39,094 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,100 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:15:39,109 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:15:39,255 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c[946,959] [2022-02-20 18:15:39,259 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:15:39,285 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:15:39,329 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/fibo_2calls_4-2.c[946,959] [2022-02-20 18:15:39,329 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:15:39,339 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:15:39,339 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39 WrapperNode [2022-02-20 18:15:39,340 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:15:39,341 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:15:39,341 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:15:39,341 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:15:39,346 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,351 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,378 INFO L137 Inliner]: procedures = 14, calls = 12, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 20 [2022-02-20 18:15:39,378 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:15:39,379 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:15:39,379 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:15:39,379 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:15:39,385 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,385 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,386 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,387 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,390 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,392 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,393 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,394 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:15:39,395 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:15:39,395 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:15:39,395 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:15:39,395 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (1/1) ... [2022-02-20 18:15:39,400 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:15:39,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:15:39,418 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 18:15:39,424 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 18:15:39,448 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:15:39,448 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 18:15:39,448 INFO L130 BoogieDeclarations]: Found specification of procedure fibo2 [2022-02-20 18:15:39,448 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo2 [2022-02-20 18:15:39,449 INFO L130 BoogieDeclarations]: Found specification of procedure fibo1 [2022-02-20 18:15:39,450 INFO L138 BoogieDeclarations]: Found implementation of procedure fibo1 [2022-02-20 18:15:39,450 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:15:39,450 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:15:39,504 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:15:39,506 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:15:39,662 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:15:39,667 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:15:39,668 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 18:15:39,672 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:15:39 BoogieIcfgContainer [2022-02-20 18:15:39,675 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:15:39,678 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:15:39,678 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:15:39,691 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:15:39,692 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:15:39" (1/3) ... [2022-02-20 18:15:39,692 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27bdfba4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:15:39, skipping insertion in model container [2022-02-20 18:15:39,692 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:15:39" (2/3) ... [2022-02-20 18:15:39,692 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27bdfba4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:15:39, skipping insertion in model container [2022-02-20 18:15:39,693 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:15:39" (3/3) ... [2022-02-20 18:15:39,694 INFO L111 eAbstractionObserver]: Analyzing ICFG fibo_2calls_4-2.c [2022-02-20 18:15:39,697 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:15:39,697 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:15:39,748 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:15:39,754 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 18:15:39,754 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:15:39,778 INFO L276 IsEmpty]: Start isEmpty. Operand has 27 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:39,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 18:15:39,786 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:39,787 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:39,787 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:39,791 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:39,792 INFO L85 PathProgramCache]: Analyzing trace with hash 1014607960, now seen corresponding path program 1 times [2022-02-20 18:15:39,802 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:39,802 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1341579693] [2022-02-20 18:15:39,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:39,804 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:39,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:39,806 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:39,808 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 18:15:39,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:39,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 18:15:39,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:39,891 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:40,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {30#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {30#true} is VALID [2022-02-20 18:15:40,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {30#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {38#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:40,024 INFO L272 TraceCheckUtils]: 2: Hoare triple {38#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {30#true} is VALID [2022-02-20 18:15:40,025 INFO L290 TraceCheckUtils]: 3: Hoare triple {30#true} ~n := #in~n; {45#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:40,026 INFO L290 TraceCheckUtils]: 4: Hoare triple {45#(= |fibo1_#in~n| fibo1_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {49#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:40,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {49#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {49#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:40,028 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {49#(bvslt |fibo1_#in~n| (_ bv1 32))} {38#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {31#false} is VALID [2022-02-20 18:15:40,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {31#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {31#false} is VALID [2022-02-20 18:15:40,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {31#false} assume 3bv32 == main_~result~0#1; {31#false} is VALID [2022-02-20 18:15:40,029 INFO L290 TraceCheckUtils]: 9: Hoare triple {31#false} assume !false; {31#false} is VALID [2022-02-20 18:15:40,030 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:15:40,030 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:15:40,031 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:40,031 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1341579693] [2022-02-20 18:15:40,032 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1341579693] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:15:40,032 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:15:40,032 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:15:40,033 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641779947] [2022-02-20 18:15:40,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:15:40,037 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2022-02-20 18:15:40,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:40,042 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:40,055 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:15:40,056 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:40,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:15:40,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:15:40,079 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:40,321 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-02-20 18:15:40,321 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:15:40,322 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2022-02-20 18:15:40,322 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:40,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-02-20 18:15:40,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-02-20 18:15:40,337 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-02-20 18:15:40,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:40,414 INFO L225 Difference]: With dead ends: 37 [2022-02-20 18:15:40,415 INFO L226 Difference]: Without dead ends: 25 [2022-02-20 18:15:40,417 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 18:15:40,419 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 14 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:40,419 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 82 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:15:40,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-02-20 18:15:40,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2022-02-20 18:15:40,439 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:40,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:40,440 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:40,440 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:40,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:40,444 INFO L93 Difference]: Finished difference Result 25 states and 32 transitions. [2022-02-20 18:15:40,445 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 32 transitions. [2022-02-20 18:15:40,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:40,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:40,446 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 25 states. [2022-02-20 18:15:40,446 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 25 states. [2022-02-20 18:15:40,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:40,450 INFO L93 Difference]: Finished difference Result 25 states and 32 transitions. [2022-02-20 18:15:40,450 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 32 transitions. [2022-02-20 18:15:40,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:40,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:40,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:40,451 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:40,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:40,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 32 transitions. [2022-02-20 18:15:40,459 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 32 transitions. Word has length 10 [2022-02-20 18:15:40,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:40,460 INFO L470 AbstractCegarLoop]: Abstraction has 25 states and 32 transitions. [2022-02-20 18:15:40,460 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,460 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 32 transitions. [2022-02-20 18:15:40,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 18:15:40,461 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:40,461 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:40,470 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:40,663 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:40,665 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:40,665 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:40,665 INFO L85 PathProgramCache]: Analyzing trace with hash 2131805067, now seen corresponding path program 1 times [2022-02-20 18:15:40,666 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:40,666 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [822797193] [2022-02-20 18:15:40,666 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:40,666 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:40,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:40,668 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:40,669 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 18:15:40,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:40,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 18:15:40,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:40,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:40,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {194#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {194#true} is VALID [2022-02-20 18:15:40,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {194#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {202#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:40,754 INFO L272 TraceCheckUtils]: 2: Hoare triple {202#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {194#true} is VALID [2022-02-20 18:15:40,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {194#true} ~n := #in~n; {209#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:40,755 INFO L290 TraceCheckUtils]: 4: Hoare triple {209#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {209#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:40,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {209#(= |fibo1_#in~n| fibo1_~n)} assume 1bv32 == ~n;#res := 1bv32; {216#(= |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:40,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {216#(= |fibo1_#in~n| (_ bv1 32))} assume true; {216#(= |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:40,756 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {216#(= |fibo1_#in~n| (_ bv1 32))} {202#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {195#false} is VALID [2022-02-20 18:15:40,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {195#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {195#false} is VALID [2022-02-20 18:15:40,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {195#false} assume 3bv32 == main_~result~0#1; {195#false} is VALID [2022-02-20 18:15:40,757 INFO L290 TraceCheckUtils]: 10: Hoare triple {195#false} assume !false; {195#false} is VALID [2022-02-20 18:15:40,758 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:15:40,758 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:15:40,758 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:40,758 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [822797193] [2022-02-20 18:15:40,759 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [822797193] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:15:40,759 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:15:40,759 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:15:40,760 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1340349644] [2022-02-20 18:15:40,762 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:15:40,763 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 18:15:40,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:40,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,777 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:40,778 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:15:40,779 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:40,779 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:15:40,779 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:15:40,780 INFO L87 Difference]: Start difference. First operand 25 states and 32 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:40,950 INFO L93 Difference]: Finished difference Result 31 states and 39 transitions. [2022-02-20 18:15:40,950 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:15:40,950 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 18:15:40,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:40,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 36 transitions. [2022-02-20 18:15:40,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:40,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 36 transitions. [2022-02-20 18:15:40,955 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 36 transitions. [2022-02-20 18:15:41,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:41,008 INFO L225 Difference]: With dead ends: 31 [2022-02-20 18:15:41,009 INFO L226 Difference]: Without dead ends: 27 [2022-02-20 18:15:41,009 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 18:15:41,011 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 8 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:41,012 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 72 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:15:41,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-02-20 18:15:41,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 25. [2022-02-20 18:15:41,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:41,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:41,017 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:41,017 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:41,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:41,021 INFO L93 Difference]: Finished difference Result 27 states and 35 transitions. [2022-02-20 18:15:41,021 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2022-02-20 18:15:41,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:41,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:41,022 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 27 states. [2022-02-20 18:15:41,022 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Second operand 27 states. [2022-02-20 18:15:41,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:41,025 INFO L93 Difference]: Finished difference Result 27 states and 35 transitions. [2022-02-20 18:15:41,025 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2022-02-20 18:15:41,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:41,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:41,025 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:41,026 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:41,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 18:15:41,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 32 transitions. [2022-02-20 18:15:41,034 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 32 transitions. Word has length 11 [2022-02-20 18:15:41,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:41,035 INFO L470 AbstractCegarLoop]: Abstraction has 25 states and 32 transitions. [2022-02-20 18:15:41,035 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:15:41,035 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 32 transitions. [2022-02-20 18:15:41,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 18:15:41,036 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:41,036 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:41,046 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Ended with exit code 0 [2022-02-20 18:15:41,241 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:41,244 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:41,245 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:41,245 INFO L85 PathProgramCache]: Analyzing trace with hash -1494555912, now seen corresponding path program 1 times [2022-02-20 18:15:41,245 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:41,245 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [521701293] [2022-02-20 18:15:41,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:41,246 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:41,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:41,247 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:41,248 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 18:15:41,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:41,270 INFO L263 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:15:41,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:41,284 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:41,421 INFO L290 TraceCheckUtils]: 0: Hoare triple {357#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {357#true} is VALID [2022-02-20 18:15:41,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {357#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {365#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:41,422 INFO L272 TraceCheckUtils]: 2: Hoare triple {365#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {357#true} is VALID [2022-02-20 18:15:41,423 INFO L290 TraceCheckUtils]: 3: Hoare triple {357#true} ~n := #in~n; {372#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:41,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {372#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {372#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:41,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {372#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {372#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:41,425 INFO L272 TraceCheckUtils]: 6: Hoare triple {372#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {357#true} is VALID [2022-02-20 18:15:41,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {357#true} ~n := #in~n; {385#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:41,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {385#(= |fibo2_#in~n| fibo2_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {389#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:41,426 INFO L290 TraceCheckUtils]: 9: Hoare triple {389#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {389#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:41,427 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {389#(bvslt |fibo2_#in~n| (_ bv1 32))} {372#(= |fibo1_#in~n| fibo1_~n)} #51#return; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,427 INFO L272 TraceCheckUtils]: 11: Hoare triple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {357#true} is VALID [2022-02-20 18:15:41,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {357#true} ~n := #in~n; {357#true} is VALID [2022-02-20 18:15:41,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {357#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {357#true} is VALID [2022-02-20 18:15:41,430 INFO L290 TraceCheckUtils]: 14: Hoare triple {357#true} assume true; {357#true} is VALID [2022-02-20 18:15:41,431 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {357#true} {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #53#return; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,433 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {365#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {358#false} is VALID [2022-02-20 18:15:41,434 INFO L290 TraceCheckUtils]: 19: Hoare triple {358#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {358#false} is VALID [2022-02-20 18:15:41,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {358#false} assume 3bv32 == main_~result~0#1; {358#false} is VALID [2022-02-20 18:15:41,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {358#false} assume !false; {358#false} is VALID [2022-02-20 18:15:41,434 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:41,438 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:41,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {358#false} assume !false; {358#false} is VALID [2022-02-20 18:15:41,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {358#false} assume 3bv32 == main_~result~0#1; {358#false} is VALID [2022-02-20 18:15:41,841 INFO L290 TraceCheckUtils]: 19: Hoare triple {358#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {358#false} is VALID [2022-02-20 18:15:41,842 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {439#(not (bvslt (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~x~0#1|) (_ bv1 32)))} #45#return; {358#false} is VALID [2022-02-20 18:15:41,842 INFO L290 TraceCheckUtils]: 17: Hoare triple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,843 INFO L290 TraceCheckUtils]: 16: Hoare triple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,846 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {357#true} {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #53#return; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,847 INFO L290 TraceCheckUtils]: 14: Hoare triple {357#true} assume true; {357#true} is VALID [2022-02-20 18:15:41,847 INFO L290 TraceCheckUtils]: 13: Hoare triple {357#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {357#true} is VALID [2022-02-20 18:15:41,847 INFO L290 TraceCheckUtils]: 12: Hoare triple {357#true} ~n := #in~n; {357#true} is VALID [2022-02-20 18:15:41,847 INFO L272 TraceCheckUtils]: 11: Hoare triple {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {357#true} is VALID [2022-02-20 18:15:41,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {389#(bvslt |fibo2_#in~n| (_ bv1 32))} {467#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} #51#return; {396#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:41,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {389#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {389#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:41,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {477#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {389#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:41,852 INFO L290 TraceCheckUtils]: 7: Hoare triple {357#true} ~n := #in~n; {477#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} is VALID [2022-02-20 18:15:41,853 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {357#true} is VALID [2022-02-20 18:15:41,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {467#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {467#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:41,854 INFO L290 TraceCheckUtils]: 4: Hoare triple {467#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {467#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:41,854 INFO L290 TraceCheckUtils]: 3: Hoare triple {357#true} ~n := #in~n; {467#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:41,854 INFO L272 TraceCheckUtils]: 2: Hoare triple {439#(not (bvslt (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~x~0#1|) (_ bv1 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {357#true} is VALID [2022-02-20 18:15:41,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {357#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {439#(not (bvslt (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~x~0#1|) (_ bv1 32)))} is VALID [2022-02-20 18:15:41,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {357#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {357#true} is VALID [2022-02-20 18:15:41,855 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:41,856 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:41,856 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [521701293] [2022-02-20 18:15:41,857 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [521701293] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:41,857 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:41,857 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-02-20 18:15:41,859 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1607984773] [2022-02-20 18:15:41,859 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:41,859 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.75) internal successors, (22), 10 states have internal predecessors, (22), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) Word has length 22 [2022-02-20 18:15:41,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:41,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 2.75) internal successors, (22), 10 states have internal predecessors, (22), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:41,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:41,894 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 18:15:41,894 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:41,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 18:15:41,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-02-20 18:15:41,895 INFO L87 Difference]: Start difference. First operand 25 states and 32 transitions. Second operand has 10 states, 8 states have (on average 2.75) internal successors, (22), 10 states have internal predecessors, (22), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:42,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:42,365 INFO L93 Difference]: Finished difference Result 37 states and 49 transitions. [2022-02-20 18:15:42,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:15:42,366 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.75) internal successors, (22), 10 states have internal predecessors, (22), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) Word has length 22 [2022-02-20 18:15:42,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:42,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.75) internal successors, (22), 10 states have internal predecessors, (22), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:42,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-02-20 18:15:42,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.75) internal successors, (22), 10 states have internal predecessors, (22), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:42,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-02-20 18:15:42,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2022-02-20 18:15:42,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:42,431 INFO L225 Difference]: With dead ends: 37 [2022-02-20 18:15:42,434 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 18:15:42,435 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:42,438 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 22 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 106 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 106 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:42,439 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 89 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 106 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 18:15:42,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 18:15:42,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 29. [2022-02-20 18:15:42,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:42,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 29 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 6 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) [2022-02-20 18:15:42,451 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 29 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 6 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) [2022-02-20 18:15:42,452 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 29 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 6 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) [2022-02-20 18:15:42,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:42,456 INFO L93 Difference]: Finished difference Result 33 states and 45 transitions. [2022-02-20 18:15:42,456 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 45 transitions. [2022-02-20 18:15:42,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:42,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:42,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 6 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) Second operand 33 states. [2022-02-20 18:15:42,463 INFO L87 Difference]: Start difference. First operand has 29 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 6 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) Second operand 33 states. [2022-02-20 18:15:42,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:42,470 INFO L93 Difference]: Finished difference Result 33 states and 45 transitions. [2022-02-20 18:15:42,470 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 45 transitions. [2022-02-20 18:15:42,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:42,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:42,473 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:42,473 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:42,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 6 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) [2022-02-20 18:15:42,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 39 transitions. [2022-02-20 18:15:42,479 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 39 transitions. Word has length 22 [2022-02-20 18:15:42,480 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:42,480 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 39 transitions. [2022-02-20 18:15:42,480 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 2.75) internal successors, (22), 10 states have internal predecessors, (22), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:42,480 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 18:15:42,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 18:15:42,482 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:42,482 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:42,491 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:42,689 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:42,689 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:42,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:42,690 INFO L85 PathProgramCache]: Analyzing trace with hash 814571350, now seen corresponding path program 1 times [2022-02-20 18:15:42,690 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:42,690 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1582912736] [2022-02-20 18:15:42,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:42,690 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:42,691 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:42,692 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:42,693 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 18:15:42,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:42,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:15:42,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:42,721 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:42,796 INFO L290 TraceCheckUtils]: 0: Hoare triple {647#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {647#true} is VALID [2022-02-20 18:15:42,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {647#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {655#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:42,796 INFO L272 TraceCheckUtils]: 2: Hoare triple {655#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {647#true} is VALID [2022-02-20 18:15:42,797 INFO L290 TraceCheckUtils]: 3: Hoare triple {647#true} ~n := #in~n; {662#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:42,797 INFO L290 TraceCheckUtils]: 4: Hoare triple {662#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {662#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:42,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {662#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {662#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:42,798 INFO L272 TraceCheckUtils]: 6: Hoare triple {662#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {647#true} is VALID [2022-02-20 18:15:42,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {647#true} ~n := #in~n; {675#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:42,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {675#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {675#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:42,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {675#(= |fibo2_#in~n| fibo2_~n)} assume 1bv32 == ~n;#res := 1bv32; {682#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:42,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {682#(= |fibo2_#in~n| (_ bv1 32))} assume true; {682#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:42,800 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {682#(= |fibo2_#in~n| (_ bv1 32))} {662#(= |fibo1_#in~n| fibo1_~n)} #51#return; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:42,800 INFO L272 TraceCheckUtils]: 12: Hoare triple {689#(= |fibo1_#in~n| (_ bv2 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {647#true} is VALID [2022-02-20 18:15:42,800 INFO L290 TraceCheckUtils]: 13: Hoare triple {647#true} ~n := #in~n; {647#true} is VALID [2022-02-20 18:15:42,800 INFO L290 TraceCheckUtils]: 14: Hoare triple {647#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {647#true} is VALID [2022-02-20 18:15:42,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {647#true} assume true; {647#true} is VALID [2022-02-20 18:15:42,801 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {647#true} {689#(= |fibo1_#in~n| (_ bv2 32))} #53#return; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:42,802 INFO L290 TraceCheckUtils]: 17: Hoare triple {689#(= |fibo1_#in~n| (_ bv2 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:42,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#(= |fibo1_#in~n| (_ bv2 32))} assume true; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:42,803 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {689#(= |fibo1_#in~n| (_ bv2 32))} {655#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {648#false} is VALID [2022-02-20 18:15:42,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {648#false} is VALID [2022-02-20 18:15:42,803 INFO L290 TraceCheckUtils]: 21: Hoare triple {648#false} assume 3bv32 == main_~result~0#1; {648#false} is VALID [2022-02-20 18:15:42,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {648#false} assume !false; {648#false} is VALID [2022-02-20 18:15:42,803 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:42,804 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:43,097 INFO L290 TraceCheckUtils]: 22: Hoare triple {648#false} assume !false; {648#false} is VALID [2022-02-20 18:15:43,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {648#false} assume 3bv32 == main_~result~0#1; {648#false} is VALID [2022-02-20 18:15:43,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {648#false} is VALID [2022-02-20 18:15:43,099 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {689#(= |fibo1_#in~n| (_ bv2 32))} {732#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv2 32)))} #45#return; {648#false} is VALID [2022-02-20 18:15:43,099 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#(= |fibo1_#in~n| (_ bv2 32))} assume true; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:43,099 INFO L290 TraceCheckUtils]: 17: Hoare triple {689#(= |fibo1_#in~n| (_ bv2 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:43,100 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {647#true} {689#(= |fibo1_#in~n| (_ bv2 32))} #53#return; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:43,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {647#true} assume true; {647#true} is VALID [2022-02-20 18:15:43,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {647#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {647#true} is VALID [2022-02-20 18:15:43,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {647#true} ~n := #in~n; {647#true} is VALID [2022-02-20 18:15:43,101 INFO L272 TraceCheckUtils]: 12: Hoare triple {689#(= |fibo1_#in~n| (_ bv2 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {647#true} is VALID [2022-02-20 18:15:43,101 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {682#(= |fibo2_#in~n| (_ bv1 32))} {760#(or (not (= (_ bv1 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv2 32)))} #51#return; {689#(= |fibo1_#in~n| (_ bv2 32))} is VALID [2022-02-20 18:15:43,102 INFO L290 TraceCheckUtils]: 10: Hoare triple {682#(= |fibo2_#in~n| (_ bv1 32))} assume true; {682#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:43,102 INFO L290 TraceCheckUtils]: 9: Hoare triple {770#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} assume 1bv32 == ~n;#res := 1bv32; {682#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:43,105 INFO L290 TraceCheckUtils]: 8: Hoare triple {770#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {770#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:43,105 INFO L290 TraceCheckUtils]: 7: Hoare triple {647#true} ~n := #in~n; {770#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:43,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {760#(or (not (= (_ bv1 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv2 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {647#true} is VALID [2022-02-20 18:15:43,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {760#(or (not (= (_ bv1 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv2 32)))} assume !(1bv32 == ~n); {760#(or (not (= (_ bv1 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv2 32)))} is VALID [2022-02-20 18:15:43,106 INFO L290 TraceCheckUtils]: 4: Hoare triple {760#(or (not (= (_ bv1 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv2 32)))} assume !~bvslt32(~n, 1bv32); {760#(or (not (= (_ bv1 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv2 32)))} is VALID [2022-02-20 18:15:43,107 INFO L290 TraceCheckUtils]: 3: Hoare triple {647#true} ~n := #in~n; {760#(or (not (= (_ bv1 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv2 32)))} is VALID [2022-02-20 18:15:43,107 INFO L272 TraceCheckUtils]: 2: Hoare triple {732#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv2 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {647#true} is VALID [2022-02-20 18:15:43,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {647#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {732#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv2 32)))} is VALID [2022-02-20 18:15:43,107 INFO L290 TraceCheckUtils]: 0: Hoare triple {647#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {647#true} is VALID [2022-02-20 18:15:43,108 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:15:43,108 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:43,108 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1582912736] [2022-02-20 18:15:43,108 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1582912736] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:43,108 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:43,108 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-02-20 18:15:43,109 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [220553509] [2022-02-20 18:15:43,109 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:43,109 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) Word has length 23 [2022-02-20 18:15:43,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:43,110 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:43,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:43,142 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 18:15:43,142 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:43,143 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 18:15:43,143 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-02-20 18:15:43,143 INFO L87 Difference]: Start difference. First operand 29 states and 39 transitions. Second operand has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:43,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:43,483 INFO L93 Difference]: Finished difference Result 61 states and 96 transitions. [2022-02-20 18:15:43,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:15:43,483 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) Word has length 23 [2022-02-20 18:15:43,484 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:43,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:43,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2022-02-20 18:15:43,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:43,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2022-02-20 18:15:43,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 71 transitions. [2022-02-20 18:15:43,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:43,565 INFO L225 Difference]: With dead ends: 61 [2022-02-20 18:15:43,565 INFO L226 Difference]: Without dead ends: 35 [2022-02-20 18:15:43,566 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:43,567 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 20 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 118 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:43,567 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 102 Invalid, 118 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:15:43,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-02-20 18:15:43,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 32. [2022-02-20 18:15:43,571 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:43,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 7 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (16), 8 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 18:15:43,572 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 7 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (16), 8 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 18:15:43,572 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 7 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (16), 8 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 18:15:43,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:43,574 INFO L93 Difference]: Finished difference Result 35 states and 50 transitions. [2022-02-20 18:15:43,574 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 50 transitions. [2022-02-20 18:15:43,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:43,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:43,575 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 7 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (16), 8 states have call predecessors, (16), 7 states have call successors, (16) Second operand 35 states. [2022-02-20 18:15:43,575 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 7 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (16), 8 states have call predecessors, (16), 7 states have call successors, (16) Second operand 35 states. [2022-02-20 18:15:43,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:43,577 INFO L93 Difference]: Finished difference Result 35 states and 50 transitions. [2022-02-20 18:15:43,577 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 50 transitions. [2022-02-20 18:15:43,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:43,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:43,578 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:43,578 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:43,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 21 states have internal predecessors, (23), 7 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (16), 8 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 18:15:43,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 46 transitions. [2022-02-20 18:15:43,580 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 46 transitions. Word has length 23 [2022-02-20 18:15:43,580 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:43,580 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 46 transitions. [2022-02-20 18:15:43,581 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:15:43,581 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 46 transitions. [2022-02-20 18:15:43,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 18:15:43,581 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:43,581 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:43,593 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:43,782 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:43,782 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:43,782 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:43,783 INFO L85 PathProgramCache]: Analyzing trace with hash 1581983960, now seen corresponding path program 1 times [2022-02-20 18:15:43,783 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:43,783 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1866722522] [2022-02-20 18:15:43,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:43,783 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:43,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:43,785 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:43,786 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 18:15:43,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:43,810 INFO L263 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:43,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:43,819 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:43,970 INFO L290 TraceCheckUtils]: 0: Hoare triple {984#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {984#true} is VALID [2022-02-20 18:15:43,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {984#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {992#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:43,971 INFO L272 TraceCheckUtils]: 2: Hoare triple {992#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {984#true} is VALID [2022-02-20 18:15:43,971 INFO L290 TraceCheckUtils]: 3: Hoare triple {984#true} ~n := #in~n; {999#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:43,972 INFO L290 TraceCheckUtils]: 4: Hoare triple {999#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {999#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:43,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {999#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:43,972 INFO L272 TraceCheckUtils]: 6: Hoare triple {999#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {984#true} is VALID [2022-02-20 18:15:43,974 INFO L290 TraceCheckUtils]: 7: Hoare triple {984#true} ~n := #in~n; {1012#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:43,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {1012#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {1012#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:43,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {1012#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {1012#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:43,989 INFO L272 TraceCheckUtils]: 10: Hoare triple {1012#(= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {984#true} is VALID [2022-02-20 18:15:43,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {984#true} ~n := #in~n; {999#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:43,990 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#(= |fibo1_#in~n| fibo1_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:43,990 INFO L290 TraceCheckUtils]: 13: Hoare triple {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:43,991 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} {1012#(= |fibo2_#in~n| fibo2_~n)} #47#return; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:43,991 INFO L272 TraceCheckUtils]: 15: Hoare triple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {984#true} is VALID [2022-02-20 18:15:43,992 INFO L290 TraceCheckUtils]: 16: Hoare triple {984#true} ~n := #in~n; {984#true} is VALID [2022-02-20 18:15:43,992 INFO L290 TraceCheckUtils]: 17: Hoare triple {984#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {984#true} is VALID [2022-02-20 18:15:43,992 INFO L290 TraceCheckUtils]: 18: Hoare triple {984#true} assume true; {984#true} is VALID [2022-02-20 18:15:43,992 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {984#true} {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #49#return; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:43,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:43,993 INFO L290 TraceCheckUtils]: 21: Hoare triple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} assume true; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:43,996 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} {999#(= |fibo1_#in~n| fibo1_~n)} #51#return; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:43,996 INFO L272 TraceCheckUtils]: 23: Hoare triple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {984#true} is VALID [2022-02-20 18:15:43,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {984#true} ~n := #in~n; {984#true} is VALID [2022-02-20 18:15:43,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {984#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {984#true} is VALID [2022-02-20 18:15:43,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {984#true} assume true; {984#true} is VALID [2022-02-20 18:15:43,998 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {984#true} {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #53#return; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:43,998 INFO L290 TraceCheckUtils]: 28: Hoare triple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:43,998 INFO L290 TraceCheckUtils]: 29: Hoare triple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:43,999 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {992#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {985#false} is VALID [2022-02-20 18:15:43,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {985#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {985#false} is VALID [2022-02-20 18:15:43,999 INFO L290 TraceCheckUtils]: 32: Hoare triple {985#false} assume 3bv32 == main_~result~0#1; {985#false} is VALID [2022-02-20 18:15:43,999 INFO L290 TraceCheckUtils]: 33: Hoare triple {985#false} assume !false; {985#false} is VALID [2022-02-20 18:15:43,999 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 18:15:44,000 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:44,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {985#false} assume !false; {985#false} is VALID [2022-02-20 18:15:44,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {985#false} assume 3bv32 == main_~result~0#1; {985#false} is VALID [2022-02-20 18:15:44,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {985#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {985#false} is VALID [2022-02-20 18:15:44,601 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {1103#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967294 32)) (_ bv1 32)))} #45#return; {985#false} is VALID [2022-02-20 18:15:44,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:44,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:44,603 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {984#true} {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #53#return; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:44,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {984#true} assume true; {984#true} is VALID [2022-02-20 18:15:44,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {984#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {984#true} is VALID [2022-02-20 18:15:44,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {984#true} ~n := #in~n; {984#true} is VALID [2022-02-20 18:15:44,603 INFO L272 TraceCheckUtils]: 23: Hoare triple {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {984#true} is VALID [2022-02-20 18:15:44,606 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} {1131#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} #51#return; {1060#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:44,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} assume true; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:44,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:44,607 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {984#true} {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #49#return; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:44,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {984#true} assume true; {984#true} is VALID [2022-02-20 18:15:44,607 INFO L290 TraceCheckUtils]: 17: Hoare triple {984#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {984#true} is VALID [2022-02-20 18:15:44,607 INFO L290 TraceCheckUtils]: 16: Hoare triple {984#true} ~n := #in~n; {984#true} is VALID [2022-02-20 18:15:44,607 INFO L272 TraceCheckUtils]: 15: Hoare triple {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {984#true} is VALID [2022-02-20 18:15:44,608 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} {1159#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} #47#return; {1035#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:44,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:44,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {1169#(or (not (bvslt fibo1_~n (_ bv1 32))) (bvslt |fibo1_#in~n| (_ bv1 32)))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1028#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:44,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {984#true} ~n := #in~n; {1169#(or (not (bvslt fibo1_~n (_ bv1 32))) (bvslt |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:44,610 INFO L272 TraceCheckUtils]: 10: Hoare triple {1159#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {984#true} is VALID [2022-02-20 18:15:44,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {1159#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} assume !(1bv32 == ~n); {1159#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:44,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {1159#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {1159#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:44,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {984#true} ~n := #in~n; {1159#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:44,611 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {984#true} is VALID [2022-02-20 18:15:44,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {1131#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:44,612 INFO L290 TraceCheckUtils]: 4: Hoare triple {1131#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {1131#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:44,612 INFO L290 TraceCheckUtils]: 3: Hoare triple {984#true} ~n := #in~n; {1131#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:44,612 INFO L272 TraceCheckUtils]: 2: Hoare triple {1103#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967294 32)) (_ bv1 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {984#true} is VALID [2022-02-20 18:15:44,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {984#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {1103#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:44,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {984#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {984#true} is VALID [2022-02-20 18:15:44,613 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 18:15:44,613 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:44,613 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1866722522] [2022-02-20 18:15:44,613 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1866722522] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:44,614 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:44,614 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2022-02-20 18:15:44,614 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1580791799] [2022-02-20 18:15:44,614 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:44,615 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.2) internal successors, (32), 12 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) Word has length 34 [2022-02-20 18:15:44,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:44,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 3.2) internal successors, (32), 12 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:44,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:44,659 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 18:15:44,659 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:44,659 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 18:15:44,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:44,660 INFO L87 Difference]: Start difference. First operand 32 states and 46 transitions. Second operand has 12 states, 10 states have (on average 3.2) internal successors, (32), 12 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:45,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:45,386 INFO L93 Difference]: Finished difference Result 49 states and 78 transitions. [2022-02-20 18:15:45,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:15:45,386 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.2) internal successors, (32), 12 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) Word has length 34 [2022-02-20 18:15:45,386 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:45,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.2) internal successors, (32), 12 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:45,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 51 transitions. [2022-02-20 18:15:45,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.2) internal successors, (32), 12 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:45,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 51 transitions. [2022-02-20 18:15:45,389 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 51 transitions. [2022-02-20 18:15:45,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:45,447 INFO L225 Difference]: With dead ends: 49 [2022-02-20 18:15:45,447 INFO L226 Difference]: Without dead ends: 45 [2022-02-20 18:15:45,447 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 58 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:15:45,448 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 16 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 170 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 170 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:45,448 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 134 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 170 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 18:15:45,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-02-20 18:15:45,453 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-02-20 18:15:45,453 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:45,453 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 8 states have call successors, (8), 2 states have call predecessors, (8), 6 states have return successors, (21), 10 states have call predecessors, (21), 8 states have call successors, (21) [2022-02-20 18:15:45,454 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 8 states have call successors, (8), 2 states have call predecessors, (8), 6 states have return successors, (21), 10 states have call predecessors, (21), 8 states have call successors, (21) [2022-02-20 18:15:45,454 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 8 states have call successors, (8), 2 states have call predecessors, (8), 6 states have return successors, (21), 10 states have call predecessors, (21), 8 states have call successors, (21) [2022-02-20 18:15:45,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:45,457 INFO L93 Difference]: Finished difference Result 45 states and 74 transitions. [2022-02-20 18:15:45,457 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 74 transitions. [2022-02-20 18:15:45,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:45,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:45,458 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 8 states have call successors, (8), 2 states have call predecessors, (8), 6 states have return successors, (21), 10 states have call predecessors, (21), 8 states have call successors, (21) Second operand 45 states. [2022-02-20 18:15:45,458 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 8 states have call successors, (8), 2 states have call predecessors, (8), 6 states have return successors, (21), 10 states have call predecessors, (21), 8 states have call successors, (21) Second operand 45 states. [2022-02-20 18:15:45,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:45,462 INFO L93 Difference]: Finished difference Result 45 states and 74 transitions. [2022-02-20 18:15:45,462 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 74 transitions. [2022-02-20 18:15:45,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:45,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:45,463 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:45,463 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:45,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 8 states have call successors, (8), 2 states have call predecessors, (8), 6 states have return successors, (21), 10 states have call predecessors, (21), 8 states have call successors, (21) [2022-02-20 18:15:45,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 54 transitions. [2022-02-20 18:15:45,465 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 54 transitions. Word has length 34 [2022-02-20 18:15:45,465 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:45,466 INFO L470 AbstractCegarLoop]: Abstraction has 36 states and 54 transitions. [2022-02-20 18:15:45,466 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 3.2) internal successors, (32), 12 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:45,466 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 54 transitions. [2022-02-20 18:15:45,467 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 18:15:45,467 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:45,467 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:45,475 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Ended with exit code 0 [2022-02-20 18:15:45,673 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:45,674 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:45,674 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:45,674 INFO L85 PathProgramCache]: Analyzing trace with hash 1656487097, now seen corresponding path program 1 times [2022-02-20 18:15:45,675 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:45,675 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [106807644] [2022-02-20 18:15:45,675 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:45,675 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:45,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:45,676 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:45,677 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 18:15:45,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:45,701 INFO L263 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:45,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:45,709 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:45,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {1400#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1400#true} is VALID [2022-02-20 18:15:45,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {1400#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {1408#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:45,844 INFO L272 TraceCheckUtils]: 2: Hoare triple {1408#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1400#true} is VALID [2022-02-20 18:15:45,845 INFO L290 TraceCheckUtils]: 3: Hoare triple {1400#true} ~n := #in~n; {1415#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:45,845 INFO L290 TraceCheckUtils]: 4: Hoare triple {1415#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1415#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:45,845 INFO L290 TraceCheckUtils]: 5: Hoare triple {1415#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {1415#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:45,846 INFO L272 TraceCheckUtils]: 6: Hoare triple {1415#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {1400#true} is VALID [2022-02-20 18:15:45,846 INFO L290 TraceCheckUtils]: 7: Hoare triple {1400#true} ~n := #in~n; {1428#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:45,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {1428#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {1428#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:45,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {1428#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {1428#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:45,847 INFO L272 TraceCheckUtils]: 10: Hoare triple {1428#(= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {1400#true} is VALID [2022-02-20 18:15:45,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {1400#true} ~n := #in~n; {1415#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:45,848 INFO L290 TraceCheckUtils]: 12: Hoare triple {1415#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1415#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:45,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {1415#(= |fibo1_#in~n| fibo1_~n)} assume 1bv32 == ~n;#res := 1bv32; {1447#(= |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:45,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {1447#(= |fibo1_#in~n| (_ bv1 32))} assume true; {1447#(= |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:45,850 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1447#(= |fibo1_#in~n| (_ bv1 32))} {1428#(= |fibo2_#in~n| fibo2_~n)} #47#return; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:45,850 INFO L272 TraceCheckUtils]: 16: Hoare triple {1454#(= (_ bv2 32) |fibo2_#in~n|)} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {1400#true} is VALID [2022-02-20 18:15:45,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {1400#true} ~n := #in~n; {1400#true} is VALID [2022-02-20 18:15:45,850 INFO L290 TraceCheckUtils]: 18: Hoare triple {1400#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1400#true} is VALID [2022-02-20 18:15:45,850 INFO L290 TraceCheckUtils]: 19: Hoare triple {1400#true} assume true; {1400#true} is VALID [2022-02-20 18:15:45,855 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1400#true} {1454#(= (_ bv2 32) |fibo2_#in~n|)} #49#return; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:45,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {1454#(= (_ bv2 32) |fibo2_#in~n|)} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:45,856 INFO L290 TraceCheckUtils]: 22: Hoare triple {1454#(= (_ bv2 32) |fibo2_#in~n|)} assume true; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:45,856 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1454#(= (_ bv2 32) |fibo2_#in~n|)} {1415#(= |fibo1_#in~n| fibo1_~n)} #51#return; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:45,856 INFO L272 TraceCheckUtils]: 24: Hoare triple {1479#(= |fibo1_#in~n| (_ bv3 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {1400#true} is VALID [2022-02-20 18:15:45,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {1400#true} ~n := #in~n; {1400#true} is VALID [2022-02-20 18:15:45,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {1400#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1400#true} is VALID [2022-02-20 18:15:45,857 INFO L290 TraceCheckUtils]: 27: Hoare triple {1400#true} assume true; {1400#true} is VALID [2022-02-20 18:15:45,857 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1400#true} {1479#(= |fibo1_#in~n| (_ bv3 32))} #53#return; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:45,858 INFO L290 TraceCheckUtils]: 29: Hoare triple {1479#(= |fibo1_#in~n| (_ bv3 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:45,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {1479#(= |fibo1_#in~n| (_ bv3 32))} assume true; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:45,859 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1479#(= |fibo1_#in~n| (_ bv3 32))} {1408#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {1401#false} is VALID [2022-02-20 18:15:45,859 INFO L290 TraceCheckUtils]: 32: Hoare triple {1401#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1401#false} is VALID [2022-02-20 18:15:45,859 INFO L290 TraceCheckUtils]: 33: Hoare triple {1401#false} assume 3bv32 == main_~result~0#1; {1401#false} is VALID [2022-02-20 18:15:45,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {1401#false} assume !false; {1401#false} is VALID [2022-02-20 18:15:45,859 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:15:45,859 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:46,337 INFO L290 TraceCheckUtils]: 34: Hoare triple {1401#false} assume !false; {1401#false} is VALID [2022-02-20 18:15:46,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {1401#false} assume 3bv32 == main_~result~0#1; {1401#false} is VALID [2022-02-20 18:15:46,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {1401#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1401#false} is VALID [2022-02-20 18:15:46,338 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1479#(= |fibo1_#in~n| (_ bv3 32))} {1522#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv3 32)))} #45#return; {1401#false} is VALID [2022-02-20 18:15:46,339 INFO L290 TraceCheckUtils]: 30: Hoare triple {1479#(= |fibo1_#in~n| (_ bv3 32))} assume true; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:46,339 INFO L290 TraceCheckUtils]: 29: Hoare triple {1479#(= |fibo1_#in~n| (_ bv3 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:46,339 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1400#true} {1479#(= |fibo1_#in~n| (_ bv3 32))} #53#return; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:46,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {1400#true} assume true; {1400#true} is VALID [2022-02-20 18:15:46,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {1400#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1400#true} is VALID [2022-02-20 18:15:46,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {1400#true} ~n := #in~n; {1400#true} is VALID [2022-02-20 18:15:46,340 INFO L272 TraceCheckUtils]: 24: Hoare triple {1479#(= |fibo1_#in~n| (_ bv3 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {1400#true} is VALID [2022-02-20 18:15:46,341 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1454#(= (_ bv2 32) |fibo2_#in~n|)} {1550#(or (not (= (_ bv2 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv3 32)))} #51#return; {1479#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:46,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {1454#(= (_ bv2 32) |fibo2_#in~n|)} assume true; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:46,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {1454#(= (_ bv2 32) |fibo2_#in~n|)} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:46,342 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1400#true} {1454#(= (_ bv2 32) |fibo2_#in~n|)} #49#return; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:46,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {1400#true} assume true; {1400#true} is VALID [2022-02-20 18:15:46,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {1400#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1400#true} is VALID [2022-02-20 18:15:46,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {1400#true} ~n := #in~n; {1400#true} is VALID [2022-02-20 18:15:46,343 INFO L272 TraceCheckUtils]: 16: Hoare triple {1454#(= (_ bv2 32) |fibo2_#in~n|)} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {1400#true} is VALID [2022-02-20 18:15:46,343 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1447#(= |fibo1_#in~n| (_ bv1 32))} {1578#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))))} #47#return; {1454#(= (_ bv2 32) |fibo2_#in~n|)} is VALID [2022-02-20 18:15:46,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {1447#(= |fibo1_#in~n| (_ bv1 32))} assume true; {1447#(= |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:46,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {1588#(or (= |fibo1_#in~n| (_ bv1 32)) (not (= (_ bv1 32) fibo1_~n)))} assume 1bv32 == ~n;#res := 1bv32; {1447#(= |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:46,345 INFO L290 TraceCheckUtils]: 12: Hoare triple {1588#(or (= |fibo1_#in~n| (_ bv1 32)) (not (= (_ bv1 32) fibo1_~n)))} assume !~bvslt32(~n, 1bv32); {1588#(or (= |fibo1_#in~n| (_ bv1 32)) (not (= (_ bv1 32) fibo1_~n)))} is VALID [2022-02-20 18:15:46,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {1400#true} ~n := #in~n; {1588#(or (= |fibo1_#in~n| (_ bv1 32)) (not (= (_ bv1 32) fibo1_~n)))} is VALID [2022-02-20 18:15:46,345 INFO L272 TraceCheckUtils]: 10: Hoare triple {1578#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))))} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {1400#true} is VALID [2022-02-20 18:15:46,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {1578#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))))} assume !(1bv32 == ~n); {1578#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:46,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {1578#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {1578#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:46,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {1400#true} ~n := #in~n; {1578#(or (= (_ bv2 32) |fibo2_#in~n|) (not (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:46,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {1550#(or (not (= (_ bv2 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv3 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {1400#true} is VALID [2022-02-20 18:15:46,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {1550#(or (not (= (_ bv2 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv3 32)))} assume !(1bv32 == ~n); {1550#(or (not (= (_ bv2 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv3 32)))} is VALID [2022-02-20 18:15:46,347 INFO L290 TraceCheckUtils]: 4: Hoare triple {1550#(or (not (= (_ bv2 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv3 32)))} assume !~bvslt32(~n, 1bv32); {1550#(or (not (= (_ bv2 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv3 32)))} is VALID [2022-02-20 18:15:46,348 INFO L290 TraceCheckUtils]: 3: Hoare triple {1400#true} ~n := #in~n; {1550#(or (not (= (_ bv2 32) (bvadd (_ bv4294967295 32) fibo1_~n))) (= |fibo1_#in~n| (_ bv3 32)))} is VALID [2022-02-20 18:15:46,348 INFO L272 TraceCheckUtils]: 2: Hoare triple {1522#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv3 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1400#true} is VALID [2022-02-20 18:15:46,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {1400#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {1522#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv3 32)))} is VALID [2022-02-20 18:15:46,349 INFO L290 TraceCheckUtils]: 0: Hoare triple {1400#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1400#true} is VALID [2022-02-20 18:15:46,349 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 18:15:46,350 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:46,350 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [106807644] [2022-02-20 18:15:46,350 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [106807644] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:46,350 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:46,350 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2022-02-20 18:15:46,350 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641451025] [2022-02-20 18:15:46,350 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:46,351 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) Word has length 35 [2022-02-20 18:15:46,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:46,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 3.3) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:46,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:46,387 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 18:15:46,387 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:46,388 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 18:15:46,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:46,388 INFO L87 Difference]: Start difference. First operand 36 states and 54 transitions. Second operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:46,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:46,965 INFO L93 Difference]: Finished difference Result 79 states and 150 transitions. [2022-02-20 18:15:46,965 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:15:46,965 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) Word has length 35 [2022-02-20 18:15:46,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:46,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:46,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2022-02-20 18:15:46,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:46,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2022-02-20 18:15:46,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 80 transitions. [2022-02-20 18:15:47,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:47,058 INFO L225 Difference]: With dead ends: 79 [2022-02-20 18:15:47,058 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 18:15:47,059 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:15:47,060 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 21 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:47,060 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 139 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 18:15:47,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 18:15:47,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-02-20 18:15:47,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:47,067 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 29 states have internal predecessors, (30), 10 states have call successors, (10), 2 states have call predecessors, (10), 9 states have return successors, (37), 14 states have call predecessors, (37), 10 states have call successors, (37) [2022-02-20 18:15:47,068 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 29 states have internal predecessors, (30), 10 states have call successors, (10), 2 states have call predecessors, (10), 9 states have return successors, (37), 14 states have call predecessors, (37), 10 states have call successors, (37) [2022-02-20 18:15:47,068 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 29 states have internal predecessors, (30), 10 states have call successors, (10), 2 states have call predecessors, (10), 9 states have return successors, (37), 14 states have call predecessors, (37), 10 states have call successors, (37) [2022-02-20 18:15:47,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:47,071 INFO L93 Difference]: Finished difference Result 46 states and 77 transitions. [2022-02-20 18:15:47,071 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 77 transitions. [2022-02-20 18:15:47,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:47,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:47,072 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 29 states have internal predecessors, (30), 10 states have call successors, (10), 2 states have call predecessors, (10), 9 states have return successors, (37), 14 states have call predecessors, (37), 10 states have call successors, (37) Second operand 46 states. [2022-02-20 18:15:47,073 INFO L87 Difference]: Start difference. First operand has 46 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 29 states have internal predecessors, (30), 10 states have call successors, (10), 2 states have call predecessors, (10), 9 states have return successors, (37), 14 states have call predecessors, (37), 10 states have call successors, (37) Second operand 46 states. [2022-02-20 18:15:47,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:47,076 INFO L93 Difference]: Finished difference Result 46 states and 77 transitions. [2022-02-20 18:15:47,076 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 77 transitions. [2022-02-20 18:15:47,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:47,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:47,077 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:47,077 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:47,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 29 states have internal predecessors, (30), 10 states have call successors, (10), 2 states have call predecessors, (10), 9 states have return successors, (37), 14 states have call predecessors, (37), 10 states have call successors, (37) [2022-02-20 18:15:47,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 77 transitions. [2022-02-20 18:15:47,080 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 77 transitions. Word has length 35 [2022-02-20 18:15:47,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:47,081 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 77 transitions. [2022-02-20 18:15:47,081 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (8), 3 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 18:15:47,081 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 77 transitions. [2022-02-20 18:15:47,082 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 18:15:47,082 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:47,083 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:47,102 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Ended with exit code 0 [2022-02-20 18:15:47,297 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:47,298 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:47,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:47,299 INFO L85 PathProgramCache]: Analyzing trace with hash 600804856, now seen corresponding path program 2 times [2022-02-20 18:15:47,299 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:47,299 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1017071695] [2022-02-20 18:15:47,306 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 18:15:47,307 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:47,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:47,308 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:47,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 18:15:47,339 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 18:15:47,340 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:15:47,341 INFO L263 TraceCheckSpWp]: Trace formula consists of 77 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 18:15:47,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:47,367 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:47,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {1877#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1877#true} is VALID [2022-02-20 18:15:47,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {1877#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {1885#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:47,550 INFO L272 TraceCheckUtils]: 2: Hoare triple {1885#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1877#true} is VALID [2022-02-20 18:15:47,550 INFO L290 TraceCheckUtils]: 3: Hoare triple {1877#true} ~n := #in~n; {1892#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:47,551 INFO L290 TraceCheckUtils]: 4: Hoare triple {1892#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1892#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:47,551 INFO L290 TraceCheckUtils]: 5: Hoare triple {1892#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {1892#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:47,551 INFO L272 TraceCheckUtils]: 6: Hoare triple {1892#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2022-02-20 18:15:47,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {1877#true} ~n := #in~n; {1905#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:47,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {1905#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {1905#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:47,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {1905#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {1905#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:47,555 INFO L272 TraceCheckUtils]: 10: Hoare triple {1905#(= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2022-02-20 18:15:47,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {1877#true} ~n := #in~n; {1892#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:47,555 INFO L290 TraceCheckUtils]: 12: Hoare triple {1892#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {1892#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:47,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {1892#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {1892#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:47,556 INFO L272 TraceCheckUtils]: 14: Hoare triple {1892#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2022-02-20 18:15:47,556 INFO L290 TraceCheckUtils]: 15: Hoare triple {1877#true} ~n := #in~n; {1905#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:47,556 INFO L290 TraceCheckUtils]: 16: Hoare triple {1905#(= |fibo2_#in~n| fibo2_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:47,557 INFO L290 TraceCheckUtils]: 17: Hoare triple {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:47,557 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} {1892#(= |fibo1_#in~n| fibo1_~n)} #51#return; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,558 INFO L272 TraceCheckUtils]: 19: Hoare triple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2022-02-20 18:15:47,558 INFO L290 TraceCheckUtils]: 20: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2022-02-20 18:15:47,558 INFO L290 TraceCheckUtils]: 21: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2022-02-20 18:15:47,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-02-20 18:15:47,558 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1877#true} {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #53#return; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,559 INFO L290 TraceCheckUtils]: 24: Hoare triple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,559 INFO L290 TraceCheckUtils]: 25: Hoare triple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,562 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {1905#(= |fibo2_#in~n| fibo2_~n)} #47#return; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,562 INFO L272 TraceCheckUtils]: 27: Hoare triple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2022-02-20 18:15:47,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2022-02-20 18:15:47,562 INFO L290 TraceCheckUtils]: 29: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2022-02-20 18:15:47,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-02-20 18:15:47,563 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1877#true} {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #49#return; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,564 INFO L290 TraceCheckUtils]: 32: Hoare triple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,564 INFO L290 TraceCheckUtils]: 33: Hoare triple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,567 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {1892#(= |fibo1_#in~n| fibo1_~n)} #51#return; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,567 INFO L272 TraceCheckUtils]: 35: Hoare triple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2022-02-20 18:15:47,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2022-02-20 18:15:47,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2022-02-20 18:15:47,567 INFO L290 TraceCheckUtils]: 38: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-02-20 18:15:47,568 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1877#true} {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #53#return; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,568 INFO L290 TraceCheckUtils]: 40: Hoare triple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,569 INFO L290 TraceCheckUtils]: 41: Hoare triple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:47,569 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {1885#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {1878#false} is VALID [2022-02-20 18:15:47,569 INFO L290 TraceCheckUtils]: 43: Hoare triple {1878#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1878#false} is VALID [2022-02-20 18:15:47,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {1878#false} assume 3bv32 == main_~result~0#1; {1878#false} is VALID [2022-02-20 18:15:47,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {1878#false} assume !false; {1878#false} is VALID [2022-02-20 18:15:47,570 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 4 proven. 20 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 18:15:47,570 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:48,523 INFO L290 TraceCheckUtils]: 45: Hoare triple {1878#false} assume !false; {1878#false} is VALID [2022-02-20 18:15:48,524 INFO L290 TraceCheckUtils]: 44: Hoare triple {1878#false} assume 3bv32 == main_~result~0#1; {1878#false} is VALID [2022-02-20 18:15:48,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {1878#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1878#false} is VALID [2022-02-20 18:15:48,525 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {2033#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} #45#return; {1878#false} is VALID [2022-02-20 18:15:48,525 INFO L290 TraceCheckUtils]: 41: Hoare triple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,525 INFO L290 TraceCheckUtils]: 40: Hoare triple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,526 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1877#true} {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #53#return; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,526 INFO L290 TraceCheckUtils]: 38: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-02-20 18:15:48,526 INFO L290 TraceCheckUtils]: 37: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2022-02-20 18:15:48,526 INFO L290 TraceCheckUtils]: 36: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2022-02-20 18:15:48,527 INFO L272 TraceCheckUtils]: 35: Hoare triple {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2022-02-20 18:15:48,530 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {2061#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} #51#return; {1990#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,530 INFO L290 TraceCheckUtils]: 33: Hoare triple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,531 INFO L290 TraceCheckUtils]: 32: Hoare triple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,531 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1877#true} {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #49#return; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,531 INFO L290 TraceCheckUtils]: 30: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-02-20 18:15:48,531 INFO L290 TraceCheckUtils]: 29: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2022-02-20 18:15:48,532 INFO L290 TraceCheckUtils]: 28: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2022-02-20 18:15:48,532 INFO L272 TraceCheckUtils]: 27: Hoare triple {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2022-02-20 18:15:48,534 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} {2089#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} #47#return; {1965#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} assume true; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,535 INFO L290 TraceCheckUtils]: 24: Hoare triple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,536 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1877#true} {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} #53#return; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,536 INFO L290 TraceCheckUtils]: 22: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-02-20 18:15:48,536 INFO L290 TraceCheckUtils]: 21: Hoare triple {1877#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1877#true} is VALID [2022-02-20 18:15:48,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {1877#true} ~n := #in~n; {1877#true} is VALID [2022-02-20 18:15:48,536 INFO L272 TraceCheckUtils]: 19: Hoare triple {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {1877#true} is VALID [2022-02-20 18:15:48,537 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} {2117#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} #51#return; {1940#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:48,537 INFO L290 TraceCheckUtils]: 17: Hoare triple {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:48,538 INFO L290 TraceCheckUtils]: 16: Hoare triple {2127#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {1933#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:48,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {1877#true} ~n := #in~n; {2127#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} is VALID [2022-02-20 18:15:48,538 INFO L272 TraceCheckUtils]: 14: Hoare triple {2117#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2022-02-20 18:15:48,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {2117#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {2117#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:48,539 INFO L290 TraceCheckUtils]: 12: Hoare triple {2117#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {2117#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:48,539 INFO L290 TraceCheckUtils]: 11: Hoare triple {1877#true} ~n := #in~n; {2117#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:48,539 INFO L272 TraceCheckUtils]: 10: Hoare triple {2089#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2022-02-20 18:15:48,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {2089#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} assume !(1bv32 == ~n); {2089#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:48,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {2089#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {2089#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:48,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {1877#true} ~n := #in~n; {2089#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:48,541 INFO L272 TraceCheckUtils]: 6: Hoare triple {2061#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {1877#true} is VALID [2022-02-20 18:15:48,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {2061#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {2061#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:48,542 INFO L290 TraceCheckUtils]: 4: Hoare triple {2061#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {2061#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:48,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {1877#true} ~n := #in~n; {2061#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:48,542 INFO L272 TraceCheckUtils]: 2: Hoare triple {2033#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {1877#true} is VALID [2022-02-20 18:15:48,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {1877#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {2033#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:48,543 INFO L290 TraceCheckUtils]: 0: Hoare triple {1877#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1877#true} is VALID [2022-02-20 18:15:48,543 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 4 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 18:15:48,543 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:48,544 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1017071695] [2022-02-20 18:15:48,544 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1017071695] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:48,544 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:48,544 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11] total 14 [2022-02-20 18:15:48,544 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1847950699] [2022-02-20 18:15:48,544 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:48,545 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 14 states have internal predecessors, (37), 10 states have call successors, (10), 1 states have call predecessors, (10), 5 states have return successors, (11), 4 states have call predecessors, (11), 10 states have call successors, (11) Word has length 46 [2022-02-20 18:15:48,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:48,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 14 states have internal predecessors, (37), 10 states have call successors, (10), 1 states have call predecessors, (10), 5 states have return successors, (11), 4 states have call predecessors, (11), 10 states have call successors, (11) [2022-02-20 18:15:48,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:48,604 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 18:15:48,604 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:48,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 18:15:48,605 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2022-02-20 18:15:48,605 INFO L87 Difference]: Start difference. First operand 46 states and 77 transitions. Second operand has 14 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 14 states have internal predecessors, (37), 10 states have call successors, (10), 1 states have call predecessors, (10), 5 states have return successors, (11), 4 states have call predecessors, (11), 10 states have call successors, (11) [2022-02-20 18:15:49,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:49,690 INFO L93 Difference]: Finished difference Result 70 states and 142 transitions. [2022-02-20 18:15:49,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 18:15:49,690 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 14 states have internal predecessors, (37), 10 states have call successors, (10), 1 states have call predecessors, (10), 5 states have return successors, (11), 4 states have call predecessors, (11), 10 states have call successors, (11) Word has length 46 [2022-02-20 18:15:49,690 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:49,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 14 states have internal predecessors, (37), 10 states have call successors, (10), 1 states have call predecessors, (10), 5 states have return successors, (11), 4 states have call predecessors, (11), 10 states have call successors, (11) [2022-02-20 18:15:49,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-02-20 18:15:49,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 14 states have internal predecessors, (37), 10 states have call successors, (10), 1 states have call predecessors, (10), 5 states have return successors, (11), 4 states have call predecessors, (11), 10 states have call successors, (11) [2022-02-20 18:15:49,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-02-20 18:15:49,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-02-20 18:15:49,772 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:49,774 INFO L225 Difference]: With dead ends: 70 [2022-02-20 18:15:49,774 INFO L226 Difference]: Without dead ends: 66 [2022-02-20 18:15:49,775 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 82 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-02-20 18:15:49,775 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 30 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:49,775 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 161 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 226 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 18:15:49,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-02-20 18:15:49,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 50. [2022-02-20 18:15:49,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:49,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 50 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 11 states have call successors, (11), 2 states have call predecessors, (11), 10 states have return successors, (47), 16 states have call predecessors, (47), 11 states have call successors, (47) [2022-02-20 18:15:49,783 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 50 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 11 states have call successors, (11), 2 states have call predecessors, (11), 10 states have return successors, (47), 16 states have call predecessors, (47), 11 states have call successors, (47) [2022-02-20 18:15:49,784 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 50 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 11 states have call successors, (11), 2 states have call predecessors, (11), 10 states have return successors, (47), 16 states have call predecessors, (47), 11 states have call successors, (47) [2022-02-20 18:15:49,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:49,788 INFO L93 Difference]: Finished difference Result 66 states and 138 transitions. [2022-02-20 18:15:49,788 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 138 transitions. [2022-02-20 18:15:49,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:49,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:49,789 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 11 states have call successors, (11), 2 states have call predecessors, (11), 10 states have return successors, (47), 16 states have call predecessors, (47), 11 states have call successors, (47) Second operand 66 states. [2022-02-20 18:15:49,789 INFO L87 Difference]: Start difference. First operand has 50 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 11 states have call successors, (11), 2 states have call predecessors, (11), 10 states have return successors, (47), 16 states have call predecessors, (47), 11 states have call successors, (47) Second operand 66 states. [2022-02-20 18:15:49,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:49,793 INFO L93 Difference]: Finished difference Result 66 states and 138 transitions. [2022-02-20 18:15:49,793 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 138 transitions. [2022-02-20 18:15:49,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:49,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:49,794 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:49,794 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:49,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 11 states have call successors, (11), 2 states have call predecessors, (11), 10 states have return successors, (47), 16 states have call predecessors, (47), 11 states have call successors, (47) [2022-02-20 18:15:49,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 90 transitions. [2022-02-20 18:15:49,797 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 90 transitions. Word has length 46 [2022-02-20 18:15:49,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:49,797 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 90 transitions. [2022-02-20 18:15:49,798 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 14 states have internal predecessors, (37), 10 states have call successors, (10), 1 states have call predecessors, (10), 5 states have return successors, (11), 4 states have call predecessors, (11), 10 states have call successors, (11) [2022-02-20 18:15:49,798 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 90 transitions. [2022-02-20 18:15:49,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 18:15:49,798 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:49,799 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:49,821 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:50,011 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:50,012 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:50,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:50,012 INFO L85 PathProgramCache]: Analyzing trace with hash 1482129412, now seen corresponding path program 1 times [2022-02-20 18:15:50,012 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:50,012 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [762217209] [2022-02-20 18:15:50,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:50,012 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:50,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:50,014 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:50,015 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2022-02-20 18:15:50,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:50,045 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:50,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:50,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:50,227 INFO L290 TraceCheckUtils]: 0: Hoare triple {2457#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2457#true} is VALID [2022-02-20 18:15:50,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {2457#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {2465#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:50,228 INFO L272 TraceCheckUtils]: 2: Hoare triple {2465#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {2457#true} is VALID [2022-02-20 18:15:50,228 INFO L290 TraceCheckUtils]: 3: Hoare triple {2457#true} ~n := #in~n; {2472#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:50,229 INFO L290 TraceCheckUtils]: 4: Hoare triple {2472#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {2472#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:50,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {2472#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {2472#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:50,229 INFO L272 TraceCheckUtils]: 6: Hoare triple {2472#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {2457#true} is VALID [2022-02-20 18:15:50,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {2457#true} ~n := #in~n; {2485#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:50,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {2485#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {2485#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {2485#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {2485#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:50,230 INFO L272 TraceCheckUtils]: 10: Hoare triple {2485#(= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 12: Hoare triple {2457#true} assume !~bvslt32(~n, 1bv32); {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {2457#true} assume !(1bv32 == ~n); {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L272 TraceCheckUtils]: 14: Hoare triple {2457#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 16: Hoare triple {2457#true} assume !~bvslt32(~n, 1bv32); {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 17: Hoare triple {2457#true} assume 1bv32 == ~n;#res := 1bv32; {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L290 TraceCheckUtils]: 18: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,230 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2457#true} {2457#true} #51#return; {2457#true} is VALID [2022-02-20 18:15:50,231 INFO L272 TraceCheckUtils]: 20: Hoare triple {2457#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {2457#true} is VALID [2022-02-20 18:15:50,231 INFO L290 TraceCheckUtils]: 21: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {2457#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2457#true} is VALID [2022-02-20 18:15:50,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,231 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2457#true} {2457#true} #53#return; {2457#true} is VALID [2022-02-20 18:15:50,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {2457#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {2457#true} is VALID [2022-02-20 18:15:50,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,232 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2457#true} {2485#(= |fibo2_#in~n| fibo2_~n)} #47#return; {2485#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:50,232 INFO L272 TraceCheckUtils]: 28: Hoare triple {2485#(= |fibo2_#in~n| fibo2_~n)} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {2457#true} is VALID [2022-02-20 18:15:50,232 INFO L290 TraceCheckUtils]: 29: Hoare triple {2457#true} ~n := #in~n; {2472#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:50,232 INFO L290 TraceCheckUtils]: 30: Hoare triple {2472#(= |fibo1_#in~n| fibo1_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:50,232 INFO L290 TraceCheckUtils]: 31: Hoare triple {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:50,233 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} {2485#(= |fibo2_#in~n| fibo2_~n)} #49#return; {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,233 INFO L290 TraceCheckUtils]: 33: Hoare triple {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,242 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {2472#(= |fibo1_#in~n| fibo1_~n)} #51#return; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,243 INFO L272 TraceCheckUtils]: 36: Hoare triple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {2457#true} is VALID [2022-02-20 18:15:50,243 INFO L290 TraceCheckUtils]: 37: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,243 INFO L290 TraceCheckUtils]: 38: Hoare triple {2457#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2457#true} is VALID [2022-02-20 18:15:50,243 INFO L290 TraceCheckUtils]: 39: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,250 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2457#true} {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #53#return; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,250 INFO L290 TraceCheckUtils]: 41: Hoare triple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,251 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {2465#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {2458#false} is VALID [2022-02-20 18:15:50,251 INFO L290 TraceCheckUtils]: 44: Hoare triple {2458#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2458#false} is VALID [2022-02-20 18:15:50,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {2458#false} assume 3bv32 == main_~result~0#1; {2458#false} is VALID [2022-02-20 18:15:50,251 INFO L290 TraceCheckUtils]: 46: Hoare triple {2458#false} assume !false; {2458#false} is VALID [2022-02-20 18:15:50,251 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 11 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-02-20 18:15:50,251 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:50,808 INFO L290 TraceCheckUtils]: 46: Hoare triple {2458#false} assume !false; {2458#false} is VALID [2022-02-20 18:15:50,809 INFO L290 TraceCheckUtils]: 45: Hoare triple {2458#false} assume 3bv32 == main_~result~0#1; {2458#false} is VALID [2022-02-20 18:15:50,809 INFO L290 TraceCheckUtils]: 44: Hoare triple {2458#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2458#false} is VALID [2022-02-20 18:15:50,809 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {2615#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} #45#return; {2458#false} is VALID [2022-02-20 18:15:50,810 INFO L290 TraceCheckUtils]: 42: Hoare triple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,810 INFO L290 TraceCheckUtils]: 41: Hoare triple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,811 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2457#true} {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #53#return; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,811 INFO L290 TraceCheckUtils]: 39: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,811 INFO L290 TraceCheckUtils]: 38: Hoare triple {2457#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2457#true} is VALID [2022-02-20 18:15:50,811 INFO L290 TraceCheckUtils]: 37: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,811 INFO L272 TraceCheckUtils]: 36: Hoare triple {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {2457#true} is VALID [2022-02-20 18:15:50,814 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {2643#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} #51#return; {2572#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,814 INFO L290 TraceCheckUtils]: 34: Hoare triple {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,814 INFO L290 TraceCheckUtils]: 33: Hoare triple {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,815 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} #49#return; {2562#(bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:50,815 INFO L290 TraceCheckUtils]: 31: Hoare triple {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:50,816 INFO L290 TraceCheckUtils]: 30: Hoare triple {2666#(or (not (bvslt fibo1_~n (_ bv1 32))) (bvslt |fibo1_#in~n| (_ bv1 32)))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2555#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:50,816 INFO L290 TraceCheckUtils]: 29: Hoare triple {2457#true} ~n := #in~n; {2666#(or (not (bvslt fibo1_~n (_ bv1 32))) (bvslt |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:50,816 INFO L272 TraceCheckUtils]: 28: Hoare triple {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2457#true} {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} #47#return; {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:50,817 INFO L290 TraceCheckUtils]: 26: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L290 TraceCheckUtils]: 25: Hoare triple {2457#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2457#true} {2457#true} #53#return; {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L290 TraceCheckUtils]: 23: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L290 TraceCheckUtils]: 22: Hoare triple {2457#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L290 TraceCheckUtils]: 21: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L272 TraceCheckUtils]: 20: Hoare triple {2457#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2457#true} {2457#true} #51#return; {2457#true} is VALID [2022-02-20 18:15:50,817 INFO L290 TraceCheckUtils]: 18: Hoare triple {2457#true} assume true; {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {2457#true} assume 1bv32 == ~n;#res := 1bv32; {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L290 TraceCheckUtils]: 16: Hoare triple {2457#true} assume !~bvslt32(~n, 1bv32); {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L290 TraceCheckUtils]: 15: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L272 TraceCheckUtils]: 14: Hoare triple {2457#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {2457#true} assume !(1bv32 == ~n); {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L290 TraceCheckUtils]: 12: Hoare triple {2457#true} assume !~bvslt32(~n, 1bv32); {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L290 TraceCheckUtils]: 11: Hoare triple {2457#true} ~n := #in~n; {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L272 TraceCheckUtils]: 10: Hoare triple {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {2457#true} is VALID [2022-02-20 18:15:50,818 INFO L290 TraceCheckUtils]: 9: Hoare triple {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} assume !(1bv32 == ~n); {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:50,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:50,819 INFO L290 TraceCheckUtils]: 7: Hoare triple {2457#true} ~n := #in~n; {2656#(or (bvslt (bvadd |fibo2_#in~n| (_ bv4294967294 32)) (_ bv1 32)) (not (bvslt (bvadd (_ bv4294967294 32) fibo2_~n) (_ bv1 32))))} is VALID [2022-02-20 18:15:50,819 INFO L272 TraceCheckUtils]: 6: Hoare triple {2643#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {2457#true} is VALID [2022-02-20 18:15:50,820 INFO L290 TraceCheckUtils]: 5: Hoare triple {2643#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {2643#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:50,820 INFO L290 TraceCheckUtils]: 4: Hoare triple {2643#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {2643#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:50,832 INFO L290 TraceCheckUtils]: 3: Hoare triple {2457#true} ~n := #in~n; {2643#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:50,832 INFO L272 TraceCheckUtils]: 2: Hoare triple {2615#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {2457#true} is VALID [2022-02-20 18:15:50,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {2457#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {2615#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:50,833 INFO L290 TraceCheckUtils]: 0: Hoare triple {2457#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2457#true} is VALID [2022-02-20 18:15:50,833 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 11 proven. 12 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 18:15:50,834 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:50,834 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [762217209] [2022-02-20 18:15:50,834 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [762217209] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:50,834 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:50,834 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2022-02-20 18:15:50,834 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [887878134] [2022-02-20 18:15:50,834 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:50,835 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.6) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 1 states have call predecessors, (11), 4 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) Word has length 47 [2022-02-20 18:15:50,837 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:50,837 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 3.6) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 1 states have call predecessors, (11), 4 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 18:15:50,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:50,892 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 18:15:50,892 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:50,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 18:15:50,892 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:50,893 INFO L87 Difference]: Start difference. First operand 50 states and 90 transitions. Second operand has 12 states, 10 states have (on average 3.6) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 1 states have call predecessors, (11), 4 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 18:15:51,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:51,520 INFO L93 Difference]: Finished difference Result 77 states and 164 transitions. [2022-02-20 18:15:51,520 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:15:51,520 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.6) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 1 states have call predecessors, (11), 4 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) Word has length 47 [2022-02-20 18:15:51,520 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:51,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.6) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 1 states have call predecessors, (11), 4 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 18:15:51,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-02-20 18:15:51,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.6) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 1 states have call predecessors, (11), 4 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 18:15:51,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-02-20 18:15:51,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-02-20 18:15:51,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:51,581 INFO L225 Difference]: With dead ends: 77 [2022-02-20 18:15:51,581 INFO L226 Difference]: Without dead ends: 73 [2022-02-20 18:15:51,581 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:15:51,582 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 28 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 152 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:51,582 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 115 Invalid, 152 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 18:15:51,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-02-20 18:15:51,597 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 52. [2022-02-20 18:15:51,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:51,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:51,598 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:51,602 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:51,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:51,608 INFO L93 Difference]: Finished difference Result 73 states and 160 transitions. [2022-02-20 18:15:51,608 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 160 transitions. [2022-02-20 18:15:51,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:51,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:51,609 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 73 states. [2022-02-20 18:15:51,610 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 73 states. [2022-02-20 18:15:51,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:51,615 INFO L93 Difference]: Finished difference Result 73 states and 160 transitions. [2022-02-20 18:15:51,615 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 160 transitions. [2022-02-20 18:15:51,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:51,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:51,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:51,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:51,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:51,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 95 transitions. [2022-02-20 18:15:51,619 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 95 transitions. Word has length 47 [2022-02-20 18:15:51,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:51,620 INFO L470 AbstractCegarLoop]: Abstraction has 52 states and 95 transitions. [2022-02-20 18:15:51,620 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 3.6) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 1 states have call predecessors, (11), 4 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 18:15:51,620 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 95 transitions. [2022-02-20 18:15:51,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 18:15:51,621 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:51,621 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:51,631 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:51,828 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:51,829 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:51,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:51,829 INFO L85 PathProgramCache]: Analyzing trace with hash -951466503, now seen corresponding path program 1 times [2022-02-20 18:15:51,830 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:51,830 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [583609085] [2022-02-20 18:15:51,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:51,831 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:51,831 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:51,832 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:51,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2022-02-20 18:15:51,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:51,863 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:15:51,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:51,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:52,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {3060#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3060#true} is VALID [2022-02-20 18:15:52,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {3060#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {3068#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:52,015 INFO L272 TraceCheckUtils]: 2: Hoare triple {3068#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {3060#true} is VALID [2022-02-20 18:15:52,015 INFO L290 TraceCheckUtils]: 3: Hoare triple {3060#true} ~n := #in~n; {3075#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:52,015 INFO L290 TraceCheckUtils]: 4: Hoare triple {3075#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {3075#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 5: Hoare triple {3075#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {3075#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:52,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {3075#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {3060#true} assume !(1bv32 == ~n); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L272 TraceCheckUtils]: 10: Hoare triple {3060#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {3060#true} assume !(1bv32 == ~n); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L272 TraceCheckUtils]: 14: Hoare triple {3060#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {3060#true} assume 1bv32 == ~n;#res := 1bv32; {3060#true} is VALID [2022-02-20 18:15:52,016 INFO L290 TraceCheckUtils]: 18: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3060#true} {3060#true} #51#return; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L272 TraceCheckUtils]: 20: Hoare triple {3060#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {3060#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3060#true} {3060#true} #53#return; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 25: Hoare triple {3060#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 26: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3060#true} {3060#true} #47#return; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L272 TraceCheckUtils]: 28: Hoare triple {3060#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {3060#true} assume 1bv32 == ~n;#res := 1bv32; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 32: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3060#true} {3060#true} #49#return; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 34: Hoare triple {3060#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {3060#true} is VALID [2022-02-20 18:15:52,017 INFO L290 TraceCheckUtils]: 35: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,018 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3060#true} {3075#(= |fibo1_#in~n| fibo1_~n)} #51#return; {3075#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:52,018 INFO L272 TraceCheckUtils]: 37: Hoare triple {3075#(= |fibo1_#in~n| fibo1_~n)} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3060#true} is VALID [2022-02-20 18:15:52,018 INFO L290 TraceCheckUtils]: 38: Hoare triple {3060#true} ~n := #in~n; {3181#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:52,019 INFO L290 TraceCheckUtils]: 39: Hoare triple {3181#(= |fibo2_#in~n| fibo2_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:52,019 INFO L290 TraceCheckUtils]: 40: Hoare triple {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:52,020 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} {3075#(= |fibo1_#in~n| fibo1_~n)} #53#return; {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:52,020 INFO L290 TraceCheckUtils]: 42: Hoare triple {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:52,020 INFO L290 TraceCheckUtils]: 43: Hoare triple {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:52,021 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {3068#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {3061#false} is VALID [2022-02-20 18:15:52,021 INFO L290 TraceCheckUtils]: 45: Hoare triple {3061#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3061#false} is VALID [2022-02-20 18:15:52,021 INFO L290 TraceCheckUtils]: 46: Hoare triple {3061#false} assume 3bv32 == main_~result~0#1; {3061#false} is VALID [2022-02-20 18:15:52,021 INFO L290 TraceCheckUtils]: 47: Hoare triple {3061#false} assume !false; {3061#false} is VALID [2022-02-20 18:15:52,021 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 15 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 18:15:52,021 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:52,327 INFO L290 TraceCheckUtils]: 47: Hoare triple {3061#false} assume !false; {3061#false} is VALID [2022-02-20 18:15:52,327 INFO L290 TraceCheckUtils]: 46: Hoare triple {3061#false} assume 3bv32 == main_~result~0#1; {3061#false} is VALID [2022-02-20 18:15:52,327 INFO L290 TraceCheckUtils]: 45: Hoare triple {3061#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3061#false} is VALID [2022-02-20 18:15:52,328 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} {3220#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967294 32)) (_ bv1 32)))} #45#return; {3061#false} is VALID [2022-02-20 18:15:52,328 INFO L290 TraceCheckUtils]: 43: Hoare triple {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} assume true; {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:52,328 INFO L290 TraceCheckUtils]: 42: Hoare triple {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:52,329 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} #53#return; {3192#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:52,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} assume true; {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:52,330 INFO L290 TraceCheckUtils]: 39: Hoare triple {3243#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3185#(bvslt |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:52,330 INFO L290 TraceCheckUtils]: 38: Hoare triple {3060#true} ~n := #in~n; {3243#(or (bvslt |fibo2_#in~n| (_ bv1 32)) (not (bvslt fibo2_~n (_ bv1 32))))} is VALID [2022-02-20 18:15:52,330 INFO L272 TraceCheckUtils]: 37: Hoare triple {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3060#true} {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} #51#return; {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 34: Hoare triple {3060#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3060#true} {3060#true} #49#return; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 32: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 31: Hoare triple {3060#true} assume 1bv32 == ~n;#res := 1bv32; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L272 TraceCheckUtils]: 28: Hoare triple {3060#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3060#true} {3060#true} #47#return; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 26: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {3060#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3060#true} {3060#true} #53#return; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 23: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {3060#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3060#true} is VALID [2022-02-20 18:15:52,331 INFO L290 TraceCheckUtils]: 21: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L272 TraceCheckUtils]: 20: Hoare triple {3060#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3060#true} {3060#true} #51#return; {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 18: Hoare triple {3060#true} assume true; {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 17: Hoare triple {3060#true} assume 1bv32 == ~n;#res := 1bv32; {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 16: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 15: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L272 TraceCheckUtils]: 14: Hoare triple {3060#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 13: Hoare triple {3060#true} assume !(1bv32 == ~n); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 12: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L272 TraceCheckUtils]: 10: Hoare triple {3060#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {3060#true} assume !(1bv32 == ~n); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {3060#true} assume !~bvslt32(~n, 1bv32); {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L290 TraceCheckUtils]: 7: Hoare triple {3060#true} ~n := #in~n; {3060#true} is VALID [2022-02-20 18:15:52,332 INFO L272 TraceCheckUtils]: 6: Hoare triple {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3060#true} is VALID [2022-02-20 18:15:52,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:52,333 INFO L290 TraceCheckUtils]: 4: Hoare triple {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:52,333 INFO L290 TraceCheckUtils]: 3: Hoare triple {3060#true} ~n := #in~n; {3233#(or (not (bvslt (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:52,334 INFO L272 TraceCheckUtils]: 2: Hoare triple {3220#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967294 32)) (_ bv1 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {3060#true} is VALID [2022-02-20 18:15:52,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {3060#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {3220#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967294 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:52,334 INFO L290 TraceCheckUtils]: 0: Hoare triple {3060#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3060#true} is VALID [2022-02-20 18:15:52,334 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 15 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 18:15:52,334 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:52,334 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [583609085] [2022-02-20 18:15:52,334 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [583609085] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:52,334 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:52,334 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-02-20 18:15:52,335 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1699115513] [2022-02-20 18:15:52,335 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:52,335 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 4.0) internal successors, (32), 10 states have internal predecessors, (32), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 48 [2022-02-20 18:15:52,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:52,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 4.0) internal successors, (32), 10 states have internal predecessors, (32), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:52,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:52,375 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 18:15:52,375 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:52,375 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 18:15:52,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-02-20 18:15:52,376 INFO L87 Difference]: Start difference. First operand 52 states and 95 transitions. Second operand has 10 states, 8 states have (on average 4.0) internal successors, (32), 10 states have internal predecessors, (32), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:52,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:52,693 INFO L93 Difference]: Finished difference Result 68 states and 122 transitions. [2022-02-20 18:15:52,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:15:52,693 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 4.0) internal successors, (32), 10 states have internal predecessors, (32), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 48 [2022-02-20 18:15:52,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:52,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 4.0) internal successors, (32), 10 states have internal predecessors, (32), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:52,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 40 transitions. [2022-02-20 18:15:52,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 4.0) internal successors, (32), 10 states have internal predecessors, (32), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:52,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 40 transitions. [2022-02-20 18:15:52,695 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 40 transitions. [2022-02-20 18:15:52,729 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:52,731 INFO L225 Difference]: With dead ends: 68 [2022-02-20 18:15:52,731 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 18:15:52,731 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 86 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:52,732 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 23 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 86 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:52,732 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 80 Invalid, 86 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:15:52,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 18:15:52,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 52. [2022-02-20 18:15:52,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:52,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:52,737 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:52,737 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:52,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:52,741 INFO L93 Difference]: Finished difference Result 64 states and 118 transitions. [2022-02-20 18:15:52,741 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 118 transitions. [2022-02-20 18:15:52,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:52,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:52,742 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 64 states. [2022-02-20 18:15:52,742 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 64 states. [2022-02-20 18:15:52,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:52,745 INFO L93 Difference]: Finished difference Result 64 states and 118 transitions. [2022-02-20 18:15:52,745 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 118 transitions. [2022-02-20 18:15:52,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:52,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:52,746 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:52,746 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:52,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:52,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 95 transitions. [2022-02-20 18:15:52,748 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 95 transitions. Word has length 48 [2022-02-20 18:15:52,748 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:52,749 INFO L470 AbstractCegarLoop]: Abstraction has 52 states and 95 transitions. [2022-02-20 18:15:52,749 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 4.0) internal successors, (32), 10 states have internal predecessors, (32), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:52,749 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 95 transitions. [2022-02-20 18:15:52,750 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 18:15:52,750 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:52,750 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:52,756 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:52,956 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:52,957 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:52,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:52,957 INFO L85 PathProgramCache]: Analyzing trace with hash 533549857, now seen corresponding path program 2 times [2022-02-20 18:15:52,958 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:52,958 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [993489215] [2022-02-20 18:15:52,958 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 18:15:52,958 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:52,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:52,959 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:52,963 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 18:15:52,989 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 18:15:52,989 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:15:52,990 INFO L263 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:15:52,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:52,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:53,099 INFO L290 TraceCheckUtils]: 0: Hoare triple {3632#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3632#true} is VALID [2022-02-20 18:15:53,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {3632#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {3640#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:53,100 INFO L272 TraceCheckUtils]: 2: Hoare triple {3640#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {3632#true} is VALID [2022-02-20 18:15:53,100 INFO L290 TraceCheckUtils]: 3: Hoare triple {3632#true} ~n := #in~n; {3647#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:53,100 INFO L290 TraceCheckUtils]: 4: Hoare triple {3647#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {3647#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:53,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {3647#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {3647#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:53,101 INFO L272 TraceCheckUtils]: 6: Hoare triple {3647#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3632#true} is VALID [2022-02-20 18:15:53,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,101 INFO L290 TraceCheckUtils]: 9: Hoare triple {3632#true} assume !(1bv32 == ~n); {3632#true} is VALID [2022-02-20 18:15:53,101 INFO L272 TraceCheckUtils]: 10: Hoare triple {3632#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L290 TraceCheckUtils]: 11: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L290 TraceCheckUtils]: 12: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L290 TraceCheckUtils]: 13: Hoare triple {3632#true} assume !(1bv32 == ~n); {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L272 TraceCheckUtils]: 14: Hoare triple {3632#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L290 TraceCheckUtils]: 15: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L290 TraceCheckUtils]: 16: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {3632#true} assume 1bv32 == ~n;#res := 1bv32; {3632#true} is VALID [2022-02-20 18:15:53,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3632#true} {3632#true} #51#return; {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L272 TraceCheckUtils]: 20: Hoare triple {3632#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {3632#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L290 TraceCheckUtils]: 23: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3632#true} {3632#true} #53#return; {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L290 TraceCheckUtils]: 25: Hoare triple {3632#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3632#true} is VALID [2022-02-20 18:15:53,103 INFO L290 TraceCheckUtils]: 26: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3632#true} {3632#true} #47#return; {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L272 TraceCheckUtils]: 28: Hoare triple {3632#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L290 TraceCheckUtils]: 29: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {3632#true} assume 1bv32 == ~n;#res := 1bv32; {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3632#true} {3632#true} #49#return; {3632#true} is VALID [2022-02-20 18:15:53,104 INFO L290 TraceCheckUtils]: 34: Hoare triple {3632#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {3632#true} is VALID [2022-02-20 18:15:53,105 INFO L290 TraceCheckUtils]: 35: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,105 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3632#true} {3647#(= |fibo1_#in~n| fibo1_~n)} #51#return; {3647#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:53,105 INFO L272 TraceCheckUtils]: 37: Hoare triple {3647#(= |fibo1_#in~n| fibo1_~n)} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3632#true} is VALID [2022-02-20 18:15:53,106 INFO L290 TraceCheckUtils]: 38: Hoare triple {3632#true} ~n := #in~n; {3753#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:53,106 INFO L290 TraceCheckUtils]: 39: Hoare triple {3753#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {3753#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:53,106 INFO L290 TraceCheckUtils]: 40: Hoare triple {3753#(= |fibo2_#in~n| fibo2_~n)} assume 1bv32 == ~n;#res := 1bv32; {3760#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:53,107 INFO L290 TraceCheckUtils]: 41: Hoare triple {3760#(= |fibo2_#in~n| (_ bv1 32))} assume true; {3760#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:53,107 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3760#(= |fibo2_#in~n| (_ bv1 32))} {3647#(= |fibo1_#in~n| fibo1_~n)} #53#return; {3767#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:53,108 INFO L290 TraceCheckUtils]: 43: Hoare triple {3767#(= |fibo1_#in~n| (_ bv3 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3767#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:53,108 INFO L290 TraceCheckUtils]: 44: Hoare triple {3767#(= |fibo1_#in~n| (_ bv3 32))} assume true; {3767#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:53,109 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3767#(= |fibo1_#in~n| (_ bv3 32))} {3640#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {3633#false} is VALID [2022-02-20 18:15:53,109 INFO L290 TraceCheckUtils]: 46: Hoare triple {3633#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3633#false} is VALID [2022-02-20 18:15:53,109 INFO L290 TraceCheckUtils]: 47: Hoare triple {3633#false} assume 3bv32 == main_~result~0#1; {3633#false} is VALID [2022-02-20 18:15:53,109 INFO L290 TraceCheckUtils]: 48: Hoare triple {3633#false} assume !false; {3633#false} is VALID [2022-02-20 18:15:53,109 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 17 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 18:15:53,109 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:53,476 INFO L290 TraceCheckUtils]: 48: Hoare triple {3633#false} assume !false; {3633#false} is VALID [2022-02-20 18:15:53,476 INFO L290 TraceCheckUtils]: 47: Hoare triple {3633#false} assume 3bv32 == main_~result~0#1; {3633#false} is VALID [2022-02-20 18:15:53,477 INFO L290 TraceCheckUtils]: 46: Hoare triple {3633#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3633#false} is VALID [2022-02-20 18:15:53,477 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3767#(= |fibo1_#in~n| (_ bv3 32))} {3795#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv3 32)))} #45#return; {3633#false} is VALID [2022-02-20 18:15:53,477 INFO L290 TraceCheckUtils]: 44: Hoare triple {3767#(= |fibo1_#in~n| (_ bv3 32))} assume true; {3767#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:53,478 INFO L290 TraceCheckUtils]: 43: Hoare triple {3767#(= |fibo1_#in~n| (_ bv3 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3767#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:53,478 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3760#(= |fibo2_#in~n| (_ bv1 32))} {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} #53#return; {3767#(= |fibo1_#in~n| (_ bv3 32))} is VALID [2022-02-20 18:15:53,479 INFO L290 TraceCheckUtils]: 41: Hoare triple {3760#(= |fibo2_#in~n| (_ bv1 32))} assume true; {3760#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:53,479 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} assume 1bv32 == ~n;#res := 1bv32; {3760#(= |fibo2_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:53,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {3818#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {3818#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:53,480 INFO L290 TraceCheckUtils]: 38: Hoare triple {3632#true} ~n := #in~n; {3818#(or (not (= (_ bv1 32) fibo2_~n)) (= |fibo2_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:53,480 INFO L272 TraceCheckUtils]: 37: Hoare triple {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3632#true} is VALID [2022-02-20 18:15:53,480 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3632#true} {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} #51#return; {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} is VALID [2022-02-20 18:15:53,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {3632#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {3632#true} is VALID [2022-02-20 18:15:53,481 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3632#true} {3632#true} #49#return; {3632#true} is VALID [2022-02-20 18:15:53,481 INFO L290 TraceCheckUtils]: 32: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {3632#true} assume 1bv32 == ~n;#res := 1bv32; {3632#true} is VALID [2022-02-20 18:15:53,481 INFO L290 TraceCheckUtils]: 30: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,481 INFO L290 TraceCheckUtils]: 29: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,481 INFO L272 TraceCheckUtils]: 28: Hoare triple {3632#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3632#true} {3632#true} #47#return; {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L290 TraceCheckUtils]: 26: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L290 TraceCheckUtils]: 25: Hoare triple {3632#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3632#true} {3632#true} #53#return; {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L290 TraceCheckUtils]: 23: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L290 TraceCheckUtils]: 22: Hoare triple {3632#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,482 INFO L272 TraceCheckUtils]: 20: Hoare triple {3632#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3632#true} {3632#true} #51#return; {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {3632#true} assume true; {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {3632#true} assume 1bv32 == ~n;#res := 1bv32; {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L290 TraceCheckUtils]: 16: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L272 TraceCheckUtils]: 14: Hoare triple {3632#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {3632#true} assume !(1bv32 == ~n); {3632#true} is VALID [2022-02-20 18:15:53,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,484 INFO L272 TraceCheckUtils]: 10: Hoare triple {3632#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {3632#true} is VALID [2022-02-20 18:15:53,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {3632#true} assume !(1bv32 == ~n); {3632#true} is VALID [2022-02-20 18:15:53,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {3632#true} assume !~bvslt32(~n, 1bv32); {3632#true} is VALID [2022-02-20 18:15:53,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {3632#true} ~n := #in~n; {3632#true} is VALID [2022-02-20 18:15:53,484 INFO L272 TraceCheckUtils]: 6: Hoare triple {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {3632#true} is VALID [2022-02-20 18:15:53,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} assume !(1bv32 == ~n); {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} is VALID [2022-02-20 18:15:53,485 INFO L290 TraceCheckUtils]: 4: Hoare triple {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} assume !~bvslt32(~n, 1bv32); {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} is VALID [2022-02-20 18:15:53,485 INFO L290 TraceCheckUtils]: 3: Hoare triple {3632#true} ~n := #in~n; {3808#(or (not (= (bvadd (_ bv4294967294 32) fibo1_~n) (_ bv1 32))) (= |fibo1_#in~n| (_ bv3 32)))} is VALID [2022-02-20 18:15:53,486 INFO L272 TraceCheckUtils]: 2: Hoare triple {3795#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv3 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {3632#true} is VALID [2022-02-20 18:15:53,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {3632#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {3795#(not (= |ULTIMATE.start_main_~x~0#1| (_ bv3 32)))} is VALID [2022-02-20 18:15:53,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {3632#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3632#true} is VALID [2022-02-20 18:15:53,486 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 17 proven. 5 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 18:15:53,486 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:53,487 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [993489215] [2022-02-20 18:15:53,487 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [993489215] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:53,487 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:53,487 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-02-20 18:15:53,487 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1026844513] [2022-02-20 18:15:53,487 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:53,488 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 4.25) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 49 [2022-02-20 18:15:53,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:53,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 4.25) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:53,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:53,528 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 18:15:53,528 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:53,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 18:15:53,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-02-20 18:15:53,528 INFO L87 Difference]: Start difference. First operand 52 states and 95 transitions. Second operand has 10 states, 8 states have (on average 4.25) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:53,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:53,790 INFO L93 Difference]: Finished difference Result 68 states and 122 transitions. [2022-02-20 18:15:53,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:15:53,791 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 4.25) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 49 [2022-02-20 18:15:53,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:53,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 4.25) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:53,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 40 transitions. [2022-02-20 18:15:53,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 4.25) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:53,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 40 transitions. [2022-02-20 18:15:53,793 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 40 transitions. [2022-02-20 18:15:53,825 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:53,826 INFO L225 Difference]: With dead ends: 68 [2022-02-20 18:15:53,826 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 18:15:53,827 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:53,827 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 19 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 86 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:53,828 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 86 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:15:53,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 18:15:53,832 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 52. [2022-02-20 18:15:53,832 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:53,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:53,833 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:53,833 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:53,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:53,835 INFO L93 Difference]: Finished difference Result 64 states and 118 transitions. [2022-02-20 18:15:53,835 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 118 transitions. [2022-02-20 18:15:53,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:53,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:53,836 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 64 states. [2022-02-20 18:15:53,836 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 64 states. [2022-02-20 18:15:53,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:53,839 INFO L93 Difference]: Finished difference Result 64 states and 118 transitions. [2022-02-20 18:15:53,839 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 118 transitions. [2022-02-20 18:15:53,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:53,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:53,839 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:53,840 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:53,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 33 states have internal predecessors, (33), 11 states have call successors, (11), 2 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:53,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 95 transitions. [2022-02-20 18:15:53,842 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 95 transitions. Word has length 49 [2022-02-20 18:15:53,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:53,842 INFO L470 AbstractCegarLoop]: Abstraction has 52 states and 95 transitions. [2022-02-20 18:15:53,842 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 4.25) internal successors, (34), 10 states have internal predecessors, (34), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 18:15:53,842 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 95 transitions. [2022-02-20 18:15:53,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-02-20 18:15:53,843 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:53,843 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:53,866 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:54,049 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:54,049 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:54,049 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:54,049 INFO L85 PathProgramCache]: Analyzing trace with hash 2044901529, now seen corresponding path program 1 times [2022-02-20 18:15:54,050 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:54,050 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1467894020] [2022-02-20 18:15:54,050 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:15:54,050 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:54,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:54,051 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:54,052 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2022-02-20 18:15:54,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:54,083 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:54,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:54,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:54,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {4210#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4210#true} is VALID [2022-02-20 18:15:54,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {4210#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {4218#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:54,282 INFO L272 TraceCheckUtils]: 2: Hoare triple {4218#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {4210#true} is VALID [2022-02-20 18:15:54,282 INFO L290 TraceCheckUtils]: 3: Hoare triple {4210#true} ~n := #in~n; {4225#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:54,283 INFO L290 TraceCheckUtils]: 4: Hoare triple {4225#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {4225#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:54,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {4225#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {4225#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:54,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {4225#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {4210#true} assume !(1bv32 == ~n); {4210#true} is VALID [2022-02-20 18:15:54,283 INFO L272 TraceCheckUtils]: 10: Hoare triple {4210#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L290 TraceCheckUtils]: 12: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {4210#true} assume !(1bv32 == ~n); {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L272 TraceCheckUtils]: 14: Hoare triple {4210#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L290 TraceCheckUtils]: 16: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {4210#true} assume 1bv32 == ~n;#res := 1bv32; {4210#true} is VALID [2022-02-20 18:15:54,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4210#true} {4210#true} #51#return; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L272 TraceCheckUtils]: 20: Hoare triple {4210#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L290 TraceCheckUtils]: 21: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L290 TraceCheckUtils]: 22: Hoare triple {4210#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L290 TraceCheckUtils]: 23: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {4210#true} {4210#true} #53#return; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L290 TraceCheckUtils]: 25: Hoare triple {4210#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L290 TraceCheckUtils]: 26: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,285 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4210#true} {4210#true} #47#return; {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L272 TraceCheckUtils]: 28: Hoare triple {4210#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L290 TraceCheckUtils]: 29: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L290 TraceCheckUtils]: 30: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L290 TraceCheckUtils]: 31: Hoare triple {4210#true} assume 1bv32 == ~n;#res := 1bv32; {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L290 TraceCheckUtils]: 32: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4210#true} {4210#true} #49#return; {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L290 TraceCheckUtils]: 34: Hoare triple {4210#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {4210#true} is VALID [2022-02-20 18:15:54,286 INFO L290 TraceCheckUtils]: 35: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,287 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4210#true} {4225#(= |fibo1_#in~n| fibo1_~n)} #51#return; {4225#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:54,287 INFO L272 TraceCheckUtils]: 37: Hoare triple {4225#(= |fibo1_#in~n| fibo1_~n)} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,287 INFO L290 TraceCheckUtils]: 38: Hoare triple {4210#true} ~n := #in~n; {4331#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:54,288 INFO L290 TraceCheckUtils]: 39: Hoare triple {4331#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {4331#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:54,288 INFO L290 TraceCheckUtils]: 40: Hoare triple {4331#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {4331#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:54,288 INFO L272 TraceCheckUtils]: 41: Hoare triple {4331#(= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,288 INFO L290 TraceCheckUtils]: 42: Hoare triple {4210#true} ~n := #in~n; {4225#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:54,289 INFO L290 TraceCheckUtils]: 43: Hoare triple {4225#(= |fibo1_#in~n| fibo1_~n)} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:54,289 INFO L290 TraceCheckUtils]: 44: Hoare triple {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:54,289 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} {4331#(= |fibo2_#in~n| fibo2_~n)} #47#return; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,289 INFO L272 TraceCheckUtils]: 46: Hoare triple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,290 INFO L290 TraceCheckUtils]: 47: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,290 INFO L290 TraceCheckUtils]: 48: Hoare triple {4210#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4210#true} is VALID [2022-02-20 18:15:54,290 INFO L290 TraceCheckUtils]: 49: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,290 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4210#true} {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #49#return; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,291 INFO L290 TraceCheckUtils]: 52: Hoare triple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} assume true; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,293 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} {4225#(= |fibo1_#in~n| fibo1_~n)} #53#return; {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:54,293 INFO L290 TraceCheckUtils]: 54: Hoare triple {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:54,294 INFO L290 TraceCheckUtils]: 55: Hoare triple {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:54,294 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {4218#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {4211#false} is VALID [2022-02-20 18:15:54,294 INFO L290 TraceCheckUtils]: 57: Hoare triple {4211#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {4211#false} is VALID [2022-02-20 18:15:54,295 INFO L290 TraceCheckUtils]: 58: Hoare triple {4211#false} assume 3bv32 == main_~result~0#1; {4211#false} is VALID [2022-02-20 18:15:54,295 INFO L290 TraceCheckUtils]: 59: Hoare triple {4211#false} assume !false; {4211#false} is VALID [2022-02-20 18:15:54,295 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 28 proven. 11 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-02-20 18:15:54,296 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:54,906 INFO L290 TraceCheckUtils]: 59: Hoare triple {4211#false} assume !false; {4211#false} is VALID [2022-02-20 18:15:54,906 INFO L290 TraceCheckUtils]: 58: Hoare triple {4211#false} assume 3bv32 == main_~result~0#1; {4211#false} is VALID [2022-02-20 18:15:54,906 INFO L290 TraceCheckUtils]: 57: Hoare triple {4211#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {4211#false} is VALID [2022-02-20 18:15:54,907 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} {4407#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} #45#return; {4211#false} is VALID [2022-02-20 18:15:54,915 INFO L290 TraceCheckUtils]: 55: Hoare triple {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} assume true; {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:54,916 INFO L290 TraceCheckUtils]: 54: Hoare triple {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:54,918 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} #53#return; {4379#(bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 18:15:54,919 INFO L290 TraceCheckUtils]: 52: Hoare triple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} assume true; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,919 INFO L290 TraceCheckUtils]: 51: Hoare triple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,920 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4210#true} {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} #49#return; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,920 INFO L290 TraceCheckUtils]: 49: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,920 INFO L290 TraceCheckUtils]: 48: Hoare triple {4210#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4210#true} is VALID [2022-02-20 18:15:54,920 INFO L290 TraceCheckUtils]: 47: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,920 INFO L272 TraceCheckUtils]: 46: Hoare triple {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,921 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} {4448#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} #47#return; {4354#(bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))} is VALID [2022-02-20 18:15:54,921 INFO L290 TraceCheckUtils]: 44: Hoare triple {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} assume true; {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:54,921 INFO L290 TraceCheckUtils]: 43: Hoare triple {4458#(or (not (bvslt fibo1_~n (_ bv1 32))) (bvslt |fibo1_#in~n| (_ bv1 32)))} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4347#(bvslt |fibo1_#in~n| (_ bv1 32))} is VALID [2022-02-20 18:15:54,922 INFO L290 TraceCheckUtils]: 42: Hoare triple {4210#true} ~n := #in~n; {4458#(or (not (bvslt fibo1_~n (_ bv1 32))) (bvslt |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:54,922 INFO L272 TraceCheckUtils]: 41: Hoare triple {4448#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,922 INFO L290 TraceCheckUtils]: 40: Hoare triple {4448#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} assume !(1bv32 == ~n); {4448#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,922 INFO L290 TraceCheckUtils]: 39: Hoare triple {4448#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {4448#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,923 INFO L290 TraceCheckUtils]: 38: Hoare triple {4210#true} ~n := #in~n; {4448#(or (not (bvslt (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32))) (bvslt (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,923 INFO L272 TraceCheckUtils]: 37: Hoare triple {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,923 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4210#true} {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} #51#return; {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,923 INFO L290 TraceCheckUtils]: 35: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,923 INFO L290 TraceCheckUtils]: 34: Hoare triple {4210#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {4210#true} is VALID [2022-02-20 18:15:54,923 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4210#true} {4210#true} #49#return; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 32: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 31: Hoare triple {4210#true} assume 1bv32 == ~n;#res := 1bv32; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 30: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 29: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L272 TraceCheckUtils]: 28: Hoare triple {4210#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4210#true} {4210#true} #47#return; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {4210#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {4210#true} {4210#true} #53#return; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 23: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 22: Hoare triple {4210#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 21: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L272 TraceCheckUtils]: 20: Hoare triple {4210#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4210#true} {4210#true} #51#return; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 18: Hoare triple {4210#true} assume true; {4210#true} is VALID [2022-02-20 18:15:54,924 INFO L290 TraceCheckUtils]: 17: Hoare triple {4210#true} assume 1bv32 == ~n;#res := 1bv32; {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L272 TraceCheckUtils]: 14: Hoare triple {4210#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {4210#true} assume !(1bv32 == ~n); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 12: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L272 TraceCheckUtils]: 10: Hoare triple {4210#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {4210#true} assume !(1bv32 == ~n); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {4210#true} assume !~bvslt32(~n, 1bv32); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {4210#true} ~n := #in~n; {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L272 TraceCheckUtils]: 6: Hoare triple {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4210#true} is VALID [2022-02-20 18:15:54,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume !(1bv32 == ~n); {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,926 INFO L290 TraceCheckUtils]: 4: Hoare triple {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume !~bvslt32(~n, 1bv32); {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,926 INFO L290 TraceCheckUtils]: 3: Hoare triple {4210#true} ~n := #in~n; {4420#(or (not (bvslt (bvadd (_ bv4294967293 32) fibo1_~n) (_ bv1 32))) (bvslt (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,926 INFO L272 TraceCheckUtils]: 2: Hoare triple {4407#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} call main_#t~ret8#1 := fibo1(main_~x~0#1); {4210#true} is VALID [2022-02-20 18:15:54,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {4210#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {4407#(not (bvslt (bvadd |ULTIMATE.start_main_~x~0#1| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:54,927 INFO L290 TraceCheckUtils]: 0: Hoare triple {4210#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4210#true} is VALID [2022-02-20 18:15:54,927 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 28 proven. 12 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 18:15:54,927 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:54,927 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1467894020] [2022-02-20 18:15:54,927 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1467894020] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:54,927 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:54,928 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2022-02-20 18:15:54,928 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1804182052] [2022-02-20 18:15:54,928 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:54,928 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 4.0) internal successors, (40), 12 states have internal predecessors, (40), 8 states have call successors, (13), 1 states have call predecessors, (13), 4 states have return successors, (13), 6 states have call predecessors, (13), 8 states have call successors, (13) Word has length 60 [2022-02-20 18:15:54,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:54,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 4.0) internal successors, (40), 12 states have internal predecessors, (40), 8 states have call successors, (13), 1 states have call predecessors, (13), 4 states have return successors, (13), 6 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 18:15:55,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:55,013 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 18:15:55,013 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:55,014 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 18:15:55,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-02-20 18:15:55,014 INFO L87 Difference]: Start difference. First operand 52 states and 95 transitions. Second operand has 12 states, 10 states have (on average 4.0) internal successors, (40), 12 states have internal predecessors, (40), 8 states have call successors, (13), 1 states have call predecessors, (13), 4 states have return successors, (13), 6 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 18:15:55,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:55,554 INFO L93 Difference]: Finished difference Result 72 states and 141 transitions. [2022-02-20 18:15:55,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:15:55,554 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 4.0) internal successors, (40), 12 states have internal predecessors, (40), 8 states have call successors, (13), 1 states have call predecessors, (13), 4 states have return successors, (13), 6 states have call predecessors, (13), 8 states have call successors, (13) Word has length 60 [2022-02-20 18:15:55,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:55,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 4.0) internal successors, (40), 12 states have internal predecessors, (40), 8 states have call successors, (13), 1 states have call predecessors, (13), 4 states have return successors, (13), 6 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 18:15:55,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 18:15:55,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 4.0) internal successors, (40), 12 states have internal predecessors, (40), 8 states have call successors, (13), 1 states have call predecessors, (13), 4 states have return successors, (13), 6 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 18:15:55,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 18:15:55,556 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-02-20 18:15:55,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:55,605 INFO L225 Difference]: With dead ends: 72 [2022-02-20 18:15:55,605 INFO L226 Difference]: Without dead ends: 68 [2022-02-20 18:15:55,605 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 108 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:15:55,606 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 27 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:55,606 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 105 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 18:15:55,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-02-20 18:15:55,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 56. [2022-02-20 18:15:55,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:55,611 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 35 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 12 states have return successors, (63), 18 states have call predecessors, (63), 12 states have call successors, (63) [2022-02-20 18:15:55,611 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 35 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 12 states have return successors, (63), 18 states have call predecessors, (63), 12 states have call successors, (63) [2022-02-20 18:15:55,611 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 35 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 12 states have return successors, (63), 18 states have call predecessors, (63), 12 states have call successors, (63) [2022-02-20 18:15:55,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:55,614 INFO L93 Difference]: Finished difference Result 68 states and 137 transitions. [2022-02-20 18:15:55,614 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 137 transitions. [2022-02-20 18:15:55,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:55,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:55,615 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 35 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 12 states have return successors, (63), 18 states have call predecessors, (63), 12 states have call successors, (63) Second operand 68 states. [2022-02-20 18:15:55,615 INFO L87 Difference]: Start difference. First operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 35 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 12 states have return successors, (63), 18 states have call predecessors, (63), 12 states have call successors, (63) Second operand 68 states. [2022-02-20 18:15:55,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:55,618 INFO L93 Difference]: Finished difference Result 68 states and 137 transitions. [2022-02-20 18:15:55,618 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 137 transitions. [2022-02-20 18:15:55,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:55,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:55,619 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:55,619 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:55,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 35 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 12 states have return successors, (63), 18 states have call predecessors, (63), 12 states have call successors, (63) [2022-02-20 18:15:55,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 110 transitions. [2022-02-20 18:15:55,621 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 110 transitions. Word has length 60 [2022-02-20 18:15:55,621 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:55,621 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 110 transitions. [2022-02-20 18:15:55,622 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 4.0) internal successors, (40), 12 states have internal predecessors, (40), 8 states have call successors, (13), 1 states have call predecessors, (13), 4 states have return successors, (13), 6 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 18:15:55,622 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 110 transitions. [2022-02-20 18:15:55,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-02-20 18:15:55,622 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:55,623 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:55,631 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Ended with exit code 0 [2022-02-20 18:15:55,829 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:55,829 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:55,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:55,830 INFO L85 PathProgramCache]: Analyzing trace with hash 1755976883, now seen corresponding path program 2 times [2022-02-20 18:15:55,830 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:55,830 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [98011317] [2022-02-20 18:15:55,830 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 18:15:55,830 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:55,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:55,831 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:55,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2022-02-20 18:15:55,875 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 18:15:55,875 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:15:55,877 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:15:55,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:15:55,892 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:15:56,061 INFO L290 TraceCheckUtils]: 0: Hoare triple {4876#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4876#true} is VALID [2022-02-20 18:15:56,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {4876#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {4884#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:56,062 INFO L272 TraceCheckUtils]: 2: Hoare triple {4884#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {4876#true} is VALID [2022-02-20 18:15:56,062 INFO L290 TraceCheckUtils]: 3: Hoare triple {4876#true} ~n := #in~n; {4891#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:56,062 INFO L290 TraceCheckUtils]: 4: Hoare triple {4891#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {4891#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:56,063 INFO L290 TraceCheckUtils]: 5: Hoare triple {4891#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {4891#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:56,063 INFO L272 TraceCheckUtils]: 6: Hoare triple {4891#(= |fibo1_#in~n| fibo1_~n)} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L290 TraceCheckUtils]: 7: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L290 TraceCheckUtils]: 8: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {4876#true} assume !(1bv32 == ~n); {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L272 TraceCheckUtils]: 10: Hoare triple {4876#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {4876#true} assume !(1bv32 == ~n); {4876#true} is VALID [2022-02-20 18:15:56,063 INFO L272 TraceCheckUtils]: 14: Hoare triple {4876#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L290 TraceCheckUtils]: 16: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L290 TraceCheckUtils]: 17: Hoare triple {4876#true} assume 1bv32 == ~n;#res := 1bv32; {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4876#true} {4876#true} #51#return; {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L272 TraceCheckUtils]: 20: Hoare triple {4876#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {4876#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L290 TraceCheckUtils]: 23: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {4876#true} {4876#true} #53#return; {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {4876#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L290 TraceCheckUtils]: 26: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4876#true} {4876#true} #47#return; {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L272 TraceCheckUtils]: 28: Hoare triple {4876#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L290 TraceCheckUtils]: 29: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L290 TraceCheckUtils]: 30: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,065 INFO L290 TraceCheckUtils]: 31: Hoare triple {4876#true} assume 1bv32 == ~n;#res := 1bv32; {4876#true} is VALID [2022-02-20 18:15:56,066 INFO L290 TraceCheckUtils]: 32: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,066 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4876#true} {4876#true} #49#return; {4876#true} is VALID [2022-02-20 18:15:56,066 INFO L290 TraceCheckUtils]: 34: Hoare triple {4876#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {4876#true} is VALID [2022-02-20 18:15:56,066 INFO L290 TraceCheckUtils]: 35: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,073 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4876#true} {4891#(= |fibo1_#in~n| fibo1_~n)} #51#return; {4891#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:56,073 INFO L272 TraceCheckUtils]: 37: Hoare triple {4891#(= |fibo1_#in~n| fibo1_~n)} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,074 INFO L290 TraceCheckUtils]: 38: Hoare triple {4876#true} ~n := #in~n; {4997#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:56,074 INFO L290 TraceCheckUtils]: 39: Hoare triple {4997#(= |fibo2_#in~n| fibo2_~n)} assume !~bvslt32(~n, 1bv32); {4997#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:56,074 INFO L290 TraceCheckUtils]: 40: Hoare triple {4997#(= |fibo2_#in~n| fibo2_~n)} assume !(1bv32 == ~n); {4997#(= |fibo2_#in~n| fibo2_~n)} is VALID [2022-02-20 18:15:56,074 INFO L272 TraceCheckUtils]: 41: Hoare triple {4997#(= |fibo2_#in~n| fibo2_~n)} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,075 INFO L290 TraceCheckUtils]: 42: Hoare triple {4876#true} ~n := #in~n; {4891#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:56,075 INFO L290 TraceCheckUtils]: 43: Hoare triple {4891#(= |fibo1_#in~n| fibo1_~n)} assume !~bvslt32(~n, 1bv32); {4891#(= |fibo1_#in~n| fibo1_~n)} is VALID [2022-02-20 18:15:56,076 INFO L290 TraceCheckUtils]: 44: Hoare triple {4891#(= |fibo1_#in~n| fibo1_~n)} assume !(1bv32 == ~n); {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,076 INFO L272 TraceCheckUtils]: 45: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,076 INFO L290 TraceCheckUtils]: 46: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,076 INFO L290 TraceCheckUtils]: 47: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,076 INFO L290 TraceCheckUtils]: 48: Hoare triple {4876#true} assume 1bv32 == ~n;#res := 1bv32; {4876#true} is VALID [2022-02-20 18:15:56,076 INFO L290 TraceCheckUtils]: 49: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,077 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4876#true} {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} #51#return; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,077 INFO L272 TraceCheckUtils]: 51: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,077 INFO L290 TraceCheckUtils]: 52: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,077 INFO L290 TraceCheckUtils]: 53: Hoare triple {4876#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4876#true} is VALID [2022-02-20 18:15:56,077 INFO L290 TraceCheckUtils]: 54: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,078 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4876#true} {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} #53#return; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,078 INFO L290 TraceCheckUtils]: 56: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,079 INFO L290 TraceCheckUtils]: 57: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} assume true; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,079 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} {4997#(= |fibo2_#in~n| fibo2_~n)} #47#return; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,079 INFO L272 TraceCheckUtils]: 59: Hoare triple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,080 INFO L290 TraceCheckUtils]: 60: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,080 INFO L290 TraceCheckUtils]: 61: Hoare triple {4876#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4876#true} is VALID [2022-02-20 18:15:56,080 INFO L290 TraceCheckUtils]: 62: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,080 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4876#true} {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} #49#return; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,081 INFO L290 TraceCheckUtils]: 64: Hoare triple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,081 INFO L290 TraceCheckUtils]: 65: Hoare triple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} assume true; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,082 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} {4891#(= |fibo1_#in~n| fibo1_~n)} #53#return; {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,082 INFO L290 TraceCheckUtils]: 67: Hoare triple {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,082 INFO L290 TraceCheckUtils]: 68: Hoare triple {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume true; {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,083 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} {4884#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {4877#false} is VALID [2022-02-20 18:15:56,083 INFO L290 TraceCheckUtils]: 70: Hoare triple {4877#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {4877#false} is VALID [2022-02-20 18:15:56,083 INFO L290 TraceCheckUtils]: 71: Hoare triple {4877#false} assume 3bv32 == main_~result~0#1; {4877#false} is VALID [2022-02-20 18:15:56,083 INFO L290 TraceCheckUtils]: 72: Hoare triple {4877#false} assume !false; {4877#false} is VALID [2022-02-20 18:15:56,083 INFO L134 CoverageAnalysis]: Checked inductivity of 124 backedges. 37 proven. 17 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-02-20 18:15:56,084 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:15:56,694 INFO L290 TraceCheckUtils]: 72: Hoare triple {4877#false} assume !false; {4877#false} is VALID [2022-02-20 18:15:56,695 INFO L290 TraceCheckUtils]: 71: Hoare triple {4877#false} assume 3bv32 == main_~result~0#1; {4877#false} is VALID [2022-02-20 18:15:56,695 INFO L290 TraceCheckUtils]: 70: Hoare triple {4877#false} main_~result~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {4877#false} is VALID [2022-02-20 18:15:56,695 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} {4884#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} #45#return; {4877#false} is VALID [2022-02-20 18:15:56,695 INFO L290 TraceCheckUtils]: 68: Hoare triple {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} assume true; {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,696 INFO L290 TraceCheckUtils]: 67: Hoare triple {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,701 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} #53#return; {5084#(not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,701 INFO L290 TraceCheckUtils]: 65: Hoare triple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} assume true; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,701 INFO L290 TraceCheckUtils]: 64: Hoare triple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,702 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4876#true} {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} #49#return; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,702 INFO L290 TraceCheckUtils]: 62: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,702 INFO L290 TraceCheckUtils]: 61: Hoare triple {4876#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4876#true} is VALID [2022-02-20 18:15:56,702 INFO L290 TraceCheckUtils]: 60: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,702 INFO L272 TraceCheckUtils]: 59: Hoare triple {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,716 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} {5152#(or (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32)) (not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))))} #47#return; {5059#(not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32)))} is VALID [2022-02-20 18:15:56,716 INFO L290 TraceCheckUtils]: 57: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} assume true; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,716 INFO L290 TraceCheckUtils]: 56: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,717 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4876#true} {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} #53#return; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,717 INFO L290 TraceCheckUtils]: 54: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,717 INFO L290 TraceCheckUtils]: 53: Hoare triple {4876#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4876#true} is VALID [2022-02-20 18:15:56,717 INFO L290 TraceCheckUtils]: 52: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,717 INFO L272 TraceCheckUtils]: 51: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,718 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4876#true} {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} #51#return; {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,718 INFO L290 TraceCheckUtils]: 49: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,718 INFO L290 TraceCheckUtils]: 48: Hoare triple {4876#true} assume 1bv32 == ~n;#res := 1bv32; {4876#true} is VALID [2022-02-20 18:15:56,718 INFO L290 TraceCheckUtils]: 47: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,718 INFO L290 TraceCheckUtils]: 46: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,718 INFO L272 TraceCheckUtils]: 45: Hoare triple {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,719 INFO L290 TraceCheckUtils]: 44: Hoare triple {5198#(or (not (= |fibo1_#in~n| (_ bv1 32))) (= (_ bv1 32) fibo1_~n))} assume !(1bv32 == ~n); {5016#(not (= |fibo1_#in~n| (_ bv1 32)))} is VALID [2022-02-20 18:15:56,719 INFO L290 TraceCheckUtils]: 43: Hoare triple {5198#(or (not (= |fibo1_#in~n| (_ bv1 32))) (= (_ bv1 32) fibo1_~n))} assume !~bvslt32(~n, 1bv32); {5198#(or (not (= |fibo1_#in~n| (_ bv1 32))) (= (_ bv1 32) fibo1_~n))} is VALID [2022-02-20 18:15:56,719 INFO L290 TraceCheckUtils]: 42: Hoare triple {4876#true} ~n := #in~n; {5198#(or (not (= |fibo1_#in~n| (_ bv1 32))) (= (_ bv1 32) fibo1_~n))} is VALID [2022-02-20 18:15:56,720 INFO L272 TraceCheckUtils]: 41: Hoare triple {5152#(or (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32)) (not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))))} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,720 INFO L290 TraceCheckUtils]: 40: Hoare triple {5152#(or (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32)) (not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))))} assume !(1bv32 == ~n); {5152#(or (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32)) (not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))))} is VALID [2022-02-20 18:15:56,720 INFO L290 TraceCheckUtils]: 39: Hoare triple {5152#(or (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32)) (not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))))} assume !~bvslt32(~n, 1bv32); {5152#(or (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32)) (not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))))} is VALID [2022-02-20 18:15:56,720 INFO L290 TraceCheckUtils]: 38: Hoare triple {4876#true} ~n := #in~n; {5152#(or (= (bvadd (_ bv4294967295 32) fibo2_~n) (_ bv1 32)) (not (= (bvadd (_ bv4294967295 32) |fibo2_#in~n|) (_ bv1 32))))} is VALID [2022-02-20 18:15:56,721 INFO L272 TraceCheckUtils]: 37: Hoare triple {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,721 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4876#true} {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} #51#return; {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} is VALID [2022-02-20 18:15:56,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,721 INFO L290 TraceCheckUtils]: 34: Hoare triple {4876#true} #res := ~bvadd32(#t~ret6, #t~ret7);havoc #t~ret6;havoc #t~ret7; {4876#true} is VALID [2022-02-20 18:15:56,721 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4876#true} {4876#true} #49#return; {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L290 TraceCheckUtils]: 32: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L290 TraceCheckUtils]: 31: Hoare triple {4876#true} assume 1bv32 == ~n;#res := 1bv32; {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L272 TraceCheckUtils]: 28: Hoare triple {4876#true} call #t~ret7 := fibo1(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4876#true} {4876#true} #47#return; {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,722 INFO L290 TraceCheckUtils]: 25: Hoare triple {4876#true} #res := ~bvadd32(#t~ret4, #t~ret5);havoc #t~ret4;havoc #t~ret5; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {4876#true} {4876#true} #53#return; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L290 TraceCheckUtils]: 23: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L290 TraceCheckUtils]: 22: Hoare triple {4876#true} assume ~bvslt32(~n, 1bv32);#res := 0bv32; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L290 TraceCheckUtils]: 21: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L272 TraceCheckUtils]: 20: Hoare triple {4876#true} call #t~ret5 := fibo2(~bvsub32(~n, 2bv32)); {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4876#true} {4876#true} #51#return; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {4876#true} assume true; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {4876#true} assume 1bv32 == ~n;#res := 1bv32; {4876#true} is VALID [2022-02-20 18:15:56,723 INFO L290 TraceCheckUtils]: 16: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L290 TraceCheckUtils]: 15: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L272 TraceCheckUtils]: 14: Hoare triple {4876#true} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L290 TraceCheckUtils]: 13: Hoare triple {4876#true} assume !(1bv32 == ~n); {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L290 TraceCheckUtils]: 12: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L290 TraceCheckUtils]: 11: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L272 TraceCheckUtils]: 10: Hoare triple {4876#true} call #t~ret6 := fibo1(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L290 TraceCheckUtils]: 9: Hoare triple {4876#true} assume !(1bv32 == ~n); {4876#true} is VALID [2022-02-20 18:15:56,724 INFO L290 TraceCheckUtils]: 8: Hoare triple {4876#true} assume !~bvslt32(~n, 1bv32); {4876#true} is VALID [2022-02-20 18:15:56,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {4876#true} ~n := #in~n; {4876#true} is VALID [2022-02-20 18:15:56,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} call #t~ret4 := fibo2(~bvsub32(~n, 1bv32)); {4876#true} is VALID [2022-02-20 18:15:56,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} assume !(1bv32 == ~n); {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} is VALID [2022-02-20 18:15:56,725 INFO L290 TraceCheckUtils]: 4: Hoare triple {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} assume !~bvslt32(~n, 1bv32); {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} is VALID [2022-02-20 18:15:56,726 INFO L290 TraceCheckUtils]: 3: Hoare triple {4876#true} ~n := #in~n; {5124#(or (not (= (bvadd |fibo1_#in~n| (_ bv4294967293 32)) (_ bv1 32))) (= (_ bv2 32) (bvadd (_ bv4294967294 32) fibo1_~n)))} is VALID [2022-02-20 18:15:56,726 INFO L272 TraceCheckUtils]: 2: Hoare triple {4884#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret8#1 := fibo1(main_~x~0#1); {4876#true} is VALID [2022-02-20 18:15:56,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {4876#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret8#1, main_~x~0#1, main_~result~0#1;main_~x~0#1 := 4bv32; {4884#(= (_ bv4 32) |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 18:15:56,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {4876#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(18bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4876#true} is VALID [2022-02-20 18:15:56,727 INFO L134 CoverageAnalysis]: Checked inductivity of 124 backedges. 37 proven. 19 refuted. 0 times theorem prover too weak. 68 trivial. 0 not checked. [2022-02-20 18:15:56,727 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 18:15:56,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [98011317] [2022-02-20 18:15:56,727 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [98011317] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:15:56,727 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:15:56,727 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 11 [2022-02-20 18:15:56,727 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1934541255] [2022-02-20 18:15:56,728 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 18:15:56,728 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.1) internal successors, (41), 11 states have internal predecessors, (41), 8 states have call successors, (14), 1 states have call predecessors, (14), 4 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) Word has length 73 [2022-02-20 18:15:56,730 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:15:56,731 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 4.1) internal successors, (41), 11 states have internal predecessors, (41), 8 states have call successors, (14), 1 states have call predecessors, (14), 4 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:15:56,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:56,779 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 18:15:56,779 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 18:15:56,780 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 18:15:56,780 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:15:56,785 INFO L87 Difference]: Start difference. First operand 56 states and 110 transitions. Second operand has 11 states, 10 states have (on average 4.1) internal successors, (41), 11 states have internal predecessors, (41), 8 states have call successors, (14), 1 states have call predecessors, (14), 4 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:15:57,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:57,153 INFO L93 Difference]: Finished difference Result 74 states and 141 transitions. [2022-02-20 18:15:57,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 18:15:57,154 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.1) internal successors, (41), 11 states have internal predecessors, (41), 8 states have call successors, (14), 1 states have call predecessors, (14), 4 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) Word has length 73 [2022-02-20 18:15:57,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:15:57,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.1) internal successors, (41), 11 states have internal predecessors, (41), 8 states have call successors, (14), 1 states have call predecessors, (14), 4 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:15:57,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-02-20 18:15:57,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.1) internal successors, (41), 11 states have internal predecessors, (41), 8 states have call successors, (14), 1 states have call predecessors, (14), 4 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:15:57,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-02-20 18:15:57,156 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-02-20 18:15:57,202 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:15:57,205 INFO L225 Difference]: With dead ends: 74 [2022-02-20 18:15:57,205 INFO L226 Difference]: Without dead ends: 68 [2022-02-20 18:15:57,205 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 133 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:15:57,206 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 21 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:15:57,206 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 112 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:15:57,206 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-02-20 18:15:57,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 55. [2022-02-20 18:15:57,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:15:57,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 55 states, 32 states have (on average 1.15625) internal successors, (37), 35 states have internal predecessors, (37), 11 states have call successors, (11), 3 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:57,222 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 55 states, 32 states have (on average 1.15625) internal successors, (37), 35 states have internal predecessors, (37), 11 states have call successors, (11), 3 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:57,222 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 55 states, 32 states have (on average 1.15625) internal successors, (37), 35 states have internal predecessors, (37), 11 states have call successors, (11), 3 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:57,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:57,226 INFO L93 Difference]: Finished difference Result 68 states and 135 transitions. [2022-02-20 18:15:57,226 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 135 transitions. [2022-02-20 18:15:57,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:57,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:57,227 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 32 states have (on average 1.15625) internal successors, (37), 35 states have internal predecessors, (37), 11 states have call successors, (11), 3 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 68 states. [2022-02-20 18:15:57,227 INFO L87 Difference]: Start difference. First operand has 55 states, 32 states have (on average 1.15625) internal successors, (37), 35 states have internal predecessors, (37), 11 states have call successors, (11), 3 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) Second operand 68 states. [2022-02-20 18:15:57,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:15:57,231 INFO L93 Difference]: Finished difference Result 68 states and 135 transitions. [2022-02-20 18:15:57,231 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 135 transitions. [2022-02-20 18:15:57,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:15:57,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:15:57,232 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:15:57,232 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:15:57,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 32 states have (on average 1.15625) internal successors, (37), 35 states have internal predecessors, (37), 11 states have call successors, (11), 3 states have call predecessors, (11), 11 states have return successors, (51), 16 states have call predecessors, (51), 11 states have call successors, (51) [2022-02-20 18:15:57,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 99 transitions. [2022-02-20 18:15:57,240 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 99 transitions. Word has length 73 [2022-02-20 18:15:57,240 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:15:57,241 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 99 transitions. [2022-02-20 18:15:57,241 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 4.1) internal successors, (41), 11 states have internal predecessors, (41), 8 states have call successors, (14), 1 states have call predecessors, (14), 4 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:15:57,241 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 99 transitions. [2022-02-20 18:15:57,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-02-20 18:15:57,242 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:15:57,242 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:57,267 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:57,447 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:57,447 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:15:57,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:15:57,448 INFO L85 PathProgramCache]: Analyzing trace with hash -175386786, now seen corresponding path program 3 times [2022-02-20 18:15:57,448 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 18:15:57,448 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [933678445] [2022-02-20 18:15:57,448 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 18:15:57,448 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 18:15:57,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 18:15:57,449 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 18:15:57,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2022-02-20 18:15:57,483 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-02-20 18:15:57,483 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-02-20 18:15:57,483 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 18:15:57,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 18:15:57,522 INFO L138 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2022-02-20 18:15:57,522 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 18:15:57,523 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 18:15:57,536 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2022-02-20 18:15:57,731 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 18:15:57,733 INFO L732 BasicCegarLoop]: Path program histogram: [3, 2, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 18:15:57,735 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 18:15:57,750 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret8 := fibo1(~x~0); [2022-02-20 18:15:57,753 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:230) 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:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) 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:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 18:15:57,756 INFO L158 Benchmark]: Toolchain (without parser) took 18674.98ms. Allocated memory was 54.5MB in the beginning and 88.1MB in the end (delta: 33.6MB). Free memory was 31.8MB in the beginning and 30.9MB in the end (delta: 895.1kB). Peak memory consumption was 34.4MB. Max. memory is 16.1GB. [2022-02-20 18:15:57,757 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 54.5MB. Free memory is still 36.4MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:15:57,757 INFO L158 Benchmark]: CACSL2BoogieTranslator took 251.11ms. Allocated memory was 54.5MB in the beginning and 73.4MB in the end (delta: 18.9MB). Free memory was 31.7MB in the beginning and 56.9MB in the end (delta: -25.3MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. [2022-02-20 18:15:57,757 INFO L158 Benchmark]: Boogie Procedure Inliner took 38.05ms. Allocated memory is still 73.4MB. Free memory was 56.7MB in the beginning and 55.3MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:15:57,757 INFO L158 Benchmark]: Boogie Preprocessor took 14.87ms. Allocated memory is still 73.4MB. Free memory was 55.3MB in the beginning and 54.4MB in the end (delta: 957.2kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:15:57,757 INFO L158 Benchmark]: RCFGBuilder took 281.39ms. Allocated memory is still 73.4MB. Free memory was 54.2MB in the beginning and 44.9MB in the end (delta: 9.3MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 18:15:57,758 INFO L158 Benchmark]: TraceAbstraction took 18077.41ms. Allocated memory was 73.4MB in the beginning and 88.1MB in the end (delta: 14.7MB). Free memory was 44.5MB in the beginning and 30.9MB in the end (delta: 13.6MB). Peak memory consumption was 30.8MB. Max. memory is 16.1GB. [2022-02-20 18:15:57,759 INFO L339 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.16ms. Allocated memory is still 54.5MB. Free memory is still 36.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 251.11ms. Allocated memory was 54.5MB in the beginning and 73.4MB in the end (delta: 18.9MB). Free memory was 31.7MB in the beginning and 56.9MB in the end (delta: -25.3MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 38.05ms. Allocated memory is still 73.4MB. Free memory was 56.7MB in the beginning and 55.3MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 14.87ms. Allocated memory is still 73.4MB. Free memory was 55.3MB in the beginning and 54.4MB in the end (delta: 957.2kB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 281.39ms. Allocated memory is still 73.4MB. Free memory was 54.2MB in the beginning and 44.9MB in the end (delta: 9.3MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * TraceAbstraction took 18077.41ms. Allocated memory was 73.4MB in the beginning and 88.1MB in the end (delta: 14.7MB). Free memory was 44.5MB in the beginning and 30.9MB in the end (delta: 13.6MB). Peak memory consumption was 30.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - 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:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 18:15:57,781 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator