\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(2 \cdot \left({x}^{2} + x\right) + \left(\log 1 - 2 \cdot \frac{{x}^{2}}{{1}^{2}}\right)\right)double f(double x) {
double r43750 = 1.0;
double r43751 = 2.0;
double r43752 = r43750 / r43751;
double r43753 = x;
double r43754 = r43750 + r43753;
double r43755 = r43750 - r43753;
double r43756 = r43754 / r43755;
double r43757 = log(r43756);
double r43758 = r43752 * r43757;
return r43758;
}
double f(double x) {
double r43759 = 1.0;
double r43760 = 2.0;
double r43761 = r43759 / r43760;
double r43762 = x;
double r43763 = 2.0;
double r43764 = pow(r43762, r43763);
double r43765 = r43764 + r43762;
double r43766 = r43760 * r43765;
double r43767 = log(r43759);
double r43768 = pow(r43759, r43763);
double r43769 = r43764 / r43768;
double r43770 = r43760 * r43769;
double r43771 = r43767 - r43770;
double r43772 = r43766 + r43771;
double r43773 = r43761 * r43772;
return r43773;
}



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