from typing import List
from typing import Tuple


def create_partition(size: float, start: float=0) -> List[Tuple[float, float]]:
    """
    Used in algorithm 1.
    Creating a partition of [0, 1] with equally sized pieces of given size starting from a given start.
    :param size: The size of the pieces.
    :param start: The location the pieces will start from.
    :return: A partition as described.

    >>> create_partition(0.5, 0)
    [(0, 0.5), (0.5, 1.0)]

    """
    #print("create_partition: size- ", size, "start- ", start)
    res = []
    end = start + size
    # Iterate until we divide all the cake into pieces
    while end <= 1:
        # add the piece to the list
        res.append((start, end))
        start = end
        end = start + size
    #print("create_partition: return value- ", res)
    return res