\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(\frac{2}{3} \cdot \frac{{x}^{3}}{{1}^{3}} + \left(2 \cdot x + \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)double f(double x) {
double r82989 = 1.0;
double r82990 = 2.0;
double r82991 = r82989 / r82990;
double r82992 = x;
double r82993 = r82989 + r82992;
double r82994 = r82989 - r82992;
double r82995 = r82993 / r82994;
double r82996 = log(r82995);
double r82997 = r82991 * r82996;
return r82997;
}
double f(double x) {
double r82998 = 1.0;
double r82999 = 2.0;
double r83000 = r82998 / r82999;
double r83001 = 0.6666666666666666;
double r83002 = x;
double r83003 = 3.0;
double r83004 = pow(r83002, r83003);
double r83005 = pow(r82998, r83003);
double r83006 = r83004 / r83005;
double r83007 = r83001 * r83006;
double r83008 = r82999 * r83002;
double r83009 = 0.4;
double r83010 = 5.0;
double r83011 = pow(r83002, r83010);
double r83012 = pow(r82998, r83010);
double r83013 = r83011 / r83012;
double r83014 = r83009 * r83013;
double r83015 = r83008 + r83014;
double r83016 = r83007 + r83015;
double r83017 = r83000 * r83016;
return r83017;
}



Bits error versus x
Results
Initial program 58.4
rmApplied log-div58.4
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2020034
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))