# NAG Library Function Documentnag_arctanh (s11aac)

## 1  Purpose

nag_arctanh (s11aac) returns the value of the inverse hyperbolic tangent, $\mathrm{arctanh}x$.

## 2  Specification

#include <nag.h>
#include <nags.h>

double  nag_arctanh (double x,  NagError *fail)

## 3  Description

nag_arctanh (s11aac) calculates an approximate value for the inverse hyperbolic tangent of its argument, $\mathrm{arctanh}x$.
For ${x}^{2}\le \frac{1}{2}$ the function is based on a Chebyshev expansion.
For $\frac{1}{2}<{x}^{2}<1$,

$arctanh⁡x = 1 2 ln 1+x 1-x .$

## 4  References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications

## 5  Arguments

1:     x – doubleInput
On entry: the argument $x$ of the function.
Constraint: $\left|{\mathbf{x}}\right|<1.0$.
2:     fail – NagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

## 6  Error Indicators and Warnings

NE_REAL_ARG_GE
On entry, $\left|{\mathbf{x}}\right|$ must not be greater than or equal to 1.0: ${\mathbf{x}}=〈\mathit{\text{value}}〉$.
The function has been called with an argument greater than or equal to 1.0 in magnitude, for which arctanh is not defined. The result is returned as zero.

## 7  Accuracy

If $\delta $ and $\epsilon $ are the relative errors in the argument and result, respectively, then in principle

$ε ≃ x 1 - x 2 arctanh⁡x δ .$
That is, the relative error in the argument, $x$, is amplified by at least a factor

$x 1 - x 2 arctanh⁡x$
in the result. The equality should hold if $\delta $ is greater than the machine precision ($\delta $ due to data errors etc.), but if $\delta $ is simply due to round-off in the machine representation then it is possible that an extra figure may be lost in internal calculation round-off.
The factor is not significantly greater than one except for arguments close to $\left|x\right|=1$. However, in the region where $\left|x\right|$ is close to one, $1-\left|x\right|\sim \delta $, the above analysis is inapplicable since $x$ is bounded by definition, $\left|x\right|<1$. In this region where arctanh is tending to infinity we have

$ε ∼ 1 / ln⁡δ$
which implies an obvious, unavoidable serious loss of accuracy near $\left|x\right|\sim 1$, e.g., if $x$ and 1 agree to 6 significant figures, the result for $\mathrm{arctanh}x$ would be correct to at most about one figure.

None.

## 9  Example

The following program reads values of the argument $x$ from a file, evaluates the function at each value of $x$ and prints the results.

### 9.1  Program Text

Program Text (s11aace.c)

### 9.2  Program Data

Program Data (s11aace.d)

### 9.3  Program Results

Program Results (s11aace.r)
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 28, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.7073493003845215, "perplexity_flag": "middle"}