\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 9.967300159477422353423086957172453598505 \cdot 10^{119}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{1 + k \cdot \left(10 + k\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-\frac{10}{k}\right) \cdot \left(\frac{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}{k} \cdot \frac{a}{k}\right) + \frac{99 \cdot a}{k} \cdot \frac{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}{{k}^{3}}\right) + \frac{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}{k} \cdot \frac{a}{k}\\
\end{array}double f(double a, double k, double m) {
double r205634 = a;
double r205635 = k;
double r205636 = m;
double r205637 = pow(r205635, r205636);
double r205638 = r205634 * r205637;
double r205639 = 1.0;
double r205640 = 10.0;
double r205641 = r205640 * r205635;
double r205642 = r205639 + r205641;
double r205643 = r205635 * r205635;
double r205644 = r205642 + r205643;
double r205645 = r205638 / r205644;
return r205645;
}
double f(double a, double k, double m) {
double r205646 = k;
double r205647 = 9.967300159477422e+119;
bool r205648 = r205646 <= r205647;
double r205649 = a;
double r205650 = m;
double r205651 = pow(r205646, r205650);
double r205652 = r205649 * r205651;
double r205653 = 1.0;
double r205654 = 10.0;
double r205655 = r205654 + r205646;
double r205656 = r205646 * r205655;
double r205657 = r205653 + r205656;
double r205658 = r205652 / r205657;
double r205659 = r205654 / r205646;
double r205660 = -r205659;
double r205661 = 1.0;
double r205662 = r205661 / r205646;
double r205663 = -1.0;
double r205664 = r205663 * r205650;
double r205665 = pow(r205662, r205664);
double r205666 = r205665 / r205646;
double r205667 = r205649 / r205646;
double r205668 = r205666 * r205667;
double r205669 = r205660 * r205668;
double r205670 = 99.0;
double r205671 = r205670 * r205649;
double r205672 = r205671 / r205646;
double r205673 = 3.0;
double r205674 = pow(r205646, r205673);
double r205675 = r205665 / r205674;
double r205676 = r205672 * r205675;
double r205677 = r205669 + r205676;
double r205678 = r205677 + r205668;
double r205679 = r205648 ? r205658 : r205678;
return r205679;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 9.967300159477422e+119Initial program 0.1
rmApplied associate-+l+0.1
Simplified0.1
if 9.967300159477422e+119 < k Initial program 8.7
rmApplied associate-+l+8.7
Simplified8.7
Taylor expanded around inf 8.7
Simplified0.4
Final simplification0.2
herbie shell --seed 2019308
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))