\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{\mathsf{fma}\left(\log 1, 2, \mathsf{fma}\left(x, 2, 0.6666666666666665186369300499791279435158 \cdot {x}^{3}\right)\right)}{\frac{2}{1}}double f(double x) {
double r100385 = 1.0;
double r100386 = 2.0;
double r100387 = r100385 / r100386;
double r100388 = x;
double r100389 = r100385 + r100388;
double r100390 = r100385 - r100388;
double r100391 = r100389 / r100390;
double r100392 = log(r100391);
double r100393 = r100387 * r100392;
return r100393;
}
double f(double x) {
double r100394 = 1.0;
double r100395 = log(r100394);
double r100396 = 2.0;
double r100397 = x;
double r100398 = 2.0;
double r100399 = 0.6666666666666665;
double r100400 = 3.0;
double r100401 = pow(r100397, r100400);
double r100402 = r100399 * r100401;
double r100403 = fma(r100397, r100398, r100402);
double r100404 = fma(r100395, r100396, r100403);
double r100405 = r100398 / r100394;
double r100406 = r100404 / r100405;
return r100406;
}



Bits error versus x
Initial program 58.5
Simplified58.5
rmApplied flip3--58.5
Applied associate-/r/58.5
Applied log-prod58.5
Simplified58.5
Taylor expanded around 0 0.3
Simplified0.3
Taylor expanded around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019195 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1.0 2.0) (log (/ (+ 1.0 x) (- 1.0 x)))))