\frac{x \cdot 100}{x + y}\sqrt{100} \cdot \frac{x}{\frac{x + y}{\sqrt{100}}}double f(double x, double y) {
double r896875 = x;
double r896876 = 100.0;
double r896877 = r896875 * r896876;
double r896878 = y;
double r896879 = r896875 + r896878;
double r896880 = r896877 / r896879;
return r896880;
}
double f(double x, double y) {
double r896881 = 100.0;
double r896882 = sqrt(r896881);
double r896883 = x;
double r896884 = y;
double r896885 = r896883 + r896884;
double r896886 = r896885 / r896882;
double r896887 = r896883 / r896886;
double r896888 = r896882 * r896887;
return r896888;
}




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