x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}x \cdot e^{\left(\left(\left(\log 1 - \frac{\frac{1}{2}}{1} \cdot \frac{z \cdot z}{1}\right) - z \cdot 1\right) - b\right) \cdot a + \left(\log z - t\right) \cdot y}double f(double x, double y, double z, double t, double a, double b) {
double r117467 = x;
double r117468 = y;
double r117469 = z;
double r117470 = log(r117469);
double r117471 = t;
double r117472 = r117470 - r117471;
double r117473 = r117468 * r117472;
double r117474 = a;
double r117475 = 1.0;
double r117476 = r117475 - r117469;
double r117477 = log(r117476);
double r117478 = b;
double r117479 = r117477 - r117478;
double r117480 = r117474 * r117479;
double r117481 = r117473 + r117480;
double r117482 = exp(r117481);
double r117483 = r117467 * r117482;
return r117483;
}
double f(double x, double y, double z, double t, double a, double b) {
double r117484 = x;
double r117485 = 1.0;
double r117486 = log(r117485);
double r117487 = 0.5;
double r117488 = r117487 / r117485;
double r117489 = z;
double r117490 = r117489 * r117489;
double r117491 = r117490 / r117485;
double r117492 = r117488 * r117491;
double r117493 = r117486 - r117492;
double r117494 = r117489 * r117485;
double r117495 = r117493 - r117494;
double r117496 = b;
double r117497 = r117495 - r117496;
double r117498 = a;
double r117499 = r117497 * r117498;
double r117500 = log(r117489);
double r117501 = t;
double r117502 = r117500 - r117501;
double r117503 = y;
double r117504 = r117502 * r117503;
double r117505 = r117499 + r117504;
double r117506 = exp(r117505);
double r117507 = r117484 * r117506;
return r117507;
}



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
Initial program 1.9
Taylor expanded around 0 0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019196
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))