\frac{x \cdot 100}{x + y}x \cdot \frac{100}{x + y}double f(double x, double y) {
double r872324 = x;
double r872325 = 100.0;
double r872326 = r872324 * r872325;
double r872327 = y;
double r872328 = r872324 + r872327;
double r872329 = r872326 / r872328;
return r872329;
}
double f(double x, double y) {
double r872330 = x;
double r872331 = 100.0;
double r872332 = y;
double r872333 = r872330 + r872332;
double r872334 = r872331 / r872333;
double r872335 = r872330 * r872334;
return r872335;
}




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 2020024 +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)))