Average Error: 27.7 → 28.0
Time: 20.8s
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{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\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{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\right)}}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r1571952 = x;
        double r1571953 = y;
        double r1571954 = r1571952 * r1571953;
        double r1571955 = z;
        double r1571956 = r1571954 + r1571955;
        double r1571957 = r1571956 * r1571953;
        double r1571958 = 27464.7644705;
        double r1571959 = r1571957 + r1571958;
        double r1571960 = r1571959 * r1571953;
        double r1571961 = 230661.510616;
        double r1571962 = r1571960 + r1571961;
        double r1571963 = r1571962 * r1571953;
        double r1571964 = t;
        double r1571965 = r1571963 + r1571964;
        double r1571966 = a;
        double r1571967 = r1571953 + r1571966;
        double r1571968 = r1571967 * r1571953;
        double r1571969 = b;
        double r1571970 = r1571968 + r1571969;
        double r1571971 = r1571970 * r1571953;
        double r1571972 = c;
        double r1571973 = r1571971 + r1571972;
        double r1571974 = r1571973 * r1571953;
        double r1571975 = i;
        double r1571976 = r1571974 + r1571975;
        double r1571977 = r1571965 / r1571976;
        return r1571977;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r1571978 = 1.0;
        double r1571979 = y;
        double r1571980 = a;
        double r1571981 = r1571979 + r1571980;
        double r1571982 = b;
        double r1571983 = fma(r1571981, r1571979, r1571982);
        double r1571984 = c;
        double r1571985 = fma(r1571979, r1571983, r1571984);
        double r1571986 = i;
        double r1571987 = fma(r1571985, r1571979, r1571986);
        double r1571988 = x;
        double r1571989 = z;
        double r1571990 = fma(r1571979, r1571988, r1571989);
        double r1571991 = 27464.7644705;
        double r1571992 = fma(r1571979, r1571990, r1571991);
        double r1571993 = 230661.510616;
        double r1571994 = fma(r1571979, r1571992, r1571993);
        double r1571995 = t;
        double r1571996 = fma(r1571979, r1571994, r1571995);
        double r1571997 = r1571987 / r1571996;
        double r1571998 = r1571978 / r1571997;
        return r1571998;
}

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 27.7

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

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

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

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

Reproduce

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