\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 r19207 = x;
double r19208 = 4.0;
double r19209 = r19207 + r19208;
double r19210 = y;
double r19211 = r19209 / r19210;
double r19212 = r19207 / r19210;
double r19213 = z;
double r19214 = r19212 * r19213;
double r19215 = r19211 - r19214;
double r19216 = fabs(r19215);
return r19216;
}
double f(double x, double y, double z) {
double r19217 = x;
double r19218 = 4.0;
double r19219 = r19217 + r19218;
double r19220 = z;
double r19221 = r19217 * r19220;
double r19222 = r19219 - r19221;
double r19223 = y;
double r19224 = r19222 / r19223;
double r19225 = fabs(r19224);
return r19225;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -2.2956787801108007e-49 or 2.9212638165055445e+46 < x Initial program 0.2
rmApplied clear-num0.3
rmApplied div-inv0.4
Applied associate-*l*0.5
Simplified0.4
if -2.2956787801108007e-49 < x < 2.9212638165055445e+46Initial program 2.8
rmApplied associate-*l/0.2
Applied sub-div0.2
Final simplification3.6
herbie shell --seed 2019308
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))