(define (square x)
(* x x))
(define (abs x)
(if (< x 0) (- x) x))
(define (average a b)
(/ (+ a b) 2))
(define (sqrt-iter guess x)
(if (good-enough? guess x) guess
(sqrt-iter (improve guess x) x)))
(define (improve guess x)
(average guess (/ x guess)))
(define (good-enough? guess x)
(< (abs (- (square guess) x)) 0.01))
(define (sqrt x)
(sqrt-iter 1.0 x))
Попробуем вызвать функцию sqrt
> (sqrt 4)
2.000609756097561
Как видно из результата, для приближения к более точным результатам необходимо задать большую точность.