\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot d2 + d1 \cdot \left(\left(d3 + 5\right) + 32\right)
double f(double d1, double d2, double d3) {
double r409112 = d1;
double r409113 = d2;
double r409114 = r409112 * r409113;
double r409115 = d3;
double r409116 = 5.0;
double r409117 = r409115 + r409116;
double r409118 = r409117 * r409112;
double r409119 = r409114 + r409118;
double r409120 = 32.0;
double r409121 = r409112 * r409120;
double r409122 = r409119 + r409121;
return r409122;
}
double f(double d1, double d2, double d3) {
double r409123 = d1;
double r409124 = d2;
double r409125 = r409123 * r409124;
double r409126 = d3;
double r409127 = 5.0;
double r409128 = r409126 + r409127;
double r409129 = 32.0;
double r409130 = r409128 + r409129;
double r409131 = r409123 * r409130;
double r409132 = r409125 + r409131;
return r409132;
}




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
rmApplied distribute-lft-in0.0
Final simplification0.0
herbie shell --seed 2020034
(FPCore (d1 d2 d3)
:name "FastMath dist3"
:precision binary64
:herbie-target
(* d1 (+ (+ 37 d3) d2))
(+ (+ (* d1 d2) (* (+ d3 5) d1)) (* d1 32)))