\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 r164813 = x;
double r164814 = y;
double r164815 = r164813 * r164814;
double r164816 = z;
double r164817 = t;
double r164818 = r164816 * r164817;
double r164819 = 16.0;
double r164820 = r164818 / r164819;
double r164821 = r164815 + r164820;
double r164822 = a;
double r164823 = b;
double r164824 = r164822 * r164823;
double r164825 = 4.0;
double r164826 = r164824 / r164825;
double r164827 = r164821 - r164826;
double r164828 = c;
double r164829 = r164827 + r164828;
return r164829;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r164830 = x;
double r164831 = y;
double r164832 = r164830 * r164831;
double r164833 = z;
double r164834 = t;
double r164835 = r164833 * r164834;
double r164836 = 16.0;
double r164837 = r164835 / r164836;
double r164838 = r164832 + r164837;
double r164839 = a;
double r164840 = b;
double r164841 = r164839 * r164840;
double r164842 = 4.0;
double r164843 = r164841 / r164842;
double r164844 = r164838 - r164843;
double r164845 = c;
double r164846 = r164844 + r164845;
return r164846;
}



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