\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\frac{4 + x}{y} - \frac{x}{y} \cdot z\right|double f(double x, double y, double z) {
double r1066586 = x;
double r1066587 = 4.0;
double r1066588 = r1066586 + r1066587;
double r1066589 = y;
double r1066590 = r1066588 / r1066589;
double r1066591 = r1066586 / r1066589;
double r1066592 = z;
double r1066593 = r1066591 * r1066592;
double r1066594 = r1066590 - r1066593;
double r1066595 = fabs(r1066594);
return r1066595;
}
double f(double x, double y, double z) {
double r1066596 = 4.0;
double r1066597 = x;
double r1066598 = r1066596 + r1066597;
double r1066599 = y;
double r1066600 = r1066598 / r1066599;
double r1066601 = r1066597 / r1066599;
double r1066602 = z;
double r1066603 = r1066601 * r1066602;
double r1066604 = r1066600 - r1066603;
double r1066605 = fabs(r1066604);
return r1066605;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.7
Final simplification1.7
herbie shell --seed 2019162 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))