\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 r59242 = x;
double r59243 = y;
double r59244 = r59242 * r59243;
double r59245 = z;
double r59246 = r59244 + r59245;
double r59247 = r59246 * r59243;
double r59248 = 27464.7644705;
double r59249 = r59247 + r59248;
double r59250 = r59249 * r59243;
double r59251 = 230661.510616;
double r59252 = r59250 + r59251;
double r59253 = r59252 * r59243;
double r59254 = t;
double r59255 = r59253 + r59254;
double r59256 = a;
double r59257 = r59243 + r59256;
double r59258 = r59257 * r59243;
double r59259 = b;
double r59260 = r59258 + r59259;
double r59261 = r59260 * r59243;
double r59262 = c;
double r59263 = r59261 + r59262;
double r59264 = r59263 * r59243;
double r59265 = i;
double r59266 = r59264 + r59265;
double r59267 = r59255 / r59266;
return r59267;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r59268 = x;
double r59269 = y;
double r59270 = r59268 * r59269;
double r59271 = z;
double r59272 = r59270 + r59271;
double r59273 = r59272 * r59269;
double r59274 = 27464.7644705;
double r59275 = r59273 + r59274;
double r59276 = r59275 * r59269;
double r59277 = 230661.510616;
double r59278 = r59276 + r59277;
double r59279 = r59278 * r59269;
double r59280 = t;
double r59281 = r59279 + r59280;
double r59282 = 1.0;
double r59283 = a;
double r59284 = r59269 + r59283;
double r59285 = r59284 * r59269;
double r59286 = b;
double r59287 = r59285 + r59286;
double r59288 = r59287 * r59269;
double r59289 = c;
double r59290 = r59288 + r59289;
double r59291 = r59290 * r59269;
double r59292 = i;
double r59293 = r59291 + r59292;
double r59294 = r59282 / r59293;
double r59295 = r59281 * r59294;
return r59295;
}



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.6
rmApplied div-inv28.6
Final simplification28.6
herbie shell --seed 2019325
(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)))