\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 r634534 = 1.0;
double r634535 = 8.0;
double r634536 = r634534 / r634535;
double r634537 = x;
double r634538 = r634536 * r634537;
double r634539 = y;
double r634540 = z;
double r634541 = r634539 * r634540;
double r634542 = 2.0;
double r634543 = r634541 / r634542;
double r634544 = r634538 - r634543;
double r634545 = t;
double r634546 = r634544 + r634545;
return r634546;
}
double f(double x, double y, double z, double t) {
double r634547 = x;
double r634548 = 8.0;
double r634549 = r634547 / r634548;
double r634550 = 1.0;
double r634551 = y;
double r634552 = 2.0;
double r634553 = r634551 / r634552;
double r634554 = -r634553;
double r634555 = z;
double r634556 = t;
double r634557 = fma(r634554, r634555, r634556);
double r634558 = fma(r634549, r634550, r634557);
return r634558;
}




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