\left(\left(x \cdot y - y \cdot y\right) + y \cdot y\right) - y \cdot z
y \cdot \left(x - z\right)
double f(double x, double y, double z) {
double r528196 = x;
double r528197 = y;
double r528198 = r528196 * r528197;
double r528199 = r528197 * r528197;
double r528200 = r528198 - r528199;
double r528201 = r528200 + r528199;
double r528202 = z;
double r528203 = r528197 * r528202;
double r528204 = r528201 - r528203;
return r528204;
}
double f(double x, double y, double z) {
double r528205 = y;
double r528206 = x;
double r528207 = z;
double r528208 = r528206 - r528207;
double r528209 = r528205 * r528208;
return r528209;
}




Bits error versus x




Bits error versus y




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