\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;x \le -9.510975252128596 \cdot 10^{-129}:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\sqrt[3]{\sqrt[3]{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)}}} \cdot \left(\sqrt[3]{\sqrt[3]{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)}}} \cdot \sqrt[3]{\sqrt[3]{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)}}}\right)}{\sqrt[3]{y}}\\
\mathbf{elif}\;x \le 1.5224092307552317 \cdot 10^{-95}:\\
\;\;\;\;\frac{\frac{x}{y}}{e^{b - \mathsf{fma}\left(t - 1.0, \log a, y \cdot \log z\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)}}}{\sqrt[3]{y}} \cdot \frac{e^{\frac{1}{3} \cdot \left(\mathsf{fma}\left(1.0, -\log a, \log x + y \cdot \log z\right) - \mathsf{fma}\left(-\log a, t, b\right)\right)} \cdot \sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r3289813 = x;
double r3289814 = y;
double r3289815 = z;
double r3289816 = log(r3289815);
double r3289817 = r3289814 * r3289816;
double r3289818 = t;
double r3289819 = 1.0;
double r3289820 = r3289818 - r3289819;
double r3289821 = a;
double r3289822 = log(r3289821);
double r3289823 = r3289820 * r3289822;
double r3289824 = r3289817 + r3289823;
double r3289825 = b;
double r3289826 = r3289824 - r3289825;
double r3289827 = exp(r3289826);
double r3289828 = r3289813 * r3289827;
double r3289829 = r3289828 / r3289814;
return r3289829;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3289830 = x;
double r3289831 = -9.510975252128596e-129;
bool r3289832 = r3289830 <= r3289831;
double r3289833 = a;
double r3289834 = log(r3289833);
double r3289835 = t;
double r3289836 = 1.0;
double r3289837 = r3289835 - r3289836;
double r3289838 = r3289834 * r3289837;
double r3289839 = y;
double r3289840 = z;
double r3289841 = log(r3289840);
double r3289842 = r3289839 * r3289841;
double r3289843 = r3289838 + r3289842;
double r3289844 = b;
double r3289845 = r3289843 - r3289844;
double r3289846 = exp(r3289845);
double r3289847 = r3289830 * r3289846;
double r3289848 = cbrt(r3289847);
double r3289849 = r3289848 * r3289848;
double r3289850 = cbrt(r3289839);
double r3289851 = r3289850 * r3289850;
double r3289852 = r3289849 / r3289851;
double r3289853 = exp(1.0);
double r3289854 = pow(r3289853, r3289845);
double r3289855 = r3289830 * r3289854;
double r3289856 = cbrt(r3289855);
double r3289857 = cbrt(r3289856);
double r3289858 = r3289857 * r3289857;
double r3289859 = r3289857 * r3289858;
double r3289860 = r3289859 / r3289850;
double r3289861 = r3289852 * r3289860;
double r3289862 = 1.5224092307552317e-95;
bool r3289863 = r3289830 <= r3289862;
double r3289864 = r3289830 / r3289839;
double r3289865 = fma(r3289837, r3289834, r3289842);
double r3289866 = r3289844 - r3289865;
double r3289867 = exp(r3289866);
double r3289868 = r3289864 / r3289867;
double r3289869 = r3289856 / r3289850;
double r3289870 = 0.3333333333333333;
double r3289871 = -r3289834;
double r3289872 = log(r3289830);
double r3289873 = r3289872 + r3289842;
double r3289874 = fma(r3289836, r3289871, r3289873);
double r3289875 = fma(r3289871, r3289835, r3289844);
double r3289876 = r3289874 - r3289875;
double r3289877 = r3289870 * r3289876;
double r3289878 = exp(r3289877);
double r3289879 = r3289878 * r3289848;
double r3289880 = r3289879 / r3289851;
double r3289881 = r3289869 * r3289880;
double r3289882 = r3289863 ? r3289868 : r3289881;
double r3289883 = r3289832 ? r3289861 : r3289882;
return r3289883;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
if x < -9.510975252128596e-129Initial program 1.1
rmApplied add-cube-cbrt1.1
rmApplied add-cube-cbrt1.1
Applied times-frac1.1
rmApplied *-un-lft-identity1.1
Applied exp-prod1.1
Simplified1.1
rmApplied add-cube-cbrt1.1
if -9.510975252128596e-129 < x < 1.5224092307552317e-95Initial program 3.9
Simplified1.1
if 1.5224092307552317e-95 < x Initial program 0.9
rmApplied add-cube-cbrt0.9
rmApplied add-cube-cbrt0.9
Applied times-frac0.9
rmApplied *-un-lft-identity0.9
Applied exp-prod0.9
Simplified0.9
Taylor expanded around inf 0.9
Simplified0.9
Final simplification1.1
herbie shell --seed 2019165 +o rules:numerics
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))