\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 8.64457521693825646818669717507016078443 \cdot 10^{148}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{a}{k}, \frac{e^{\log k \cdot m}}{k}, \frac{e^{\log k \cdot m}}{\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 r165332 = a;
double r165333 = k;
double r165334 = m;
double r165335 = pow(r165333, r165334);
double r165336 = r165332 * r165335;
double r165337 = 1.0;
double r165338 = 10.0;
double r165339 = r165338 * r165333;
double r165340 = r165337 + r165339;
double r165341 = r165333 * r165333;
double r165342 = r165340 + r165341;
double r165343 = r165336 / r165342;
return r165343;
}
double f(double a, double k, double m) {
double r165344 = k;
double r165345 = 8.644575216938256e+148;
bool r165346 = r165344 <= r165345;
double r165347 = a;
double r165348 = m;
double r165349 = pow(r165344, r165348);
double r165350 = r165347 * r165349;
double r165351 = 1.0;
double r165352 = 10.0;
double r165353 = r165352 * r165344;
double r165354 = r165351 + r165353;
double r165355 = r165344 * r165344;
double r165356 = r165354 + r165355;
double r165357 = r165350 / r165356;
double r165358 = r165347 / r165344;
double r165359 = log(r165344);
double r165360 = r165359 * r165348;
double r165361 = exp(r165360);
double r165362 = r165361 / r165344;
double r165363 = 2.0;
double r165364 = pow(r165344, r165363);
double r165365 = r165364 / r165347;
double r165366 = r165361 / r165365;
double r165367 = 99.0;
double r165368 = r165367 / r165364;
double r165369 = r165352 / r165344;
double r165370 = r165368 - r165369;
double r165371 = r165366 * r165370;
double r165372 = fma(r165358, r165362, r165371);
double r165373 = r165346 ? r165357 : r165372;
return r165373;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 8.644575216938256e+148Initial program 0.1
if 8.644575216938256e+148 < k Initial program 9.5
Simplified9.5
Taylor expanded around inf 9.5
Simplified0.1
Final simplification0.1
herbie shell --seed 2019322 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))