Average Error: 28.7 → 28.7
Time: 23.3s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r60057 = x;
        double r60058 = y;
        double r60059 = r60057 * r60058;
        double r60060 = z;
        double r60061 = r60059 + r60060;
        double r60062 = r60061 * r60058;
        double r60063 = 27464.7644705;
        double r60064 = r60062 + r60063;
        double r60065 = r60064 * r60058;
        double r60066 = 230661.510616;
        double r60067 = r60065 + r60066;
        double r60068 = r60067 * r60058;
        double r60069 = t;
        double r60070 = r60068 + r60069;
        double r60071 = a;
        double r60072 = r60058 + r60071;
        double r60073 = r60072 * r60058;
        double r60074 = b;
        double r60075 = r60073 + r60074;
        double r60076 = r60075 * r60058;
        double r60077 = c;
        double r60078 = r60076 + r60077;
        double r60079 = r60078 * r60058;
        double r60080 = i;
        double r60081 = r60079 + r60080;
        double r60082 = r60070 / r60081;
        return r60082;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r60083 = x;
        double r60084 = y;
        double r60085 = r60083 * r60084;
        double r60086 = z;
        double r60087 = r60085 + r60086;
        double r60088 = r60087 * r60084;
        double r60089 = 27464.7644705;
        double r60090 = r60088 + r60089;
        double r60091 = r60090 * r60084;
        double r60092 = 230661.510616;
        double r60093 = r60091 + r60092;
        double r60094 = r60093 * r60084;
        double r60095 = t;
        double r60096 = r60094 + r60095;
        double r60097 = a;
        double r60098 = r60084 + r60097;
        double r60099 = r60098 * r60084;
        double r60100 = b;
        double r60101 = r60099 + r60100;
        double r60102 = r60101 * r60084;
        double r60103 = c;
        double r60104 = r60102 + r60103;
        double r60105 = r60104 * r60084;
        double r60106 = i;
        double r60107 = r60105 + r60106;
        double r60108 = r60096 / r60107;
        return r60108;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 28.7

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Final simplification28.7

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]

Reproduce

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