\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 7.485561233862986 \cdot 10^{+31}:\\
\;\;\;\;\frac{a}{\frac{1 + \left(k + 10\right) \cdot k}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{a}{k} \cdot \frac{e^{\log k \cdot m}}{k} + \left(-10 \cdot \frac{e^{\log k \cdot m}}{\frac{\left(k \cdot k\right) \cdot k}{a}} + \frac{e^{\log k \cdot m} \cdot 99}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{a}}\right)\\
\end{array}double f(double a, double k, double m) {
double r7069676 = a;
double r7069677 = k;
double r7069678 = m;
double r7069679 = pow(r7069677, r7069678);
double r7069680 = r7069676 * r7069679;
double r7069681 = 1.0;
double r7069682 = 10.0;
double r7069683 = r7069682 * r7069677;
double r7069684 = r7069681 + r7069683;
double r7069685 = r7069677 * r7069677;
double r7069686 = r7069684 + r7069685;
double r7069687 = r7069680 / r7069686;
return r7069687;
}
double f(double a, double k, double m) {
double r7069688 = k;
double r7069689 = 7.485561233862986e+31;
bool r7069690 = r7069688 <= r7069689;
double r7069691 = a;
double r7069692 = 1.0;
double r7069693 = 10.0;
double r7069694 = r7069688 + r7069693;
double r7069695 = r7069694 * r7069688;
double r7069696 = r7069692 + r7069695;
double r7069697 = m;
double r7069698 = pow(r7069688, r7069697);
double r7069699 = r7069696 / r7069698;
double r7069700 = r7069691 / r7069699;
double r7069701 = r7069691 / r7069688;
double r7069702 = log(r7069688);
double r7069703 = r7069702 * r7069697;
double r7069704 = exp(r7069703);
double r7069705 = r7069704 / r7069688;
double r7069706 = r7069701 * r7069705;
double r7069707 = -10.0;
double r7069708 = r7069688 * r7069688;
double r7069709 = r7069708 * r7069688;
double r7069710 = r7069709 / r7069691;
double r7069711 = r7069704 / r7069710;
double r7069712 = r7069707 * r7069711;
double r7069713 = 99.0;
double r7069714 = r7069704 * r7069713;
double r7069715 = r7069708 * r7069708;
double r7069716 = r7069715 / r7069691;
double r7069717 = r7069714 / r7069716;
double r7069718 = r7069712 + r7069717;
double r7069719 = r7069706 + r7069718;
double r7069720 = r7069690 ? r7069700 : r7069719;
return r7069720;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 7.485561233862986e+31Initial program 0.1
Simplified0.0
if 7.485561233862986e+31 < k Initial program 5.9
Simplified5.9
Taylor expanded around inf 5.9
Simplified0.2
Final simplification0.1
herbie shell --seed 2019164
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))