\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.3655055884626073 \cdot 10^{+132}:\\
\;\;\;\;\frac{{k}^{m} \cdot a}{1 + k \cdot \left(k + 10\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{e^{m \cdot \log k}}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{a}} \cdot 99 + -10 \cdot \left(\frac{e^{m \cdot \log k}}{k \cdot k} \cdot \frac{a}{k}\right)\right) + \frac{a}{k} \cdot \frac{e^{m \cdot \log k}}{k}\\
\end{array}double f(double a, double k, double m) {
double r3500667 = a;
double r3500668 = k;
double r3500669 = m;
double r3500670 = pow(r3500668, r3500669);
double r3500671 = r3500667 * r3500670;
double r3500672 = 1.0;
double r3500673 = 10.0;
double r3500674 = r3500673 * r3500668;
double r3500675 = r3500672 + r3500674;
double r3500676 = r3500668 * r3500668;
double r3500677 = r3500675 + r3500676;
double r3500678 = r3500671 / r3500677;
return r3500678;
}
double f(double a, double k, double m) {
double r3500679 = k;
double r3500680 = 1.3655055884626073e+132;
bool r3500681 = r3500679 <= r3500680;
double r3500682 = m;
double r3500683 = pow(r3500679, r3500682);
double r3500684 = a;
double r3500685 = r3500683 * r3500684;
double r3500686 = 1.0;
double r3500687 = 10.0;
double r3500688 = r3500679 + r3500687;
double r3500689 = r3500679 * r3500688;
double r3500690 = r3500686 + r3500689;
double r3500691 = r3500685 / r3500690;
double r3500692 = log(r3500679);
double r3500693 = r3500682 * r3500692;
double r3500694 = exp(r3500693);
double r3500695 = r3500679 * r3500679;
double r3500696 = r3500695 * r3500695;
double r3500697 = r3500696 / r3500684;
double r3500698 = r3500694 / r3500697;
double r3500699 = 99.0;
double r3500700 = r3500698 * r3500699;
double r3500701 = -10.0;
double r3500702 = r3500694 / r3500695;
double r3500703 = r3500684 / r3500679;
double r3500704 = r3500702 * r3500703;
double r3500705 = r3500701 * r3500704;
double r3500706 = r3500700 + r3500705;
double r3500707 = r3500694 / r3500679;
double r3500708 = r3500703 * r3500707;
double r3500709 = r3500706 + r3500708;
double r3500710 = r3500681 ? r3500691 : r3500709;
return r3500710;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 1.3655055884626073e+132Initial program 0.1
Simplified0.1
if 1.3655055884626073e+132 < k Initial program 8.7
Simplified8.7
Taylor expanded around inf 8.7
Simplified0.1
Final simplification0.1
herbie shell --seed 2019155
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))