(= fib (fn (n) (let p0 0) (let p1 1) (while (< 0 n) (= n (- n 1)) (let tmp (+ p0 p1)) (= p0 p1) (= p1 tmp)) p0))