docs: def _vertex_enumeration_gen(labelings_bits_tup, equations_tup, trans_recips):
      """
      Main body of `vertex_enumeration_gen`.
  
      Parameters
      ----------
      labelings_bits_tup : tuple(ndarray(np.uint64, ndim=1))
          Tuple of ndarrays of integers representing labelings of the
          vertices of the best response polytopes.
  
      equations_tup : tuple(ndarray(float, ndim=2))
          Tuple of ndarrays containing the hyperplane equations of the
          polar polytopes.
  
      trans_recips : tuple(scalar(float))
          Tuple of the reciprocals of the translations.
  
      """
      m, n = equations_tup[0].shape[1] - 1, equations_tup[1].shape[1] - 1
      num_vertices0, num_vertices1 = \
          equations_tup[0].shape[0], equations_tup[1].shape[0]
      ZERO_LABELING0_BITS = (np.uint64(1) << np.uint64(m)) - np.uint64(1)
      COMPLETE_LABELING_BITS = (np.uint64(1) << np.uint64(m+n)) - np.uint64(1)
  
      for i in range(num_vertices0):
          if labelings_bits_tup[0][i] == ZERO_LABELING0_BITS:
              continue
          for j in range(num_vertices1):
              xor = labelings_bits_tup[0][i] ^ labelings_bits_tup[1][j]
              if xor == COMPLETE_LABELING_BITS:
                  yield _get_mixed_actions(
                      labelings_bits_tup[0][i],
                      (equations_tup[0][i], equations_tup[1][j]),
                      trans_recips
                  )
                  break