def METHOD_NAME(equations, variables=None, ranges=None, deskew_range=False):
    """Solve linear inequalities.
    Parameters
    ----------
    equations   : List[tvm.ir.PrimExpr] or IntConstraints
        The inequalities of the variables
    variables   : Optional[List[tvm.tir.Var]]
        The variables in the system.
    ranges      : Optional[Map[tvm.tir.Var, tvm.ir.Range]]
        The ranges of the variables.
    deskew_range: Optional[bool]
        Whether deskew the result ranges to be started from zero.
        Default false.
    Returns
    -------
    ret_ranges: IntConstraints or IntConstraintsTransform
        The result ranges for each variables.
        Constrains that cannot be transformed to Range will be stored in IntConstraints.relations.
        If deskew_range is set (=True), the result ranges will be deskewed to be started from zero.
        New variables are created accordingly therefore IntConstraintsTransform is returned.
    """
    solver = (
        _ffi_api.SolveInequalitiesDeskewRange if deskew_range else _ffi_api.SolveInequalitiesToRange
    )
    if isinstance(equations, IntConstraints):
        assert variables is None
        assert ranges is None
        return solver(equations)
    return solver(variables, ranges, equations)