\frac{x - y}{z - y} \cdot t\frac{x - y}{z - y} \cdot tdouble f(double x, double y, double z, double t) {
double r284169 = x;
double r284170 = y;
double r284171 = r284169 - r284170;
double r284172 = z;
double r284173 = r284172 - r284170;
double r284174 = r284171 / r284173;
double r284175 = t;
double r284176 = r284174 * r284175;
return r284176;
}
double f(double x, double y, double z, double t) {
double r284177 = x;
double r284178 = y;
double r284179 = r284177 - r284178;
double r284180 = z;
double r284181 = r284180 - r284178;
double r284182 = r284179 / r284181;
double r284183 = t;
double r284184 = r284182 * r284183;
return r284184;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 2.3 |
|---|---|
| Target | 2.2 |
| Herbie | 2.3 |
Initial program 2.3
rmApplied div-inv2.4
Applied associate-*l*10.8
Simplified10.7
rmApplied clear-num11.4
rmApplied associate-/r/10.8
Applied associate-*r*2.4
Simplified2.3
Final simplification2.3
herbie shell --seed 2019323 +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))