\frac{x \cdot y}{z}\frac{x \cdot y}{z}(FPCore (x y z) :precision binary64 (/ (* x y) z))
(FPCore (x y z) :precision binary64 (/ (* x y) z))
double code(double x, double y, double z) {
return (x * y) / z;
}
double code(double x, double y, double z) {
return (x * y) / z;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 5.9 |
|---|---|
| Target | 6.1 |
| Herbie | 5.9 |
Initial program 5.9
herbie shell --seed 2021042
(FPCore (x y z)
:name "Diagrams.Solve.Tridiagonal:solveCyclicTriDiagonal from diagrams-solve-0.1, A"
:precision binary64
:herbie-target
(if (< z -4.262230790519429e-138) (/ (* x y) z) (if (< z 1.7042130660650472e-164) (/ x (/ z y)) (* (/ x z) y)))
(/ (* x y) z))