double f(double d1, double d2) {
double r48455833 = d1;
double r48455834 = 10.0;
double r48455835 = r48455833 * r48455834;
double r48455836 = d2;
double r48455837 = r48455833 * r48455836;
double r48455838 = r48455835 + r48455837;
double r48455839 = 20.0;
double r48455840 = r48455833 * r48455839;
double r48455841 = r48455838 + r48455840;
return r48455841;
}
double f(double d1, double d2) {
double r48455842 = d2;
double r48455843 = 30.0;
double r48455844 = r48455842 + r48455843;
double r48455845 = d1;
double r48455846 = r48455844 * r48455845;
return r48455846;
}
\left(d1 \cdot 10 + d1 \cdot d2\right) + d1 \cdot 20
\left(d2 + 30\right) \cdot d1




Bits error versus d1




Bits error versus d2
| Original | 0.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2019101
(FPCore (d1 d2)
:name "FastMath test2"
:herbie-target
(* d1 (+ 30 d2))
(+ (+ (* d1 10) (* d1 d2)) (* d1 20)))