\left(d1 \cdot 3 + d1 \cdot d2\right) + d1 \cdot d3
\left(d1 \cdot 3 + d2 \cdot d1\right) + d1 \cdot d3
double f(double d1, double d2, double d3) {
double r9701961 = d1;
double r9701962 = 3.0;
double r9701963 = r9701961 * r9701962;
double r9701964 = d2;
double r9701965 = r9701961 * r9701964;
double r9701966 = r9701963 + r9701965;
double r9701967 = d3;
double r9701968 = r9701961 * r9701967;
double r9701969 = r9701966 + r9701968;
return r9701969;
}
double f(double d1, double d2, double d3) {
double r9701970 = d1;
double r9701971 = 3.0;
double r9701972 = r9701970 * r9701971;
double r9701973 = d2;
double r9701974 = r9701973 * r9701970;
double r9701975 = r9701972 + r9701974;
double r9701976 = d3;
double r9701977 = r9701970 * r9701976;
double r9701978 = r9701975 + r9701977;
return r9701978;
}




Bits error versus d1




Bits error versus d2




Bits error versus d3
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019132
(FPCore (d1 d2 d3)
:name "FastMath test3"
:herbie-target
(* d1 (+ (+ 3 d2) d3))
(+ (+ (* d1 3) (* d1 d2)) (* d1 d3)))