def _extract(self, exprs, context, n):
    mapper = Uxmapper()
    for (prefix, clusters) in context.items():
        if (not prefix):
            continue
        exclude = set().union(*[c.scope.writes for c in clusters])
        exclude.add(prefix[(- 1)].dim)
        for e in exprs:
            for i in search(e, self._rule, 'all', 'bfs_first_hit'):
                if ({a.function for a in i.free_symbols} & exclude):
                    continue
                mapper.add(i, self._make_symbol)
    return mapper
def _extract(self, exprs, context, n):
    mapper = Uxmapper()
    for (prefix, clusters) in context.items():
        if (not prefix):
            continue
        exclude = set().union(*[c.scope.writes for c in clusters])
        exclude.add(prefix[(- 1)].dim)
        for e in exprs:
            for i in search(e, self._rule, 'all', 'bfs_first_hit'):
                if ({a.function for a in i.free_symbols} & exclude):
                    continue
                mapper.add(i, self._make_symbol)
    return mapper