(define repeatedly-square ; computes b2
(lambda (b n) ; n times, n >= 0
(if (= n 0)
b
(repeatedly-square (square b) (- n 1)))))
> (repeatedly-square 2 5)
|(repeatedly-square 2 5)
|(repeatedly-square 4 4)
|(repeatedly-square 16 3)
|(repeatedly-square 256 2)
|(repeatedly-square 65536 1)
|(repeatedly-square 4294967296 0)
|4294967296
4294967296
F would also be used in an inductive proof
of the correctness of repeatedly square.