\left(d1 \cdot 10 + d1 \cdot d2\right) + d1 \cdot 20
d1 \cdot \left(\left(10 + d2\right) + 20\right)
double f(double d1, double d2) {
double r247810 = d1;
double r247811 = 10.0;
double r247812 = r247810 * r247811;
double r247813 = d2;
double r247814 = r247810 * r247813;
double r247815 = r247812 + r247814;
double r247816 = 20.0;
double r247817 = r247810 * r247816;
double r247818 = r247815 + r247817;
return r247818;
}
double f(double d1, double d2) {
double r247819 = d1;
double r247820 = 10.0;
double r247821 = d2;
double r247822 = r247820 + r247821;
double r247823 = 20.0;
double r247824 = r247822 + r247823;
double r247825 = r247819 * r247824;
return r247825;
}




Bits error versus d1




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