\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x}{\frac{y}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}double f(double x, double y, double z, double t, double a, double b) {
double r116985 = x;
double r116986 = y;
double r116987 = z;
double r116988 = log(r116987);
double r116989 = r116986 * r116988;
double r116990 = t;
double r116991 = 1.0;
double r116992 = r116990 - r116991;
double r116993 = a;
double r116994 = log(r116993);
double r116995 = r116992 * r116994;
double r116996 = r116989 + r116995;
double r116997 = b;
double r116998 = r116996 - r116997;
double r116999 = exp(r116998);
double r117000 = r116985 * r116999;
double r117001 = r117000 / r116986;
return r117001;
}
double f(double x, double y, double z, double t, double a, double b) {
double r117002 = x;
double r117003 = y;
double r117004 = 1.0;
double r117005 = a;
double r117006 = r117004 / r117005;
double r117007 = 1.0;
double r117008 = pow(r117006, r117007);
double r117009 = z;
double r117010 = r117004 / r117009;
double r117011 = log(r117010);
double r117012 = log(r117006);
double r117013 = t;
double r117014 = b;
double r117015 = fma(r117012, r117013, r117014);
double r117016 = fma(r117003, r117011, r117015);
double r117017 = exp(r117016);
double r117018 = r117008 / r117017;
double r117019 = r117003 / r117018;
double r117020 = r117002 / r117019;
return r117020;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Initial program 2.0
Taylor expanded around inf 2.0
Simplified1.3
rmApplied associate-/l*1.3
Final simplification1.3
herbie shell --seed 2020060 +o rules:numerics
(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))