\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}\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t\right) \cdot \frac{1}{\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 r62008 = x;
double r62009 = y;
double r62010 = r62008 * r62009;
double r62011 = z;
double r62012 = r62010 + r62011;
double r62013 = r62012 * r62009;
double r62014 = 27464.7644705;
double r62015 = r62013 + r62014;
double r62016 = r62015 * r62009;
double r62017 = 230661.510616;
double r62018 = r62016 + r62017;
double r62019 = r62018 * r62009;
double r62020 = t;
double r62021 = r62019 + r62020;
double r62022 = a;
double r62023 = r62009 + r62022;
double r62024 = r62023 * r62009;
double r62025 = b;
double r62026 = r62024 + r62025;
double r62027 = r62026 * r62009;
double r62028 = c;
double r62029 = r62027 + r62028;
double r62030 = r62029 * r62009;
double r62031 = i;
double r62032 = r62030 + r62031;
double r62033 = r62021 / r62032;
return r62033;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r62034 = x;
double r62035 = y;
double r62036 = r62034 * r62035;
double r62037 = z;
double r62038 = r62036 + r62037;
double r62039 = r62038 * r62035;
double r62040 = 27464.7644705;
double r62041 = r62039 + r62040;
double r62042 = r62041 * r62035;
double r62043 = 230661.510616;
double r62044 = r62042 + r62043;
double r62045 = r62044 * r62035;
double r62046 = t;
double r62047 = r62045 + r62046;
double r62048 = 1.0;
double r62049 = a;
double r62050 = r62035 + r62049;
double r62051 = r62050 * r62035;
double r62052 = b;
double r62053 = r62051 + r62052;
double r62054 = r62053 * r62035;
double r62055 = c;
double r62056 = r62054 + r62055;
double r62057 = r62056 * r62035;
double r62058 = i;
double r62059 = r62057 + r62058;
double r62060 = r62048 / r62059;
double r62061 = r62047 * r62060;
return r62061;
}



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 29.2
rmApplied div-inv29.3
Final simplification29.3
herbie shell --seed 2019352
(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)))