\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) + \left(\left|x\right| \cdot \left(\left|x\right| \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)\right)\right) \cdot \frac{1}{21}\right)\right|double f(double x) {
double r2521989 = 1.0;
double r2521990 = atan2(1.0, 0.0);
double r2521991 = sqrt(r2521990);
double r2521992 = r2521989 / r2521991;
double r2521993 = 2.0;
double r2521994 = x;
double r2521995 = fabs(r2521994);
double r2521996 = r2521993 * r2521995;
double r2521997 = 3.0;
double r2521998 = r2521993 / r2521997;
double r2521999 = r2521995 * r2521995;
double r2522000 = r2521999 * r2521995;
double r2522001 = r2521998 * r2522000;
double r2522002 = r2521996 + r2522001;
double r2522003 = 5.0;
double r2522004 = r2521989 / r2522003;
double r2522005 = r2522000 * r2521995;
double r2522006 = r2522005 * r2521995;
double r2522007 = r2522004 * r2522006;
double r2522008 = r2522002 + r2522007;
double r2522009 = 21.0;
double r2522010 = r2521989 / r2522009;
double r2522011 = r2522006 * r2521995;
double r2522012 = r2522011 * r2521995;
double r2522013 = r2522010 * r2522012;
double r2522014 = r2522008 + r2522013;
double r2522015 = r2521992 * r2522014;
double r2522016 = fabs(r2522015);
return r2522016;
}
double f(double x) {
double r2522017 = 1.0;
double r2522018 = atan2(1.0, 0.0);
double r2522019 = sqrt(r2522018);
double r2522020 = r2522017 / r2522019;
double r2522021 = 0.2;
double r2522022 = x;
double r2522023 = fabs(r2522022);
double r2522024 = r2522023 * r2522023;
double r2522025 = r2522024 * r2522023;
double r2522026 = r2522025 * r2522023;
double r2522027 = r2522023 * r2522026;
double r2522028 = r2522021 * r2522027;
double r2522029 = 2.0;
double r2522030 = r2522023 * r2522029;
double r2522031 = 0.6666666666666666;
double r2522032 = r2522025 * r2522031;
double r2522033 = r2522030 + r2522032;
double r2522034 = r2522028 + r2522033;
double r2522035 = r2522023 * r2522027;
double r2522036 = r2522023 * r2522035;
double r2522037 = 0.047619047619047616;
double r2522038 = r2522036 * r2522037;
double r2522039 = r2522034 + r2522038;
double r2522040 = r2522020 * r2522039;
double r2522041 = fabs(r2522040);
return r2522041;
}



Bits error versus x
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2019133 +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)))))))