'degrees of freedom of Satterthwaite for unequal variance'

def dof_satt(self):

    d1 = self.d1
    d2 = self.d2
    sem1 = (d1._var / (d1.nobs - 1))
    sem2 = (d2._var / (d2.nobs - 1))
    semsum = (sem1 + sem2)
    z1 = (((sem1 / semsum) ** 2) / (d1.nobs - 1))
    z2 = (((sem2 / semsum) ** 2) / (d2.nobs - 1))
    dof = (1.0 / (z1 + z2))
    return dof
