\frac{\left(\left(\left(\left(1.0 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \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) + 0.0001789971 \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 + 0.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \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) + 0.0008327945 \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.0 \cdot 0.0001789971\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 -786.1613274418039:\\
\;\;\;\;\frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \left(\frac{0.5}{x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\mathbf{elif}\;x \le 705.5878295075497:\\
\;\;\;\;\left(x \cdot \frac{\sqrt{\left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1.0\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0005064034\right) + 0.0001789971 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)}}{\left(\left(0.0140005442 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0694555761 + \left(0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.7715471019 + 1.0\right)\right)\right)\right) + 0.0008327945 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(0.0001789971 \cdot 2.0\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}\right) \cdot \sqrt{\left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1.0\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0005064034\right) + 0.0001789971 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \left(\frac{0.5}{x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\end{array}double f(double x) {
double r5656793 = 1.0;
double r5656794 = 0.1049934947;
double r5656795 = x;
double r5656796 = r5656795 * r5656795;
double r5656797 = r5656794 * r5656796;
double r5656798 = r5656793 + r5656797;
double r5656799 = 0.0424060604;
double r5656800 = r5656796 * r5656796;
double r5656801 = r5656799 * r5656800;
double r5656802 = r5656798 + r5656801;
double r5656803 = 0.0072644182;
double r5656804 = r5656800 * r5656796;
double r5656805 = r5656803 * r5656804;
double r5656806 = r5656802 + r5656805;
double r5656807 = 0.0005064034;
double r5656808 = r5656804 * r5656796;
double r5656809 = r5656807 * r5656808;
double r5656810 = r5656806 + r5656809;
double r5656811 = 0.0001789971;
double r5656812 = r5656808 * r5656796;
double r5656813 = r5656811 * r5656812;
double r5656814 = r5656810 + r5656813;
double r5656815 = 0.7715471019;
double r5656816 = r5656815 * r5656796;
double r5656817 = r5656793 + r5656816;
double r5656818 = 0.2909738639;
double r5656819 = r5656818 * r5656800;
double r5656820 = r5656817 + r5656819;
double r5656821 = 0.0694555761;
double r5656822 = r5656821 * r5656804;
double r5656823 = r5656820 + r5656822;
double r5656824 = 0.0140005442;
double r5656825 = r5656824 * r5656808;
double r5656826 = r5656823 + r5656825;
double r5656827 = 0.0008327945;
double r5656828 = r5656827 * r5656812;
double r5656829 = r5656826 + r5656828;
double r5656830 = 2.0;
double r5656831 = r5656830 * r5656811;
double r5656832 = r5656812 * r5656796;
double r5656833 = r5656831 * r5656832;
double r5656834 = r5656829 + r5656833;
double r5656835 = r5656814 / r5656834;
double r5656836 = r5656835 * r5656795;
return r5656836;
}
double f(double x) {
double r5656837 = x;
double r5656838 = -786.1613274418039;
bool r5656839 = r5656837 <= r5656838;
double r5656840 = 0.15298196345929327;
double r5656841 = r5656837 * r5656837;
double r5656842 = r5656841 * r5656837;
double r5656843 = r5656841 * r5656842;
double r5656844 = r5656840 / r5656843;
double r5656845 = 0.5;
double r5656846 = r5656845 / r5656837;
double r5656847 = 0.2514179000665375;
double r5656848 = r5656847 / r5656842;
double r5656849 = r5656846 + r5656848;
double r5656850 = r5656844 + r5656849;
double r5656851 = 705.5878295075497;
bool r5656852 = r5656837 <= r5656851;
double r5656853 = 0.0072644182;
double r5656854 = r5656841 * r5656841;
double r5656855 = r5656854 * r5656841;
double r5656856 = r5656853 * r5656855;
double r5656857 = 0.0424060604;
double r5656858 = r5656857 * r5656854;
double r5656859 = 0.1049934947;
double r5656860 = r5656841 * r5656859;
double r5656861 = 1.0;
double r5656862 = r5656860 + r5656861;
double r5656863 = r5656858 + r5656862;
double r5656864 = r5656856 + r5656863;
double r5656865 = r5656841 * r5656855;
double r5656866 = 0.0005064034;
double r5656867 = r5656865 * r5656866;
double r5656868 = r5656864 + r5656867;
double r5656869 = 0.0001789971;
double r5656870 = r5656865 * r5656841;
double r5656871 = r5656869 * r5656870;
double r5656872 = r5656868 + r5656871;
double r5656873 = sqrt(r5656872);
double r5656874 = 0.0140005442;
double r5656875 = r5656874 * r5656865;
double r5656876 = 0.0694555761;
double r5656877 = r5656855 * r5656876;
double r5656878 = 0.2909738639;
double r5656879 = r5656878 * r5656854;
double r5656880 = 0.7715471019;
double r5656881 = r5656841 * r5656880;
double r5656882 = r5656881 + r5656861;
double r5656883 = r5656879 + r5656882;
double r5656884 = r5656877 + r5656883;
double r5656885 = r5656875 + r5656884;
double r5656886 = 0.0008327945;
double r5656887 = r5656886 * r5656870;
double r5656888 = r5656885 + r5656887;
double r5656889 = 2.0;
double r5656890 = r5656869 * r5656889;
double r5656891 = r5656870 * r5656841;
double r5656892 = r5656890 * r5656891;
double r5656893 = r5656888 + r5656892;
double r5656894 = r5656873 / r5656893;
double r5656895 = r5656837 * r5656894;
double r5656896 = r5656895 * r5656873;
double r5656897 = r5656852 ? r5656896 : r5656850;
double r5656898 = r5656839 ? r5656850 : r5656897;
return r5656898;
}



Bits error versus x
Results
if x < -786.1613274418039 or 705.5878295075497 < x Initial program 59.2
Taylor expanded around inf 0.0
Simplified0.0
if -786.1613274418039 < x < 705.5878295075497Initial program 0.0
rmApplied *-un-lft-identity0.0
Applied add-sqr-sqrt0.0
Applied times-frac0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2019165 +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))