\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 8.663816625552649 \cdot 10^{+141}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{k \cdot k + \left(k \cdot 10 + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{e^{m \cdot \log k}}{\frac{k \cdot k}{\frac{a}{k}}}, -10, \mathsf{fma}\left(\frac{e^{m \cdot \log k}}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{a}}, 99, \frac{e^{m \cdot \log k}}{\frac{k}{\frac{a}{k}}}\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r6555015 = a;
double r6555016 = k;
double r6555017 = m;
double r6555018 = pow(r6555016, r6555017);
double r6555019 = r6555015 * r6555018;
double r6555020 = 1.0;
double r6555021 = 10.0;
double r6555022 = r6555021 * r6555016;
double r6555023 = r6555020 + r6555022;
double r6555024 = r6555016 * r6555016;
double r6555025 = r6555023 + r6555024;
double r6555026 = r6555019 / r6555025;
return r6555026;
}
double f(double a, double k, double m) {
double r6555027 = k;
double r6555028 = 8.663816625552649e+141;
bool r6555029 = r6555027 <= r6555028;
double r6555030 = a;
double r6555031 = m;
double r6555032 = pow(r6555027, r6555031);
double r6555033 = r6555030 * r6555032;
double r6555034 = r6555027 * r6555027;
double r6555035 = 10.0;
double r6555036 = r6555027 * r6555035;
double r6555037 = 1.0;
double r6555038 = r6555036 + r6555037;
double r6555039 = r6555034 + r6555038;
double r6555040 = r6555033 / r6555039;
double r6555041 = log(r6555027);
double r6555042 = r6555031 * r6555041;
double r6555043 = exp(r6555042);
double r6555044 = r6555030 / r6555027;
double r6555045 = r6555034 / r6555044;
double r6555046 = r6555043 / r6555045;
double r6555047 = -10.0;
double r6555048 = r6555034 * r6555034;
double r6555049 = r6555048 / r6555030;
double r6555050 = r6555043 / r6555049;
double r6555051 = 99.0;
double r6555052 = r6555027 / r6555044;
double r6555053 = r6555043 / r6555052;
double r6555054 = fma(r6555050, r6555051, r6555053);
double r6555055 = fma(r6555046, r6555047, r6555054);
double r6555056 = r6555029 ? r6555040 : r6555055;
return r6555056;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 8.663816625552649e+141Initial program 0.1
if 8.663816625552649e+141 < k Initial program 9.8
rmApplied add-cbrt-cube10.8
Simplified10.8
Taylor expanded around inf 9.8
Simplified0.5
Final simplification0.2
herbie shell --seed 2019152 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))