\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(\left|x\right|\right)}^{\frac{3}{2}}\right| \cdot \left|{\left(\left|x\right|\right)}^{\frac{3}{2}}\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \sqrt{\left|x\right|}} \cdot \sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \sqrt{\left|x\right|}}\right) \cdot \sqrt{\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|double f(double x) {
double r137987 = 1.0;
double r137988 = atan2(1.0, 0.0);
double r137989 = sqrt(r137988);
double r137990 = r137987 / r137989;
double r137991 = 2.0;
double r137992 = x;
double r137993 = fabs(r137992);
double r137994 = r137991 * r137993;
double r137995 = 3.0;
double r137996 = r137991 / r137995;
double r137997 = r137993 * r137993;
double r137998 = r137997 * r137993;
double r137999 = r137996 * r137998;
double r138000 = r137994 + r137999;
double r138001 = 5.0;
double r138002 = r137987 / r138001;
double r138003 = r137998 * r137993;
double r138004 = r138003 * r137993;
double r138005 = r138002 * r138004;
double r138006 = r138000 + r138005;
double r138007 = 21.0;
double r138008 = r137987 / r138007;
double r138009 = r138004 * r137993;
double r138010 = r138009 * r137993;
double r138011 = r138008 * r138010;
double r138012 = r138006 + r138011;
double r138013 = r137990 * r138012;
double r138014 = fabs(r138013);
return r138014;
}
double f(double x) {
double r138015 = 1.0;
double r138016 = atan2(1.0, 0.0);
double r138017 = sqrt(r138016);
double r138018 = r138015 / r138017;
double r138019 = 2.0;
double r138020 = x;
double r138021 = fabs(r138020);
double r138022 = r138019 * r138021;
double r138023 = 3.0;
double r138024 = r138019 / r138023;
double r138025 = r138021 * r138021;
double r138026 = r138025 * r138021;
double r138027 = r138024 * r138026;
double r138028 = r138022 + r138027;
double r138029 = 5.0;
double r138030 = r138015 / r138029;
double r138031 = 1.5;
double r138032 = pow(r138021, r138031);
double r138033 = fabs(r138032);
double r138034 = r138033 * r138033;
double r138035 = r138034 * r138021;
double r138036 = r138035 * r138021;
double r138037 = r138030 * r138036;
double r138038 = r138028 + r138037;
double r138039 = 21.0;
double r138040 = r138015 / r138039;
double r138041 = sqrt(r138021);
double r138042 = r138025 * r138041;
double r138043 = sqrt(r138042);
double r138044 = r138043 * r138043;
double r138045 = r138044 * r138041;
double r138046 = r138045 * r138021;
double r138047 = r138046 * r138021;
double r138048 = r138047 * r138021;
double r138049 = r138048 * r138021;
double r138050 = r138040 * r138049;
double r138051 = r138038 + r138050;
double r138052 = r138018 * r138051;
double r138053 = fabs(r138052);
return r138053;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Simplified0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*r*0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019352
(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)))))))