def METHOD_NAME(self):
    n2c = nao*2
    numpy.random.seed(1)
    dm = (numpy.random.random((n2c,n2c)) +
          numpy.random.random((n2c,n2c)) * 1j)
    dm = dm + dm.conj().T
    eri0 = mol.intor('int2e_spsp1_spinor').reshape(n2c,n2c,n2c,n2c)
    vk0 = numpy.einsum('ijkl,jk->il', eri0, dm)
    vk1 = _vhf.rdirect_bindm('int2e_spsp1_spinor', 's4', 'jk->s1il',
                             dm, 1, mol._atm, mol._bas, mol._env)
    self.assertTrue(numpy.allclose(vk0,vk1))
    opt_llll = _vhf.VHFOpt(mol, 'int2e_spinor',
                           'CVHFrkbllll_prescreen',
                           'CVHFrkbllll_direct_scf',
                           'CVHFrkbllll_direct_scf_dm')
    opt_llll._this.contents.r_vkscreen = _vhf._fpointer('CVHFrkbllll_vkscreen')
    eri0 = mol.intor('int2e_spinor').reshape(n2c,n2c,n2c,n2c)
    vk0 = numpy.einsum('ijkl,jk->il', eri0, dm)
    vk1 = _vhf.rdirect_bindm('int2e_spinor', 's1', 'jk->s1il',
                             dm, 1, mol._atm, mol._bas, mol._env, opt_llll)
    self.assertTrue(numpy.allclose(vk0,vk1))