\frac{x - y}{z - y} \cdot t\frac{t}{\frac{z - y}{x - y}} \cdot \left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right)double f(double x, double y, double z, double t) {
double r430867 = x;
double r430868 = y;
double r430869 = r430867 - r430868;
double r430870 = z;
double r430871 = r430870 - r430868;
double r430872 = r430869 / r430871;
double r430873 = t;
double r430874 = r430872 * r430873;
return r430874;
}
double f(double x, double y, double z, double t) {
double r430875 = t;
double r430876 = z;
double r430877 = y;
double r430878 = r430876 - r430877;
double r430879 = x;
double r430880 = r430879 - r430877;
double r430881 = r430878 / r430880;
double r430882 = r430875 / r430881;
double r430883 = 1.0;
double r430884 = cbrt(r430883);
double r430885 = r430884 * r430884;
double r430886 = r430882 * r430885;
return r430886;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 2.1 |
|---|---|
| Target | 2.1 |
| Herbie | 2.1 |
Initial program 2.1
rmApplied clear-num2.3
rmApplied *-un-lft-identity2.3
Applied *-un-lft-identity2.3
Applied times-frac2.3
Applied add-cube-cbrt2.3
Applied times-frac2.3
Applied associate-*l*2.3
Simplified2.1
Final simplification2.1
herbie shell --seed 2020100
(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))