\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 2657436.09214870585:\\
\;\;\;\;\frac{a}{\sqrt[3]{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot \sqrt[3]{\left(1 + 10 \cdot k\right) + k \cdot k}} \cdot \frac{{k}^{m}}{\sqrt[3]{\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 r161511 = a;
double r161512 = k;
double r161513 = m;
double r161514 = pow(r161512, r161513);
double r161515 = r161511 * r161514;
double r161516 = 1.0;
double r161517 = 10.0;
double r161518 = r161517 * r161512;
double r161519 = r161516 + r161518;
double r161520 = r161512 * r161512;
double r161521 = r161519 + r161520;
double r161522 = r161515 / r161521;
return r161522;
}
double f(double a, double k, double m) {
double r161523 = k;
double r161524 = 2657436.092148706;
bool r161525 = r161523 <= r161524;
double r161526 = a;
double r161527 = 1.0;
double r161528 = 10.0;
double r161529 = r161528 * r161523;
double r161530 = r161527 + r161529;
double r161531 = r161523 * r161523;
double r161532 = r161530 + r161531;
double r161533 = cbrt(r161532);
double r161534 = r161533 * r161533;
double r161535 = r161526 / r161534;
double r161536 = m;
double r161537 = pow(r161523, r161536);
double r161538 = r161537 / r161533;
double r161539 = r161535 * r161538;
double r161540 = -1.0;
double r161541 = 1.0;
double r161542 = r161541 / r161523;
double r161543 = log(r161542);
double r161544 = r161536 * r161543;
double r161545 = r161540 * r161544;
double r161546 = exp(r161545);
double r161547 = r161546 / r161523;
double r161548 = r161526 / r161523;
double r161549 = 99.0;
double r161550 = r161526 * r161546;
double r161551 = 4.0;
double r161552 = pow(r161523, r161551);
double r161553 = r161550 / r161552;
double r161554 = r161549 * r161553;
double r161555 = 3.0;
double r161556 = pow(r161523, r161555);
double r161557 = r161550 / r161556;
double r161558 = r161528 * r161557;
double r161559 = r161554 - r161558;
double r161560 = fma(r161547, r161548, r161559);
double r161561 = r161525 ? r161539 : r161560;
return r161561;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 2657436.092148706Initial program 0.0
rmApplied add-cube-cbrt0.1
Applied times-frac0.1
if 2657436.092148706 < k Initial program 5.4
Taylor expanded around inf 5.4
Simplified0.2
Final simplification0.1
herbie shell --seed 2020027 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))