# NAG Library Function Document

## 1Purpose

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

## 2Specification

 #include #include
 double nag_cumul_normal (double x)

## 3Description

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

## 4References

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

## 5Arguments

1:    $\mathbf{x}$doubleInput
On entry: the argument $x$ of the function.

None.

## 7Accuracy

Because of its close relationship with $\mathit{erfc}$, the accuracy of this function is very similar to that in nag_erfc (s15adc). If $\epsilon$ and $\delta$ are the relative errors in result and argument, respectively, they are in principle related by
 $ε≃ x e -12 x2 2π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≃ x e -12 x2 2π δ$
so absolute accuracy can be guaranteed for all $x$.

## 8Parallelism and Performance

nag_cumul_normal (s15abc) is not threaded in any implementation.

None.

## 10Example

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

### 10.1Program Text

Program Text (s15abce.c)

### 10.2Program Data

Program Data (s15abce.d)

### 10.3Program Results

Program Results (s15abce.r)

© The Numerical Algorithms Group Ltd, Oxford, UK. 2017