\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1102949897341434463860001093892983226368:\\
\;\;\;\;\frac{{k}^{\left(\frac{m}{2}\right)}}{\frac{\frac{\mathsf{fma}\left(k, k, \mathsf{fma}\left(k, 10, 1\right)\right)}{a}}{{k}^{\left(\frac{m}{2}\right)}}}\\
\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 r388382 = a;
double r388383 = k;
double r388384 = m;
double r388385 = pow(r388383, r388384);
double r388386 = r388382 * r388385;
double r388387 = 1.0;
double r388388 = 10.0;
double r388389 = r388388 * r388383;
double r388390 = r388387 + r388389;
double r388391 = r388383 * r388383;
double r388392 = r388390 + r388391;
double r388393 = r388386 / r388392;
return r388393;
}
double f(double a, double k, double m) {
double r388394 = k;
double r388395 = 1.1029498973414345e+39;
bool r388396 = r388394 <= r388395;
double r388397 = m;
double r388398 = 2.0;
double r388399 = r388397 / r388398;
double r388400 = pow(r388394, r388399);
double r388401 = 10.0;
double r388402 = 1.0;
double r388403 = fma(r388394, r388401, r388402);
double r388404 = fma(r388394, r388394, r388403);
double r388405 = a;
double r388406 = r388404 / r388405;
double r388407 = r388406 / r388400;
double r388408 = r388400 / r388407;
double r388409 = -1.0;
double r388410 = 1.0;
double r388411 = r388410 / r388394;
double r388412 = log(r388411);
double r388413 = r388397 * r388412;
double r388414 = r388409 * r388413;
double r388415 = exp(r388414);
double r388416 = r388415 / r388394;
double r388417 = r388405 / r388394;
double r388418 = 99.0;
double r388419 = r388405 * r388415;
double r388420 = 4.0;
double r388421 = pow(r388394, r388420);
double r388422 = r388419 / r388421;
double r388423 = r388418 * r388422;
double r388424 = 3.0;
double r388425 = pow(r388394, r388424);
double r388426 = r388419 / r388425;
double r388427 = r388401 * r388426;
double r388428 = r388423 - r388427;
double r388429 = fma(r388416, r388417, r388428);
double r388430 = r388396 ? r388408 : r388429;
return r388430;
}



Bits error versus a



Bits error versus k



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