void swap(long int *xp, long int *yp)
{
	long int t0 = *xp;
	long int t1 = *yp;
	*xp = t1;
	*yp = t0;

}

void decode1(long *xp, long *yp, long *zp)
{
	long r8 = *xp;
	long cx = *yp;
	long ax = *zp;
	
	*xp = ax;
	*yp = r8;
	*zp = cx;
	
}

long decode2(long x, long y, long z)
{
	long t0 = y-z;
	long t1 = t0*x;
	l
	long ret = t1;
	ret = ret << 63;
	ret = ret >> 63;
	
	ret = x ^ ret;
	
	return ret;
	
}

int main()
{
	
	long int a = 1;
	long int b = 2;
	
	swap(&a,&b);
	
	return 1;
	
}
