\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 r134696 = d1;
double r134697 = d2;
double r134698 = r134696 * r134697;
double r134699 = d3;
double r134700 = 5.0;
double r134701 = r134699 + r134700;
double r134702 = r134701 * r134696;
double r134703 = r134698 + r134702;
double r134704 = 32.0;
double r134705 = r134696 * r134704;
double r134706 = r134703 + r134705;
return r134706;
}
double f(double d1, double d2, double d3) {
double r134707 = d1;
double r134708 = d2;
double r134709 = d3;
double r134710 = 5.0;
double r134711 = r134709 + r134710;
double r134712 = 32.0;
double r134713 = r134711 + r134712;
double r134714 = r134708 + r134713;
double r134715 = r134707 * r134714;
return r134715;
}




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