\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{\frac{{a}^{\left(-1\right)}}{\sqrt{e^{b + \left(-\left(\log a \cdot t + \log z \cdot y\right)\right)}}} \cdot \frac{x}{\sqrt{e^{\left(b - \log a \cdot t\right) - \log z \cdot y}}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r50856 = x;
double r50857 = y;
double r50858 = z;
double r50859 = log(r50858);
double r50860 = r50857 * r50859;
double r50861 = t;
double r50862 = 1.0;
double r50863 = r50861 - r50862;
double r50864 = a;
double r50865 = log(r50864);
double r50866 = r50863 * r50865;
double r50867 = r50860 + r50866;
double r50868 = b;
double r50869 = r50867 - r50868;
double r50870 = exp(r50869);
double r50871 = r50856 * r50870;
double r50872 = r50871 / r50857;
return r50872;
}
double f(double x, double y, double z, double t, double a, double b) {
double r50873 = a;
double r50874 = 1.0;
double r50875 = -r50874;
double r50876 = pow(r50873, r50875);
double r50877 = b;
double r50878 = log(r50873);
double r50879 = t;
double r50880 = r50878 * r50879;
double r50881 = z;
double r50882 = log(r50881);
double r50883 = y;
double r50884 = r50882 * r50883;
double r50885 = r50880 + r50884;
double r50886 = -r50885;
double r50887 = r50877 + r50886;
double r50888 = exp(r50887);
double r50889 = sqrt(r50888);
double r50890 = r50876 / r50889;
double r50891 = x;
double r50892 = r50877 - r50880;
double r50893 = r50892 - r50884;
double r50894 = exp(r50893);
double r50895 = sqrt(r50894);
double r50896 = r50891 / r50895;
double r50897 = r50890 * r50896;
double r50898 = r50897 / r50883;
return r50898;
}



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
Taylor expanded around inf 2.0
Simplified1.3
rmApplied add-sqr-sqrt1.3
Applied *-un-lft-identity1.3
Applied unpow-prod-down1.3
Applied times-frac1.3
Applied associate-*r*1.3
Simplified1.3
Final simplification1.3
herbie shell --seed 2019305
(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))