1 - \left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\left(\sqrt[3]{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\left(\sqrt[3]{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}} \cdot \sqrt[3]{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}}\right) \cdot \sqrt[3]{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, 1.0614054289999999, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), 0.25482959199999999\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}, 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, \mathsf{fma}\left(\left(\sqrt[3]{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}} \cdot \sqrt[3]{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}}\right) \cdot \sqrt[3]{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}}, \mathsf{fma}\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}, 1.0614054289999999, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), 0.25482959199999999\right)}{e^{\left|x\right| \cdot \left|x\right|}}, \frac{-1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}, 1\right)}\right) \cdot \sqrt[3]{\log \left(e^{1 - \frac{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)} \cdot \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left({\left(\sqrt[3]{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|}}\right)}^{3}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}, 1.0614054289999999, -1.45315202700000001\right), 1.42141374100000006\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}, -0.284496735999999972\right), 0.25482959199999999\right)}{e^{{\left(\left|x\right|\right)}^{2}}}}\right)}double f(double x) {
double r204833 = 1.0;
double r204834 = 0.3275911;
double r204835 = x;
double r204836 = fabs(r204835);
double r204837 = r204834 * r204836;
double r204838 = r204833 + r204837;
double r204839 = r204833 / r204838;
double r204840 = 0.254829592;
double r204841 = -0.284496736;
double r204842 = 1.421413741;
double r204843 = -1.453152027;
double r204844 = 1.061405429;
double r204845 = r204839 * r204844;
double r204846 = r204843 + r204845;
double r204847 = r204839 * r204846;
double r204848 = r204842 + r204847;
double r204849 = r204839 * r204848;
double r204850 = r204841 + r204849;
double r204851 = r204839 * r204850;
double r204852 = r204840 + r204851;
double r204853 = r204839 * r204852;
double r204854 = r204836 * r204836;
double r204855 = -r204854;
double r204856 = exp(r204855);
double r204857 = r204853 * r204856;
double r204858 = r204833 - r204857;
return r204858;
}
double f(double x) {
double r204859 = 1.0;
double r204860 = 0.3275911;
double r204861 = x;
double r204862 = fabs(r204861);
double r204863 = r204860 * r204862;
double r204864 = r204859 + r204863;
double r204865 = r204859 / r204864;
double r204866 = cbrt(r204865);
double r204867 = r204866 * r204866;
double r204868 = r204867 * r204866;
double r204869 = 1.061405429;
double r204870 = -1.453152027;
double r204871 = fma(r204865, r204869, r204870);
double r204872 = 1.421413741;
double r204873 = fma(r204868, r204871, r204872);
double r204874 = -0.284496736;
double r204875 = fma(r204865, r204873, r204874);
double r204876 = 0.254829592;
double r204877 = fma(r204865, r204875, r204876);
double r204878 = r204862 * r204862;
double r204879 = exp(r204878);
double r204880 = r204877 / r204879;
double r204881 = -r204859;
double r204882 = fma(r204862, r204860, r204859);
double r204883 = r204881 / r204882;
double r204884 = fma(r204880, r204883, r204859);
double r204885 = cbrt(r204884);
double r204886 = r204885 * r204885;
double r204887 = r204859 / r204882;
double r204888 = 3.0;
double r204889 = pow(r204866, r204888);
double r204890 = fma(r204887, r204869, r204870);
double r204891 = fma(r204889, r204890, r204872);
double r204892 = fma(r204891, r204887, r204874);
double r204893 = fma(r204887, r204892, r204876);
double r204894 = r204887 * r204893;
double r204895 = 2.0;
double r204896 = pow(r204862, r204895);
double r204897 = exp(r204896);
double r204898 = r204894 / r204897;
double r204899 = r204859 - r204898;
double r204900 = exp(r204899);
double r204901 = log(r204900);
double r204902 = cbrt(r204901);
double r204903 = r204886 * r204902;
return r204903;
}



Bits error versus x
Initial program 13.8
Simplified13.8
rmApplied add-cube-cbrt13.8
rmApplied add-cube-cbrt13.8
rmApplied add-log-exp13.1
Simplified13.1
Final simplification13.1
herbie shell --seed 2020039 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erf"
:precision binary64
(- 1 (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))