Average Error: 3.7 → 1.3
Time: 3.6m
Precision: 64
\[\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)}\]
\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;
}

Error

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

Derivation

  1. Initial program 3.7

    \[\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)}}\]
  2. Simplified2.9

    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\frac{t}{z}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt2.9

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\frac{t}{\color{blue}{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  5. Applied add-cube-cbrt2.9

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\frac{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}}{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  6. Applied times-frac2.9

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\color{blue}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \frac{\sqrt[3]{t}}{\sqrt[3]{z}}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  7. Applied *-un-lft-identity2.9

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\color{blue}{1 \cdot \sqrt{a + t}}}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \frac{\sqrt[3]{t}}{\sqrt[3]{z}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  8. Applied times-frac2.7

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\color{blue}{\frac{1}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}} \cdot \frac{\sqrt{a + t}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  9. Applied fma-neg1.3

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \color{blue}{\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(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)\right)}}\right), x\right)}\]
  10. Simplified1.3

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \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), \color{blue}{\left(\left(c - b\right) \cdot \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right)\right)}\right)}\right), x\right)}\]
  11. Final simplification1.3

    \[\leadsto \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)}\]

Reproduce

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)))))))))))