for (int j = 0; j < mprevLARpp.length; j++)
for (short j = 0; j < mprevLARpp.length; j++)
    public void work()     {	for (int i = 0; i < mLARc.length; i++)	{	    mLARc[i] = input.popInt();   //fix inputs!!	}	for (int i = 0; i < mdrp.length; i++)	{	    mdrp[i] = input.popInt();	}		//Decoding of the coded Log-Area ratios:	for (int i = 0; i < 8; i++)	{	    int temp1 = (mLARc[i] + MIC[i]) << 10;	    int temp2 = B[i] << 10;	    temp1 = temp1 - temp2;	    temp1 = INVA[i] * temp1;	    mLARpp[i] = temp1 + temp1;	}	    //Computation of the quantized reflection coefficients	//Interpolation of mLARpp to get mLARp:	for (int k = 0; k < 13; k++)	{	    for(int i = 0; i < 8; i++)	    {		mLARp[i] = (mprevLARpp[i] >> 2) + (mLARpp[i] >> 2);		mLARp[i] = mLARp[i] + (mprevLARpp[i] >> 1);	    }	}	for (int k = 13; k < 27; k++)	{	    for (int i = 0; i < 8; i++)	    {		mLARp[i] = (mprevLARpp[i] >> 1) + (mLARpp[i] >> 1);	    }	}	for (int k = 27; k < 39; k++)        {	    for (int i = 0; i < 8; i++)	    {		mLARp[i] = (mprevLARpp[i] >> 2) + (mLARpp[i] >> 2);		mLARp[i] = mLARp[i] + (mLARpp[i] >> 1);	    }	}	for (int k = 40; k < 160; k++)	{	    for (int i = 0; i < 8; i++)	    {		mLARp[i] = mLARpp[i];	    }	}	//set current LARpp to previous:	for (int j = 0; j < mprevLARpp.length; j++)	{	    mprevLARpp[j] = mLARpp[j];	}	//Compute mrrp[0..7] from mLARp[0...7]	for (int i = 0; i < 8; i++)	{	    int temp = Math.abs(mLARp[i]);	    if (temp < 11059)	    {		temp = temp << 1;	    }	    else 	    {		if (temp < 20070)		{		    temp = temp + 11059;		}		else		{		    temp = (temp >> 2) + 26112;		}	    }	    mrrp[i] = temp;	    if (mLARp[i] < 0)	    {		mrrp[i] = 0 - mrrp[i];	    }	}	//Short term synthesis filtering:  uses drp[0..39] and rrp[0...7] 	// to produce sr[0...159].  A temporary array wt[0..159] is used.	for (int k = 0; k < 40; k++)	{	    wt[k] = mdrp[k];	}	for (int k = 0; k < 40; k++)	{	    wt[40+k] = mdrp[k];	}	for (int k = 0; k < 40; k++)	{	    wt[80+k] = mdrp[k];	}	for (int k = 0; k < 40; k++)	{	    wt[120+k] = mdrp[k];	}	//below is supposed to be from index_start to index_end...how is	//this different from just 0 to 159?	for (int k = 0; k < 160; k++)	{	    int sri = wt[k];	    for (int i = 1; i < 8; i++)	    {		sri = sri - (mrrp[8-i] * v[8-i]);		v[9-i] = v[8-i] + (mrrp[8-i] * sri);	    }	    sr[k] = sri;	    v[0] = sri;	}		for (int j = 0; j < sr.length; j++)	{	    output.pushInt(sr[j]);	}    }