'''error function erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....) ''' import math def erf(x): u0 = x u1 = -x*x*x/3. n = 0 r = u0 while abs(u0)>abs(u1): n += 1 u0 = u1 u1 = -u0*x*x*(2*n+1)/((n+1)*(2*n+3)) r += u0 print(n) return 2/math.sqrt(math.pi)*r