\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.097264455817546718684511622823663412103 \cdot 10^{-14}:\\
\;\;\;\;\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{elif}\;t \le 1.207880239692675796069901468393483526346 \cdot 10^{-104}:\\
\;\;\;\;\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(\sqrt[3]{t} \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(\sqrt[3]{t} \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(\frac{2}{t \cdot 3}\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 r76224 = x;
double r76225 = y;
double r76226 = 2.0;
double r76227 = z;
double r76228 = t;
double r76229 = a;
double r76230 = r76228 + r76229;
double r76231 = sqrt(r76230);
double r76232 = r76227 * r76231;
double r76233 = r76232 / r76228;
double r76234 = b;
double r76235 = c;
double r76236 = r76234 - r76235;
double r76237 = 5.0;
double r76238 = 6.0;
double r76239 = r76237 / r76238;
double r76240 = r76229 + r76239;
double r76241 = 3.0;
double r76242 = r76228 * r76241;
double r76243 = r76226 / r76242;
double r76244 = r76240 - r76243;
double r76245 = r76236 * r76244;
double r76246 = r76233 - r76245;
double r76247 = r76226 * r76246;
double r76248 = exp(r76247);
double r76249 = r76225 * r76248;
double r76250 = r76224 + r76249;
double r76251 = r76224 / r76250;
return r76251;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r76252 = t;
double r76253 = -2.0972644558175467e-14;
bool r76254 = r76252 <= r76253;
double r76255 = x;
double r76256 = y;
double r76257 = 2.0;
double r76258 = z;
double r76259 = cbrt(r76252);
double r76260 = exp(r76259);
double r76261 = log(r76260);
double r76262 = r76259 * r76261;
double r76263 = r76258 / r76262;
double r76264 = a;
double r76265 = r76252 + r76264;
double r76266 = sqrt(r76265);
double r76267 = r76266 / r76259;
double r76268 = r76263 * r76267;
double r76269 = b;
double r76270 = c;
double r76271 = r76269 - r76270;
double r76272 = 5.0;
double r76273 = 6.0;
double r76274 = r76272 / r76273;
double r76275 = r76264 + r76274;
double r76276 = 3.0;
double r76277 = r76252 * r76276;
double r76278 = r76257 / r76277;
double r76279 = r76275 - r76278;
double r76280 = r76271 * r76279;
double r76281 = r76268 - r76280;
double r76282 = r76257 * r76281;
double r76283 = exp(r76282);
double r76284 = r76256 * r76283;
double r76285 = r76255 + r76284;
double r76286 = r76255 / r76285;
double r76287 = 1.2078802396926758e-104;
bool r76288 = r76252 <= r76287;
double r76289 = r76258 * r76267;
double r76290 = r76264 - r76274;
double r76291 = r76290 * r76277;
double r76292 = r76289 * r76291;
double r76293 = r76259 * r76259;
double r76294 = r76264 * r76264;
double r76295 = r76274 * r76274;
double r76296 = r76294 - r76295;
double r76297 = r76296 * r76277;
double r76298 = r76290 * r76257;
double r76299 = r76297 - r76298;
double r76300 = r76271 * r76299;
double r76301 = r76293 * r76300;
double r76302 = r76292 - r76301;
double r76303 = r76293 * r76291;
double r76304 = r76302 / r76303;
double r76305 = r76257 * r76304;
double r76306 = exp(r76305);
double r76307 = r76256 * r76306;
double r76308 = r76255 + r76307;
double r76309 = r76255 / r76308;
double r76310 = r76258 * r76266;
double r76311 = r76310 / r76252;
double r76312 = 3.0;
double r76313 = pow(r76278, r76312);
double r76314 = 0.3333333333333333;
double r76315 = pow(r76313, r76314);
double r76316 = r76275 - r76315;
double r76317 = r76271 * r76316;
double r76318 = r76311 - r76317;
double r76319 = r76257 * r76318;
double r76320 = exp(r76319);
double r76321 = r76256 * r76320;
double r76322 = r76255 + r76321;
double r76323 = r76255 / r76322;
double r76324 = r76288 ? r76309 : r76323;
double r76325 = r76254 ? r76286 : r76324;
return r76325;
}



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.0972644558175467e-14Initial program 4.1
rmApplied add-cube-cbrt4.1
Applied times-frac0.6
rmApplied add-log-exp3.9
if -2.0972644558175467e-14 < t < 1.2078802396926758e-104Initial program 6.5
rmApplied add-cube-cbrt6.5
Applied times-frac6.7
rmApplied flip-+10.0
Applied frac-sub10.1
Applied associate-*r/10.1
Applied associate-*l/9.9
Applied frac-sub7.0
if 1.2078802396926758e-104 < t Initial program 2.3
rmApplied add-cbrt-cube2.3
Applied add-cbrt-cube2.3
Applied cbrt-unprod2.3
Applied add-cbrt-cube2.3
Applied cbrt-undiv2.3
Simplified2.3
rmApplied pow1/32.3
Final simplification4.1
herbie shell --seed 2019353
(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)))))))))))