Average Error: 29.2 → 29.2
Time: 8.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{\mathsf{fma}\left(\mathsf{fma}\left(y \cdot y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.764470499998\right), y \cdot 230661.510616000014\right), -1, -t\right)}{\left(-1 \cdot y\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) - 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{\mathsf{fma}\left(\mathsf{fma}\left(y \cdot y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.764470499998\right), y \cdot 230661.510616000014\right), -1, -t\right)}{\left(-1 \cdot y\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) - i}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r79084 = x;
        double r79085 = y;
        double r79086 = r79084 * r79085;
        double r79087 = z;
        double r79088 = r79086 + r79087;
        double r79089 = r79088 * r79085;
        double r79090 = 27464.7644705;
        double r79091 = r79089 + r79090;
        double r79092 = r79091 * r79085;
        double r79093 = 230661.510616;
        double r79094 = r79092 + r79093;
        double r79095 = r79094 * r79085;
        double r79096 = t;
        double r79097 = r79095 + r79096;
        double r79098 = a;
        double r79099 = r79085 + r79098;
        double r79100 = r79099 * r79085;
        double r79101 = b;
        double r79102 = r79100 + r79101;
        double r79103 = r79102 * r79085;
        double r79104 = c;
        double r79105 = r79103 + r79104;
        double r79106 = r79105 * r79085;
        double r79107 = i;
        double r79108 = r79106 + r79107;
        double r79109 = r79097 / r79108;
        return r79109;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r79110 = y;
        double r79111 = r79110 * r79110;
        double r79112 = x;
        double r79113 = z;
        double r79114 = fma(r79112, r79110, r79113);
        double r79115 = 27464.7644705;
        double r79116 = fma(r79110, r79114, r79115);
        double r79117 = 230661.510616;
        double r79118 = r79110 * r79117;
        double r79119 = fma(r79111, r79116, r79118);
        double r79120 = -1.0;
        double r79121 = t;
        double r79122 = -r79121;
        double r79123 = fma(r79119, r79120, r79122);
        double r79124 = r79120 * r79110;
        double r79125 = a;
        double r79126 = r79110 + r79125;
        double r79127 = b;
        double r79128 = fma(r79126, r79110, r79127);
        double r79129 = c;
        double r79130 = fma(r79128, r79110, r79129);
        double r79131 = r79124 * r79130;
        double r79132 = i;
        double r79133 = r79131 - r79132;
        double r79134 = r79123 / r79133;
        return r79134;
}

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 29.2

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

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

    \[\leadsto \frac{\left(\left(\color{blue}{\left(\left(x \cdot y + z\right) \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot \sqrt[3]{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}\]
  5. Simplified29.3

    \[\leadsto \frac{\left(\left(\color{blue}{\left(\left(\mathsf{fma}\left(x, y, z\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right)} \cdot \sqrt[3]{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}\]
  6. Using strategy rm
  7. Applied frac-2neg29.3

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

    \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(y \cdot y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.764470499998\right), y \cdot 230661.510616000014\right), -1, -t\right)}}{-\left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right)}\]
  9. Simplified29.2

    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(y \cdot y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.764470499998\right), y \cdot 230661.510616000014\right), -1, -t\right)}{\color{blue}{\left(-1 \cdot y\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) - i}}\]
  10. Final simplification29.2

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

Reproduce

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