part += MULT16_16(x[i],y[i]); part += MULT16_16(x[i+1],y[i+1]); part += MULT16_16(x[i+2],y[i+2]); part += MULT16_16(x[i+3],y[i+3]); sum += SHR(part,6);
part = ADD32(part,MULT16_16(x[i],y[i])); part = ADD32(part,MULT16_16(x[i+1],y[i+1])); part = ADD32(part,MULT16_16(x[i+2],y[i+2])); part = ADD32(part,MULT16_16(x[i+3],y[i+3])); sum = ADD32(sum,SHR(part,6));
static spx_word32_t inner_prod(spx_word16_t *x, spx_word16_t *y, int len){   int i;   spx_word32_t sum=0;   for (i=0;i<len;i+=4)   {      spx_word32_t part=0;      part += MULT16_16(x[i],y[i]);      part += MULT16_16(x[i+1],y[i+1]);      part += MULT16_16(x[i+2],y[i+2]);      part += MULT16_16(x[i+3],y[i+3]);      sum += SHR(part,6);   }   return sum;}