\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(\frac{1}{{a}^{1}}\right)}^{1}}{y} \cdot \left(e^{\left(y \cdot \log z - \left(-\log a\right) \cdot t\right) - b} \cdot x\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r62788 = x;
double r62789 = y;
double r62790 = z;
double r62791 = log(r62790);
double r62792 = r62789 * r62791;
double r62793 = t;
double r62794 = 1.0;
double r62795 = r62793 - r62794;
double r62796 = a;
double r62797 = log(r62796);
double r62798 = r62795 * r62797;
double r62799 = r62792 + r62798;
double r62800 = b;
double r62801 = r62799 - r62800;
double r62802 = exp(r62801);
double r62803 = r62788 * r62802;
double r62804 = r62803 / r62789;
return r62804;
}
double f(double x, double y, double z, double t, double a, double b) {
double r62805 = t;
double r62806 = 1.0;
double r62807 = r62805 - r62806;
double r62808 = a;
double r62809 = log(r62808);
double r62810 = r62807 * r62809;
double r62811 = -173011673.07598153;
bool r62812 = r62810 <= r62811;
double r62813 = 145.82232167186896;
bool r62814 = r62810 <= r62813;
double r62815 = !r62814;
bool r62816 = r62812 || r62815;
double r62817 = x;
double r62818 = y;
double r62819 = z;
double r62820 = log(r62819);
double r62821 = r62818 * r62820;
double r62822 = r62821 + r62810;
double r62823 = b;
double r62824 = r62822 - r62823;
double r62825 = exp(r62824);
double r62826 = r62817 * r62825;
double r62827 = r62826 / r62818;
double r62828 = 1.0;
double r62829 = pow(r62808, r62806);
double r62830 = r62828 / r62829;
double r62831 = pow(r62830, r62806);
double r62832 = r62831 / r62818;
double r62833 = -r62809;
double r62834 = r62833 * r62805;
double r62835 = r62821 - r62834;
double r62836 = r62835 - r62823;
double r62837 = exp(r62836);
double r62838 = r62837 * r62817;
double r62839 = r62832 * r62838;
double r62840 = r62816 ? r62827 : r62839;
return r62840;
}



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 1.0) (log a)) < -173011673.07598153 or 145.82232167186896 < (* (- t 1.0) (log a)) Initial program 0.4
if -173011673.07598153 < (* (- t 1.0) (log a)) < 145.82232167186896Initial program 5.2
rmApplied associate-/l*2.2
Simplified7.7
rmApplied pow-sub7.6
Applied associate-*l/7.6
Applied associate-/l/7.6
Taylor expanded around inf 10.8
Simplified0.9
Final simplification0.6
herbie shell --seed 2019325
(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))