(define (sqrt x) (sqrt-iter 1.0 10000.0 x)) (define (sqrt-iter guess lastguess x) (if (good-enough? guess lastguess) guess (sqrt-iter (improve guess x) guess x))) (define (improve guess x) (average guess (/ x guess))) (define (average x y) (/ (+ x y) 2.0)) (define (good-enough? guess lastguess) (< (abs (- guess lastguess)) 0.001))