---
title: math.atanh
summary: null
url: >-
  https://www.fastly.com/documentation/reference/vcl/functions/math-trig/math-atanh
---

```
FLOAT math.atanh(FLOAT x)
```

**Available in:** all subroutines

Computes the inverse hyperbolic tangent of its argument `x`.

## Parameters

`x` - Floating point value representing a hyperbolic angle.

## Return Value

Upon successful completion, this function returns the inverse hyperbolic tangent
of `x`.

If `x` is `math.NAN`, a NaN will be returned.

If `x` is ±0, `x` will be returned.

If `x` is `math.POS_INFINITY` or
`math.NEG_INFINITY`, a domain error occurs
and a NaN will be returned.

If `x` is _subnormal_, a range error occurs and `x` will be returned.

For finite \|`x`\|>1, a domain error occurs and a NaN will be returned.

If `x` is ±1, a pole error occurs, and `math.atanh()` will return the value of
`math.POS_HUGE_VAL` or
`math.NEG_HUGE_VAL` with the same sign as
the result of the function.

## Errors

- If the `x` argument is finite and not in the range -1 to 1 inclusive, or if it is
  `math.POS_INFINITY` or
  `math.NEG_INFINITY`, then
  `fastly.error` will be set to `EDOM`.
- If the `x` argument is _subnormal_, or ±1, then
  `fastly.error` will be set to `ERANGE`.

## Example

```vcl
declare local var.fo FLOAT;

set var.fo = math.atanh(-1); // Returns `math.NEG_INFINITY`

if (fastly.error) {
  set resp.http.atanh-error = fastly.error; // Returns "ERANGE"
}
```
