\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 3.8747336102714864 \cdot 10^{+70}:\\
\;\;\;\;\frac{{k}^{m} \cdot a}{\mathsf{fma}\left(k + 10, k, 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{99}{k \cdot k}, \frac{e^{m \cdot \log k}}{k} \cdot \frac{a}{k}, \mathsf{fma}\left(\frac{e^{m \cdot \log k}}{k}, \frac{a}{k}, \frac{e^{m \cdot \log k}}{\frac{k \cdot k}{\frac{a}{k}}} \cdot -10\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r7291974 = a;
double r7291975 = k;
double r7291976 = m;
double r7291977 = pow(r7291975, r7291976);
double r7291978 = r7291974 * r7291977;
double r7291979 = 1.0;
double r7291980 = 10.0;
double r7291981 = r7291980 * r7291975;
double r7291982 = r7291979 + r7291981;
double r7291983 = r7291975 * r7291975;
double r7291984 = r7291982 + r7291983;
double r7291985 = r7291978 / r7291984;
return r7291985;
}
double f(double a, double k, double m) {
double r7291986 = k;
double r7291987 = 3.8747336102714864e+70;
bool r7291988 = r7291986 <= r7291987;
double r7291989 = m;
double r7291990 = pow(r7291986, r7291989);
double r7291991 = a;
double r7291992 = r7291990 * r7291991;
double r7291993 = 10.0;
double r7291994 = r7291986 + r7291993;
double r7291995 = 1.0;
double r7291996 = fma(r7291994, r7291986, r7291995);
double r7291997 = r7291992 / r7291996;
double r7291998 = 99.0;
double r7291999 = r7291986 * r7291986;
double r7292000 = r7291998 / r7291999;
double r7292001 = log(r7291986);
double r7292002 = r7291989 * r7292001;
double r7292003 = exp(r7292002);
double r7292004 = r7292003 / r7291986;
double r7292005 = r7291991 / r7291986;
double r7292006 = r7292004 * r7292005;
double r7292007 = r7291999 / r7292005;
double r7292008 = r7292003 / r7292007;
double r7292009 = -10.0;
double r7292010 = r7292008 * r7292009;
double r7292011 = fma(r7292004, r7292005, r7292010);
double r7292012 = fma(r7292000, r7292006, r7292011);
double r7292013 = r7291988 ? r7291997 : r7292012;
return r7292013;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 3.8747336102714864e+70Initial program 0.1
Simplified0.0
if 3.8747336102714864e+70 < k Initial program 6.6
Simplified6.6
Taylor expanded around -inf 63.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019135 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))