\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|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)}{21} + \left(\left(\left(\left|x\right| \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \frac{2}{3} + \left|x\right| \cdot 2\right) + \frac{1}{5} \cdot \left(\left(\left(\left|x\right| \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}}\right|double f(double x) {
double r22668803 = 1.0;
double r22668804 = atan2(1.0, 0.0);
double r22668805 = sqrt(r22668804);
double r22668806 = r22668803 / r22668805;
double r22668807 = 2.0;
double r22668808 = x;
double r22668809 = fabs(r22668808);
double r22668810 = r22668807 * r22668809;
double r22668811 = 3.0;
double r22668812 = r22668807 / r22668811;
double r22668813 = r22668809 * r22668809;
double r22668814 = r22668813 * r22668809;
double r22668815 = r22668812 * r22668814;
double r22668816 = r22668810 + r22668815;
double r22668817 = 5.0;
double r22668818 = r22668803 / r22668817;
double r22668819 = r22668814 * r22668809;
double r22668820 = r22668819 * r22668809;
double r22668821 = r22668818 * r22668820;
double r22668822 = r22668816 + r22668821;
double r22668823 = 21.0;
double r22668824 = r22668803 / r22668823;
double r22668825 = r22668820 * r22668809;
double r22668826 = r22668825 * r22668809;
double r22668827 = r22668824 * r22668826;
double r22668828 = r22668822 + r22668827;
double r22668829 = r22668806 * r22668828;
double r22668830 = fabs(r22668829);
return r22668830;
}
double f(double x) {
double r22668831 = x;
double r22668832 = fabs(r22668831);
double r22668833 = r22668832 * r22668832;
double r22668834 = r22668832 * r22668833;
double r22668835 = r22668834 * r22668832;
double r22668836 = r22668835 * r22668832;
double r22668837 = r22668832 * r22668836;
double r22668838 = r22668832 * r22668837;
double r22668839 = 21.0;
double r22668840 = r22668838 / r22668839;
double r22668841 = 0.6666666666666666;
double r22668842 = r22668834 * r22668841;
double r22668843 = 2.0;
double r22668844 = r22668832 * r22668843;
double r22668845 = r22668842 + r22668844;
double r22668846 = 0.2;
double r22668847 = r22668846 * r22668836;
double r22668848 = r22668845 + r22668847;
double r22668849 = r22668840 + r22668848;
double r22668850 = 1.0;
double r22668851 = atan2(1.0, 0.0);
double r22668852 = sqrt(r22668851);
double r22668853 = r22668850 / r22668852;
double r22668854 = r22668849 * r22668853;
double r22668855 = fabs(r22668854);
return r22668855;
}



Bits error versus x
Results
Initial program 0.2
rmApplied associate-*l/0.2
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019119
(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)))))))