\frac{x \cdot 100}{x + y}\frac{100}{y + x} \cdot xdouble f(double x, double y) {
double r34568517 = x;
double r34568518 = 100.0;
double r34568519 = r34568517 * r34568518;
double r34568520 = y;
double r34568521 = r34568517 + r34568520;
double r34568522 = r34568519 / r34568521;
return r34568522;
}
double f(double x, double y) {
double r34568523 = 100.0;
double r34568524 = y;
double r34568525 = x;
double r34568526 = r34568524 + r34568525;
double r34568527 = r34568523 / r34568526;
double r34568528 = r34568527 * r34568525;
return r34568528;
}




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 2019200 +o rules:numerics
(FPCore (x y)
:name "Development.Shake.Progress:message from shake-0.15.5"
:herbie-target
(* (/ x 1.0) (/ 100.0 (+ x y)))
(/ (* x 100.0) (+ x y)))