\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 r2538080 = 1.0;
double r2538081 = atan2(1.0, 0.0);
double r2538082 = sqrt(r2538081);
double r2538083 = r2538080 / r2538082;
double r2538084 = 2.0;
double r2538085 = x;
double r2538086 = fabs(r2538085);
double r2538087 = r2538084 * r2538086;
double r2538088 = 3.0;
double r2538089 = r2538084 / r2538088;
double r2538090 = r2538086 * r2538086;
double r2538091 = r2538090 * r2538086;
double r2538092 = r2538089 * r2538091;
double r2538093 = r2538087 + r2538092;
double r2538094 = 5.0;
double r2538095 = r2538080 / r2538094;
double r2538096 = r2538091 * r2538086;
double r2538097 = r2538096 * r2538086;
double r2538098 = r2538095 * r2538097;
double r2538099 = r2538093 + r2538098;
double r2538100 = 21.0;
double r2538101 = r2538080 / r2538100;
double r2538102 = r2538097 * r2538086;
double r2538103 = r2538102 * r2538086;
double r2538104 = r2538101 * r2538103;
double r2538105 = r2538099 + r2538104;
double r2538106 = r2538083 * r2538105;
double r2538107 = fabs(r2538106);
return r2538107;
}
double f(double x) {
double r2538108 = 1.0;
double r2538109 = atan2(1.0, 0.0);
double r2538110 = sqrt(r2538109);
double r2538111 = r2538108 / r2538110;
double r2538112 = 0.2;
double r2538113 = x;
double r2538114 = fabs(r2538113);
double r2538115 = r2538114 * r2538114;
double r2538116 = r2538115 * r2538114;
double r2538117 = r2538116 * r2538114;
double r2538118 = r2538114 * r2538117;
double r2538119 = r2538112 * r2538118;
double r2538120 = 2.0;
double r2538121 = r2538114 * r2538120;
double r2538122 = 0.6666666666666666;
double r2538123 = r2538116 * r2538122;
double r2538124 = r2538121 + r2538123;
double r2538125 = r2538119 + r2538124;
double r2538126 = r2538114 * r2538118;
double r2538127 = r2538114 * r2538126;
double r2538128 = 0.047619047619047616;
double r2538129 = r2538127 * r2538128;
double r2538130 = r2538125 + r2538129;
double r2538131 = r2538111 * r2538130;
double r2538132 = fabs(r2538131);
return r2538132;
}



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