function
<cmath> <ctgmath>

# atanh

```     double atanh  (double x);
float atanhf (float x);
long double atanhl (long double x);
```
```     double atanh (double x);
float atanh (float x);
long double atanh (long double x);
Compute area hyperbolic tangent
Returns the area hyperbolic tangent of x.

The area hyperbolic tangent is the inverse operation of the hyperbolic tangent.

Header <tgmath.h> provides a type-generic macro version of this function.
Additional overloads are provided in this header (`<cmath>`) for the integral types: These overloads effectively cast x to a `double` before calculations (defined for T being any integral type).

This function is also overloaded in `<complex>` (see complex atanh).

### Parameters

x
Value whose area hyperbolic tangent is computed, in the interval `[-1,+1]`.
If the argument is out of this interval, a domain error occurs.
For values of `-1` and `+1`, a pole error may occur.

### Return Value

Area hyperbolic tangent of x.

If a domain error occurs:
- And math_errhandling has MATH_ERRNO set: the global variable errno is set to EDOM.
- And math_errhandling has MATH_ERREXCEPT set: FE_INVALID is raised.

If a pole error occurs:
- And math_errhandling has MATH_ERRNO set: the global variable errno is set to ERANGE.
- And math_errhandling has MATH_ERREXCEPT set: FE_DIVBYZERO is raised.

### Example

 ``123456789101112`` ``````/* atanh example */ #include /* printf */ #include /* tanh, atanh */ int main () { double param, result; param = tanh(1); result = atanh(param) ; printf ("The area hyperbolic tangent of %f is %f.\n", param, result); return 0; }``````

Output:
 ``` The area hyperbolic tangent of 0.761594 is 1.000000. ```