\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 r558286 = x;
double r558287 = y;
double r558288 = r558286 * r558287;
double r558289 = r558287 * r558287;
double r558290 = r558288 - r558289;
double r558291 = r558290 + r558289;
double r558292 = z;
double r558293 = r558287 * r558292;
double r558294 = r558291 - r558293;
return r558294;
}
double f(double x, double y, double z) {
double r558295 = y;
double r558296 = x;
double r558297 = z;
double r558298 = r558296 - r558297;
double r558299 = r558295 * r558298;
return r558299;
}




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 +o rules:numerics
(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)))