;;; FIBFP -- Computes fib(35) using floating point (import (rnrs base) (rnrs io simple) (rnrs arithmetic flonums)) (define (fibfp n) (if (fl<? n 2.) n (fl+ (fibfp (fl- n 1.)) (fibfp (fl- n 2.))))) (define (main) (let* ((count (read)) (input (read)) (output (read)) (s2 (number->string count)) (s1 (number->string input)) (name "fibfp")) (run-r6rs-benchmark (string-append name ":" s1 ":" s2) count (lambda () (fibfp (hide count input))) (lambda (result) (= result output)))))