\frac{x \cdot 100}{x + y}\sqrt{100} \cdot \frac{x}{\frac{x + y}{\sqrt{100}}}double f(double x, double y) {
double r540254 = x;
double r540255 = 100.0;
double r540256 = r540254 * r540255;
double r540257 = y;
double r540258 = r540254 + r540257;
double r540259 = r540256 / r540258;
return r540259;
}
double f(double x, double y) {
double r540260 = 100.0;
double r540261 = sqrt(r540260);
double r540262 = x;
double r540263 = y;
double r540264 = r540262 + r540263;
double r540265 = r540264 / r540261;
double r540266 = r540262 / r540265;
double r540267 = r540261 * r540266;
return r540267;
}




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 2019303
(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)))