\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 r12017674 = x;
double r12017675 = y;
double r12017676 = r12017674 * r12017675;
double r12017677 = r12017675 * r12017675;
double r12017678 = r12017676 + r12017677;
double r12017679 = z;
double r12017680 = r12017675 * r12017679;
double r12017681 = r12017678 - r12017680;
double r12017682 = r12017681 - r12017677;
return r12017682;
}
double f(double x, double y, double z) {
double r12017683 = x;
double r12017684 = z;
double r12017685 = r12017683 - r12017684;
double r12017686 = y;
double r12017687 = r12017685 * r12017686;
return r12017687;
}




Bits error versus x




Bits error versus y




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