Blob
1 (define (search f neg-point pos-point)2 (let ((midpoint (average neg-point pos-point)))3 (if (close-enough? neg-point pos-point)4 midpoint5 (let ((test-value (f midpoint)))6 (cond ((positive? test-value)7 (search f neg-point midpoint))8 ((negative? test-value)9 (search f midpoint pos-point))10 (else midpoint))))))