\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
double f(double d1, double d2, double d3) {
double r170663 = d1;
double r170664 = d2;
double r170665 = r170663 * r170664;
double r170666 = d3;
double r170667 = 5.0;
double r170668 = r170666 + r170667;
double r170669 = r170668 * r170663;
double r170670 = r170665 + r170669;
double r170671 = 32.0;
double r170672 = r170663 * r170671;
double r170673 = r170670 + r170672;
return r170673;
}
double f(double d1, double d2, double d3) {
double r170674 = d1;
double r170675 = d2;
double r170676 = r170674 * r170675;
double r170677 = d3;
double r170678 = 5.0;
double r170679 = r170677 + r170678;
double r170680 = r170679 * r170674;
double r170681 = r170676 + r170680;
double r170682 = 32.0;
double r170683 = r170674 * r170682;
double r170684 = r170681 + r170683;
return r170684;
}




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 2019303
(FPCore (d1 d2 d3)
:name "FastMath dist3"
:precision binary64
:herbie-target
(* d1 (+ (+ 37 d3) d2))
(+ (+ (* d1 d2) (* (+ d3 5) d1)) (* d1 32)))