Average Error: 28.7 → 28.8
Time: 22.3s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\frac{\frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}{\frac{1}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\frac{\frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}{\frac{1}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r74405 = x;
        double r74406 = y;
        double r74407 = r74405 * r74406;
        double r74408 = z;
        double r74409 = r74407 + r74408;
        double r74410 = r74409 * r74406;
        double r74411 = 27464.7644705;
        double r74412 = r74410 + r74411;
        double r74413 = r74412 * r74406;
        double r74414 = 230661.510616;
        double r74415 = r74413 + r74414;
        double r74416 = r74415 * r74406;
        double r74417 = t;
        double r74418 = r74416 + r74417;
        double r74419 = a;
        double r74420 = r74406 + r74419;
        double r74421 = r74420 * r74406;
        double r74422 = b;
        double r74423 = r74421 + r74422;
        double r74424 = r74423 * r74406;
        double r74425 = c;
        double r74426 = r74424 + r74425;
        double r74427 = r74426 * r74406;
        double r74428 = i;
        double r74429 = r74427 + r74428;
        double r74430 = r74418 / r74429;
        return r74430;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r74431 = 1.0;
        double r74432 = y;
        double r74433 = a;
        double r74434 = r74432 + r74433;
        double r74435 = r74434 * r74432;
        double r74436 = b;
        double r74437 = r74435 + r74436;
        double r74438 = r74437 * r74432;
        double r74439 = c;
        double r74440 = r74438 + r74439;
        double r74441 = r74440 * r74432;
        double r74442 = i;
        double r74443 = r74441 + r74442;
        double r74444 = r74431 / r74443;
        double r74445 = x;
        double r74446 = r74445 * r74432;
        double r74447 = z;
        double r74448 = r74446 + r74447;
        double r74449 = r74448 * r74432;
        double r74450 = 27464.7644705;
        double r74451 = r74449 + r74450;
        double r74452 = r74451 * r74432;
        double r74453 = 230661.510616;
        double r74454 = r74452 + r74453;
        double r74455 = r74454 * r74432;
        double r74456 = t;
        double r74457 = r74455 + r74456;
        double r74458 = r74431 / r74457;
        double r74459 = r74444 / r74458;
        return r74459;
}

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 28.7

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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 clear-num28.9

    \[\leadsto \color{blue}{\frac{1}{\frac{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}}}\]
  4. Using strategy rm
  5. Applied div-inv28.9

    \[\leadsto \frac{1}{\color{blue}{\left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right) \cdot \frac{1}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}}}\]
  6. Applied associate-/r*28.8

    \[\leadsto \color{blue}{\frac{\frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}{\frac{1}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}}}\]
  7. Final simplification28.8

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

Reproduce

herbie shell --seed 2019212 
(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.764470499998) y) 230661.510616000014) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))