\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;x \le 2.99458400575715848 \cdot 10^{199}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}}} \cdot \frac{\sqrt[3]{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}}{\frac{\sqrt[3]{y}}{x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot {e}^{\left(\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b\right)}}{y}\\
\end{array}double code(double x, double y, double z, double t, double a, double b) {
return ((double) (((double) (x * ((double) exp(((double) (((double) (((double) (y * ((double) log(z)))) + ((double) (((double) (t - 1.0)) * ((double) log(a)))))) - b)))))) / y));
}
double code(double x, double y, double z, double t, double a, double b) {
double VAR;
if ((x <= 2.9945840057571585e+199)) {
VAR = ((double) (((double) (((double) cbrt(((double) (((double) pow(((double) (1.0 / a)), 1.0)) / ((double) exp(((double) (((double) (y * ((double) log(((double) (1.0 / z)))))) + ((double) (((double) (((double) log(((double) (1.0 / a)))) * t)) + b)))))))))) / ((double) (((double) (((double) cbrt(y)) * ((double) cbrt(y)))) / ((double) cbrt(((double) (((double) pow(((double) (1.0 / a)), 1.0)) / ((double) exp(((double) (((double) (y * ((double) log(((double) (1.0 / z)))))) + ((double) (((double) (((double) log(((double) (1.0 / a)))) * t)) + b)))))))))))))) * ((double) (((double) cbrt(((double) (((double) pow(((double) (1.0 / a)), 1.0)) / ((double) exp(((double) (((double) (y * ((double) log(((double) (1.0 / z)))))) + ((double) (((double) (((double) log(((double) (1.0 / a)))) * t)) + b)))))))))) / ((double) (((double) cbrt(y)) / x))))));
} else {
VAR = ((double) (((double) (x * ((double) pow(((double) M_E), ((double) (((double) (((double) (y * ((double) log(z)))) + ((double) (((double) (t - 1.0)) * ((double) log(a)))))) - b)))))) / y));
}
return VAR;
}



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 x < 2.9945840057571585e+199Initial program 2.1
Taylor expanded around inf 2.1
Simplified4.7
rmApplied *-un-lft-identity4.7
Applied add-cube-cbrt4.9
Applied times-frac4.9
Applied add-cube-cbrt4.9
Applied times-frac1.4
Simplified1.4
if 2.9945840057571585e+199 < x Initial program 0.6
rmApplied *-un-lft-identity0.6
Applied exp-prod0.7
Simplified0.7
Final simplification1.3
herbie shell --seed 2020129
(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.0) (log a))) b))) y))