\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(\left(d3 + 5\right) + 32\right) + d1 \cdot d2
double f(double d1, double d2, double d3) {
double r472949 = d1;
double r472950 = d2;
double r472951 = r472949 * r472950;
double r472952 = d3;
double r472953 = 5.0;
double r472954 = r472952 + r472953;
double r472955 = r472954 * r472949;
double r472956 = r472951 + r472955;
double r472957 = 32.0;
double r472958 = r472949 * r472957;
double r472959 = r472956 + r472958;
return r472959;
}
double f(double d1, double d2, double d3) {
double r472960 = d1;
double r472961 = d3;
double r472962 = 5.0;
double r472963 = r472961 + r472962;
double r472964 = 32.0;
double r472965 = r472963 + r472964;
double r472966 = r472960 * r472965;
double r472967 = d2;
double r472968 = r472960 * r472967;
double r472969 = r472966 + r472968;
return r472969;
}




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