\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
\left(\left(d1 \cdot d2 - d3 \cdot d1\right) + d1 \cdot d4\right) - d1 \cdot d1
double f(double d1, double d2, double d3, double d4) {
double r7311906 = d1;
double r7311907 = d2;
double r7311908 = r7311906 * r7311907;
double r7311909 = d3;
double r7311910 = r7311906 * r7311909;
double r7311911 = r7311908 - r7311910;
double r7311912 = d4;
double r7311913 = r7311912 * r7311906;
double r7311914 = r7311911 + r7311913;
double r7311915 = r7311906 * r7311906;
double r7311916 = r7311914 - r7311915;
return r7311916;
}
double f(double d1, double d2, double d3, double d4) {
double r7311917 = d1;
double r7311918 = d2;
double r7311919 = r7311917 * r7311918;
double r7311920 = d3;
double r7311921 = r7311920 * r7311917;
double r7311922 = r7311919 - r7311921;
double r7311923 = d4;
double r7311924 = r7311917 * r7311923;
double r7311925 = r7311922 + r7311924;
double r7311926 = r7311917 * r7311917;
double r7311927 = r7311925 - r7311926;
return r7311927;
}




Bits error versus d1




Bits error versus d2




Bits error versus d3




Bits error versus d4
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019169
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
:herbie-target
(* d1 (- (+ (- d2 d3) d4) d1))
(- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))