\left(\left(x \cdot y + y \cdot y\right) - y \cdot z\right) - y \cdot y
\left(-z\right) \cdot y + y \cdot x
double f(double x, double y, double z) {
double r330930 = x;
double r330931 = y;
double r330932 = r330930 * r330931;
double r330933 = r330931 * r330931;
double r330934 = r330932 + r330933;
double r330935 = z;
double r330936 = r330931 * r330935;
double r330937 = r330934 - r330936;
double r330938 = r330937 - r330933;
return r330938;
}
double f(double x, double y, double z) {
double r330939 = z;
double r330940 = -r330939;
double r330941 = y;
double r330942 = r330940 * r330941;
double r330943 = x;
double r330944 = r330941 * r330943;
double r330945 = r330942 + r330944;
return r330945;
}




Bits error versus x




Bits error versus y




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