\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\mathsf{fma}\left(\frac{2}{5}, \frac{{x}^{5}}{{1}^{5}}, \mathsf{fma}\left(\frac{x}{1} \cdot \left(\frac{x}{1} \cdot \frac{x}{1}\right), \frac{2}{3}, x \cdot 2\right)\right) \cdot \frac{1}{2}double f(double x) {
double r3632604 = 1.0;
double r3632605 = 2.0;
double r3632606 = r3632604 / r3632605;
double r3632607 = x;
double r3632608 = r3632604 + r3632607;
double r3632609 = r3632604 - r3632607;
double r3632610 = r3632608 / r3632609;
double r3632611 = log(r3632610);
double r3632612 = r3632606 * r3632611;
return r3632612;
}
double f(double x) {
double r3632613 = 0.4;
double r3632614 = x;
double r3632615 = 5.0;
double r3632616 = pow(r3632614, r3632615);
double r3632617 = 1.0;
double r3632618 = pow(r3632617, r3632615);
double r3632619 = r3632616 / r3632618;
double r3632620 = r3632614 / r3632617;
double r3632621 = r3632620 * r3632620;
double r3632622 = r3632620 * r3632621;
double r3632623 = 0.6666666666666666;
double r3632624 = 2.0;
double r3632625 = r3632614 * r3632624;
double r3632626 = fma(r3632622, r3632623, r3632625);
double r3632627 = fma(r3632613, r3632619, r3632626);
double r3632628 = r3632617 / r3632624;
double r3632629 = r3632627 * r3632628;
return r3632629;
}



Bits error versus x
Initial program 58.4
rmApplied log-div58.4
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019200 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1.0 2.0) (log (/ (+ 1.0 x) (- 1.0 x)))))