\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 -754191234.9514219760894775390625:\\
\;\;\;\;\left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right) + \frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x}\\
\mathbf{elif}\;x \le 13726266.98056492023169994354248046875:\\
\;\;\;\;x \cdot \frac{\left(\left(1 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.04240606040000000076517494562722276896238\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(x \cdot x\right) \cdot \left(0.1049934946999999951788851149103720672429 + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(5.064034000000000243502107366566633572802 \cdot 10^{-4} + \sqrt{1.789971000000000009994005623070734145585 \cdot 10^{-4}} \cdot \left(\left(x \cdot x\right) \cdot \sqrt{1.789971000000000009994005623070734145585 \cdot 10^{-4}}\right)\right)\right)}{\left(2 \cdot \left(\left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) + 8.327945000000000442749725770852364803432 \cdot 10^{-4}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(0.2909738639000000182122107617033179849386 \cdot \left(x \cdot x\right) + 0.7715471018999999763821051601553335785866\right) + \left(0.06945557609999999937322456844412954524159 + \left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right) + \frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x}\\
\end{array}double f(double x) {
double r7488765 = 1.0;
double r7488766 = 0.1049934947;
double r7488767 = x;
double r7488768 = r7488767 * r7488767;
double r7488769 = r7488766 * r7488768;
double r7488770 = r7488765 + r7488769;
double r7488771 = 0.0424060604;
double r7488772 = r7488768 * r7488768;
double r7488773 = r7488771 * r7488772;
double r7488774 = r7488770 + r7488773;
double r7488775 = 0.0072644182;
double r7488776 = r7488772 * r7488768;
double r7488777 = r7488775 * r7488776;
double r7488778 = r7488774 + r7488777;
double r7488779 = 0.0005064034;
double r7488780 = r7488776 * r7488768;
double r7488781 = r7488779 * r7488780;
double r7488782 = r7488778 + r7488781;
double r7488783 = 0.0001789971;
double r7488784 = r7488780 * r7488768;
double r7488785 = r7488783 * r7488784;
double r7488786 = r7488782 + r7488785;
double r7488787 = 0.7715471019;
double r7488788 = r7488787 * r7488768;
double r7488789 = r7488765 + r7488788;
double r7488790 = 0.2909738639;
double r7488791 = r7488790 * r7488772;
double r7488792 = r7488789 + r7488791;
double r7488793 = 0.0694555761;
double r7488794 = r7488793 * r7488776;
double r7488795 = r7488792 + r7488794;
double r7488796 = 0.0140005442;
double r7488797 = r7488796 * r7488780;
double r7488798 = r7488795 + r7488797;
double r7488799 = 0.0008327945;
double r7488800 = r7488799 * r7488784;
double r7488801 = r7488798 + r7488800;
double r7488802 = 2.0;
double r7488803 = r7488802 * r7488783;
double r7488804 = r7488784 * r7488768;
double r7488805 = r7488803 * r7488804;
double r7488806 = r7488801 + r7488805;
double r7488807 = r7488786 / r7488806;
double r7488808 = r7488807 * r7488767;
return r7488808;
}
double f(double x) {
double r7488809 = x;
double r7488810 = -754191234.951422;
bool r7488811 = r7488809 <= r7488810;
double r7488812 = 0.5;
double r7488813 = r7488812 / r7488809;
double r7488814 = 0.2514179000665375;
double r7488815 = r7488809 * r7488809;
double r7488816 = r7488815 * r7488809;
double r7488817 = r7488814 / r7488816;
double r7488818 = r7488813 + r7488817;
double r7488819 = 0.15298196345929327;
double r7488820 = r7488815 * r7488815;
double r7488821 = r7488820 * r7488809;
double r7488822 = r7488819 / r7488821;
double r7488823 = r7488818 + r7488822;
double r7488824 = 13726266.98056492;
bool r7488825 = r7488809 <= r7488824;
double r7488826 = 1.0;
double r7488827 = 0.0424060604;
double r7488828 = r7488820 * r7488827;
double r7488829 = r7488826 + r7488828;
double r7488830 = 0.0072644182;
double r7488831 = r7488815 * r7488820;
double r7488832 = r7488830 * r7488831;
double r7488833 = r7488829 + r7488832;
double r7488834 = 0.1049934947;
double r7488835 = 0.0005064034;
double r7488836 = 0.0001789971;
double r7488837 = sqrt(r7488836);
double r7488838 = r7488815 * r7488837;
double r7488839 = r7488837 * r7488838;
double r7488840 = r7488835 + r7488839;
double r7488841 = r7488831 * r7488840;
double r7488842 = r7488834 + r7488841;
double r7488843 = r7488815 * r7488842;
double r7488844 = r7488833 + r7488843;
double r7488845 = 2.0;
double r7488846 = r7488815 * r7488836;
double r7488847 = r7488845 * r7488846;
double r7488848 = 0.0008327945;
double r7488849 = r7488847 + r7488848;
double r7488850 = r7488820 * r7488831;
double r7488851 = r7488849 * r7488850;
double r7488852 = 0.2909738639;
double r7488853 = r7488852 * r7488815;
double r7488854 = 0.7715471019;
double r7488855 = r7488853 + r7488854;
double r7488856 = 0.0694555761;
double r7488857 = 0.0140005442;
double r7488858 = r7488815 * r7488857;
double r7488859 = r7488856 + r7488858;
double r7488860 = r7488859 * r7488820;
double r7488861 = r7488855 + r7488860;
double r7488862 = r7488815 * r7488861;
double r7488863 = r7488862 + r7488826;
double r7488864 = r7488851 + r7488863;
double r7488865 = r7488844 / r7488864;
double r7488866 = r7488809 * r7488865;
double r7488867 = r7488825 ? r7488866 : r7488823;
double r7488868 = r7488811 ? r7488823 : r7488867;
return r7488868;
}



Bits error versus x
Results
if x < -754191234.951422 or 13726266.98056492 < x Initial program 60.3
Simplified60.2
Taylor expanded around inf 0.0
Simplified0.0
if -754191234.951422 < x < 13726266.98056492Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*r*0.0
Final simplification0.0
herbie shell --seed 2019171
(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))