Average Error: 28.5 → 28.7
Time: 2.9m
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{1}{\frac{1}{\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(a + y\right), y, b\right)\right), c\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{1}{\frac{1}{\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(a + y\right), y, b\right)\right), c\right)\right), y, i\right)}}}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r12987194 = x;
        double r12987195 = y;
        double r12987196 = r12987194 * r12987195;
        double r12987197 = z;
        double r12987198 = r12987196 + r12987197;
        double r12987199 = r12987198 * r12987195;
        double r12987200 = 27464.7644705;
        double r12987201 = r12987199 + r12987200;
        double r12987202 = r12987201 * r12987195;
        double r12987203 = 230661.510616;
        double r12987204 = r12987202 + r12987203;
        double r12987205 = r12987204 * r12987195;
        double r12987206 = t;
        double r12987207 = r12987205 + r12987206;
        double r12987208 = a;
        double r12987209 = r12987195 + r12987208;
        double r12987210 = r12987209 * r12987195;
        double r12987211 = b;
        double r12987212 = r12987210 + r12987211;
        double r12987213 = r12987212 * r12987195;
        double r12987214 = c;
        double r12987215 = r12987213 + r12987214;
        double r12987216 = r12987215 * r12987195;
        double r12987217 = i;
        double r12987218 = r12987216 + r12987217;
        double r12987219 = r12987207 / r12987218;
        return r12987219;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r12987220 = 1.0;
        double r12987221 = y;
        double r12987222 = x;
        double r12987223 = z;
        double r12987224 = fma(r12987221, r12987222, r12987223);
        double r12987225 = 27464.7644705;
        double r12987226 = fma(r12987221, r12987224, r12987225);
        double r12987227 = 230661.510616;
        double r12987228 = fma(r12987221, r12987226, r12987227);
        double r12987229 = t;
        double r12987230 = fma(r12987221, r12987228, r12987229);
        double r12987231 = a;
        double r12987232 = r12987231 + r12987221;
        double r12987233 = b;
        double r12987234 = fma(r12987232, r12987221, r12987233);
        double r12987235 = c;
        double r12987236 = fma(r12987221, r12987234, r12987235);
        double r12987237 = i;
        double r12987238 = fma(r12987236, r12987221, r12987237);
        double r12987239 = r12987230 / r12987238;
        double r12987240 = r12987220 / r12987239;
        double r12987241 = r12987220 / r12987240;
        return r12987241;
}

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{\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 *-un-lft-identity28.5

    \[\leadsto \frac{\color{blue}{1 \cdot \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)}\]
  5. Applied associate-/l*28.7

    \[\leadsto \color{blue}{\frac{1}{\frac{\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)}{\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)}}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity28.7

    \[\leadsto \frac{1}{\frac{\color{blue}{1 \cdot \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)}}{\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)}}\]
  8. Applied associate-/l*28.7

    \[\leadsto \frac{1}{\color{blue}{\frac{1}{\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)}}}}\]
  9. Final simplification28.7

    \[\leadsto \frac{1}{\frac{1}{\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(a + y\right), y, b\right)\right), c\right)\right), y, i\right)}}}\]

Reproduce

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