d \cdot 10 + d \cdot 20
d \cdot \left(10 + 20\right)
double f(double d) {
double r147030 = d;
double r147031 = 10.0;
double r147032 = r147030 * r147031;
double r147033 = 20.0;
double r147034 = r147030 * r147033;
double r147035 = r147032 + r147034;
return r147035;
}
double f(double d) {
double r147036 = d;
double r147037 = 10.0;
double r147038 = 20.0;
double r147039 = r147037 + r147038;
double r147040 = r147036 * r147039;
return r147040;
}




Bits error versus d
Results
| Original | 0.3 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 0.3
Simplified0
Final simplification0
herbie shell --seed 2020059
(FPCore (d)
:name "FastMath test1"
:precision binary64
:herbie-target
(* d 30)
(+ (* d 10) (* d 20)))