\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.38202916987206885 \cdot 10^{153}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(\frac{k}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \mathsf{fma}\left(\frac{10}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \frac{\frac{1}{a}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}\right)\right)}\\
\end{array}double f(double a, double k, double m) {
double r318674 = a;
double r318675 = k;
double r318676 = m;
double r318677 = pow(r318675, r318676);
double r318678 = r318674 * r318677;
double r318679 = 1.0;
double r318680 = 10.0;
double r318681 = r318680 * r318675;
double r318682 = r318679 + r318681;
double r318683 = r318675 * r318675;
double r318684 = r318682 + r318683;
double r318685 = r318678 / r318684;
return r318685;
}
double f(double a, double k, double m) {
double r318686 = k;
double r318687 = 1.3820291698720688e+153;
bool r318688 = r318686 <= r318687;
double r318689 = a;
double r318690 = m;
double r318691 = pow(r318686, r318690);
double r318692 = r318689 * r318691;
double r318693 = 1.0;
double r318694 = 10.0;
double r318695 = r318694 * r318686;
double r318696 = r318693 + r318695;
double r318697 = r318686 * r318686;
double r318698 = r318696 + r318697;
double r318699 = r318692 / r318698;
double r318700 = 1.0;
double r318701 = r318700 / r318686;
double r318702 = -r318690;
double r318703 = pow(r318701, r318702);
double r318704 = r318686 / r318703;
double r318705 = r318686 / r318689;
double r318706 = r318694 / r318703;
double r318707 = r318693 / r318689;
double r318708 = r318707 / r318703;
double r318709 = fma(r318706, r318705, r318708);
double r318710 = fma(r318704, r318705, r318709);
double r318711 = r318700 / r318710;
double r318712 = r318688 ? r318699 : r318711;
return r318712;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 1.3820291698720688e+153Initial program 0.1
if 1.3820291698720688e+153 < k Initial program 11.1
rmApplied clear-num11.1
Simplified11.1
Taylor expanded around inf 11.1
Simplified0.4
Final simplification0.2
herbie shell --seed 2019199 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))