\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot \left(32 + \left(d2 + \left(d3 + 5\right)\right)\right)
double f(double d1, double d2, double d3) {
double r184880 = d1;
double r184881 = d2;
double r184882 = r184880 * r184881;
double r184883 = d3;
double r184884 = 5.0;
double r184885 = r184883 + r184884;
double r184886 = r184885 * r184880;
double r184887 = r184882 + r184886;
double r184888 = 32.0;
double r184889 = r184880 * r184888;
double r184890 = r184887 + r184889;
return r184890;
}
double f(double d1, double d2, double d3) {
double r184891 = d1;
double r184892 = 32.0;
double r184893 = d2;
double r184894 = d3;
double r184895 = 5.0;
double r184896 = r184894 + r184895;
double r184897 = r184893 + r184896;
double r184898 = r184892 + r184897;
double r184899 = r184891 * r184898;
return r184899;
}




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