\frac{x - y}{z - y} \cdot t\left(\frac{x}{z - y} - \frac{y}{z - y}\right) \cdot tdouble f(double x, double y, double z, double t) {
double r383445 = x;
double r383446 = y;
double r383447 = r383445 - r383446;
double r383448 = z;
double r383449 = r383448 - r383446;
double r383450 = r383447 / r383449;
double r383451 = t;
double r383452 = r383450 * r383451;
return r383452;
}
double f(double x, double y, double z, double t) {
double r383453 = x;
double r383454 = z;
double r383455 = y;
double r383456 = r383454 - r383455;
double r383457 = r383453 / r383456;
double r383458 = r383455 / r383456;
double r383459 = r383457 - r383458;
double r383460 = t;
double r383461 = r383459 * r383460;
return r383461;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 2.0 |
|---|---|
| Target | 2.1 |
| Herbie | 2.0 |
Initial program 2.0
rmApplied div-sub2.0
Final simplification2.0
herbie shell --seed 2019303 +o rules:numerics
(FPCore (x y z t)
:name "Numeric.Signal.Multichannel:$cput from hsignal-0.2.7.1"
:precision binary64
:herbie-target
(/ t (/ (- z y) (- x y)))
(* (/ (- x y) (- z y)) t))