\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 r50938 = 1.0;
double r50939 = 8.0;
double r50940 = r50938 / r50939;
double r50941 = x;
double r50942 = r50940 * r50941;
double r50943 = y;
double r50944 = z;
double r50945 = r50943 * r50944;
double r50946 = 2.0;
double r50947 = r50945 / r50946;
double r50948 = r50942 - r50947;
double r50949 = t;
double r50950 = r50948 + r50949;
return r50950;
}
double f(double x, double y, double z, double t) {
double r50951 = y;
double r50952 = 2.0;
double r50953 = r50951 / r50952;
double r50954 = -r50953;
double r50955 = z;
double r50956 = x;
double r50957 = 1.0;
double r50958 = 8.0;
double r50959 = r50957 / r50958;
double r50960 = t;
double r50961 = fma(r50956, r50959, r50960);
double r50962 = fma(r50954, r50955, r50961);
return r50962;
}




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