Average Error: 28.5 → 28.6
Time: 59.1s
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{(y \cdot \left((y \cdot \left(\left(\sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*} \cdot \sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*}\right) \cdot \sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*}\right) + 230661.510616)_*\right) + t)_*}{(\left((y \cdot \left((\left(a + y\right) \cdot y + b)_*\right) + c)_*\right) \cdot y + i)_*}\]
\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{(y \cdot \left((y \cdot \left(\left(\sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*} \cdot \sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*}\right) \cdot \sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*}\right) + 230661.510616)_*\right) + t)_*}{(\left((y \cdot \left((\left(a + y\right) \cdot y + b)_*\right) + c)_*\right) \cdot y + i)_*}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r6891626 = x;
        double r6891627 = y;
        double r6891628 = r6891626 * r6891627;
        double r6891629 = z;
        double r6891630 = r6891628 + r6891629;
        double r6891631 = r6891630 * r6891627;
        double r6891632 = 27464.7644705;
        double r6891633 = r6891631 + r6891632;
        double r6891634 = r6891633 * r6891627;
        double r6891635 = 230661.510616;
        double r6891636 = r6891634 + r6891635;
        double r6891637 = r6891636 * r6891627;
        double r6891638 = t;
        double r6891639 = r6891637 + r6891638;
        double r6891640 = a;
        double r6891641 = r6891627 + r6891640;
        double r6891642 = r6891641 * r6891627;
        double r6891643 = b;
        double r6891644 = r6891642 + r6891643;
        double r6891645 = r6891644 * r6891627;
        double r6891646 = c;
        double r6891647 = r6891645 + r6891646;
        double r6891648 = r6891647 * r6891627;
        double r6891649 = i;
        double r6891650 = r6891648 + r6891649;
        double r6891651 = r6891639 / r6891650;
        return r6891651;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r6891652 = y;
        double r6891653 = x;
        double r6891654 = z;
        double r6891655 = fma(r6891652, r6891653, r6891654);
        double r6891656 = 27464.7644705;
        double r6891657 = fma(r6891652, r6891655, r6891656);
        double r6891658 = cbrt(r6891657);
        double r6891659 = r6891658 * r6891658;
        double r6891660 = r6891659 * r6891658;
        double r6891661 = 230661.510616;
        double r6891662 = fma(r6891652, r6891660, r6891661);
        double r6891663 = t;
        double r6891664 = fma(r6891652, r6891662, r6891663);
        double r6891665 = a;
        double r6891666 = r6891665 + r6891652;
        double r6891667 = b;
        double r6891668 = fma(r6891666, r6891652, r6891667);
        double r6891669 = c;
        double r6891670 = fma(r6891652, r6891668, r6891669);
        double r6891671 = i;
        double r6891672 = fma(r6891670, r6891652, r6891671);
        double r6891673 = r6891664 / r6891672;
        return r6891673;
}

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.5

    \[\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.5

    \[\leadsto \color{blue}{\frac{(y \cdot \left((y \cdot \left((y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*\right) + 230661.510616)_*\right) + t)_*}{(\left((y \cdot \left((\left(y + a\right) \cdot y + b)_*\right) + c)_*\right) \cdot y + i)_*}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt28.6

    \[\leadsto \frac{(y \cdot \left((y \cdot \color{blue}{\left(\left(\sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*} \cdot \sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*}\right) \cdot \sqrt[3]{(y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*}\right)} + 230661.510616)_*\right) + t)_*}{(\left((y \cdot \left((\left(y + a\right) \cdot y + b)_*\right) + c)_*\right) \cdot y + i)_*}\]
  5. Final simplification28.6

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

Reproduce

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