def METHOD_NAME(x, fun_prediction, fun_prediction_args,
               x_bounds, x_types, minimize_constraints_fun):
    """
    Calculate the lowest mu
    """
    # This is only for step-wise optimization
    x = lib_data.match_val_type(x, x_bounds, x_types)
    mu = sys.maxsize
    if (minimize_constraints_fun is None) or (
            minimize_constraints_fun(x) is True):
        mu, _ = fun_prediction(x, *fun_prediction_args)
    return mu