\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) + \frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left(\left(\sqrt{\left|x\right|} \cdot \sqrt{\left|x\right| \cdot \left|x\right|}\right) \cdot \sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|}\right)\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right|double f(double x) {
double r4517922 = 1.0;
double r4517923 = atan2(1.0, 0.0);
double r4517924 = sqrt(r4517923);
double r4517925 = r4517922 / r4517924;
double r4517926 = 2.0;
double r4517927 = x;
double r4517928 = fabs(r4517927);
double r4517929 = r4517926 * r4517928;
double r4517930 = 3.0;
double r4517931 = r4517926 / r4517930;
double r4517932 = r4517928 * r4517928;
double r4517933 = r4517932 * r4517928;
double r4517934 = r4517931 * r4517933;
double r4517935 = r4517929 + r4517934;
double r4517936 = 5.0;
double r4517937 = r4517922 / r4517936;
double r4517938 = r4517933 * r4517928;
double r4517939 = r4517938 * r4517928;
double r4517940 = r4517937 * r4517939;
double r4517941 = r4517935 + r4517940;
double r4517942 = 21.0;
double r4517943 = r4517922 / r4517942;
double r4517944 = r4517939 * r4517928;
double r4517945 = r4517944 * r4517928;
double r4517946 = r4517943 * r4517945;
double r4517947 = r4517941 + r4517946;
double r4517948 = r4517925 * r4517947;
double r4517949 = fabs(r4517948);
return r4517949;
}
double f(double x) {
double r4517950 = 1.0;
double r4517951 = atan2(1.0, 0.0);
double r4517952 = sqrt(r4517951);
double r4517953 = r4517950 / r4517952;
double r4517954 = 0.2;
double r4517955 = x;
double r4517956 = fabs(r4517955);
double r4517957 = r4517956 * r4517956;
double r4517958 = r4517957 * r4517956;
double r4517959 = r4517958 * r4517956;
double r4517960 = r4517956 * r4517959;
double r4517961 = r4517954 * r4517960;
double r4517962 = 2.0;
double r4517963 = r4517956 * r4517962;
double r4517964 = 0.6666666666666666;
double r4517965 = r4517958 * r4517964;
double r4517966 = r4517963 + r4517965;
double r4517967 = r4517961 + r4517966;
double r4517968 = 0.047619047619047616;
double r4517969 = sqrt(r4517956);
double r4517970 = sqrt(r4517957);
double r4517971 = r4517969 * r4517970;
double r4517972 = sqrt(r4517958);
double r4517973 = r4517971 * r4517972;
double r4517974 = r4517956 * r4517973;
double r4517975 = r4517974 * r4517956;
double r4517976 = r4517975 * r4517956;
double r4517977 = r4517956 * r4517976;
double r4517978 = r4517968 * r4517977;
double r4517979 = r4517967 + r4517978;
double r4517980 = r4517953 * r4517979;
double r4517981 = fabs(r4517980);
return r4517981;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
rmApplied sqrt-prod0.2
Final simplification0.2
herbie shell --seed 2019132
(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)))))))