\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(\sqrt{{\left(\left|x\right|\right)}^{7}} \cdot \frac{1}{21}\right) \cdot \sqrt{{\left(\left|x\right|\right)}^{7}} + \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)\right)\right|double f(double x) {
double r5099281 = 1.0;
double r5099282 = atan2(1.0, 0.0);
double r5099283 = sqrt(r5099282);
double r5099284 = r5099281 / r5099283;
double r5099285 = 2.0;
double r5099286 = x;
double r5099287 = fabs(r5099286);
double r5099288 = r5099285 * r5099287;
double r5099289 = 3.0;
double r5099290 = r5099285 / r5099289;
double r5099291 = r5099287 * r5099287;
double r5099292 = r5099291 * r5099287;
double r5099293 = r5099290 * r5099292;
double r5099294 = r5099288 + r5099293;
double r5099295 = 5.0;
double r5099296 = r5099281 / r5099295;
double r5099297 = r5099292 * r5099287;
double r5099298 = r5099297 * r5099287;
double r5099299 = r5099296 * r5099298;
double r5099300 = r5099294 + r5099299;
double r5099301 = 21.0;
double r5099302 = r5099281 / r5099301;
double r5099303 = r5099298 * r5099287;
double r5099304 = r5099303 * r5099287;
double r5099305 = r5099302 * r5099304;
double r5099306 = r5099300 + r5099305;
double r5099307 = r5099284 * r5099306;
double r5099308 = fabs(r5099307);
return r5099308;
}
double f(double x) {
double r5099309 = 1.0;
double r5099310 = atan2(1.0, 0.0);
double r5099311 = sqrt(r5099310);
double r5099312 = r5099309 / r5099311;
double r5099313 = x;
double r5099314 = fabs(r5099313);
double r5099315 = 7.0;
double r5099316 = pow(r5099314, r5099315);
double r5099317 = sqrt(r5099316);
double r5099318 = 0.047619047619047616;
double r5099319 = r5099317 * r5099318;
double r5099320 = r5099319 * r5099317;
double r5099321 = 0.2;
double r5099322 = r5099314 * r5099314;
double r5099323 = r5099322 * r5099314;
double r5099324 = r5099323 * r5099314;
double r5099325 = r5099314 * r5099324;
double r5099326 = r5099321 * r5099325;
double r5099327 = 2.0;
double r5099328 = r5099314 * r5099327;
double r5099329 = 0.6666666666666666;
double r5099330 = r5099323 * r5099329;
double r5099331 = r5099328 + r5099330;
double r5099332 = r5099326 + r5099331;
double r5099333 = r5099320 + r5099332;
double r5099334 = r5099312 * r5099333;
double r5099335 = fabs(r5099334);
return r5099335;
}



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