\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(\left(d3 + \left(d2 + 32\right)\right) + 5\right)
double f(double d1, double d2, double d3) {
double r14160431 = d1;
double r14160432 = d2;
double r14160433 = r14160431 * r14160432;
double r14160434 = d3;
double r14160435 = 5.0;
double r14160436 = r14160434 + r14160435;
double r14160437 = r14160436 * r14160431;
double r14160438 = r14160433 + r14160437;
double r14160439 = 32.0;
double r14160440 = r14160431 * r14160439;
double r14160441 = r14160438 + r14160440;
return r14160441;
}
double f(double d1, double d2, double d3) {
double r14160442 = d1;
double r14160443 = d3;
double r14160444 = d2;
double r14160445 = 32.0;
double r14160446 = r14160444 + r14160445;
double r14160447 = r14160443 + r14160446;
double r14160448 = 5.0;
double r14160449 = r14160447 + r14160448;
double r14160450 = r14160442 * r14160449;
return r14160450;
}




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
rmApplied *-un-lft-identity0.0
Applied associate-*r*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019170
(FPCore (d1 d2 d3)
:name "FastMath dist3"
:herbie-target
(* d1 (+ (+ 37.0 d3) d2))
(+ (+ (* d1 d2) (* (+ d3 5.0) d1)) (* d1 32.0)))