\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}{\mathsf{fma}\left(y, \left(e^{\mathsf{fma}\left(\left(\frac{1}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}}\right), \left(\frac{\sqrt{a + t}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right), \left(\left(\frac{5.0}{6.0} + \left(a - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot \left(c - b\right)\right)\right) \cdot 2.0}\right), x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r18396325 = x;
double r18396326 = y;
double r18396327 = 2.0;
double r18396328 = z;
double r18396329 = t;
double r18396330 = a;
double r18396331 = r18396329 + r18396330;
double r18396332 = sqrt(r18396331);
double r18396333 = r18396328 * r18396332;
double r18396334 = r18396333 / r18396329;
double r18396335 = b;
double r18396336 = c;
double r18396337 = r18396335 - r18396336;
double r18396338 = 5.0;
double r18396339 = 6.0;
double r18396340 = r18396338 / r18396339;
double r18396341 = r18396330 + r18396340;
double r18396342 = 3.0;
double r18396343 = r18396329 * r18396342;
double r18396344 = r18396327 / r18396343;
double r18396345 = r18396341 - r18396344;
double r18396346 = r18396337 * r18396345;
double r18396347 = r18396334 - r18396346;
double r18396348 = r18396327 * r18396347;
double r18396349 = exp(r18396348);
double r18396350 = r18396326 * r18396349;
double r18396351 = r18396325 + r18396350;
double r18396352 = r18396325 / r18396351;
return r18396352;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r18396353 = x;
double r18396354 = y;
double r18396355 = 1.0;
double r18396356 = t;
double r18396357 = cbrt(r18396356);
double r18396358 = r18396357 * r18396357;
double r18396359 = z;
double r18396360 = cbrt(r18396359);
double r18396361 = r18396360 * r18396360;
double r18396362 = r18396358 / r18396361;
double r18396363 = r18396355 / r18396362;
double r18396364 = a;
double r18396365 = r18396364 + r18396356;
double r18396366 = sqrt(r18396365);
double r18396367 = r18396357 / r18396360;
double r18396368 = r18396366 / r18396367;
double r18396369 = 5.0;
double r18396370 = 6.0;
double r18396371 = r18396369 / r18396370;
double r18396372 = 2.0;
double r18396373 = 3.0;
double r18396374 = r18396356 * r18396373;
double r18396375 = r18396372 / r18396374;
double r18396376 = r18396364 - r18396375;
double r18396377 = r18396371 + r18396376;
double r18396378 = c;
double r18396379 = b;
double r18396380 = r18396378 - r18396379;
double r18396381 = r18396377 * r18396380;
double r18396382 = fma(r18396363, r18396368, r18396381);
double r18396383 = r18396382 * r18396372;
double r18396384 = exp(r18396383);
double r18396385 = fma(r18396354, r18396384, r18396353);
double r18396386 = r18396353 / r18396385;
return r18396386;
}



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.7
Applied fma-neg1.3
Simplified1.3
Final simplification1.3
herbie shell --seed 2019125 +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)))))))))))