\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 r51737 = 1.0;
double r51738 = 2.0;
double r51739 = r51737 / r51738;
double r51740 = x;
double r51741 = r51737 + r51740;
double r51742 = r51737 - r51740;
double r51743 = r51741 / r51742;
double r51744 = log(r51743);
double r51745 = r51739 * r51744;
return r51745;
}
double f(double x) {
double r51746 = 1.0;
double r51747 = 2.0;
double r51748 = r51746 / r51747;
double r51749 = x;
double r51750 = 2.0;
double r51751 = pow(r51749, r51750);
double r51752 = r51751 + r51749;
double r51753 = r51747 * r51752;
double r51754 = log(r51746);
double r51755 = pow(r51746, r51750);
double r51756 = r51751 / r51755;
double r51757 = r51747 * r51756;
double r51758 = r51754 - r51757;
double r51759 = r51753 + r51758;
double r51760 = r51748 * r51759;
return r51760;
}



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