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^{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)}}\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 r120103 = x;
double r120104 = y;
double r120105 = z;
double r120106 = log(r120105);
double r120107 = t;
double r120108 = r120106 - r120107;
double r120109 = r120104 * r120108;
double r120110 = a;
double r120111 = 1.0;
double r120112 = r120111 - r120105;
double r120113 = log(r120112);
double r120114 = b;
double r120115 = r120113 - r120114;
double r120116 = r120110 * r120115;
double r120117 = r120109 + r120116;
double r120118 = exp(r120117);
double r120119 = r120103 * r120118;
return r120119;
}
double f(double x, double y, double z, double t, double a, double b) {
double r120120 = x;
double r120121 = y;
double r120122 = z;
double r120123 = log(r120122);
double r120124 = t;
double r120125 = r120123 - r120124;
double r120126 = r120121 * r120125;
double r120127 = a;
double r120128 = 1.0;
double r120129 = log(r120128);
double r120130 = 0.5;
double r120131 = 2.0;
double r120132 = pow(r120122, r120131);
double r120133 = pow(r120128, r120131);
double r120134 = r120132 / r120133;
double r120135 = r120130 * r120134;
double r120136 = r120128 * r120122;
double r120137 = r120135 + r120136;
double r120138 = r120129 - r120137;
double r120139 = b;
double r120140 = r120138 - r120139;
double r120141 = r120127 * r120140;
double r120142 = r120126 + r120141;
double r120143 = exp(r120142);
double r120144 = sqrt(r120143);
double r120145 = r120120 * r120144;
double r120146 = r120145 * r120144;
return r120146;
}



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
Final simplification0.5
herbie shell --seed 2020042
(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))))))