\left(d1 \cdot 3 + d1 \cdot d2\right) + d1 \cdot d3
d1 \cdot \left(\left(3 + d2\right) + d3\right)
double f(double d1, double d2, double d3) {
double r419236 = d1;
double r419237 = 3.0;
double r419238 = r419236 * r419237;
double r419239 = d2;
double r419240 = r419236 * r419239;
double r419241 = r419238 + r419240;
double r419242 = d3;
double r419243 = r419236 * r419242;
double r419244 = r419241 + r419243;
return r419244;
}
double f(double d1, double d2, double d3) {
double r419245 = d1;
double r419246 = 3.0;
double r419247 = d2;
double r419248 = r419246 + r419247;
double r419249 = d3;
double r419250 = r419248 + r419249;
double r419251 = r419245 * r419250;
return r419251;
}




Bits error versus d1




Bits error versus d2




Bits error versus d3
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019198
(FPCore (d1 d2 d3)
:name "FastMath test3"
:herbie-target
(* d1 (+ (+ 3.0 d2) d3))
(+ (+ (* d1 3.0) (* d1 d2)) (* d1 d3)))