\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t\mathsf{fma}\left(-\frac{y}{2}, z, \mathsf{fma}\left(x, \frac{1}{8}, t\right)\right)double f(double x, double y, double z, double t) {
double r404489 = 1.0;
double r404490 = 8.0;
double r404491 = r404489 / r404490;
double r404492 = x;
double r404493 = r404491 * r404492;
double r404494 = y;
double r404495 = z;
double r404496 = r404494 * r404495;
double r404497 = 2.0;
double r404498 = r404496 / r404497;
double r404499 = r404493 - r404498;
double r404500 = t;
double r404501 = r404499 + r404500;
return r404501;
}
double f(double x, double y, double z, double t) {
double r404502 = y;
double r404503 = 2.0;
double r404504 = r404502 / r404503;
double r404505 = -r404504;
double r404506 = z;
double r404507 = x;
double r404508 = 1.0;
double r404509 = 8.0;
double r404510 = r404508 / r404509;
double r404511 = t;
double r404512 = fma(r404507, r404510, r404511);
double r404513 = fma(r404505, r404506, r404512);
return r404513;
}




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 2019347 +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))