\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{\left(\left(2 \cdot x + \log 1\right) - {x}^{2} \cdot \left(\frac{2}{{1}^{2}} - 2\right)\right) \cdot 1}{2}double f(double x) {
double r55740 = 1.0;
double r55741 = 2.0;
double r55742 = r55740 / r55741;
double r55743 = x;
double r55744 = r55740 + r55743;
double r55745 = r55740 - r55743;
double r55746 = r55744 / r55745;
double r55747 = log(r55746);
double r55748 = r55742 * r55747;
return r55748;
}
double f(double x) {
double r55749 = 2.0;
double r55750 = x;
double r55751 = r55749 * r55750;
double r55752 = 1.0;
double r55753 = log(r55752);
double r55754 = r55751 + r55753;
double r55755 = 2.0;
double r55756 = pow(r55750, r55755);
double r55757 = pow(r55752, r55755);
double r55758 = r55749 / r55757;
double r55759 = r55758 - r55749;
double r55760 = r55756 * r55759;
double r55761 = r55754 - r55760;
double r55762 = r55761 * r55752;
double r55763 = r55762 / r55749;
return r55763;
}



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