\left(\left(x \cdot y - y \cdot y\right) + y \cdot y\right) - y \cdot z
y \cdot x - y \cdot z
double f(double x, double y, double z) {
double r383740 = x;
double r383741 = y;
double r383742 = r383740 * r383741;
double r383743 = r383741 * r383741;
double r383744 = r383742 - r383743;
double r383745 = r383744 + r383743;
double r383746 = z;
double r383747 = r383741 * r383746;
double r383748 = r383745 - r383747;
return r383748;
}
double f(double x, double y, double z) {
double r383749 = y;
double r383750 = x;
double r383751 = r383749 * r383750;
double r383752 = z;
double r383753 = r383749 * r383752;
double r383754 = r383751 - r383753;
return r383754;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 13.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 13.2
rmApplied sub-neg13.2
Applied associate-+l+8.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019212
(FPCore (x y z)
:name "Linear.Quaternion:$c/ from linear-1.19.1.3, D"
:precision binary64
:herbie-target
(* (- x z) y)
(- (+ (- (* x y) (* y y)) (* y y)) (* y z)))