\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\frac{\left(230661.510616 + \left(27464.7644705 + \left(y \cdot \left(x \cdot y\right) + z \cdot y\right)\right) \cdot y\right) \cdot y + t}{i + y \cdot \left(\left(\left(a + y\right) \cdot y + b\right) \cdot y + c\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r3314451 = x;
double r3314452 = y;
double r3314453 = r3314451 * r3314452;
double r3314454 = z;
double r3314455 = r3314453 + r3314454;
double r3314456 = r3314455 * r3314452;
double r3314457 = 27464.7644705;
double r3314458 = r3314456 + r3314457;
double r3314459 = r3314458 * r3314452;
double r3314460 = 230661.510616;
double r3314461 = r3314459 + r3314460;
double r3314462 = r3314461 * r3314452;
double r3314463 = t;
double r3314464 = r3314462 + r3314463;
double r3314465 = a;
double r3314466 = r3314452 + r3314465;
double r3314467 = r3314466 * r3314452;
double r3314468 = b;
double r3314469 = r3314467 + r3314468;
double r3314470 = r3314469 * r3314452;
double r3314471 = c;
double r3314472 = r3314470 + r3314471;
double r3314473 = r3314472 * r3314452;
double r3314474 = i;
double r3314475 = r3314473 + r3314474;
double r3314476 = r3314464 / r3314475;
return r3314476;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r3314477 = 230661.510616;
double r3314478 = 27464.7644705;
double r3314479 = y;
double r3314480 = x;
double r3314481 = r3314480 * r3314479;
double r3314482 = r3314479 * r3314481;
double r3314483 = z;
double r3314484 = r3314483 * r3314479;
double r3314485 = r3314482 + r3314484;
double r3314486 = r3314478 + r3314485;
double r3314487 = r3314486 * r3314479;
double r3314488 = r3314477 + r3314487;
double r3314489 = r3314488 * r3314479;
double r3314490 = t;
double r3314491 = r3314489 + r3314490;
double r3314492 = i;
double r3314493 = a;
double r3314494 = r3314493 + r3314479;
double r3314495 = r3314494 * r3314479;
double r3314496 = b;
double r3314497 = r3314495 + r3314496;
double r3314498 = r3314497 * r3314479;
double r3314499 = c;
double r3314500 = r3314498 + r3314499;
double r3314501 = r3314479 * r3314500;
double r3314502 = r3314492 + r3314501;
double r3314503 = r3314491 / r3314502;
return r3314503;
}



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.4
Taylor expanded around 0 28.4
Simplified28.4
Final simplification28.4
herbie shell --seed 2019165
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))