\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\frac{x \cdot \left(\sqrt[3]{\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)} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{\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) \cdot \sqrt[3]{\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}}}\right)\right)}{y}double f(double x, double y, double z, double t, double a, double b) {
double r3579431 = x;
double r3579432 = y;
double r3579433 = z;
double r3579434 = log(r3579433);
double r3579435 = r3579432 * r3579434;
double r3579436 = t;
double r3579437 = 1.0;
double r3579438 = r3579436 - r3579437;
double r3579439 = a;
double r3579440 = log(r3579439);
double r3579441 = r3579438 * r3579440;
double r3579442 = r3579435 + r3579441;
double r3579443 = b;
double r3579444 = r3579442 - r3579443;
double r3579445 = exp(r3579444);
double r3579446 = r3579431 * r3579445;
double r3579447 = r3579446 / r3579432;
return r3579447;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3579448 = x;
double r3579449 = a;
double r3579450 = log(r3579449);
double r3579451 = t;
double r3579452 = 1.0;
double r3579453 = r3579451 - r3579452;
double r3579454 = r3579450 * r3579453;
double r3579455 = z;
double r3579456 = log(r3579455);
double r3579457 = y;
double r3579458 = r3579456 * r3579457;
double r3579459 = r3579454 + r3579458;
double r3579460 = b;
double r3579461 = r3579459 - r3579460;
double r3579462 = exp(r3579461);
double r3579463 = cbrt(r3579462);
double r3579464 = r3579463 * r3579463;
double r3579465 = r3579463 * r3579464;
double r3579466 = cbrt(r3579465);
double r3579467 = sqrt(r3579462);
double r3579468 = r3579467 * r3579467;
double r3579469 = cbrt(r3579468);
double r3579470 = r3579464 * r3579469;
double r3579471 = cbrt(r3579470);
double r3579472 = r3579463 * r3579471;
double r3579473 = r3579466 * r3579472;
double r3579474 = r3579448 * r3579473;
double r3579475 = r3579474 / r3579457;
return r3579475;
}



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
rmApplied add-sqr-sqrt1.8
Final simplification1.8
herbie shell --seed 2019139 +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))