\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)}}\begin{array}{l}
\mathbf{if}\;b - c \le 1608536970973768318976 \lor \neg \left(b - c \le 1.382058873126280797586958176900250679305 \cdot 10^{250}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\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) - \sqrt[3]{{\left(\frac{2}{t \cdot 3}\right)}^{3}}\right)\right)}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r87641 = x;
double r87642 = y;
double r87643 = 2.0;
double r87644 = z;
double r87645 = t;
double r87646 = a;
double r87647 = r87645 + r87646;
double r87648 = sqrt(r87647);
double r87649 = r87644 * r87648;
double r87650 = r87649 / r87645;
double r87651 = b;
double r87652 = c;
double r87653 = r87651 - r87652;
double r87654 = 5.0;
double r87655 = 6.0;
double r87656 = r87654 / r87655;
double r87657 = r87646 + r87656;
double r87658 = 3.0;
double r87659 = r87645 * r87658;
double r87660 = r87643 / r87659;
double r87661 = r87657 - r87660;
double r87662 = r87653 * r87661;
double r87663 = r87650 - r87662;
double r87664 = r87643 * r87663;
double r87665 = exp(r87664);
double r87666 = r87642 * r87665;
double r87667 = r87641 + r87666;
double r87668 = r87641 / r87667;
return r87668;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r87669 = b;
double r87670 = c;
double r87671 = r87669 - r87670;
double r87672 = 1.6085369709737683e+21;
bool r87673 = r87671 <= r87672;
double r87674 = 1.3820588731262808e+250;
bool r87675 = r87671 <= r87674;
double r87676 = !r87675;
bool r87677 = r87673 || r87676;
double r87678 = x;
double r87679 = y;
double r87680 = 2.0;
double r87681 = z;
double r87682 = t;
double r87683 = cbrt(r87682);
double r87684 = r87683 * r87683;
double r87685 = r87681 / r87684;
double r87686 = a;
double r87687 = r87682 + r87686;
double r87688 = sqrt(r87687);
double r87689 = r87688 / r87683;
double r87690 = r87685 * r87689;
double r87691 = 5.0;
double r87692 = 6.0;
double r87693 = r87691 / r87692;
double r87694 = r87686 + r87693;
double r87695 = 3.0;
double r87696 = r87682 * r87695;
double r87697 = r87680 / r87696;
double r87698 = r87694 - r87697;
double r87699 = r87671 * r87698;
double r87700 = r87690 - r87699;
double r87701 = r87680 * r87700;
double r87702 = exp(r87701);
double r87703 = r87679 * r87702;
double r87704 = r87678 + r87703;
double r87705 = r87678 / r87704;
double r87706 = r87681 * r87688;
double r87707 = r87706 / r87682;
double r87708 = 3.0;
double r87709 = pow(r87697, r87708);
double r87710 = cbrt(r87709);
double r87711 = r87694 - r87710;
double r87712 = r87671 * r87711;
double r87713 = r87707 - r87712;
double r87714 = r87680 * r87713;
double r87715 = exp(r87714);
double r87716 = r87679 * r87715;
double r87717 = r87678 + r87716;
double r87718 = r87678 / r87717;
double r87719 = r87677 ? r87705 : r87718;
return r87719;
}



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
if (- b c) < 1.6085369709737683e+21 or 1.3820588731262808e+250 < (- b c) Initial program 3.6
rmApplied add-cube-cbrt3.6
Applied times-frac2.5
if 1.6085369709737683e+21 < (- b c) < 1.3820588731262808e+250Initial program 5.5
rmApplied add-cbrt-cube5.5
Applied add-cbrt-cube7.4
Applied cbrt-unprod7.4
Applied add-cbrt-cube7.4
Applied cbrt-undiv7.5
Simplified7.5
Final simplification3.8
herbie shell --seed 2019351
(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)))))))))))