\frac{x \cdot 100}{x + y}\sqrt{100} \cdot \frac{x}{\frac{x + y}{\sqrt{100}}}double f(double x, double y) {
double r833811 = x;
double r833812 = 100.0;
double r833813 = r833811 * r833812;
double r833814 = y;
double r833815 = r833811 + r833814;
double r833816 = r833813 / r833815;
return r833816;
}
double f(double x, double y) {
double r833817 = 100.0;
double r833818 = sqrt(r833817);
double r833819 = x;
double r833820 = y;
double r833821 = r833819 + r833820;
double r833822 = r833821 / r833818;
double r833823 = r833819 / r833822;
double r833824 = r833818 * r833823;
return r833824;
}




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