\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 r95520 = 1.0;
double r95521 = 2.0;
double r95522 = r95520 / r95521;
double r95523 = x;
double r95524 = r95520 + r95523;
double r95525 = r95520 - r95523;
double r95526 = r95524 / r95525;
double r95527 = log(r95526);
double r95528 = r95522 * r95527;
return r95528;
}
double f(double x) {
double r95529 = 2.0;
double r95530 = x;
double r95531 = r95529 * r95530;
double r95532 = 1.0;
double r95533 = log(r95532);
double r95534 = r95531 + r95533;
double r95535 = 2.0;
double r95536 = pow(r95530, r95535);
double r95537 = pow(r95532, r95535);
double r95538 = r95529 / r95537;
double r95539 = r95538 - r95529;
double r95540 = r95536 * r95539;
double r95541 = r95534 - r95540;
double r95542 = r95541 * r95532;
double r95543 = r95542 / r95529;
return r95543;
}



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