\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;
}



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
Results
Initial program 28.7
Final simplification28.7
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)))