\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 3.636771010018003 \cdot 10^{+36}:\\
\;\;\;\;\left(\left({k}^{\left(\frac{\frac{m}{2}}{2}\right)} \cdot \frac{a}{1 + \left(k + 10\right) \cdot k}\right) \cdot {k}^{\left(\frac{\frac{m}{2}}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;{k}^{m} \cdot \left(\left(\frac{\frac{a}{k}}{k} - \frac{10}{\frac{k}{\frac{a}{k \cdot k}}}\right) + \frac{99}{k \cdot k} \cdot \frac{a}{k \cdot k}\right)\\
\end{array}double f(double a, double k, double m) {
double r6489621 = a;
double r6489622 = k;
double r6489623 = m;
double r6489624 = pow(r6489622, r6489623);
double r6489625 = r6489621 * r6489624;
double r6489626 = 1.0;
double r6489627 = 10.0;
double r6489628 = r6489627 * r6489622;
double r6489629 = r6489626 + r6489628;
double r6489630 = r6489622 * r6489622;
double r6489631 = r6489629 + r6489630;
double r6489632 = r6489625 / r6489631;
return r6489632;
}
double f(double a, double k, double m) {
double r6489633 = k;
double r6489634 = 3.636771010018003e+36;
bool r6489635 = r6489633 <= r6489634;
double r6489636 = m;
double r6489637 = 2.0;
double r6489638 = r6489636 / r6489637;
double r6489639 = r6489638 / r6489637;
double r6489640 = pow(r6489633, r6489639);
double r6489641 = a;
double r6489642 = 1.0;
double r6489643 = 10.0;
double r6489644 = r6489633 + r6489643;
double r6489645 = r6489644 * r6489633;
double r6489646 = r6489642 + r6489645;
double r6489647 = r6489641 / r6489646;
double r6489648 = r6489640 * r6489647;
double r6489649 = r6489648 * r6489640;
double r6489650 = pow(r6489633, r6489638);
double r6489651 = r6489649 * r6489650;
double r6489652 = pow(r6489633, r6489636);
double r6489653 = r6489641 / r6489633;
double r6489654 = r6489653 / r6489633;
double r6489655 = r6489633 * r6489633;
double r6489656 = r6489641 / r6489655;
double r6489657 = r6489633 / r6489656;
double r6489658 = r6489643 / r6489657;
double r6489659 = r6489654 - r6489658;
double r6489660 = 99.0;
double r6489661 = r6489660 / r6489655;
double r6489662 = r6489661 * r6489656;
double r6489663 = r6489659 + r6489662;
double r6489664 = r6489652 * r6489663;
double r6489665 = r6489635 ? r6489651 : r6489664;
return r6489665;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 3.636771010018003e+36Initial program 0.1
Simplified0.0
rmApplied sqr-pow0.1
Applied associate-*r*0.1
rmApplied sqr-pow0.1
Applied associate-*r*0.1
if 3.636771010018003e+36 < k Initial program 5.7
Simplified5.7
Taylor expanded around -inf 5.7
Simplified0.1
Final simplification0.1
herbie shell --seed 2019130
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))