\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(\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) + 1 \cdot \left(\left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r157786 = 1.0;
double r157787 = atan2(1.0, 0.0);
double r157788 = sqrt(r157787);
double r157789 = r157786 / r157788;
double r157790 = 2.0;
double r157791 = x;
double r157792 = fabs(r157791);
double r157793 = r157790 * r157792;
double r157794 = 3.0;
double r157795 = r157790 / r157794;
double r157796 = r157792 * r157792;
double r157797 = r157796 * r157792;
double r157798 = r157795 * r157797;
double r157799 = r157793 + r157798;
double r157800 = 5.0;
double r157801 = r157786 / r157800;
double r157802 = r157797 * r157792;
double r157803 = r157802 * r157792;
double r157804 = r157801 * r157803;
double r157805 = r157799 + r157804;
double r157806 = 21.0;
double r157807 = r157786 / r157806;
double r157808 = r157803 * r157792;
double r157809 = r157808 * r157792;
double r157810 = r157807 * r157809;
double r157811 = r157805 + r157810;
double r157812 = r157789 * r157811;
double r157813 = fabs(r157812);
return r157813;
}
double f(double x) {
double r157814 = 1.0;
double r157815 = atan2(1.0, 0.0);
double r157816 = sqrt(r157815);
double r157817 = r157814 / r157816;
double r157818 = 2.0;
double r157819 = x;
double r157820 = fabs(r157819);
double r157821 = r157818 * r157820;
double r157822 = 3.0;
double r157823 = r157818 / r157822;
double r157824 = r157820 * r157820;
double r157825 = r157824 * r157820;
double r157826 = r157823 * r157825;
double r157827 = r157821 + r157826;
double r157828 = 5.0;
double r157829 = r157814 / r157828;
double r157830 = r157825 * r157820;
double r157831 = r157830 * r157820;
double r157832 = r157829 * r157831;
double r157833 = r157827 + r157832;
double r157834 = 1.0;
double r157835 = 21.0;
double r157836 = r157814 / r157835;
double r157837 = 6.0;
double r157838 = pow(r157820, r157837);
double r157839 = r157836 * r157838;
double r157840 = r157839 * r157820;
double r157841 = r157834 * r157840;
double r157842 = r157833 + r157841;
double r157843 = r157817 * r157842;
double r157844 = fabs(r157843);
return r157844;
}



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