\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \mathsf{fma}\left(\frac{2}{3}, \frac{{x}^{3}}{{1}^{3}}, \mathsf{fma}\left(2, x, \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)double f(double x) {
double r59357 = 1.0;
double r59358 = 2.0;
double r59359 = r59357 / r59358;
double r59360 = x;
double r59361 = r59357 + r59360;
double r59362 = r59357 - r59360;
double r59363 = r59361 / r59362;
double r59364 = log(r59363);
double r59365 = r59359 * r59364;
return r59365;
}
double f(double x) {
double r59366 = 1.0;
double r59367 = 2.0;
double r59368 = r59366 / r59367;
double r59369 = 0.6666666666666666;
double r59370 = x;
double r59371 = 3.0;
double r59372 = pow(r59370, r59371);
double r59373 = pow(r59366, r59371);
double r59374 = r59372 / r59373;
double r59375 = 0.4;
double r59376 = 5.0;
double r59377 = pow(r59370, r59376);
double r59378 = pow(r59366, r59376);
double r59379 = r59377 / r59378;
double r59380 = r59375 * r59379;
double r59381 = fma(r59367, r59370, r59380);
double r59382 = fma(r59369, r59374, r59381);
double r59383 = r59368 * r59382;
return r59383;
}



Bits error versus x
Initial program 58.7
rmApplied flip--58.7
Applied associate-/r/58.7
Applied log-prod58.7
Simplified58.6
rmApplied add-cbrt-cube58.7
Simplified58.6
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020002 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))