\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \mathsf{fma}\left(\frac{2}{3}, \frac{{x}^{3}}{{1}^{3}}, \mathsf{fma}\left(2, x, \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)double f(double x) {
double r63225 = 1.0;
double r63226 = 2.0;
double r63227 = r63225 / r63226;
double r63228 = x;
double r63229 = r63225 + r63228;
double r63230 = r63225 - r63228;
double r63231 = r63229 / r63230;
double r63232 = log(r63231);
double r63233 = r63227 * r63232;
return r63233;
}
double f(double x) {
double r63234 = 1.0;
double r63235 = 2.0;
double r63236 = r63234 / r63235;
double r63237 = 0.6666666666666666;
double r63238 = x;
double r63239 = 3.0;
double r63240 = pow(r63238, r63239);
double r63241 = pow(r63234, r63239);
double r63242 = r63240 / r63241;
double r63243 = 0.4;
double r63244 = 5.0;
double r63245 = pow(r63238, r63244);
double r63246 = pow(r63234, r63244);
double r63247 = r63245 / r63246;
double r63248 = r63243 * r63247;
double r63249 = fma(r63235, r63238, r63248);
double r63250 = fma(r63237, r63242, r63249);
double r63251 = r63236 * r63250;
return r63251;
}



Bits error versus x
Initial program 58.6
rmApplied log-div58.6
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019235 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))