\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 r2508538 = 1.0;
double r2508539 = atan2(1.0, 0.0);
double r2508540 = sqrt(r2508539);
double r2508541 = r2508538 / r2508540;
double r2508542 = 2.0;
double r2508543 = x;
double r2508544 = fabs(r2508543);
double r2508545 = r2508542 * r2508544;
double r2508546 = 3.0;
double r2508547 = r2508542 / r2508546;
double r2508548 = r2508544 * r2508544;
double r2508549 = r2508548 * r2508544;
double r2508550 = r2508547 * r2508549;
double r2508551 = r2508545 + r2508550;
double r2508552 = 5.0;
double r2508553 = r2508538 / r2508552;
double r2508554 = r2508549 * r2508544;
double r2508555 = r2508554 * r2508544;
double r2508556 = r2508553 * r2508555;
double r2508557 = r2508551 + r2508556;
double r2508558 = 21.0;
double r2508559 = r2508538 / r2508558;
double r2508560 = r2508555 * r2508544;
double r2508561 = r2508560 * r2508544;
double r2508562 = r2508559 * r2508561;
double r2508563 = r2508557 + r2508562;
double r2508564 = r2508541 * r2508563;
double r2508565 = fabs(r2508564);
return r2508565;
}
double f(double x) {
double r2508566 = 1.0;
double r2508567 = atan2(1.0, 0.0);
double r2508568 = sqrt(r2508567);
double r2508569 = r2508566 / r2508568;
double r2508570 = 0.2;
double r2508571 = x;
double r2508572 = fabs(r2508571);
double r2508573 = r2508572 * r2508572;
double r2508574 = r2508573 * r2508572;
double r2508575 = r2508574 * r2508572;
double r2508576 = r2508572 * r2508575;
double r2508577 = r2508570 * r2508576;
double r2508578 = 2.0;
double r2508579 = r2508572 * r2508578;
double r2508580 = 0.6666666666666666;
double r2508581 = r2508574 * r2508580;
double r2508582 = r2508579 + r2508581;
double r2508583 = r2508577 + r2508582;
double r2508584 = r2508572 * r2508576;
double r2508585 = r2508572 * r2508584;
double r2508586 = 0.047619047619047616;
double r2508587 = r2508585 * r2508586;
double r2508588 = r2508583 + r2508587;
double r2508589 = r2508569 * r2508588;
double r2508590 = fabs(r2508589);
return r2508590;
}



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