\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|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r220412 = 1.0;
double r220413 = atan2(1.0, 0.0);
double r220414 = sqrt(r220413);
double r220415 = r220412 / r220414;
double r220416 = 2.0;
double r220417 = x;
double r220418 = fabs(r220417);
double r220419 = r220416 * r220418;
double r220420 = 3.0;
double r220421 = r220416 / r220420;
double r220422 = r220418 * r220418;
double r220423 = r220422 * r220418;
double r220424 = r220421 * r220423;
double r220425 = r220419 + r220424;
double r220426 = 5.0;
double r220427 = r220412 / r220426;
double r220428 = r220423 * r220418;
double r220429 = r220428 * r220418;
double r220430 = r220427 * r220429;
double r220431 = r220425 + r220430;
double r220432 = 21.0;
double r220433 = r220412 / r220432;
double r220434 = r220429 * r220418;
double r220435 = r220434 * r220418;
double r220436 = r220433 * r220435;
double r220437 = r220431 + r220436;
double r220438 = r220415 * r220437;
double r220439 = fabs(r220438);
return r220439;
}
double f(double x) {
double r220440 = 1.0;
double r220441 = atan2(1.0, 0.0);
double r220442 = sqrt(r220441);
double r220443 = r220440 / r220442;
double r220444 = 2.0;
double r220445 = x;
double r220446 = fabs(r220445);
double r220447 = r220444 * r220446;
double r220448 = 3.0;
double r220449 = r220444 / r220448;
double r220450 = r220446 * r220446;
double r220451 = r220450 * r220446;
double r220452 = r220449 * r220451;
double r220453 = r220447 + r220452;
double r220454 = 5.0;
double r220455 = r220440 / r220454;
double r220456 = r220451 * r220446;
double r220457 = r220456 * r220446;
double r220458 = r220455 * r220457;
double r220459 = r220453 + r220458;
double r220460 = cbrt(r220440);
double r220461 = r220460 * r220460;
double r220462 = 21.0;
double r220463 = sqrt(r220462);
double r220464 = r220461 / r220463;
double r220465 = r220460 / r220463;
double r220466 = 6.0;
double r220467 = pow(r220446, r220466);
double r220468 = r220465 * r220467;
double r220469 = r220468 * r220446;
double r220470 = r220464 * r220469;
double r220471 = r220459 + r220470;
double r220472 = r220443 * r220471;
double r220473 = fabs(r220472);
return r220473;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied add-cube-cbrt0.2
Applied times-frac0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020049 +o rules:numerics
(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)))))))