Average Error: 29.2 → 29.3
Time: 22.4s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r317 = x;
        double r318 = y;
        double r319 = r317 * r318;
        double r320 = z;
        double r321 = r319 + r320;
        double r322 = r321 * r318;
        double r323 = 27464.7644705;
        double r324 = r322 + r323;
        double r325 = r324 * r318;
        double r326 = 230661.510616;
        double r327 = r325 + r326;
        double r328 = r327 * r318;
        double r329 = t;
        double r330 = r328 + r329;
        double r331 = a;
        double r332 = r318 + r331;
        double r333 = r332 * r318;
        double r334 = b;
        double r335 = r333 + r334;
        double r336 = r335 * r318;
        double r337 = c;
        double r338 = r336 + r337;
        double r339 = r338 * r318;
        double r340 = i;
        double r341 = r339 + r340;
        double r342 = r330 / r341;
        return r342;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r343 = x;
        double r344 = y;
        double r345 = r343 * r344;
        double r346 = z;
        double r347 = r345 + r346;
        double r348 = r347 * r344;
        double r349 = 27464.7644705;
        double r350 = r348 + r349;
        double r351 = r350 * r344;
        double r352 = 230661.510616;
        double r353 = r351 + r352;
        double r354 = r353 * r344;
        double r355 = t;
        double r356 = r354 + r355;
        double r357 = 1.0;
        double r358 = a;
        double r359 = r344 + r358;
        double r360 = r359 * r344;
        double r361 = b;
        double r362 = r360 + r361;
        double r363 = r362 * r344;
        double r364 = c;
        double r365 = r363 + r364;
        double r366 = r365 * r344;
        double r367 = i;
        double r368 = r366 + r367;
        double r369 = r357 / r368;
        double r370 = r356 * r369;
        return r370;
}

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

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 29.2

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Using strategy rm
  3. Applied div-inv29.3

    \[\leadsto \color{blue}{\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
  4. Final simplification29.3

    \[\leadsto \left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]

Reproduce

herbie shell --seed 2020025 
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  :precision binary64
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))