\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 r24794997 = x;
double r24794998 = y;
double r24794999 = r24794997 * r24794998;
double r24795000 = z;
double r24795001 = r24794998 * r24795000;
double r24795002 = r24794999 - r24795001;
double r24795003 = r24794998 * r24794998;
double r24795004 = r24795002 - r24795003;
double r24795005 = r24795004 + r24795003;
return r24795005;
}
double f(double x, double y, double z) {
double r24795006 = x;
double r24795007 = z;
double r24795008 = r24795006 - r24795007;
double r24795009 = y;
double r24795010 = r24795008 * r24795009;
return r24795010;
}




Bits error versus x




Bits error versus y




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