d1 \cdot d2 + d1 \cdot d3
d1 \cdot d2 + d1 \cdot d3
double f(double d1, double d2, double d3) {
double r240251 = d1;
double r240252 = d2;
double r240253 = r240251 * r240252;
double r240254 = d3;
double r240255 = r240251 * r240254;
double r240256 = r240253 + r240255;
return r240256;
}
double f(double d1, double d2, double d3) {
double r240257 = d1;
double r240258 = d2;
double r240259 = r240257 * r240258;
double r240260 = d3;
double r240261 = r240257 * r240260;
double r240262 = r240259 + r240261;
return r240262;
}




Bits error versus d1




Bits error versus d2




Bits error versus d3
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019323
(FPCore (d1 d2 d3)
:name "FastMath dist"
:precision binary64
:herbie-target
(* d1 (+ d2 d3))
(+ (* d1 d2) (* d1 d3)))