x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\left({\left(\frac{e^{\log z}}{e^{t}}\right)}^{\left(2 \cdot \frac{y}{2}\right)} \cdot \left(x \cdot e^{\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) \cdot a}\right)\right) \cdot e^{\left(-b\right) \cdot a}double f(double x, double y, double z, double t, double a, double b) {
double r82119 = x;
double r82120 = y;
double r82121 = z;
double r82122 = log(r82121);
double r82123 = t;
double r82124 = r82122 - r82123;
double r82125 = r82120 * r82124;
double r82126 = a;
double r82127 = 1.0;
double r82128 = r82127 - r82121;
double r82129 = log(r82128);
double r82130 = b;
double r82131 = r82129 - r82130;
double r82132 = r82126 * r82131;
double r82133 = r82125 + r82132;
double r82134 = exp(r82133);
double r82135 = r82119 * r82134;
return r82135;
}
double f(double x, double y, double z, double t, double a, double b) {
double r82136 = z;
double r82137 = log(r82136);
double r82138 = exp(r82137);
double r82139 = t;
double r82140 = exp(r82139);
double r82141 = r82138 / r82140;
double r82142 = 2.0;
double r82143 = y;
double r82144 = r82143 / r82142;
double r82145 = r82142 * r82144;
double r82146 = pow(r82141, r82145);
double r82147 = x;
double r82148 = 1.0;
double r82149 = log(r82148);
double r82150 = 0.5;
double r82151 = pow(r82136, r82142);
double r82152 = pow(r82148, r82142);
double r82153 = r82151 / r82152;
double r82154 = r82150 * r82153;
double r82155 = r82148 * r82136;
double r82156 = r82154 + r82155;
double r82157 = r82149 - r82156;
double r82158 = a;
double r82159 = r82157 * r82158;
double r82160 = exp(r82159);
double r82161 = r82147 * r82160;
double r82162 = r82146 * r82161;
double r82163 = b;
double r82164 = -r82163;
double r82165 = r82164 * r82158;
double r82166 = exp(r82165);
double r82167 = r82162 * r82166;
return r82167;
}



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.1
Taylor expanded around 0 0.5
rmApplied add-cube-cbrt0.5
Applied associate-*r*0.5
Final simplification20.9
herbie shell --seed 2019304
(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))))))