\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{\left(x \cdot \frac{{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{a} \cdot \sqrt[3]{a}}\right)}^{1}}{\sqrt{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}\right) \cdot \frac{{\left(\frac{\sqrt[3]{1}}{\sqrt[3]{a}}\right)}^{1}}{\sqrt{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r120048 = x;
double r120049 = y;
double r120050 = z;
double r120051 = log(r120050);
double r120052 = r120049 * r120051;
double r120053 = t;
double r120054 = 1.0;
double r120055 = r120053 - r120054;
double r120056 = a;
double r120057 = log(r120056);
double r120058 = r120055 * r120057;
double r120059 = r120052 + r120058;
double r120060 = b;
double r120061 = r120059 - r120060;
double r120062 = exp(r120061);
double r120063 = r120048 * r120062;
double r120064 = r120063 / r120049;
return r120064;
}
double f(double x, double y, double z, double t, double a, double b) {
double r120065 = x;
double r120066 = 1.0;
double r120067 = cbrt(r120066);
double r120068 = r120067 * r120067;
double r120069 = a;
double r120070 = cbrt(r120069);
double r120071 = r120070 * r120070;
double r120072 = r120068 / r120071;
double r120073 = 1.0;
double r120074 = pow(r120072, r120073);
double r120075 = y;
double r120076 = z;
double r120077 = r120066 / r120076;
double r120078 = log(r120077);
double r120079 = r120075 * r120078;
double r120080 = r120066 / r120069;
double r120081 = log(r120080);
double r120082 = t;
double r120083 = r120081 * r120082;
double r120084 = b;
double r120085 = r120083 + r120084;
double r120086 = r120079 + r120085;
double r120087 = exp(r120086);
double r120088 = sqrt(r120087);
double r120089 = r120074 / r120088;
double r120090 = r120065 * r120089;
double r120091 = r120067 / r120070;
double r120092 = pow(r120091, r120073);
double r120093 = r120092 / r120088;
double r120094 = r120090 * r120093;
double r120095 = r120094 / r120075;
return r120095;
}



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.9
Taylor expanded around inf 1.9
Simplified1.2
rmApplied add-sqr-sqrt1.3
Applied add-cube-cbrt1.4
Applied add-cube-cbrt1.4
Applied times-frac1.4
Applied unpow-prod-down1.4
Applied times-frac1.4
Applied associate-*r*1.4
Final simplification1.4
herbie shell --seed 2019322
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1) (log a))) b))) y))