YES(?,PRIMREC) * Step 1: TrivialSCCs MAYBE + Considered Problem: Rules: 0. evalfstart(A,B,C) -> evalfentryin(A,B,C) True (1,1) 1. evalfentryin(A,B,C) -> evalfbb5in(0,B,C) True (?,1) 2. evalfbb5in(A,B,C) -> evalfreturnin(A,B,C) [A >= B] (?,1) 3. evalfbb5in(A,B,C) -> evalfbb6in(A,B,C) [B >= 1 + A] (?,1) 4. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [0 >= 1 + D] (?,1) 5. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [D >= 1] (?,1) 6. evalfbb6in(A,B,C) -> evalfreturnin(A,B,C) True (?,1) 7. evalfbb2in(A,B,C) -> evalfbb4in(A,B,C) [C >= B] (?,1) 8. evalfbb2in(A,B,C) -> evalfbb3in(A,B,C) [B >= 1 + C] (?,1) 9. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [0 >= 1 + D] (?,1) 10. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [D >= 1] (?,1) 11. evalfbb3in(A,B,C) -> evalfbb4in(A,B,C) True (?,1) 12. evalfbb1in(A,B,C) -> evalfbb2in(A,B,1 + C) True (?,1) 13. evalfbb4in(A,B,C) -> evalfbb5in(1 + C,B,C) True (?,1) 14. evalfreturnin(A,B,C) -> evalfstop(A,B,C) True (?,1) Signature: {(evalfbb1in,3) ;(evalfbb2in,3) ;(evalfbb3in,3) ;(evalfbb4in,3) ;(evalfbb5in,3) ;(evalfbb6in,3) ;(evalfentryin,3) ;(evalfreturnin,3) ;(evalfstart,3) ;(evalfstop,3)} Flow Graph: [0->{1},1->{2,3},2->{14},3->{4,5,6},4->{7,8},5->{7,8},6->{14},7->{13},8->{9,10,11},9->{12},10->{12} ,11->{13},12->{7,8},13->{2,3},14->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: AddSinks MAYBE + Considered Problem: Rules: 0. evalfstart(A,B,C) -> evalfentryin(A,B,C) True (1,1) 1. evalfentryin(A,B,C) -> evalfbb5in(0,B,C) True (1,1) 2. evalfbb5in(A,B,C) -> evalfreturnin(A,B,C) [A >= B] (1,1) 3. evalfbb5in(A,B,C) -> evalfbb6in(A,B,C) [B >= 1 + A] (?,1) 4. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [0 >= 1 + D] (?,1) 5. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [D >= 1] (?,1) 6. evalfbb6in(A,B,C) -> evalfreturnin(A,B,C) True (1,1) 7. evalfbb2in(A,B,C) -> evalfbb4in(A,B,C) [C >= B] (?,1) 8. evalfbb2in(A,B,C) -> evalfbb3in(A,B,C) [B >= 1 + C] (?,1) 9. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [0 >= 1 + D] (?,1) 10. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [D >= 1] (?,1) 11. evalfbb3in(A,B,C) -> evalfbb4in(A,B,C) True (?,1) 12. evalfbb1in(A,B,C) -> evalfbb2in(A,B,1 + C) True (?,1) 13. evalfbb4in(A,B,C) -> evalfbb5in(1 + C,B,C) True (?,1) 14. evalfreturnin(A,B,C) -> evalfstop(A,B,C) True (1,1) Signature: {(evalfbb1in,3) ;(evalfbb2in,3) ;(evalfbb3in,3) ;(evalfbb4in,3) ;(evalfbb5in,3) ;(evalfbb6in,3) ;(evalfentryin,3) ;(evalfreturnin,3) ;(evalfstart,3) ;(evalfstop,3)} Flow Graph: [0->{1},1->{2,3},2->{14},3->{4,5,6},4->{7,8},5->{7,8},6->{14},7->{13},8->{9,10,11},9->{12},10->{12} ,11->{13},12->{7,8},13->{2,3},14->{}] + Applied Processor: AddSinks + Details: () * Step 3: LooptreeTransformer MAYBE + Considered Problem: Rules: 0. evalfstart(A,B,C) -> evalfentryin(A,B,C) True (1,1) 1. evalfentryin(A,B,C) -> evalfbb5in(0,B,C) True (?,1) 2. evalfbb5in(A,B,C) -> evalfreturnin(A,B,C) [A >= B] (?,1) 3. evalfbb5in(A,B,C) -> evalfbb6in(A,B,C) [B >= 1 + A] (?,1) 4. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [0 >= 1 + D] (?,1) 5. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [D >= 1] (?,1) 6. evalfbb6in(A,B,C) -> evalfreturnin(A,B,C) True (?,1) 7. evalfbb2in(A,B,C) -> evalfbb4in(A,B,C) [C >= B] (?,1) 8. evalfbb2in(A,B,C) -> evalfbb3in(A,B,C) [B >= 1 + C] (?,1) 9. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [0 >= 1 + D] (?,1) 10. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [D >= 1] (?,1) 11. evalfbb3in(A,B,C) -> evalfbb4in(A,B,C) True (?,1) 12. evalfbb1in(A,B,C) -> evalfbb2in(A,B,1 + C) True (?,1) 13. evalfbb4in(A,B,C) -> evalfbb5in(1 + C,B,C) True (?,1) 14. evalfreturnin(A,B,C) -> evalfstop(A,B,C) True (?,1) 15. evalfreturnin(A,B,C) -> exitus616(A,B,C) True (?,1) Signature: {(evalfbb1in,3) ;(evalfbb2in,3) ;(evalfbb3in,3) ;(evalfbb4in,3) ;(evalfbb5in,3) ;(evalfbb6in,3) ;(evalfentryin,3) ;(evalfreturnin,3) ;(evalfstart,3) ;(evalfstop,3) ;(exitus616,3)} Flow Graph: [0->{1},1->{2,3},2->{14,15},3->{4,5,6},4->{7,8},5->{7,8},6->{14,15},7->{13},8->{9,10,11},9->{12},10->{12} ,11->{13},12->{7,8},13->{2,3},14->{},15->{}] + Applied Processor: LooptreeTransformer + Details: We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] | `- p:[3,13,7,4,5,12,9,8,10,11] c: [8] | `- p:[3,13,7,4,5] c: [13] * Step 4: SizeAbstraction MAYBE + Considered Problem: (Rules: 0. evalfstart(A,B,C) -> evalfentryin(A,B,C) True (1,1) 1. evalfentryin(A,B,C) -> evalfbb5in(0,B,C) True (?,1) 2. evalfbb5in(A,B,C) -> evalfreturnin(A,B,C) [A >= B] (?,1) 3. evalfbb5in(A,B,C) -> evalfbb6in(A,B,C) [B >= 1 + A] (?,1) 4. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [0 >= 1 + D] (?,1) 5. evalfbb6in(A,B,C) -> evalfbb2in(A,B,A) [D >= 1] (?,1) 6. evalfbb6in(A,B,C) -> evalfreturnin(A,B,C) True (?,1) 7. evalfbb2in(A,B,C) -> evalfbb4in(A,B,C) [C >= B] (?,1) 8. evalfbb2in(A,B,C) -> evalfbb3in(A,B,C) [B >= 1 + C] (?,1) 9. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [0 >= 1 + D] (?,1) 10. evalfbb3in(A,B,C) -> evalfbb1in(A,B,C) [D >= 1] (?,1) 11. evalfbb3in(A,B,C) -> evalfbb4in(A,B,C) True (?,1) 12. evalfbb1in(A,B,C) -> evalfbb2in(A,B,1 + C) True (?,1) 13. evalfbb4in(A,B,C) -> evalfbb5in(1 + C,B,C) True (?,1) 14. evalfreturnin(A,B,C) -> evalfstop(A,B,C) True (?,1) 15. evalfreturnin(A,B,C) -> exitus616(A,B,C) True (?,1) Signature: {(evalfbb1in,3) ;(evalfbb2in,3) ;(evalfbb3in,3) ;(evalfbb4in,3) ;(evalfbb5in,3) ;(evalfbb6in,3) ;(evalfentryin,3) ;(evalfreturnin,3) ;(evalfstart,3) ;(evalfstop,3) ;(exitus616,3)} Flow Graph: [0->{1},1->{2,3},2->{14,15},3->{4,5,6},4->{7,8},5->{7,8},6->{14,15},7->{13},8->{9,10,11},9->{12},10->{12} ,11->{13},12->{7,8},13->{2,3},14->{},15->{}] ,We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] | `- p:[3,13,7,4,5,12,9,8,10,11] c: [8] | `- p:[3,13,7,4,5] c: [13]) + Applied Processor: SizeAbstraction UseCFG Minimize + Details: () * Step 5: FlowAbstraction MAYBE + Considered Problem: Program: Domain: [A,B,C,0.0,0.0.0] evalfstart ~> evalfentryin [A <= A, B <= B, C <= C] evalfentryin ~> evalfbb5in [A <= 0*K, B <= B, C <= C] evalfbb5in ~> evalfreturnin [A <= A, B <= B, C <= C] evalfbb5in ~> evalfbb6in [A <= A, B <= B, C <= C] evalfbb6in ~> evalfbb2in [A <= A, B <= B, C <= A] evalfbb6in ~> evalfbb2in [A <= A, B <= B, C <= A] evalfbb6in ~> evalfreturnin [A <= A, B <= B, C <= C] evalfbb2in ~> evalfbb4in [A <= A, B <= B, C <= C] evalfbb2in ~> evalfbb3in [A <= A, B <= B, C <= C] evalfbb3in ~> evalfbb1in [A <= A, B <= B, C <= C] evalfbb3in ~> evalfbb1in [A <= A, B <= B, C <= C] evalfbb3in ~> evalfbb4in [A <= A, B <= B, C <= C] evalfbb1in ~> evalfbb2in [A <= A, B <= B, C <= K + C] evalfbb4in ~> evalfbb5in [A <= K + C, B <= B, C <= C] evalfreturnin ~> evalfstop [A <= A, B <= B, C <= C] evalfreturnin ~> exitus616 [A <= A, B <= B, C <= C] + Loop: [0.0 <= 2*K + A + B + C] evalfbb5in ~> evalfbb6in [A <= A, B <= B, C <= C] evalfbb4in ~> evalfbb5in [A <= K + C, B <= B, C <= C] evalfbb2in ~> evalfbb4in [A <= A, B <= B, C <= C] evalfbb6in ~> evalfbb2in [A <= A, B <= B, C <= A] evalfbb6in ~> evalfbb2in [A <= A, B <= B, C <= A] evalfbb1in ~> evalfbb2in [A <= A, B <= B, C <= K + C] evalfbb3in ~> evalfbb1in [A <= A, B <= B, C <= C] evalfbb2in ~> evalfbb3in [A <= A, B <= B, C <= C] evalfbb3in ~> evalfbb1in [A <= A, B <= B, C <= C] evalfbb3in ~> evalfbb4in [A <= A, B <= B, C <= C] + Loop: [0.0.0 <= K + A + B + C] evalfbb5in ~> evalfbb6in [A <= A, B <= B, C <= C] evalfbb4in ~> evalfbb5in [A <= K + C, B <= B, C <= C] evalfbb2in ~> evalfbb4in [A <= A, B <= B, C <= C] evalfbb6in ~> evalfbb2in [A <= A, B <= B, C <= A] evalfbb6in ~> evalfbb2in [A <= A, B <= B, C <= A] + Applied Processor: FlowAbstraction + Details: () * Step 6: LareProcessor MAYBE + Considered Problem: Program: Domain: [tick,huge,K,A,B,C,0.0,0.0.0] evalfstart ~> evalfentryin [] evalfentryin ~> evalfbb5in [K ~=> A] evalfbb5in ~> evalfreturnin [] evalfbb5in ~> evalfbb6in [] evalfbb6in ~> evalfbb2in [A ~=> C] evalfbb6in ~> evalfbb2in [A ~=> C] evalfbb6in ~> evalfreturnin [] evalfbb2in ~> evalfbb4in [] evalfbb2in ~> evalfbb3in [] evalfbb3in ~> evalfbb1in [] evalfbb3in ~> evalfbb1in [] evalfbb3in ~> evalfbb4in [] evalfbb1in ~> evalfbb2in [C ~+> C,K ~+> C] evalfbb4in ~> evalfbb5in [C ~+> A,K ~+> A] evalfreturnin ~> evalfstop [] evalfreturnin ~> exitus616 [] + Loop: [A ~+> 0.0,B ~+> 0.0,C ~+> 0.0,K ~*> 0.0] evalfbb5in ~> evalfbb6in [] evalfbb4in ~> evalfbb5in [C ~+> A,K ~+> A] evalfbb2in ~> evalfbb4in [] evalfbb6in ~> evalfbb2in [A ~=> C] evalfbb6in ~> evalfbb2in [A ~=> C] evalfbb1in ~> evalfbb2in [C ~+> C,K ~+> C] evalfbb3in ~> evalfbb1in [] evalfbb2in ~> evalfbb3in [] evalfbb3in ~> evalfbb1in [] evalfbb3in ~> evalfbb4in [] + Loop: [A ~+> 0.0.0,B ~+> 0.0.0,C ~+> 0.0.0,K ~+> 0.0.0] evalfbb5in ~> evalfbb6in [] evalfbb4in ~> evalfbb5in [C ~+> A,K ~+> A] evalfbb2in ~> evalfbb4in [] evalfbb6in ~> evalfbb2in [A ~=> C] evalfbb6in ~> evalfbb2in [A ~=> C] + Applied Processor: LareProcessor + Details: evalfstart ~> exitus616 [K ~=> A ,K ~=> C ,B ~+> 0.0 ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0 ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0 ,K ~+> 0.0.0 ,K ~+> tick ,B ~*> A ,B ~*> C ,B ~*> 0.0 ,B ~*> 0.0.0 ,B ~*> tick ,C ~*> A ,C ~*> C ,C ~*> 0.0 ,C ~*> 0.0.0 ,C ~*> tick ,K ~*> A ,K ~*> C ,K ~*> 0.0 ,K ~*> 0.0.0 ,K ~*> tick ,B ~^> A ,B ~^> C ,B ~^> 0.0 ,B ~^> 0.0.0 ,B ~^> tick ,C ~^> A ,C ~^> C ,C ~^> 0.0 ,C ~^> 0.0.0 ,C ~^> tick ,K ~^> A ,K ~^> C ,K ~^> 0.0 ,K ~^> 0.0.0 ,K ~^> tick] evalfstart ~> evalfstop [K ~=> A ,K ~=> C ,B ~+> 0.0 ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0 ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0 ,K ~+> 0.0.0 ,K ~+> tick ,B ~*> A ,B ~*> C ,B ~*> 0.0 ,B ~*> 0.0.0 ,B ~*> tick ,C ~*> A ,C ~*> C ,C ~*> 0.0 ,C ~*> 0.0.0 ,C ~*> tick ,K ~*> A ,K ~*> C ,K ~*> 0.0 ,K ~*> 0.0.0 ,K ~*> tick ,B ~^> A ,B ~^> C ,B ~^> 0.0 ,B ~^> 0.0.0 ,B ~^> tick ,C ~^> A ,C ~^> C ,C ~^> 0.0 ,C ~^> 0.0.0 ,C ~^> tick ,K ~^> A ,K ~^> C ,K ~^> 0.0 ,K ~^> 0.0.0 ,K ~^> tick] + evalfbb6in> [A ~=> C ,A ~+> A ,A ~+> C ,A ~+> 0.0 ,A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0 ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,A ~*> 0.0.0 ,A ~*> tick ,B ~*> A ,B ~*> C ,B ~*> 0.0.0 ,B ~*> tick ,C ~*> A ,C ~*> C ,C ~*> 0.0.0 ,C ~*> tick ,K ~*> A ,K ~*> C ,K ~*> 0.0 ,K ~*> 0.0.0 ,K ~*> tick ,A ~^> A ,A ~^> C ,A ~^> 0.0.0 ,A ~^> tick ,B ~^> A ,B ~^> C ,B ~^> 0.0.0 ,B ~^> tick ,C ~^> A ,C ~^> C ,C ~^> 0.0.0 ,C ~^> tick ,K ~^> A ,K ~^> C ,K ~^> 0.0.0 ,K ~^> tick] evalfbb5in> [A ~=> C ,A ~+> A ,A ~+> C ,A ~+> 0.0 ,A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0 ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,A ~*> 0.0.0 ,A ~*> tick ,B ~*> A ,B ~*> C ,B ~*> 0.0.0 ,B ~*> tick ,C ~*> A ,C ~*> C ,C ~*> 0.0.0 ,C ~*> tick ,K ~*> A ,K ~*> C ,K ~*> 0.0 ,K ~*> 0.0.0 ,K ~*> tick ,A ~^> A ,A ~^> C ,A ~^> 0.0.0 ,A ~^> tick ,B ~^> A ,B ~^> C ,B ~^> 0.0.0 ,B ~^> tick ,C ~^> A ,C ~^> C ,C ~^> 0.0.0 ,C ~^> tick ,K ~^> A ,K ~^> C ,K ~^> 0.0.0 ,K ~^> tick] + evalfbb2in> [A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] evalfbb6in> [A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] evalfbb5in> [A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] evalfbb2in> [A ~=> C ,A ~+> A ,A ~+> C ,A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] evalfbb6in> [A ~=> C ,A ~+> A ,A ~+> C ,A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,B ~*> A ,C ~*> A ,K ~*> A ,K ~*> C] evalfbb5in> [A ~=> C ,A ~+> A ,A ~+> C ,A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] evalfbb2in> [A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] evalfbb6in> [A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] evalfbb5in> [A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> A ,C ~+> C ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> C ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> C ,B ~*> A ,B ~*> C ,C ~*> A ,C ~*> C ,K ~*> A ,K ~*> C] YES(?,PRIMREC)