\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) - \left(\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}\right) \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)}{\left(\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}\right) \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 r101928 = x;
double r101929 = y;
double r101930 = 2.0;
double r101931 = z;
double r101932 = t;
double r101933 = a;
double r101934 = r101932 + r101933;
double r101935 = sqrt(r101934);
double r101936 = r101931 * r101935;
double r101937 = r101936 / r101932;
double r101938 = b;
double r101939 = c;
double r101940 = r101938 - r101939;
double r101941 = 5.0;
double r101942 = 6.0;
double r101943 = r101941 / r101942;
double r101944 = r101933 + r101943;
double r101945 = 3.0;
double r101946 = r101932 * r101945;
double r101947 = r101930 / r101946;
double r101948 = r101944 - r101947;
double r101949 = r101940 * r101948;
double r101950 = r101937 - r101949;
double r101951 = r101930 * r101950;
double r101952 = exp(r101951);
double r101953 = r101929 * r101952;
double r101954 = r101928 + r101953;
double r101955 = r101928 / r101954;
return r101955;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r101956 = t;
double r101957 = -2.3617424863871238e-92;
bool r101958 = r101956 <= r101957;
double r101959 = x;
double r101960 = y;
double r101961 = 2.0;
double r101962 = c;
double r101963 = a;
double r101964 = 0.8333333333333334;
double r101965 = r101963 + r101964;
double r101966 = r101962 * r101965;
double r101967 = b;
double r101968 = r101963 * r101967;
double r101969 = r101966 - r101968;
double r101970 = r101961 * r101969;
double r101971 = exp(r101970);
double r101972 = r101960 * r101971;
double r101973 = r101959 + r101972;
double r101974 = r101959 / r101973;
double r101975 = 9.255404473728014e-17;
bool r101976 = r101956 <= r101975;
double r101977 = z;
double r101978 = r101956 + r101963;
double r101979 = sqrt(r101978);
double r101980 = r101977 * r101979;
double r101981 = 5.0;
double r101982 = 6.0;
double r101983 = r101981 / r101982;
double r101984 = r101963 - r101983;
double r101985 = 3.0;
double r101986 = r101956 * r101985;
double r101987 = r101984 * r101986;
double r101988 = r101980 * r101987;
double r101989 = cbrt(r101956);
double r101990 = r101989 * r101989;
double r101991 = r101990 * r101989;
double r101992 = r101967 - r101962;
double r101993 = r101963 * r101963;
double r101994 = r101983 * r101983;
double r101995 = r101993 - r101994;
double r101996 = r101995 * r101986;
double r101997 = r101984 * r101961;
double r101998 = r101996 - r101997;
double r101999 = r101992 * r101998;
double r102000 = r101991 * r101999;
double r102001 = r101988 - r102000;
double r102002 = r101991 * r101987;
double r102003 = r102001 / r102002;
double r102004 = r101961 * r102003;
double r102005 = exp(r102004);
double r102006 = r101960 * r102005;
double r102007 = r101959 + r102006;
double r102008 = r101959 / r102007;
double r102009 = r101980 / r101956;
double r102010 = r101963 + r101983;
double r102011 = r101961 / r101956;
double r102012 = r102011 / r101985;
double r102013 = exp(r102012);
double r102014 = log(r102013);
double r102015 = 3.0;
double r102016 = pow(r102014, r102015);
double r102017 = 0.3333333333333333;
double r102018 = pow(r102016, r102017);
double r102019 = r102010 - r102018;
double r102020 = r101992 * r102019;
double r102021 = r102009 - r102020;
double r102022 = r101961 * r102021;
double r102023 = exp(r102022);
double r102024 = r101960 * r102023;
double r102025 = r101959 + r102024;
double r102026 = r101959 / r102025;
double r102027 = r101976 ? r102008 : r102026;
double r102028 = r101958 ? r101974 : r102027;
return r102028;
}



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 add-cube-cbrt5.4
Applied times-frac5.6
rmApplied flip-+8.4
Applied frac-sub8.4
Applied associate-*r/8.4
Applied frac-times8.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)))))))))))