\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 7.008944406089647 \cdot 10^{+111}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot \left({k}^{m} \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{99}{k \cdot k} - \frac{10}{k}\right) \cdot \left(\frac{e^{\log k \cdot m}}{k} \cdot \frac{a}{k}\right) + \frac{e^{\log k \cdot m}}{k} \cdot \frac{a}{k}\\
\end{array}double f(double a, double k, double m) {
double r7909952 = a;
double r7909953 = k;
double r7909954 = m;
double r7909955 = pow(r7909953, r7909954);
double r7909956 = r7909952 * r7909955;
double r7909957 = 1.0;
double r7909958 = 10.0;
double r7909959 = r7909958 * r7909953;
double r7909960 = r7909957 + r7909959;
double r7909961 = r7909953 * r7909953;
double r7909962 = r7909960 + r7909961;
double r7909963 = r7909956 / r7909962;
return r7909963;
}
double f(double a, double k, double m) {
double r7909964 = k;
double r7909965 = 7.008944406089647e+111;
bool r7909966 = r7909964 <= r7909965;
double r7909967 = 1.0;
double r7909968 = 10.0;
double r7909969 = r7909964 + r7909968;
double r7909970 = fma(r7909964, r7909969, r7909967);
double r7909971 = r7909967 / r7909970;
double r7909972 = m;
double r7909973 = pow(r7909964, r7909972);
double r7909974 = a;
double r7909975 = r7909973 * r7909974;
double r7909976 = r7909971 * r7909975;
double r7909977 = 99.0;
double r7909978 = r7909964 * r7909964;
double r7909979 = r7909977 / r7909978;
double r7909980 = r7909968 / r7909964;
double r7909981 = r7909979 - r7909980;
double r7909982 = log(r7909964);
double r7909983 = r7909982 * r7909972;
double r7909984 = exp(r7909983);
double r7909985 = r7909984 / r7909964;
double r7909986 = r7909974 / r7909964;
double r7909987 = r7909985 * r7909986;
double r7909988 = r7909981 * r7909987;
double r7909989 = r7909988 + r7909987;
double r7909990 = r7909966 ? r7909976 : r7909989;
return r7909990;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 7.008944406089647e+111Initial program 0.1
Simplified0.0
rmApplied div-inv0.1
if 7.008944406089647e+111 < k Initial program 7.3
Simplified7.3
rmApplied div-inv7.3
Taylor expanded around -inf 63.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019151 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))