\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\left(\mathsf{log1p}\left(\mathsf{fma}\left(x, x, x\right)\right) + \left(\log \left(\frac{1}{1 - \left(x \cdot x\right) \cdot x}\right) + \mathsf{log1p}\left(x\right)\right)\right) \cdot \frac{1}{2}double f(double x) {
double r2331423 = 1.0;
double r2331424 = 2.0;
double r2331425 = r2331423 / r2331424;
double r2331426 = x;
double r2331427 = r2331423 + r2331426;
double r2331428 = r2331423 - r2331426;
double r2331429 = r2331427 / r2331428;
double r2331430 = log(r2331429);
double r2331431 = r2331425 * r2331430;
return r2331431;
}
double f(double x) {
double r2331432 = x;
double r2331433 = fma(r2331432, r2331432, r2331432);
double r2331434 = log1p(r2331433);
double r2331435 = 1.0;
double r2331436 = r2331432 * r2331432;
double r2331437 = r2331436 * r2331432;
double r2331438 = r2331435 - r2331437;
double r2331439 = r2331435 / r2331438;
double r2331440 = log(r2331439);
double r2331441 = log1p(r2331432);
double r2331442 = r2331440 + r2331441;
double r2331443 = r2331434 + r2331442;
double r2331444 = 0.5;
double r2331445 = r2331443 * r2331444;
return r2331445;
}



Bits error versus x
Initial program 58.7
Simplified58.7
rmApplied flip3--58.7
Applied associate-/r/58.7
Applied log-prod58.7
Simplified58.7
Simplified50.6
rmApplied div-inv50.6
Applied log-prod50.6
Simplified0.2
Final simplification0.2
herbie shell --seed 2019142 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))