static void compute_lpc_coefs(const double *autoc, int max_order,
                              double lpc[][MAX_LPC_ORDER], double *ref)
{
    int i, j;
    double err = autoc[0];
    double lpc_tmp[MAX_LPC_ORDER];
    for(i=0; i<max_order; i++) {
        double r = -autoc[i+1];
        for(j=0; j<i; j++)
            r -= lpc_tmp[j] * autoc[i-j];
        r /= err;
        ref[i] = fabs(r);
        err *= 1.0 - (r * r);
        lpc_tmp[i] = r;
        for(j=0; j < i>>1; j++) {
            double tmp = lpc_tmp[j];
            lpc_tmp[j] += r * lpc_tmp[i-1-j];
            lpc_tmp[i-1-j] += r * tmp;
        }
        if(i & 1)
            lpc_tmp[j] += lpc_tmp[j] * r;
        for(j=0; j<=i; j++)
            lpc[i][j] = -lpc_tmp[j];
    }
}
['static void compute_lpc_coefs(const double *autoc, int max_order,\n                              double lpc[][MAX_LPC_ORDER], double *ref)\n{\n    int i, j;\n    double err = autoc[0];\n    double lpc_tmp[MAX_LPC_ORDER];\n    for(i=0; i<max_order; i++) {\n        double r = -autoc[i+1];\n        for(j=0; j<i; j++)\n            r -= lpc_tmp[j] * autoc[i-j];\n        r /= err;\n        ref[i] = fabs(r);\n        err *= 1.0 - (r * r);\n        lpc_tmp[i] = r;\n        for(j=0; j < i>>1; j++) {\n            double tmp = lpc_tmp[j];\n            lpc_tmp[j] += r * lpc_tmp[i-1-j];\n            lpc_tmp[i-1-j] += r * tmp;\n        }\n        if(i & 1)\n            lpc_tmp[j] += lpc_tmp[j] * r;\n        for(j=0; j<=i; j++)\n            lpc[i][j] = -lpc_tmp[j];\n    }\n}']