d \cdot 10 + d \cdot 20
\left(20 + 10\right) \cdot d
double f(double d) {
double r110703 = d;
double r110704 = 10.0;
double r110705 = r110703 * r110704;
double r110706 = 20.0;
double r110707 = r110703 * r110706;
double r110708 = r110705 + r110707;
return r110708;
}
double f(double d) {
double r110709 = 20.0;
double r110710 = 10.0;
double r110711 = r110709 + r110710;
double r110712 = d;
double r110713 = r110711 * r110712;
return r110713;
}




Bits error versus d
Results
| Original | 0.3 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 0.3
Simplified0
Final simplification0
herbie shell --seed 2019194 +o rules:numerics
(FPCore (d)
:name "FastMath test1"
:herbie-target
(* d 30.0)
(+ (* d 10.0) (* d 20.0)))