\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.903140954813681112522300916794739229461 \cdot 10^{140}:\\
\;\;\;\;\frac{a}{\frac{1 + \left(k + 10\right) \cdot k}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{a}{k} \cdot \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} - \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)} \cdot \left(a \cdot 10\right)}{{k}^{3}}\right) + \frac{99 \cdot {\left(\frac{1}{k}\right)}^{\left(-m\right)}}{\frac{{k}^{4}}{a}}\\
\end{array}double f(double a, double k, double m) {
double r218347 = a;
double r218348 = k;
double r218349 = m;
double r218350 = pow(r218348, r218349);
double r218351 = r218347 * r218350;
double r218352 = 1.0;
double r218353 = 10.0;
double r218354 = r218353 * r218348;
double r218355 = r218352 + r218354;
double r218356 = r218348 * r218348;
double r218357 = r218355 + r218356;
double r218358 = r218351 / r218357;
return r218358;
}
double f(double a, double k, double m) {
double r218359 = k;
double r218360 = 1.9031409548136811e+140;
bool r218361 = r218359 <= r218360;
double r218362 = a;
double r218363 = 1.0;
double r218364 = 10.0;
double r218365 = r218359 + r218364;
double r218366 = r218365 * r218359;
double r218367 = r218363 + r218366;
double r218368 = m;
double r218369 = pow(r218359, r218368);
double r218370 = r218367 / r218369;
double r218371 = r218362 / r218370;
double r218372 = r218362 / r218359;
double r218373 = 1.0;
double r218374 = r218373 / r218359;
double r218375 = -r218368;
double r218376 = pow(r218374, r218375);
double r218377 = r218376 / r218359;
double r218378 = r218372 * r218377;
double r218379 = r218362 * r218364;
double r218380 = r218376 * r218379;
double r218381 = 3.0;
double r218382 = pow(r218359, r218381);
double r218383 = r218380 / r218382;
double r218384 = r218378 - r218383;
double r218385 = 99.0;
double r218386 = r218385 * r218376;
double r218387 = 4.0;
double r218388 = pow(r218359, r218387);
double r218389 = r218388 / r218362;
double r218390 = r218386 / r218389;
double r218391 = r218384 + r218390;
double r218392 = r218361 ? r218371 : r218391;
return r218392;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 1.9031409548136811e+140Initial program 0.1
Simplified0.1
if 1.9031409548136811e+140 < k Initial program 10.1
Simplified10.1
rmApplied clear-num10.1
Simplified10.1
Taylor expanded around inf 10.1
Simplified0.3
Final simplification0.1
herbie shell --seed 2019196
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))