double f(double x, double y, double z, double t, double a, double b) {
double r11674101 = x;
double r11674102 = y;
double r11674103 = z;
double r11674104 = log(r11674103);
double r11674105 = r11674102 * r11674104;
double r11674106 = t;
double r11674107 = 1.0;
double r11674108 = r11674106 - r11674107;
double r11674109 = a;
double r11674110 = log(r11674109);
double r11674111 = r11674108 * r11674110;
double r11674112 = r11674105 + r11674111;
double r11674113 = b;
double r11674114 = r11674112 - r11674113;
double r11674115 = exp(r11674114);
double r11674116 = r11674101 * r11674115;
double r11674117 = r11674116 / r11674102;
return r11674117;
}
double f(double x, double y, double z, double t, double a, double b) {
double r11674118 = x;
double r11674119 = -5.595323073166741e+53;
bool r11674120 = r11674118 <= r11674119;
double r11674121 = a;
double r11674122 = log(r11674121);
double r11674123 = t;
double r11674124 = 1.0;
double r11674125 = r11674123 - r11674124;
double r11674126 = r11674122 * r11674125;
double r11674127 = y;
double r11674128 = z;
double r11674129 = log(r11674128);
double r11674130 = r11674127 * r11674129;
double r11674131 = r11674126 + r11674130;
double r11674132 = b;
double r11674133 = r11674131 - r11674132;
double r11674134 = exp(r11674133);
double r11674135 = r11674118 * r11674134;
double r11674136 = cbrt(r11674135);
double r11674137 = cbrt(r11674136);
double r11674138 = r11674137 * r11674137;
double r11674139 = r11674138 * r11674137;
double r11674140 = cbrt(r11674118);
double r11674141 = cbrt(r11674134);
double r11674142 = r11674140 * r11674141;
double r11674143 = r11674136 * r11674142;
double r11674144 = r11674139 * r11674143;
double r11674145 = r11674144 / r11674127;
double r11674146 = 2.2414839806053286e-132;
bool r11674147 = r11674118 <= r11674146;
double r11674148 = r11674130 - r11674132;
double r11674149 = fma(r11674122, r11674123, r11674148);
double r11674150 = r11674122 * r11674124;
double r11674151 = r11674149 - r11674150;
double r11674152 = exp(r11674151);
double r11674153 = r11674127 / r11674118;
double r11674154 = r11674152 / r11674153;
double r11674155 = r11674136 * r11674136;
double r11674156 = 0.3333333333333333;
double r11674157 = -r11674122;
double r11674158 = log(r11674118);
double r11674159 = fma(r11674124, r11674157, r11674158);
double r11674160 = r11674132 - r11674130;
double r11674161 = fma(r11674157, r11674123, r11674160);
double r11674162 = r11674159 - r11674161;
double r11674163 = r11674156 * r11674162;
double r11674164 = exp(r11674163);
double r11674165 = r11674155 * r11674164;
double r11674166 = r11674165 / r11674127;
double r11674167 = r11674147 ? r11674154 : r11674166;
double r11674168 = r11674120 ? r11674145 : r11674167;
return r11674168;
}
\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 -5.595323073166741 \cdot 10^{+53}:\\
\;\;\;\;\frac{\left(\left(\sqrt[3]{\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}} \cdot \sqrt[3]{\sqrt[3]{x \cdot e^{\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(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}}\right) \cdot \left(\sqrt[3]{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)\right)}{y}\\
\mathbf{elif}\;x \le 2.2414839806053286 \cdot 10^{-132}:\\
\;\;\;\;\frac{e^{(\left(\log a\right) \cdot t + \left(y \cdot \log z - b\right))_* - \log a \cdot 1.0}}{\frac{y}{x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\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}}\right) \cdot e^{\frac{1}{3} \cdot \left((1.0 \cdot \left(-\log a\right) + \left(\log x\right))_* - (\left(-\log a\right) \cdot t + \left(b - y \cdot \log z\right))_*\right)}}{y}\\
\end{array}


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 < -5.595323073166741e+53Initial program 0.8
rmApplied add-cube-cbrt0.8
rmApplied add-cube-cbrt0.8
rmApplied cbrt-prod0.8
if -5.595323073166741e+53 < x < 2.2414839806053286e-132Initial program 3.0
Taylor expanded around inf 3.0
Simplified1.2
if 2.2414839806053286e-132 < x Initial program 1.2
rmApplied add-cube-cbrt1.2
Taylor expanded around inf 1.3
Simplified1.2
Final simplification1.1
herbie shell --seed 2019102 +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))