\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
\left(\left(\left(d2 + d3\right) + 32\right) + 5\right) \cdot d1
double f(double d1, double d2, double d3) {
double r308140 = d1;
double r308141 = d2;
double r308142 = r308140 * r308141;
double r308143 = d3;
double r308144 = 5.0;
double r308145 = r308143 + r308144;
double r308146 = r308145 * r308140;
double r308147 = r308142 + r308146;
double r308148 = 32.0;
double r308149 = r308140 * r308148;
double r308150 = r308147 + r308149;
return r308150;
}
double f(double d1, double d2, double d3) {
double r308151 = d2;
double r308152 = d3;
double r308153 = r308151 + r308152;
double r308154 = 32.0;
double r308155 = r308153 + r308154;
double r308156 = 5.0;
double r308157 = r308155 + r308156;
double r308158 = d1;
double r308159 = r308157 * r308158;
return r308159;
}




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