\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(32 + \left(d2 + \left(d3 + 5\right)\right)\right)
double f(double d1, double d2, double d3) {
double r217054 = d1;
double r217055 = d2;
double r217056 = r217054 * r217055;
double r217057 = d3;
double r217058 = 5.0;
double r217059 = r217057 + r217058;
double r217060 = r217059 * r217054;
double r217061 = r217056 + r217060;
double r217062 = 32.0;
double r217063 = r217054 * r217062;
double r217064 = r217061 + r217063;
return r217064;
}
double f(double d1, double d2, double d3) {
double r217065 = d1;
double r217066 = 32.0;
double r217067 = d2;
double r217068 = d3;
double r217069 = 5.0;
double r217070 = r217068 + r217069;
double r217071 = r217067 + r217070;
double r217072 = r217066 + r217071;
double r217073 = r217065 * r217072;
return r217073;
}




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