Average Error: 1.9 → 1.9
Time: 1.6m
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\frac{\sqrt{{k}^{m}} \cdot \left(\sqrt{{k}^{m}} \cdot a\right)}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\frac{\sqrt{{k}^{m}} \cdot \left(\sqrt{{k}^{m}} \cdot a\right)}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)}
double f(double a, double k, double m) {
        double r71106490 = a;
        double r71106491 = k;
        double r71106492 = m;
        double r71106493 = pow(r71106491, r71106492);
        double r71106494 = r71106490 * r71106493;
        double r71106495 = 1.0;
        double r71106496 = 10.0;
        double r71106497 = r71106496 * r71106491;
        double r71106498 = r71106495 + r71106497;
        double r71106499 = r71106491 * r71106491;
        double r71106500 = r71106498 + r71106499;
        double r71106501 = r71106494 / r71106500;
        return r71106501;
}

double f(double a, double k, double m) {
        double r71106502 = k;
        double r71106503 = m;
        double r71106504 = pow(r71106502, r71106503);
        double r71106505 = sqrt(r71106504);
        double r71106506 = a;
        double r71106507 = r71106505 * r71106506;
        double r71106508 = r71106505 * r71106507;
        double r71106509 = 10.0;
        double r71106510 = r71106502 + r71106509;
        double r71106511 = 1.0;
        double r71106512 = fma(r71106510, r71106502, r71106511);
        double r71106513 = r71106508 / r71106512;
        return r71106513;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Initial program 1.9

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

    \[\leadsto \color{blue}{\frac{{k}^{m} \cdot a}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt1.9

    \[\leadsto \frac{\color{blue}{\left(\sqrt{{k}^{m}} \cdot \sqrt{{k}^{m}}\right)} \cdot a}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)}\]
  5. Applied associate-*l*1.9

    \[\leadsto \frac{\color{blue}{\sqrt{{k}^{m}} \cdot \left(\sqrt{{k}^{m}} \cdot a\right)}}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)}\]
  6. Final simplification1.9

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

Reproduce

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