def binary_boundary(t, d):
    """
    Return the last <t integer that is a multiple of 2^d
    
    >>> binary_boundary(11, 4)
    0
    >>> binary_boundary(11, 3)
    8
    >>> binary_boundary(11, 2)
    8
    >>> binary_boundary(11, 1)
    10
    
    >>> binary_boundary(15, 4)
    0
    >>> binary_boundary(16, 4)
    16
    >>> binary_boundary(15, 3)
    8
    >>> binary_boundary(15, 2)
    12
    >>> binary_boundary(15, 1)
    14
    """
    return t - (t & ((1<<d) - 1))