\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\frac{\frac{\sqrt[3]{\left(\sqrt[3]{e^{\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z\right) - b}}\right) \cdot \sqrt[3]{{e}^{\left(\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z\right) - b\right)}}}}{\sqrt[3]{y}} \cdot \frac{\left(x \cdot \sqrt[3]{e^{\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z\right) - b}}\right) \cdot \sqrt[3]{e^{\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z\right) - b}}}{\sqrt[3]{y}}}{\sqrt[3]{y}}double f(double x, double y, double z, double t, double a, double b) {
double r1546262 = x;
double r1546263 = y;
double r1546264 = z;
double r1546265 = log(r1546264);
double r1546266 = r1546263 * r1546265;
double r1546267 = t;
double r1546268 = 1.0;
double r1546269 = r1546267 - r1546268;
double r1546270 = a;
double r1546271 = log(r1546270);
double r1546272 = r1546269 * r1546271;
double r1546273 = r1546266 + r1546272;
double r1546274 = b;
double r1546275 = r1546273 - r1546274;
double r1546276 = exp(r1546275);
double r1546277 = r1546262 * r1546276;
double r1546278 = r1546277 / r1546263;
return r1546278;
}
double f(double x, double y, double z, double t, double a, double b) {
double r1546279 = a;
double r1546280 = log(r1546279);
double r1546281 = t;
double r1546282 = 1.0;
double r1546283 = r1546281 - r1546282;
double r1546284 = y;
double r1546285 = z;
double r1546286 = log(r1546285);
double r1546287 = r1546284 * r1546286;
double r1546288 = fma(r1546280, r1546283, r1546287);
double r1546289 = b;
double r1546290 = r1546288 - r1546289;
double r1546291 = exp(r1546290);
double r1546292 = cbrt(r1546291);
double r1546293 = r1546292 * r1546292;
double r1546294 = exp(1.0);
double r1546295 = pow(r1546294, r1546290);
double r1546296 = cbrt(r1546295);
double r1546297 = r1546293 * r1546296;
double r1546298 = cbrt(r1546297);
double r1546299 = cbrt(r1546284);
double r1546300 = r1546298 / r1546299;
double r1546301 = x;
double r1546302 = r1546301 * r1546292;
double r1546303 = r1546302 * r1546292;
double r1546304 = r1546303 / r1546299;
double r1546305 = r1546300 * r1546304;
double r1546306 = r1546305 / r1546299;
return r1546306;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Initial program 1.8
rmApplied add-cube-cbrt1.8
rmApplied add-cube-cbrt1.8
Applied associate-/r*1.8
Simplified1.4
rmApplied add-cube-cbrt1.4
rmApplied *-un-lft-identity1.4
Applied exp-prod1.4
Simplified1.4
Final simplification1.4
herbie shell --seed 2019154 +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))