\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 -4188948.14003666909 \lor \neg \left(x \le 707.872353796121274\right):\\
\;\;\;\;\frac{0.25141790006653753}{{x}^{3}} + \left(\frac{0.5}{x} + \frac{0.1529819634592933}{{x}^{5}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\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)\right) \cdot \frac{1}{\mathsf{fma}\left(2 \cdot 1.789971 \cdot 10^{-4}, {x}^{6} \cdot {x}^{6}, \mathsf{fma}\left(8.32794500000000044 \cdot 10^{-4}, {x}^{6} \cdot {x}^{4}, \mathsf{fma}\left({x}^{4} \cdot {x}^{4}, 0.014000544199999999, \mathsf{fma}\left(0.069455576099999999, {x}^{6}, \mathsf{fma}\left(0.29097386390000002, {x}^{4}, \mathsf{fma}\left(x \cdot x, 0.77154710189999998, 1\right)\right)\right)\right)\right)\right)}\right) \cdot x\\
\end{array}double f(double x) {
double r112069 = 1.0;
double r112070 = 0.1049934947;
double r112071 = x;
double r112072 = r112071 * r112071;
double r112073 = r112070 * r112072;
double r112074 = r112069 + r112073;
double r112075 = 0.0424060604;
double r112076 = r112072 * r112072;
double r112077 = r112075 * r112076;
double r112078 = r112074 + r112077;
double r112079 = 0.0072644182;
double r112080 = r112076 * r112072;
double r112081 = r112079 * r112080;
double r112082 = r112078 + r112081;
double r112083 = 0.0005064034;
double r112084 = r112080 * r112072;
double r112085 = r112083 * r112084;
double r112086 = r112082 + r112085;
double r112087 = 0.0001789971;
double r112088 = r112084 * r112072;
double r112089 = r112087 * r112088;
double r112090 = r112086 + r112089;
double r112091 = 0.7715471019;
double r112092 = r112091 * r112072;
double r112093 = r112069 + r112092;
double r112094 = 0.2909738639;
double r112095 = r112094 * r112076;
double r112096 = r112093 + r112095;
double r112097 = 0.0694555761;
double r112098 = r112097 * r112080;
double r112099 = r112096 + r112098;
double r112100 = 0.0140005442;
double r112101 = r112100 * r112084;
double r112102 = r112099 + r112101;
double r112103 = 0.0008327945;
double r112104 = r112103 * r112088;
double r112105 = r112102 + r112104;
double r112106 = 2.0;
double r112107 = r112106 * r112087;
double r112108 = r112088 * r112072;
double r112109 = r112107 * r112108;
double r112110 = r112105 + r112109;
double r112111 = r112090 / r112110;
double r112112 = r112111 * r112071;
return r112112;
}
double f(double x) {
double r112113 = x;
double r112114 = -4188948.140036669;
bool r112115 = r112113 <= r112114;
double r112116 = 707.8723537961213;
bool r112117 = r112113 <= r112116;
double r112118 = !r112117;
bool r112119 = r112115 || r112118;
double r112120 = 0.2514179000665375;
double r112121 = 3.0;
double r112122 = pow(r112113, r112121);
double r112123 = r112120 / r112122;
double r112124 = 0.5;
double r112125 = r112124 / r112113;
double r112126 = 0.15298196345929327;
double r112127 = 5.0;
double r112128 = pow(r112113, r112127);
double r112129 = r112126 / r112128;
double r112130 = r112125 + r112129;
double r112131 = r112123 + r112130;
double r112132 = 1.0;
double r112133 = 0.1049934947;
double r112134 = r112113 * r112113;
double r112135 = r112133 * r112134;
double r112136 = r112132 + r112135;
double r112137 = 0.0424060604;
double r112138 = r112134 * r112134;
double r112139 = r112137 * r112138;
double r112140 = r112136 + r112139;
double r112141 = 0.0072644182;
double r112142 = r112138 * r112134;
double r112143 = r112141 * r112142;
double r112144 = r112140 + r112143;
double r112145 = 0.0005064034;
double r112146 = r112142 * r112134;
double r112147 = r112145 * r112146;
double r112148 = r112144 + r112147;
double r112149 = 0.0001789971;
double r112150 = r112146 * r112134;
double r112151 = r112149 * r112150;
double r112152 = r112148 + r112151;
double r112153 = 1.0;
double r112154 = 2.0;
double r112155 = r112154 * r112149;
double r112156 = 6.0;
double r112157 = pow(r112113, r112156);
double r112158 = r112157 * r112157;
double r112159 = 0.0008327945;
double r112160 = 4.0;
double r112161 = pow(r112113, r112160);
double r112162 = r112157 * r112161;
double r112163 = r112161 * r112161;
double r112164 = 0.0140005442;
double r112165 = 0.0694555761;
double r112166 = 0.2909738639;
double r112167 = 0.7715471019;
double r112168 = fma(r112134, r112167, r112132);
double r112169 = fma(r112166, r112161, r112168);
double r112170 = fma(r112165, r112157, r112169);
double r112171 = fma(r112163, r112164, r112170);
double r112172 = fma(r112159, r112162, r112171);
double r112173 = fma(r112155, r112158, r112172);
double r112174 = r112153 / r112173;
double r112175 = r112152 * r112174;
double r112176 = r112175 * r112113;
double r112177 = r112119 ? r112131 : r112176;
return r112177;
}



Bits error versus x
if x < -4188948.140036669 or 707.8723537961213 < x Initial program 59.8
rmApplied add-cbrt-cube59.8
Simplified59.8
rmApplied div-inv59.8
Simplified59.8
Taylor expanded around inf 0.0
Simplified0.0
if -4188948.140036669 < x < 707.8723537961213Initial program 0.0
rmApplied div-inv0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019195 +o rules:numerics
(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))