\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 8.76655995467873426 \cdot 10^{84}:\\
\;\;\;\;\left(a \cdot {k}^{m}\right) \cdot \frac{1}{\mathsf{fma}\left(k, k, \mathsf{fma}\left(10, k, 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(99, \frac{{\left({\left(\frac{1}{k}\right)}^{\frac{-2}{3}}\right)}^{m} \cdot a}{\frac{{k}^{4}}{{\left({\left(\frac{1}{k}\right)}^{\frac{-1}{3}}\right)}^{m}}}, \frac{{\left({\left(\frac{1}{k}\right)}^{\frac{-2}{3}}\right)}^{m} \cdot a}{k} \cdot \frac{{\left({\left(\frac{1}{k}\right)}^{\frac{-1}{3}}\right)}^{m}}{k} - \frac{10 \cdot \left(\left({\left({\left(\frac{1}{k}\right)}^{\frac{-2}{3}}\right)}^{m} \cdot a\right) \cdot {\left({\left(\frac{1}{k}\right)}^{\frac{-1}{3}}\right)}^{m}\right)}{{k}^{3}}\right)\\
\end{array}double f(double a, double k, double m) {
double r176694 = a;
double r176695 = k;
double r176696 = m;
double r176697 = pow(r176695, r176696);
double r176698 = r176694 * r176697;
double r176699 = 1.0;
double r176700 = 10.0;
double r176701 = r176700 * r176695;
double r176702 = r176699 + r176701;
double r176703 = r176695 * r176695;
double r176704 = r176702 + r176703;
double r176705 = r176698 / r176704;
return r176705;
}
double f(double a, double k, double m) {
double r176706 = k;
double r176707 = 8.766559954678734e+84;
bool r176708 = r176706 <= r176707;
double r176709 = a;
double r176710 = m;
double r176711 = pow(r176706, r176710);
double r176712 = r176709 * r176711;
double r176713 = 1.0;
double r176714 = 10.0;
double r176715 = 1.0;
double r176716 = fma(r176714, r176706, r176715);
double r176717 = fma(r176706, r176706, r176716);
double r176718 = r176713 / r176717;
double r176719 = r176712 * r176718;
double r176720 = 99.0;
double r176721 = r176713 / r176706;
double r176722 = -0.6666666666666666;
double r176723 = pow(r176721, r176722);
double r176724 = pow(r176723, r176710);
double r176725 = r176724 * r176709;
double r176726 = 4.0;
double r176727 = pow(r176706, r176726);
double r176728 = -0.3333333333333333;
double r176729 = pow(r176721, r176728);
double r176730 = pow(r176729, r176710);
double r176731 = r176727 / r176730;
double r176732 = r176725 / r176731;
double r176733 = r176725 / r176706;
double r176734 = r176730 / r176706;
double r176735 = r176733 * r176734;
double r176736 = r176725 * r176730;
double r176737 = r176714 * r176736;
double r176738 = 3.0;
double r176739 = pow(r176706, r176738);
double r176740 = r176737 / r176739;
double r176741 = r176735 - r176740;
double r176742 = fma(r176720, r176732, r176741);
double r176743 = r176708 ? r176719 : r176742;
return r176743;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 8.766559954678734e+84Initial program 0.1
rmApplied div-inv0.1
Simplified0.0
if 8.766559954678734e+84 < k Initial program 7.0
rmApplied add-cube-cbrt7.0
Applied unpow-prod-down7.0
Applied associate-*r*7.0
Taylor expanded around inf 7.0
Simplified0.2
Final simplification0.1
herbie shell --seed 2020064 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))