\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\left(\frac{4}{y} + \frac{x}{y}\right) - z \cdot \frac{x}{y}\right|double f(double x, double y, double z) {
double r1810489 = x;
double r1810490 = 4.0;
double r1810491 = r1810489 + r1810490;
double r1810492 = y;
double r1810493 = r1810491 / r1810492;
double r1810494 = r1810489 / r1810492;
double r1810495 = z;
double r1810496 = r1810494 * r1810495;
double r1810497 = r1810493 - r1810496;
double r1810498 = fabs(r1810497);
return r1810498;
}
double f(double x, double y, double z) {
double r1810499 = 4.0;
double r1810500 = y;
double r1810501 = r1810499 / r1810500;
double r1810502 = x;
double r1810503 = r1810502 / r1810500;
double r1810504 = r1810501 + r1810503;
double r1810505 = z;
double r1810506 = r1810505 * r1810503;
double r1810507 = r1810504 - r1810506;
double r1810508 = fabs(r1810507);
return r1810508;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.6
Taylor expanded around 0 1.6
Simplified1.6
Final simplification1.6
herbie shell --seed 2019158
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))