\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 2.644804131784438182966251801689399295046 \cdot 10^{130}:\\
\;\;\;\;\frac{{\left(\sqrt[3]{k}\right)}^{m} \cdot \left(a \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right)}{\left(10 \cdot k + 1\right) + k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{-{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{\frac{{k}^{3}}{a}}, 10, \mathsf{fma}\left(\frac{a}{k}, \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k}, \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)} \cdot a}{{k}^{4}} \cdot 99\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r233445 = a;
double r233446 = k;
double r233447 = m;
double r233448 = pow(r233446, r233447);
double r233449 = r233445 * r233448;
double r233450 = 1.0;
double r233451 = 10.0;
double r233452 = r233451 * r233446;
double r233453 = r233450 + r233452;
double r233454 = r233446 * r233446;
double r233455 = r233453 + r233454;
double r233456 = r233449 / r233455;
return r233456;
}
double f(double a, double k, double m) {
double r233457 = k;
double r233458 = 2.644804131784438e+130;
bool r233459 = r233457 <= r233458;
double r233460 = cbrt(r233457);
double r233461 = m;
double r233462 = pow(r233460, r233461);
double r233463 = a;
double r233464 = r233460 * r233460;
double r233465 = pow(r233464, r233461);
double r233466 = r233463 * r233465;
double r233467 = r233462 * r233466;
double r233468 = 10.0;
double r233469 = r233468 * r233457;
double r233470 = 1.0;
double r233471 = r233469 + r233470;
double r233472 = r233457 * r233457;
double r233473 = r233471 + r233472;
double r233474 = r233467 / r233473;
double r233475 = 1.0;
double r233476 = r233475 / r233457;
double r233477 = -r233461;
double r233478 = pow(r233476, r233477);
double r233479 = -r233478;
double r233480 = 3.0;
double r233481 = pow(r233457, r233480);
double r233482 = r233481 / r233463;
double r233483 = r233479 / r233482;
double r233484 = r233463 / r233457;
double r233485 = r233478 / r233457;
double r233486 = r233478 * r233463;
double r233487 = 4.0;
double r233488 = pow(r233457, r233487);
double r233489 = r233486 / r233488;
double r233490 = 99.0;
double r233491 = r233489 * r233490;
double r233492 = fma(r233484, r233485, r233491);
double r233493 = fma(r233483, r233468, r233492);
double r233494 = r233459 ? r233474 : r233493;
return r233494;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 2.644804131784438e+130Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied unpow-prod-down0.1
Applied associate-*r*0.1
Simplified0.1
if 2.644804131784438e+130 < k Initial program 8.2
Taylor expanded around inf 8.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019179 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))