\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 -29870171115422029296173056:\\
\;\;\;\;\left(\frac{0.1529819634592932686700805788859724998474}{{x}^{5}} + \frac{0.5}{x}\right) + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\\
\mathbf{elif}\;x \le 299725.9309930869494564831256866455078125:\\
\;\;\;\;\left(1 + \left(\left(x \cdot x\right) \cdot \left(0.1049934946999999951788851149103720672429 + \left(0.04240606040000000076517494562722276896238 \cdot \left(x \cdot x\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \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(5.064034000000000243502107366566633572802 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right)\right)\right) \cdot \frac{x}{\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(8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right)\right) + 0.01400054419999999938406531896362139377743\right) + \left(\left(x \cdot x\right) \cdot \left(0.7715471018999999763821051601553335785866 + \left(x \cdot x\right) \cdot \left(0.2909738639000000182122107617033179849386 + \left(x \cdot x\right) \cdot 0.06945557609999999937322456844412954524159\right)\right) + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{0.1529819634592932686700805788859724998474}{{x}^{5}} + \frac{0.5}{x}\right) + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\\
\end{array}double f(double x) {
double r13253781 = 1.0;
double r13253782 = 0.1049934947;
double r13253783 = x;
double r13253784 = r13253783 * r13253783;
double r13253785 = r13253782 * r13253784;
double r13253786 = r13253781 + r13253785;
double r13253787 = 0.0424060604;
double r13253788 = r13253784 * r13253784;
double r13253789 = r13253787 * r13253788;
double r13253790 = r13253786 + r13253789;
double r13253791 = 0.0072644182;
double r13253792 = r13253788 * r13253784;
double r13253793 = r13253791 * r13253792;
double r13253794 = r13253790 + r13253793;
double r13253795 = 0.0005064034;
double r13253796 = r13253792 * r13253784;
double r13253797 = r13253795 * r13253796;
double r13253798 = r13253794 + r13253797;
double r13253799 = 0.0001789971;
double r13253800 = r13253796 * r13253784;
double r13253801 = r13253799 * r13253800;
double r13253802 = r13253798 + r13253801;
double r13253803 = 0.7715471019;
double r13253804 = r13253803 * r13253784;
double r13253805 = r13253781 + r13253804;
double r13253806 = 0.2909738639;
double r13253807 = r13253806 * r13253788;
double r13253808 = r13253805 + r13253807;
double r13253809 = 0.0694555761;
double r13253810 = r13253809 * r13253792;
double r13253811 = r13253808 + r13253810;
double r13253812 = 0.0140005442;
double r13253813 = r13253812 * r13253796;
double r13253814 = r13253811 + r13253813;
double r13253815 = 0.0008327945;
double r13253816 = r13253815 * r13253800;
double r13253817 = r13253814 + r13253816;
double r13253818 = 2.0;
double r13253819 = r13253818 * r13253799;
double r13253820 = r13253800 * r13253784;
double r13253821 = r13253819 * r13253820;
double r13253822 = r13253817 + r13253821;
double r13253823 = r13253802 / r13253822;
double r13253824 = r13253823 * r13253783;
return r13253824;
}
double f(double x) {
double r13253825 = x;
double r13253826 = -2.987017111542203e+25;
bool r13253827 = r13253825 <= r13253826;
double r13253828 = 0.15298196345929327;
double r13253829 = 5.0;
double r13253830 = pow(r13253825, r13253829);
double r13253831 = r13253828 / r13253830;
double r13253832 = 0.5;
double r13253833 = r13253832 / r13253825;
double r13253834 = r13253831 + r13253833;
double r13253835 = 0.2514179000665375;
double r13253836 = r13253825 * r13253825;
double r13253837 = r13253836 * r13253825;
double r13253838 = r13253835 / r13253837;
double r13253839 = r13253834 + r13253838;
double r13253840 = 299725.93099308695;
bool r13253841 = r13253825 <= r13253840;
double r13253842 = 1.0;
double r13253843 = 0.1049934947;
double r13253844 = 0.0424060604;
double r13253845 = r13253844 * r13253836;
double r13253846 = 0.0072644182;
double r13253847 = r13253836 * r13253836;
double r13253848 = r13253846 * r13253847;
double r13253849 = r13253845 + r13253848;
double r13253850 = r13253843 + r13253849;
double r13253851 = r13253836 * r13253850;
double r13253852 = r13253847 * r13253847;
double r13253853 = 0.0005064034;
double r13253854 = 0.0001789971;
double r13253855 = r13253836 * r13253854;
double r13253856 = r13253853 + r13253855;
double r13253857 = r13253852 * r13253856;
double r13253858 = r13253851 + r13253857;
double r13253859 = r13253842 + r13253858;
double r13253860 = 0.0008327945;
double r13253861 = 2.0;
double r13253862 = r13253861 * r13253854;
double r13253863 = r13253836 * r13253862;
double r13253864 = r13253860 + r13253863;
double r13253865 = r13253836 * r13253864;
double r13253866 = 0.0140005442;
double r13253867 = r13253865 + r13253866;
double r13253868 = r13253852 * r13253867;
double r13253869 = 0.7715471019;
double r13253870 = 0.2909738639;
double r13253871 = 0.0694555761;
double r13253872 = r13253836 * r13253871;
double r13253873 = r13253870 + r13253872;
double r13253874 = r13253836 * r13253873;
double r13253875 = r13253869 + r13253874;
double r13253876 = r13253836 * r13253875;
double r13253877 = r13253876 + r13253842;
double r13253878 = r13253868 + r13253877;
double r13253879 = r13253825 / r13253878;
double r13253880 = r13253859 * r13253879;
double r13253881 = r13253841 ? r13253880 : r13253839;
double r13253882 = r13253827 ? r13253839 : r13253881;
return r13253882;
}



Bits error versus x
Results
if x < -2.987017111542203e+25 or 299725.93099308695 < x Initial program 61.7
Simplified61.6
rmApplied div-inv61.6
Applied associate-*l*61.6
Simplified61.6
Taylor expanded around inf 0.0
Simplified0.0
if -2.987017111542203e+25 < x < 299725.93099308695Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019174
(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))