\left(\left(x \cdot y - y \cdot y\right) + y \cdot y\right) - y \cdot z
\left(x - z\right) \cdot y
double f(double x, double y, double z) {
double r477457 = x;
double r477458 = y;
double r477459 = r477457 * r477458;
double r477460 = r477458 * r477458;
double r477461 = r477459 - r477460;
double r477462 = r477461 + r477460;
double r477463 = z;
double r477464 = r477458 * r477463;
double r477465 = r477462 - r477464;
return r477465;
}
double f(double x, double y, double z) {
double r477466 = x;
double r477467 = z;
double r477468 = r477466 - r477467;
double r477469 = y;
double r477470 = r477468 * r477469;
return r477470;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 12.6 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 12.6
Simplified0.0
Final simplification0.0
herbie shell --seed 2019194
(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)))