title: Python mpmath not arbitrary precision?
body: <p>I'm trying to continue on my previous question in which I'm trying to calculate Fibonacci numbers using Benet's algorithm. To work with arbitrary precision I found <code>mpmath</code>. However the implementation seems to fail above certain value. For instance the 99th value gives: </p>
  
  <blockquote>
    <p>218922995834555891712</p>
  </blockquote>
  
  <p>This should be (<a href="http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibtable.html" rel="nofollow">ref</a>):</p>
  
  <blockquote>
    <p>218922995834555169026</p>
  </blockquote>
  
  <p>Here is my code:</p>
  
  <pre>
  from mpmath import *
  
  def Phi():
      return (1 + sqrt(5)) / 2
  
  def phi():
      return (1 - sqrt(5)) / 2
  
  def F(n):
      return (power(Phi(), n) - power(phi(), n)) / sqrt(5)
  
  start = 99
  end = 100
  
  for x in range(start, end):
      print(x, int(F(x)))
  </pre>