def pymil_broadcast_tensors(tensors: List[Var]) -> List[Var]:
    """
    Similar to numpy.broadcast_arrays, broadcast a list of tensors against each other
    """
    if len(tensors) == 1:
        return tensors

    # solve the broadcast shape
    symbolic_input_shapes = [list(x.shape) for x in tensors]
    symbolic_broadcast_shape = pymil_broadcast_shapes(symbolic_input_shapes)
    broadcast_shape = maybe_replace_symbols_with_source_tensor_shape_variables(
        symbolic_broadcast_shape, tensors
    )
    broadcast_shape_var = mb.concat(values=broadcast_shape, axis=0)

    # do the broadcasting
    results = []
    for tensor in tensors:
        name = tensor.name + "_after_broadcast"
        results.append(pymil_broadcast_to(tensor, broadcast_shape_var, name))
    return results

    Similar to numpy.broadcast_arrays, broadcast a list of tensors against each other
    
coremltools/converters/mil/frontend/_utils.py