\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 2.560125379463957 \cdot 10^{+64}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{1 + \left(k + 10\right) \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\left(\frac{99}{k \cdot k}\right), \left(\frac{\frac{a}{k}}{k} \cdot e^{m \cdot \log k}\right), \left(-10 \cdot \left(\frac{e^{m \cdot \log k}}{k \cdot k} \cdot \frac{a}{k}\right)\right)\right) + \frac{\frac{a}{k}}{k} \cdot e^{m \cdot \log k}\\
\end{array}double f(double a, double k, double m) {
double r5685527 = a;
double r5685528 = k;
double r5685529 = m;
double r5685530 = pow(r5685528, r5685529);
double r5685531 = r5685527 * r5685530;
double r5685532 = 1.0;
double r5685533 = 10.0;
double r5685534 = r5685533 * r5685528;
double r5685535 = r5685532 + r5685534;
double r5685536 = r5685528 * r5685528;
double r5685537 = r5685535 + r5685536;
double r5685538 = r5685531 / r5685537;
return r5685538;
}
double f(double a, double k, double m) {
double r5685539 = k;
double r5685540 = 2.560125379463957e+64;
bool r5685541 = r5685539 <= r5685540;
double r5685542 = a;
double r5685543 = m;
double r5685544 = pow(r5685539, r5685543);
double r5685545 = r5685542 * r5685544;
double r5685546 = 1.0;
double r5685547 = 10.0;
double r5685548 = r5685539 + r5685547;
double r5685549 = r5685548 * r5685539;
double r5685550 = r5685546 + r5685549;
double r5685551 = r5685545 / r5685550;
double r5685552 = 99.0;
double r5685553 = r5685539 * r5685539;
double r5685554 = r5685552 / r5685553;
double r5685555 = r5685542 / r5685539;
double r5685556 = r5685555 / r5685539;
double r5685557 = log(r5685539);
double r5685558 = r5685543 * r5685557;
double r5685559 = exp(r5685558);
double r5685560 = r5685556 * r5685559;
double r5685561 = -10.0;
double r5685562 = r5685559 / r5685553;
double r5685563 = r5685562 * r5685555;
double r5685564 = r5685561 * r5685563;
double r5685565 = fma(r5685554, r5685560, r5685564);
double r5685566 = r5685565 + r5685560;
double r5685567 = r5685541 ? r5685551 : r5685566;
return r5685567;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 2.560125379463957e+64Initial program 0.1
rmApplied associate-+l+0.1
Simplified0.0
if 2.560125379463957e+64 < k Initial program 6.3
rmApplied associate-+l+6.3
Simplified6.3
Taylor expanded around -inf 63.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019130 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))