\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 r210958 = d1;
double r210959 = d2;
double r210960 = r210958 * r210959;
double r210961 = d3;
double r210962 = 5.0;
double r210963 = r210961 + r210962;
double r210964 = r210963 * r210958;
double r210965 = r210960 + r210964;
double r210966 = 32.0;
double r210967 = r210958 * r210966;
double r210968 = r210965 + r210967;
return r210968;
}
double f(double d1, double d2, double d3) {
double r210969 = d1;
double r210970 = 32.0;
double r210971 = d2;
double r210972 = d3;
double r210973 = 5.0;
double r210974 = r210972 + r210973;
double r210975 = r210971 + r210974;
double r210976 = r210970 + r210975;
double r210977 = r210969 * r210976;
return r210977;
}




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