\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.903140954813681112522300916794739229461 \cdot 10^{140}:\\
\;\;\;\;\frac{a}{\frac{\mathsf{fma}\left(k, k + 10, 1\right)}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{a}{k}, \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k}, \mathsf{fma}\left(\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{{k}^{4}} \cdot a, 99, \frac{-{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{\frac{{k}^{3}}{a}} \cdot 10\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r185484 = a;
double r185485 = k;
double r185486 = m;
double r185487 = pow(r185485, r185486);
double r185488 = r185484 * r185487;
double r185489 = 1.0;
double r185490 = 10.0;
double r185491 = r185490 * r185485;
double r185492 = r185489 + r185491;
double r185493 = r185485 * r185485;
double r185494 = r185492 + r185493;
double r185495 = r185488 / r185494;
return r185495;
}
double f(double a, double k, double m) {
double r185496 = k;
double r185497 = 1.9031409548136811e+140;
bool r185498 = r185496 <= r185497;
double r185499 = a;
double r185500 = 10.0;
double r185501 = r185496 + r185500;
double r185502 = 1.0;
double r185503 = fma(r185496, r185501, r185502);
double r185504 = m;
double r185505 = pow(r185496, r185504);
double r185506 = r185503 / r185505;
double r185507 = r185499 / r185506;
double r185508 = r185499 / r185496;
double r185509 = 1.0;
double r185510 = r185509 / r185496;
double r185511 = -r185504;
double r185512 = pow(r185510, r185511);
double r185513 = r185512 / r185496;
double r185514 = 4.0;
double r185515 = pow(r185496, r185514);
double r185516 = r185512 / r185515;
double r185517 = r185516 * r185499;
double r185518 = 99.0;
double r185519 = -r185512;
double r185520 = 3.0;
double r185521 = pow(r185496, r185520);
double r185522 = r185521 / r185499;
double r185523 = r185519 / r185522;
double r185524 = r185523 * r185500;
double r185525 = fma(r185517, r185518, r185524);
double r185526 = fma(r185508, r185513, r185525);
double r185527 = r185498 ? r185507 : r185526;
return r185527;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 1.9031409548136811e+140Initial program 0.1
Simplified0.1
if 1.9031409548136811e+140 < k Initial program 10.1
Simplified10.1
rmApplied clear-num10.1
Simplified10.1
Taylor expanded around inf 10.1
Simplified0.5
Taylor expanded around inf 10.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019196 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))