\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right) + \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\right)\right|double f(double x) {
double r5767962 = 1.0;
double r5767963 = atan2(1.0, 0.0);
double r5767964 = sqrt(r5767963);
double r5767965 = r5767962 / r5767964;
double r5767966 = 2.0;
double r5767967 = x;
double r5767968 = fabs(r5767967);
double r5767969 = r5767966 * r5767968;
double r5767970 = 3.0;
double r5767971 = r5767966 / r5767970;
double r5767972 = r5767968 * r5767968;
double r5767973 = r5767972 * r5767968;
double r5767974 = r5767971 * r5767973;
double r5767975 = r5767969 + r5767974;
double r5767976 = 5.0;
double r5767977 = r5767962 / r5767976;
double r5767978 = r5767973 * r5767968;
double r5767979 = r5767978 * r5767968;
double r5767980 = r5767977 * r5767979;
double r5767981 = r5767975 + r5767980;
double r5767982 = 21.0;
double r5767983 = r5767962 / r5767982;
double r5767984 = r5767979 * r5767968;
double r5767985 = r5767984 * r5767968;
double r5767986 = r5767983 * r5767985;
double r5767987 = r5767981 + r5767986;
double r5767988 = r5767965 * r5767987;
double r5767989 = fabs(r5767988);
return r5767989;
}
double f(double x) {
double r5767990 = 1.0;
double r5767991 = atan2(1.0, 0.0);
double r5767992 = sqrt(r5767991);
double r5767993 = r5767990 / r5767992;
double r5767994 = 0.2;
double r5767995 = x;
double r5767996 = fabs(r5767995);
double r5767997 = r5767996 * r5767996;
double r5767998 = r5767997 * r5767996;
double r5767999 = r5767998 * r5767996;
double r5768000 = r5767996 * r5767999;
double r5768001 = r5767994 * r5768000;
double r5768002 = 2.0;
double r5768003 = r5767996 * r5768002;
double r5768004 = 0.6666666666666666;
double r5768005 = r5767998 * r5768004;
double r5768006 = r5768003 + r5768005;
double r5768007 = r5768001 + r5768006;
double r5768008 = r5767996 * r5768000;
double r5768009 = r5767996 * r5768008;
double r5768010 = 0.047619047619047616;
double r5768011 = r5768009 * r5768010;
double r5768012 = r5768007 + r5768011;
double r5768013 = r5767993 * r5768012;
double r5768014 = fabs(r5768013);
return r5768014;
}



Bits error versus x
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2019168
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
(fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))