\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|1 \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right) + \frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \left(\left({\left(\left|x\right|\right)}^{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \frac{1}{21}\right)\right)\right|double f(double x) {
double r151578 = 1.0;
double r151579 = atan2(1.0, 0.0);
double r151580 = sqrt(r151579);
double r151581 = r151578 / r151580;
double r151582 = 2.0;
double r151583 = x;
double r151584 = fabs(r151583);
double r151585 = r151582 * r151584;
double r151586 = 3.0;
double r151587 = r151582 / r151586;
double r151588 = r151584 * r151584;
double r151589 = r151588 * r151584;
double r151590 = r151587 * r151589;
double r151591 = r151585 + r151590;
double r151592 = 5.0;
double r151593 = r151578 / r151592;
double r151594 = r151589 * r151584;
double r151595 = r151594 * r151584;
double r151596 = r151593 * r151595;
double r151597 = r151591 + r151596;
double r151598 = 21.0;
double r151599 = r151578 / r151598;
double r151600 = r151595 * r151584;
double r151601 = r151600 * r151584;
double r151602 = r151599 * r151601;
double r151603 = r151597 + r151602;
double r151604 = r151581 * r151603;
double r151605 = fabs(r151604);
return r151605;
}
double f(double x) {
double r151606 = 1.0;
double r151607 = 1.0;
double r151608 = atan2(1.0, 0.0);
double r151609 = sqrt(r151608);
double r151610 = r151607 / r151609;
double r151611 = x;
double r151612 = fabs(r151611);
double r151613 = 2.0;
double r151614 = 3.0;
double r151615 = pow(r151612, r151614);
double r151616 = 3.0;
double r151617 = r151613 / r151616;
double r151618 = r151615 * r151617;
double r151619 = fma(r151612, r151613, r151618);
double r151620 = r151610 * r151619;
double r151621 = 5.0;
double r151622 = r151606 / r151621;
double r151623 = r151622 * r151615;
double r151624 = r151623 * r151612;
double r151625 = r151612 * r151612;
double r151626 = r151615 * r151625;
double r151627 = r151626 * r151625;
double r151628 = 21.0;
double r151629 = r151606 / r151628;
double r151630 = r151627 * r151629;
double r151631 = fma(r151624, r151612, r151630);
double r151632 = r151610 * r151631;
double r151633 = r151620 + r151632;
double r151634 = r151606 * r151633;
double r151635 = fabs(r151634);
return r151635;
}



Bits error versus x
Initial program 0.2
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019346 +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)))))))