\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\frac{\frac{x}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{e^{\mathsf{fma}\left(\log a, t - 1.0, \log z \cdot y\right) - b}}}}{\sqrt[3]{y}}double f(double x, double y, double z, double t, double a, double b) {
double r3958469 = x;
double r3958470 = y;
double r3958471 = z;
double r3958472 = log(r3958471);
double r3958473 = r3958470 * r3958472;
double r3958474 = t;
double r3958475 = 1.0;
double r3958476 = r3958474 - r3958475;
double r3958477 = a;
double r3958478 = log(r3958477);
double r3958479 = r3958476 * r3958478;
double r3958480 = r3958473 + r3958479;
double r3958481 = b;
double r3958482 = r3958480 - r3958481;
double r3958483 = exp(r3958482);
double r3958484 = r3958469 * r3958483;
double r3958485 = r3958484 / r3958470;
return r3958485;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3958486 = x;
double r3958487 = y;
double r3958488 = cbrt(r3958487);
double r3958489 = r3958488 * r3958488;
double r3958490 = a;
double r3958491 = log(r3958490);
double r3958492 = t;
double r3958493 = 1.0;
double r3958494 = r3958492 - r3958493;
double r3958495 = z;
double r3958496 = log(r3958495);
double r3958497 = r3958496 * r3958487;
double r3958498 = fma(r3958491, r3958494, r3958497);
double r3958499 = b;
double r3958500 = r3958498 - r3958499;
double r3958501 = exp(r3958500);
double r3958502 = r3958489 / r3958501;
double r3958503 = r3958486 / r3958502;
double r3958504 = r3958503 / r3958488;
return r3958504;
}



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.9
rmApplied add-cube-cbrt2.0
rmApplied add-cube-cbrt2.0
Applied associate-/r*2.0
Simplified1.8
Final simplification1.8
herbie shell --seed 2019162 +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))