\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 -175048.780434149812 \lor \neg \left(x \le 678.46490050898251\right):\\
\;\;\;\;\left(\frac{0.25141790006653753}{{x}^{3}} + \frac{0.5}{x}\right) + \frac{0.1529819634592933}{{x}^{5}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt{\left(1.789971 \cdot 10^{-4} \cdot \left({x}^{4} \cdot {x}^{6}\right) + \left(x \cdot {x}^{7}\right) \cdot 5.0640340000000002 \cdot 10^{-4}\right) + \left({x}^{6} \cdot 0.00726441819999999999 + \left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + {x}^{4} \cdot 0.042406060400000001\right)\right)}}{8.32794500000000044 \cdot 10^{-4} \cdot \left({x}^{4} \cdot {x}^{6}\right) + \left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot {x}^{4}\right) + {x}^{6} \cdot 0.069455576099999999\right) + {x}^{7} \cdot \left(x \cdot 0.014000544199999999\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot {\left({x}^{4}\right)}^{3}\right)} \cdot x\right) \cdot \sqrt{\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)}\\
\end{array}double f(double x) {
double r148781 = 1.0;
double r148782 = 0.1049934947;
double r148783 = x;
double r148784 = r148783 * r148783;
double r148785 = r148782 * r148784;
double r148786 = r148781 + r148785;
double r148787 = 0.0424060604;
double r148788 = r148784 * r148784;
double r148789 = r148787 * r148788;
double r148790 = r148786 + r148789;
double r148791 = 0.0072644182;
double r148792 = r148788 * r148784;
double r148793 = r148791 * r148792;
double r148794 = r148790 + r148793;
double r148795 = 0.0005064034;
double r148796 = r148792 * r148784;
double r148797 = r148795 * r148796;
double r148798 = r148794 + r148797;
double r148799 = 0.0001789971;
double r148800 = r148796 * r148784;
double r148801 = r148799 * r148800;
double r148802 = r148798 + r148801;
double r148803 = 0.7715471019;
double r148804 = r148803 * r148784;
double r148805 = r148781 + r148804;
double r148806 = 0.2909738639;
double r148807 = r148806 * r148788;
double r148808 = r148805 + r148807;
double r148809 = 0.0694555761;
double r148810 = r148809 * r148792;
double r148811 = r148808 + r148810;
double r148812 = 0.0140005442;
double r148813 = r148812 * r148796;
double r148814 = r148811 + r148813;
double r148815 = 0.0008327945;
double r148816 = r148815 * r148800;
double r148817 = r148814 + r148816;
double r148818 = 2.0;
double r148819 = r148818 * r148799;
double r148820 = r148800 * r148784;
double r148821 = r148819 * r148820;
double r148822 = r148817 + r148821;
double r148823 = r148802 / r148822;
double r148824 = r148823 * r148783;
return r148824;
}
double f(double x) {
double r148825 = x;
double r148826 = -175048.7804341498;
bool r148827 = r148825 <= r148826;
double r148828 = 678.4649005089825;
bool r148829 = r148825 <= r148828;
double r148830 = !r148829;
bool r148831 = r148827 || r148830;
double r148832 = 0.2514179000665375;
double r148833 = 3.0;
double r148834 = pow(r148825, r148833);
double r148835 = r148832 / r148834;
double r148836 = 0.5;
double r148837 = r148836 / r148825;
double r148838 = r148835 + r148837;
double r148839 = 0.15298196345929327;
double r148840 = 5.0;
double r148841 = pow(r148825, r148840);
double r148842 = r148839 / r148841;
double r148843 = r148838 + r148842;
double r148844 = 0.0001789971;
double r148845 = 4.0;
double r148846 = pow(r148825, r148845);
double r148847 = 6.0;
double r148848 = pow(r148825, r148847);
double r148849 = r148846 * r148848;
double r148850 = r148844 * r148849;
double r148851 = 7.0;
double r148852 = pow(r148825, r148851);
double r148853 = r148825 * r148852;
double r148854 = 0.0005064034;
double r148855 = r148853 * r148854;
double r148856 = r148850 + r148855;
double r148857 = 0.0072644182;
double r148858 = r148848 * r148857;
double r148859 = 1.0;
double r148860 = 0.1049934947;
double r148861 = r148825 * r148825;
double r148862 = r148860 * r148861;
double r148863 = r148859 + r148862;
double r148864 = 0.0424060604;
double r148865 = r148846 * r148864;
double r148866 = r148863 + r148865;
double r148867 = r148858 + r148866;
double r148868 = r148856 + r148867;
double r148869 = sqrt(r148868);
double r148870 = 0.0008327945;
double r148871 = r148870 * r148849;
double r148872 = 0.7715471019;
double r148873 = r148872 * r148861;
double r148874 = r148859 + r148873;
double r148875 = 0.2909738639;
double r148876 = r148875 * r148846;
double r148877 = r148874 + r148876;
double r148878 = 0.0694555761;
double r148879 = r148848 * r148878;
double r148880 = r148877 + r148879;
double r148881 = 0.0140005442;
double r148882 = r148825 * r148881;
double r148883 = r148852 * r148882;
double r148884 = r148880 + r148883;
double r148885 = 2.0;
double r148886 = r148885 * r148844;
double r148887 = pow(r148846, r148833);
double r148888 = r148886 * r148887;
double r148889 = r148884 + r148888;
double r148890 = r148871 + r148889;
double r148891 = r148869 / r148890;
double r148892 = r148891 * r148825;
double r148893 = r148861 * r148861;
double r148894 = r148864 * r148893;
double r148895 = r148863 + r148894;
double r148896 = r148893 * r148861;
double r148897 = r148857 * r148896;
double r148898 = r148895 + r148897;
double r148899 = r148896 * r148861;
double r148900 = r148854 * r148899;
double r148901 = r148898 + r148900;
double r148902 = r148899 * r148861;
double r148903 = r148844 * r148902;
double r148904 = r148901 + r148903;
double r148905 = sqrt(r148904);
double r148906 = r148892 * r148905;
double r148907 = r148831 ? r148843 : r148906;
return r148907;
}



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