x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\left(x \cdot \sqrt{e^{\sqrt[3]{{\left(\left(\log z - t\right) \cdot y + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)\right)}^{3}}}}\right) \cdot \sqrt{e^{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}}double f(double x, double y, double z, double t, double a, double b) {
double r191502 = x;
double r191503 = y;
double r191504 = z;
double r191505 = log(r191504);
double r191506 = t;
double r191507 = r191505 - r191506;
double r191508 = r191503 * r191507;
double r191509 = a;
double r191510 = 1.0;
double r191511 = r191510 - r191504;
double r191512 = log(r191511);
double r191513 = b;
double r191514 = r191512 - r191513;
double r191515 = r191509 * r191514;
double r191516 = r191508 + r191515;
double r191517 = exp(r191516);
double r191518 = r191502 * r191517;
return r191518;
}
double f(double x, double y, double z, double t, double a, double b) {
double r191519 = x;
double r191520 = z;
double r191521 = log(r191520);
double r191522 = t;
double r191523 = r191521 - r191522;
double r191524 = y;
double r191525 = r191523 * r191524;
double r191526 = a;
double r191527 = 1.0;
double r191528 = log(r191527);
double r191529 = 0.5;
double r191530 = 2.0;
double r191531 = pow(r191520, r191530);
double r191532 = pow(r191527, r191530);
double r191533 = r191531 / r191532;
double r191534 = r191529 * r191533;
double r191535 = r191527 * r191520;
double r191536 = r191534 + r191535;
double r191537 = r191528 - r191536;
double r191538 = b;
double r191539 = r191537 - r191538;
double r191540 = r191526 * r191539;
double r191541 = r191525 + r191540;
double r191542 = 3.0;
double r191543 = pow(r191541, r191542);
double r191544 = cbrt(r191543);
double r191545 = exp(r191544);
double r191546 = sqrt(r191545);
double r191547 = r191519 * r191546;
double r191548 = r191524 * r191523;
double r191549 = r191548 + r191540;
double r191550 = exp(r191549);
double r191551 = sqrt(r191550);
double r191552 = r191547 * r191551;
return r191552;
}



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 2.0
Taylor expanded around 0 0.5
rmApplied add-sqr-sqrt0.5
Applied associate-*r*0.5
rmApplied add-cbrt-cube0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020062
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
:precision binary64
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1 z)) b))))))