\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{\left(\left(2 \cdot x + \log 1\right) - {x}^{2} \cdot \left(\frac{2}{{1}^{2}} - 2\right)\right) \cdot 1}{2}double f(double x) {
double r66547 = 1.0;
double r66548 = 2.0;
double r66549 = r66547 / r66548;
double r66550 = x;
double r66551 = r66547 + r66550;
double r66552 = r66547 - r66550;
double r66553 = r66551 / r66552;
double r66554 = log(r66553);
double r66555 = r66549 * r66554;
return r66555;
}
double f(double x) {
double r66556 = 2.0;
double r66557 = x;
double r66558 = r66556 * r66557;
double r66559 = 1.0;
double r66560 = log(r66559);
double r66561 = r66558 + r66560;
double r66562 = 2.0;
double r66563 = pow(r66557, r66562);
double r66564 = pow(r66559, r66562);
double r66565 = r66556 / r66564;
double r66566 = r66565 - r66556;
double r66567 = r66563 * r66566;
double r66568 = r66561 - r66567;
double r66569 = r66568 * r66559;
double r66570 = r66569 / r66556;
return r66570;
}



Bits error versus x
Results
Initial program 58.4
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2019297
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))