./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/recursive/Fibonacci05.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 826ab2ba Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/config/KojakReach.xml -i ../../sv-benchmarks/c/recursive/Fibonacci05.c -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 97829031814878890268a6b8dbba5c3e987e2ec78ab2dc94181f9e68090060bd --- Real Ultimate output --- This is Ultimate 0.3.0-dev-826ab2b [2024-11-13 23:08:31,648 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-13 23:08:31,769 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/config/svcomp-Reach-32bit-Kojak_Default.epf [2024-11-13 23:08:31,780 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-13 23:08:31,780 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.Interpolating solver [2024-11-13 23:08:31,823 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-13 23:08:31,826 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-13 23:08:31,826 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ALWAYS [2024-11-13 23:08:31,827 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-13 23:08:31,828 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-13 23:08:31,829 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-13 23:08:31,829 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-13 23:08:31,829 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-13 23:08:31,829 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-13 23:08:31,830 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-13 23:08:31,830 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-13 23:08:31,831 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-13 23:08:31,831 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-13 23:08:31,831 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-13 23:08:31,831 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-13 23:08:31,831 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-13 23:08:31,831 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-13 23:08:31,831 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-13 23:08:31,832 INFO L151 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2024-11-13 23:08:31,832 INFO L153 SettingsManager]: * Timeout in seconds=1000000 [2024-11-13 23:08:31,832 INFO L153 SettingsManager]: * Theory for external solver=ALL [2024-11-13 23:08:31,832 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-13 23:08:31,832 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2024-11-13 23:08:31,833 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-13 23:08:31,833 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-13 23:08:31,833 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-13 23:08:31,834 INFO L153 SettingsManager]: * Trace refinement strategy=PENGUIN [2024-11-13 23:08:31,834 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-13 23:08:31,834 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness 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 -> Kojak 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 -> 97829031814878890268a6b8dbba5c3e987e2ec78ab2dc94181f9e68090060bd [2024-11-13 23:08:32,201 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-13 23:08:32,211 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-13 23:08:32,214 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-13 23:08:32,215 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-13 23:08:32,216 INFO L274 PluginConnector]: CDTParser initialized [2024-11-13 23:08:32,217 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/../../sv-benchmarks/c/recursive/Fibonacci05.c Unable to find full path for "g++" [2024-11-13 23:08:34,351 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-13 23:08:34,692 INFO L384 CDTParser]: Found 1 translation units. [2024-11-13 23:08:34,693 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/sv-benchmarks/c/recursive/Fibonacci05.c [2024-11-13 23:08:34,704 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/data/90cf53a43/a6ad6989bb4b460bb0d1b8d6c134f86d/FLAG21c23488d [2024-11-13 23:08:34,721 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/data/90cf53a43/a6ad6989bb4b460bb0d1b8d6c134f86d [2024-11-13 23:08:34,724 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-13 23:08:34,726 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-13 23:08:34,728 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-13 23:08:34,728 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-13 23:08:34,734 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-13 23:08:34,735 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.11 11:08:34" (1/1) ... [2024-11-13 23:08:34,737 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2b78f574 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:34, skipping insertion in model container [2024-11-13 23:08:34,737 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.11 11:08:34" (1/1) ... [2024-11-13 23:08:34,767 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-13 23:08:34,999 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/sv-benchmarks/c/recursive/Fibonacci05.c[746,759] [2024-11-13 23:08:35,003 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-13 23:08:35,016 INFO L200 MainTranslator]: Completed pre-run [2024-11-13 23:08:35,035 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/sv-benchmarks/c/recursive/Fibonacci05.c[746,759] [2024-11-13 23:08:35,036 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-13 23:08:35,053 INFO L204 MainTranslator]: Completed translation [2024-11-13 23:08:35,054 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35 WrapperNode [2024-11-13 23:08:35,055 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-13 23:08:35,056 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-13 23:08:35,056 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-13 23:08:35,056 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-13 23:08:35,065 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,072 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,097 INFO L138 Inliner]: procedures = 13, calls = 10, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 23 [2024-11-13 23:08:35,097 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-13 23:08:35,098 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-13 23:08:35,098 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-13 23:08:35,098 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-13 23:08:35,107 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,108 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,110 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,111 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,115 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,118 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,120 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,124 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,126 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-13 23:08:35,127 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-13 23:08:35,127 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-13 23:08:35,127 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-13 23:08:35,132 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,139 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2024-11-13 23:08:35,157 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/z3 [2024-11-13 23:08:35,171 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) [2024-11-13 23:08:35,175 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Waiting until timeout for monitored process [2024-11-13 23:08:35,208 INFO L130 BoogieDeclarations]: Found specification of procedure fibonacci [2024-11-13 23:08:35,208 INFO L138 BoogieDeclarations]: Found implementation of procedure fibonacci [2024-11-13 23:08:35,208 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-13 23:08:35,208 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-13 23:08:35,209 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-13 23:08:35,209 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-11-13 23:08:35,298 INFO L238 CfgBuilder]: Building ICFG [2024-11-13 23:08:35,301 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-13 23:08:35,458 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2024-11-13 23:08:35,458 INFO L287 CfgBuilder]: Performing block encoding [2024-11-13 23:08:35,481 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-13 23:08:35,481 INFO L316 CfgBuilder]: Removed 0 assume(true) statements. [2024-11-13 23:08:35,482 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.11 11:08:35 BoogieIcfgContainer [2024-11-13 23:08:35,482 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-13 23:08:35,483 INFO L112 PluginConnector]: ------------------------CodeCheck---------------------------- [2024-11-13 23:08:35,483 INFO L270 PluginConnector]: Initializing CodeCheck... [2024-11-13 23:08:35,496 INFO L274 PluginConnector]: CodeCheck initialized [2024-11-13 23:08:35,497 INFO L184 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.11 11:08:35" (1/1) ... [2024-11-13 23:08:35,507 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-13 23:08:35,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:35,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 17 states and 21 transitions. [2024-11-13 23:08:35,577 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 21 transitions. [2024-11-13 23:08:35,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2024-11-13 23:08:35,583 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:35,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:35,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:35,934 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-13 23:08:36,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:36,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 21 states and 28 transitions. [2024-11-13 23:08:36,084 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 28 transitions. [2024-11-13 23:08:36,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2024-11-13 23:08:36,085 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:36,085 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:36,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:36,214 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-13 23:08:36,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:36,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 25 states and 35 transitions. [2024-11-13 23:08:36,466 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 35 transitions. [2024-11-13 23:08:36,467 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2024-11-13 23:08:36,467 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:36,467 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:36,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:36,838 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-13 23:08:37,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:37,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 25 states and 34 transitions. [2024-11-13 23:08:37,108 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 34 transitions. [2024-11-13 23:08:37,109 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2024-11-13 23:08:37,109 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:37,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:37,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:37,346 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-11-13 23:08:37,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:37,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 32 states and 49 transitions. [2024-11-13 23:08:37,894 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 49 transitions. [2024-11-13 23:08:37,896 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2024-11-13 23:08:37,897 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:37,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:37,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:38,343 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 23 proven. 8 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2024-11-13 23:08:39,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:39,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 35 states and 56 transitions. [2024-11-13 23:08:39,221 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 56 transitions. [2024-11-13 23:08:39,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2024-11-13 23:08:39,223 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:39,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:39,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:39,457 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2024-11-13 23:08:40,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:40,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 42 states and 74 transitions. [2024-11-13 23:08:40,092 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 74 transitions. [2024-11-13 23:08:40,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2024-11-13 23:08:40,095 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:40,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:40,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:40,536 INFO L134 CoverageAnalysis]: Checked inductivity of 111 backedges. 47 proven. 28 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2024-11-13 23:08:41,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:41,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 42 states and 73 transitions. [2024-11-13 23:08:41,167 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 73 transitions. [2024-11-13 23:08:41,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2024-11-13 23:08:41,170 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:41,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:41,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:41,536 INFO L134 CoverageAnalysis]: Checked inductivity of 296 backedges. 22 proven. 127 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2024-11-13 23:08:42,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:42,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 49 states and 93 transitions. [2024-11-13 23:08:42,303 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 93 transitions. [2024-11-13 23:08:42,307 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2024-11-13 23:08:42,307 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:42,307 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:42,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:42,785 INFO L134 CoverageAnalysis]: Checked inductivity of 417 backedges. 131 proven. 122 refuted. 0 times theorem prover too weak. 164 trivial. 0 not checked. [2024-11-13 23:08:43,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:43,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 49 states and 92 transitions. [2024-11-13 23:08:43,309 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 92 transitions. [2024-11-13 23:08:43,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 133 [2024-11-13 23:08:43,322 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:43,322 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:43,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:43,894 INFO L134 CoverageAnalysis]: Checked inductivity of 933 backedges. 52 proven. 326 refuted. 0 times theorem prover too weak. 555 trivial. 0 not checked. [2024-11-13 23:08:44,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:44,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 56 states and 114 transitions. [2024-11-13 23:08:44,717 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 114 transitions. [2024-11-13 23:08:44,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 161 [2024-11-13 23:08:44,724 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:44,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:44,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:45,412 INFO L134 CoverageAnalysis]: Checked inductivity of 1403 backedges. 302 proven. 338 refuted. 0 times theorem prover too weak. 763 trivial. 0 not checked. [2024-11-13 23:08:46,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:46,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 56 states and 113 transitions. [2024-11-13 23:08:46,035 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 113 transitions. [2024-11-13 23:08:46,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 215 [2024-11-13 23:08:46,039 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:46,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:46,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:46,653 INFO L134 CoverageAnalysis]: Checked inductivity of 2580 backedges. 108 proven. 716 refuted. 0 times theorem prover too weak. 1756 trivial. 0 not checked. [2024-11-13 23:08:47,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:47,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 63 states and 137 transitions. [2024-11-13 23:08:47,575 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 137 transitions. [2024-11-13 23:08:47,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 284 [2024-11-13 23:08:47,585 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:47,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:47,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:48,646 INFO L134 CoverageAnalysis]: Checked inductivity of 4601 backedges. 699 proven. 936 refuted. 0 times theorem prover too weak. 2966 trivial. 0 not checked. [2024-11-13 23:08:49,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:49,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 170 states to 63 states and 136 transitions. [2024-11-13 23:08:49,417 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 136 transitions. [2024-11-13 23:08:49,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 366 [2024-11-13 23:08:49,424 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:49,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:49,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:50,341 INFO L134 CoverageAnalysis]: Checked inductivity of 7758 backedges. 268 proven. 1524 refuted. 0 times theorem prover too weak. 5966 trivial. 0 not checked. [2024-11-13 23:08:51,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:51,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 70 states and 162 transitions. [2024-11-13 23:08:51,393 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 162 transitions. [2024-11-13 23:08:51,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 528 [2024-11-13 23:08:51,409 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:51,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:51,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-13 23:08:53,253 INFO L134 CoverageAnalysis]: Checked inductivity of 16407 backedges. 1087 proven. 3186 refuted. 0 times theorem prover too weak. 12134 trivial. 0 not checked. [2024-11-13 23:08:54,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-11-13 23:08:54,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 204 states to 72 states and 164 transitions. [2024-11-13 23:08:54,145 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 164 transitions. [2024-11-13 23:08:54,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 460 [2024-11-13 23:08:54,162 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-11-13 23:08:54,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-13 23:08:54,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-13 23:08:54,311 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-13 23:08:54,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-13 23:08:54,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-13 23:08:54,805 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-13 23:08:54,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-13 23:08:55,101 WARN L473 CodeCheckObserver]: This program is UNSAFE, Check terminated with 16 iterations. [2024-11-13 23:08:55,231 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 13.11 11:08:55 ImpRootNode [2024-11-13 23:08:55,231 INFO L131 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2024-11-13 23:08:55,232 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2024-11-13 23:08:55,232 INFO L270 PluginConnector]: Initializing Witness Printer... [2024-11-13 23:08:55,232 INFO L274 PluginConnector]: Witness Printer initialized [2024-11-13 23:08:55,233 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.11 11:08:35" (3/4) ... [2024-11-13 23:08:55,234 INFO L136 WitnessPrinter]: Generating witness for reachability counterexample [2024-11-13 23:08:55,384 INFO L149 WitnessManager]: Wrote witness to /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/witness.graphml [2024-11-13 23:08:55,384 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2024-11-13 23:08:55,385 INFO L158 Benchmark]: Toolchain (without parser) took 20658.83ms. Allocated memory was 117.4MB in the beginning and 226.5MB in the end (delta: 109.1MB). Free memory was 93.5MB in the beginning and 75.6MB in the end (delta: 17.9MB). Peak memory consumption was 125.4MB. Max. memory is 16.1GB. [2024-11-13 23:08:55,386 INFO L158 Benchmark]: CDTParser took 0.44ms. Allocated memory is still 167.8MB. Free memory is still 103.5MB. There was no memory consumed. Max. memory is 16.1GB. [2024-11-13 23:08:55,386 INFO L158 Benchmark]: CACSL2BoogieTranslator took 327.21ms. Allocated memory is still 117.4MB. Free memory was 93.5MB in the beginning and 82.9MB in the end (delta: 10.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2024-11-13 23:08:55,387 INFO L158 Benchmark]: Boogie Procedure Inliner took 41.13ms. Allocated memory is still 117.4MB. Free memory was 82.9MB in the beginning and 81.7MB in the end (delta: 1.2MB). There was no memory consumed. Max. memory is 16.1GB. [2024-11-13 23:08:55,387 INFO L158 Benchmark]: Boogie Preprocessor took 28.34ms. Allocated memory is still 117.4MB. Free memory was 81.7MB in the beginning and 81.3MB in the end (delta: 396.2kB). There was no memory consumed. Max. memory is 16.1GB. [2024-11-13 23:08:55,388 INFO L158 Benchmark]: RCFGBuilder took 355.56ms. Allocated memory is still 117.4MB. Free memory was 81.0MB in the beginning and 71.1MB in the end (delta: 9.9MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2024-11-13 23:08:55,388 INFO L158 Benchmark]: CodeCheck took 19748.06ms. Allocated memory was 117.4MB in the beginning and 226.5MB in the end (delta: 109.1MB). Free memory was 71.1MB in the beginning and 84.0MB in the end (delta: -12.9MB). Peak memory consumption was 91.9MB. Max. memory is 16.1GB. [2024-11-13 23:08:55,389 INFO L158 Benchmark]: Witness Printer took 152.36ms. Allocated memory is still 226.5MB. Free memory was 84.0MB in the beginning and 75.6MB in the end (delta: 8.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2024-11-13 23:08:55,391 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 2 procedures, 17 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 19.6s, OverallIterations: 16, TraceHistogramMax: 0, PathProgramHistogramMax: 0, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1204 SdHoareTripleChecker+Valid, 9.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 681 mSDsluCounter, 1568 SdHoareTripleChecker+Invalid, 8.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1153 mSDsCounter, 1079 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 3478 IncrementalHoareTripleChecker+Invalid, 4557 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 1079 mSolverCounterUnsat, 415 mSDtfsCounter, 3478 mSolverCounterSat, 0.2s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 8683 GetRequests, 8126 SyntacticMatches, 407 SemanticMatches, 150 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13155 ImplicationChecksByTransitivity, 9.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, InterpolantAutomatonStates: 0, traceCheckStatistics: 0.1s SsaConstructionTime, 0.7s SatisfiabilityAnalysisTime, 7.8s InterpolantComputationTime, 2497 NumberOfCodeBlocks, 2497 NumberOfCodeBlocksAsserted, 16 NumberOfCheckSat, 2023 ConstructedInterpolants, 0 QuantifiedInterpolants, 3149 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 15 InterpolantComputations, 2 PerfectInterpolantSequences, 27284/34628 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - CounterExampleResult [Line: 33]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L28] int x = __VERIFIER_nondet_int(); [L29] CALL, EXPR fibonacci(x) VAL [\old(n)=8] [L17] COND FALSE !(n < 1) VAL [\old(n)=8, n=8] [L19] COND FALSE !(n == 1) VAL [\old(n)=8, n=8] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=7] [L17] COND FALSE !(n < 1) VAL [\old(n)=7, n=7] [L19] COND FALSE !(n == 1) VAL [\old(n)=7, n=7] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=6] [L17] COND FALSE !(n < 1) VAL [\old(n)=6, n=6] [L19] COND FALSE !(n == 1) VAL [\old(n)=6, n=6] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=5] [L17] COND FALSE !(n < 1) VAL [\old(n)=5, n=5] [L19] COND FALSE !(n == 1) VAL [\old(n)=5, n=5] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=4] [L17] COND FALSE !(n < 1) VAL [\old(n)=4, n=4] [L19] COND FALSE !(n == 1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=4, n=4] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=5, n=5] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=5, n=5] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=6, n=6] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=4] [L17] COND FALSE !(n < 1) VAL [\old(n)=4, n=4] [L19] COND FALSE !(n == 1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=4, n=4] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=6, n=6] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=7, n=7] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=5] [L17] COND FALSE !(n < 1) VAL [\old(n)=5, n=5] [L19] COND FALSE !(n == 1) VAL [\old(n)=5, n=5] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=4] [L17] COND FALSE !(n < 1) VAL [\old(n)=4, n=4] [L19] COND FALSE !(n == 1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=4, n=4] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=5, n=5] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=5, n=5] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=7, n=7] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=8, n=8] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=6] [L17] COND FALSE !(n < 1) VAL [\old(n)=6, n=6] [L19] COND FALSE !(n == 1) VAL [\old(n)=6, n=6] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=5] [L17] COND FALSE !(n < 1) VAL [\old(n)=5, n=5] [L19] COND FALSE !(n == 1) VAL [\old(n)=5, n=5] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=4] [L17] COND FALSE !(n < 1) VAL [\old(n)=4, n=4] [L19] COND FALSE !(n == 1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=4, n=4] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=5, n=5] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=5, n=5] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=6, n=6] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=4] [L17] COND FALSE !(n < 1) VAL [\old(n)=4, n=4] [L19] COND FALSE !(n == 1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=3] [L17] COND FALSE !(n < 1) VAL [\old(n)=3, n=3] [L19] COND FALSE !(n == 1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=3, n=3] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=3, n=3] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=4, n=4] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=2] [L17] COND FALSE !(n < 1) VAL [\old(n)=2, n=2] [L19] COND FALSE !(n == 1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-1) VAL [\old(n)=1] [L17] COND FALSE !(n < 1) VAL [\old(n)=1, n=1] [L19] COND TRUE n == 1 [L20] return 1; VAL [\old(n)=1, \result=1] [L22] RET, EXPR fibonacci(n-1) VAL [\old(n)=2, n=2] [L22] CALL, EXPR fibonacci(n-2) VAL [\old(n)=0] [L17] COND TRUE n < 1 [L18] return 0; VAL [\old(n)=0, \result=0] [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=2, n=2] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=4, n=4] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=6, n=6] [L22] return fibonacci(n-1) + fibonacci(n-2); [L22] RET, EXPR fibonacci(n-2) VAL [\old(n)=8, n=8] [L22] return fibonacci(n-1) + fibonacci(n-2); [L29] RET, EXPR fibonacci(x) VAL [x=8] [L29] int result = fibonacci(x); [L30] COND FALSE !(x < 8 || result >= 34) [L33] reach_error() * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.44ms. Allocated memory is still 167.8MB. Free memory is still 103.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 327.21ms. Allocated memory is still 117.4MB. Free memory was 93.5MB in the beginning and 82.9MB in the end (delta: 10.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 41.13ms. Allocated memory is still 117.4MB. Free memory was 82.9MB in the beginning and 81.7MB in the end (delta: 1.2MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 28.34ms. Allocated memory is still 117.4MB. Free memory was 81.7MB in the beginning and 81.3MB in the end (delta: 396.2kB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 355.56ms. Allocated memory is still 117.4MB. Free memory was 81.0MB in the beginning and 71.1MB in the end (delta: 9.9MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * CodeCheck took 19748.06ms. Allocated memory was 117.4MB in the beginning and 226.5MB in the end (delta: 109.1MB). Free memory was 71.1MB in the beginning and 84.0MB in the end (delta: -12.9MB). Peak memory consumption was 91.9MB. Max. memory is 16.1GB. * Witness Printer took 152.36ms. Allocated memory is still 226.5MB. Free memory was 84.0MB in the beginning and 75.6MB in the end (delta: 8.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. RESULT: Ultimate proved your program to be incorrect! [2024-11-13 23:08:55,443 INFO L552 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_965cc2a7-a0b4-4887-abef-46f34cd0f740/bin/ukojak-verify-EEHR8qb7sm/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE