\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{1}{21} \cdot \left(\left(\left(\left({\left({\left(\left|x\right|\right)}^{3}\right)}^{1} \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r135927 = 1.0;
double r135928 = atan2(1.0, 0.0);
double r135929 = sqrt(r135928);
double r135930 = r135927 / r135929;
double r135931 = 2.0;
double r135932 = x;
double r135933 = fabs(r135932);
double r135934 = r135931 * r135933;
double r135935 = 3.0;
double r135936 = r135931 / r135935;
double r135937 = r135933 * r135933;
double r135938 = r135937 * r135933;
double r135939 = r135936 * r135938;
double r135940 = r135934 + r135939;
double r135941 = 5.0;
double r135942 = r135927 / r135941;
double r135943 = r135938 * r135933;
double r135944 = r135943 * r135933;
double r135945 = r135942 * r135944;
double r135946 = r135940 + r135945;
double r135947 = 21.0;
double r135948 = r135927 / r135947;
double r135949 = r135944 * r135933;
double r135950 = r135949 * r135933;
double r135951 = r135948 * r135950;
double r135952 = r135946 + r135951;
double r135953 = r135930 * r135952;
double r135954 = fabs(r135953);
return r135954;
}
double f(double x) {
double r135955 = 1.0;
double r135956 = atan2(1.0, 0.0);
double r135957 = sqrt(r135956);
double r135958 = r135955 / r135957;
double r135959 = 2.0;
double r135960 = x;
double r135961 = fabs(r135960);
double r135962 = r135959 * r135961;
double r135963 = 3.0;
double r135964 = r135959 / r135963;
double r135965 = r135961 * r135961;
double r135966 = r135965 * r135961;
double r135967 = r135964 * r135966;
double r135968 = r135962 + r135967;
double r135969 = 5.0;
double r135970 = r135955 / r135969;
double r135971 = r135966 * r135961;
double r135972 = r135971 * r135961;
double r135973 = r135970 * r135972;
double r135974 = r135968 + r135973;
double r135975 = 21.0;
double r135976 = r135955 / r135975;
double r135977 = 3.0;
double r135978 = pow(r135961, r135977);
double r135979 = 1.0;
double r135980 = pow(r135978, r135979);
double r135981 = r135980 * r135961;
double r135982 = r135981 * r135961;
double r135983 = r135982 * r135961;
double r135984 = r135983 * r135961;
double r135985 = r135976 * r135984;
double r135986 = r135974 + r135985;
double r135987 = r135958 * r135986;
double r135988 = fabs(r135987);
return r135988;
}



Bits error versus x
Results
Initial program 0.2
rmApplied pow10.2
Applied pow10.2
Applied pow10.2
Applied pow-prod-down0.2
Applied pow-prod-down0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020083 +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)))))))