Average Error: 29.1 → 29.2
Time: 7.6s
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}\]
\[\frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(\left(\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}, y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}\]
\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}
\frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(\left(\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}, y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r78567 = x;
        double r78568 = y;
        double r78569 = r78567 * r78568;
        double r78570 = z;
        double r78571 = r78569 + r78570;
        double r78572 = r78571 * r78568;
        double r78573 = 27464.7644705;
        double r78574 = r78572 + r78573;
        double r78575 = r78574 * r78568;
        double r78576 = 230661.510616;
        double r78577 = r78575 + r78576;
        double r78578 = r78577 * r78568;
        double r78579 = t;
        double r78580 = r78578 + r78579;
        double r78581 = a;
        double r78582 = r78568 + r78581;
        double r78583 = r78582 * r78568;
        double r78584 = b;
        double r78585 = r78583 + r78584;
        double r78586 = r78585 * r78568;
        double r78587 = c;
        double r78588 = r78586 + r78587;
        double r78589 = r78588 * r78568;
        double r78590 = i;
        double r78591 = r78589 + r78590;
        double r78592 = r78580 / r78591;
        return r78592;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r78593 = x;
        double r78594 = y;
        double r78595 = z;
        double r78596 = fma(r78593, r78594, r78595);
        double r78597 = 27464.7644705;
        double r78598 = fma(r78596, r78594, r78597);
        double r78599 = cbrt(r78598);
        double r78600 = cbrt(r78599);
        double r78601 = r78600 * r78600;
        double r78602 = r78601 * r78600;
        double r78603 = r78602 * r78599;
        double r78604 = r78603 * r78599;
        double r78605 = 230661.510616;
        double r78606 = fma(r78604, r78594, r78605);
        double r78607 = t;
        double r78608 = fma(r78606, r78594, r78607);
        double r78609 = a;
        double r78610 = r78594 + r78609;
        double r78611 = b;
        double r78612 = fma(r78610, r78594, r78611);
        double r78613 = c;
        double r78614 = fma(r78612, r78594, r78613);
        double r78615 = i;
        double r78616 = fma(r78614, r78594, r78615);
        double r78617 = 1.0;
        double r78618 = r78616 * r78617;
        double r78619 = r78608 / r78618;
        return r78619;
}

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

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

    \[\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 + i\right)}}\]
  4. Applied *-un-lft-identity29.1

    \[\leadsto \frac{\color{blue}{1 \cdot \left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right)}}{1 \cdot \left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right)}\]
  5. Applied times-frac29.1

    \[\leadsto \color{blue}{\frac{1}{1} \cdot \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}}\]
  6. Simplified29.1

    \[\leadsto \color{blue}{1} \cdot \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}\]
  7. Simplified29.1

    \[\leadsto 1 \cdot \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt29.2

    \[\leadsto 1 \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\color{blue}{\left(\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}, y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}\]
  10. Using strategy rm
  11. Applied add-cube-cbrt29.2

    \[\leadsto 1 \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\left(\color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}}\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)}, y, 230661.510616000014\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}\]
  12. Final simplification29.2

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

Reproduce

herbie shell --seed 2020062 +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)))