\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 r213466 = d1;
double r213467 = d2;
double r213468 = r213466 * r213467;
double r213469 = d3;
double r213470 = 5.0;
double r213471 = r213469 + r213470;
double r213472 = r213471 * r213466;
double r213473 = r213468 + r213472;
double r213474 = 32.0;
double r213475 = r213466 * r213474;
double r213476 = r213473 + r213475;
return r213476;
}
double f(double d1, double d2, double d3) {
double r213477 = d1;
double r213478 = d2;
double r213479 = d3;
double r213480 = 5.0;
double r213481 = r213479 + r213480;
double r213482 = 32.0;
double r213483 = r213481 + r213482;
double r213484 = r213478 + r213483;
double r213485 = r213477 * r213484;
return r213485;
}




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