Average Error: 2.2 → 2.2
Time: 7.3s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
double f(double a, double k, double m) {
        double r294440 = a;
        double r294441 = k;
        double r294442 = m;
        double r294443 = pow(r294441, r294442);
        double r294444 = r294440 * r294443;
        double r294445 = 1.0;
        double r294446 = 10.0;
        double r294447 = r294446 * r294441;
        double r294448 = r294445 + r294447;
        double r294449 = r294441 * r294441;
        double r294450 = r294448 + r294449;
        double r294451 = r294444 / r294450;
        return r294451;
}

double f(double a, double k, double m) {
        double r294452 = a;
        double r294453 = k;
        double r294454 = m;
        double r294455 = pow(r294453, r294454);
        double r294456 = r294452 * r294455;
        double r294457 = 1.0;
        double r294458 = 10.0;
        double r294459 = r294458 * r294453;
        double r294460 = r294457 + r294459;
        double r294461 = r294453 * r294453;
        double r294462 = r294460 + r294461;
        double r294463 = r294456 / r294462;
        return r294463;
}

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

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

Reproduce

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