\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 -919903603285871.25 \lor \neg \left(x \le 792.7800226521936792778433300554752349854\right):\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.2514179000665375252054900556686334311962}{{x}^{3}} + \frac{0.1529819634592932686700805788859724998474}{{x}^{5}}\right)\\
\mathbf{else}:\\
\;\;\;\;\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\\
\end{array}double f(double x) {
double r120907 = 1.0;
double r120908 = 0.1049934947;
double r120909 = x;
double r120910 = r120909 * r120909;
double r120911 = r120908 * r120910;
double r120912 = r120907 + r120911;
double r120913 = 0.0424060604;
double r120914 = r120910 * r120910;
double r120915 = r120913 * r120914;
double r120916 = r120912 + r120915;
double r120917 = 0.0072644182;
double r120918 = r120914 * r120910;
double r120919 = r120917 * r120918;
double r120920 = r120916 + r120919;
double r120921 = 0.0005064034;
double r120922 = r120918 * r120910;
double r120923 = r120921 * r120922;
double r120924 = r120920 + r120923;
double r120925 = 0.0001789971;
double r120926 = r120922 * r120910;
double r120927 = r120925 * r120926;
double r120928 = r120924 + r120927;
double r120929 = 0.7715471019;
double r120930 = r120929 * r120910;
double r120931 = r120907 + r120930;
double r120932 = 0.2909738639;
double r120933 = r120932 * r120914;
double r120934 = r120931 + r120933;
double r120935 = 0.0694555761;
double r120936 = r120935 * r120918;
double r120937 = r120934 + r120936;
double r120938 = 0.0140005442;
double r120939 = r120938 * r120922;
double r120940 = r120937 + r120939;
double r120941 = 0.0008327945;
double r120942 = r120941 * r120926;
double r120943 = r120940 + r120942;
double r120944 = 2.0;
double r120945 = r120944 * r120925;
double r120946 = r120926 * r120910;
double r120947 = r120945 * r120946;
double r120948 = r120943 + r120947;
double r120949 = r120928 / r120948;
double r120950 = r120949 * r120909;
return r120950;
}
double f(double x) {
double r120951 = x;
double r120952 = -919903603285871.2;
bool r120953 = r120951 <= r120952;
double r120954 = 792.7800226521937;
bool r120955 = r120951 <= r120954;
double r120956 = !r120955;
bool r120957 = r120953 || r120956;
double r120958 = 0.5;
double r120959 = r120958 / r120951;
double r120960 = 0.2514179000665375;
double r120961 = 3.0;
double r120962 = pow(r120951, r120961);
double r120963 = r120960 / r120962;
double r120964 = 0.15298196345929327;
double r120965 = 5.0;
double r120966 = pow(r120951, r120965);
double r120967 = r120964 / r120966;
double r120968 = r120963 + r120967;
double r120969 = r120959 + r120968;
double r120970 = 1.0;
double r120971 = 0.1049934947;
double r120972 = r120951 * r120951;
double r120973 = r120971 * r120972;
double r120974 = r120970 + r120973;
double r120975 = 0.0424060604;
double r120976 = r120972 * r120972;
double r120977 = r120975 * r120976;
double r120978 = r120974 + r120977;
double r120979 = 0.0072644182;
double r120980 = r120976 * r120972;
double r120981 = r120979 * r120980;
double r120982 = r120978 + r120981;
double r120983 = 0.0005064034;
double r120984 = r120980 * r120972;
double r120985 = r120983 * r120984;
double r120986 = r120982 + r120985;
double r120987 = 0.0001789971;
double r120988 = r120984 * r120972;
double r120989 = r120987 * r120988;
double r120990 = r120986 + r120989;
double r120991 = 0.7715471019;
double r120992 = r120991 * r120972;
double r120993 = r120970 + r120992;
double r120994 = 0.2909738639;
double r120995 = r120994 * r120976;
double r120996 = r120993 + r120995;
double r120997 = 0.0694555761;
double r120998 = r120997 * r120980;
double r120999 = r120996 + r120998;
double r121000 = 0.0140005442;
double r121001 = r121000 * r120984;
double r121002 = r120999 + r121001;
double r121003 = 0.0008327945;
double r121004 = r121003 * r120988;
double r121005 = r121002 + r121004;
double r121006 = 2.0;
double r121007 = r121006 * r120987;
double r121008 = r120988 * r120972;
double r121009 = r121007 * r121008;
double r121010 = r121005 + r121009;
double r121011 = r120990 / r121010;
double r121012 = r121011 * r120951;
double r121013 = r120957 ? r120969 : r121012;
return r121013;
}



Bits error versus x
Results
if x < -919903603285871.2 or 792.7800226521937 < x Initial program 60.2
Taylor expanded around inf 0.0
Simplified0.0
if -919903603285871.2 < x < 792.7800226521937Initial program 0.0
Final simplification0.0
herbie shell --seed 2019326 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
:precision binary64
(* (/ (+ (+ (+ (+ (+ 1 (* 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.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.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))