\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 r283658 = x;
double r283659 = y;
double r283660 = r283658 * r283659;
double r283661 = z;
double r283662 = t;
double r283663 = r283661 * r283662;
double r283664 = 16.0;
double r283665 = r283663 / r283664;
double r283666 = r283660 + r283665;
double r283667 = a;
double r283668 = b;
double r283669 = r283667 * r283668;
double r283670 = 4.0;
double r283671 = r283669 / r283670;
double r283672 = r283666 - r283671;
double r283673 = c;
double r283674 = r283672 + r283673;
return r283674;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r283675 = x;
double r283676 = y;
double r283677 = r283675 * r283676;
double r283678 = z;
double r283679 = t;
double r283680 = r283678 * r283679;
double r283681 = 16.0;
double r283682 = r283680 / r283681;
double r283683 = r283677 + r283682;
double r283684 = a;
double r283685 = b;
double r283686 = r283684 * r283685;
double r283687 = 4.0;
double r283688 = r283686 / r283687;
double r283689 = r283683 - r283688;
double r283690 = c;
double r283691 = r283689 + r283690;
return r283691;
}



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 2020047
(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))