Average Error: 3.9 → 1.8
Time: 25.8s
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, e^{\log \left(e^{\mathsf{fma}\left(c - b, \frac{5.0}{6.0} + \left(a - \frac{\frac{2.0}{t}}{3.0}\right), \sqrt{t + a} \cdot \frac{z}{t}\right)}\right) \cdot 2.0}, 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, e^{\log \left(e^{\mathsf{fma}\left(c - b, \frac{5.0}{6.0} + \left(a - \frac{\frac{2.0}{t}}{3.0}\right), \sqrt{t + a} \cdot \frac{z}{t}\right)}\right) \cdot 2.0}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2330408 = x;
        double r2330409 = y;
        double r2330410 = 2.0;
        double r2330411 = z;
        double r2330412 = t;
        double r2330413 = a;
        double r2330414 = r2330412 + r2330413;
        double r2330415 = sqrt(r2330414);
        double r2330416 = r2330411 * r2330415;
        double r2330417 = r2330416 / r2330412;
        double r2330418 = b;
        double r2330419 = c;
        double r2330420 = r2330418 - r2330419;
        double r2330421 = 5.0;
        double r2330422 = 6.0;
        double r2330423 = r2330421 / r2330422;
        double r2330424 = r2330413 + r2330423;
        double r2330425 = 3.0;
        double r2330426 = r2330412 * r2330425;
        double r2330427 = r2330410 / r2330426;
        double r2330428 = r2330424 - r2330427;
        double r2330429 = r2330420 * r2330428;
        double r2330430 = r2330417 - r2330429;
        double r2330431 = r2330410 * r2330430;
        double r2330432 = exp(r2330431);
        double r2330433 = r2330409 * r2330432;
        double r2330434 = r2330408 + r2330433;
        double r2330435 = r2330408 / r2330434;
        return r2330435;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2330436 = x;
        double r2330437 = y;
        double r2330438 = c;
        double r2330439 = b;
        double r2330440 = r2330438 - r2330439;
        double r2330441 = 5.0;
        double r2330442 = 6.0;
        double r2330443 = r2330441 / r2330442;
        double r2330444 = a;
        double r2330445 = 2.0;
        double r2330446 = t;
        double r2330447 = r2330445 / r2330446;
        double r2330448 = 3.0;
        double r2330449 = r2330447 / r2330448;
        double r2330450 = r2330444 - r2330449;
        double r2330451 = r2330443 + r2330450;
        double r2330452 = r2330446 + r2330444;
        double r2330453 = sqrt(r2330452);
        double r2330454 = z;
        double r2330455 = r2330454 / r2330446;
        double r2330456 = r2330453 * r2330455;
        double r2330457 = fma(r2330440, r2330451, r2330456);
        double r2330458 = exp(r2330457);
        double r2330459 = log(r2330458);
        double r2330460 = r2330459 * r2330445;
        double r2330461 = exp(r2330460);
        double r2330462 = fma(r2330437, r2330461, r2330436);
        double r2330463 = r2330436 / r2330462;
        return r2330463;
}

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.9

    \[\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. Simplified1.8

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

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, e^{2.0 \cdot \color{blue}{\log \left(e^{\mathsf{fma}\left(c - b, \frac{5.0}{6.0} + \left(a - \frac{\frac{2.0}{t}}{3.0}\right), \sqrt{a + t} \cdot \frac{z}{t}\right)}\right)}}, x\right)}\]
  5. Final simplification1.8

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, e^{\log \left(e^{\mathsf{fma}\left(c - b, \frac{5.0}{6.0} + \left(a - \frac{\frac{2.0}{t}}{3.0}\right), \sqrt{t + a} \cdot \frac{z}{t}\right)}\right) \cdot 2.0}, x\right)}\]

Reproduce

herbie shell --seed 2019165 +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)))))))))))