spx_word32_t dist=SHR(E[i],1);
dist=SUB32(SHR(E[i],1),dist);
void vq_nbest(spx_word16_t *in, spx_word16_t *codebook, int len, int entries, spx_word32_t *E, int N, int *nbest, spx_word32_t *best_dist){   int i,j,k,used;   used = 0;   for (i=0;i<entries;i++)   {#ifdef FIXED_POINT      spx_word32_t dist=SHR(E[i],1);#else      spx_word32_t dist=.5*E[i];#endif      for (j=0;j<len;j++)         dist = SUB32(dist,MULT16_16(in[j],*codebook++));      if (i<N || dist<best_dist[N-1])      {         for (k=N-1; (k >= 1) && (k > used || dist < best_dist[k-1]); k--)         {            best_dist[k]=best_dist[k-1];            nbest[k] = nbest[k-1];         }         best_dist[k]=dist;         nbest[k]=i;         used++;      }   }}