def METHOD_NAME():
    def unpack(A, B):
        C = hcl.unpack(A, name="C", dtype=B.dtype)
        hcl.update(B, lambda x: C[x])
    for i in range(4, 36, 4):
        A = hcl.placeholder((10,), "A", dtype=hcl.UInt(i))
        B = hcl.placeholder((40,), "B", dtype=hcl.UInt(i // 4))
        s = hcl.create_schedule([A, B], unpack)
        f = hcl.build(s)
        _A = hcl.asarray(np.random.randint(1000, size=(10,)), dtype=hcl.UInt(i))
        _B = hcl.asarray(np.zeros(40), dtype=hcl.UInt(i // 4))
        f(_A, _B)
        __A = _A.asnumpy().astype(np.int64)
        __B = _B.asnumpy().astype(np.int64)
        for j in range(0, 10):
            for k in range(0, 4):
                numA = __A[j]
                numB = __B[j * 4 + k]
                golden = (numA >> (i // 4 * k)) % (1 << (i // 4))
                assert numB == golden