Average Error: 29.2 → 29.3
Time: 8.5s
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 r97368 = x;
        double r97369 = y;
        double r97370 = r97368 * r97369;
        double r97371 = z;
        double r97372 = r97370 + r97371;
        double r97373 = r97372 * r97369;
        double r97374 = 27464.7644705;
        double r97375 = r97373 + r97374;
        double r97376 = r97375 * r97369;
        double r97377 = 230661.510616;
        double r97378 = r97376 + r97377;
        double r97379 = r97378 * r97369;
        double r97380 = t;
        double r97381 = r97379 + r97380;
        double r97382 = a;
        double r97383 = r97369 + r97382;
        double r97384 = r97383 * r97369;
        double r97385 = b;
        double r97386 = r97384 + r97385;
        double r97387 = r97386 * r97369;
        double r97388 = c;
        double r97389 = r97387 + r97388;
        double r97390 = r97389 * r97369;
        double r97391 = i;
        double r97392 = r97390 + r97391;
        double r97393 = r97381 / r97392;
        return r97393;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r97394 = x;
        double r97395 = y;
        double r97396 = r97394 * r97395;
        double r97397 = z;
        double r97398 = r97396 + r97397;
        double r97399 = r97398 * r97395;
        double r97400 = 27464.7644705;
        double r97401 = r97399 + r97400;
        double r97402 = r97401 * r97395;
        double r97403 = 230661.510616;
        double r97404 = r97402 + r97403;
        double r97405 = r97404 * r97395;
        double r97406 = t;
        double r97407 = r97405 + r97406;
        double r97408 = 1.0;
        double r97409 = a;
        double r97410 = r97395 + r97409;
        double r97411 = r97410 * r97395;
        double r97412 = b;
        double r97413 = r97411 + r97412;
        double r97414 = r97413 * r97395;
        double r97415 = c;
        double r97416 = r97414 + r97415;
        double r97417 = r97416 * r97395;
        double r97418 = i;
        double r97419 = r97417 + r97418;
        double r97420 = r97408 / r97419;
        double r97421 = r97407 * r97420;
        return r97421;
}

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 *-un-lft-identity29.2

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\color{blue}{1 \cdot \left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y\right)} + i}\]
  4. Using strategy rm
  5. 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}{1 \cdot \left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y\right) + i}}\]
  6. Simplified29.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 \color{blue}{\frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
  7. 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 2020033 
(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)))