\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.10852634570662716 \cdot 10^{69}:\\
\;\;\;\;\left(\left(a \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}\right) \cdot \frac{1}{\mathsf{fma}\left(k, k, \mathsf{fma}\left(10, k, 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k}, \frac{a}{k}, 99 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{4}} - 10 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{3}}\right)\\
\end{array}double f(double a, double k, double m) {
double r600 = a;
double r601 = k;
double r602 = m;
double r603 = pow(r601, r602);
double r604 = r600 * r603;
double r605 = 1.0;
double r606 = 10.0;
double r607 = r606 * r601;
double r608 = r605 + r607;
double r609 = r601 * r601;
double r610 = r608 + r609;
double r611 = r604 / r610;
return r611;
}
double f(double a, double k, double m) {
double r612 = k;
double r613 = 1.1085263457066272e+69;
bool r614 = r612 <= r613;
double r615 = a;
double r616 = cbrt(r612);
double r617 = r616 * r616;
double r618 = m;
double r619 = pow(r617, r618);
double r620 = r615 * r619;
double r621 = pow(r616, r618);
double r622 = r620 * r621;
double r623 = 1.0;
double r624 = 10.0;
double r625 = 1.0;
double r626 = fma(r624, r612, r625);
double r627 = fma(r612, r612, r626);
double r628 = r623 / r627;
double r629 = r622 * r628;
double r630 = -1.0;
double r631 = r623 / r612;
double r632 = log(r631);
double r633 = r618 * r632;
double r634 = r630 * r633;
double r635 = exp(r634);
double r636 = r635 / r612;
double r637 = r615 / r612;
double r638 = 99.0;
double r639 = r615 * r635;
double r640 = 4.0;
double r641 = pow(r612, r640);
double r642 = r639 / r641;
double r643 = r638 * r642;
double r644 = 3.0;
double r645 = pow(r612, r644);
double r646 = r639 / r645;
double r647 = r624 * r646;
double r648 = r643 - r647;
double r649 = fma(r636, r637, r648);
double r650 = r614 ? r629 : r649;
return r650;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 1.1085263457066272e+69Initial program 0.1
rmApplied div-inv0.1
Simplified0.0
rmApplied add-cube-cbrt0.0
Applied unpow-prod-down0.0
Applied associate-*r*0.0
if 1.1085263457066272e+69 < k Initial program 7.0
Taylor expanded around inf 7.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2020025 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))