\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|\sqrt{\frac{1}{\pi}} \cdot \left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{5} + \left(\left(\frac{2}{3} \cdot \left|x\right|\right) \cdot \left|x\right| + 2\right) \cdot \left|x\right|\right) + \left({\left(\left|x\right|\right)}^{7} \cdot \frac{1}{21}\right) \cdot \sqrt{\frac{1}{\pi}}\right|double f(double x) {
double r17430603 = 1.0;
double r17430604 = atan2(1.0, 0.0);
double r17430605 = sqrt(r17430604);
double r17430606 = r17430603 / r17430605;
double r17430607 = 2.0;
double r17430608 = x;
double r17430609 = fabs(r17430608);
double r17430610 = r17430607 * r17430609;
double r17430611 = 3.0;
double r17430612 = r17430607 / r17430611;
double r17430613 = r17430609 * r17430609;
double r17430614 = r17430613 * r17430609;
double r17430615 = r17430612 * r17430614;
double r17430616 = r17430610 + r17430615;
double r17430617 = 5.0;
double r17430618 = r17430603 / r17430617;
double r17430619 = r17430614 * r17430609;
double r17430620 = r17430619 * r17430609;
double r17430621 = r17430618 * r17430620;
double r17430622 = r17430616 + r17430621;
double r17430623 = 21.0;
double r17430624 = r17430603 / r17430623;
double r17430625 = r17430620 * r17430609;
double r17430626 = r17430625 * r17430609;
double r17430627 = r17430624 * r17430626;
double r17430628 = r17430622 + r17430627;
double r17430629 = r17430606 * r17430628;
double r17430630 = fabs(r17430629);
return r17430630;
}
double f(double x) {
double r17430631 = 1.0;
double r17430632 = atan2(1.0, 0.0);
double r17430633 = r17430631 / r17430632;
double r17430634 = sqrt(r17430633);
double r17430635 = 0.2;
double r17430636 = x;
double r17430637 = fabs(r17430636);
double r17430638 = 5.0;
double r17430639 = pow(r17430637, r17430638);
double r17430640 = r17430635 * r17430639;
double r17430641 = 0.6666666666666666;
double r17430642 = r17430641 * r17430637;
double r17430643 = r17430642 * r17430637;
double r17430644 = 2.0;
double r17430645 = r17430643 + r17430644;
double r17430646 = r17430645 * r17430637;
double r17430647 = r17430640 + r17430646;
double r17430648 = r17430634 * r17430647;
double r17430649 = 7.0;
double r17430650 = pow(r17430637, r17430649);
double r17430651 = 0.047619047619047616;
double r17430652 = r17430650 * r17430651;
double r17430653 = r17430652 * r17430634;
double r17430654 = r17430648 + r17430653;
double r17430655 = fabs(r17430654);
return r17430655;
}



Bits error versus x
Results
Initial program 0.2
Taylor expanded around 0 0.2
Simplified0.2
rmApplied distribute-lft-in0.2
Final simplification0.2
herbie shell --seed 2019107
(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)))))))