Code

#lang racket

(require "common.scm")

;; Fixed points (modified)

(define tolerance 0.00001)

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) tolerance))
  (define (try guess count)
    (display count)
    (display " ")
    (display guess)
    (newline)
    (let ((next (f guess)))
      (if (close-enough? guess next)
          next
          (try next (+ 1 count)))))
  (try first-guess 0))

; tests

(fixed-point (lambda (x) (/ (log 1000) (log x))) 2.0) ; w/o average damping, 33 steps
(newline)
(fixed-point (lambda (x) (average x (/ (log 1000) (log x)))) 2.0) ; with average damping, 8 steps

Output

0 2.0
1 9.965784284662087
2 3.004472209841214
3 6.279195757507157
4 3.759850702401539
5 5.215843784925895
6 4.182207192401397
7 4.8277650983445906
8 4.387593384662677
9 4.671250085763899
10 4.481403616895052
11 4.6053657460929
12 4.5230849678718865
13 4.577114682047341
14 4.541382480151454
15 4.564903245230833
16 4.549372679303342
17 4.559606491913287
18 4.552853875788271
19 4.557305529748263
20 4.554369064436181
21 4.556305311532999
22 4.555028263573554
23 4.555870396702851
24 4.555315001192079
25 4.5556812635433275
26 4.555439715736846
27 4.555599009998291
28 4.555493957531389
29 4.555563237292884
30 4.555517548417651
31 4.555547679306398
32 4.555527808516254
33 4.555540912917957
4.555532270803653

0 2.0
1 5.9828921423310435
2 4.922168721308343
3 4.628224318195455
4 4.568346513136242
5 4.5577305909237005
6 4.555909809045131
7 4.555599411610624
8 4.5555465521473675
4.555537551999825