\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 105088950.88671506941318511962890625:\\
\;\;\;\;\frac{\sqrt[3]{{k}^{m}} \cdot \sqrt[3]{{k}^{m}}}{\sqrt[3]{\frac{\mathsf{fma}\left(k, k, \mathsf{fma}\left(k, 10, 1\right)\right)}{a}} \cdot \sqrt[3]{\frac{\mathsf{fma}\left(k, k, \mathsf{fma}\left(k, 10, 1\right)\right)}{a}}} \cdot \frac{\sqrt[3]{{k}^{m}}}{\sqrt[3]{\frac{\mathsf{fma}\left(k, k, \mathsf{fma}\left(k, 10, 1\right)\right)}{a}}}\\
\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 r327555 = a;
double r327556 = k;
double r327557 = m;
double r327558 = pow(r327556, r327557);
double r327559 = r327555 * r327558;
double r327560 = 1.0;
double r327561 = 10.0;
double r327562 = r327561 * r327556;
double r327563 = r327560 + r327562;
double r327564 = r327556 * r327556;
double r327565 = r327563 + r327564;
double r327566 = r327559 / r327565;
return r327566;
}
double f(double a, double k, double m) {
double r327567 = k;
double r327568 = 105088950.88671507;
bool r327569 = r327567 <= r327568;
double r327570 = m;
double r327571 = pow(r327567, r327570);
double r327572 = cbrt(r327571);
double r327573 = r327572 * r327572;
double r327574 = 10.0;
double r327575 = 1.0;
double r327576 = fma(r327567, r327574, r327575);
double r327577 = fma(r327567, r327567, r327576);
double r327578 = a;
double r327579 = r327577 / r327578;
double r327580 = cbrt(r327579);
double r327581 = r327580 * r327580;
double r327582 = r327573 / r327581;
double r327583 = r327572 / r327580;
double r327584 = r327582 * r327583;
double r327585 = -1.0;
double r327586 = 1.0;
double r327587 = r327586 / r327567;
double r327588 = log(r327587);
double r327589 = r327570 * r327588;
double r327590 = r327585 * r327589;
double r327591 = exp(r327590);
double r327592 = r327591 / r327567;
double r327593 = r327578 / r327567;
double r327594 = 99.0;
double r327595 = r327578 * r327591;
double r327596 = 4.0;
double r327597 = pow(r327567, r327596);
double r327598 = r327595 / r327597;
double r327599 = r327594 * r327598;
double r327600 = 3.0;
double r327601 = pow(r327567, r327600);
double r327602 = r327595 / r327601;
double r327603 = r327574 * r327602;
double r327604 = r327599 - r327603;
double r327605 = fma(r327592, r327593, r327604);
double r327606 = r327569 ? r327584 : r327605;
return r327606;
}



Bits error versus a



Bits error versus k



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