\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\left(\mathsf{log1p}\left(x\right) + \left(\mathsf{log1p}\left(x\right) - \mathsf{log1p}\left(\left(-x\right) \cdot x\right)\right)\right) \cdot \frac{1}{2}double f(double x) {
double r2049590 = 1.0;
double r2049591 = 2.0;
double r2049592 = r2049590 / r2049591;
double r2049593 = x;
double r2049594 = r2049590 + r2049593;
double r2049595 = r2049590 - r2049593;
double r2049596 = r2049594 / r2049595;
double r2049597 = log(r2049596);
double r2049598 = r2049592 * r2049597;
return r2049598;
}
double f(double x) {
double r2049599 = x;
double r2049600 = log1p(r2049599);
double r2049601 = -r2049599;
double r2049602 = r2049601 * r2049599;
double r2049603 = log1p(r2049602);
double r2049604 = r2049600 - r2049603;
double r2049605 = r2049600 + r2049604;
double r2049606 = 0.5;
double r2049607 = r2049605 * r2049606;
return r2049607;
}



Bits error versus x
Results
Initial program 58.6
Simplified58.6
rmApplied flip--58.6
Applied associate-/r/58.6
Applied log-prod58.6
Simplified58.6
Simplified50.5
rmApplied log-div50.5
Simplified0.5
rmApplied log1p-expm1-u0.5
Simplified0.0
Final simplification0.0
herbie shell --seed 2019153 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))