\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|\sqrt{\frac{1}{\pi}} \cdot (\frac{1}{5} \cdot \left({\left(\left|x\right|\right)}^{5}\right) + \left((\left({\left(\left|x\right|\right)}^{7}\right) \cdot \frac{1}{21} + \left(\left|x\right| \cdot \left(\frac{2}{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right) + 2\right)\right))_*\right))_*\right|double f(double x) {
double r28401895 = 1.0;
double r28401896 = atan2(1.0, 0.0);
double r28401897 = sqrt(r28401896);
double r28401898 = r28401895 / r28401897;
double r28401899 = 2.0;
double r28401900 = x;
double r28401901 = fabs(r28401900);
double r28401902 = r28401899 * r28401901;
double r28401903 = 3.0;
double r28401904 = r28401899 / r28401903;
double r28401905 = r28401901 * r28401901;
double r28401906 = r28401905 * r28401901;
double r28401907 = r28401904 * r28401906;
double r28401908 = r28401902 + r28401907;
double r28401909 = 5.0;
double r28401910 = r28401895 / r28401909;
double r28401911 = r28401906 * r28401901;
double r28401912 = r28401911 * r28401901;
double r28401913 = r28401910 * r28401912;
double r28401914 = r28401908 + r28401913;
double r28401915 = 21.0;
double r28401916 = r28401895 / r28401915;
double r28401917 = r28401912 * r28401901;
double r28401918 = r28401917 * r28401901;
double r28401919 = r28401916 * r28401918;
double r28401920 = r28401914 + r28401919;
double r28401921 = r28401898 * r28401920;
double r28401922 = fabs(r28401921);
return r28401922;
}
double f(double x) {
double r28401923 = 1.0;
double r28401924 = atan2(1.0, 0.0);
double r28401925 = r28401923 / r28401924;
double r28401926 = sqrt(r28401925);
double r28401927 = 0.2;
double r28401928 = x;
double r28401929 = fabs(r28401928);
double r28401930 = 5.0;
double r28401931 = pow(r28401929, r28401930);
double r28401932 = 7.0;
double r28401933 = pow(r28401929, r28401932);
double r28401934 = 0.047619047619047616;
double r28401935 = 0.6666666666666666;
double r28401936 = r28401929 * r28401929;
double r28401937 = r28401935 * r28401936;
double r28401938 = 2.0;
double r28401939 = r28401937 + r28401938;
double r28401940 = r28401929 * r28401939;
double r28401941 = fma(r28401933, r28401934, r28401940);
double r28401942 = fma(r28401927, r28401931, r28401941);
double r28401943 = r28401926 * r28401942;
double r28401944 = fabs(r28401943);
return r28401944;
}



Bits error versus x
Initial program 0.2
Taylor expanded around inf 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019104 +o rules:numerics
(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)))))))