\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 -8.8700523639254913 \cdot 10^{25} \lor \neg \left(x \le 661.99257751947835\right):\\
\;\;\;\;\frac{0.25141790006653753}{{x}^{3}} + \left(\frac{0.5}{x} + \frac{0.1529819634592933}{{x}^{5}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + \left({x}^{6} \cdot 0.00726441819999999999 + {x}^{4} \cdot \left(0.042406060400000001 + \left({x}^{4} \cdot 5.0640340000000002 \cdot 10^{-4} + 1.789971 \cdot 10^{-4} \cdot {x}^{6}\right)\right)\right)}{{x}^{6} \cdot \left({x}^{6} \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right) + 0.069455576099999999\right) + \left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + {x}^{4} \cdot \left(0.29097386390000002 + \left({x}^{6} \cdot 8.32794500000000044 \cdot 10^{-4} + {x}^{4} \cdot 0.014000544199999999\right)\right)\right)} \cdot x\\
\end{array}double f(double x) {
double r153813 = 1.0;
double r153814 = 0.1049934947;
double r153815 = x;
double r153816 = r153815 * r153815;
double r153817 = r153814 * r153816;
double r153818 = r153813 + r153817;
double r153819 = 0.0424060604;
double r153820 = r153816 * r153816;
double r153821 = r153819 * r153820;
double r153822 = r153818 + r153821;
double r153823 = 0.0072644182;
double r153824 = r153820 * r153816;
double r153825 = r153823 * r153824;
double r153826 = r153822 + r153825;
double r153827 = 0.0005064034;
double r153828 = r153824 * r153816;
double r153829 = r153827 * r153828;
double r153830 = r153826 + r153829;
double r153831 = 0.0001789971;
double r153832 = r153828 * r153816;
double r153833 = r153831 * r153832;
double r153834 = r153830 + r153833;
double r153835 = 0.7715471019;
double r153836 = r153835 * r153816;
double r153837 = r153813 + r153836;
double r153838 = 0.2909738639;
double r153839 = r153838 * r153820;
double r153840 = r153837 + r153839;
double r153841 = 0.0694555761;
double r153842 = r153841 * r153824;
double r153843 = r153840 + r153842;
double r153844 = 0.0140005442;
double r153845 = r153844 * r153828;
double r153846 = r153843 + r153845;
double r153847 = 0.0008327945;
double r153848 = r153847 * r153832;
double r153849 = r153846 + r153848;
double r153850 = 2.0;
double r153851 = r153850 * r153831;
double r153852 = r153832 * r153816;
double r153853 = r153851 * r153852;
double r153854 = r153849 + r153853;
double r153855 = r153834 / r153854;
double r153856 = r153855 * r153815;
return r153856;
}
double f(double x) {
double r153857 = x;
double r153858 = -8.870052363925491e+25;
bool r153859 = r153857 <= r153858;
double r153860 = 661.9925775194783;
bool r153861 = r153857 <= r153860;
double r153862 = !r153861;
bool r153863 = r153859 || r153862;
double r153864 = 0.2514179000665375;
double r153865 = 3.0;
double r153866 = pow(r153857, r153865);
double r153867 = r153864 / r153866;
double r153868 = 0.5;
double r153869 = r153868 / r153857;
double r153870 = 0.15298196345929327;
double r153871 = 5.0;
double r153872 = pow(r153857, r153871);
double r153873 = r153870 / r153872;
double r153874 = r153869 + r153873;
double r153875 = r153867 + r153874;
double r153876 = 1.0;
double r153877 = 0.1049934947;
double r153878 = r153857 * r153857;
double r153879 = r153877 * r153878;
double r153880 = r153876 + r153879;
double r153881 = 6.0;
double r153882 = pow(r153857, r153881);
double r153883 = 0.0072644182;
double r153884 = r153882 * r153883;
double r153885 = 4.0;
double r153886 = pow(r153857, r153885);
double r153887 = 0.0424060604;
double r153888 = 0.0005064034;
double r153889 = r153886 * r153888;
double r153890 = 0.0001789971;
double r153891 = r153890 * r153882;
double r153892 = r153889 + r153891;
double r153893 = r153887 + r153892;
double r153894 = r153886 * r153893;
double r153895 = r153884 + r153894;
double r153896 = r153880 + r153895;
double r153897 = 2.0;
double r153898 = r153897 * r153890;
double r153899 = r153882 * r153898;
double r153900 = 0.0694555761;
double r153901 = r153899 + r153900;
double r153902 = r153882 * r153901;
double r153903 = 0.7715471019;
double r153904 = r153903 * r153878;
double r153905 = r153876 + r153904;
double r153906 = 0.2909738639;
double r153907 = 0.0008327945;
double r153908 = r153882 * r153907;
double r153909 = 0.0140005442;
double r153910 = r153886 * r153909;
double r153911 = r153908 + r153910;
double r153912 = r153906 + r153911;
double r153913 = r153886 * r153912;
double r153914 = r153905 + r153913;
double r153915 = r153902 + r153914;
double r153916 = r153896 / r153915;
double r153917 = r153916 * r153857;
double r153918 = r153863 ? r153875 : r153917;
return r153918;
}



Bits error versus x
Results
if x < -8.870052363925491e+25 or 661.9925775194783 < x Initial program 61.4
Simplified61.4
rmApplied *-un-lft-identity61.4
Applied associate-/r*61.4
Simplified61.4
rmApplied add-cbrt-cube61.4
Simplified61.4
Taylor expanded around inf 0.0
Simplified0.0
if -8.870052363925491e+25 < x < 661.9925775194783Initial program 0.1
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied associate-/r*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019199
(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))