\left(\left(x \cdot y - y \cdot y\right) + y \cdot y\right) - y \cdot z
\left(-z\right) \cdot y + y \cdot x
double f(double x, double y, double z) {
double r8995210 = x;
double r8995211 = y;
double r8995212 = r8995210 * r8995211;
double r8995213 = r8995211 * r8995211;
double r8995214 = r8995212 - r8995213;
double r8995215 = r8995214 + r8995213;
double r8995216 = z;
double r8995217 = r8995211 * r8995216;
double r8995218 = r8995215 - r8995217;
return r8995218;
}
double f(double x, double y, double z) {
double r8995219 = z;
double r8995220 = -r8995219;
double r8995221 = y;
double r8995222 = r8995220 * r8995221;
double r8995223 = x;
double r8995224 = r8995221 * r8995223;
double r8995225 = r8995222 + r8995224;
return r8995225;
}




Bits error versus x




Bits error versus y




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