\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}x - \left(\frac{\frac{y}{z}}{3} - \frac{\frac{t}{z \cdot 3}}{y}\right)(FPCore (x y z t) :precision binary64 (+ (- x (/ y (* z 3.0))) (/ t (* (* z 3.0) y))))
(FPCore (x y z t) :precision binary64 (- x (- (/ (/ y z) 3.0) (/ (/ t (* z 3.0)) y))))
double code(double x, double y, double z, double t) {
return (x - (y / (z * 3.0))) + (t / ((z * 3.0) * y));
}
double code(double x, double y, double z, double t) {
return x - (((y / z) / 3.0) - ((t / (z * 3.0)) / y));
}




Bits error versus x




Bits error versus y




Bits error versus z




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