\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 r8331118 = d1;
double r8331119 = d2;
double r8331120 = r8331118 * r8331119;
double r8331121 = d3;
double r8331122 = 5.0;
double r8331123 = r8331121 + r8331122;
double r8331124 = r8331123 * r8331118;
double r8331125 = r8331120 + r8331124;
double r8331126 = 32.0;
double r8331127 = r8331118 * r8331126;
double r8331128 = r8331125 + r8331127;
return r8331128;
}
double f(double d1, double d2, double d3) {
double r8331129 = d1;
double r8331130 = d3;
double r8331131 = d2;
double r8331132 = 32.0;
double r8331133 = r8331131 + r8331132;
double r8331134 = r8331130 + r8331133;
double r8331135 = 5.0;
double r8331136 = r8331134 + r8331135;
double r8331137 = r8331129 * r8331136;
return r8331137;
}




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 2019172
(FPCore (d1 d2 d3)
:name "FastMath dist3"
:herbie-target
(* d1 (+ (+ 37.0 d3) d2))
(+ (+ (* d1 d2) (* (+ d3 5.0) d1)) (* d1 32.0)))