\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 r160434 = d1;
double r160435 = d2;
double r160436 = r160434 * r160435;
double r160437 = d3;
double r160438 = 5.0;
double r160439 = r160437 + r160438;
double r160440 = r160439 * r160434;
double r160441 = r160436 + r160440;
double r160442 = 32.0;
double r160443 = r160434 * r160442;
double r160444 = r160441 + r160443;
return r160444;
}
double f(double d1, double d2, double d3) {
double r160445 = d1;
double r160446 = d3;
double r160447 = 5.0;
double r160448 = r160446 + r160447;
double r160449 = 32.0;
double r160450 = r160448 + r160449;
double r160451 = d2;
double r160452 = r160450 + r160451;
double r160453 = r160445 * r160452;
return r160453;
}




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