\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
\mathsf{fma}\left(37, d1, \mathsf{fma}\left(d1, d3, d1 \cdot d2\right)\right)double f(double d1, double d2, double d3) {
double r191955 = d1;
double r191956 = d2;
double r191957 = r191955 * r191956;
double r191958 = d3;
double r191959 = 5.0;
double r191960 = r191958 + r191959;
double r191961 = r191960 * r191955;
double r191962 = r191957 + r191961;
double r191963 = 32.0;
double r191964 = r191955 * r191963;
double r191965 = r191962 + r191964;
return r191965;
}
double f(double d1, double d2, double d3) {
double r191966 = 37.0;
double r191967 = d1;
double r191968 = d3;
double r191969 = d2;
double r191970 = r191967 * r191969;
double r191971 = fma(r191967, r191968, r191970);
double r191972 = fma(r191966, r191967, r191971);
return r191972;
}




Bits error versus d1




Bits error versus d2




Bits error versus d3
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020036 +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)))