\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(\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{\sqrt{1}}{\sqrt{21}} \cdot \left(\left(\frac{\sqrt{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r157866 = 1.0;
double r157867 = atan2(1.0, 0.0);
double r157868 = sqrt(r157867);
double r157869 = r157866 / r157868;
double r157870 = 2.0;
double r157871 = x;
double r157872 = fabs(r157871);
double r157873 = r157870 * r157872;
double r157874 = 3.0;
double r157875 = r157870 / r157874;
double r157876 = r157872 * r157872;
double r157877 = r157876 * r157872;
double r157878 = r157875 * r157877;
double r157879 = r157873 + r157878;
double r157880 = 5.0;
double r157881 = r157866 / r157880;
double r157882 = r157877 * r157872;
double r157883 = r157882 * r157872;
double r157884 = r157881 * r157883;
double r157885 = r157879 + r157884;
double r157886 = 21.0;
double r157887 = r157866 / r157886;
double r157888 = r157883 * r157872;
double r157889 = r157888 * r157872;
double r157890 = r157887 * r157889;
double r157891 = r157885 + r157890;
double r157892 = r157869 * r157891;
double r157893 = fabs(r157892);
return r157893;
}
double f(double x) {
double r157894 = 1.0;
double r157895 = atan2(1.0, 0.0);
double r157896 = sqrt(r157895);
double r157897 = r157894 / r157896;
double r157898 = 2.0;
double r157899 = x;
double r157900 = fabs(r157899);
double r157901 = r157898 * r157900;
double r157902 = 3.0;
double r157903 = r157898 / r157902;
double r157904 = r157900 * r157900;
double r157905 = r157904 * r157900;
double r157906 = r157903 * r157905;
double r157907 = r157901 + r157906;
double r157908 = 5.0;
double r157909 = r157894 / r157908;
double r157910 = r157905 * r157900;
double r157911 = r157910 * r157900;
double r157912 = r157909 * r157911;
double r157913 = r157907 + r157912;
double r157914 = sqrt(r157894);
double r157915 = 21.0;
double r157916 = sqrt(r157915);
double r157917 = r157914 / r157916;
double r157918 = 6.0;
double r157919 = pow(r157900, r157918);
double r157920 = r157917 * r157919;
double r157921 = r157920 * r157900;
double r157922 = r157917 * r157921;
double r157923 = r157913 + r157922;
double r157924 = r157897 * r157923;
double r157925 = fabs(r157924);
return r157925;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied add-sqr-sqrt0.2
Applied times-frac0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
:precision binary64
(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)))))))