\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\frac{x}{x + y \cdot e^{2 \cdot \sqrt[3]{{\left(\mathsf{fma}\left(-\left(b - c\right), \left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}, \frac{z \cdot \sqrt{t + a}}{t}\right)\right)}^{3}}}}double f(double x, double y, double z, double t, double a, double b, double c) {
double r75494 = x;
double r75495 = y;
double r75496 = 2.0;
double r75497 = z;
double r75498 = t;
double r75499 = a;
double r75500 = r75498 + r75499;
double r75501 = sqrt(r75500);
double r75502 = r75497 * r75501;
double r75503 = r75502 / r75498;
double r75504 = b;
double r75505 = c;
double r75506 = r75504 - r75505;
double r75507 = 5.0;
double r75508 = 6.0;
double r75509 = r75507 / r75508;
double r75510 = r75499 + r75509;
double r75511 = 3.0;
double r75512 = r75498 * r75511;
double r75513 = r75496 / r75512;
double r75514 = r75510 - r75513;
double r75515 = r75506 * r75514;
double r75516 = r75503 - r75515;
double r75517 = r75496 * r75516;
double r75518 = exp(r75517);
double r75519 = r75495 * r75518;
double r75520 = r75494 + r75519;
double r75521 = r75494 / r75520;
return r75521;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r75522 = x;
double r75523 = y;
double r75524 = 2.0;
double r75525 = b;
double r75526 = c;
double r75527 = r75525 - r75526;
double r75528 = -r75527;
double r75529 = a;
double r75530 = 5.0;
double r75531 = 6.0;
double r75532 = r75530 / r75531;
double r75533 = r75529 + r75532;
double r75534 = t;
double r75535 = 3.0;
double r75536 = r75534 * r75535;
double r75537 = r75524 / r75536;
double r75538 = r75533 - r75537;
double r75539 = z;
double r75540 = r75534 + r75529;
double r75541 = sqrt(r75540);
double r75542 = r75539 * r75541;
double r75543 = r75542 / r75534;
double r75544 = fma(r75528, r75538, r75543);
double r75545 = 3.0;
double r75546 = pow(r75544, r75545);
double r75547 = cbrt(r75546);
double r75548 = r75524 * r75547;
double r75549 = exp(r75548);
double r75550 = r75523 * r75549;
double r75551 = r75522 + r75550;
double r75552 = r75522 / r75551;
return r75552;
}



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 3.9
rmApplied add-cbrt-cube3.9
Applied add-cbrt-cube7.0
Applied cbrt-unprod7.0
Applied add-cbrt-cube7.0
Applied cbrt-undiv7.1
Simplified7.1
rmApplied add-cube-cbrt7.1
Applied times-frac5.9
Applied fma-neg5.2
Simplified1.9
rmApplied add-cbrt-cube1.9
Simplified2.6
Final simplification2.6
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))