\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 r2650914 = 1.0;
double r2650915 = atan2(1.0, 0.0);
double r2650916 = sqrt(r2650915);
double r2650917 = r2650914 / r2650916;
double r2650918 = 2.0;
double r2650919 = x;
double r2650920 = fabs(r2650919);
double r2650921 = r2650918 * r2650920;
double r2650922 = 3.0;
double r2650923 = r2650918 / r2650922;
double r2650924 = r2650920 * r2650920;
double r2650925 = r2650924 * r2650920;
double r2650926 = r2650923 * r2650925;
double r2650927 = r2650921 + r2650926;
double r2650928 = 5.0;
double r2650929 = r2650914 / r2650928;
double r2650930 = r2650925 * r2650920;
double r2650931 = r2650930 * r2650920;
double r2650932 = r2650929 * r2650931;
double r2650933 = r2650927 + r2650932;
double r2650934 = 21.0;
double r2650935 = r2650914 / r2650934;
double r2650936 = r2650931 * r2650920;
double r2650937 = r2650936 * r2650920;
double r2650938 = r2650935 * r2650937;
double r2650939 = r2650933 + r2650938;
double r2650940 = r2650917 * r2650939;
double r2650941 = fabs(r2650940);
return r2650941;
}
double f(double x) {
double r2650942 = 1.0;
double r2650943 = atan2(1.0, 0.0);
double r2650944 = sqrt(r2650943);
double r2650945 = r2650942 / r2650944;
double r2650946 = 0.2;
double r2650947 = x;
double r2650948 = fabs(r2650947);
double r2650949 = r2650948 * r2650948;
double r2650950 = r2650949 * r2650948;
double r2650951 = r2650950 * r2650948;
double r2650952 = r2650948 * r2650951;
double r2650953 = r2650946 * r2650952;
double r2650954 = 2.0;
double r2650955 = r2650948 * r2650954;
double r2650956 = 0.6666666666666666;
double r2650957 = r2650950 * r2650956;
double r2650958 = r2650955 + r2650957;
double r2650959 = r2650953 + r2650958;
double r2650960 = r2650948 * r2650952;
double r2650961 = r2650948 * r2650960;
double r2650962 = 0.047619047619047616;
double r2650963 = r2650961 * r2650962;
double r2650964 = r2650959 + r2650963;
double r2650965 = r2650945 * r2650964;
double r2650966 = fabs(r2650965);
return r2650966;
}



Bits error versus x
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2019155
(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)))))))