\frac{x \cdot 100}{x + y}\frac{x}{y + x} \cdot 100double f(double x, double y) {
double r32912580 = x;
double r32912581 = 100.0;
double r32912582 = r32912580 * r32912581;
double r32912583 = y;
double r32912584 = r32912580 + r32912583;
double r32912585 = r32912582 / r32912584;
return r32912585;
}
double f(double x, double y) {
double r32912586 = x;
double r32912587 = y;
double r32912588 = r32912587 + r32912586;
double r32912589 = r32912586 / r32912588;
double r32912590 = 100.0;
double r32912591 = r32912589 * r32912590;
return r32912591;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.3 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.3
rmApplied associate-/l*0.2
rmApplied associate-/r/0.2
Final simplification0.2
herbie shell --seed 2019179 +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)))