\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 + 10, k, 1\right)} \cdot \left({k}^{m} \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{99}{k \cdot k}, \frac{a}{k} \cdot \frac{e^{m \cdot \log k}}{k}, \mathsf{fma}\left(\frac{a}{k}, \frac{e^{m \cdot \log k}}{k}, \left(\frac{a}{k \cdot k} \cdot \frac{e^{m \cdot \log k}}{k}\right) \cdot -10\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r3218149 = a;
double r3218150 = k;
double r3218151 = m;
double r3218152 = pow(r3218150, r3218151);
double r3218153 = r3218149 * r3218152;
double r3218154 = 1.0;
double r3218155 = 10.0;
double r3218156 = r3218155 * r3218150;
double r3218157 = r3218154 + r3218156;
double r3218158 = r3218150 * r3218150;
double r3218159 = r3218157 + r3218158;
double r3218160 = r3218153 / r3218159;
return r3218160;
}
double f(double a, double k, double m) {
double r3218161 = k;
double r3218162 = 7.008944406089647e+111;
bool r3218163 = r3218161 <= r3218162;
double r3218164 = 1.0;
double r3218165 = 10.0;
double r3218166 = r3218161 + r3218165;
double r3218167 = fma(r3218166, r3218161, r3218164);
double r3218168 = r3218164 / r3218167;
double r3218169 = m;
double r3218170 = pow(r3218161, r3218169);
double r3218171 = a;
double r3218172 = r3218170 * r3218171;
double r3218173 = r3218168 * r3218172;
double r3218174 = 99.0;
double r3218175 = r3218161 * r3218161;
double r3218176 = r3218174 / r3218175;
double r3218177 = r3218171 / r3218161;
double r3218178 = log(r3218161);
double r3218179 = r3218169 * r3218178;
double r3218180 = exp(r3218179);
double r3218181 = r3218180 / r3218161;
double r3218182 = r3218177 * r3218181;
double r3218183 = r3218171 / r3218175;
double r3218184 = r3218183 * r3218181;
double r3218185 = -10.0;
double r3218186 = r3218184 * r3218185;
double r3218187 = fma(r3218177, r3218181, r3218186);
double r3218188 = fma(r3218176, r3218182, r3218187);
double r3218189 = r3218163 ? r3218173 : r3218188;
return r3218189;
}



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
Taylor expanded around inf 7.3
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))))