The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
We recommend using Visual Studio 2017

# tan, tanf, tanl, tanh, tanhf, tanhl

Visual Studio 2015

The latest version of this topic can be found at tan, tanf, tanl, tanh, tanhf, tanhl.

Calculates the tangent (`tan`, `tanf`, or `tanl`), or hyperbolic tangent (`tanh`, `tanhf`, or `tanhl`).

## Syntax

```double tan(
double x
);
float tan(
float x
);  // C++ only
long double tan(
long double x
);  // C++ only
float tanf(
float x
);
long double tanl(
long double x
);
double tanh(
double x
);
float tanh(
float x
);  // C++ only
long double tanh(
long double x
);  // C++ only
float tanhf(
float x
);
long double tanhl(
long double x
);

```

`x`

## Return Value

The `tan` functions return the tangent of `x`. If `x` is greater than or equal to 263, or less than or equal to –263, a loss of significance in the result occurs.

The `tanh` functions return the hyperbolic tangent of `x`. There is no error return.

InputSEH Exception`Matherr` Exception
± QNAN,INDnone_DOMAIN
± ∞ (`tan`, `tanf`)`INVALID`_DOMAIN

## Remarks

Because C++ allows overloading, you can call overloads of `tan` and `tanh` that take and return `float` or `long double` values. In a C program, `tan` and `tanh` always take and return `double`.

## Requirements

`tan`, `tanf`, `tanl`, `tanh`, `tanhf`, `tanhl`<math.h>

For additional compatibility information, see Compatibility.

## Example

```// crt_tan.c
// This program displays the tangent of pi / 4
// and the hyperbolic tangent of the result.
//

#include <math.h>
#include <stdio.h>

int main( void )
{
double pi = 3.1415926535;
double x, y;

x = tan( pi / 4 );
y = tanh( x );
printf( "tan( %f ) = %f\n", pi/4, x );
printf( "tanh( %f ) = %f\n", x, y );
}

```
```tan( 0.785398 ) = 1.000000
tanh( 1.000000 ) = 0.761594

```