\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 -321872143054.06482 \lor \neg \left(x \le 1665.7029103209761\right):\\
\;\;\;\;\mathsf{fma}\left(0.2514179000665373, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.15298196345929371, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{\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)} \cdot \mathsf{fma}\left(\mathsf{fma}\left({\left(x \cdot x\right)}^{4}, 5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}, \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right), \mathsf{fma}\left({\left(x \cdot x\right)}^{4}, 5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}, \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right), -\left({x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)\right) \cdot \left({x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)\right)\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 r186037 = 1.0;
double r186038 = 0.1049934947;
double r186039 = x;
double r186040 = r186039 * r186039;
double r186041 = r186038 * r186040;
double r186042 = r186037 + r186041;
double r186043 = 0.0424060604;
double r186044 = r186040 * r186040;
double r186045 = r186043 * r186044;
double r186046 = r186042 + r186045;
double r186047 = 0.0072644182;
double r186048 = r186044 * r186040;
double r186049 = r186047 * r186048;
double r186050 = r186046 + r186049;
double r186051 = 0.0005064034;
double r186052 = r186048 * r186040;
double r186053 = r186051 * r186052;
double r186054 = r186050 + r186053;
double r186055 = 0.0001789971;
double r186056 = r186052 * r186040;
double r186057 = r186055 * r186056;
double r186058 = r186054 + r186057;
double r186059 = 0.7715471019;
double r186060 = r186059 * r186040;
double r186061 = r186037 + r186060;
double r186062 = 0.2909738639;
double r186063 = r186062 * r186044;
double r186064 = r186061 + r186063;
double r186065 = 0.0694555761;
double r186066 = r186065 * r186048;
double r186067 = r186064 + r186066;
double r186068 = 0.0140005442;
double r186069 = r186068 * r186052;
double r186070 = r186067 + r186069;
double r186071 = 0.0008327945;
double r186072 = r186071 * r186056;
double r186073 = r186070 + r186072;
double r186074 = 2.0;
double r186075 = r186074 * r186055;
double r186076 = r186056 * r186040;
double r186077 = r186075 * r186076;
double r186078 = r186073 + r186077;
double r186079 = r186058 / r186078;
double r186080 = r186079 * r186039;
return r186080;
}
double f(double x) {
double r186081 = x;
double r186082 = -321872143054.0648;
bool r186083 = r186081 <= r186082;
double r186084 = 1665.7029103209761;
bool r186085 = r186081 <= r186084;
double r186086 = !r186085;
bool r186087 = r186083 || r186086;
double r186088 = 0.2514179000665373;
double r186089 = 1.0;
double r186090 = 3.0;
double r186091 = pow(r186081, r186090);
double r186092 = r186089 / r186091;
double r186093 = 0.1529819634592937;
double r186094 = 5.0;
double r186095 = pow(r186081, r186094);
double r186096 = r186089 / r186095;
double r186097 = 0.5;
double r186098 = r186089 / r186081;
double r186099 = r186097 * r186098;
double r186100 = fma(r186093, r186096, r186099);
double r186101 = fma(r186088, r186092, r186100);
double r186102 = r186081 * r186081;
double r186103 = pow(r186102, r186090);
double r186104 = r186103 * r186091;
double r186105 = r186081 * r186104;
double r186106 = 0.0008327945;
double r186107 = 2.0;
double r186108 = 0.0001789971;
double r186109 = r186107 * r186108;
double r186110 = r186102 * r186109;
double r186111 = r186106 + r186110;
double r186112 = r186105 * r186111;
double r186113 = 0.2909738639;
double r186114 = r186113 * r186081;
double r186115 = 0.7715471019;
double r186116 = r186115 * r186081;
double r186117 = 1.0;
double r186118 = fma(r186116, r186081, r186117);
double r186119 = fma(r186114, r186091, r186118);
double r186120 = r186112 + r186119;
double r186121 = 6.0;
double r186122 = pow(r186081, r186121);
double r186123 = 0.0694555761;
double r186124 = 0.0140005442;
double r186125 = r186102 * r186124;
double r186126 = r186123 + r186125;
double r186127 = r186122 * r186126;
double r186128 = r186120 + r186127;
double r186129 = r186081 / r186128;
double r186130 = 4.0;
double r186131 = pow(r186102, r186130);
double r186132 = 0.0005064034;
double r186133 = r186102 * r186108;
double r186134 = r186132 + r186133;
double r186135 = 0.1049934947;
double r186136 = r186135 * r186081;
double r186137 = fma(r186136, r186081, r186117);
double r186138 = fma(r186131, r186134, r186137);
double r186139 = pow(r186081, r186130);
double r186140 = 0.0424060604;
double r186141 = 0.0072644182;
double r186142 = r186102 * r186141;
double r186143 = r186140 + r186142;
double r186144 = r186139 * r186143;
double r186145 = r186144 * r186144;
double r186146 = -r186145;
double r186147 = fma(r186138, r186138, r186146);
double r186148 = r186129 * r186147;
double r186149 = r186131 * r186134;
double r186150 = r186149 + r186137;
double r186151 = r186150 - r186144;
double r186152 = r186148 / r186151;
double r186153 = r186087 ? r186101 : r186152;
return r186153;
}



Bits error versus x
if x < -321872143054.0648 or 1665.7029103209761 < x Initial program 60.0
Simplified59.9
rmApplied flip-+62.0
Applied associate-/r/62.0
Applied associate-/r*62.0
Simplified62.0
Taylor expanded around inf 0.0
Simplified0.0
if -321872143054.0648 < x < 1665.7029103209761Initial program 0.0
Simplified0.0
rmApplied flip-+0.0
Applied associate-/r/0.0
Applied associate-/r*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020027 +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))