Average Error: 30.0 → 30.5
Time: 17.2s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\frac{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\frac{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r58499 = x;
        double r58500 = y;
        double r58501 = r58499 * r58500;
        double r58502 = z;
        double r58503 = r58501 + r58502;
        double r58504 = r58503 * r58500;
        double r58505 = 27464.7644705;
        double r58506 = r58504 + r58505;
        double r58507 = r58506 * r58500;
        double r58508 = 230661.510616;
        double r58509 = r58507 + r58508;
        double r58510 = r58509 * r58500;
        double r58511 = t;
        double r58512 = r58510 + r58511;
        double r58513 = a;
        double r58514 = r58500 + r58513;
        double r58515 = r58514 * r58500;
        double r58516 = b;
        double r58517 = r58515 + r58516;
        double r58518 = r58517 * r58500;
        double r58519 = c;
        double r58520 = r58518 + r58519;
        double r58521 = r58520 * r58500;
        double r58522 = i;
        double r58523 = r58521 + r58522;
        double r58524 = r58512 / r58523;
        return r58524;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r58525 = x;
        double r58526 = y;
        double r58527 = z;
        double r58528 = fma(r58525, r58526, r58527);
        double r58529 = 27464.7644705;
        double r58530 = fma(r58528, r58526, r58529);
        double r58531 = 230661.510616;
        double r58532 = fma(r58530, r58526, r58531);
        double r58533 = t;
        double r58534 = fma(r58532, r58526, r58533);
        double r58535 = cbrt(r58534);
        double r58536 = r58535 * r58535;
        double r58537 = a;
        double r58538 = r58526 + r58537;
        double r58539 = b;
        double r58540 = fma(r58538, r58526, r58539);
        double r58541 = c;
        double r58542 = fma(r58540, r58526, r58541);
        double r58543 = i;
        double r58544 = fma(r58542, r58526, r58543);
        double r58545 = r58544 / r58535;
        double r58546 = r58536 / r58545;
        return r58546;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Derivation

  1. Initial program 30.0

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Simplified30.0

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt30.5

    \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}\]
  5. Applied associate-/l*30.5

    \[\leadsto \color{blue}{\frac{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}}}\]
  6. Final simplification30.5

    \[\leadsto \frac{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}}\]

Reproduce

herbie shell --seed 2020043 +o rules:numerics
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  :precision binary64
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))