\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\sqrt[3]{\sqrt[3]{\frac{x \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}\right)\right)}{y}} \cdot \left(\sqrt[3]{\frac{x \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}\right)\right)}{y}} \cdot \sqrt[3]{\frac{x \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}\right)\right)}{y}}\right)} \cdot \left(\sqrt[3]{\frac{x \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}\right)\right)}{y}} \cdot \sqrt[3]{\frac{x \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}\right)\right)}{y}}\right)double f(double x, double y, double z, double t, double a, double b) {
double r3844274 = x;
double r3844275 = y;
double r3844276 = z;
double r3844277 = log(r3844276);
double r3844278 = r3844275 * r3844277;
double r3844279 = t;
double r3844280 = 1.0;
double r3844281 = r3844279 - r3844280;
double r3844282 = a;
double r3844283 = log(r3844282);
double r3844284 = r3844281 * r3844283;
double r3844285 = r3844278 + r3844284;
double r3844286 = b;
double r3844287 = r3844285 - r3844286;
double r3844288 = exp(r3844287);
double r3844289 = r3844274 * r3844288;
double r3844290 = r3844289 / r3844275;
return r3844290;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3844291 = x;
double r3844292 = a;
double r3844293 = log(r3844292);
double r3844294 = t;
double r3844295 = 1.0;
double r3844296 = r3844294 - r3844295;
double r3844297 = r3844293 * r3844296;
double r3844298 = z;
double r3844299 = log(r3844298);
double r3844300 = y;
double r3844301 = r3844299 * r3844300;
double r3844302 = r3844297 + r3844301;
double r3844303 = b;
double r3844304 = r3844302 - r3844303;
double r3844305 = exp(r3844304);
double r3844306 = cbrt(r3844305);
double r3844307 = r3844306 * r3844306;
double r3844308 = r3844306 * r3844307;
double r3844309 = r3844291 * r3844308;
double r3844310 = r3844309 / r3844300;
double r3844311 = cbrt(r3844310);
double r3844312 = r3844311 * r3844311;
double r3844313 = r3844311 * r3844312;
double r3844314 = cbrt(r3844313);
double r3844315 = r3844314 * r3844312;
return r3844315;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Results
Initial program 1.8
rmApplied add-cube-cbrt1.8
rmApplied add-cube-cbrt1.8
rmApplied add-cube-cbrt1.8
Final simplification1.8
herbie shell --seed 2019144 +o rules:numerics
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))