function
<cmath> <ctgmath>

# cosh

```double cosh (double x);
```
```     double cosh  (double x);
float coshf (float x);
long double coshl (long double x);
```
```     double cosh (double x);
float cosh (float x);
long double cosh (long double x);
```
```     double cosh (double x);
float cosh (float x);
long double cosh (long double x);
Compute hyperbolic cosine
Returns the hyperbolic cosine of x.

Header <tgmath.h> provides a type-generic macro version of this function.
This function is overloaded in `<complex>` and `<valarray>` (see complex cosh and valarray cosh).
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>` and `<valarray>` (see complex cosh and valarray cosh).

### Parameters

x
Value representing a hyperbolic angle.

### Return Value

Hyperbolic cosine of x.
If the magnitude of the result is too large to be represented by a value of the return type, the function returns HUGE_VAL (or HUGE_VALF or HUGE_VALL) with the proper sign, and an overflow range error occurs:

If an overflow range error occurs, the global variable errno is set to ERANGE.
If an overflow range 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_OVERFLOW is raised.

### Example

 ``123456789101112`` ``````/* cosh example */ #include /* printf */ #include /* cosh, log */ int main () { double param, result; param = log(2.0); result = cosh (param); printf ("The hyperbolic cosine of %f is %f.\n", param, result ); return 0; }``````

Output:
 ``` The hyperbolic cosine of 0.693147 is 1.250000. ```