Average Error: 2.1 → 2.0
Time: 20.8s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\frac{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\frac{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}
double f(double a, double k, double m) {
        double r157774 = a;
        double r157775 = k;
        double r157776 = m;
        double r157777 = pow(r157775, r157776);
        double r157778 = r157774 * r157777;
        double r157779 = 1.0;
        double r157780 = 10.0;
        double r157781 = r157780 * r157775;
        double r157782 = r157779 + r157781;
        double r157783 = r157775 * r157775;
        double r157784 = r157782 + r157783;
        double r157785 = r157778 / r157784;
        return r157785;
}

double f(double a, double k, double m) {
        double r157786 = a;
        double r157787 = k;
        double r157788 = 10.0;
        double r157789 = r157788 + r157787;
        double r157790 = r157787 * r157789;
        double r157791 = 1.0;
        double r157792 = r157790 + r157791;
        double r157793 = m;
        double r157794 = pow(r157787, r157793);
        double r157795 = r157792 / r157794;
        double r157796 = r157786 / r157795;
        return r157796;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 2.1

    \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
  2. Simplified2.0

    \[\leadsto \color{blue}{\frac{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}}\]
  3. Final simplification2.0

    \[\leadsto \frac{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}\]

Reproduce

herbie shell --seed 2019306 
(FPCore (a k m)
  :name "Falkner and Boettcher, Appendix A"
  :precision binary64
  (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))