\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{1}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{e^{\left(\log a \cdot \left(t - 1\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1\right) + \log z \cdot y\right) - b}}}} \cdot \frac{x}{\frac{\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{{e}^{\left(\left(\log a \cdot \left(t - 1\right) + \log z \cdot y\right) - b\right)}}}}double f(double x, double y, double z, double t, double a, double b) {
double r3168118 = x;
double r3168119 = y;
double r3168120 = z;
double r3168121 = log(r3168120);
double r3168122 = r3168119 * r3168121;
double r3168123 = t;
double r3168124 = 1.0;
double r3168125 = r3168123 - r3168124;
double r3168126 = a;
double r3168127 = log(r3168126);
double r3168128 = r3168125 * r3168127;
double r3168129 = r3168122 + r3168128;
double r3168130 = b;
double r3168131 = r3168129 - r3168130;
double r3168132 = exp(r3168131);
double r3168133 = r3168118 * r3168132;
double r3168134 = r3168133 / r3168119;
return r3168134;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3168135 = 1.0;
double r3168136 = y;
double r3168137 = cbrt(r3168136);
double r3168138 = r3168137 * r3168137;
double r3168139 = a;
double r3168140 = log(r3168139);
double r3168141 = t;
double r3168142 = 1.0;
double r3168143 = r3168141 - r3168142;
double r3168144 = r3168140 * r3168143;
double r3168145 = z;
double r3168146 = log(r3168145);
double r3168147 = r3168146 * r3168136;
double r3168148 = r3168144 + r3168147;
double r3168149 = b;
double r3168150 = r3168148 - r3168149;
double r3168151 = exp(r3168150);
double r3168152 = cbrt(r3168151);
double r3168153 = r3168152 * r3168152;
double r3168154 = r3168138 / r3168153;
double r3168155 = r3168135 / r3168154;
double r3168156 = x;
double r3168157 = cbrt(r3168137);
double r3168158 = cbrt(r3168138);
double r3168159 = r3168157 * r3168158;
double r3168160 = exp(1.0);
double r3168161 = pow(r3168160, r3168150);
double r3168162 = cbrt(r3168161);
double r3168163 = r3168159 / r3168162;
double r3168164 = r3168156 / r3168163;
double r3168165 = r3168155 * r3168164;
return r3168165;
}



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 2.0
rmApplied associate-/l*1.9
rmApplied add-cube-cbrt1.9
Applied add-cube-cbrt1.9
Applied times-frac1.9
Applied *-un-lft-identity1.9
Applied times-frac1.1
rmApplied *-un-lft-identity1.1
Applied exp-prod1.1
Simplified1.1
rmApplied add-cube-cbrt1.1
Applied cbrt-prod1.1
Final simplification1.1
herbie shell --seed 2019171
(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))