\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\left(x - \frac{\frac{y}{z}}{3}\right) + \frac{\frac{\frac{t}{z}}{3}}{y}double f(double x, double y, double z, double t) {
double r848084 = x;
double r848085 = y;
double r848086 = z;
double r848087 = 3.0;
double r848088 = r848086 * r848087;
double r848089 = r848085 / r848088;
double r848090 = r848084 - r848089;
double r848091 = t;
double r848092 = r848088 * r848085;
double r848093 = r848091 / r848092;
double r848094 = r848090 + r848093;
return r848094;
}
double f(double x, double y, double z, double t) {
double r848095 = x;
double r848096 = y;
double r848097 = z;
double r848098 = r848096 / r848097;
double r848099 = 3.0;
double r848100 = r848098 / r848099;
double r848101 = r848095 - r848100;
double r848102 = t;
double r848103 = r848102 / r848097;
double r848104 = r848103 / r848099;
double r848105 = r848104 / r848096;
double r848106 = r848101 + r848105;
return r848106;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 3.4 |
|---|---|
| Target | 1.5 |
| Herbie | 1.5 |
Initial program 3.4
rmApplied associate-/r*1.5
rmApplied associate-/r*1.5
rmApplied associate-/r*1.5
Final simplification1.5
herbie shell --seed 2020065
(FPCore (x y z t)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, H"
:precision binary64
:herbie-target
(+ (- x (/ y (* z 3))) (/ (/ t (* z 3)) y))
(+ (- x (/ y (* z 3))) (/ t (* (* z 3) y))))