\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\frac{x}{e^{2.0 \cdot \log \left(e^{\sqrt{a + t} \cdot \frac{z}{t} - \left(b - c\right) \cdot \left(a + \left(\frac{5.0}{6.0} - \frac{\frac{2.0}{t}}{3.0}\right)\right)}\right)} \cdot y + x}double f(double x, double y, double z, double t, double a, double b, double c) {
double r3329292 = x;
double r3329293 = y;
double r3329294 = 2.0;
double r3329295 = z;
double r3329296 = t;
double r3329297 = a;
double r3329298 = r3329296 + r3329297;
double r3329299 = sqrt(r3329298);
double r3329300 = r3329295 * r3329299;
double r3329301 = r3329300 / r3329296;
double r3329302 = b;
double r3329303 = c;
double r3329304 = r3329302 - r3329303;
double r3329305 = 5.0;
double r3329306 = 6.0;
double r3329307 = r3329305 / r3329306;
double r3329308 = r3329297 + r3329307;
double r3329309 = 3.0;
double r3329310 = r3329296 * r3329309;
double r3329311 = r3329294 / r3329310;
double r3329312 = r3329308 - r3329311;
double r3329313 = r3329304 * r3329312;
double r3329314 = r3329301 - r3329313;
double r3329315 = r3329294 * r3329314;
double r3329316 = exp(r3329315);
double r3329317 = r3329293 * r3329316;
double r3329318 = r3329292 + r3329317;
double r3329319 = r3329292 / r3329318;
return r3329319;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r3329320 = x;
double r3329321 = 2.0;
double r3329322 = a;
double r3329323 = t;
double r3329324 = r3329322 + r3329323;
double r3329325 = sqrt(r3329324);
double r3329326 = z;
double r3329327 = r3329326 / r3329323;
double r3329328 = r3329325 * r3329327;
double r3329329 = b;
double r3329330 = c;
double r3329331 = r3329329 - r3329330;
double r3329332 = 5.0;
double r3329333 = 6.0;
double r3329334 = r3329332 / r3329333;
double r3329335 = r3329321 / r3329323;
double r3329336 = 3.0;
double r3329337 = r3329335 / r3329336;
double r3329338 = r3329334 - r3329337;
double r3329339 = r3329322 + r3329338;
double r3329340 = r3329331 * r3329339;
double r3329341 = r3329328 - r3329340;
double r3329342 = exp(r3329341);
double r3329343 = log(r3329342);
double r3329344 = r3329321 * r3329343;
double r3329345 = exp(r3329344);
double r3329346 = y;
double r3329347 = r3329345 * r3329346;
double r3329348 = r3329347 + r3329320;
double r3329349 = r3329320 / r3329348;
return r3329349;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c
Results
Initial program 3.8
rmApplied add-log-exp8.2
Applied add-log-exp16.4
Applied diff-log16.4
Simplified2.8
Final simplification2.8
herbie shell --seed 2019143
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))