Average Error: 29.0 → 29.1
Time: 30.5s
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{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + y \cdot \left(\left(y \cdot \sqrt[3]{\mathsf{fma}\left(y, y + a, b\right)}\right) \cdot \left(\sqrt[3]{b + \left(y + a\right) \cdot y} \cdot \sqrt[3]{b + \left(y + a\right) \cdot y}\right) + c\right)}\]
\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{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + y \cdot \left(\left(y \cdot \sqrt[3]{\mathsf{fma}\left(y, y + a, b\right)}\right) \cdot \left(\sqrt[3]{b + \left(y + a\right) \cdot y} \cdot \sqrt[3]{b + \left(y + a\right) \cdot y}\right) + c\right)}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r60175 = x;
        double r60176 = y;
        double r60177 = r60175 * r60176;
        double r60178 = z;
        double r60179 = r60177 + r60178;
        double r60180 = r60179 * r60176;
        double r60181 = 27464.7644705;
        double r60182 = r60180 + r60181;
        double r60183 = r60182 * r60176;
        double r60184 = 230661.510616;
        double r60185 = r60183 + r60184;
        double r60186 = r60185 * r60176;
        double r60187 = t;
        double r60188 = r60186 + r60187;
        double r60189 = a;
        double r60190 = r60176 + r60189;
        double r60191 = r60190 * r60176;
        double r60192 = b;
        double r60193 = r60191 + r60192;
        double r60194 = r60193 * r60176;
        double r60195 = c;
        double r60196 = r60194 + r60195;
        double r60197 = r60196 * r60176;
        double r60198 = i;
        double r60199 = r60197 + r60198;
        double r60200 = r60188 / r60199;
        return r60200;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r60201 = t;
        double r60202 = y;
        double r60203 = z;
        double r60204 = x;
        double r60205 = r60204 * r60202;
        double r60206 = r60203 + r60205;
        double r60207 = r60202 * r60206;
        double r60208 = 27464.7644705;
        double r60209 = r60207 + r60208;
        double r60210 = r60202 * r60209;
        double r60211 = 230661.510616;
        double r60212 = r60210 + r60211;
        double r60213 = r60212 * r60202;
        double r60214 = r60201 + r60213;
        double r60215 = i;
        double r60216 = a;
        double r60217 = r60202 + r60216;
        double r60218 = b;
        double r60219 = fma(r60202, r60217, r60218);
        double r60220 = cbrt(r60219);
        double r60221 = r60202 * r60220;
        double r60222 = r60217 * r60202;
        double r60223 = r60218 + r60222;
        double r60224 = cbrt(r60223);
        double r60225 = r60224 * r60224;
        double r60226 = r60221 * r60225;
        double r60227 = c;
        double r60228 = r60226 + r60227;
        double r60229 = r60202 * r60228;
        double r60230 = r60215 + r60229;
        double r60231 = r60214 / r60230;
        return r60231;
}

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

Derivation

  1. Initial program 29.0

    \[\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 add-cube-cbrt29.1

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\color{blue}{\left(\left(\sqrt[3]{\left(y + a\right) \cdot y + b} \cdot \sqrt[3]{\left(y + a\right) \cdot y + b}\right) \cdot \sqrt[3]{\left(y + a\right) \cdot y + b}\right)} \cdot y + c\right) \cdot y + i}\]
  4. Applied associate-*l*29.1

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\color{blue}{\left(\sqrt[3]{\left(y + a\right) \cdot y + b} \cdot \sqrt[3]{\left(y + a\right) \cdot y + b}\right) \cdot \left(\sqrt[3]{\left(y + a\right) \cdot y + b} \cdot y\right)} + c\right) \cdot y + i}\]
  5. Simplified29.1

    \[\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(\sqrt[3]{\left(y + a\right) \cdot y + b} \cdot \sqrt[3]{\left(y + a\right) \cdot y + b}\right) \cdot \color{blue}{\left(\sqrt[3]{\mathsf{fma}\left(y, a + y, b\right)} \cdot y\right)} + c\right) \cdot y + i}\]
  6. Final simplification29.1

    \[\leadsto \frac{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + y \cdot \left(\left(y \cdot \sqrt[3]{\mathsf{fma}\left(y, y + a, b\right)}\right) \cdot \left(\sqrt[3]{b + \left(y + a\right) \cdot y} \cdot \sqrt[3]{b + \left(y + a\right) \cdot y}\right) + c\right)}\]

Reproduce

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