### 2.9.5 Error function : `erf`

`erf` takes as argument a number a.
`erf` returns the floating point value of the error function at x=a, where the error function is defined by :

erf(x)= |
2
√ |
π
| ∫ |
x
0
| e−t2dt

The normalization is choosen so that:

erf(+∞)=1, erf(−∞)=−1

since :

∫ |
+∞
0
| e−t2dt= |
√ |
π
2

Input :

`erf(1)`

Output :

`0.84270079295`

Input :

`erf(1/(sqrt(2)))*1/2+0.5`

Output :

`0.841344746069`

Remark
The relation between `erf` and `normal_cdf` is :

`normal_cdf`(x)= |
1
2
| + |
1
2
| `erf`( |
x
√ |
2
| )

Indeed, making the change of variable t=u*√2 in

normal_cdf(x)= |
1
2
| + |
1
√ |
2π
| ∫ |
x
0
| e−t2/2dt

gives :

normal_cdf(x)= |
1
2
| + |
1
√ |
π
| ∫ |
x
√ |
2
0
| e−u2du= |
1
2
| + |
1
2
| erf( |
x
√ |
2
| )

Check :
`normal_cdf(1)=0.841344746069`