\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(d2 + \left(\left(d3 + 5\right) + 32\right)\right)
double f(double d1, double d2, double d3) {
double r165798 = d1;
double r165799 = d2;
double r165800 = r165798 * r165799;
double r165801 = d3;
double r165802 = 5.0;
double r165803 = r165801 + r165802;
double r165804 = r165803 * r165798;
double r165805 = r165800 + r165804;
double r165806 = 32.0;
double r165807 = r165798 * r165806;
double r165808 = r165805 + r165807;
return r165808;
}
double f(double d1, double d2, double d3) {
double r165809 = d1;
double r165810 = d2;
double r165811 = d3;
double r165812 = 5.0;
double r165813 = r165811 + r165812;
double r165814 = 32.0;
double r165815 = r165813 + r165814;
double r165816 = r165810 + r165815;
double r165817 = r165809 * r165816;
return r165817;
}




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