double f(double d1, double d2, double d3) {
double r56598962 = d1;
double r56598963 = 3.0;
double r56598964 = r56598962 * r56598963;
double r56598965 = d2;
double r56598966 = r56598962 * r56598965;
double r56598967 = r56598964 + r56598966;
double r56598968 = d3;
double r56598969 = r56598962 * r56598968;
double r56598970 = r56598967 + r56598969;
return r56598970;
}
double f(double d1, double d2, double d3) {
double r56598971 = d3;
double r56598972 = d2;
double r56598973 = 3.0;
double r56598974 = r56598972 + r56598973;
double r56598975 = r56598971 + r56598974;
double r56598976 = d1;
double r56598977 = r56598975 * r56598976;
return r56598977;
}
\left(d1 \cdot 3 + d1 \cdot d2\right) + d1 \cdot d3
\left(d3 + \left(d2 + 3\right)\right) \cdot d1




Bits error versus d1




Bits error versus d2




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