\left(\left(x \cdot y - y \cdot z\right) - y \cdot y\right) + y \cdot y
x \cdot y + \left(-z\right) \cdot y
double f(double x, double y, double z) {
double r795094 = x;
double r795095 = y;
double r795096 = r795094 * r795095;
double r795097 = z;
double r795098 = r795095 * r795097;
double r795099 = r795096 - r795098;
double r795100 = r795095 * r795095;
double r795101 = r795099 - r795100;
double r795102 = r795101 + r795100;
return r795102;
}
double f(double x, double y, double z) {
double r795103 = x;
double r795104 = y;
double r795105 = r795103 * r795104;
double r795106 = z;
double r795107 = -r795106;
double r795108 = r795107 * r795104;
double r795109 = r795105 + r795108;
return r795109;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 17.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 17.2
Simplified0.0
rmApplied sub-neg0.0
Applied distribute-lft-in0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020047
(FPCore (x y z)
:name "Linear.Quaternion:$c/ from linear-1.19.1.3, B"
:precision binary64
:herbie-target
(* (- x z) y)
(+ (- (- (* x y) (* y z)) (* y y)) (* y y)))