d1 \cdot d2 + d1 \cdot d3
\left(d3 + d2\right) \cdot d1
double f(double d1, double d2, double d3) {
double r12400074 = d1;
double r12400075 = d2;
double r12400076 = r12400074 * r12400075;
double r12400077 = d3;
double r12400078 = r12400074 * r12400077;
double r12400079 = r12400076 + r12400078;
return r12400079;
}
double f(double d1, double d2, double d3) {
double r12400080 = d3;
double r12400081 = d2;
double r12400082 = r12400080 + r12400081;
double r12400083 = d1;
double r12400084 = r12400082 * r12400083;
return r12400084;
}




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
Simplified0.0
Final simplification0.0
herbie shell --seed 2019200
(FPCore (d1 d2 d3)
:name "FastMath dist"
:herbie-target
(* d1 (+ d2 d3))
(+ (* d1 d2) (* d1 d3)))