\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;t \le 7.683339156886951568489082663084525135709 \cdot 10^{-177} \lor \neg \left(t \le 3.541246463368194008742434730785011242134 \cdot 10^{-75}\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\left({\left(\frac{1}{{a}^{1}}\right)}^{1} \cdot \frac{x}{y}\right) \cdot e^{\log \left({a}^{t} \cdot {z}^{y}\right) - b}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r79026 = x;
double r79027 = y;
double r79028 = z;
double r79029 = log(r79028);
double r79030 = r79027 * r79029;
double r79031 = t;
double r79032 = 1.0;
double r79033 = r79031 - r79032;
double r79034 = a;
double r79035 = log(r79034);
double r79036 = r79033 * r79035;
double r79037 = r79030 + r79036;
double r79038 = b;
double r79039 = r79037 - r79038;
double r79040 = exp(r79039);
double r79041 = r79026 * r79040;
double r79042 = r79041 / r79027;
return r79042;
}
double f(double x, double y, double z, double t, double a, double b) {
double r79043 = t;
double r79044 = 7.683339156886952e-177;
bool r79045 = r79043 <= r79044;
double r79046 = 3.541246463368194e-75;
bool r79047 = r79043 <= r79046;
double r79048 = !r79047;
bool r79049 = r79045 || r79048;
double r79050 = x;
double r79051 = y;
double r79052 = z;
double r79053 = log(r79052);
double r79054 = r79051 * r79053;
double r79055 = 1.0;
double r79056 = r79043 - r79055;
double r79057 = a;
double r79058 = log(r79057);
double r79059 = r79056 * r79058;
double r79060 = r79054 + r79059;
double r79061 = b;
double r79062 = r79060 - r79061;
double r79063 = exp(r79062);
double r79064 = r79050 * r79063;
double r79065 = r79064 / r79051;
double r79066 = 1.0;
double r79067 = pow(r79057, r79055);
double r79068 = r79066 / r79067;
double r79069 = pow(r79068, r79055);
double r79070 = r79050 / r79051;
double r79071 = r79069 * r79070;
double r79072 = pow(r79057, r79043);
double r79073 = pow(r79052, r79051);
double r79074 = r79072 * r79073;
double r79075 = log(r79074);
double r79076 = r79075 - r79061;
double r79077 = exp(r79076);
double r79078 = r79071 * r79077;
double r79079 = r79049 ? r79065 : r79078;
return r79079;
}



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
if t < 7.683339156886952e-177 or 3.541246463368194e-75 < t Initial program 1.7
if 7.683339156886952e-177 < t < 3.541246463368194e-75Initial program 3.8
rmApplied associate-/l*3.6
Simplified8.8
rmApplied pow-sub8.8
Applied associate-*l/8.7
Applied associate-/r/8.7
Taylor expanded around inf 8.8
Simplified9.1
rmApplied associate-*r*12.0
Final simplification2.6
herbie shell --seed 2019304
(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))