Fibonacci3 := 
    proc()
	local golden_ratio, lo, hi, limit, n, ratio;
	lo := 1;
	hi := 1;
	n := 1:
	Digits := 16:
	golden_ratio := evalf((1.0 + sqrt(5.0))/2.0):
	limit := 2^63 - 1:
	printf("%2d\t%19.0f\n", n, lo):
	while (hi <= limit)
	do
	    n := n + 1:
	    ratio := hi/lo:
	    printf("%2d\t%19.0f\t%19.15f\t%19.15f\n", \
		   n, hi, ratio, (ratio - golden_ratio)):
	    hi := lo + hi:
	    lo := hi - lo:
	od:
    end proc:
Fibonacci3():
