x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}x \cdot \left(\left(\sqrt[3]{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)}} \cdot \sqrt[3]{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[3]{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)double f(double x, double y, double z, double t, double a, double b) {
double r112214 = x;
double r112215 = y;
double r112216 = z;
double r112217 = log(r112216);
double r112218 = t;
double r112219 = r112217 - r112218;
double r112220 = r112215 * r112219;
double r112221 = a;
double r112222 = 1.0;
double r112223 = r112222 - r112216;
double r112224 = log(r112223);
double r112225 = b;
double r112226 = r112224 - r112225;
double r112227 = r112221 * r112226;
double r112228 = r112220 + r112227;
double r112229 = exp(r112228);
double r112230 = r112214 * r112229;
return r112230;
}
double f(double x, double y, double z, double t, double a, double b) {
double r112231 = x;
double r112232 = y;
double r112233 = z;
double r112234 = log(r112233);
double r112235 = t;
double r112236 = r112234 - r112235;
double r112237 = r112232 * r112236;
double r112238 = a;
double r112239 = 1.0;
double r112240 = log(r112239);
double r112241 = 0.5;
double r112242 = 2.0;
double r112243 = pow(r112233, r112242);
double r112244 = pow(r112239, r112242);
double r112245 = r112243 / r112244;
double r112246 = r112241 * r112245;
double r112247 = r112239 * r112233;
double r112248 = r112246 + r112247;
double r112249 = r112240 - r112248;
double r112250 = b;
double r112251 = r112249 - r112250;
double r112252 = r112238 * r112251;
double r112253 = r112237 + r112252;
double r112254 = exp(r112253);
double r112255 = cbrt(r112254);
double r112256 = r112255 * r112255;
double r112257 = r112256 * r112255;
double r112258 = r112231 * r112257;
return r112258;
}



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.4
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2020047
(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))))))