x + \frac{y \cdot y}{z}x + \frac{y}{\frac{z}{y}}double f(double x, double y, double z) {
double r748207 = x;
double r748208 = y;
double r748209 = r748208 * r748208;
double r748210 = z;
double r748211 = r748209 / r748210;
double r748212 = r748207 + r748211;
return r748212;
}
double f(double x, double y, double z) {
double r748213 = x;
double r748214 = y;
double r748215 = z;
double r748216 = r748215 / r748214;
double r748217 = r748214 / r748216;
double r748218 = r748213 + r748217;
return r748218;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 6.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 6.1
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2020003
(FPCore (x y z)
:name "Crypto.Random.Test:calculate from crypto-random-0.0.9"
:precision binary64
:herbie-target
(+ x (* y (/ y z)))
(+ x (/ (* y y) z)))