d1 \cdot d2 + d1 \cdot d3
d1 \cdot d2 + d3 \cdot d1
double f(double d1, double d2, double d3) {
double r9626876 = d1;
double r9626877 = d2;
double r9626878 = r9626876 * r9626877;
double r9626879 = d3;
double r9626880 = r9626876 * r9626879;
double r9626881 = r9626878 + r9626880;
return r9626881;
}
double f(double d1, double d2, double d3) {
double r9626882 = d1;
double r9626883 = d2;
double r9626884 = r9626882 * r9626883;
double r9626885 = d3;
double r9626886 = r9626885 * r9626882;
double r9626887 = r9626884 + r9626886;
return r9626887;
}




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 2019152
(FPCore (d1 d2 d3)
:name "FastMath dist"
:herbie-target
(* d1 (+ d2 d3))
(+ (* d1 d2) (* d1 d3)))