\frac{x + 1.0}{1.0 - x}\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{1.0 + x}{1.0 - x}\right)\right)double f(double x) {
double r1677487 = x;
double r1677488 = 1.0;
double r1677489 = r1677487 + r1677488;
double r1677490 = r1677488 - r1677487;
double r1677491 = r1677489 / r1677490;
return r1677491;
}
double f(double x) {
double r1677492 = 1.0;
double r1677493 = x;
double r1677494 = r1677492 + r1677493;
double r1677495 = r1677492 - r1677493;
double r1677496 = r1677494 / r1677495;
double r1677497 = expm1(r1677496);
double r1677498 = log1p(r1677497);
return r1677498;
}



Bits error versus x
Results
Initial program 0.0
rmApplied log1p-expm1-u0.0
Final simplification0.0
herbie shell --seed 2019158 +o rules:numerics
(FPCore (x)
:name "Prelude:atanh from fay-base-0.20.0.1"
(/ (+ x 1.0) (- 1.0 x)))