def merge_list_entries(list_to_merge):
    """Merge overlapping tuples in a list.


    This function takes a list of tuples containing exactly two numbers (as
    floats) with the smaller number first. It sorts them by lower bound, and
    then compares them to see if any overlap. Ultimately it returns a list of
    tuples containing the union of any tuples that overlap in range.

    Parameters
    ----------
    list_to_merge : list
        A list of tuples of floats, denoting regions on the number line.

    Returns
    -------
    list
        A list containing all the overlapping regions found in the input list.
    """

    merged = []
    sorted_by_lower_bound = sorted(list_to_merge, key=lambda tup: tup[0])
    for higher in sorted_by_lower_bound:
        if not merged:
            merged.append(higher)
        else:
            lower = merged[-1]
            if higher[0] <= lower[1]:
                upper_bound = max(lower[1], higher[1])
                merged[-1] = (lower[0], upper_bound)
            else:
                merged.append(higher)
    return merged