\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot \frac{{a}^{\left(-1\right)}}{e^{\mathsf{fma}\left(y, -\log z, \mathsf{fma}\left(-\log a, t, b\right)\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r74999 = x;
double r75000 = y;
double r75001 = z;
double r75002 = log(r75001);
double r75003 = r75000 * r75002;
double r75004 = t;
double r75005 = 1.0;
double r75006 = r75004 - r75005;
double r75007 = a;
double r75008 = log(r75007);
double r75009 = r75006 * r75008;
double r75010 = r75003 + r75009;
double r75011 = b;
double r75012 = r75010 - r75011;
double r75013 = exp(r75012);
double r75014 = r74999 * r75013;
double r75015 = r75014 / r75000;
return r75015;
}
double f(double x, double y, double z, double t, double a, double b) {
double r75016 = x;
double r75017 = a;
double r75018 = 1.0;
double r75019 = -r75018;
double r75020 = pow(r75017, r75019);
double r75021 = y;
double r75022 = z;
double r75023 = log(r75022);
double r75024 = -r75023;
double r75025 = log(r75017);
double r75026 = -r75025;
double r75027 = t;
double r75028 = b;
double r75029 = fma(r75026, r75027, r75028);
double r75030 = fma(r75021, r75024, r75029);
double r75031 = exp(r75030);
double r75032 = r75020 / r75031;
double r75033 = r75016 * r75032;
double r75034 = r75033 / r75021;
return r75034;
}



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.2
Taylor expanded around inf 2.2
Simplified1.4
Final simplification1.4
herbie shell --seed 2019208 +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))