d1 \cdot d2 + d1 \cdot d3
d1 \cdot d2 + d1 \cdot d3
double f(double d1, double d2, double d3) {
double r284532 = d1;
double r284533 = d2;
double r284534 = r284532 * r284533;
double r284535 = d3;
double r284536 = r284532 * r284535;
double r284537 = r284534 + r284536;
return r284537;
}
double f(double d1, double d2, double d3) {
double r284538 = d1;
double r284539 = d2;
double r284540 = r284538 * r284539;
double r284541 = d3;
double r284542 = r284538 * r284541;
double r284543 = r284540 + r284542;
return r284543;
}




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)))