﻿ s10aa Method
s10aa returns a value for the hyperbolic tangent, $\mathrm{tanh} x$.

# Syntax

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

#### Parameters

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

#### Return Value

s10aa returns a value for the hyperbolic tangent, $\mathrm{tanh} x$.

# Description

s10aa calculates an approximate value for the hyperbolic tangent of its argument, $\mathrm{tanh} x$.
For $\left|x\right|\le 1$ it is based on the Chebyshev expansion
 $tanh x=x×yt=x∑′r=0arTrt$
where $-1\le x\le 1\text{, }-1\le t\le 1\text{, and }t=2{x}^{2}-1$.
For $1<\left|x\right|<{E}_{1}$ (see the Users' Note for your implementation for value of ${E}_{1}$)
 $tanh x=e2x-1e2x+1.$
For $\left|x\right|\ge {E}_{1}$, $\mathrm{tanh} x=\mathrm{sign} x$ to within the representation accuracy of the machine and so this approximation is used.

# References

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

None.

# Accuracy

If $\delta$ and $\epsilon$ are the relative errors in the argument and the result respectively, then in principle,
 $ε≃2xsinh 2xδ.$
That is, a relative error in the argument, $x$, is amplified by a factor approximately $\frac{2x}{\mathrm{sinh} 2x}$, in the result.
The equality should hold if $\delta$ is greater than the machine precision ($\delta$ due to data errors etc.) but if $\delta$ is due simply to the round-off in the machine representation it is possible that an extra figure may be lost in internal calculation round-off.
The behaviour of the amplification factor is shown in the following graph:
Figure 1
It should be noted that this factor is always less than or equal to $1.0$ and away from $x=0$ the accuracy will eventually be limited entirely by the precision of machine representation.

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

Example program data: s10aae.d

Example program results: s10aae.r