static void truespeech_correlate_filter(TSContext *dec)
{
    int16_t tmp[8];
    int i, j;
    for(i = 0; i < 8; i++){
        if(i > 0){
            memcpy(tmp, dec->cvector, i * 2);
            for(j = 0; j < i; j++)
                dec->cvector[j] = ((tmp[i - j - 1] * dec->vector[i]) +
                                   (dec->cvector[j] << 15) + 0x4000) >> 15;
        }
        dec->cvector[i] = (8 - dec->vector[i]) >> 3;
    }
    for(i = 0; i < 8; i++)
        dec->cvector[i] = (dec->cvector[i] * ts_230[i]) >> 15;
    dec->filtval = dec->vector[0];
}
['static void truespeech_correlate_filter(TSContext *dec)\n{\n    int16_t tmp[8];\n    int i, j;\n    for(i = 0; i < 8; i++){\n        if(i > 0){\n            memcpy(tmp, dec->cvector, i * 2);\n            for(j = 0; j < i; j++)\n                dec->cvector[j] = ((tmp[i - j - 1] * dec->vector[i]) +\n                                   (dec->cvector[j] << 15) + 0x4000) >> 15;\n        }\n        dec->cvector[i] = (8 - dec->vector[i]) >> 3;\n    }\n    for(i = 0; i < 8; i++)\n        dec->cvector[i] = (dec->cvector[i] * ts_230[i]) >> 15;\n    dec->filtval = dec->vector[0];\n}']