\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\left(\frac{2}{5} \cdot {x}^{5} + x \cdot \left(\left(x \cdot x\right) \cdot \frac{2}{3} + 2\right)\right) \cdot \frac{1}{2}double f(double x) {
double r938721 = 1.0;
double r938722 = 2.0;
double r938723 = r938721 / r938722;
double r938724 = x;
double r938725 = r938721 + r938724;
double r938726 = r938721 - r938724;
double r938727 = r938725 / r938726;
double r938728 = log(r938727);
double r938729 = r938723 * r938728;
return r938729;
}
double f(double x) {
double r938730 = 0.4;
double r938731 = x;
double r938732 = 5.0;
double r938733 = pow(r938731, r938732);
double r938734 = r938730 * r938733;
double r938735 = r938731 * r938731;
double r938736 = 0.6666666666666666;
double r938737 = r938735 * r938736;
double r938738 = 2.0;
double r938739 = r938737 + r938738;
double r938740 = r938731 * r938739;
double r938741 = r938734 + r938740;
double r938742 = 0.5;
double r938743 = r938741 * r938742;
return r938743;
}



Bits error versus x
Results
Initial program 58.4
Simplified58.4
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019154
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))