\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
d1 \cdot \left(d4 + \left(\left(d2 - d1\right) - d3\right)\right)
double f(double d1, double d2, double d3, double d4) {
double r10761169 = d1;
double r10761170 = d2;
double r10761171 = r10761169 * r10761170;
double r10761172 = d3;
double r10761173 = r10761169 * r10761172;
double r10761174 = r10761171 - r10761173;
double r10761175 = d4;
double r10761176 = r10761175 * r10761169;
double r10761177 = r10761174 + r10761176;
double r10761178 = r10761169 * r10761169;
double r10761179 = r10761177 - r10761178;
return r10761179;
}
double f(double d1, double d2, double d3, double d4) {
double r10761180 = d1;
double r10761181 = d4;
double r10761182 = d2;
double r10761183 = r10761182 - r10761180;
double r10761184 = d3;
double r10761185 = r10761183 - r10761184;
double r10761186 = r10761181 + r10761185;
double r10761187 = r10761180 * r10761186;
return r10761187;
}




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
Simplified0.0
Final simplification0.0
herbie shell --seed 2019174
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
:herbie-target
(* d1 (- (+ (- d2 d3) d4) d1))
(- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))