swap method
Swap swaps v and u if cond == 1 or leaves them unchanged if cond == 0, and returns v.
Implementation
void swap(Element u, int cond) {
final BigInt m = mask64Bits(cond);
BigInt t = m & (l0 ^ u.l0);
l0 ^= t;
u.l0 ^= t;
t = m & (l1 ^ u.l1);
l1 ^= t;
u.l1 ^= t;
t = m & (l2 ^ u.l2);
l2 ^= t;
u.l2 ^= t;
t = m & (l3 ^ u.l3);
l3 ^= t;
u.l3 ^= t;
t = m & (l4 ^ u.l4);
l4 ^= t;
u.l4 ^= t;
}