PHASE_BITS
offset = (xy & 0x1ffff) >> (16 - PHASE_BITS) >> 1;
offset += -(1 << PHASE_BITS >> 2);
offset = (xy & 0xffff) >> (16 - PHASE_BITS);
offset += -(1 << PHASE_BITS >> 1);
offset2 >>= 16 - PHASE_BITS;
if (phase >= 1 << PHASE_BITS)
phase = (1 << PHASE_BITS) - 1;