\frac{x \cdot 100}{x + y}\sqrt{100} \cdot \frac{x}{\frac{x + y}{\sqrt{100}}}double f(double x, double y) {
double r788542 = x;
double r788543 = 100.0;
double r788544 = r788542 * r788543;
double r788545 = y;
double r788546 = r788542 + r788545;
double r788547 = r788544 / r788546;
return r788547;
}
double f(double x, double y) {
double r788548 = 100.0;
double r788549 = sqrt(r788548);
double r788550 = x;
double r788551 = y;
double r788552 = r788550 + r788551;
double r788553 = r788552 / r788549;
double r788554 = r788550 / r788553;
double r788555 = r788549 * r788554;
return r788555;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.4
rmApplied associate-/l*0.2
rmApplied add-sqr-sqrt0.2
Applied *-un-lft-identity0.2
Applied times-frac0.4
Applied *-un-lft-identity0.4
Applied times-frac0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020064 +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)))