\frac{x \cdot 100}{x + y}x \cdot \frac{100}{x + y}double f(double x, double y) {
double r490496 = x;
double r490497 = 100.0;
double r490498 = r490496 * r490497;
double r490499 = y;
double r490500 = r490496 + r490499;
double r490501 = r490498 / r490500;
return r490501;
}
double f(double x, double y) {
double r490502 = x;
double r490503 = 100.0;
double r490504 = y;
double r490505 = r490502 + r490504;
double r490506 = r490503 / r490505;
double r490507 = r490502 * r490506;
return r490507;
}




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