\frac{x - y}{z - y} \cdot t\frac{1}{\frac{\sqrt[3]{z - y} \cdot \sqrt[3]{z - y}}{\sqrt[3]{x - y} \cdot \sqrt[3]{x - y}}} \cdot \frac{t}{\frac{\sqrt[3]{z - y}}{\sqrt[3]{x - y}}}double f(double x, double y, double z, double t) {
double r425111 = x;
double r425112 = y;
double r425113 = r425111 - r425112;
double r425114 = z;
double r425115 = r425114 - r425112;
double r425116 = r425113 / r425115;
double r425117 = t;
double r425118 = r425116 * r425117;
return r425118;
}
double f(double x, double y, double z, double t) {
double r425119 = 1.0;
double r425120 = z;
double r425121 = y;
double r425122 = r425120 - r425121;
double r425123 = cbrt(r425122);
double r425124 = r425123 * r425123;
double r425125 = x;
double r425126 = r425125 - r425121;
double r425127 = cbrt(r425126);
double r425128 = r425127 * r425127;
double r425129 = r425124 / r425128;
double r425130 = r425119 / r425129;
double r425131 = t;
double r425132 = r425123 / r425127;
double r425133 = r425131 / r425132;
double r425134 = r425130 * r425133;
return r425134;
}




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.1 |
Initial program 2.1
rmApplied clear-num2.3
rmApplied add-cube-cbrt3.3
Applied add-cube-cbrt2.9
Applied times-frac2.9
Applied *-un-lft-identity2.9
Applied times-frac2.8
Applied associate-*l*1.1
Simplified1.1
Final simplification1.1
herbie shell --seed 2020045
(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))