WORST_CASE(?,O(n^1))
* Step 1: RestrictVarsProcessor WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B,C,D)   -> f300(A,B,C,D)      True                       (1,1)
          1. f300(A,B,C,D) -> f300(1 + A,B,E,D)  [E >= 1 && B >= 1 + A]     (?,1)
          2. f300(A,B,C,D) -> f300(1 + A,B,E,D)  [0 >= 1 + E && B >= 1 + A] (?,1)
          3. f300(A,B,C,D) -> f300(A,-1 + B,0,D) [B >= 1 + A]               (?,1)
          4. f300(A,B,C,D) -> f1(A,B,C,E)        [A >= B]                   (?,1)
        Signature:
          {(f1,4);(f2,4);(f300,4)}
        Flow Graph:
          [0->{1,2,3,4},1->{1,2,3,4},2->{1,2,3,4},3->{1,2,3,4},4->{}]
        
    + Applied Processor:
        RestrictVarsProcessor
    + Details:
        We removed the arguments [C,D] .
* Step 2: LocalSizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B)   -> f300(A,B)      True                       (1,1)
          1. f300(A,B) -> f300(1 + A,B)  [E >= 1 && B >= 1 + A]     (?,1)
          2. f300(A,B) -> f300(1 + A,B)  [0 >= 1 + E && B >= 1 + A] (?,1)
          3. f300(A,B) -> f300(A,-1 + B) [B >= 1 + A]               (?,1)
          4. f300(A,B) -> f1(A,B)        [A >= B]                   (?,1)
        Signature:
          {(f1,2);(f2,2);(f300,2)}
        Flow Graph:
          [0->{1,2,3,4},1->{1,2,3,4},2->{1,2,3,4},3->{1,2,3,4},4->{}]
        
    + Applied Processor:
        LocalSizeboundsProc
    + Details:
        LocalSizebounds generated; rvgraph
          (<0,0,A>,     A, .= 0) (<0,0,B>,     B, .= 0) 
          (<1,0,A>, 1 + A, .+ 1) (<1,0,B>,     B, .= 0) 
          (<2,0,A>, 1 + A, .+ 1) (<2,0,B>,     B, .= 0) 
          (<3,0,A>,     A, .= 0) (<3,0,B>, 1 + B, .+ 1) 
          (<4,0,A>,     A, .= 0) (<4,0,B>,     B, .= 0) 
* Step 3: SizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B)   -> f300(A,B)      True                       (1,1)
          1. f300(A,B) -> f300(1 + A,B)  [E >= 1 && B >= 1 + A]     (?,1)
          2. f300(A,B) -> f300(1 + A,B)  [0 >= 1 + E && B >= 1 + A] (?,1)
          3. f300(A,B) -> f300(A,-1 + B) [B >= 1 + A]               (?,1)
          4. f300(A,B) -> f1(A,B)        [A >= B]                   (?,1)
        Signature:
          {(f1,2);(f2,2);(f300,2)}
        Flow Graph:
          [0->{1,2,3,4},1->{1,2,3,4},2->{1,2,3,4},3->{1,2,3,4},4->{}]
        Sizebounds:
          (<0,0,A>, ?) (<0,0,B>, ?) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
          (<3,0,A>, ?) (<3,0,B>, ?) 
          (<4,0,A>, ?) (<4,0,B>, ?) 
    + Applied Processor:
        SizeboundsProc
    + Details:
        Sizebounds computed:
          (<0,0,A>, A) (<0,0,B>, B) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
          (<3,0,A>, ?) (<3,0,B>, ?) 
          (<4,0,A>, ?) (<4,0,B>, ?) 
* Step 4: LeafRules WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B)   -> f300(A,B)      True                       (1,1)
          1. f300(A,B) -> f300(1 + A,B)  [E >= 1 && B >= 1 + A]     (?,1)
          2. f300(A,B) -> f300(1 + A,B)  [0 >= 1 + E && B >= 1 + A] (?,1)
          3. f300(A,B) -> f300(A,-1 + B) [B >= 1 + A]               (?,1)
          4. f300(A,B) -> f1(A,B)        [A >= B]                   (?,1)
        Signature:
          {(f1,2);(f2,2);(f300,2)}
        Flow Graph:
          [0->{1,2,3,4},1->{1,2,3,4},2->{1,2,3,4},3->{1,2,3,4},4->{}]
        Sizebounds:
          (<0,0,A>, A) (<0,0,B>, B) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
          (<3,0,A>, ?) (<3,0,B>, ?) 
          (<4,0,A>, ?) (<4,0,B>, ?) 
    + Applied Processor:
        LeafRules
    + Details:
        The following transitions are estimated by its predecessors and are removed [4]
* Step 5: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B)   -> f300(A,B)      True                       (1,1)
          1. f300(A,B) -> f300(1 + A,B)  [E >= 1 && B >= 1 + A]     (?,1)
          2. f300(A,B) -> f300(1 + A,B)  [0 >= 1 + E && B >= 1 + A] (?,1)
          3. f300(A,B) -> f300(A,-1 + B) [B >= 1 + A]               (?,1)
        Signature:
          {(f1,2);(f2,2);(f300,2)}
        Flow Graph:
          [0->{1,2,3},1->{1,2,3},2->{1,2,3},3->{1,2,3}]
        Sizebounds:
          (<0,0,A>, A) (<0,0,B>, B) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
          (<3,0,A>, ?) (<3,0,B>, ?) 
    + Applied Processor:
        PolyRank {useFarkas = True, withSizebounds = [], shape = Linear}
    + Details:
        We apply a polynomial interpretation of shape linear:
            p(f2) = -1*x1 + x2
          p(f300) = -1*x1 + x2
        
        The following rules are strictly oriented:
        [B >= 1 + A] ==>               
           f300(A,B)   = -1*A + B      
                       > -1 + -1*A + B 
                       = f300(A,-1 + B)
        
        
        The following rules are weakly oriented:
                              True ==>              
                           f2(A,B)   = -1*A + B     
                                    >= -1*A + B     
                                     = f300(A,B)    
        
            [E >= 1 && B >= 1 + A] ==>              
                         f300(A,B)   = -1*A + B     
                                    >= -1 + -1*A + B
                                     = f300(1 + A,B)
        
        [0 >= 1 + E && B >= 1 + A] ==>              
                         f300(A,B)   = -1*A + B     
                                    >= -1 + -1*A + B
                                     = f300(1 + A,B)
        
        
* Step 6: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B)   -> f300(A,B)      True                       (1,1)    
          1. f300(A,B) -> f300(1 + A,B)  [E >= 1 && B >= 1 + A]     (?,1)    
          2. f300(A,B) -> f300(1 + A,B)  [0 >= 1 + E && B >= 1 + A] (?,1)    
          3. f300(A,B) -> f300(A,-1 + B) [B >= 1 + A]               (A + B,1)
        Signature:
          {(f1,2);(f2,2);(f300,2)}
        Flow Graph:
          [0->{1,2,3},1->{1,2,3},2->{1,2,3},3->{1,2,3}]
        Sizebounds:
          (<0,0,A>, A) (<0,0,B>, B) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
          (<3,0,A>, ?) (<3,0,B>, ?) 
    + Applied Processor:
        PolyRank {useFarkas = True, withSizebounds = [], shape = Linear}
    + Details:
        We apply a polynomial interpretation of shape linear:
            p(f2) = -1*x1 + x2
          p(f300) = -1*x1 + x2
        
        The following rules are strictly oriented:
        [0 >= 1 + E && B >= 1 + A] ==>               
                         f300(A,B)   = -1*A + B      
                                     > -1 + -1*A + B 
                                     = f300(1 + A,B) 
        
                      [B >= 1 + A] ==>               
                         f300(A,B)   = -1*A + B      
                                     > -1 + -1*A + B 
                                     = f300(A,-1 + B)
        
        
        The following rules are weakly oriented:
                          True ==>              
                       f2(A,B)   = -1*A + B     
                                >= -1*A + B     
                                 = f300(A,B)    
        
        [E >= 1 && B >= 1 + A] ==>              
                     f300(A,B)   = -1*A + B     
                                >= -1 + -1*A + B
                                 = f300(1 + A,B)
        
        
* Step 7: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B)   -> f300(A,B)      True                       (1,1)    
          1. f300(A,B) -> f300(1 + A,B)  [E >= 1 && B >= 1 + A]     (?,1)    
          2. f300(A,B) -> f300(1 + A,B)  [0 >= 1 + E && B >= 1 + A] (A + B,1)
          3. f300(A,B) -> f300(A,-1 + B) [B >= 1 + A]               (A + B,1)
        Signature:
          {(f1,2);(f2,2);(f300,2)}
        Flow Graph:
          [0->{1,2,3},1->{1,2,3},2->{1,2,3},3->{1,2,3}]
        Sizebounds:
          (<0,0,A>, A) (<0,0,B>, B) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
          (<3,0,A>, ?) (<3,0,B>, ?) 
    + Applied Processor:
        PolyRank {useFarkas = True, withSizebounds = [], shape = Linear}
    + Details:
        We apply a polynomial interpretation of shape linear:
            p(f2) = -1*x1 + x2
          p(f300) = -1*x1 + x2
        
        The following rules are strictly oriented:
            [E >= 1 && B >= 1 + A] ==>               
                         f300(A,B)   = -1*A + B      
                                     > -1 + -1*A + B 
                                     = f300(1 + A,B) 
        
        [0 >= 1 + E && B >= 1 + A] ==>               
                         f300(A,B)   = -1*A + B      
                                     > -1 + -1*A + B 
                                     = f300(1 + A,B) 
        
                      [B >= 1 + A] ==>               
                         f300(A,B)   = -1*A + B      
                                     > -1 + -1*A + B 
                                     = f300(A,-1 + B)
        
        
        The following rules are weakly oriented:
             True ==>          
          f2(A,B)   = -1*A + B 
                   >= -1*A + B 
                    = f300(A,B)
        
        
* Step 8: KnowledgePropagation WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. f2(A,B)   -> f300(A,B)      True                       (1,1)    
          1. f300(A,B) -> f300(1 + A,B)  [E >= 1 && B >= 1 + A]     (A + B,1)
          2. f300(A,B) -> f300(1 + A,B)  [0 >= 1 + E && B >= 1 + A] (A + B,1)
          3. f300(A,B) -> f300(A,-1 + B) [B >= 1 + A]               (A + B,1)
        Signature:
          {(f1,2);(f2,2);(f300,2)}
        Flow Graph:
          [0->{1,2,3},1->{1,2,3},2->{1,2,3},3->{1,2,3}]
        Sizebounds:
          (<0,0,A>, A) (<0,0,B>, B) 
          (<1,0,A>, ?) (<1,0,B>, ?) 
          (<2,0,A>, ?) (<2,0,B>, ?) 
          (<3,0,A>, ?) (<3,0,B>, ?) 
    + Applied Processor:
        KnowledgePropagation
    + Details:
        The problem is already solved.

WORST_CASE(?,O(n^1))