\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(t + 230661.5106160000141244381666183471679688 \cdot y\right)}{-\left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right)} - \frac{\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot \left(y \cdot y\right)}{-\left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r83434 = x;
double r83435 = y;
double r83436 = r83434 * r83435;
double r83437 = z;
double r83438 = r83436 + r83437;
double r83439 = r83438 * r83435;
double r83440 = 27464.7644705;
double r83441 = r83439 + r83440;
double r83442 = r83441 * r83435;
double r83443 = 230661.510616;
double r83444 = r83442 + r83443;
double r83445 = r83444 * r83435;
double r83446 = t;
double r83447 = r83445 + r83446;
double r83448 = a;
double r83449 = r83435 + r83448;
double r83450 = r83449 * r83435;
double r83451 = b;
double r83452 = r83450 + r83451;
double r83453 = r83452 * r83435;
double r83454 = c;
double r83455 = r83453 + r83454;
double r83456 = r83455 * r83435;
double r83457 = i;
double r83458 = r83456 + r83457;
double r83459 = r83447 / r83458;
return r83459;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r83460 = t;
double r83461 = 230661.510616;
double r83462 = y;
double r83463 = r83461 * r83462;
double r83464 = r83460 + r83463;
double r83465 = -r83464;
double r83466 = a;
double r83467 = r83462 + r83466;
double r83468 = r83467 * r83462;
double r83469 = b;
double r83470 = r83468 + r83469;
double r83471 = r83470 * r83462;
double r83472 = c;
double r83473 = r83471 + r83472;
double r83474 = r83473 * r83462;
double r83475 = i;
double r83476 = r83474 + r83475;
double r83477 = -r83476;
double r83478 = r83465 / r83477;
double r83479 = x;
double r83480 = r83479 * r83462;
double r83481 = z;
double r83482 = r83480 + r83481;
double r83483 = r83482 * r83462;
double r83484 = 27464.7644705;
double r83485 = r83483 + r83484;
double r83486 = r83462 * r83462;
double r83487 = r83485 * r83486;
double r83488 = r83487 / r83477;
double r83489 = r83478 - r83488;
return r83489;
}



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 add-cube-cbrt29.3
Applied associate-*r*29.3
rmApplied frac-2neg29.3
Simplified29.2
rmApplied distribute-lft-neg-out29.2
Applied unsub-neg29.2
Applied div-sub29.2
Final simplification29.2
herbie shell --seed 2019297
(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)))