code: def pymmh3_hash64(key: Union[bytes, bytearray],
                    seed: int = 0,
                    x64arch: bool = True) -> Tuple[int, int]:
      
  
      hash_128 = pymmh3_hash128(key, seed, x64arch)
  
      unsigned_val1 = hash_128 & 0xFFFFFFFFFFFFFFFF  # low half
      if unsigned_val1 & 0x8000000000000000 == 0:
          signed_val1 = unsigned_val1
      else:
          signed_val1 = -((unsigned_val1 ^ 0xFFFFFFFFFFFFFFFF) + 1)
  
      unsigned_val2 = (hash_128 >> 64) & 0xFFFFFFFFFFFFFFFF  # high half
      if unsigned_val2 & 0x8000000000000000 == 0:
          signed_val2 = unsigned_val2
      else:
          signed_val2 = -((unsigned_val2 ^ 0xFFFFFFFFFFFFFFFF) + 1)
  
      return signed_val1, signed_val2
docs: Implements 64bit murmur3 hash, as per ``pymmh3``. Returns a tuple.
  
      Args:
          key: data to hash
          seed: seed
          x64arch: is a 64-bit architecture available?
  
      Returns:
          tuple: tuple of integers, ``(signed_val1, signed_val2)``