\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(2 \cdot \left(x + x \cdot \left(x - \frac{x}{1 \cdot 1}\right)\right) + \log 1\right)double f(double x) {
double r68553 = 1.0;
double r68554 = 2.0;
double r68555 = r68553 / r68554;
double r68556 = x;
double r68557 = r68553 + r68556;
double r68558 = r68553 - r68556;
double r68559 = r68557 / r68558;
double r68560 = log(r68559);
double r68561 = r68555 * r68560;
return r68561;
}
double f(double x) {
double r68562 = 1.0;
double r68563 = 2.0;
double r68564 = r68562 / r68563;
double r68565 = x;
double r68566 = r68562 * r68562;
double r68567 = r68565 / r68566;
double r68568 = r68565 - r68567;
double r68569 = r68565 * r68568;
double r68570 = r68565 + r68569;
double r68571 = r68563 * r68570;
double r68572 = log(r68562);
double r68573 = r68571 + r68572;
double r68574 = r68564 * r68573;
return r68574;
}



Bits error versus x
Results
Initial program 58.6
Taylor expanded around 0 0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019323
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))