17 lines
332 B
Text
17 lines
332 B
Text
-- set_option trace.compiler true
|
||
|
||
def fib_aux : ℕ → ℕ × ℕ
|
||
| 0 := (0, 1)
|
||
| (n+1) := let p := fib_aux n in (p.2, p.1 + p.2)
|
||
|
||
def fib n := (fib_aux n).2
|
||
|
||
#eval fib 10000
|
||
|
||
def fib_aux2 : ℕ → ℕ × ℕ
|
||
| 0 := (0, 1)
|
||
| (n+1) := let (a, b) := fib_aux2 n in (b, a + b)
|
||
|
||
def fib2 n := (fib_aux2 n).2
|
||
|
||
#eval fib2 10000
|