\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 6372440.796403578482568264007568359375:\\
\;\;\;\;\frac{\frac{a}{\sqrt{\mathsf{fma}\left(k, k + 10, 1\right)}}}{\frac{\sqrt{\mathsf{fma}\left(k, k + 10, 1\right)}}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k}, \frac{a}{k}, \mathsf{fma}\left(\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{\frac{{k}^{4}}{a}}, 99, \frac{\left(-{\left(\frac{1}{k}\right)}^{\left(-m\right)}\right) \cdot 10}{\frac{{k}^{3}}{a}}\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r152581 = a;
double r152582 = k;
double r152583 = m;
double r152584 = pow(r152582, r152583);
double r152585 = r152581 * r152584;
double r152586 = 1.0;
double r152587 = 10.0;
double r152588 = r152587 * r152582;
double r152589 = r152586 + r152588;
double r152590 = r152582 * r152582;
double r152591 = r152589 + r152590;
double r152592 = r152585 / r152591;
return r152592;
}
double f(double a, double k, double m) {
double r152593 = k;
double r152594 = 6372440.7964035785;
bool r152595 = r152593 <= r152594;
double r152596 = a;
double r152597 = 10.0;
double r152598 = r152593 + r152597;
double r152599 = 1.0;
double r152600 = fma(r152593, r152598, r152599);
double r152601 = sqrt(r152600);
double r152602 = r152596 / r152601;
double r152603 = m;
double r152604 = pow(r152593, r152603);
double r152605 = r152601 / r152604;
double r152606 = r152602 / r152605;
double r152607 = 1.0;
double r152608 = r152607 / r152593;
double r152609 = -r152603;
double r152610 = pow(r152608, r152609);
double r152611 = r152610 / r152593;
double r152612 = r152596 / r152593;
double r152613 = 4.0;
double r152614 = pow(r152593, r152613);
double r152615 = r152614 / r152596;
double r152616 = r152610 / r152615;
double r152617 = 99.0;
double r152618 = -r152610;
double r152619 = r152618 * r152597;
double r152620 = 3.0;
double r152621 = pow(r152593, r152620);
double r152622 = r152621 / r152596;
double r152623 = r152619 / r152622;
double r152624 = fma(r152616, r152617, r152623);
double r152625 = fma(r152611, r152612, r152624);
double r152626 = r152595 ? r152606 : r152625;
return r152626;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 6372440.7964035785Initial program 0.1
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied unpow-prod-down0.0
Applied add-sqr-sqrt0.1
Applied times-frac0.1
Applied associate-/r*0.1
Simplified0.1
if 6372440.7964035785 < k Initial program 5.5
Simplified5.5
rmApplied clear-num5.7
Simplified5.7
Taylor expanded around inf 5.5
Simplified0.1
Final simplification0.1
herbie shell --seed 2019194 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))