\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 -1.58864618275117732889084966831500711282 \cdot 10^{-55} \lor \neg \left(t \le 2592927404032904812036096\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z}{\sqrt[3]{t} \cdot \log \left(e^{\sqrt[3]{t}}\right)} \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 \frac{\left(z \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - \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) \cdot \left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r59079 = x;
double r59080 = y;
double r59081 = 2.0;
double r59082 = z;
double r59083 = t;
double r59084 = a;
double r59085 = r59083 + r59084;
double r59086 = sqrt(r59085);
double r59087 = r59082 * r59086;
double r59088 = r59087 / r59083;
double r59089 = b;
double r59090 = c;
double r59091 = r59089 - r59090;
double r59092 = 5.0;
double r59093 = 6.0;
double r59094 = r59092 / r59093;
double r59095 = r59084 + r59094;
double r59096 = 3.0;
double r59097 = r59083 * r59096;
double r59098 = r59081 / r59097;
double r59099 = r59095 - r59098;
double r59100 = r59091 * r59099;
double r59101 = r59088 - r59100;
double r59102 = r59081 * r59101;
double r59103 = exp(r59102);
double r59104 = r59080 * r59103;
double r59105 = r59079 + r59104;
double r59106 = r59079 / r59105;
return r59106;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r59107 = t;
double r59108 = -1.5886461827511773e-55;
bool r59109 = r59107 <= r59108;
double r59110 = 2.592927404032905e+24;
bool r59111 = r59107 <= r59110;
double r59112 = !r59111;
bool r59113 = r59109 || r59112;
double r59114 = x;
double r59115 = y;
double r59116 = 2.0;
double r59117 = z;
double r59118 = cbrt(r59107);
double r59119 = exp(r59118);
double r59120 = log(r59119);
double r59121 = r59118 * r59120;
double r59122 = r59117 / r59121;
double r59123 = a;
double r59124 = r59107 + r59123;
double r59125 = sqrt(r59124);
double r59126 = r59125 / r59118;
double r59127 = r59122 * r59126;
double r59128 = b;
double r59129 = c;
double r59130 = r59128 - r59129;
double r59131 = 5.0;
double r59132 = 6.0;
double r59133 = r59131 / r59132;
double r59134 = r59123 + r59133;
double r59135 = 3.0;
double r59136 = r59107 * r59135;
double r59137 = r59116 / r59136;
double r59138 = r59134 - r59137;
double r59139 = r59130 * r59138;
double r59140 = r59127 - r59139;
double r59141 = r59116 * r59140;
double r59142 = exp(r59141);
double r59143 = r59115 * r59142;
double r59144 = r59114 + r59143;
double r59145 = r59114 / r59144;
double r59146 = r59117 * r59126;
double r59147 = r59123 - r59133;
double r59148 = r59147 * r59136;
double r59149 = r59146 * r59148;
double r59150 = r59123 * r59123;
double r59151 = r59133 * r59133;
double r59152 = r59150 - r59151;
double r59153 = r59152 * r59136;
double r59154 = r59147 * r59116;
double r59155 = r59153 - r59154;
double r59156 = r59130 * r59155;
double r59157 = r59118 * r59118;
double r59158 = r59156 * r59157;
double r59159 = r59149 - r59158;
double r59160 = r59157 * r59148;
double r59161 = r59159 / r59160;
double r59162 = r59116 * r59161;
double r59163 = exp(r59162);
double r59164 = r59115 * r59163;
double r59165 = r59114 + r59164;
double r59166 = r59114 / r59165;
double r59167 = r59113 ? r59145 : r59166;
return r59167;
}



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 < -1.5886461827511773e-55 or 2.592927404032905e+24 < t Initial program 2.9
rmApplied add-cube-cbrt2.9
Applied times-frac0.4
rmApplied add-log-exp4.8
if -1.5886461827511773e-55 < t < 2.592927404032905e+24Initial program 5.0
rmApplied add-cube-cbrt5.0
Applied times-frac5.2
rmApplied add-log-exp26.7
rmApplied flip-+28.0
Applied frac-sub28.0
Applied associate-*r/28.0
Applied associate-*l/28.2
Applied frac-sub39.8
Simplified25.6
Simplified5.4
Final simplification5.1
herbie shell --seed 2019208
(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)))))))))))