'Calculate the complement of `self` and `other`.
:param other:   Another SimVariableSet instance.
:return:        The complement result.'

def complement(self, other):

    s = SimVariableSet()
    s.register_variables = (self.register_variables - other.register_variables)
    s.register_variable_offsets = (self.register_variable_offsets - other.register_variable_offsets)
    s.memory_variables = (self.memory_variables - other.memory_variables)
    s.memory_variable_addresses = (self.memory_variable_addresses - other.memory_variable_addresses)
    return s
