Average Error: 3.9 → 2.9
Time: 6.5m
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}{(y \cdot \left(e^{2.0 \cdot \log \left(e^{\frac{\sqrt{t + a}}{\frac{t}{z}} - \left(b - c\right) \cdot \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right)}\right)}\right) + x)_*}\]
\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}{(y \cdot \left(e^{2.0 \cdot \log \left(e^{\frac{\sqrt{t + a}}{\frac{t}{z}} - \left(b - c\right) \cdot \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right)}\right)}\right) + x)_*}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r34380190 = x;
        double r34380191 = y;
        double r34380192 = 2.0;
        double r34380193 = z;
        double r34380194 = t;
        double r34380195 = a;
        double r34380196 = r34380194 + r34380195;
        double r34380197 = sqrt(r34380196);
        double r34380198 = r34380193 * r34380197;
        double r34380199 = r34380198 / r34380194;
        double r34380200 = b;
        double r34380201 = c;
        double r34380202 = r34380200 - r34380201;
        double r34380203 = 5.0;
        double r34380204 = 6.0;
        double r34380205 = r34380203 / r34380204;
        double r34380206 = r34380195 + r34380205;
        double r34380207 = 3.0;
        double r34380208 = r34380194 * r34380207;
        double r34380209 = r34380192 / r34380208;
        double r34380210 = r34380206 - r34380209;
        double r34380211 = r34380202 * r34380210;
        double r34380212 = r34380199 - r34380211;
        double r34380213 = r34380192 * r34380212;
        double r34380214 = exp(r34380213);
        double r34380215 = r34380191 * r34380214;
        double r34380216 = r34380190 + r34380215;
        double r34380217 = r34380190 / r34380216;
        return r34380217;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r34380218 = x;
        double r34380219 = y;
        double r34380220 = 2.0;
        double r34380221 = t;
        double r34380222 = a;
        double r34380223 = r34380221 + r34380222;
        double r34380224 = sqrt(r34380223);
        double r34380225 = z;
        double r34380226 = r34380221 / r34380225;
        double r34380227 = r34380224 / r34380226;
        double r34380228 = b;
        double r34380229 = c;
        double r34380230 = r34380228 - r34380229;
        double r34380231 = 3.0;
        double r34380232 = r34380221 * r34380231;
        double r34380233 = r34380220 / r34380232;
        double r34380234 = r34380222 - r34380233;
        double r34380235 = 5.0;
        double r34380236 = 6.0;
        double r34380237 = r34380235 / r34380236;
        double r34380238 = r34380234 + r34380237;
        double r34380239 = r34380230 * r34380238;
        double r34380240 = r34380227 - r34380239;
        double r34380241 = exp(r34380240);
        double r34380242 = log(r34380241);
        double r34380243 = r34380220 * r34380242;
        double r34380244 = exp(r34380243);
        double r34380245 = fma(r34380219, r34380244, r34380218);
        double r34380246 = r34380218 / r34380245;
        return r34380246;
}

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

    \[\leadsto \color{blue}{\frac{x}{(y \cdot \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)_*}}\]
  3. Using strategy rm
  4. Applied add-log-exp6.9

    \[\leadsto \frac{x}{(y \cdot \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\frac{t}{z}} - \color{blue}{\log \left(e^{\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)_*}\]
  5. Applied add-log-exp16.0

    \[\leadsto \frac{x}{(y \cdot \left(e^{2.0 \cdot \left(\color{blue}{\log \left(e^{\frac{\sqrt{a + t}}{\frac{t}{z}}}\right)} - \log \left(e^{\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)_*}\]
  6. Applied diff-log16.0

    \[\leadsto \frac{x}{(y \cdot \left(e^{2.0 \cdot \color{blue}{\log \left(\frac{e^{\frac{\sqrt{a + t}}{\frac{t}{z}}}}{e^{\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)_*}\]
  7. Simplified2.9

    \[\leadsto \frac{x}{(y \cdot \left(e^{2.0 \cdot \log \color{blue}{\left(e^{\frac{\sqrt{t + a}}{\frac{t}{z}} - \left(\frac{5.0}{6.0} + \left(a - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot \left(b - c\right)}\right)}}\right) + x)_*}\]
  8. Final simplification2.9

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

Reproduce

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