\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 845009784.1006279:\\
\;\;\;\;\sqrt[3]{\frac{\frac{1}{\mathsf{fma}\left(k, k + 10, 1\right)}}{\mathsf{fma}\left(k, k + 10, 1\right) \cdot \mathsf{fma}\left(k, k + 10, 1\right)}} \cdot \left({k}^{m} \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(99, \frac{e^{m \cdot \log k}}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{a}}, \frac{e^{m \cdot \log k}}{k} \cdot \frac{a}{k} - \frac{e^{m \cdot \log k} \cdot 10}{\frac{k \cdot \left(k \cdot k\right)}{a}}\right)\\
\end{array}double f(double a, double k, double m) {
double r3745608 = a;
double r3745609 = k;
double r3745610 = m;
double r3745611 = pow(r3745609, r3745610);
double r3745612 = r3745608 * r3745611;
double r3745613 = 1.0;
double r3745614 = 10.0;
double r3745615 = r3745614 * r3745609;
double r3745616 = r3745613 + r3745615;
double r3745617 = r3745609 * r3745609;
double r3745618 = r3745616 + r3745617;
double r3745619 = r3745612 / r3745618;
return r3745619;
}
double f(double a, double k, double m) {
double r3745620 = k;
double r3745621 = 845009784.1006279;
bool r3745622 = r3745620 <= r3745621;
double r3745623 = 1.0;
double r3745624 = 10.0;
double r3745625 = r3745620 + r3745624;
double r3745626 = fma(r3745620, r3745625, r3745623);
double r3745627 = r3745623 / r3745626;
double r3745628 = r3745626 * r3745626;
double r3745629 = r3745627 / r3745628;
double r3745630 = cbrt(r3745629);
double r3745631 = m;
double r3745632 = pow(r3745620, r3745631);
double r3745633 = a;
double r3745634 = r3745632 * r3745633;
double r3745635 = r3745630 * r3745634;
double r3745636 = 99.0;
double r3745637 = log(r3745620);
double r3745638 = r3745631 * r3745637;
double r3745639 = exp(r3745638);
double r3745640 = r3745620 * r3745620;
double r3745641 = r3745640 * r3745640;
double r3745642 = r3745641 / r3745633;
double r3745643 = r3745639 / r3745642;
double r3745644 = r3745639 / r3745620;
double r3745645 = r3745633 / r3745620;
double r3745646 = r3745644 * r3745645;
double r3745647 = r3745639 * r3745624;
double r3745648 = r3745620 * r3745640;
double r3745649 = r3745648 / r3745633;
double r3745650 = r3745647 / r3745649;
double r3745651 = r3745646 - r3745650;
double r3745652 = fma(r3745636, r3745643, r3745651);
double r3745653 = r3745622 ? r3745635 : r3745652;
return r3745653;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 845009784.1006279Initial program 0.1
Simplified0.0
rmApplied add-sqr-sqrt0.2
Applied associate-/r*0.2
rmApplied *-un-lft-identity0.2
Applied sqrt-prod0.2
Applied div-inv0.2
Applied times-frac0.2
Simplified0.2
Simplified0.0
rmApplied add-cbrt-cube0.0
Applied add-cbrt-cube0.0
Applied cbrt-undiv0.0
Simplified0.0
if 845009784.1006279 < k Initial program 5.2
Simplified5.2
rmApplied add-sqr-sqrt5.2
Applied associate-/r*5.2
Taylor expanded around inf 5.2
Simplified0.2
Final simplification0.1
herbie shell --seed 2019155 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))