Average Error: 28.8 → 29.0
Time: 57.5s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\frac{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)\right), 230661.510616\right)\right), t\right)}{\mathsf{fma}\left(\left(\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(\left(y + a\right), y, b\right)\right), c\right)} \cdot \left(\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(\left(y + a\right), y, b\right)\right), c\right)} \cdot \sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(\left(y + a\right), y, b\right)\right), c\right)}\right)\right), y, i\right)}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\frac{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)\right), 230661.510616\right)\right), t\right)}{\mathsf{fma}\left(\left(\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(\left(y + a\right), y, b\right)\right), c\right)} \cdot \left(\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(\left(y + a\right), y, b\right)\right), c\right)} \cdot \sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(\left(y + a\right), y, b\right)\right), c\right)}\right)\right), y, i\right)}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r4787506 = x;
        double r4787507 = y;
        double r4787508 = r4787506 * r4787507;
        double r4787509 = z;
        double r4787510 = r4787508 + r4787509;
        double r4787511 = r4787510 * r4787507;
        double r4787512 = 27464.7644705;
        double r4787513 = r4787511 + r4787512;
        double r4787514 = r4787513 * r4787507;
        double r4787515 = 230661.510616;
        double r4787516 = r4787514 + r4787515;
        double r4787517 = r4787516 * r4787507;
        double r4787518 = t;
        double r4787519 = r4787517 + r4787518;
        double r4787520 = a;
        double r4787521 = r4787507 + r4787520;
        double r4787522 = r4787521 * r4787507;
        double r4787523 = b;
        double r4787524 = r4787522 + r4787523;
        double r4787525 = r4787524 * r4787507;
        double r4787526 = c;
        double r4787527 = r4787525 + r4787526;
        double r4787528 = r4787527 * r4787507;
        double r4787529 = i;
        double r4787530 = r4787528 + r4787529;
        double r4787531 = r4787519 / r4787530;
        return r4787531;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r4787532 = y;
        double r4787533 = x;
        double r4787534 = z;
        double r4787535 = fma(r4787532, r4787533, r4787534);
        double r4787536 = 27464.7644705;
        double r4787537 = fma(r4787532, r4787535, r4787536);
        double r4787538 = 230661.510616;
        double r4787539 = fma(r4787532, r4787537, r4787538);
        double r4787540 = t;
        double r4787541 = fma(r4787532, r4787539, r4787540);
        double r4787542 = a;
        double r4787543 = r4787532 + r4787542;
        double r4787544 = b;
        double r4787545 = fma(r4787543, r4787532, r4787544);
        double r4787546 = c;
        double r4787547 = fma(r4787532, r4787545, r4787546);
        double r4787548 = cbrt(r4787547);
        double r4787549 = r4787548 * r4787548;
        double r4787550 = r4787548 * r4787549;
        double r4787551 = i;
        double r4787552 = fma(r4787550, r4787532, r4787551);
        double r4787553 = r4787541 / r4787552;
        return r4787553;
}

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.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Simplified28.8

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

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

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

Reproduce

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