\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 r688358 = 1.0;
double r688359 = 8.0;
double r688360 = r688358 / r688359;
double r688361 = x;
double r688362 = r688360 * r688361;
double r688363 = y;
double r688364 = z;
double r688365 = r688363 * r688364;
double r688366 = 2.0;
double r688367 = r688365 / r688366;
double r688368 = r688362 - r688367;
double r688369 = t;
double r688370 = r688368 + r688369;
return r688370;
}
double f(double x, double y, double z, double t) {
double r688371 = x;
double r688372 = 8.0;
double r688373 = r688371 / r688372;
double r688374 = 1.0;
double r688375 = y;
double r688376 = 2.0;
double r688377 = r688375 / r688376;
double r688378 = -r688377;
double r688379 = z;
double r688380 = t;
double r688381 = fma(r688378, r688379, r688380);
double r688382 = fma(r688373, r688374, r688381);
return r688382;
}




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