s15ab returns the value of the cumulative Normal distribution function, $P\left(x\right)$.

# Syntax

C#
```public static double s15ab(
double x
)```
Visual Basic
```Public Shared Function s15ab ( _
x As Double _
) As Double```
Visual C++
```public:
static double s15ab(
double x
)```
F#
```static member s15ab :
x : float -> float
```

#### Parameters

x
Type: System..::..Double
On entry: the argument $x$ of the function.

#### Return Value

s15ab returns the value of the cumulative Normal distribution function, $P\left(x\right)$.

# Description

s15ab evaluates an approximate value for the cumulative Normal distribution function
 $Px=12π∫-∞xe-u2/2du.$
The method is based on the fact that
 $Px=12erfc-x2$
and it calls s15ad to obtain a value of $\mathit{erfc}$ for the appropriate argument.

# References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications

None.

# Accuracy

Because of its close relationship with $\mathit{erfc}$, the accuracy of this method is very similar to that in s15ad. If $\epsilon$ and $\delta$ are the relative errors in result and argument, respectively, they are in principle related by
 $ε≃xe-12x22πPxδ$
so that the relative error in the argument, $x$, is amplified by a factor, $\frac{x{e}^{-\frac{1}{2}{x}^{2}}}{\sqrt{2\pi }P\left(x\right)}$, in the result.
For $x$ small and for $x$ positive this factor is always less than one and accuracy is mainly limited by machine precision.
For large negative $x$ the factor behaves like $\text{}\sim {x}^{2}$ and hence to a certain extent relative accuracy is unavoidably lost.
However the absolute error in the result, $E$, is given by
 $E≃xe-12x22πδ$
so absolute accuracy can be guaranteed for all $x$.

None.

None.

# Example

This example reads values of the argument $x$ from a file, evaluates the function at each value of $x$ and prints the results.

Example program (C#): s15abe.cs

Example program data: s15abe.d

Example program results: s15abe.r