\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 3.712300181399613687293094562313871192358 \cdot 10^{111}:\\
\;\;\;\;\frac{a}{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{{\left(e^{m}\right)}^{\left(\log k\right)}}{k}, \frac{a}{k}, \frac{{\left(e^{m}\right)}^{\left(\log k\right)}}{\frac{{k}^{2}}{a}} \cdot \left(\frac{99}{{k}^{2}} - \frac{10}{k}\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r360135 = a;
double r360136 = k;
double r360137 = m;
double r360138 = pow(r360136, r360137);
double r360139 = r360135 * r360138;
double r360140 = 1.0;
double r360141 = 10.0;
double r360142 = r360141 * r360136;
double r360143 = r360140 + r360142;
double r360144 = r360136 * r360136;
double r360145 = r360143 + r360144;
double r360146 = r360139 / r360145;
return r360146;
}
double f(double a, double k, double m) {
double r360147 = k;
double r360148 = 3.7123001813996137e+111;
bool r360149 = r360147 <= r360148;
double r360150 = a;
double r360151 = 10.0;
double r360152 = r360151 + r360147;
double r360153 = 1.0;
double r360154 = fma(r360147, r360152, r360153);
double r360155 = m;
double r360156 = pow(r360147, r360155);
double r360157 = r360154 / r360156;
double r360158 = r360150 / r360157;
double r360159 = exp(r360155);
double r360160 = log(r360147);
double r360161 = pow(r360159, r360160);
double r360162 = r360161 / r360147;
double r360163 = r360150 / r360147;
double r360164 = 2.0;
double r360165 = pow(r360147, r360164);
double r360166 = r360165 / r360150;
double r360167 = r360161 / r360166;
double r360168 = 99.0;
double r360169 = r360168 / r360165;
double r360170 = r360151 / r360147;
double r360171 = r360169 - r360170;
double r360172 = r360167 * r360171;
double r360173 = fma(r360162, r360163, r360172);
double r360174 = r360149 ? r360158 : r360173;
return r360174;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 3.7123001813996137e+111Initial program 0.1
Simplified0.0
if 3.7123001813996137e+111 < k Initial program 8.3
Simplified8.3
Taylor expanded around -inf 64.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019323 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))