\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.019499051488994452424440699775966803008 \cdot 10^{135}:\\
\;\;\;\;\frac{a}{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(\frac{k}{a}, \frac{k}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \mathsf{fma}\left(1, \frac{{k}^{\left(-m\right)}}{a}, \frac{10}{a} \cdot \frac{k}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}\right)\right)}\\
\end{array}double f(double a, double k, double m) {
double r240343 = a;
double r240344 = k;
double r240345 = m;
double r240346 = pow(r240344, r240345);
double r240347 = r240343 * r240346;
double r240348 = 1.0;
double r240349 = 10.0;
double r240350 = r240349 * r240344;
double r240351 = r240348 + r240350;
double r240352 = r240344 * r240344;
double r240353 = r240351 + r240352;
double r240354 = r240347 / r240353;
return r240354;
}
double f(double a, double k, double m) {
double r240355 = k;
double r240356 = 1.0194990514889945e+135;
bool r240357 = r240355 <= r240356;
double r240358 = a;
double r240359 = 10.0;
double r240360 = r240359 + r240355;
double r240361 = 1.0;
double r240362 = fma(r240355, r240360, r240361);
double r240363 = m;
double r240364 = pow(r240355, r240363);
double r240365 = r240362 / r240364;
double r240366 = r240358 / r240365;
double r240367 = 1.0;
double r240368 = r240355 / r240358;
double r240369 = r240367 / r240355;
double r240370 = -r240363;
double r240371 = pow(r240369, r240370);
double r240372 = r240355 / r240371;
double r240373 = pow(r240355, r240370);
double r240374 = r240373 / r240358;
double r240375 = r240359 / r240358;
double r240376 = r240375 * r240372;
double r240377 = fma(r240361, r240374, r240376);
double r240378 = fma(r240368, r240372, r240377);
double r240379 = r240367 / r240378;
double r240380 = r240357 ? r240366 : r240379;
return r240380;
}



Bits error versus a



Bits error versus k



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