double f(double x) {
double r12672980 = 1.0;
double r12672981 = 2.0;
double r12672982 = r12672980 / r12672981;
double r12672983 = x;
double r12672984 = r12672980 + r12672983;
double r12672985 = r12672980 - r12672983;
double r12672986 = r12672984 / r12672985;
double r12672987 = log(r12672986);
double r12672988 = r12672982 * r12672987;
return r12672988;
}
double f(double x) {
double r12672989 = 0.4;
double r12672990 = x;
double r12672991 = 5.0;
double r12672992 = pow(r12672990, r12672991);
double r12672993 = 2.0;
double r12672994 = r12672993 * r12672990;
double r12672995 = 0.6666666666666666;
double r12672996 = r12672990 * r12672990;
double r12672997 = r12672995 * r12672996;
double r12672998 = r12672997 * r12672990;
double r12672999 = r12672994 + r12672998;
double r12673000 = fma(r12672989, r12672992, r12672999);
double r12673001 = 0.5;
double r12673002 = r12673000 * r12673001;
return r12673002;
}
\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)(\frac{2}{5} \cdot \left({x}^{5}\right) + \left(2 \cdot x + \left(\frac{2}{3} \cdot \left(x \cdot x\right)\right) \cdot x\right))_* \cdot \frac{1}{2}


Bits error versus x
Initial program 58.6
Simplified58.6
Taylor expanded around 0 0.2
Simplified0.2
rmApplied fma-udef0.2
Applied distribute-lft-in0.2
Final simplification0.2
herbie shell --seed 2019102 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))