title: fixed point to find root of a²＋a³＝392 but report OverflowError
body: <p>I tried to find the root of a²＋a³＝392 with fixed_point introduced by SICP <a href="https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-12.html#%_sec_1.3.3" rel="nofollow noreferrer">1.1.3 functions as general method</a></p>
  
  <pre><code>#+BEGIN_SRC scheme :session sicp
  (define tolerance 0.00001)
  
  (define (fixed-point f first-guess)
    (define (close-enough? v1 v2)
      (&lt; (abs (- v1 v2))
         tolerance))
    (define (try guess)
      (let ((next (f guess)))
        (if (close-enough? guess next)
            next
            (try next))))
    (try first-guess))
  #+END_SRC
  </code></pre>
  
  <p>I rewrite it in python as:</p>
  
  <pre><code>#+begin_src ipython :session sicp :results output :tangle pySrc/sicp_fixedpoint.py
  import math
  tolerance = 0.00001
  
  import math
  
  def fixed_point(f, guess):
      while True:
          nex = f(guess)
          if abs(guess-nex) &lt; tolerance:
              return nex
          else:
              guess = nex 
  
  def f(x):
      return 392 / (x + x**2)
  fixed_point(f, 1)
  #+end_src
  </code></pre>
  
  <p>It report error:</p>
  
  <pre><code> OverflowError: (34, 'Numerical result out of range')
  </code></pre>
  
  <p>What's the problem?</p>