\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{\mathsf{fma}\left(2, \mathsf{fma}\left(x, x, x\right) - \frac{x}{1} \cdot \frac{x}{1}, \log 1\right)}{\frac{2}{1}}double f(double x) {
double r68624 = 1.0;
double r68625 = 2.0;
double r68626 = r68624 / r68625;
double r68627 = x;
double r68628 = r68624 + r68627;
double r68629 = r68624 - r68627;
double r68630 = r68628 / r68629;
double r68631 = log(r68630);
double r68632 = r68626 * r68631;
return r68632;
}
double f(double x) {
double r68633 = 2.0;
double r68634 = x;
double r68635 = fma(r68634, r68634, r68634);
double r68636 = 1.0;
double r68637 = r68634 / r68636;
double r68638 = r68637 * r68637;
double r68639 = r68635 - r68638;
double r68640 = log(r68636);
double r68641 = fma(r68633, r68639, r68640);
double r68642 = r68633 / r68636;
double r68643 = r68641 / r68642;
return r68643;
}



Bits error versus x
Initial program 58.6
Simplified58.6
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019194 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1.0 2.0) (log (/ (+ 1.0 x) (- 1.0 x)))))