\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 r63463 = x;
double r63464 = y;
double r63465 = r63463 * r63464;
double r63466 = z;
double r63467 = r63465 + r63466;
double r63468 = r63467 * r63464;
double r63469 = 27464.7644705;
double r63470 = r63468 + r63469;
double r63471 = r63470 * r63464;
double r63472 = 230661.510616;
double r63473 = r63471 + r63472;
double r63474 = r63473 * r63464;
double r63475 = t;
double r63476 = r63474 + r63475;
double r63477 = a;
double r63478 = r63464 + r63477;
double r63479 = r63478 * r63464;
double r63480 = b;
double r63481 = r63479 + r63480;
double r63482 = r63481 * r63464;
double r63483 = c;
double r63484 = r63482 + r63483;
double r63485 = r63484 * r63464;
double r63486 = i;
double r63487 = r63485 + r63486;
double r63488 = r63476 / r63487;
return r63488;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r63489 = x;
double r63490 = y;
double r63491 = r63489 * r63490;
double r63492 = z;
double r63493 = r63491 + r63492;
double r63494 = r63493 * r63490;
double r63495 = 27464.7644705;
double r63496 = r63494 + r63495;
double r63497 = r63496 * r63490;
double r63498 = 230661.510616;
double r63499 = r63497 + r63498;
double r63500 = r63499 * r63490;
double r63501 = t;
double r63502 = r63500 + r63501;
double r63503 = a;
double r63504 = r63490 + r63503;
double r63505 = r63504 * r63490;
double r63506 = b;
double r63507 = r63505 + r63506;
double r63508 = r63507 * r63490;
double r63509 = c;
double r63510 = r63508 + r63509;
double r63511 = r63510 * r63490;
double r63512 = i;
double r63513 = r63511 + r63512;
double r63514 = r63502 / r63513;
return r63514;
}



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.9
Final simplification28.9
herbie shell --seed 2019298
(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)))