\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 r196792 = d1;
double r196793 = 3.0;
double r196794 = r196792 * r196793;
double r196795 = d2;
double r196796 = r196792 * r196795;
double r196797 = r196794 + r196796;
double r196798 = d3;
double r196799 = r196792 * r196798;
double r196800 = r196797 + r196799;
return r196800;
}
double f(double d1, double d2, double d3) {
double r196801 = d1;
double r196802 = 3.0;
double r196803 = r196801 * r196802;
double r196804 = d2;
double r196805 = r196804 * r196801;
double r196806 = r196803 + r196805;
double r196807 = d3;
double r196808 = r196801 * r196807;
double r196809 = r196806 + r196808;
return r196809;
}




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 2019194
(FPCore (d1 d2 d3)
:name "FastMath test3"
:herbie-target
(* d1 (+ (+ 3.0 d2) d3))
(+ (+ (* d1 3.0) (* d1 d2)) (* d1 d3)))