\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + cdouble f(double x, double y, double z, double t, double a, double b, double c) {
double r206494 = x;
double r206495 = y;
double r206496 = r206494 * r206495;
double r206497 = z;
double r206498 = t;
double r206499 = r206497 * r206498;
double r206500 = 16.0;
double r206501 = r206499 / r206500;
double r206502 = r206496 + r206501;
double r206503 = a;
double r206504 = b;
double r206505 = r206503 * r206504;
double r206506 = 4.0;
double r206507 = r206505 / r206506;
double r206508 = r206502 - r206507;
double r206509 = c;
double r206510 = r206508 + r206509;
return r206510;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r206511 = x;
double r206512 = y;
double r206513 = r206511 * r206512;
double r206514 = z;
double r206515 = t;
double r206516 = r206514 * r206515;
double r206517 = 16.0;
double r206518 = r206516 / r206517;
double r206519 = r206513 + r206518;
double r206520 = a;
double r206521 = b;
double r206522 = r206520 * r206521;
double r206523 = 4.0;
double r206524 = r206522 / r206523;
double r206525 = r206519 - r206524;
double r206526 = c;
double r206527 = r206525 + r206526;
return r206527;
}



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.2
Final simplification0.2
herbie shell --seed 2020081
(FPCore (x y z t a b c)
:name "Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, C"
:precision binary64
(+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c))