1 2 3 4 5 6
facn a b = fac a b 1 fac a 0 c = c fac a b c = fac (a*a) (div b 2) (c*(if odd b then a else 1)) --fibn a = fib a 1 1 1 1 0