\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) + \frac{\sqrt{1}}{1} \cdot \left(\left(\frac{\sqrt{1}}{21} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r190734 = 1.0;
double r190735 = atan2(1.0, 0.0);
double r190736 = sqrt(r190735);
double r190737 = r190734 / r190736;
double r190738 = 2.0;
double r190739 = x;
double r190740 = fabs(r190739);
double r190741 = r190738 * r190740;
double r190742 = 3.0;
double r190743 = r190738 / r190742;
double r190744 = r190740 * r190740;
double r190745 = r190744 * r190740;
double r190746 = r190743 * r190745;
double r190747 = r190741 + r190746;
double r190748 = 5.0;
double r190749 = r190734 / r190748;
double r190750 = r190745 * r190740;
double r190751 = r190750 * r190740;
double r190752 = r190749 * r190751;
double r190753 = r190747 + r190752;
double r190754 = 21.0;
double r190755 = r190734 / r190754;
double r190756 = r190751 * r190740;
double r190757 = r190756 * r190740;
double r190758 = r190755 * r190757;
double r190759 = r190753 + r190758;
double r190760 = r190737 * r190759;
double r190761 = fabs(r190760);
return r190761;
}
double f(double x) {
double r190762 = 1.0;
double r190763 = atan2(1.0, 0.0);
double r190764 = sqrt(r190763);
double r190765 = r190762 / r190764;
double r190766 = 2.0;
double r190767 = x;
double r190768 = fabs(r190767);
double r190769 = r190766 * r190768;
double r190770 = 3.0;
double r190771 = r190766 / r190770;
double r190772 = r190768 * r190768;
double r190773 = r190772 * r190768;
double r190774 = r190771 * r190773;
double r190775 = r190769 + r190774;
double r190776 = 5.0;
double r190777 = r190762 / r190776;
double r190778 = r190773 * r190768;
double r190779 = r190778 * r190768;
double r190780 = r190777 * r190779;
double r190781 = r190775 + r190780;
double r190782 = sqrt(r190762);
double r190783 = 1.0;
double r190784 = r190782 / r190783;
double r190785 = 21.0;
double r190786 = r190782 / r190785;
double r190787 = 6.0;
double r190788 = pow(r190768, r190787);
double r190789 = r190786 * r190788;
double r190790 = r190789 * r190768;
double r190791 = r190784 * r190790;
double r190792 = r190781 + r190791;
double r190793 = r190765 * r190792;
double r190794 = fabs(r190793);
return r190794;
}



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