\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 -963526172.0358067:\\
\;\;\;\;\frac{0.5 + \frac{0.2514179000665375}{x \cdot x}}{x} + \frac{0.15298196345929327}{{x}^{5}}\\
\mathbf{elif}\;x \le 702.3711422477631:\\
\;\;\;\;x \cdot \left(\left(\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(0.1049934947 \cdot \left(x \cdot x\right) + 1\right)\right)\right) + \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 0.0005064034\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)\right) \cdot \frac{1}{\left(\left(x \cdot x\right) \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) \cdot \left(0.0001789971 \cdot 2\right) + \left(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) + \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 0.0140005442 + \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0694555761 + \left(0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(0.7715471019 \cdot \left(x \cdot x\right) + 1\right)\right)\right)\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.5 + \frac{0.2514179000665375}{x \cdot x}}{x} + \frac{0.15298196345929327}{{x}^{5}}\\
\end{array}double f(double x) {
double r43438903 = 1.0;
double r43438904 = 0.1049934947;
double r43438905 = x;
double r43438906 = r43438905 * r43438905;
double r43438907 = r43438904 * r43438906;
double r43438908 = r43438903 + r43438907;
double r43438909 = 0.0424060604;
double r43438910 = r43438906 * r43438906;
double r43438911 = r43438909 * r43438910;
double r43438912 = r43438908 + r43438911;
double r43438913 = 0.0072644182;
double r43438914 = r43438910 * r43438906;
double r43438915 = r43438913 * r43438914;
double r43438916 = r43438912 + r43438915;
double r43438917 = 0.0005064034;
double r43438918 = r43438914 * r43438906;
double r43438919 = r43438917 * r43438918;
double r43438920 = r43438916 + r43438919;
double r43438921 = 0.0001789971;
double r43438922 = r43438918 * r43438906;
double r43438923 = r43438921 * r43438922;
double r43438924 = r43438920 + r43438923;
double r43438925 = 0.7715471019;
double r43438926 = r43438925 * r43438906;
double r43438927 = r43438903 + r43438926;
double r43438928 = 0.2909738639;
double r43438929 = r43438928 * r43438910;
double r43438930 = r43438927 + r43438929;
double r43438931 = 0.0694555761;
double r43438932 = r43438931 * r43438914;
double r43438933 = r43438930 + r43438932;
double r43438934 = 0.0140005442;
double r43438935 = r43438934 * r43438918;
double r43438936 = r43438933 + r43438935;
double r43438937 = 0.0008327945;
double r43438938 = r43438937 * r43438922;
double r43438939 = r43438936 + r43438938;
double r43438940 = 2.0;
double r43438941 = r43438940 * r43438921;
double r43438942 = r43438922 * r43438906;
double r43438943 = r43438941 * r43438942;
double r43438944 = r43438939 + r43438943;
double r43438945 = r43438924 / r43438944;
double r43438946 = r43438945 * r43438905;
return r43438946;
}
double f(double x) {
double r43438947 = x;
double r43438948 = -963526172.0358067;
bool r43438949 = r43438947 <= r43438948;
double r43438950 = 0.5;
double r43438951 = 0.2514179000665375;
double r43438952 = r43438947 * r43438947;
double r43438953 = r43438951 / r43438952;
double r43438954 = r43438950 + r43438953;
double r43438955 = r43438954 / r43438947;
double r43438956 = 0.15298196345929327;
double r43438957 = 5.0;
double r43438958 = pow(r43438947, r43438957);
double r43438959 = r43438956 / r43438958;
double r43438960 = r43438955 + r43438959;
double r43438961 = 702.3711422477631;
bool r43438962 = r43438947 <= r43438961;
double r43438963 = 0.0072644182;
double r43438964 = r43438952 * r43438952;
double r43438965 = r43438964 * r43438952;
double r43438966 = r43438963 * r43438965;
double r43438967 = 0.0424060604;
double r43438968 = r43438967 * r43438964;
double r43438969 = 0.1049934947;
double r43438970 = r43438969 * r43438952;
double r43438971 = 1.0;
double r43438972 = r43438970 + r43438971;
double r43438973 = r43438968 + r43438972;
double r43438974 = r43438966 + r43438973;
double r43438975 = r43438965 * r43438952;
double r43438976 = 0.0005064034;
double r43438977 = r43438975 * r43438976;
double r43438978 = r43438974 + r43438977;
double r43438979 = 0.0001789971;
double r43438980 = r43438975 * r43438952;
double r43438981 = r43438979 * r43438980;
double r43438982 = r43438978 + r43438981;
double r43438983 = r43438952 * r43438980;
double r43438984 = 2.0;
double r43438985 = r43438979 * r43438984;
double r43438986 = r43438983 * r43438985;
double r43438987 = 0.0008327945;
double r43438988 = r43438987 * r43438980;
double r43438989 = 0.0140005442;
double r43438990 = r43438975 * r43438989;
double r43438991 = 0.0694555761;
double r43438992 = r43438965 * r43438991;
double r43438993 = 0.2909738639;
double r43438994 = r43438993 * r43438964;
double r43438995 = 0.7715471019;
double r43438996 = r43438995 * r43438952;
double r43438997 = r43438996 + r43438971;
double r43438998 = r43438994 + r43438997;
double r43438999 = r43438992 + r43438998;
double r43439000 = r43438990 + r43438999;
double r43439001 = r43438988 + r43439000;
double r43439002 = r43438986 + r43439001;
double r43439003 = r43438971 / r43439002;
double r43439004 = r43438982 * r43439003;
double r43439005 = r43438947 * r43439004;
double r43439006 = r43438962 ? r43439005 : r43438960;
double r43439007 = r43438949 ? r43438960 : r43439006;
return r43439007;
}



Bits error versus x
Results
if x < -963526172.0358067 or 702.3711422477631 < x Initial program 58.7
Taylor expanded around -inf 0.0
Simplified0.0
if -963526172.0358067 < x < 702.3711422477631Initial program 0.0
rmApplied div-inv0.0
Final simplification0.0
herbie shell --seed 2019104 +o rules:numerics
(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))