Well a:

int a = rand.nextInt();

and b:

int b = (int) (seed >>> (48 - 32));

That's why they're not equal.