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

WORST_CASE(?,O(n^1))