def METHOD_NAME(c1, c2):
    if not type_can_asarray(c1):
        msg = 'The argument "c1" must be array-like'
        raise errors.TypingError(msg)
    if not type_can_asarray(c2):
        msg = 'The argument "c2" must be array-like'
        raise errors.TypingError(msg)
    if np.ndim(c1) > 1 or np.ndim(c2) > 1:
        msg = 'Coefficient array is not 1-d'
        raise errors.NumbaValueError(msg)
    result_dtype = _poly_result_dtype((c1, c2))
    def impl(c1, c2):
        c1 = np.asarray(c1)
        c2 = np.asarray(c2)
        arr1 = np.atleast_1d(c1).astype(result_dtype)
        arr2 = np.atleast_1d(c2).astype(result_dtype)
        diff = len(arr2) - len(arr1)
        if diff > 0:
            zr = np.zeros(diff)
            arr1 = np.concatenate((arr1, zr))
        if diff < 0:
            zr = np.zeros(-diff)
            arr2 = np.concatenate((arr2, zr))
        val = arr1 - arr2
        return pu.trimseq(val)
    return impl