\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|x\right|\right)}^{3} \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\right)\right|double f(double x) {
double r4328217 = 1.0;
double r4328218 = atan2(1.0, 0.0);
double r4328219 = sqrt(r4328218);
double r4328220 = r4328217 / r4328219;
double r4328221 = 2.0;
double r4328222 = x;
double r4328223 = fabs(r4328222);
double r4328224 = r4328221 * r4328223;
double r4328225 = 3.0;
double r4328226 = r4328221 / r4328225;
double r4328227 = r4328223 * r4328223;
double r4328228 = r4328227 * r4328223;
double r4328229 = r4328226 * r4328228;
double r4328230 = r4328224 + r4328229;
double r4328231 = 5.0;
double r4328232 = r4328217 / r4328231;
double r4328233 = r4328228 * r4328223;
double r4328234 = r4328233 * r4328223;
double r4328235 = r4328232 * r4328234;
double r4328236 = r4328230 + r4328235;
double r4328237 = 21.0;
double r4328238 = r4328217 / r4328237;
double r4328239 = r4328234 * r4328223;
double r4328240 = r4328239 * r4328223;
double r4328241 = r4328238 * r4328240;
double r4328242 = r4328236 + r4328241;
double r4328243 = r4328220 * r4328242;
double r4328244 = fabs(r4328243);
return r4328244;
}
double f(double x) {
double r4328245 = 1.0;
double r4328246 = atan2(1.0, 0.0);
double r4328247 = sqrt(r4328246);
double r4328248 = r4328245 / r4328247;
double r4328249 = 5.0;
double r4328250 = r4328245 / r4328249;
double r4328251 = x;
double r4328252 = fabs(r4328251);
double r4328253 = r4328252 * r4328252;
double r4328254 = r4328253 * r4328252;
double r4328255 = r4328254 * r4328252;
double r4328256 = r4328252 * r4328255;
double r4328257 = r4328250 * r4328256;
double r4328258 = 2.0;
double r4328259 = r4328252 * r4328258;
double r4328260 = 3.0;
double r4328261 = r4328258 / r4328260;
double r4328262 = r4328254 * r4328261;
double r4328263 = r4328259 + r4328262;
double r4328264 = r4328257 + r4328263;
double r4328265 = 3.0;
double r4328266 = pow(r4328252, r4328265);
double r4328267 = r4328266 * r4328252;
double r4328268 = r4328252 * r4328267;
double r4328269 = r4328252 * r4328268;
double r4328270 = r4328252 * r4328269;
double r4328271 = 21.0;
double r4328272 = r4328245 / r4328271;
double r4328273 = r4328270 * r4328272;
double r4328274 = r4328264 + r4328273;
double r4328275 = r4328248 * r4328274;
double r4328276 = fabs(r4328275);
return r4328276;
}



Bits error versus x
Results
Initial program 0.2
rmApplied pow10.2
Applied pow10.2
Applied pow10.2
Applied pow-prod-up0.2
Applied pow-prod-up0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
(fabs (* (/ 1.0 (sqrt PI)) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))