\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{1}{\frac{y}{x \cdot \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 r95858 = x;
double r95859 = y;
double r95860 = z;
double r95861 = log(r95860);
double r95862 = r95859 * r95861;
double r95863 = t;
double r95864 = 1.0;
double r95865 = r95863 - r95864;
double r95866 = a;
double r95867 = log(r95866);
double r95868 = r95865 * r95867;
double r95869 = r95862 + r95868;
double r95870 = b;
double r95871 = r95869 - r95870;
double r95872 = exp(r95871);
double r95873 = r95858 * r95872;
double r95874 = r95873 / r95859;
return r95874;
}
double f(double x, double y, double z, double t, double a, double b) {
double r95875 = 1.0;
double r95876 = y;
double r95877 = x;
double r95878 = a;
double r95879 = r95875 / r95878;
double r95880 = 1.0;
double r95881 = pow(r95879, r95880);
double r95882 = z;
double r95883 = r95875 / r95882;
double r95884 = log(r95883);
double r95885 = log(r95879);
double r95886 = t;
double r95887 = b;
double r95888 = fma(r95885, r95886, r95887);
double r95889 = fma(r95876, r95884, r95888);
double r95890 = exp(r95889);
double r95891 = r95881 / r95890;
double r95892 = r95877 * r95891;
double r95893 = r95876 / r95892;
double r95894 = r95875 / r95893;
return r95894;
}



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 1.8
Taylor expanded around inf 1.9
Simplified1.1
rmApplied clear-num1.2
Final simplification1.2
herbie shell --seed 2020065 +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))