\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(\left(d3 + 32\right) + \left(5 + d2\right)\right)
double f(double d1, double d2, double d3) {
double r264867 = d1;
double r264868 = d2;
double r264869 = r264867 * r264868;
double r264870 = d3;
double r264871 = 5.0;
double r264872 = r264870 + r264871;
double r264873 = r264872 * r264867;
double r264874 = r264869 + r264873;
double r264875 = 32.0;
double r264876 = r264867 * r264875;
double r264877 = r264874 + r264876;
return r264877;
}
double f(double d1, double d2, double d3) {
double r264878 = d1;
double r264879 = d3;
double r264880 = 32.0;
double r264881 = r264879 + r264880;
double r264882 = 5.0;
double r264883 = d2;
double r264884 = r264882 + r264883;
double r264885 = r264881 + r264884;
double r264886 = r264878 * r264885;
return r264886;
}




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 2019174 +o rules:numerics
(FPCore (d1 d2 d3)
:name "FastMath dist3"
:herbie-target
(* d1 (+ (+ 37.0 d3) d2))
(+ (+ (* d1 d2) (* (+ d3 5.0) d1)) (* d1 32.0)))