\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
\left(37 + \left(d3 + d2\right)\right) \cdot d1
double f(double d1, double d2, double d3) {
double r10902821 = d1;
double r10902822 = d2;
double r10902823 = r10902821 * r10902822;
double r10902824 = d3;
double r10902825 = 5.0;
double r10902826 = r10902824 + r10902825;
double r10902827 = r10902826 * r10902821;
double r10902828 = r10902823 + r10902827;
double r10902829 = 32.0;
double r10902830 = r10902821 * r10902829;
double r10902831 = r10902828 + r10902830;
return r10902831;
}
double f(double d1, double d2, double d3) {
double r10902832 = 37.0;
double r10902833 = d3;
double r10902834 = d2;
double r10902835 = r10902833 + r10902834;
double r10902836 = r10902832 + r10902835;
double r10902837 = d1;
double r10902838 = r10902836 * r10902837;
return r10902838;
}




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