\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 2.203223085012966589319145584458156967174 \cdot 10^{130}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\
\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)} \cdot a}{{k}^{4}}, 99, -\frac{10 \cdot a}{\frac{{k}^{3}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}}\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r147684 = a;
double r147685 = k;
double r147686 = m;
double r147687 = pow(r147685, r147686);
double r147688 = r147684 * r147687;
double r147689 = 1.0;
double r147690 = 10.0;
double r147691 = r147690 * r147685;
double r147692 = r147689 + r147691;
double r147693 = r147685 * r147685;
double r147694 = r147692 + r147693;
double r147695 = r147688 / r147694;
return r147695;
}
double f(double a, double k, double m) {
double r147696 = k;
double r147697 = 2.2032230850129666e+130;
bool r147698 = r147696 <= r147697;
double r147699 = a;
double r147700 = m;
double r147701 = pow(r147696, r147700);
double r147702 = r147699 * r147701;
double r147703 = 1.0;
double r147704 = 10.0;
double r147705 = r147704 * r147696;
double r147706 = r147703 + r147705;
double r147707 = r147696 * r147696;
double r147708 = r147706 + r147707;
double r147709 = r147702 / r147708;
double r147710 = 1.0;
double r147711 = r147710 / r147696;
double r147712 = -r147700;
double r147713 = pow(r147711, r147712);
double r147714 = r147713 / r147696;
double r147715 = r147699 / r147696;
double r147716 = r147713 * r147699;
double r147717 = 4.0;
double r147718 = pow(r147696, r147717);
double r147719 = r147716 / r147718;
double r147720 = 99.0;
double r147721 = r147704 * r147699;
double r147722 = 3.0;
double r147723 = pow(r147696, r147722);
double r147724 = r147723 / r147713;
double r147725 = r147721 / r147724;
double r147726 = -r147725;
double r147727 = fma(r147719, r147720, r147726);
double r147728 = fma(r147714, r147715, r147727);
double r147729 = r147698 ? r147709 : r147728;
return r147729;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 2.2032230850129666e+130Initial program 0.1
if 2.2032230850129666e+130 < k Initial program 9.2
rmApplied *-un-lft-identity9.2
Applied times-frac9.2
Simplified9.2
Simplified9.2
Taylor expanded around inf 9.2
Simplified0.2
Final simplification0.1
herbie shell --seed 2019208 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))