\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 -2220777069831281700 \lor \neg \left(x \le 748.41969972063316\right):\\
\;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}\\
\end{array}double f(double x) {
double r276969 = 1.0;
double r276970 = 0.1049934947;
double r276971 = x;
double r276972 = r276971 * r276971;
double r276973 = r276970 * r276972;
double r276974 = r276969 + r276973;
double r276975 = 0.0424060604;
double r276976 = r276972 * r276972;
double r276977 = r276975 * r276976;
double r276978 = r276974 + r276977;
double r276979 = 0.0072644182;
double r276980 = r276976 * r276972;
double r276981 = r276979 * r276980;
double r276982 = r276978 + r276981;
double r276983 = 0.0005064034;
double r276984 = r276980 * r276972;
double r276985 = r276983 * r276984;
double r276986 = r276982 + r276985;
double r276987 = 0.0001789971;
double r276988 = r276984 * r276972;
double r276989 = r276987 * r276988;
double r276990 = r276986 + r276989;
double r276991 = 0.7715471019;
double r276992 = r276991 * r276972;
double r276993 = r276969 + r276992;
double r276994 = 0.2909738639;
double r276995 = r276994 * r276976;
double r276996 = r276993 + r276995;
double r276997 = 0.0694555761;
double r276998 = r276997 * r276980;
double r276999 = r276996 + r276998;
double r277000 = 0.0140005442;
double r277001 = r277000 * r276984;
double r277002 = r276999 + r277001;
double r277003 = 0.0008327945;
double r277004 = r277003 * r276988;
double r277005 = r277002 + r277004;
double r277006 = 2.0;
double r277007 = r277006 * r276987;
double r277008 = r276988 * r276972;
double r277009 = r277007 * r277008;
double r277010 = r277005 + r277009;
double r277011 = r276990 / r277010;
double r277012 = r277011 * r276971;
return r277012;
}
double f(double x) {
double r277013 = x;
double r277014 = -2.2207770698312817e+18;
bool r277015 = r277013 <= r277014;
double r277016 = 748.4196997206332;
bool r277017 = r277013 <= r277016;
double r277018 = !r277017;
bool r277019 = r277015 || r277018;
double r277020 = 0.2514179000665375;
double r277021 = 1.0;
double r277022 = 3.0;
double r277023 = pow(r277013, r277022);
double r277024 = r277021 / r277023;
double r277025 = 0.15298196345929327;
double r277026 = 5.0;
double r277027 = pow(r277013, r277026);
double r277028 = r277021 / r277027;
double r277029 = 0.5;
double r277030 = r277021 / r277013;
double r277031 = r277029 * r277030;
double r277032 = fma(r277025, r277028, r277031);
double r277033 = fma(r277020, r277024, r277032);
double r277034 = r277013 * r277013;
double r277035 = pow(r277034, r277022);
double r277036 = r277035 * r277023;
double r277037 = r277013 * r277036;
double r277038 = 0.0008327945;
double r277039 = 2.0;
double r277040 = 0.0001789971;
double r277041 = r277039 * r277040;
double r277042 = r277034 * r277041;
double r277043 = r277038 + r277042;
double r277044 = r277037 * r277043;
double r277045 = 0.2909738639;
double r277046 = r277045 * r277013;
double r277047 = 0.7715471019;
double r277048 = r277047 * r277013;
double r277049 = 1.0;
double r277050 = fma(r277048, r277013, r277049);
double r277051 = fma(r277046, r277023, r277050);
double r277052 = r277044 + r277051;
double r277053 = 6.0;
double r277054 = pow(r277013, r277053);
double r277055 = 0.0694555761;
double r277056 = 0.0140005442;
double r277057 = r277034 * r277056;
double r277058 = r277055 + r277057;
double r277059 = r277054 * r277058;
double r277060 = r277052 + r277059;
double r277061 = 4.0;
double r277062 = pow(r277034, r277061);
double r277063 = 0.0005064034;
double r277064 = r277034 * r277040;
double r277065 = r277063 + r277064;
double r277066 = r277062 * r277065;
double r277067 = 0.1049934947;
double r277068 = r277067 * r277013;
double r277069 = fma(r277068, r277013, r277049);
double r277070 = r277066 + r277069;
double r277071 = pow(r277013, r277061);
double r277072 = 0.0424060604;
double r277073 = 0.0072644182;
double r277074 = r277034 * r277073;
double r277075 = r277072 + r277074;
double r277076 = r277071 * r277075;
double r277077 = r277070 + r277076;
double r277078 = r277060 / r277077;
double r277079 = r277013 / r277078;
double r277080 = r277019 ? r277033 : r277079;
return r277080;
}



Bits error versus x
if x < -2.2207770698312817e+18 or 748.4196997206332 < x Initial program 60.8
Simplified60.7
Taylor expanded around inf 0.0
Simplified0.0
if -2.2207770698312817e+18 < x < 748.4196997206332Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020089 +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))