\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 r525852 = d1;
double r525853 = d2;
double r525854 = r525852 * r525853;
double r525855 = d3;
double r525856 = 5.0;
double r525857 = r525855 + r525856;
double r525858 = r525857 * r525852;
double r525859 = r525854 + r525858;
double r525860 = 32.0;
double r525861 = r525852 * r525860;
double r525862 = r525859 + r525861;
return r525862;
}
double f(double d1, double d2, double d3) {
double r525863 = d1;
double r525864 = d2;
double r525865 = d3;
double r525866 = 5.0;
double r525867 = r525865 + r525866;
double r525868 = 32.0;
double r525869 = r525867 + r525868;
double r525870 = r525864 + r525869;
double r525871 = r525863 * r525870;
return r525871;
}




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