# atanh(3) [osx man page]

```ATANH(3)						   BSD Library Functions Manual 						  ATANH(3)

NAME
atanh -- inverse hyperbolic tangent function

SYNOPSIS
#include <math.h>

double
atanh(double x);

long double
atanhl(long double x);

float
atanhf(float x);

DESCRIPTION
The atanh() function computes the inverse hyperbolic tangent of the real argument x.

SPECIAL VALUES
atanh(+-0) returns +-0.

atanh(+-1) returns +-infinity and raises the "divide-by-zero" floating-point exception.

atanh(x) returns a NaN and raises the "invalid" floating-point exception for |x| > 1.

VECTOR OPERATIONS
If you need to apply the atanh() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may
give significantly better performance:

#include <Accelerate/Accelerate.h>

vFloat vatanhf(vFloat x);
void vvatanhf(float *y, const float *x, const int *n);
void vvatanh(double *y, const double *x, const int *n);

acosh(3), asinh(3), exp(3), math(3)

STANDARDS
The atanh() function conforms to ISO/IEC 9899:2011.

4.3 Berkeley Distribution					 December 11, 2006					 4.3 Berkeley Distribution```

## Check Out this Related Man Page

```ATANH(3)						   BSD Library Functions Manual 						  ATANH(3)

NAME
atanh -- inverse hyperbolic tangent function

SYNOPSIS
#include <math.h>

double
atanh(double x);

long double
atanhl(long double x);

float
atanhf(float x);

DESCRIPTION
The atanh() function computes the inverse hyperbolic tangent of the real argument x.

SPECIAL VALUES
atanh(+-0) returns +-0.

atanh(+-1) returns +-infinity and raises the "divide-by-zero" floating-point exception.

atanh(x) returns a NaN and raises the "invalid" floating-point exception for |x| > 1.

VECTOR OPERATIONS
If you need to apply the atanh() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may
give significantly better performance:

#include <Accelerate/Accelerate.h>

vFloat vatanhf(vFloat x);
void vvatanhf(float *y, const float *x, const int *n);
void vvatanh(double *y, const double *x, const int *n);