\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 r642325 = 1.0;
double r642326 = 8.0;
double r642327 = r642325 / r642326;
double r642328 = x;
double r642329 = r642327 * r642328;
double r642330 = y;
double r642331 = z;
double r642332 = r642330 * r642331;
double r642333 = 2.0;
double r642334 = r642332 / r642333;
double r642335 = r642329 - r642334;
double r642336 = t;
double r642337 = r642335 + r642336;
return r642337;
}
double f(double x, double y, double z, double t) {
double r642338 = x;
double r642339 = 8.0;
double r642340 = r642338 / r642339;
double r642341 = 1.0;
double r642342 = y;
double r642343 = 2.0;
double r642344 = r642342 / r642343;
double r642345 = -r642344;
double r642346 = z;
double r642347 = t;
double r642348 = fma(r642345, r642346, r642347);
double r642349 = fma(r642340, r642341, r642348);
return r642349;
}




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