'Returns the variables that have caused this path to branch.
:return: A list of tuples of (basic block address, jmp instruction address, set(variables))'

def branch_causes(self):

    return [(h.addr, h._jump_source, tuple(h._guard.variables)) for h in self.history_iterator if h._jump_avoidable]
