\frac{x \cdot 100}{x + y}x \cdot \frac{100}{x + y}double f(double x, double y) {
double r780931 = x;
double r780932 = 100.0;
double r780933 = r780931 * r780932;
double r780934 = y;
double r780935 = r780931 + r780934;
double r780936 = r780933 / r780935;
return r780936;
}
double f(double x, double y) {
double r780937 = x;
double r780938 = 100.0;
double r780939 = y;
double r780940 = r780937 + r780939;
double r780941 = r780938 / r780940;
double r780942 = r780937 * r780941;
return r780942;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.4
rmApplied *-un-lft-identity0.4
Applied times-frac0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020046 +o rules:numerics
(FPCore (x y)
:name "Development.Shake.Progress:message from shake-0.15.5"
:precision binary64
:herbie-target
(* (/ x 1) (/ 100 (+ x y)))
(/ (* x 100) (+ x y)))