\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 r473194 = x;
double r473195 = y;
double r473196 = r473194 - r473195;
double r473197 = z;
double r473198 = r473197 - r473195;
double r473199 = r473196 / r473198;
double r473200 = t;
double r473201 = r473199 * r473200;
return r473201;
}
double f(double x, double y, double z, double t) {
double r473202 = x;
double r473203 = y;
double r473204 = r473202 - r473203;
double r473205 = cbrt(r473204);
double r473206 = r473205 * r473205;
double r473207 = z;
double r473208 = r473207 - r473203;
double r473209 = cbrt(r473208);
double r473210 = r473209 * r473209;
double r473211 = r473206 / r473210;
double r473212 = r473205 / r473209;
double r473213 = t;
double r473214 = r473212 * r473213;
double r473215 = r473211 * r473214;
return r473215;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 2.2 |
|---|---|
| Target | 2.3 |
| Herbie | 1.1 |
Initial program 2.2
rmApplied add-cube-cbrt3.2
Applied add-cube-cbrt2.9
Applied times-frac2.9
Applied associate-*l*1.1
Final simplification1.1
herbie shell --seed 2020034
(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))