Average Error: 2.2 → 2.3
Time: 5.7s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\frac{a}{\frac{\left(1 + 10 \cdot k\right) + k \cdot k}{{k}^{m}}}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\frac{a}{\frac{\left(1 + 10 \cdot k\right) + k \cdot k}{{k}^{m}}}
double f(double a, double k, double m) {
        double r250424 = a;
        double r250425 = k;
        double r250426 = m;
        double r250427 = pow(r250425, r250426);
        double r250428 = r250424 * r250427;
        double r250429 = 1.0;
        double r250430 = 10.0;
        double r250431 = r250430 * r250425;
        double r250432 = r250429 + r250431;
        double r250433 = r250425 * r250425;
        double r250434 = r250432 + r250433;
        double r250435 = r250428 / r250434;
        return r250435;
}

double f(double a, double k, double m) {
        double r250436 = a;
        double r250437 = 1.0;
        double r250438 = 10.0;
        double r250439 = k;
        double r250440 = r250438 * r250439;
        double r250441 = r250437 + r250440;
        double r250442 = r250439 * r250439;
        double r250443 = r250441 + r250442;
        double r250444 = m;
        double r250445 = pow(r250439, r250444);
        double r250446 = r250443 / r250445;
        double r250447 = r250436 / r250446;
        return r250447;
}

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.2

    \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
  2. Using strategy rm
  3. Applied associate-/l*2.3

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

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

Reproduce

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