(define fast-sqrt ; TYPE: (-> (number) number) (lambda (a) ; REQUIRES: a > 0 ; ENSURES: result is an approx ; to the square root of a (let ((u 1.0) (improve (lambda (u) (/ (+ u (/ a u)) 2)))) (set! u (improve u)) (set! u (improve u)) (set! u (improve u)) u)))