Average Error: 4.0 → 1.7
Time: 58.9s
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(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\sqrt{a + t}}{\frac{t}{z}}\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(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\sqrt{a + t}}{\frac{t}{z}}\right)}\right) \cdot 2.0}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2755262 = x;
        double r2755263 = y;
        double r2755264 = 2.0;
        double r2755265 = z;
        double r2755266 = t;
        double r2755267 = a;
        double r2755268 = r2755266 + r2755267;
        double r2755269 = sqrt(r2755268);
        double r2755270 = r2755265 * r2755269;
        double r2755271 = r2755270 / r2755266;
        double r2755272 = b;
        double r2755273 = c;
        double r2755274 = r2755272 - r2755273;
        double r2755275 = 5.0;
        double r2755276 = 6.0;
        double r2755277 = r2755275 / r2755276;
        double r2755278 = r2755267 + r2755277;
        double r2755279 = 3.0;
        double r2755280 = r2755266 * r2755279;
        double r2755281 = r2755264 / r2755280;
        double r2755282 = r2755278 - r2755281;
        double r2755283 = r2755274 * r2755282;
        double r2755284 = r2755271 - r2755283;
        double r2755285 = r2755264 * r2755284;
        double r2755286 = exp(r2755285);
        double r2755287 = r2755263 * r2755286;
        double r2755288 = r2755262 + r2755287;
        double r2755289 = r2755262 / r2755288;
        return r2755289;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2755290 = x;
        double r2755291 = y;
        double r2755292 = c;
        double r2755293 = b;
        double r2755294 = r2755292 - r2755293;
        double r2755295 = 5.0;
        double r2755296 = 6.0;
        double r2755297 = r2755295 / r2755296;
        double r2755298 = 2.0;
        double r2755299 = t;
        double r2755300 = r2755298 / r2755299;
        double r2755301 = 3.0;
        double r2755302 = r2755300 / r2755301;
        double r2755303 = a;
        double r2755304 = r2755302 - r2755303;
        double r2755305 = r2755297 - r2755304;
        double r2755306 = r2755303 + r2755299;
        double r2755307 = sqrt(r2755306);
        double r2755308 = z;
        double r2755309 = r2755299 / r2755308;
        double r2755310 = r2755307 / r2755309;
        double r2755311 = fma(r2755294, r2755305, r2755310);
        double r2755312 = exp(r2755311);
        double r2755313 = log(r2755312);
        double r2755314 = r2755313 * r2755298;
        double r2755315 = exp(r2755314);
        double r2755316 = fma(r2755291, r2755315, r2755290);
        double r2755317 = r2755290 / r2755316;
        return r2755317;
}

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 4.0

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

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

    \[\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(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\sqrt{a + t}}{\frac{t}{z}}\right)}\right)}}, x\right)}\]
  5. Final simplification1.7

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, e^{\log \left(e^{\mathsf{fma}\left(c - b, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\sqrt{a + t}}{\frac{t}{z}}\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)))))))))))