# fibonacci number with tail call optimization def fib(n) def fibrec(n acc1 acc2) if =(n 0) acc1 elif =(n 1) acc2 else @fibrec(-(n 1) acc2 +(acc1 acc2)) end end fibrec(90 0 1) end def main() display("Running fib(90)...") display(fib(90)) end