\frac{x}{y - z \cdot t}\frac{x}{y - z \cdot t}double f(double x, double y, double z, double t) {
double r529496 = x;
double r529497 = y;
double r529498 = z;
double r529499 = t;
double r529500 = r529498 * r529499;
double r529501 = r529497 - r529500;
double r529502 = r529496 / r529501;
return r529502;
}
double f(double x, double y, double z, double t) {
double r529503 = x;
double r529504 = y;
double r529505 = z;
double r529506 = t;
double r529507 = r529505 * r529506;
double r529508 = r529504 - r529507;
double r529509 = r529503 / r529508;
return r529509;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 3.0 |
|---|---|
| Target | 1.6 |
| Herbie | 3.0 |
Initial program 3.0
Final simplification3.0
herbie shell --seed 2019297
(FPCore (x y z t)
:name "Diagrams.Solve.Tridiagonal:solveTriDiagonal from diagrams-solve-0.1, B"
:precision binary64
:herbie-target
(if (< x -1.618195973607049e50) (/ 1 (- (/ y x) (* (/ z x) t))) (if (< x 2.13783064348764444e131) (/ x (- y (* z t))) (/ 1 (- (/ y x) (* (/ z x) t)))))
(/ x (- y (* z t))))