<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def bifurcated_extend(self, corpus, max_size):
 """Replaces the results with those n-grams that contain any of the original n-grams, and that represent points at which an n-gram is a constituent of multiple larger n-grams with a lower label count. :param corpus: corpus of works to which results belong :type corpus: `Corpus` :param max_size: maximum size of n-gram results to include :type max_size: `int` """

        temp_fd, temp_path = tempfile.mkstemp(text=True)
        try:
            self._prepare_bifurcated_extend_data(corpus, max_size, temp_path,
                                                 temp_fd)
        finally:
            try:
                os.remove(temp_path)
            except OSError as e:
                msg = ('Failed to remove temporary file containing unreduced '
                       'results: {}')
                self._logger.error(msg.format(e))
        self._bifurcated_extend()