\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\left(\left(\frac{z \cdot t}{16} + x \cdot y\right) - \frac{a \cdot b}{4}\right) + cdouble f(double x, double y, double z, double t, double a, double b, double c) {
double r7698478 = x;
double r7698479 = y;
double r7698480 = r7698478 * r7698479;
double r7698481 = z;
double r7698482 = t;
double r7698483 = r7698481 * r7698482;
double r7698484 = 16.0;
double r7698485 = r7698483 / r7698484;
double r7698486 = r7698480 + r7698485;
double r7698487 = a;
double r7698488 = b;
double r7698489 = r7698487 * r7698488;
double r7698490 = 4.0;
double r7698491 = r7698489 / r7698490;
double r7698492 = r7698486 - r7698491;
double r7698493 = c;
double r7698494 = r7698492 + r7698493;
return r7698494;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r7698495 = z;
double r7698496 = t;
double r7698497 = r7698495 * r7698496;
double r7698498 = 16.0;
double r7698499 = r7698497 / r7698498;
double r7698500 = x;
double r7698501 = y;
double r7698502 = r7698500 * r7698501;
double r7698503 = r7698499 + r7698502;
double r7698504 = a;
double r7698505 = b;
double r7698506 = r7698504 * r7698505;
double r7698507 = 4.0;
double r7698508 = r7698506 / r7698507;
double r7698509 = r7698503 - r7698508;
double r7698510 = c;
double r7698511 = r7698509 + r7698510;
return r7698511;
}



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
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x y z t a b c)
:name "Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, C"
(+ (- (+ (* x y) (/ (* z t) 16.0)) (/ (* a b) 4.0)) c))