\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left({x}^{5} \cdot \frac{2}{5} + \left(2 \cdot x + \left(x \cdot \left(x \cdot \frac{2}{3}\right)\right) \cdot x\right)\right)double f(double x) {
double r10426920 = 1.0;
double r10426921 = 2.0;
double r10426922 = r10426920 / r10426921;
double r10426923 = x;
double r10426924 = r10426920 + r10426923;
double r10426925 = r10426920 - r10426923;
double r10426926 = r10426924 / r10426925;
double r10426927 = log(r10426926);
double r10426928 = r10426922 * r10426927;
return r10426928;
}
double f(double x) {
double r10426929 = 0.5;
double r10426930 = x;
double r10426931 = 5.0;
double r10426932 = pow(r10426930, r10426931);
double r10426933 = 0.4;
double r10426934 = r10426932 * r10426933;
double r10426935 = 2.0;
double r10426936 = r10426935 * r10426930;
double r10426937 = 0.6666666666666666;
double r10426938 = r10426930 * r10426937;
double r10426939 = r10426930 * r10426938;
double r10426940 = r10426939 * r10426930;
double r10426941 = r10426936 + r10426940;
double r10426942 = r10426934 + r10426941;
double r10426943 = r10426929 * r10426942;
return r10426943;
}



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