WORST_CASE(?,O(n^1))
* Step 1: LocalSizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)
          1. m0(A)           -> m1(A)           True                                 (?,1)
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (?,1)
          3. m2(A)           -> m5(A)           True                                 (?,1)
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (?,1)
          5. m1(A)           -> m6(A)           True                                 (?,1)
          6. m1(A)           -> m4(A)           True                                 (?,1)
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5,6},2->{1},3->{2},4->{1},5->{4},6->{}]
        
    + Applied Processor:
        LocalSizeboundsProc
    + Details:
        LocalSizebounds generated; rvgraph
          (<0,0,A>,     A, .= 0) 
          (<1,0,A>,     A, .= 0) 
          (<2,0,A>,     A, .= 0) 
          (<2,1,A>,     A, .= 0) 
          (<3,0,A>,     A, .= 0) 
          (<4,0,A>, 1 + A, .+ 1) 
          (<5,0,A>,     A, .= 0) 
          (<6,0,A>,     A, .= 0) 
* Step 2: SizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)
          1. m0(A)           -> m1(A)           True                                 (?,1)
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (?,1)
          3. m2(A)           -> m5(A)           True                                 (?,1)
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (?,1)
          5. m1(A)           -> m6(A)           True                                 (?,1)
          6. m1(A)           -> m4(A)           True                                 (?,1)
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5,6},2->{1},3->{2},4->{1},5->{4},6->{}]
        Sizebounds:
          (<0,0,A>, ?) 
          (<1,0,A>, ?) 
          (<2,0,A>, ?) 
          (<2,1,A>, ?) 
          (<3,0,A>, ?) 
          (<4,0,A>, ?) 
          (<5,0,A>, ?) 
          (<6,0,A>, ?) 
    + Applied Processor:
        SizeboundsProc
    + Details:
        Sizebounds computed:
          (<0,0,A>,     A) 
          (<1,0,A>, 1 + A) 
          (<2,0,A>,     A) 
          (<2,1,A>,     A) 
          (<3,0,A>,     A) 
          (<4,0,A>,     1) 
          (<5,0,A>, 1 + A) 
          (<6,0,A>, 1 + A) 
* Step 3: LeafRules WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)
          1. m0(A)           -> m1(A)           True                                 (?,1)
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (?,1)
          3. m2(A)           -> m5(A)           True                                 (?,1)
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (?,1)
          5. m1(A)           -> m6(A)           True                                 (?,1)
          6. m1(A)           -> m4(A)           True                                 (?,1)
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5,6},2->{1},3->{2},4->{1},5->{4},6->{}]
        Sizebounds:
          (<0,0,A>,     A) 
          (<1,0,A>, 1 + A) 
          (<2,0,A>,     A) 
          (<2,1,A>,     A) 
          (<3,0,A>,     A) 
          (<4,0,A>,     1) 
          (<5,0,A>, 1 + A) 
          (<6,0,A>, 1 + A) 
    + Applied Processor:
        LeafRules
    + Details:
        The following transitions are estimated by its predecessors and are removed [6]
* Step 4: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)
          1. m0(A)           -> m1(A)           True                                 (?,1)
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (?,1)
          3. m2(A)           -> m5(A)           True                                 (?,1)
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (?,1)
          5. m1(A)           -> m6(A)           True                                 (?,1)
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5},2->{1},3->{2},4->{1},5->{4}]
        Sizebounds:
          (<0,0,A>,     A) 
          (<1,0,A>, 1 + A) 
          (<2,0,A>,     A) 
          (<2,1,A>,     A) 
          (<3,0,A>,     A) 
          (<4,0,A>,     1) 
          (<5,0,A>, 1 + A) 
    + Applied Processor:
        PolyRank {useFarkas = True, withSizebounds = [], shape = Linear}
    + Details:
        We apply a polynomial interpretation of shape linear:
          p(arrayReverse) = 2
                    p(m0) = 1
                    p(m1) = 1
                    p(m2) = 2
                    p(m3) = 0
                    p(m5) = 1
                    p(m6) = 1
        
        The following rules are strictly oriented:
           True ==>      
          m2(A)   = 2    
                  > 1    
                  = m5(A)
        
        
        The following rules are weakly oriented:
                                        True ==>                
                             arrayReverse(A)   = 2              
                                              >= 2              
                                               = m2(A)          
        
                                        True ==>                
                                       m0(A)   = 1              
                                              >= 1              
                                               = m1(A)          
        
                          [A >= B && B >= A] ==>                
                                       m5(A)   = 1              
                                              >= 1              
                                               = c2(m3(B),m0(B))
        
        [B >= 0 && A >= 1 + B && 1 + B >= A] ==>                
                                       m6(A)   = 1              
                                              >= 1              
                                               = m0(B)          
        
                                        True ==>                
                                       m1(A)   = 1              
                                              >= 1              
                                               = m6(A)          
        
        
* Step 5: KnowledgePropagation WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)
          1. m0(A)           -> m1(A)           True                                 (?,1)
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (?,1)
          3. m2(A)           -> m5(A)           True                                 (2,1)
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (?,1)
          5. m1(A)           -> m6(A)           True                                 (?,1)
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5},2->{1},3->{2},4->{1},5->{4}]
        Sizebounds:
          (<0,0,A>,     A) 
          (<1,0,A>, 1 + A) 
          (<2,0,A>,     A) 
          (<2,1,A>,     A) 
          (<3,0,A>,     A) 
          (<4,0,A>,     1) 
          (<5,0,A>, 1 + A) 
    + Applied Processor:
        KnowledgePropagation
    + Details:
        We propagate bounds from predecessors.
* Step 6: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)
          1. m0(A)           -> m1(A)           True                                 (?,1)
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (2,1)
          3. m2(A)           -> m5(A)           True                                 (2,1)
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (?,1)
          5. m1(A)           -> m6(A)           True                                 (?,1)
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5},2->{1},3->{2},4->{1},5->{4}]
        Sizebounds:
          (<0,0,A>,     A) 
          (<1,0,A>, 1 + A) 
          (<2,0,A>,     A) 
          (<2,1,A>,     A) 
          (<3,0,A>,     A) 
          (<4,0,A>,     1) 
          (<5,0,A>, 1 + A) 
    + Applied Processor:
        PolyRank {useFarkas = True, withSizebounds = [1,4,5], shape = Linear}
    + Details:
        We apply a polynomial interpretation of shape linear:
          p(m0) = 1 + x1
          p(m1) = 1 + x1
          p(m6) = 1 + x1
        
        The following rules are strictly oriented:
        [B >= 0 && A >= 1 + B && 1 + B >= A] ==>      
                                       m6(A)   = 1 + A
                                               > 1 + B
                                               = m0(B)
        
        
        The following rules are weakly oriented:
           True ==>      
          m0(A)   = 1 + A
                 >= 1 + A
                  = m1(A)
        
           True ==>      
          m1(A)   = 1 + A
                 >= 1 + A
                  = m6(A)
        
        We use the following global sizebounds:
        (<0,0,A>,     A) 
        (<1,0,A>, 1 + A) 
        (<2,0,A>,     A) 
        (<2,1,A>,     A) 
        (<3,0,A>,     A) 
        (<4,0,A>,     1) 
        (<5,0,A>, 1 + A) 
* Step 7: KnowledgePropagation WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)      
          1. m0(A)           -> m1(A)           True                                 (?,1)      
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (2,1)      
          3. m2(A)           -> m5(A)           True                                 (2,1)      
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (2 + 2*A,1)
          5. m1(A)           -> m6(A)           True                                 (?,1)      
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5},2->{1},3->{2},4->{1},5->{4}]
        Sizebounds:
          (<0,0,A>,     A) 
          (<1,0,A>, 1 + A) 
          (<2,0,A>,     A) 
          (<2,1,A>,     A) 
          (<3,0,A>,     A) 
          (<4,0,A>,     1) 
          (<5,0,A>, 1 + A) 
    + Applied Processor:
        KnowledgePropagation
    + Details:
        We propagate bounds from predecessors.
* Step 8: LocalSizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. arrayReverse(A) -> m2(A)           True                                 (1,1)      
          1. m0(A)           -> m1(A)           True                                 (4 + 2*A,1)
          2. m5(A)           -> c2(m3(B),m0(B)) [A >= B && B >= A]                   (2,1)      
          3. m2(A)           -> m5(A)           True                                 (2,1)      
          4. m6(A)           -> m0(B)           [B >= 0 && A >= 1 + B && 1 + B >= A] (2 + 2*A,1)
          5. m1(A)           -> m6(A)           True                                 (4 + 2*A,1)
        Signature:
          {(arrayReverse,1);(m0,1);(m1,1);(m2,1);(m3,1);(m4,1);(m5,1);(m6,1)}
        Flow Graph:
          [0->{3},1->{5},2->{1},3->{2},4->{1},5->{4}]
        Sizebounds:
          (<0,0,A>,     A) 
          (<1,0,A>, 1 + A) 
          (<2,0,A>,     A) 
          (<2,1,A>,     A) 
          (<3,0,A>,     A) 
          (<4,0,A>,     1) 
          (<5,0,A>, 1 + A) 
    + Applied Processor:
        LocalSizeboundsProc
    + Details:
        The problem is already solved.

WORST_CASE(?,O(n^1))