\left(\left(x \cdot y - y \cdot z\right) - y \cdot y\right) + y \cdot y
y \cdot \left(x - z\right)
double f(double x, double y, double z) {
double r411390 = x;
double r411391 = y;
double r411392 = r411390 * r411391;
double r411393 = z;
double r411394 = r411391 * r411393;
double r411395 = r411392 - r411394;
double r411396 = r411391 * r411391;
double r411397 = r411395 - r411396;
double r411398 = r411397 + r411396;
return r411398;
}
double f(double x, double y, double z) {
double r411399 = y;
double r411400 = x;
double r411401 = z;
double r411402 = r411400 - r411401;
double r411403 = r411399 * r411402;
return r411403;
}




Bits error versus x




Bits error versus y




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