\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0001789971 \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0008327945 \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 0.0001789971\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\begin{array}{l}
\mathbf{if}\;x \le -397815736.67808366:\\
\;\;\;\;\frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \left(\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 3991.971714910184:\\
\;\;\;\;x \cdot \frac{\sqrt{\left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0005064034\right) + 0.0001789971 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)}}{\frac{\left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right) + \left(0.0008327945 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) + \left(\left(\left(\left(1 + \left(x \cdot x\right) \cdot 0.7715471019\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0140005442\right)\right)}{\sqrt{\left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0005064034\right) + 0.0001789971 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \left(\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r8203825 = 1.0;
double r8203826 = 0.1049934947;
double r8203827 = x;
double r8203828 = r8203827 * r8203827;
double r8203829 = r8203826 * r8203828;
double r8203830 = r8203825 + r8203829;
double r8203831 = 0.0424060604;
double r8203832 = r8203828 * r8203828;
double r8203833 = r8203831 * r8203832;
double r8203834 = r8203830 + r8203833;
double r8203835 = 0.0072644182;
double r8203836 = r8203832 * r8203828;
double r8203837 = r8203835 * r8203836;
double r8203838 = r8203834 + r8203837;
double r8203839 = 0.0005064034;
double r8203840 = r8203836 * r8203828;
double r8203841 = r8203839 * r8203840;
double r8203842 = r8203838 + r8203841;
double r8203843 = 0.0001789971;
double r8203844 = r8203840 * r8203828;
double r8203845 = r8203843 * r8203844;
double r8203846 = r8203842 + r8203845;
double r8203847 = 0.7715471019;
double r8203848 = r8203847 * r8203828;
double r8203849 = r8203825 + r8203848;
double r8203850 = 0.2909738639;
double r8203851 = r8203850 * r8203832;
double r8203852 = r8203849 + r8203851;
double r8203853 = 0.0694555761;
double r8203854 = r8203853 * r8203836;
double r8203855 = r8203852 + r8203854;
double r8203856 = 0.0140005442;
double r8203857 = r8203856 * r8203840;
double r8203858 = r8203855 + r8203857;
double r8203859 = 0.0008327945;
double r8203860 = r8203859 * r8203844;
double r8203861 = r8203858 + r8203860;
double r8203862 = 2.0;
double r8203863 = r8203862 * r8203843;
double r8203864 = r8203844 * r8203828;
double r8203865 = r8203863 * r8203864;
double r8203866 = r8203861 + r8203865;
double r8203867 = r8203846 / r8203866;
double r8203868 = r8203867 * r8203827;
return r8203868;
}
double f(double x) {
double r8203869 = x;
double r8203870 = -397815736.67808366;
bool r8203871 = r8203869 <= r8203870;
double r8203872 = 0.15298196345929327;
double r8203873 = r8203869 * r8203869;
double r8203874 = r8203873 * r8203869;
double r8203875 = r8203873 * r8203874;
double r8203876 = r8203872 / r8203875;
double r8203877 = 0.2514179000665375;
double r8203878 = r8203877 / r8203874;
double r8203879 = 0.5;
double r8203880 = r8203879 / r8203869;
double r8203881 = r8203878 + r8203880;
double r8203882 = r8203876 + r8203881;
double r8203883 = 3991.971714910184;
bool r8203884 = r8203869 <= r8203883;
double r8203885 = 0.0072644182;
double r8203886 = r8203873 * r8203873;
double r8203887 = r8203886 * r8203873;
double r8203888 = r8203885 * r8203887;
double r8203889 = 0.0424060604;
double r8203890 = r8203889 * r8203886;
double r8203891 = 0.1049934947;
double r8203892 = r8203873 * r8203891;
double r8203893 = 1.0;
double r8203894 = r8203892 + r8203893;
double r8203895 = r8203890 + r8203894;
double r8203896 = r8203888 + r8203895;
double r8203897 = r8203873 * r8203887;
double r8203898 = 0.0005064034;
double r8203899 = r8203897 * r8203898;
double r8203900 = r8203896 + r8203899;
double r8203901 = 0.0001789971;
double r8203902 = r8203897 * r8203873;
double r8203903 = r8203901 * r8203902;
double r8203904 = r8203900 + r8203903;
double r8203905 = sqrt(r8203904);
double r8203906 = r8203902 * r8203873;
double r8203907 = 2.0;
double r8203908 = r8203907 * r8203901;
double r8203909 = r8203906 * r8203908;
double r8203910 = 0.0008327945;
double r8203911 = r8203910 * r8203902;
double r8203912 = 0.7715471019;
double r8203913 = r8203873 * r8203912;
double r8203914 = r8203893 + r8203913;
double r8203915 = 0.2909738639;
double r8203916 = r8203915 * r8203886;
double r8203917 = r8203914 + r8203916;
double r8203918 = 0.0694555761;
double r8203919 = r8203918 * r8203887;
double r8203920 = r8203917 + r8203919;
double r8203921 = 0.0140005442;
double r8203922 = r8203897 * r8203921;
double r8203923 = r8203920 + r8203922;
double r8203924 = r8203911 + r8203923;
double r8203925 = r8203909 + r8203924;
double r8203926 = r8203925 / r8203905;
double r8203927 = r8203905 / r8203926;
double r8203928 = r8203869 * r8203927;
double r8203929 = r8203884 ? r8203928 : r8203882;
double r8203930 = r8203871 ? r8203882 : r8203929;
return r8203930;
}



Bits error versus x
Results
if x < -397815736.67808366 or 3991.971714910184 < x Initial program 58.7
Taylor expanded around inf 0.0
Simplified0.0
if -397815736.67808366 < x < 3991.971714910184Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/l*0.0
Final simplification0.0
herbie shell --seed 2019162
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))