\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 4.325114164806417 \cdot 10^{+31}:\\
\;\;\;\;\frac{{k}^{\left(\frac{m}{2}\right)} \cdot \left(a \cdot {k}^{\left(\frac{m}{2}\right)}\right)}{\left(k + 10\right) \cdot k + 1}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{99 \cdot a}{\frac{k \cdot k}{\sqrt{e^{m \cdot \log k}}} \cdot \frac{k \cdot k}{\sqrt{e^{m \cdot \log k}}}} + \frac{\frac{a}{\frac{k}{\sqrt{e^{m \cdot \log k}}}}}{\frac{k}{\sqrt{e^{m \cdot \log k}}}}\right) - \frac{\frac{a}{\frac{k}{\sqrt{e^{m \cdot \log k}}}}}{\frac{k}{\sqrt{e^{m \cdot \log k}}}} \cdot \frac{10}{k}\\
\end{array}double f(double a, double k, double m) {
double r47816643 = a;
double r47816644 = k;
double r47816645 = m;
double r47816646 = pow(r47816644, r47816645);
double r47816647 = r47816643 * r47816646;
double r47816648 = 1.0;
double r47816649 = 10.0;
double r47816650 = r47816649 * r47816644;
double r47816651 = r47816648 + r47816650;
double r47816652 = r47816644 * r47816644;
double r47816653 = r47816651 + r47816652;
double r47816654 = r47816647 / r47816653;
return r47816654;
}
double f(double a, double k, double m) {
double r47816655 = k;
double r47816656 = 4.325114164806417e+31;
bool r47816657 = r47816655 <= r47816656;
double r47816658 = m;
double r47816659 = 2.0;
double r47816660 = r47816658 / r47816659;
double r47816661 = pow(r47816655, r47816660);
double r47816662 = a;
double r47816663 = r47816662 * r47816661;
double r47816664 = r47816661 * r47816663;
double r47816665 = 10.0;
double r47816666 = r47816655 + r47816665;
double r47816667 = r47816666 * r47816655;
double r47816668 = 1.0;
double r47816669 = r47816667 + r47816668;
double r47816670 = r47816664 / r47816669;
double r47816671 = 99.0;
double r47816672 = r47816671 * r47816662;
double r47816673 = r47816655 * r47816655;
double r47816674 = log(r47816655);
double r47816675 = r47816658 * r47816674;
double r47816676 = exp(r47816675);
double r47816677 = sqrt(r47816676);
double r47816678 = r47816673 / r47816677;
double r47816679 = r47816678 * r47816678;
double r47816680 = r47816672 / r47816679;
double r47816681 = r47816655 / r47816677;
double r47816682 = r47816662 / r47816681;
double r47816683 = r47816682 / r47816681;
double r47816684 = r47816680 + r47816683;
double r47816685 = r47816665 / r47816655;
double r47816686 = r47816683 * r47816685;
double r47816687 = r47816684 - r47816686;
double r47816688 = r47816657 ? r47816670 : r47816687;
return r47816688;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 4.325114164806417e+31Initial program 0.1
Simplified0.0
rmApplied sqr-pow0.1
Applied associate-*l*0.1
if 4.325114164806417e+31 < k Initial program 6.7
Simplified6.7
rmApplied sqr-pow6.7
Applied associate-*l*6.7
rmApplied div-inv6.8
rmApplied add-sqr-sqrt6.8
Applied associate-/r*6.8
Taylor expanded around -inf 63.0
Simplified0.3
Final simplification0.2
herbie shell --seed 2019120
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))