Average Error: 28.8 → 29.0
Time: 8.1s
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{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y} + i}\]
\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{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y} + i}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r90398 = x;
        double r90399 = y;
        double r90400 = r90398 * r90399;
        double r90401 = z;
        double r90402 = r90400 + r90401;
        double r90403 = r90402 * r90399;
        double r90404 = 27464.7644705;
        double r90405 = r90403 + r90404;
        double r90406 = r90405 * r90399;
        double r90407 = 230661.510616;
        double r90408 = r90406 + r90407;
        double r90409 = r90408 * r90399;
        double r90410 = t;
        double r90411 = r90409 + r90410;
        double r90412 = a;
        double r90413 = r90399 + r90412;
        double r90414 = r90413 * r90399;
        double r90415 = b;
        double r90416 = r90414 + r90415;
        double r90417 = r90416 * r90399;
        double r90418 = c;
        double r90419 = r90417 + r90418;
        double r90420 = r90419 * r90399;
        double r90421 = i;
        double r90422 = r90420 + r90421;
        double r90423 = r90411 / r90422;
        return r90423;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r90424 = x;
        double r90425 = y;
        double r90426 = r90424 * r90425;
        double r90427 = z;
        double r90428 = r90426 + r90427;
        double r90429 = r90428 * r90425;
        double r90430 = 27464.7644705;
        double r90431 = r90429 + r90430;
        double r90432 = r90431 * r90425;
        double r90433 = 230661.510616;
        double r90434 = r90432 + r90433;
        double r90435 = r90434 * r90425;
        double r90436 = t;
        double r90437 = r90435 + r90436;
        double r90438 = a;
        double r90439 = r90425 + r90438;
        double r90440 = b;
        double r90441 = fma(r90439, r90425, r90440);
        double r90442 = c;
        double r90443 = fma(r90441, r90425, r90442);
        double r90444 = cbrt(r90425);
        double r90445 = r90443 * r90444;
        double r90446 = r90445 * r90444;
        double r90447 = r90446 * r90444;
        double r90448 = i;
        double r90449 = r90447 + r90448;
        double r90450 = r90437 / r90449;
        return r90450;
}

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 28.8

    \[\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. Using strategy rm
  3. Applied add-cube-cbrt29.0

    \[\leadsto \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 \color{blue}{\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right)} + i}\]
  4. Applied associate-*r*29.0

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\color{blue}{\left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot \sqrt[3]{y}} + i}\]
  5. Simplified29.0

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

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

Reproduce

herbie shell --seed 2020056 +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)))