\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|\left(\left(\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) \cdot \left|x\right|\right) \cdot \frac{1}{21} + \left(\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) \cdot \frac{1}{5} + \left(\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \left(\frac{\sqrt[3]{2}}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left|x\right| \cdot 2\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}}\right|double f(double x) {
double r5800545 = 1.0;
double r5800546 = atan2(1.0, 0.0);
double r5800547 = sqrt(r5800546);
double r5800548 = r5800545 / r5800547;
double r5800549 = 2.0;
double r5800550 = x;
double r5800551 = fabs(r5800550);
double r5800552 = r5800549 * r5800551;
double r5800553 = 3.0;
double r5800554 = r5800549 / r5800553;
double r5800555 = r5800551 * r5800551;
double r5800556 = r5800555 * r5800551;
double r5800557 = r5800554 * r5800556;
double r5800558 = r5800552 + r5800557;
double r5800559 = 5.0;
double r5800560 = r5800545 / r5800559;
double r5800561 = r5800556 * r5800551;
double r5800562 = r5800561 * r5800551;
double r5800563 = r5800560 * r5800562;
double r5800564 = r5800558 + r5800563;
double r5800565 = 21.0;
double r5800566 = r5800545 / r5800565;
double r5800567 = r5800562 * r5800551;
double r5800568 = r5800567 * r5800551;
double r5800569 = r5800566 * r5800568;
double r5800570 = r5800564 + r5800569;
double r5800571 = r5800548 * r5800570;
double r5800572 = fabs(r5800571);
return r5800572;
}
double f(double x) {
double r5800573 = x;
double r5800574 = fabs(r5800573);
double r5800575 = r5800574 * r5800574;
double r5800576 = r5800575 * r5800574;
double r5800577 = r5800576 * r5800574;
double r5800578 = r5800574 * r5800577;
double r5800579 = r5800574 * r5800578;
double r5800580 = r5800579 * r5800574;
double r5800581 = 1.0;
double r5800582 = 21.0;
double r5800583 = r5800581 / r5800582;
double r5800584 = r5800580 * r5800583;
double r5800585 = 5.0;
double r5800586 = r5800581 / r5800585;
double r5800587 = r5800578 * r5800586;
double r5800588 = 2.0;
double r5800589 = cbrt(r5800588);
double r5800590 = r5800589 * r5800589;
double r5800591 = 3.0;
double r5800592 = r5800589 / r5800591;
double r5800593 = r5800592 * r5800576;
double r5800594 = r5800590 * r5800593;
double r5800595 = r5800574 * r5800588;
double r5800596 = r5800594 + r5800595;
double r5800597 = r5800587 + r5800596;
double r5800598 = r5800584 + r5800597;
double r5800599 = atan2(1.0, 0.0);
double r5800600 = sqrt(r5800599);
double r5800601 = r5800581 / r5800600;
double r5800602 = r5800598 * r5800601;
double r5800603 = fabs(r5800602);
return r5800603;
}



Bits error versus x
Results
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied add-cube-cbrt0.2
Applied times-frac0.2
Applied associate-*l*0.2
Final simplification0.2
herbie shell --seed 2019192
(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)))))))