\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 r649888 = x;
double r649889 = y;
double r649890 = r649888 * r649889;
double r649891 = r649889 * r649889;
double r649892 = r649890 - r649891;
double r649893 = r649892 + r649891;
double r649894 = z;
double r649895 = r649889 * r649894;
double r649896 = r649893 - r649895;
return r649896;
}
double f(double x, double y, double z) {
double r649897 = x;
double r649898 = z;
double r649899 = r649897 - r649898;
double r649900 = y;
double r649901 = r649899 * r649900;
return r649901;
}




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
Final simplification0.0
herbie shell --seed 2020047
(FPCore (x y z)
:name "Linear.Quaternion:$c/ from linear-1.19.1.3, D"
:precision binary64
:herbie-target
(* (- x z) y)
(- (+ (- (* x y) (* y y)) (* y y)) (* y z)))