\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(d2 + \left(\left(d3 + 5\right) + 32\right)\right)
double f(double d1, double d2, double d3) {
double r420081 = d1;
double r420082 = d2;
double r420083 = r420081 * r420082;
double r420084 = d3;
double r420085 = 5.0;
double r420086 = r420084 + r420085;
double r420087 = r420086 * r420081;
double r420088 = r420083 + r420087;
double r420089 = 32.0;
double r420090 = r420081 * r420089;
double r420091 = r420088 + r420090;
return r420091;
}
double f(double d1, double d2, double d3) {
double r420092 = d1;
double r420093 = d2;
double r420094 = d3;
double r420095 = 5.0;
double r420096 = r420094 + r420095;
double r420097 = 32.0;
double r420098 = r420096 + r420097;
double r420099 = r420093 + r420098;
double r420100 = r420092 * r420099;
return r420100;
}




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