Average Error: 3.9 → 1.6
Time: 15.0s
Precision: 64
\[\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)}}\]
\[\frac{x}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \frac{5}{6} + \left(a - \frac{\frac{2}{t}}{3}\right), \sqrt{t + a} \cdot \frac{z}{t}\right)}, x\right)}\]
\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)}}
\frac{x}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \frac{5}{6} + \left(a - \frac{\frac{2}{t}}{3}\right), \sqrt{t + a} \cdot \frac{z}{t}\right)}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r56018 = x;
        double r56019 = y;
        double r56020 = 2.0;
        double r56021 = z;
        double r56022 = t;
        double r56023 = a;
        double r56024 = r56022 + r56023;
        double r56025 = sqrt(r56024);
        double r56026 = r56021 * r56025;
        double r56027 = r56026 / r56022;
        double r56028 = b;
        double r56029 = c;
        double r56030 = r56028 - r56029;
        double r56031 = 5.0;
        double r56032 = 6.0;
        double r56033 = r56031 / r56032;
        double r56034 = r56023 + r56033;
        double r56035 = 3.0;
        double r56036 = r56022 * r56035;
        double r56037 = r56020 / r56036;
        double r56038 = r56034 - r56037;
        double r56039 = r56030 * r56038;
        double r56040 = r56027 - r56039;
        double r56041 = r56020 * r56040;
        double r56042 = exp(r56041);
        double r56043 = r56019 * r56042;
        double r56044 = r56018 + r56043;
        double r56045 = r56018 / r56044;
        return r56045;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r56046 = x;
        double r56047 = y;
        double r56048 = 2.0;
        double r56049 = c;
        double r56050 = b;
        double r56051 = r56049 - r56050;
        double r56052 = 5.0;
        double r56053 = 6.0;
        double r56054 = r56052 / r56053;
        double r56055 = a;
        double r56056 = t;
        double r56057 = r56048 / r56056;
        double r56058 = 3.0;
        double r56059 = r56057 / r56058;
        double r56060 = r56055 - r56059;
        double r56061 = r56054 + r56060;
        double r56062 = r56056 + r56055;
        double r56063 = sqrt(r56062);
        double r56064 = z;
        double r56065 = r56064 / r56056;
        double r56066 = r56063 * r56065;
        double r56067 = fma(r56051, r56061, r56066);
        double r56068 = r56048 * r56067;
        double r56069 = exp(r56068);
        double r56070 = fma(r56047, r56069, r56046);
        double r56071 = r56046 / r56070;
        return r56071;
}

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 \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)}}\]
  2. Simplified1.6

    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \frac{5}{6} + \left(a - \frac{\frac{2}{t}}{3}\right), \sqrt{a + t} \cdot \frac{z}{t}\right)}, x\right)}}\]
  3. Final simplification1.6

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \frac{5}{6} + \left(a - \frac{\frac{2}{t}}{3}\right), \sqrt{t + a} \cdot \frac{z}{t}\right)}, x\right)}\]

Reproduce

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