\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.442302470468942821043172495313077911614 \cdot 10^{138}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{a}{k}, \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k}, \mathsf{fma}\left(99, \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{\frac{{k}^{4}}{a}}, \left(-10\right) \cdot \left(\frac{a}{{k}^{3}} \cdot {\left(\frac{1}{k}\right)}^{\left(-m\right)}\right)\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r190021 = a;
double r190022 = k;
double r190023 = m;
double r190024 = pow(r190022, r190023);
double r190025 = r190021 * r190024;
double r190026 = 1.0;
double r190027 = 10.0;
double r190028 = r190027 * r190022;
double r190029 = r190026 + r190028;
double r190030 = r190022 * r190022;
double r190031 = r190029 + r190030;
double r190032 = r190025 / r190031;
return r190032;
}
double f(double a, double k, double m) {
double r190033 = k;
double r190034 = 1.4423024704689428e+138;
bool r190035 = r190033 <= r190034;
double r190036 = a;
double r190037 = m;
double r190038 = pow(r190033, r190037);
double r190039 = r190036 * r190038;
double r190040 = 1.0;
double r190041 = 10.0;
double r190042 = r190041 * r190033;
double r190043 = r190040 + r190042;
double r190044 = r190033 * r190033;
double r190045 = r190043 + r190044;
double r190046 = r190039 / r190045;
double r190047 = r190036 / r190033;
double r190048 = 1.0;
double r190049 = r190048 / r190033;
double r190050 = -r190037;
double r190051 = pow(r190049, r190050);
double r190052 = r190051 / r190033;
double r190053 = 99.0;
double r190054 = 4.0;
double r190055 = pow(r190033, r190054);
double r190056 = r190055 / r190036;
double r190057 = r190051 / r190056;
double r190058 = -r190041;
double r190059 = 3.0;
double r190060 = pow(r190033, r190059);
double r190061 = r190036 / r190060;
double r190062 = r190061 * r190051;
double r190063 = r190058 * r190062;
double r190064 = fma(r190053, r190057, r190063);
double r190065 = fma(r190047, r190052, r190064);
double r190066 = r190035 ? r190046 : r190065;
return r190066;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 1.4423024704689428e+138Initial program 0.1
if 1.4423024704689428e+138 < k Initial program 8.9
rmApplied add-sqr-sqrt8.9
Applied associate-/r*8.9
Simplified8.9
rmApplied add-cbrt-cube11.3
Simplified11.3
Taylor expanded around inf 8.9
Simplified0.1
Final simplification0.1
herbie shell --seed 2019325 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))