\left(\left(x \cdot y + y \cdot y\right) - y \cdot z\right) - y \cdot y
\left(x - z\right) \cdot y
double f(double x, double y, double z) {
double r10836245 = x;
double r10836246 = y;
double r10836247 = r10836245 * r10836246;
double r10836248 = r10836246 * r10836246;
double r10836249 = r10836247 + r10836248;
double r10836250 = z;
double r10836251 = r10836246 * r10836250;
double r10836252 = r10836249 - r10836251;
double r10836253 = r10836252 - r10836248;
return r10836253;
}
double f(double x, double y, double z) {
double r10836254 = x;
double r10836255 = z;
double r10836256 = r10836254 - r10836255;
double r10836257 = y;
double r10836258 = r10836256 * r10836257;
return r10836258;
}




Bits error versus x




Bits error versus y




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