\frac{x}{y - z \cdot t}\frac{x}{y - z \cdot t}double f(double x, double y, double z, double t) {
double r555375 = x;
double r555376 = y;
double r555377 = z;
double r555378 = t;
double r555379 = r555377 * r555378;
double r555380 = r555376 - r555379;
double r555381 = r555375 / r555380;
return r555381;
}
double f(double x, double y, double z, double t) {
double r555382 = x;
double r555383 = y;
double r555384 = z;
double r555385 = t;
double r555386 = r555384 * r555385;
double r555387 = r555383 - r555386;
double r555388 = r555382 / r555387;
return r555388;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 3.0 |
|---|---|
| Target | 1.8 |
| Herbie | 3.0 |
Initial program 3.0
Final simplification3.0
herbie shell --seed 1978988140
(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))))