\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\left(\log_* (1 + x) - \log_* (1 + \left(-x\right))\right) \cdot \frac{1}{2}double f(double x) {
double r6210785 = 1.0;
double r6210786 = 2.0;
double r6210787 = r6210785 / r6210786;
double r6210788 = x;
double r6210789 = r6210785 + r6210788;
double r6210790 = r6210785 - r6210788;
double r6210791 = r6210789 / r6210790;
double r6210792 = log(r6210791);
double r6210793 = r6210787 * r6210792;
return r6210793;
}
double f(double x) {
double r6210794 = x;
double r6210795 = log1p(r6210794);
double r6210796 = -r6210794;
double r6210797 = log1p(r6210796);
double r6210798 = r6210795 - r6210797;
double r6210799 = 0.5;
double r6210800 = r6210798 * r6210799;
return r6210800;
}



Bits error versus x
Results
Initial program 58.7
Simplified58.7
rmApplied add-exp-log58.7
Applied add-exp-log58.7
Applied div-exp58.7
Applied rem-log-exp58.7
Simplified50.6
rmApplied sub-neg50.6
Applied log1p-def0.0
Final simplification0.0
herbie shell --seed 2019112 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))