Stand-alone Python error function erf(x)
The following code first appeared on my blog post Stand-alone error function erf. See that post for documentation. See also Relating erf and Φ.
import math
def erf(x):
# constants
a1 = 0.254829592
a2 = -0.284496736
a3 = 1.421413741
a4 = -1.453152027
a5 = 1.061405429
p = 0.3275911
# Save the sign of x
sign = 1
if x < 0:
sign = -1
x = abs(x)
# A&S formula 7.1.26
t = 1.0/(1.0 + p*x)
y = 1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*math.exp(-x*x)
return sign*y
A&S refers to Handbook of Mathematical Functions by Abramowitz and Stegun.
This code is in the public domain. Do whatever you want to with it, no strings attached.