\frac{x}{y} \cdot \left(z - t\right) + t\frac{\sqrt[3]{z - t}}{\frac{y}{\sqrt[3]{x}}} \cdot \left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}\right)\right) + tdouble f(double x, double y, double z, double t) {
double r19025097 = x;
double r19025098 = y;
double r19025099 = r19025097 / r19025098;
double r19025100 = z;
double r19025101 = t;
double r19025102 = r19025100 - r19025101;
double r19025103 = r19025099 * r19025102;
double r19025104 = r19025103 + r19025101;
return r19025104;
}
double f(double x, double y, double z, double t) {
double r19025105 = z;
double r19025106 = t;
double r19025107 = r19025105 - r19025106;
double r19025108 = cbrt(r19025107);
double r19025109 = y;
double r19025110 = x;
double r19025111 = cbrt(r19025110);
double r19025112 = r19025109 / r19025111;
double r19025113 = r19025108 / r19025112;
double r19025114 = r19025111 * r19025111;
double r19025115 = r19025108 * r19025108;
double r19025116 = r19025114 * r19025115;
double r19025117 = r19025113 * r19025116;
double r19025118 = r19025117 + r19025106;
return r19025118;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 2.1 |
|---|---|
| Target | 2.4 |
| Herbie | 1.8 |
Initial program 2.1
Taylor expanded around 0 6.4
Simplified2.0
rmApplied add-cube-cbrt2.5
Applied *-un-lft-identity2.5
Applied times-frac2.5
Applied add-cube-cbrt2.6
Applied times-frac1.8
Simplified1.8
Final simplification1.8
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x y z t)
:name "Numeric.Signal.Multichannel:$cget from hsignal-0.2.7.1"
:herbie-target
(if (< z 2.759456554562692e-282) (+ (* (/ x y) (- z t)) t) (if (< z 2.326994450874436e-110) (+ (* x (/ (- z t) y)) t) (+ (* (/ x y) (- z t)) t)))
(+ (* (/ x y) (- z t)) t))