\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}\;t \le -2.3617424863871238 \cdot 10^{-92}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + 0.83333333333333337\right) - a \cdot b\right)}}\\
\mathbf{elif}\;t \le 9.2554044737280137 \cdot 10^{-17}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(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) - {\left({\left(\log \left(e^{\frac{\frac{2}{t}}{3}}\right)\right)}^{3}\right)}^{\frac{1}{3}}\right)\right)}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r101685 = x;
double r101686 = y;
double r101687 = 2.0;
double r101688 = z;
double r101689 = t;
double r101690 = a;
double r101691 = r101689 + r101690;
double r101692 = sqrt(r101691);
double r101693 = r101688 * r101692;
double r101694 = r101693 / r101689;
double r101695 = b;
double r101696 = c;
double r101697 = r101695 - r101696;
double r101698 = 5.0;
double r101699 = 6.0;
double r101700 = r101698 / r101699;
double r101701 = r101690 + r101700;
double r101702 = 3.0;
double r101703 = r101689 * r101702;
double r101704 = r101687 / r101703;
double r101705 = r101701 - r101704;
double r101706 = r101697 * r101705;
double r101707 = r101694 - r101706;
double r101708 = r101687 * r101707;
double r101709 = exp(r101708);
double r101710 = r101686 * r101709;
double r101711 = r101685 + r101710;
double r101712 = r101685 / r101711;
return r101712;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r101713 = t;
double r101714 = -2.3617424863871238e-92;
bool r101715 = r101713 <= r101714;
double r101716 = x;
double r101717 = y;
double r101718 = 2.0;
double r101719 = c;
double r101720 = a;
double r101721 = 0.8333333333333334;
double r101722 = r101720 + r101721;
double r101723 = r101719 * r101722;
double r101724 = b;
double r101725 = r101720 * r101724;
double r101726 = r101723 - r101725;
double r101727 = r101718 * r101726;
double r101728 = exp(r101727);
double r101729 = r101717 * r101728;
double r101730 = r101716 + r101729;
double r101731 = r101716 / r101730;
double r101732 = 9.255404473728014e-17;
bool r101733 = r101713 <= r101732;
double r101734 = z;
double r101735 = r101713 + r101720;
double r101736 = sqrt(r101735);
double r101737 = r101734 * r101736;
double r101738 = 5.0;
double r101739 = 6.0;
double r101740 = r101738 / r101739;
double r101741 = r101720 - r101740;
double r101742 = 3.0;
double r101743 = r101713 * r101742;
double r101744 = r101741 * r101743;
double r101745 = r101737 * r101744;
double r101746 = r101724 - r101719;
double r101747 = r101720 * r101720;
double r101748 = r101740 * r101740;
double r101749 = r101747 - r101748;
double r101750 = r101749 * r101743;
double r101751 = r101741 * r101718;
double r101752 = r101750 - r101751;
double r101753 = r101746 * r101752;
double r101754 = r101713 * r101753;
double r101755 = r101745 - r101754;
double r101756 = r101713 * r101744;
double r101757 = r101755 / r101756;
double r101758 = r101718 * r101757;
double r101759 = exp(r101758);
double r101760 = r101717 * r101759;
double r101761 = r101716 + r101760;
double r101762 = r101716 / r101761;
double r101763 = r101737 / r101713;
double r101764 = r101720 + r101740;
double r101765 = r101718 / r101713;
double r101766 = r101765 / r101742;
double r101767 = exp(r101766);
double r101768 = log(r101767);
double r101769 = 3.0;
double r101770 = pow(r101768, r101769);
double r101771 = 0.3333333333333333;
double r101772 = pow(r101770, r101771);
double r101773 = r101764 - r101772;
double r101774 = r101746 * r101773;
double r101775 = r101763 - r101774;
double r101776 = r101718 * r101775;
double r101777 = exp(r101776);
double r101778 = r101717 * r101777;
double r101779 = r101716 + r101778;
double r101780 = r101716 / r101779;
double r101781 = r101733 ? r101762 : r101780;
double r101782 = r101715 ? r101731 : r101781;
return r101782;
}



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 t < -2.3617424863871238e-92Initial program 3.6
Taylor expanded around inf 8.8
Simplified8.8
if -2.3617424863871238e-92 < t < 9.255404473728014e-17Initial program 5.4
rmApplied flip-+8.1
Applied frac-sub8.1
Applied associate-*r/8.2
Applied frac-sub6.7
if 9.255404473728014e-17 < t Initial program 2.9
rmApplied add-cbrt-cube2.9
Applied add-cbrt-cube2.9
Applied cbrt-unprod2.9
Applied add-cbrt-cube2.9
Applied cbrt-undiv2.9
Simplified2.9
rmApplied pow1/32.9
rmApplied add-log-exp3.7
Simplified3.7
Final simplification5.6
herbie shell --seed 2020042
(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)))))))))))