\frac{x \cdot 100}{x + y}\sqrt{100} \cdot \frac{x}{\frac{x + y}{\sqrt{100}}}double f(double x, double y) {
double r704811 = x;
double r704812 = 100.0;
double r704813 = r704811 * r704812;
double r704814 = y;
double r704815 = r704811 + r704814;
double r704816 = r704813 / r704815;
return r704816;
}
double f(double x, double y) {
double r704817 = 100.0;
double r704818 = sqrt(r704817);
double r704819 = x;
double r704820 = y;
double r704821 = r704819 + r704820;
double r704822 = r704821 / r704818;
double r704823 = r704819 / r704822;
double r704824 = r704818 * r704823;
return r704824;
}




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