\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 r473806 = x;
double r473807 = y;
double r473808 = r473806 * r473807;
double r473809 = z;
double r473810 = r473807 * r473809;
double r473811 = r473808 - r473810;
double r473812 = r473807 * r473807;
double r473813 = r473811 - r473812;
double r473814 = r473813 + r473812;
return r473814;
}
double f(double x, double y, double z) {
double r473815 = y;
double r473816 = x;
double r473817 = z;
double r473818 = r473816 - r473817;
double r473819 = r473815 * r473818;
return r473819;
}




Bits error versus x




Bits error versus y




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