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



Bits error versus x
if x < -11921922.190530011 or 341298.60975052114 < x Initial program 59.8
Simplified59.8
Taylor expanded around inf 0.0
Simplified0.0
if -11921922.190530011 < x < 341298.60975052114Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-/r*0.0
Simplified0.0
rmApplied fma-udef0.0
Final simplification0.0
herbie shell --seed 2020036 +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))