\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|1 \cdot \left(\left(\sqrt{\frac{1}{\sqrt{\pi}}} \cdot \sqrt{\frac{1}{\sqrt{\pi}}}\right) \cdot \left(\left(\left(\left({\left(\left|x\right|\right)}^{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \frac{1}{21} + \left(\frac{2 \cdot {\left(\left|x\right|\right)}^{3}}{3} + 2 \cdot \left|x\right|\right)\right) + \left({\left(\left|x\right|\right)}^{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \frac{1}{5}\right)\right)\right|double f(double x) {
double r174839 = 1.0;
double r174840 = atan2(1.0, 0.0);
double r174841 = sqrt(r174840);
double r174842 = r174839 / r174841;
double r174843 = 2.0;
double r174844 = x;
double r174845 = fabs(r174844);
double r174846 = r174843 * r174845;
double r174847 = 3.0;
double r174848 = r174843 / r174847;
double r174849 = r174845 * r174845;
double r174850 = r174849 * r174845;
double r174851 = r174848 * r174850;
double r174852 = r174846 + r174851;
double r174853 = 5.0;
double r174854 = r174839 / r174853;
double r174855 = r174850 * r174845;
double r174856 = r174855 * r174845;
double r174857 = r174854 * r174856;
double r174858 = r174852 + r174857;
double r174859 = 21.0;
double r174860 = r174839 / r174859;
double r174861 = r174856 * r174845;
double r174862 = r174861 * r174845;
double r174863 = r174860 * r174862;
double r174864 = r174858 + r174863;
double r174865 = r174842 * r174864;
double r174866 = fabs(r174865);
return r174866;
}
double f(double x) {
double r174867 = 1.0;
double r174868 = 1.0;
double r174869 = atan2(1.0, 0.0);
double r174870 = sqrt(r174869);
double r174871 = r174868 / r174870;
double r174872 = sqrt(r174871);
double r174873 = r174872 * r174872;
double r174874 = x;
double r174875 = fabs(r174874);
double r174876 = 3.0;
double r174877 = pow(r174875, r174876);
double r174878 = r174875 * r174875;
double r174879 = r174877 * r174878;
double r174880 = r174879 * r174878;
double r174881 = 21.0;
double r174882 = r174868 / r174881;
double r174883 = r174880 * r174882;
double r174884 = 2.0;
double r174885 = r174884 * r174877;
double r174886 = 3.0;
double r174887 = r174885 / r174886;
double r174888 = r174884 * r174875;
double r174889 = r174887 + r174888;
double r174890 = r174883 + r174889;
double r174891 = 5.0;
double r174892 = r174868 / r174891;
double r174893 = r174879 * r174892;
double r174894 = r174890 + r174893;
double r174895 = r174873 * r174894;
double r174896 = r174867 * r174895;
double r174897 = fabs(r174896);
return r174897;
}



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