\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\left({k}^{\left(\frac{m}{4}\right)} \cdot \left(\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)} \cdot {k}^{\left(\frac{m}{2}\right)}\right)\right) \cdot {k}^{\left(\frac{\frac{m}{2}}{2}\right)}double f(double a, double k, double m) {
double r267629 = a;
double r267630 = k;
double r267631 = m;
double r267632 = pow(r267630, r267631);
double r267633 = r267629 * r267632;
double r267634 = 1.0;
double r267635 = 10.0;
double r267636 = r267635 * r267630;
double r267637 = r267634 + r267636;
double r267638 = r267630 * r267630;
double r267639 = r267637 + r267638;
double r267640 = r267633 / r267639;
return r267640;
}
double f(double a, double k, double m) {
double r267641 = k;
double r267642 = m;
double r267643 = 4.0;
double r267644 = r267642 / r267643;
double r267645 = pow(r267641, r267644);
double r267646 = a;
double r267647 = 10.0;
double r267648 = r267647 + r267641;
double r267649 = 1.0;
double r267650 = fma(r267641, r267648, r267649);
double r267651 = r267646 / r267650;
double r267652 = 2.0;
double r267653 = r267642 / r267652;
double r267654 = pow(r267641, r267653);
double r267655 = r267651 * r267654;
double r267656 = r267645 * r267655;
double r267657 = r267653 / r267652;
double r267658 = pow(r267641, r267657);
double r267659 = r267656 * r267658;
return r267659;
}



Bits error versus a



Bits error versus k



Bits error versus m
Initial program 2.1
Simplified2.1
rmApplied sqr-pow2.1
Applied associate-*r*2.1
rmApplied sqr-pow2.1
Applied associate-*r*2.1
Simplified2.1
Final simplification2.1
herbie shell --seed 2020046 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))