\left(\left(x \cdot y - y \cdot z\right) - y \cdot y\right) + y \cdot y
\left(x - z\right) \cdot y
double f(double x, double y, double z) {
double r487024 = x;
double r487025 = y;
double r487026 = r487024 * r487025;
double r487027 = z;
double r487028 = r487025 * r487027;
double r487029 = r487026 - r487028;
double r487030 = r487025 * r487025;
double r487031 = r487029 - r487030;
double r487032 = r487031 + r487030;
return r487032;
}
double f(double x, double y, double z) {
double r487033 = x;
double r487034 = z;
double r487035 = r487033 - r487034;
double r487036 = y;
double r487037 = r487035 * r487036;
return r487037;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 17.3 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 17.3
Simplified0.0
Final simplification0.0
herbie shell --seed 2019194
(FPCore (x y z)
:name "Linear.Quaternion:$c/ from linear-1.19.1.3, B"
:herbie-target
(* (- x z) y)
(+ (- (- (* x y) (* y z)) (* y y)) (* y y)))