# Hyperbolic Functions

Many routines in the Intel® C++ Compiler Classic Math Library are more optimized for Intel® microprocessors than for non-Intel microprocessors.

The mathimf.h header file includes prototypes for Intel® C++ Compiler Classic Math Library functions.

The math library supports the following hyperbolic functions:

## acosh

Description: The acosh function returns the inverse hyperbolic cosine of `x`.

errno: EDOM, for x < 1

Calling interface:
`double acosh(double x);`
`long double acoshl(long double x);`
`float acoshf(float x);`

## asinh

Description: The asinh function returns the inverse hyperbolic sine of `x`.

Calling interface:
`double asinh(double x);`
`long double asinhl(long double x);`
`float asinhf(float x);`

## atanh

Description: The atanh function returns the inverse hyperbolic tangent of `x`.

errno:

EDOM, for |x| > 1

ERANGE, for x = 1

Calling interface:
`double atanh(double x);`
`long double atanhl(long double x);`
`float atanhf(float x);`

## cosh

Description: The cosh function returns the hyperbolic cosine of `x`, (`e`x + `e`-x)/2.

errno: ERANGE, for overflow conditions

Calling interface:
`double cosh(double x);`
`long double coshl(long double x);`
`float coshf(float x);`

## sinh

Description: The sinh function returns the hyperbolic sine of `x`, (`e`x - `e`-x)/2.

errno: ERANGE, for overflow conditions

Calling interface:
`double sinh(double x);`
`long double sinhl(long double x);`
`float sinhf(float x);`

## sinhcosh

Description: The sinhcosh function returns both the hyperbolic sine and hyperbolic cosine of `x`.

errno: ERANGE, for overflow conditions

Calling interface:
`void sinhcosh(double x, double *sinval, double *cosval);`
`void sinhcoshl(long double x, long double *sinval, long double *cosval);`
`void sinhcoshf(float x, float *sinval, float *cosval);`

## tanh

Description: The tanh function returns the hyperbolic tangent of `x`, (`e`x - `e`-x) / (`e`x + `e`-x).

Calling interface:
`double tanh(double x);`
`long double tanhl(long double x);`
`float tanhf(float x);`

Parent topic: Intel® C++ Compiler Classic Math Library