\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\mathsf{fma}\left(\frac{x}{1} \cdot \frac{x}{1}, \frac{2}{3} \cdot \frac{x}{1}, \mathsf{fma}\left(\frac{{x}^{5}}{{1}^{5}}, \frac{2}{5}, x \cdot 2\right)\right) \cdot \frac{1}{2}double f(double x) {
double r2454652 = 1.0;
double r2454653 = 2.0;
double r2454654 = r2454652 / r2454653;
double r2454655 = x;
double r2454656 = r2454652 + r2454655;
double r2454657 = r2454652 - r2454655;
double r2454658 = r2454656 / r2454657;
double r2454659 = log(r2454658);
double r2454660 = r2454654 * r2454659;
return r2454660;
}
double f(double x) {
double r2454661 = x;
double r2454662 = 1.0;
double r2454663 = r2454661 / r2454662;
double r2454664 = r2454663 * r2454663;
double r2454665 = 0.6666666666666666;
double r2454666 = r2454665 * r2454663;
double r2454667 = 5.0;
double r2454668 = pow(r2454661, r2454667);
double r2454669 = pow(r2454662, r2454667);
double r2454670 = r2454668 / r2454669;
double r2454671 = 0.4;
double r2454672 = 2.0;
double r2454673 = r2454661 * r2454672;
double r2454674 = fma(r2454670, r2454671, r2454673);
double r2454675 = fma(r2454664, r2454666, r2454674);
double r2454676 = r2454662 / r2454672;
double r2454677 = r2454675 * r2454676;
return r2454677;
}



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