Average Error: 28.7 → 28.7
Time: 23.7s
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{\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{\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{\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}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r87722 = x;
        double r87723 = y;
        double r87724 = r87722 * r87723;
        double r87725 = z;
        double r87726 = r87724 + r87725;
        double r87727 = r87726 * r87723;
        double r87728 = 27464.7644705;
        double r87729 = r87727 + r87728;
        double r87730 = r87729 * r87723;
        double r87731 = 230661.510616;
        double r87732 = r87730 + r87731;
        double r87733 = r87732 * r87723;
        double r87734 = t;
        double r87735 = r87733 + r87734;
        double r87736 = a;
        double r87737 = r87723 + r87736;
        double r87738 = r87737 * r87723;
        double r87739 = b;
        double r87740 = r87738 + r87739;
        double r87741 = r87740 * r87723;
        double r87742 = c;
        double r87743 = r87741 + r87742;
        double r87744 = r87743 * r87723;
        double r87745 = i;
        double r87746 = r87744 + r87745;
        double r87747 = r87735 / r87746;
        return r87747;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r87748 = x;
        double r87749 = y;
        double r87750 = r87748 * r87749;
        double r87751 = z;
        double r87752 = r87750 + r87751;
        double r87753 = r87752 * r87749;
        double r87754 = 27464.7644705;
        double r87755 = r87753 + r87754;
        double r87756 = r87755 * r87749;
        double r87757 = 230661.510616;
        double r87758 = r87756 + r87757;
        double r87759 = r87758 * r87749;
        double r87760 = t;
        double r87761 = r87759 + r87760;
        double r87762 = a;
        double r87763 = r87749 + r87762;
        double r87764 = r87763 * r87749;
        double r87765 = b;
        double r87766 = r87764 + r87765;
        double r87767 = r87766 * r87749;
        double r87768 = c;
        double r87769 = r87767 + r87768;
        double r87770 = r87769 * r87749;
        double r87771 = i;
        double r87772 = r87770 + r87771;
        double r87773 = r87761 / r87772;
        return r87773;
}

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. Final simplification28.7

    \[\leadsto \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}\]

Reproduce

herbie shell --seed 2019350 +o rules:numerics
(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)))