\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\frac{\left(x + 4\right) - x \cdot z}{y}\right|double f(double x, double y, double z) {
double r31539 = x;
double r31540 = 4.0;
double r31541 = r31539 + r31540;
double r31542 = y;
double r31543 = r31541 / r31542;
double r31544 = r31539 / r31542;
double r31545 = z;
double r31546 = r31544 * r31545;
double r31547 = r31543 - r31546;
double r31548 = fabs(r31547);
return r31548;
}
double f(double x, double y, double z) {
double r31549 = x;
double r31550 = 4.0;
double r31551 = r31549 + r31550;
double r31552 = z;
double r31553 = r31549 * r31552;
double r31554 = r31551 - r31553;
double r31555 = y;
double r31556 = r31554 / r31555;
double r31557 = fabs(r31556);
return r31557;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (- (/ (+ x 4.0) y) (* (/ x y) z)) < -6.139715348477763e+64 or 7.965541593339039e-69 < (- (/ (+ x 4.0) y) (* (/ x y) z)) Initial program 0.1
if -6.139715348477763e+64 < (- (/ (+ x 4.0) y) (* (/ x y) z)) < 7.965541593339039e-69Initial program 3.9
rmApplied associate-*l/0.3
Applied sub-div0.3
Final simplification3.3
herbie shell --seed 2019298
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))