code: protected static long deinterleave(long value) {
          value &= MAGIC[0];
          value = (value ^ value >>> SHIFT[0]) & MAGIC[1];
          value = (value ^ value >>> SHIFT[1]) & MAGIC[2];
          value = (value ^ value >>> SHIFT[2]) & MAGIC[3];
          value = (value ^ value >>> SHIFT[3]) & MAGIC[4];
          value = (value ^ value >>> SHIFT[4]) & MAGIC[5];
          return value;
      }
docs: Returns one of two 32-bit values that were previously interleaved to produce a 64-bit value.
  
  @param value
  64-bit value that was created by interleaving two 32-bit values
  @return one of two previously interleaved values