WORST_CASE(?,O(n^1))
* Step 1: LocalSizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. eval(A,B)  -> eval(-1 + A,B) [A >= 1 && B >= A]     (?,1)
          1. eval(A,B)  -> eval(B,B)      [A >= 1 && A >= 1 + B] (?,1)
          2. start(A,B) -> eval(A,B)      True                   (1,1)
        Signature:
          {(eval,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>,     B, .= 0) (<1,0,B>, B, .= 0) 
          (<2,0,A>,     A, .= 0) (<2,0,B>, B, .= 0) 
* Step 2: SizeboundsProc WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. eval(A,B)  -> eval(-1 + A,B) [A >= 1 && B >= A]     (?,1)
          1. eval(A,B)  -> eval(B,B)      [A >= 1 && A >= 1 + B] (?,1)
          2. start(A,B) -> eval(A,B)      True                   (1,1)
        Signature:
          {(eval,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>, B) (<0,0,B>, B) 
          (<1,0,A>, B) (<1,0,B>, B) 
          (<2,0,A>, A) (<2,0,B>, B) 
* Step 3: UnsatPaths WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. eval(A,B)  -> eval(-1 + A,B) [A >= 1 && B >= A]     (?,1)
          1. eval(A,B)  -> eval(B,B)      [A >= 1 && A >= 1 + B] (?,1)
          2. start(A,B) -> eval(A,B)      True                   (1,1)
        Signature:
          {(eval,2);(start,2)}
        Flow Graph:
          [0->{0,1},1->{0,1},2->{0,1}]
        Sizebounds:
          (<0,0,A>, B) (<0,0,B>, B) 
          (<1,0,A>, B) (<1,0,B>, B) 
          (<2,0,A>, A) (<2,0,B>, B) 
    + Applied Processor:
        UnsatPaths
    + Details:
        We remove following edges from the transition graph: [(0,1),(1,1)]
* Step 4: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. eval(A,B)  -> eval(-1 + A,B) [A >= 1 && B >= A]     (?,1)
          1. eval(A,B)  -> eval(B,B)      [A >= 1 && A >= 1 + B] (?,1)
          2. start(A,B) -> eval(A,B)      True                   (1,1)
        Signature:
          {(eval,2);(start,2)}
        Flow Graph:
          [0->{0},1->{0},2->{0,1}]
        Sizebounds:
          (<0,0,A>, B) (<0,0,B>, B) 
          (<1,0,A>, B) (<1,0,B>, 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(eval) = x1
          p(start) = x1
        
        The following rules are strictly oriented:
        [A >= 1 && A >= 1 + B] ==>          
                     eval(A,B)   = A        
                                 > B        
                                 = eval(B,B)
        
        
        The following rules are weakly oriented:
        [A >= 1 && B >= A] ==>               
                 eval(A,B)   = A             
                            >= -1 + A        
                             = eval(-1 + A,B)
        
                      True ==>               
                start(A,B)   = A             
                            >= A             
                             = eval(A,B)     
        
        
* Step 5: PolyRank WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. eval(A,B)  -> eval(-1 + A,B) [A >= 1 && B >= A]     (?,1)
          1. eval(A,B)  -> eval(B,B)      [A >= 1 && A >= 1 + B] (A,1)
          2. start(A,B) -> eval(A,B)      True                   (1,1)
        Signature:
          {(eval,2);(start,2)}
        Flow Graph:
          [0->{0},1->{0},2->{0,1}]
        Sizebounds:
          (<0,0,A>, B) (<0,0,B>, B) 
          (<1,0,A>, B) (<1,0,B>, 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(eval) = x1
          p(start) = x1
        
        The following rules are strictly oriented:
            [A >= 1 && B >= A] ==>               
                     eval(A,B)   = A             
                                 > -1 + A        
                                 = eval(-1 + A,B)
        
        [A >= 1 && A >= 1 + B] ==>               
                     eval(A,B)   = A             
                                 > B             
                                 = eval(B,B)     
        
        
        The following rules are weakly oriented:
                True ==>          
          start(A,B)   = A        
                      >= A        
                       = eval(A,B)
        
        
* Step 6: KnowledgePropagation WORST_CASE(?,O(n^1))
    + Considered Problem:
        Rules:
          0. eval(A,B)  -> eval(-1 + A,B) [A >= 1 && B >= A]     (A,1)
          1. eval(A,B)  -> eval(B,B)      [A >= 1 && A >= 1 + B] (A,1)
          2. start(A,B) -> eval(A,B)      True                   (1,1)
        Signature:
          {(eval,2);(start,2)}
        Flow Graph:
          [0->{0},1->{0},2->{0,1}]
        Sizebounds:
          (<0,0,A>, B) (<0,0,B>, B) 
          (<1,0,A>, B) (<1,0,B>, B) 
          (<2,0,A>, A) (<2,0,B>, B) 
    + Applied Processor:
        KnowledgePropagation
    + Details:
        The problem is already solved.

WORST_CASE(?,O(n^1))