\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(\left(\left(d3 + 5\right) + 32\right) + d2\right)
double f(double d1, double d2, double d3) {
double r231099 = d1;
double r231100 = d2;
double r231101 = r231099 * r231100;
double r231102 = d3;
double r231103 = 5.0;
double r231104 = r231102 + r231103;
double r231105 = r231104 * r231099;
double r231106 = r231101 + r231105;
double r231107 = 32.0;
double r231108 = r231099 * r231107;
double r231109 = r231106 + r231108;
return r231109;
}
double f(double d1, double d2, double d3) {
double r231110 = d1;
double r231111 = d3;
double r231112 = 5.0;
double r231113 = r231111 + r231112;
double r231114 = 32.0;
double r231115 = r231113 + r231114;
double r231116 = d2;
double r231117 = r231115 + r231116;
double r231118 = r231110 * r231117;
return r231118;
}




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