\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 4.309780576654702709208487445056226971465 \cdot 10^{132}:\\
\;\;\;\;\left(a \cdot {k}^{m}\right) \cdot \frac{1}{1 + k \cdot \left(10 + k\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{99 \cdot a}{\frac{{k}^{4}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}} - 10 \cdot \left(\frac{a}{{k}^{3}} \cdot {\left(\frac{1}{k}\right)}^{\left(-m\right)}\right)\right) + \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}\\
\end{array}double f(double a, double k, double m) {
double r270875 = a;
double r270876 = k;
double r270877 = m;
double r270878 = pow(r270876, r270877);
double r270879 = r270875 * r270878;
double r270880 = 1.0;
double r270881 = 10.0;
double r270882 = r270881 * r270876;
double r270883 = r270880 + r270882;
double r270884 = r270876 * r270876;
double r270885 = r270883 + r270884;
double r270886 = r270879 / r270885;
return r270886;
}
double f(double a, double k, double m) {
double r270887 = k;
double r270888 = 4.309780576654703e+132;
bool r270889 = r270887 <= r270888;
double r270890 = a;
double r270891 = m;
double r270892 = pow(r270887, r270891);
double r270893 = r270890 * r270892;
double r270894 = 1.0;
double r270895 = 1.0;
double r270896 = 10.0;
double r270897 = r270896 + r270887;
double r270898 = r270887 * r270897;
double r270899 = r270895 + r270898;
double r270900 = r270894 / r270899;
double r270901 = r270893 * r270900;
double r270902 = 99.0;
double r270903 = r270902 * r270890;
double r270904 = 4.0;
double r270905 = pow(r270887, r270904);
double r270906 = r270894 / r270887;
double r270907 = -r270891;
double r270908 = pow(r270906, r270907);
double r270909 = r270905 / r270908;
double r270910 = r270903 / r270909;
double r270911 = 3.0;
double r270912 = pow(r270887, r270911);
double r270913 = r270890 / r270912;
double r270914 = r270913 * r270908;
double r270915 = r270896 * r270914;
double r270916 = r270910 - r270915;
double r270917 = r270908 / r270887;
double r270918 = r270890 / r270887;
double r270919 = r270917 * r270918;
double r270920 = r270916 + r270919;
double r270921 = r270889 ? r270901 : r270920;
return r270921;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 4.309780576654703e+132Initial program 0.1
rmApplied div-inv0.1
Simplified0.1
if 4.309780576654703e+132 < k Initial program 8.3
rmApplied div-inv8.3
Simplified8.3
rmApplied add-sqr-sqrt8.3
Applied associate-/r*8.3
Simplified8.3
Taylor expanded around inf 8.3
Simplified0.3
Final simplification0.1
herbie shell --seed 2019303
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))