from math import cos N=60 i=0 a=0.0 b=1.0 eps=10**(-20) def f(x): return x-cos(x) m=(a+b)/2.0 abserr=(b-a)/2.0 print i,m,abserr/abs(m) while i<=N and abserr>eps*abs(m): if f(m)==0: a=b=m if f(a)*f(m)<0: b=m else: a=m i=i+1 m=(a+b)/2.0 abserr=(b-a)/2.0 print i,m,abserr/abs(m)