is this any better?

Code:
var PSAR(var AF, var Max)
{

static var	psar0;
static var	psar1;
static int	lng;
static var	af;
static var	ep;
static var	hp;
static var	lp;

if (is(INITRUN))
	{
		lng		= 1;						//assume long for initial conditions
		af 		= AF;						//init acelleration factor
		psar0		= 0;
		psar1		= 0;
		ep			= 0;
		hp			= 0;
		lp			= 0;
		
		return;								// do not run on bar 0
	}

if (Bar == 1)
	{
		psar0		= priceClose(0);		// initialise
		psar1		= priceClose(0);
		ep 		= priceHigh(0);		// init extreme point as assuming long
		hp 		= priceHigh(0);
		lp 		= priceLow(0);
		
		return psar0;	
	}

if (lng == 1)	psar0 = psar1 + af * (hp - psar1);
else				psar0 = psar1 + af * (lp - psar1);
  
int reverse =  0;     
     
if (lng == 1)								//check for reversal
     {
         if (priceLow(0) < psar0)
         	{
            	lng		= 0;
            	reverse	= 1;			//reverse position to short
            	psar0		= hp;			
            	lp			= priceLow(0);
            	af			= AF;
         	}
     }
else
     {
         if (priceHigh(0) > psar0)
         	{
            	lng		= 1;
            	reverse	= 1;        //reverse position to long
            	psar0		= lp;
            	hp			= priceHigh(0);
            	af			= AF;
         	}
     }

if (reverse == 0)
     {
         if (lng == 1)
         {
         	if (priceHigh(0) > hp)
            	{
             		hp  = priceHigh(0);
             		af += AF;
             		af  = min(af,Max); 
					}
            psar0 = min(psar0, min(priceLow(1),priceLow(2)));
         }
         else
         {
         	if (priceLow(0) < lp)
            	{
             		lp  = priceLow(0);
             		af += AF;
             		af  = min(af,Max); 
					}
            psar0 = max(psar0,max(priceHigh(1),priceHigh(2)));
         }
     	}
psar1	= psar0;
     	
return psar0;

}