\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{1}{\frac{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r61428 = x;
double r61429 = y;
double r61430 = r61428 * r61429;
double r61431 = z;
double r61432 = r61430 + r61431;
double r61433 = r61432 * r61429;
double r61434 = 27464.7644705;
double r61435 = r61433 + r61434;
double r61436 = r61435 * r61429;
double r61437 = 230661.510616;
double r61438 = r61436 + r61437;
double r61439 = r61438 * r61429;
double r61440 = t;
double r61441 = r61439 + r61440;
double r61442 = a;
double r61443 = r61429 + r61442;
double r61444 = r61443 * r61429;
double r61445 = b;
double r61446 = r61444 + r61445;
double r61447 = r61446 * r61429;
double r61448 = c;
double r61449 = r61447 + r61448;
double r61450 = r61449 * r61429;
double r61451 = i;
double r61452 = r61450 + r61451;
double r61453 = r61441 / r61452;
return r61453;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r61454 = 1.0;
double r61455 = y;
double r61456 = a;
double r61457 = r61455 + r61456;
double r61458 = r61457 * r61455;
double r61459 = b;
double r61460 = r61458 + r61459;
double r61461 = r61460 * r61455;
double r61462 = c;
double r61463 = r61461 + r61462;
double r61464 = r61463 * r61455;
double r61465 = i;
double r61466 = r61464 + r61465;
double r61467 = x;
double r61468 = r61467 * r61455;
double r61469 = z;
double r61470 = r61468 + r61469;
double r61471 = r61470 * r61455;
double r61472 = 27464.7644705;
double r61473 = r61471 + r61472;
double r61474 = r61473 * r61455;
double r61475 = 230661.510616;
double r61476 = r61474 + r61475;
double r61477 = r61476 * r61455;
double r61478 = t;
double r61479 = r61477 + r61478;
double r61480 = r61466 / r61479;
double r61481 = r61454 / r61480;
return r61481;
}



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.3
rmApplied clear-num29.5
Final simplification29.5
herbie shell --seed 2019351
(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)))