\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t\mathsf{fma}\left(\frac{x}{8}, 1, \mathsf{fma}\left(-\frac{y}{2}, z, t\right)\right)double f(double x, double y, double z, double t) {
double r780415 = 1.0;
double r780416 = 8.0;
double r780417 = r780415 / r780416;
double r780418 = x;
double r780419 = r780417 * r780418;
double r780420 = y;
double r780421 = z;
double r780422 = r780420 * r780421;
double r780423 = 2.0;
double r780424 = r780422 / r780423;
double r780425 = r780419 - r780424;
double r780426 = t;
double r780427 = r780425 + r780426;
return r780427;
}
double f(double x, double y, double z, double t) {
double r780428 = x;
double r780429 = 8.0;
double r780430 = r780428 / r780429;
double r780431 = 1.0;
double r780432 = y;
double r780433 = 2.0;
double r780434 = r780432 / r780433;
double r780435 = -r780434;
double r780436 = z;
double r780437 = t;
double r780438 = fma(r780435, r780436, r780437);
double r780439 = fma(r780430, r780431, r780438);
return r780439;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020025 +o rules:numerics
(FPCore (x y z t)
:name "Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, B"
:precision binary64
:herbie-target
(- (+ (/ x 8) t) (* (/ z 2) y))
(+ (- (* (/ 1 8) x) (/ (* y z) 2)) t))