\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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 -43691535806592303641919488:\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(x \cdot x\right)} + \left(\frac{\frac{0.2514179000665375252054900556686334311962}{x}}{x \cdot x} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 661.3706021911004881985718384385108947754:\\
\;\;\;\;\frac{x}{\mathsf{fma}\left(1.789971000000000009994005623070734145585 \cdot 10^{-4}, \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 2, \mathsf{fma}\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \mathsf{fma}\left(x \cdot x, 8.327945000000000442749725770852364803432 \cdot 10^{-4}, 0.01400054419999999938406531896362139377743\right), \mathsf{fma}\left(0.7715471018999999763821051601553335785866, x \cdot x, \mathsf{fma}\left(\mathsf{fma}\left(x \cdot x, 0.06945557609999999937322456844412954524159, 0.2909738639000000182122107617033179849386\right), \left(x \cdot x\right) \cdot \left(x \cdot x\right), 1\right)\right)\right)\right)} \cdot \mathsf{fma}\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \mathsf{fma}\left(x \cdot x, 1.789971000000000009994005623070734145585 \cdot 10^{-4}, 5.064034000000000243502107366566633572802 \cdot 10^{-4}\right), \mathsf{fma}\left(x \cdot x, 0.1049934946999999951788851149103720672429 + \mathsf{fma}\left(0.04240606040000000076517494562722276896238, x \cdot x, \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.007264418199999999985194687468492702464573\right), 1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(x \cdot x\right)} + \left(\frac{\frac{0.2514179000665375252054900556686334311962}{x}}{x \cdot x} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r5360855 = 1.0;
double r5360856 = 0.1049934947;
double r5360857 = x;
double r5360858 = r5360857 * r5360857;
double r5360859 = r5360856 * r5360858;
double r5360860 = r5360855 + r5360859;
double r5360861 = 0.0424060604;
double r5360862 = r5360858 * r5360858;
double r5360863 = r5360861 * r5360862;
double r5360864 = r5360860 + r5360863;
double r5360865 = 0.0072644182;
double r5360866 = r5360862 * r5360858;
double r5360867 = r5360865 * r5360866;
double r5360868 = r5360864 + r5360867;
double r5360869 = 0.0005064034;
double r5360870 = r5360866 * r5360858;
double r5360871 = r5360869 * r5360870;
double r5360872 = r5360868 + r5360871;
double r5360873 = 0.0001789971;
double r5360874 = r5360870 * r5360858;
double r5360875 = r5360873 * r5360874;
double r5360876 = r5360872 + r5360875;
double r5360877 = 0.7715471019;
double r5360878 = r5360877 * r5360858;
double r5360879 = r5360855 + r5360878;
double r5360880 = 0.2909738639;
double r5360881 = r5360880 * r5360862;
double r5360882 = r5360879 + r5360881;
double r5360883 = 0.0694555761;
double r5360884 = r5360883 * r5360866;
double r5360885 = r5360882 + r5360884;
double r5360886 = 0.0140005442;
double r5360887 = r5360886 * r5360870;
double r5360888 = r5360885 + r5360887;
double r5360889 = 0.0008327945;
double r5360890 = r5360889 * r5360874;
double r5360891 = r5360888 + r5360890;
double r5360892 = 2.0;
double r5360893 = r5360892 * r5360873;
double r5360894 = r5360874 * r5360858;
double r5360895 = r5360893 * r5360894;
double r5360896 = r5360891 + r5360895;
double r5360897 = r5360876 / r5360896;
double r5360898 = r5360897 * r5360857;
return r5360898;
}
double f(double x) {
double r5360899 = x;
double r5360900 = -4.36915358065923e+25;
bool r5360901 = r5360899 <= r5360900;
double r5360902 = 0.15298196345929327;
double r5360903 = r5360899 * r5360899;
double r5360904 = r5360903 * r5360899;
double r5360905 = r5360904 * r5360903;
double r5360906 = r5360902 / r5360905;
double r5360907 = 0.2514179000665375;
double r5360908 = r5360907 / r5360899;
double r5360909 = r5360908 / r5360903;
double r5360910 = 0.5;
double r5360911 = r5360910 / r5360899;
double r5360912 = r5360909 + r5360911;
double r5360913 = r5360906 + r5360912;
double r5360914 = 661.3706021911005;
bool r5360915 = r5360899 <= r5360914;
double r5360916 = 0.0001789971;
double r5360917 = r5360903 * r5360903;
double r5360918 = r5360917 * r5360917;
double r5360919 = r5360918 * r5360917;
double r5360920 = 2.0;
double r5360921 = r5360919 * r5360920;
double r5360922 = 0.0008327945;
double r5360923 = 0.0140005442;
double r5360924 = fma(r5360903, r5360922, r5360923);
double r5360925 = 0.7715471019;
double r5360926 = 0.0694555761;
double r5360927 = 0.2909738639;
double r5360928 = fma(r5360903, r5360926, r5360927);
double r5360929 = 1.0;
double r5360930 = fma(r5360928, r5360917, r5360929);
double r5360931 = fma(r5360925, r5360903, r5360930);
double r5360932 = fma(r5360918, r5360924, r5360931);
double r5360933 = fma(r5360916, r5360921, r5360932);
double r5360934 = r5360899 / r5360933;
double r5360935 = 0.0005064034;
double r5360936 = fma(r5360903, r5360916, r5360935);
double r5360937 = 0.1049934947;
double r5360938 = 0.0424060604;
double r5360939 = 0.0072644182;
double r5360940 = r5360917 * r5360939;
double r5360941 = fma(r5360938, r5360903, r5360940);
double r5360942 = r5360937 + r5360941;
double r5360943 = fma(r5360903, r5360942, r5360929);
double r5360944 = fma(r5360918, r5360936, r5360943);
double r5360945 = r5360934 * r5360944;
double r5360946 = r5360915 ? r5360945 : r5360913;
double r5360947 = r5360901 ? r5360913 : r5360946;
return r5360947;
}



Bits error versus x
if x < -4.36915358065923e+25 or 661.3706021911005 < x Initial program 61.6
Simplified61.6
Taylor expanded around inf 0.0
Simplified0.0
if -4.36915358065923e+25 < x < 661.3706021911005Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))