Average Error: 3.8 → 2.2
Time: 31.1s
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, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{\frac{2}{t}}{3} - \left(a + \frac{5}{6}\right), b - c, \frac{z}{\frac{t}{\sqrt{t + a}}}\right)\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, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{\frac{2}{t}}{3} - \left(a + \frac{5}{6}\right), b - c, \frac{z}{\frac{t}{\sqrt{t + a}}}\right)\right)}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r85127 = x;
        double r85128 = y;
        double r85129 = 2.0;
        double r85130 = z;
        double r85131 = t;
        double r85132 = a;
        double r85133 = r85131 + r85132;
        double r85134 = sqrt(r85133);
        double r85135 = r85130 * r85134;
        double r85136 = r85135 / r85131;
        double r85137 = b;
        double r85138 = c;
        double r85139 = r85137 - r85138;
        double r85140 = 5.0;
        double r85141 = 6.0;
        double r85142 = r85140 / r85141;
        double r85143 = r85132 + r85142;
        double r85144 = 3.0;
        double r85145 = r85131 * r85144;
        double r85146 = r85129 / r85145;
        double r85147 = r85143 - r85146;
        double r85148 = r85139 * r85147;
        double r85149 = r85136 - r85148;
        double r85150 = r85129 * r85149;
        double r85151 = exp(r85150);
        double r85152 = r85128 * r85151;
        double r85153 = r85127 + r85152;
        double r85154 = r85127 / r85153;
        return r85154;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r85155 = x;
        double r85156 = y;
        double r85157 = 2.0;
        double r85158 = exp(r85157);
        double r85159 = t;
        double r85160 = r85157 / r85159;
        double r85161 = 3.0;
        double r85162 = r85160 / r85161;
        double r85163 = a;
        double r85164 = 5.0;
        double r85165 = 6.0;
        double r85166 = r85164 / r85165;
        double r85167 = r85163 + r85166;
        double r85168 = r85162 - r85167;
        double r85169 = b;
        double r85170 = c;
        double r85171 = r85169 - r85170;
        double r85172 = z;
        double r85173 = r85159 + r85163;
        double r85174 = sqrt(r85173);
        double r85175 = r85159 / r85174;
        double r85176 = r85172 / r85175;
        double r85177 = fma(r85168, r85171, r85176);
        double r85178 = pow(r85158, r85177);
        double r85179 = fma(r85156, r85178, r85155);
        double r85180 = r85155 / r85179;
        return r85180;
}

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

    \[\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. Simplified2.7

    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{\frac{2}{t}}{3} - \left(a + \frac{5}{6}\right), b - c, \frac{z \cdot \sqrt{t + a}}{t}\right)\right)}, x\right)}}\]
  3. Using strategy rm
  4. Applied associate-/l*2.2

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

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

Reproduce

herbie shell --seed 2019235 +o rules:numerics
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
  :precision binary64
  (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))