\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(\left(\left(d3 + 5\right) + 32\right) + d2\right)
double f(double d1, double d2, double d3) {
double r226237 = d1;
double r226238 = d2;
double r226239 = r226237 * r226238;
double r226240 = d3;
double r226241 = 5.0;
double r226242 = r226240 + r226241;
double r226243 = r226242 * r226237;
double r226244 = r226239 + r226243;
double r226245 = 32.0;
double r226246 = r226237 * r226245;
double r226247 = r226244 + r226246;
return r226247;
}
double f(double d1, double d2, double d3) {
double r226248 = d1;
double r226249 = d3;
double r226250 = 5.0;
double r226251 = r226249 + r226250;
double r226252 = 32.0;
double r226253 = r226251 + r226252;
double r226254 = d2;
double r226255 = r226253 + r226254;
double r226256 = r226248 * r226255;
return r226256;
}




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 2019198 +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)))