@classmethod
    @cacheit
    def _eval(self, n):
        if not n:
            return S.One
        elif n == 1:
            return S.Zero
        return (n - 1)*(self._eval(n - 1) + self._eval(n - 2))
dataset/ETHPy150Open sympy/sympy/sympy/functions/combinatorial/factorials.py/subfactorial._eval/original