\frac{x - y}{z - y} \cdot t\frac{\sqrt[3]{x - y} \cdot \sqrt[3]{x - y}}{\sqrt[3]{z - y} \cdot \sqrt[3]{z - y}} \cdot \left(\frac{\sqrt[3]{x - y}}{\sqrt[3]{z - y}} \cdot t\right)double f(double x, double y, double z, double t) {
double r343160 = x;
double r343161 = y;
double r343162 = r343160 - r343161;
double r343163 = z;
double r343164 = r343163 - r343161;
double r343165 = r343162 / r343164;
double r343166 = t;
double r343167 = r343165 * r343166;
return r343167;
}
double f(double x, double y, double z, double t) {
double r343168 = x;
double r343169 = y;
double r343170 = r343168 - r343169;
double r343171 = cbrt(r343170);
double r343172 = r343171 * r343171;
double r343173 = z;
double r343174 = r343173 - r343169;
double r343175 = cbrt(r343174);
double r343176 = r343175 * r343175;
double r343177 = r343172 / r343176;
double r343178 = r343171 / r343175;
double r343179 = t;
double r343180 = r343178 * r343179;
double r343181 = r343177 * r343180;
return r343181;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 2.1 |
|---|---|
| Target | 2.1 |
| Herbie | 1.0 |
Initial program 2.1
rmApplied add-cube-cbrt3.1
Applied add-cube-cbrt2.8
Applied times-frac2.8
Applied associate-*l*1.0
Final simplification1.0
herbie shell --seed 2019305
(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))