\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 r71448 = x;
double r71449 = y;
double r71450 = r71448 * r71449;
double r71451 = z;
double r71452 = r71450 + r71451;
double r71453 = r71452 * r71449;
double r71454 = 27464.7644705;
double r71455 = r71453 + r71454;
double r71456 = r71455 * r71449;
double r71457 = 230661.510616;
double r71458 = r71456 + r71457;
double r71459 = r71458 * r71449;
double r71460 = t;
double r71461 = r71459 + r71460;
double r71462 = a;
double r71463 = r71449 + r71462;
double r71464 = r71463 * r71449;
double r71465 = b;
double r71466 = r71464 + r71465;
double r71467 = r71466 * r71449;
double r71468 = c;
double r71469 = r71467 + r71468;
double r71470 = r71469 * r71449;
double r71471 = i;
double r71472 = r71470 + r71471;
double r71473 = r71461 / r71472;
return r71473;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r71474 = x;
double r71475 = y;
double r71476 = r71474 * r71475;
double r71477 = z;
double r71478 = r71476 + r71477;
double r71479 = r71478 * r71475;
double r71480 = 27464.7644705;
double r71481 = r71479 + r71480;
double r71482 = r71481 * r71475;
double r71483 = 230661.510616;
double r71484 = r71482 + r71483;
double r71485 = r71484 * r71475;
double r71486 = t;
double r71487 = r71485 + r71486;
double r71488 = a;
double r71489 = r71475 + r71488;
double r71490 = r71489 * r71475;
double r71491 = b;
double r71492 = r71490 + r71491;
double r71493 = r71492 * r71475;
double r71494 = c;
double r71495 = r71493 + r71494;
double r71496 = r71495 * r71475;
double r71497 = i;
double r71498 = r71496 + r71497;
double r71499 = r71487 / r71498;
return r71499;
}



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.6
Final simplification29.6
herbie shell --seed 2019304
(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.764470499998) y) 230661.510616000014) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))