\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 8.50964232149812311 \cdot 10^{117}:\\
\;\;\;\;\frac{\left(a \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k}, \frac{a}{k}, 99 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{4}} - 10 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{3}}\right)\\
\end{array}double f(double a, double k, double m) {
double r506509 = a;
double r506510 = k;
double r506511 = m;
double r506512 = pow(r506510, r506511);
double r506513 = r506509 * r506512;
double r506514 = 1.0;
double r506515 = 10.0;
double r506516 = r506515 * r506510;
double r506517 = r506514 + r506516;
double r506518 = r506510 * r506510;
double r506519 = r506517 + r506518;
double r506520 = r506513 / r506519;
return r506520;
}
double f(double a, double k, double m) {
double r506521 = k;
double r506522 = 8.509642321498123e+117;
bool r506523 = r506521 <= r506522;
double r506524 = a;
double r506525 = m;
double r506526 = 2.0;
double r506527 = r506525 / r506526;
double r506528 = pow(r506521, r506527);
double r506529 = r506524 * r506528;
double r506530 = r506529 * r506528;
double r506531 = 1.0;
double r506532 = 10.0;
double r506533 = r506532 * r506521;
double r506534 = r506531 + r506533;
double r506535 = r506521 * r506521;
double r506536 = r506534 + r506535;
double r506537 = r506530 / r506536;
double r506538 = -1.0;
double r506539 = 1.0;
double r506540 = r506539 / r506521;
double r506541 = log(r506540);
double r506542 = r506525 * r506541;
double r506543 = r506538 * r506542;
double r506544 = exp(r506543);
double r506545 = r506544 / r506521;
double r506546 = r506524 / r506521;
double r506547 = 99.0;
double r506548 = r506524 * r506544;
double r506549 = 4.0;
double r506550 = pow(r506521, r506549);
double r506551 = r506548 / r506550;
double r506552 = r506547 * r506551;
double r506553 = 3.0;
double r506554 = pow(r506521, r506553);
double r506555 = r506548 / r506554;
double r506556 = r506532 * r506555;
double r506557 = r506552 - r506556;
double r506558 = fma(r506545, r506546, r506557);
double r506559 = r506523 ? r506537 : r506558;
return r506559;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 8.509642321498123e+117Initial program 0.1
rmApplied sqr-pow0.2
Applied associate-*r*0.2
if 8.509642321498123e+117 < k Initial program 8.4
Taylor expanded around inf 8.4
Simplified0.1
Final simplification0.1
herbie shell --seed 2020059 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))