\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}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \mathsf{fma}\left(\left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right), \left(\frac{\sqrt{t + a}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right), \left(\left(-\left(b - c\right)\right) \cdot \left(\left(a - \frac{2.0}{3.0 \cdot t}\right) + \frac{5.0}{6.0}\right)\right)\right)}\right), x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r24303353 = x;
double r24303354 = y;
double r24303355 = 2.0;
double r24303356 = z;
double r24303357 = t;
double r24303358 = a;
double r24303359 = r24303357 + r24303358;
double r24303360 = sqrt(r24303359);
double r24303361 = r24303356 * r24303360;
double r24303362 = r24303361 / r24303357;
double r24303363 = b;
double r24303364 = c;
double r24303365 = r24303363 - r24303364;
double r24303366 = 5.0;
double r24303367 = 6.0;
double r24303368 = r24303366 / r24303367;
double r24303369 = r24303358 + r24303368;
double r24303370 = 3.0;
double r24303371 = r24303357 * r24303370;
double r24303372 = r24303355 / r24303371;
double r24303373 = r24303369 - r24303372;
double r24303374 = r24303365 * r24303373;
double r24303375 = r24303362 - r24303374;
double r24303376 = r24303355 * r24303375;
double r24303377 = exp(r24303376);
double r24303378 = r24303354 * r24303377;
double r24303379 = r24303353 + r24303378;
double r24303380 = r24303353 / r24303379;
return r24303380;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r24303381 = x;
double r24303382 = y;
double r24303383 = 2.0;
double r24303384 = z;
double r24303385 = cbrt(r24303384);
double r24303386 = t;
double r24303387 = cbrt(r24303386);
double r24303388 = r24303385 / r24303387;
double r24303389 = r24303388 * r24303388;
double r24303390 = a;
double r24303391 = r24303386 + r24303390;
double r24303392 = sqrt(r24303391);
double r24303393 = r24303387 / r24303385;
double r24303394 = r24303392 / r24303393;
double r24303395 = b;
double r24303396 = c;
double r24303397 = r24303395 - r24303396;
double r24303398 = -r24303397;
double r24303399 = 3.0;
double r24303400 = r24303399 * r24303386;
double r24303401 = r24303383 / r24303400;
double r24303402 = r24303390 - r24303401;
double r24303403 = 5.0;
double r24303404 = 6.0;
double r24303405 = r24303403 / r24303404;
double r24303406 = r24303402 + r24303405;
double r24303407 = r24303398 * r24303406;
double r24303408 = fma(r24303389, r24303394, r24303407);
double r24303409 = r24303383 * r24303408;
double r24303410 = exp(r24303409);
double r24303411 = fma(r24303382, r24303410, r24303381);
double r24303412 = r24303381 / r24303411;
return r24303412;
}



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
Initial program 4.1
Simplified3.2
rmApplied add-cube-cbrt3.2
Applied add-cube-cbrt3.2
Applied times-frac3.2
Applied *-un-lft-identity3.2
Applied times-frac2.9
Applied fma-neg1.5
Simplified1.5
Final simplification1.5
herbie shell --seed 2019107 +o rules:numerics
(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)))))))))))