Average Error: 29.3 → 29.4
Time: 7.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 r58502 = x;
        double r58503 = y;
        double r58504 = r58502 * r58503;
        double r58505 = z;
        double r58506 = r58504 + r58505;
        double r58507 = r58506 * r58503;
        double r58508 = 27464.7644705;
        double r58509 = r58507 + r58508;
        double r58510 = r58509 * r58503;
        double r58511 = 230661.510616;
        double r58512 = r58510 + r58511;
        double r58513 = r58512 * r58503;
        double r58514 = t;
        double r58515 = r58513 + r58514;
        double r58516 = a;
        double r58517 = r58503 + r58516;
        double r58518 = r58517 * r58503;
        double r58519 = b;
        double r58520 = r58518 + r58519;
        double r58521 = r58520 * r58503;
        double r58522 = c;
        double r58523 = r58521 + r58522;
        double r58524 = r58523 * r58503;
        double r58525 = i;
        double r58526 = r58524 + r58525;
        double r58527 = r58515 / r58526;
        return r58527;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r58528 = x;
        double r58529 = y;
        double r58530 = r58528 * r58529;
        double r58531 = z;
        double r58532 = r58530 + r58531;
        double r58533 = r58532 * r58529;
        double r58534 = 27464.7644705;
        double r58535 = r58533 + r58534;
        double r58536 = r58535 * r58529;
        double r58537 = 230661.510616;
        double r58538 = r58536 + r58537;
        double r58539 = r58538 * r58529;
        double r58540 = t;
        double r58541 = r58539 + r58540;
        double r58542 = 1.0;
        double r58543 = a;
        double r58544 = r58529 + r58543;
        double r58545 = r58544 * r58529;
        double r58546 = b;
        double r58547 = r58545 + r58546;
        double r58548 = r58547 * r58529;
        double r58549 = c;
        double r58550 = r58548 + r58549;
        double r58551 = r58550 * r58529;
        double r58552 = i;
        double r58553 = r58551 + r58552;
        double r58554 = r58542 / r58553;
        double r58555 = r58541 * r58554;
        return r58555;
}

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

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

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

    \[\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 2020024 
(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)))