\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(\frac{{\left(\left|x\right|\right)}^{5}}{\frac{5}{1}} + \left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot {\left(\left|x\right|\right)}^{3}\right) + \frac{1}{21} \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left|x\right|\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}}\right|double f(double x) {
double r147643 = 1.0;
double r147644 = atan2(1.0, 0.0);
double r147645 = sqrt(r147644);
double r147646 = r147643 / r147645;
double r147647 = 2.0;
double r147648 = x;
double r147649 = fabs(r147648);
double r147650 = r147647 * r147649;
double r147651 = 3.0;
double r147652 = r147647 / r147651;
double r147653 = r147649 * r147649;
double r147654 = r147653 * r147649;
double r147655 = r147652 * r147654;
double r147656 = r147650 + r147655;
double r147657 = 5.0;
double r147658 = r147643 / r147657;
double r147659 = r147654 * r147649;
double r147660 = r147659 * r147649;
double r147661 = r147658 * r147660;
double r147662 = r147656 + r147661;
double r147663 = 21.0;
double r147664 = r147643 / r147663;
double r147665 = r147660 * r147649;
double r147666 = r147665 * r147649;
double r147667 = r147664 * r147666;
double r147668 = r147662 + r147667;
double r147669 = r147646 * r147668;
double r147670 = fabs(r147669);
return r147670;
}
double f(double x) {
double r147671 = x;
double r147672 = fabs(r147671);
double r147673 = 5.0;
double r147674 = pow(r147672, r147673);
double r147675 = 5.0;
double r147676 = 1.0;
double r147677 = r147675 / r147676;
double r147678 = r147674 / r147677;
double r147679 = 2.0;
double r147680 = r147679 * r147672;
double r147681 = 3.0;
double r147682 = r147679 / r147681;
double r147683 = 3.0;
double r147684 = pow(r147672, r147683);
double r147685 = r147682 * r147684;
double r147686 = r147680 + r147685;
double r147687 = 21.0;
double r147688 = r147676 / r147687;
double r147689 = 6.0;
double r147690 = pow(r147672, r147689);
double r147691 = r147690 * r147672;
double r147692 = r147688 * r147691;
double r147693 = r147686 + r147692;
double r147694 = r147678 + r147693;
double r147695 = atan2(1.0, 0.0);
double r147696 = sqrt(r147695);
double r147697 = r147676 / r147696;
double r147698 = r147694 * r147697;
double r147699 = fabs(r147698);
return r147699;
}



Bits error versus x
Results
Initial program 0.2
rmApplied pow10.2
Applied pow10.2
Applied pow10.2
Applied pow-prod-up0.2
Applied pow-prod-up0.2
Simplified0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020046
(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)))))))