\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \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) + 1.789971 \cdot 10^{-4} \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.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \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) + 8.32794500000000044 \cdot 10^{-4} \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 1.789971 \cdot 10^{-4}\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 -52125.9586474690659 \lor \neg \left(x \le 641.08053822988677\right):\\
\;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}\\
\end{array}double f(double x) {
double r252856 = 1.0;
double r252857 = 0.1049934947;
double r252858 = x;
double r252859 = r252858 * r252858;
double r252860 = r252857 * r252859;
double r252861 = r252856 + r252860;
double r252862 = 0.0424060604;
double r252863 = r252859 * r252859;
double r252864 = r252862 * r252863;
double r252865 = r252861 + r252864;
double r252866 = 0.0072644182;
double r252867 = r252863 * r252859;
double r252868 = r252866 * r252867;
double r252869 = r252865 + r252868;
double r252870 = 0.0005064034;
double r252871 = r252867 * r252859;
double r252872 = r252870 * r252871;
double r252873 = r252869 + r252872;
double r252874 = 0.0001789971;
double r252875 = r252871 * r252859;
double r252876 = r252874 * r252875;
double r252877 = r252873 + r252876;
double r252878 = 0.7715471019;
double r252879 = r252878 * r252859;
double r252880 = r252856 + r252879;
double r252881 = 0.2909738639;
double r252882 = r252881 * r252863;
double r252883 = r252880 + r252882;
double r252884 = 0.0694555761;
double r252885 = r252884 * r252867;
double r252886 = r252883 + r252885;
double r252887 = 0.0140005442;
double r252888 = r252887 * r252871;
double r252889 = r252886 + r252888;
double r252890 = 0.0008327945;
double r252891 = r252890 * r252875;
double r252892 = r252889 + r252891;
double r252893 = 2.0;
double r252894 = r252893 * r252874;
double r252895 = r252875 * r252859;
double r252896 = r252894 * r252895;
double r252897 = r252892 + r252896;
double r252898 = r252877 / r252897;
double r252899 = r252898 * r252858;
return r252899;
}
double f(double x) {
double r252900 = x;
double r252901 = -52125.958647469066;
bool r252902 = r252900 <= r252901;
double r252903 = 641.0805382298868;
bool r252904 = r252900 <= r252903;
double r252905 = !r252904;
bool r252906 = r252902 || r252905;
double r252907 = 0.2514179000665375;
double r252908 = 1.0;
double r252909 = 3.0;
double r252910 = pow(r252900, r252909);
double r252911 = r252908 / r252910;
double r252912 = 0.15298196345929327;
double r252913 = 5.0;
double r252914 = pow(r252900, r252913);
double r252915 = r252908 / r252914;
double r252916 = 0.5;
double r252917 = r252908 / r252900;
double r252918 = r252916 * r252917;
double r252919 = fma(r252912, r252915, r252918);
double r252920 = fma(r252907, r252911, r252919);
double r252921 = r252900 * r252900;
double r252922 = pow(r252921, r252909);
double r252923 = r252922 * r252910;
double r252924 = r252900 * r252923;
double r252925 = 0.0008327945;
double r252926 = 2.0;
double r252927 = 0.0001789971;
double r252928 = r252926 * r252927;
double r252929 = r252921 * r252928;
double r252930 = r252925 + r252929;
double r252931 = r252924 * r252930;
double r252932 = 0.2909738639;
double r252933 = r252932 * r252900;
double r252934 = 0.7715471019;
double r252935 = r252934 * r252900;
double r252936 = 1.0;
double r252937 = fma(r252935, r252900, r252936);
double r252938 = fma(r252933, r252910, r252937);
double r252939 = r252931 + r252938;
double r252940 = 6.0;
double r252941 = pow(r252900, r252940);
double r252942 = 0.0694555761;
double r252943 = 0.0140005442;
double r252944 = r252921 * r252943;
double r252945 = r252942 + r252944;
double r252946 = r252941 * r252945;
double r252947 = r252939 + r252946;
double r252948 = 4.0;
double r252949 = pow(r252921, r252948);
double r252950 = 0.0005064034;
double r252951 = r252921 * r252927;
double r252952 = r252950 + r252951;
double r252953 = r252949 * r252952;
double r252954 = 0.1049934947;
double r252955 = r252954 * r252900;
double r252956 = fma(r252955, r252900, r252936);
double r252957 = r252953 + r252956;
double r252958 = pow(r252900, r252948);
double r252959 = 0.0424060604;
double r252960 = 0.0072644182;
double r252961 = r252921 * r252960;
double r252962 = r252959 + r252961;
double r252963 = r252958 * r252962;
double r252964 = r252957 + r252963;
double r252965 = r252947 / r252964;
double r252966 = r252900 / r252965;
double r252967 = r252906 ? r252920 : r252966;
return r252967;
}



Bits error versus x
if x < -52125.958647469066 or 641.0805382298868 < x Initial program 59.0
Taylor expanded around inf 0.0
Simplified0.0
if -52125.958647469066 < x < 641.0805382298868Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020064 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
:precision binary64
(* (/ (+ (+ (+ (+ (+ 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))