\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 4.388047209286606508977160450051085339464 \cdot 10^{139}:\\
\;\;\;\;\frac{\left(a \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{99 \cdot a}{\frac{{k}^{4}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}} + \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}\right) - 10 \cdot \left(\frac{a}{{k}^{3}} \cdot {\left(\frac{1}{k}\right)}^{\left(-m\right)}\right)\\
\end{array}double f(double a, double k, double m) {
double r174338 = a;
double r174339 = k;
double r174340 = m;
double r174341 = pow(r174339, r174340);
double r174342 = r174338 * r174341;
double r174343 = 1.0;
double r174344 = 10.0;
double r174345 = r174344 * r174339;
double r174346 = r174343 + r174345;
double r174347 = r174339 * r174339;
double r174348 = r174346 + r174347;
double r174349 = r174342 / r174348;
return r174349;
}
double f(double a, double k, double m) {
double r174350 = k;
double r174351 = 4.3880472092866065e+139;
bool r174352 = r174350 <= r174351;
double r174353 = a;
double r174354 = cbrt(r174350);
double r174355 = r174354 * r174354;
double r174356 = m;
double r174357 = pow(r174355, r174356);
double r174358 = r174353 * r174357;
double r174359 = pow(r174354, r174356);
double r174360 = r174358 * r174359;
double r174361 = 1.0;
double r174362 = 10.0;
double r174363 = r174362 * r174350;
double r174364 = r174361 + r174363;
double r174365 = r174350 * r174350;
double r174366 = r174364 + r174365;
double r174367 = r174360 / r174366;
double r174368 = 99.0;
double r174369 = r174368 * r174353;
double r174370 = 4.0;
double r174371 = pow(r174350, r174370);
double r174372 = 1.0;
double r174373 = r174372 / r174350;
double r174374 = -r174356;
double r174375 = pow(r174373, r174374);
double r174376 = r174371 / r174375;
double r174377 = r174369 / r174376;
double r174378 = r174375 / r174350;
double r174379 = r174353 / r174350;
double r174380 = r174378 * r174379;
double r174381 = r174377 + r174380;
double r174382 = 3.0;
double r174383 = pow(r174350, r174382);
double r174384 = r174353 / r174383;
double r174385 = r174384 * r174375;
double r174386 = r174362 * r174385;
double r174387 = r174381 - r174386;
double r174388 = r174352 ? r174367 : r174387;
return r174388;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 4.3880472092866065e+139Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied unpow-prod-down0.1
Applied associate-*r*0.1
if 4.3880472092866065e+139 < k Initial program 9.6
rmApplied clear-num9.7
Simplified9.7
Taylor expanded around inf 9.6
Simplified0.2
Final simplification0.1
herbie shell --seed 2019235
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))