\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.8029813469456922 \cdot 10^{38}:\\
\;\;\;\;\left(\left(a \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}\right) \cdot \frac{2}{\mathsf{fma}\left(k, k, \mathsf{fma}\left(k, 10, 1\right)\right) \cdot 2}\\
\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 r282842 = a;
double r282843 = k;
double r282844 = m;
double r282845 = pow(r282843, r282844);
double r282846 = r282842 * r282845;
double r282847 = 1.0;
double r282848 = 10.0;
double r282849 = r282848 * r282843;
double r282850 = r282847 + r282849;
double r282851 = r282843 * r282843;
double r282852 = r282850 + r282851;
double r282853 = r282846 / r282852;
return r282853;
}
double f(double a, double k, double m) {
double r282854 = k;
double r282855 = 1.8029813469456922e+38;
bool r282856 = r282854 <= r282855;
double r282857 = a;
double r282858 = cbrt(r282854);
double r282859 = r282858 * r282858;
double r282860 = m;
double r282861 = pow(r282859, r282860);
double r282862 = r282857 * r282861;
double r282863 = pow(r282858, r282860);
double r282864 = r282862 * r282863;
double r282865 = 2.0;
double r282866 = 10.0;
double r282867 = 1.0;
double r282868 = fma(r282854, r282866, r282867);
double r282869 = fma(r282854, r282854, r282868);
double r282870 = r282869 * r282865;
double r282871 = r282865 / r282870;
double r282872 = r282864 * r282871;
double r282873 = -1.0;
double r282874 = 1.0;
double r282875 = r282874 / r282854;
double r282876 = log(r282875);
double r282877 = r282860 * r282876;
double r282878 = r282873 * r282877;
double r282879 = exp(r282878);
double r282880 = r282879 / r282854;
double r282881 = r282857 / r282854;
double r282882 = 99.0;
double r282883 = r282857 * r282879;
double r282884 = 4.0;
double r282885 = pow(r282854, r282884);
double r282886 = r282883 / r282885;
double r282887 = r282882 * r282886;
double r282888 = 3.0;
double r282889 = pow(r282854, r282888);
double r282890 = r282883 / r282889;
double r282891 = r282866 * r282890;
double r282892 = r282887 - r282891;
double r282893 = fma(r282880, r282881, r282892);
double r282894 = r282856 ? r282872 : r282893;
return r282894;
}



Bits error versus a



Bits error versus k



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