\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 3.050984953394394 \cdot 10^{+107}:\\
\;\;\;\;\frac{a}{\frac{\mathsf{fma}\left(k, k + 10, 1\right)}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{e^{\log k \cdot m}}{k}, \frac{a}{k}, \left(\frac{99}{k \cdot k} - \frac{10}{k}\right) \cdot \left(\frac{a}{k} \cdot \frac{e^{\log k \cdot m}}{k}\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r6502465 = a;
double r6502466 = k;
double r6502467 = m;
double r6502468 = pow(r6502466, r6502467);
double r6502469 = r6502465 * r6502468;
double r6502470 = 1.0;
double r6502471 = 10.0;
double r6502472 = r6502471 * r6502466;
double r6502473 = r6502470 + r6502472;
double r6502474 = r6502466 * r6502466;
double r6502475 = r6502473 + r6502474;
double r6502476 = r6502469 / r6502475;
return r6502476;
}
double f(double a, double k, double m) {
double r6502477 = k;
double r6502478 = 3.050984953394394e+107;
bool r6502479 = r6502477 <= r6502478;
double r6502480 = a;
double r6502481 = 10.0;
double r6502482 = r6502477 + r6502481;
double r6502483 = 1.0;
double r6502484 = fma(r6502477, r6502482, r6502483);
double r6502485 = m;
double r6502486 = pow(r6502477, r6502485);
double r6502487 = r6502484 / r6502486;
double r6502488 = r6502480 / r6502487;
double r6502489 = log(r6502477);
double r6502490 = r6502489 * r6502485;
double r6502491 = exp(r6502490);
double r6502492 = r6502491 / r6502477;
double r6502493 = r6502480 / r6502477;
double r6502494 = 99.0;
double r6502495 = r6502477 * r6502477;
double r6502496 = r6502494 / r6502495;
double r6502497 = r6502481 / r6502477;
double r6502498 = r6502496 - r6502497;
double r6502499 = r6502493 * r6502492;
double r6502500 = r6502498 * r6502499;
double r6502501 = fma(r6502492, r6502493, r6502500);
double r6502502 = r6502479 ? r6502488 : r6502501;
return r6502502;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 3.050984953394394e+107Initial program 0.1
rmApplied associate-/l*0.1
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied unpow-prod-down0.0
Applied associate-/r*0.0
Simplified0.0
if 3.050984953394394e+107 < k Initial program 8.2
Taylor expanded around -inf 63.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019158 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))