\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\left(\mathsf{log1p}\left(x\right) - \mathsf{log1p}\left(-x\right)\right) \cdot \frac{1}{2}double f(double x) {
double r2144043 = 1.0;
double r2144044 = 2.0;
double r2144045 = r2144043 / r2144044;
double r2144046 = x;
double r2144047 = r2144043 + r2144046;
double r2144048 = r2144043 - r2144046;
double r2144049 = r2144047 / r2144048;
double r2144050 = log(r2144049);
double r2144051 = r2144045 * r2144050;
return r2144051;
}
double f(double x) {
double r2144052 = x;
double r2144053 = log1p(r2144052);
double r2144054 = -r2144052;
double r2144055 = log1p(r2144054);
double r2144056 = r2144053 - r2144055;
double r2144057 = 0.5;
double r2144058 = r2144056 * r2144057;
return r2144058;
}



Bits error versus x
Results
Initial program 58.7
Simplified58.7
rmApplied log-div58.7
Simplified50.6
rmApplied log1p-expm1-u50.6
Simplified0.0
Final simplification0.0
herbie shell --seed 2019152 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))