\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 5.413206367433749081791782278643320672943 \cdot 10^{73}:\\
\;\;\;\;\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{e^{m \cdot \log k}}{k}, \frac{a}{k}, \mathsf{fma}\left(\frac{99}{k \cdot k}, \frac{a}{k} \cdot \frac{e^{m \cdot \log k}}{k}, \left(-\frac{10}{k}\right) \cdot \left(\frac{a}{k} \cdot \frac{e^{m \cdot \log k}}{k}\right)\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r7553551 = a;
double r7553552 = k;
double r7553553 = m;
double r7553554 = pow(r7553552, r7553553);
double r7553555 = r7553551 * r7553554;
double r7553556 = 1.0;
double r7553557 = 10.0;
double r7553558 = r7553557 * r7553552;
double r7553559 = r7553556 + r7553558;
double r7553560 = r7553552 * r7553552;
double r7553561 = r7553559 + r7553560;
double r7553562 = r7553555 / r7553561;
return r7553562;
}
double f(double a, double k, double m) {
double r7553563 = k;
double r7553564 = 5.413206367433749e+73;
bool r7553565 = r7553563 <= r7553564;
double r7553566 = cbrt(r7553563);
double r7553567 = m;
double r7553568 = pow(r7553566, r7553567);
double r7553569 = a;
double r7553570 = r7553566 * r7553566;
double r7553571 = pow(r7553570, r7553567);
double r7553572 = r7553569 * r7553571;
double r7553573 = r7553568 * r7553572;
double r7553574 = 10.0;
double r7553575 = r7553574 * r7553563;
double r7553576 = 1.0;
double r7553577 = r7553575 + r7553576;
double r7553578 = r7553563 * r7553563;
double r7553579 = r7553577 + r7553578;
double r7553580 = r7553573 / r7553579;
double r7553581 = log(r7553563);
double r7553582 = r7553567 * r7553581;
double r7553583 = exp(r7553582);
double r7553584 = r7553583 / r7553563;
double r7553585 = r7553569 / r7553563;
double r7553586 = 99.0;
double r7553587 = r7553586 / r7553578;
double r7553588 = r7553585 * r7553584;
double r7553589 = r7553574 / r7553563;
double r7553590 = -r7553589;
double r7553591 = r7553590 * r7553588;
double r7553592 = fma(r7553587, r7553588, r7553591);
double r7553593 = fma(r7553584, r7553585, r7553592);
double r7553594 = r7553565 ? r7553580 : r7553593;
return r7553594;
}



Bits error versus a



Bits error versus k



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