\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\frac{x}{(y \cdot \left(e^{2.0 \cdot (\left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right) \cdot \left(\frac{\sqrt{t + a}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right) + \left(\left(-\left(b - c\right)\right) \cdot \left(\left(a - \frac{2.0}{3.0 \cdot t}\right) + \frac{5.0}{6.0}\right)\right))_*}\right) + x)_*}double f(double x, double y, double z, double t, double a, double b, double c) {
double r26234233 = x;
double r26234234 = y;
double r26234235 = 2.0;
double r26234236 = z;
double r26234237 = t;
double r26234238 = a;
double r26234239 = r26234237 + r26234238;
double r26234240 = sqrt(r26234239);
double r26234241 = r26234236 * r26234240;
double r26234242 = r26234241 / r26234237;
double r26234243 = b;
double r26234244 = c;
double r26234245 = r26234243 - r26234244;
double r26234246 = 5.0;
double r26234247 = 6.0;
double r26234248 = r26234246 / r26234247;
double r26234249 = r26234238 + r26234248;
double r26234250 = 3.0;
double r26234251 = r26234237 * r26234250;
double r26234252 = r26234235 / r26234251;
double r26234253 = r26234249 - r26234252;
double r26234254 = r26234245 * r26234253;
double r26234255 = r26234242 - r26234254;
double r26234256 = r26234235 * r26234255;
double r26234257 = exp(r26234256);
double r26234258 = r26234234 * r26234257;
double r26234259 = r26234233 + r26234258;
double r26234260 = r26234233 / r26234259;
return r26234260;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r26234261 = x;
double r26234262 = y;
double r26234263 = 2.0;
double r26234264 = z;
double r26234265 = cbrt(r26234264);
double r26234266 = t;
double r26234267 = cbrt(r26234266);
double r26234268 = r26234265 / r26234267;
double r26234269 = r26234268 * r26234268;
double r26234270 = a;
double r26234271 = r26234266 + r26234270;
double r26234272 = sqrt(r26234271);
double r26234273 = r26234267 / r26234265;
double r26234274 = r26234272 / r26234273;
double r26234275 = b;
double r26234276 = c;
double r26234277 = r26234275 - r26234276;
double r26234278 = -r26234277;
double r26234279 = 3.0;
double r26234280 = r26234279 * r26234266;
double r26234281 = r26234263 / r26234280;
double r26234282 = r26234270 - r26234281;
double r26234283 = 5.0;
double r26234284 = 6.0;
double r26234285 = r26234283 / r26234284;
double r26234286 = r26234282 + r26234285;
double r26234287 = r26234278 * r26234286;
double r26234288 = fma(r26234269, r26234274, r26234287);
double r26234289 = r26234263 * r26234288;
double r26234290 = exp(r26234289);
double r26234291 = fma(r26234262, r26234290, r26234261);
double r26234292 = r26234261 / r26234291;
return r26234292;
}



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
Initial program 3.7
Simplified2.9
rmApplied add-cube-cbrt2.9
Applied add-cube-cbrt2.9
Applied times-frac2.9
Applied *-un-lft-identity2.9
Applied times-frac2.5
Applied fma-neg1.2
Simplified1.2
Final simplification1.2
herbie shell --seed 2019104 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))