WORST_CASE(?,O(n^1))
* Step 1: LocalSizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. merge(A,B) -> merge(-1 + A,B) [A >= 1 && B >= 1] (?,1)
          1. merge(A,B) -> merge(A,-1 + B) [A >= 1 && B >= 1] (?,1)
          2. start(A,B) -> merge(A,B)      True               (1,1)
        Signature:
          {(merge,2);(start,2)}
        Flow Graph:
          [0->{0,1},1->{0,1},2->{0,1}]
        
    + Applied Processor:
        LocalSizeboundsProc
    + Details:
        LocalSizebounds generated; rvgraph
          (<0,0,A>, 1 + A, .+ 1) (<0,0,B>,     B, .= 0) 
          (<1,0,A>,     A, .= 0) (<1,0,B>, 1 + B, .+ 1) 
          (<2,0,A>,     A, .= 0) (<2,0,B>,     B, .= 0) 
* Step 2: SizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. merge(A,B) -> merge(-1 + A,B) [A >= 1 && B >= 1] (?,1)
          1. merge(A,B) -> merge(A,-1 + B) [A >= 1 && B >= 1] (?,1)
          2. start(A,B) -> merge(A,B)      True               (1,1)
        Signature:
          {(merge,2);(start,2)}
        Flow Graph:
          [0->{0,1},1->{0,1},2->{0,1}]
        Sizebounds:
          (<0,0,A>, ?) (<0,0,B>, ?) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
    + Applied Processor:
        SizeboundsProc
    + Details:
        Sizebounds computed:
          (<0,0,A>, ?) (<0,0,B>, ?) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, A) (<2,0,B>, B) 
* Step 3: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. merge(A,B) -> merge(-1 + A,B) [A >= 1 && B >= 1] (?,1)
          1. merge(A,B) -> merge(A,-1 + B) [A >= 1 && B >= 1] (?,1)
          2. start(A,B) -> merge(A,B)      True               (1,1)
        Signature:
          {(merge,2);(start,2)}
        Flow Graph:
          [0->{0,1},1->{0,1},2->{0,1}]
        Sizebounds:
          (<0,0,A>, ?) (<0,0,B>, ?) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, A) (<2,0,B>, B) 
    + Applied Processor:
        PolyRank {useFarkas = True, withSizebounds = [], shape = Linear}
    + Details:
        We apply a polynomial interpretation of shape linear:
          p(merge) = x2
          p(start) = x2
        
        The following rules are strictly oriented:
        [A >= 1 && B >= 1] ==>                
                merge(A,B)   = B              
                             > -1 + B         
                             = merge(A,-1 + B)
        
        
        The following rules are weakly oriented:
        [A >= 1 && B >= 1] ==>                
                merge(A,B)   = B              
                            >= B              
                             = merge(-1 + A,B)
        
                      True ==>                
                start(A,B)   = B              
                            >= B              
                             = merge(A,B)     
        
        
* Step 4: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. merge(A,B) -> merge(-1 + A,B) [A >= 1 && B >= 1] (?,1)
          1. merge(A,B) -> merge(A,-1 + B) [A >= 1 && B >= 1] (B,1)
          2. start(A,B) -> merge(A,B)      True               (1,1)
        Signature:
          {(merge,2);(start,2)}
        Flow Graph:
          [0->{0,1},1->{0,1},2->{0,1}]
        Sizebounds:
          (<0,0,A>, ?) (<0,0,B>, ?) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, A) (<2,0,B>, B) 
    + Applied Processor:
        PolyRank {useFarkas = True, withSizebounds = [], shape = Linear}
    + Details:
        We apply a polynomial interpretation of shape linear:
          p(merge) = x1
          p(start) = x1
        
        The following rules are strictly oriented:
        [A >= 1 && B >= 1] ==>                
                merge(A,B)   = A              
                             > -1 + A         
                             = merge(-1 + A,B)
        
        
        The following rules are weakly oriented:
        [A >= 1 && B >= 1] ==>                
                merge(A,B)   = A              
                            >= A              
                             = merge(A,-1 + B)
        
                      True ==>                
                start(A,B)   = A              
                            >= A              
                             = merge(A,B)     
        
        
* Step 5: KnowledgePropagation WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. merge(A,B) -> merge(-1 + A,B) [A >= 1 && B >= 1] (A,1)
          1. merge(A,B) -> merge(A,-1 + B) [A >= 1 && B >= 1] (B,1)
          2. start(A,B) -> merge(A,B)      True               (1,1)
        Signature:
          {(merge,2);(start,2)}
        Flow Graph:
          [0->{0,1},1->{0,1},2->{0,1}]
        Sizebounds:
          (<0,0,A>, ?) (<0,0,B>, ?) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, A) (<2,0,B>, B) 
    + Applied Processor:
        KnowledgePropagation
    + Details:
        The problem is already solved.

WORST_CASE(?,O(n^1))