\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.367410316305712 \cdot 10^{+108}:\\
\;\;\;\;\frac{a}{\frac{1 + \left(k + 10\right) \cdot k}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{m \cdot \log k} \cdot 99}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{a}} + \left(-10 \cdot \frac{e^{m \cdot \log k}}{\frac{k \cdot \left(k \cdot k\right)}{a}} + \frac{\frac{a \cdot e^{m \cdot \log k}}{k}}{k}\right)\\
\end{array}double f(double a, double k, double m) {
double r7781352 = a;
double r7781353 = k;
double r7781354 = m;
double r7781355 = pow(r7781353, r7781354);
double r7781356 = r7781352 * r7781355;
double r7781357 = 1.0;
double r7781358 = 10.0;
double r7781359 = r7781358 * r7781353;
double r7781360 = r7781357 + r7781359;
double r7781361 = r7781353 * r7781353;
double r7781362 = r7781360 + r7781361;
double r7781363 = r7781356 / r7781362;
return r7781363;
}
double f(double a, double k, double m) {
double r7781364 = k;
double r7781365 = 1.367410316305712e+108;
bool r7781366 = r7781364 <= r7781365;
double r7781367 = a;
double r7781368 = 1.0;
double r7781369 = 10.0;
double r7781370 = r7781364 + r7781369;
double r7781371 = r7781370 * r7781364;
double r7781372 = r7781368 + r7781371;
double r7781373 = m;
double r7781374 = pow(r7781364, r7781373);
double r7781375 = r7781372 / r7781374;
double r7781376 = r7781367 / r7781375;
double r7781377 = log(r7781364);
double r7781378 = r7781373 * r7781377;
double r7781379 = exp(r7781378);
double r7781380 = 99.0;
double r7781381 = r7781379 * r7781380;
double r7781382 = r7781364 * r7781364;
double r7781383 = r7781382 * r7781382;
double r7781384 = r7781383 / r7781367;
double r7781385 = r7781381 / r7781384;
double r7781386 = -10.0;
double r7781387 = r7781364 * r7781382;
double r7781388 = r7781387 / r7781367;
double r7781389 = r7781379 / r7781388;
double r7781390 = r7781386 * r7781389;
double r7781391 = r7781367 * r7781379;
double r7781392 = r7781391 / r7781364;
double r7781393 = r7781392 / r7781364;
double r7781394 = r7781390 + r7781393;
double r7781395 = r7781385 + r7781394;
double r7781396 = r7781366 ? r7781376 : r7781395;
return r7781396;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 1.367410316305712e+108Initial program 0.1
Simplified0.0
if 1.367410316305712e+108 < k Initial program 8.2
Simplified8.2
Taylor expanded around inf 8.2
Simplified0.1
Final simplification0.0
herbie shell --seed 2019158
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))