\frac{x \cdot 100}{x + y}\frac{x}{\frac{x + y}{100}}double f(double x, double y) {
double r912918 = x;
double r912919 = 100.0;
double r912920 = r912918 * r912919;
double r912921 = y;
double r912922 = r912918 + r912921;
double r912923 = r912920 / r912922;
return r912923;
}
double f(double x, double y) {
double r912924 = x;
double r912925 = y;
double r912926 = r912924 + r912925;
double r912927 = 100.0;
double r912928 = r912926 / r912927;
double r912929 = r912924 / r912928;
return r912929;
}




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
Final simplification0.2
herbie shell --seed 2020057 +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)))