s09aa returns the value of the inverse circular sine, $\mathrm{arcsin} x$. The value is in the principal range $\left(-\pi /2,\pi /2\right)$.

# Syntax

C#
```public static double s09aa(
double x,
out int ifail
)```
Visual Basic
```Public Shared Function s09aa ( _
x As Double, _
<OutAttribute> ByRef ifail As Integer _
) As Double```
Visual C++
```public:
static double s09aa(
double x,
[OutAttribute] int% ifail
)```
F#
```static member s09aa :
x : float *
ifail : int byref -> float
```

#### Parameters

x
Type: System..::..Double
On entry: the argument $x$ of the function.
Constraint: $\left|{\mathbf{x}}\right|\le 1.0$.
ifail
Type: System..::..Int32%
On exit: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

#### Return Value

s09aa returns the value of the inverse circular sine, $\mathrm{arcsin} x$. The value is in the principal range $\left(-\pi /2,\pi /2\right)$.

# Description

s09aa calculates an approximate value for the inverse circular sine, $\mathrm{arcsin} x$. It is based on the Chebyshev expansion
 $arcsin x=x×yx=x∑′r=0arTrt$
where $-\frac{1}{\sqrt{2}}\le x\le \frac{1}{\sqrt{2}}$ and $t=4{x}^{2}-1$.
For ${x}^{2}\le \frac{1}{2}\text{, }\mathrm{arcsin} x=x×y\left(x\right)$.
For $\frac{1}{2}<{x}^{2}\le 1\text{, }\mathrm{arcsin} x=\mathrm{sign} x\left\{\frac{\pi }{2}-\mathrm{arcsin} \sqrt{1-{x}^{2}}\right\}$.
For ${x}^{2}>1\text{, }\mathrm{arcsin} x$ is undefined and the method fails.

# References

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

# Error Indicators and Warnings

Errors or warnings detected by the method:
${\mathbf{ifail}}=1$
The method has been called with an argument greater than $1.0$ in absolute value; $\mathrm{arcsin} x$ is undefined and the method returns zero.
${\mathbf{ifail}}=-9000$
An error occured, see message report.

# Accuracy

If $\delta$ and $\epsilon$ are the relative errors in the argument and result, respectively, then in principle
 $ε≃xarcsin x1-x2×δ.$
That is, a relative error in the argument $x$ is amplified by at least a factor $\frac{x}{\mathrm{arcsin} x\sqrt{1-{x}^{2}}}$ in the result.
The equality should hold if $\delta$ is greater than the machine precision ($\delta$ is a result of data errors etc.) but if $\delta$ is produced simply by round-off error in the machine it is possible that rounding in internal calculations may lose an extra figure in the result.
This factor stays close to one except near $\left|x\right|=1$ where its behaviour is shown in the following graph.
Figure 1
For $\left|x\right|$ close to unity, $1-\left|x\right|\sim \delta$, the above analysis is no longer applicable owing to the fact that both argument and result are subject to finite bounds, ($\left|x\right|\le 1$ and $\left|\mathrm{arcsin} x\right|\le \frac{1}{2}\pi$). In this region $\epsilon \sim \sqrt{\delta }$; that is the result will have approximately half as many correct significant figures as the argument.
For $\left|x\right|=1$ the result will be correct to full machine precision.

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#): s09aae.cs

Example program data: s09aae.d

Example program results: s09aae.r