\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 -3.76664715917234107 \cdot 10^{25} \lor \neg \left(x \le 671.55541919522534\right):\\
\;\;\;\;\left(\frac{0.1529819634592933}{{x}^{5}} + \frac{0.5}{x}\right) + \frac{0.25141790006653753}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{\mathsf{fma}\left(2 \cdot 1.789971 \cdot 10^{-4}, {\left(x \cdot x\right)}^{6}, \mathsf{fma}\left({\left(x \cdot x\right)}^{4}, \mathsf{fma}\left(8.32794500000000044 \cdot 10^{-4}, x \cdot x, 0.014000544199999999\right), \mathsf{fma}\left(0.069455576099999999, {x}^{6}, \mathsf{fma}\left(0.29097386390000002, {x}^{4}, \mathsf{fma}\left(x \cdot x, 0.77154710189999998, 1\right)\right)\right)\right)\right)}}{\frac{1}{\mathsf{fma}\left({x}^{6}, 0.00726441819999999999, \mathsf{fma}\left(\mathsf{fma}\left(1.789971 \cdot 10^{-4}, {x}^{2}, 5.0640340000000002 \cdot 10^{-4}\right), {\left(x \cdot x\right)}^{4}, \mathsf{fma}\left({x}^{4}, 0.042406060400000001, \mathsf{fma}\left(x \cdot x, 0.1049934947, 1\right)\right)\right)\right)}}\\
\end{array}double f(double x) {
double r196813 = 1.0;
double r196814 = 0.1049934947;
double r196815 = x;
double r196816 = r196815 * r196815;
double r196817 = r196814 * r196816;
double r196818 = r196813 + r196817;
double r196819 = 0.0424060604;
double r196820 = r196816 * r196816;
double r196821 = r196819 * r196820;
double r196822 = r196818 + r196821;
double r196823 = 0.0072644182;
double r196824 = r196820 * r196816;
double r196825 = r196823 * r196824;
double r196826 = r196822 + r196825;
double r196827 = 0.0005064034;
double r196828 = r196824 * r196816;
double r196829 = r196827 * r196828;
double r196830 = r196826 + r196829;
double r196831 = 0.0001789971;
double r196832 = r196828 * r196816;
double r196833 = r196831 * r196832;
double r196834 = r196830 + r196833;
double r196835 = 0.7715471019;
double r196836 = r196835 * r196816;
double r196837 = r196813 + r196836;
double r196838 = 0.2909738639;
double r196839 = r196838 * r196820;
double r196840 = r196837 + r196839;
double r196841 = 0.0694555761;
double r196842 = r196841 * r196824;
double r196843 = r196840 + r196842;
double r196844 = 0.0140005442;
double r196845 = r196844 * r196828;
double r196846 = r196843 + r196845;
double r196847 = 0.0008327945;
double r196848 = r196847 * r196832;
double r196849 = r196846 + r196848;
double r196850 = 2.0;
double r196851 = r196850 * r196831;
double r196852 = r196832 * r196816;
double r196853 = r196851 * r196852;
double r196854 = r196849 + r196853;
double r196855 = r196834 / r196854;
double r196856 = r196855 * r196815;
return r196856;
}
double f(double x) {
double r196857 = x;
double r196858 = -3.766647159172341e+25;
bool r196859 = r196857 <= r196858;
double r196860 = 671.5554191952253;
bool r196861 = r196857 <= r196860;
double r196862 = !r196861;
bool r196863 = r196859 || r196862;
double r196864 = 0.15298196345929327;
double r196865 = 5.0;
double r196866 = pow(r196857, r196865);
double r196867 = r196864 / r196866;
double r196868 = 0.5;
double r196869 = r196868 / r196857;
double r196870 = r196867 + r196869;
double r196871 = 0.2514179000665375;
double r196872 = 3.0;
double r196873 = pow(r196857, r196872);
double r196874 = r196871 / r196873;
double r196875 = r196870 + r196874;
double r196876 = 2.0;
double r196877 = 0.0001789971;
double r196878 = r196876 * r196877;
double r196879 = r196857 * r196857;
double r196880 = 6.0;
double r196881 = pow(r196879, r196880);
double r196882 = 4.0;
double r196883 = pow(r196879, r196882);
double r196884 = 0.0008327945;
double r196885 = 0.0140005442;
double r196886 = fma(r196884, r196879, r196885);
double r196887 = 0.0694555761;
double r196888 = pow(r196857, r196880);
double r196889 = 0.2909738639;
double r196890 = pow(r196857, r196882);
double r196891 = 0.7715471019;
double r196892 = 1.0;
double r196893 = fma(r196879, r196891, r196892);
double r196894 = fma(r196889, r196890, r196893);
double r196895 = fma(r196887, r196888, r196894);
double r196896 = fma(r196883, r196886, r196895);
double r196897 = fma(r196878, r196881, r196896);
double r196898 = r196857 / r196897;
double r196899 = 1.0;
double r196900 = 0.0072644182;
double r196901 = 2.0;
double r196902 = pow(r196857, r196901);
double r196903 = 0.0005064034;
double r196904 = fma(r196877, r196902, r196903);
double r196905 = 0.0424060604;
double r196906 = 0.1049934947;
double r196907 = fma(r196879, r196906, r196892);
double r196908 = fma(r196890, r196905, r196907);
double r196909 = fma(r196904, r196883, r196908);
double r196910 = fma(r196888, r196900, r196909);
double r196911 = r196899 / r196910;
double r196912 = r196898 / r196911;
double r196913 = r196863 ? r196875 : r196912;
return r196913;
}



Bits error versus x
if x < -3.766647159172341e+25 or 671.5554191952253 < x Initial program 61.5
Simplified61.5
rmApplied div-inv61.5
Simplified61.5
rmApplied associate-/r*61.5
Simplified61.5
Taylor expanded around inf 0.0
Simplified0.0
if -3.766647159172341e+25 < x < 671.5554191952253Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Simplified0.0
rmApplied associate-/r*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019198 +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))