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

WORST_CASE(?,O(n^1))