def does_tile_necessary(
    original_shape: SYMBOLIC_SHAPE_TYPE, broadcast_shape: SYMBOLIC_SHAPE_TYPE
) -> bool:
    """
    Does tile necessary to broadcast original shape to broadcast shape?
    """
    if len(original_shape) < len(broadcast_shape):
        original_shape = [1] * (len(broadcast_shape) - len(original_shape)) + original_shape
    for original_size, broadcast_size in zip(original_shape, broadcast_shape):
        if original_size != broadcast_size and broadcast_size != 1:
            return True
    return False

    Does tile necessary to broadcast original shape to broadcast shape?
    
coremltools/converters/mil/frontend/_utils.py