YES(?,POLY) * Step 1: FromIts WORST_CASE(?,POLY) + Considered Problem: Rules: 0. eval_start_start(v__0,v__01,v_x,v_y) -> eval_start_bb0_in(v__0,v__01,v_x,v_y) True (1,1) 1. eval_start_bb0_in(v__0,v__01,v_x,v_y) -> eval_start_0(v__0,v__01,v_x,v_y) True (?,1) 2. eval_start_0(v__0,v__01,v_x,v_y) -> eval_start_1(v__0,v__01,v_x,v_y) True (?,1) 3. eval_start_1(v__0,v__01,v_x,v_y) -> eval_start_2(v__0,v__01,v_x,v_y) True (?,1) 4. eval_start_2(v__0,v__01,v_x,v_y) -> eval_start_3(v__0,v__01,v_x,v_y) True (?,1) 5. eval_start_3(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(v_x,v__01,v_x,v_y) True (?,1) 6. eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb2_in(v__0,v__01,v_x,v_y) [v__0 + -1*v_x >= 0 && -1 + v_y >= v__0] (?,1) 7. eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,v_y,v_x,v_y) [v__0 + -1*v_x >= 0 && v__0 >= v_y] (?,1) 8. eval_start_bb2_in(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(1 + v__0,v__01,v_x,v_y) [-1 + -1*v_x + v_y >= 0 && -1 + -1*v__0 + v_y >= 0 && v__0 + -1*v_x >= 0] (?,1) 9. eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb4_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 (?,1) && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1 + v__0 >= v__01] 10. eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb5_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && v__01 >= v__0] (?,1) 11. eval_start_bb4_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,1 + v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && -1 + v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && -1 + v__0 + -1*v__01 >= 0] (?,1) 12. eval_start_bb5_in(v__0,v__01,v_x,v_y) -> eval_start_stop(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 (?,1) && v__0 + -1*v_y >= 0 && v__01 + -1*v_x >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1*v__0 + v__01 >= 0] Signature: {(eval_start_0,4) ;(eval_start_1,4) ;(eval_start_2,4) ;(eval_start_3,4) ;(eval_start_bb0_in,4) ;(eval_start_bb1_in,4) ;(eval_start_bb2_in,4) ;(eval_start_bb3_in,4) ;(eval_start_bb4_in,4) ;(eval_start_bb5_in,4) ;(eval_start_start,4) ;(eval_start_stop,4)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6,7},6->{8},7->{9,10},8->{6,7},9->{11},10->{12},11->{9,10},12->{}] + Applied Processor: FromIts + Details: () * Step 2: AddSinks WORST_CASE(?,POLY) + Considered Problem: Rules: eval_start_start(v__0,v__01,v_x,v_y) -> eval_start_bb0_in(v__0,v__01,v_x,v_y) True eval_start_bb0_in(v__0,v__01,v_x,v_y) -> eval_start_0(v__0,v__01,v_x,v_y) True eval_start_0(v__0,v__01,v_x,v_y) -> eval_start_1(v__0,v__01,v_x,v_y) True eval_start_1(v__0,v__01,v_x,v_y) -> eval_start_2(v__0,v__01,v_x,v_y) True eval_start_2(v__0,v__01,v_x,v_y) -> eval_start_3(v__0,v__01,v_x,v_y) True eval_start_3(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(v_x,v__01,v_x,v_y) True eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb2_in(v__0,v__01,v_x,v_y) [v__0 + -1*v_x >= 0 && -1 + v_y >= v__0] eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,v_y,v_x,v_y) [v__0 + -1*v_x >= 0 && v__0 >= v_y] eval_start_bb2_in(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(1 + v__0,v__01,v_x,v_y) [-1 + -1*v_x + v_y >= 0 && -1 + -1*v__0 + v_y >= 0 && v__0 + -1*v_x >= 0] eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb4_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1 + v__0 >= v__01] eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb5_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && v__01 >= v__0] eval_start_bb4_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,1 + v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && -1 + v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && -1 + v__0 + -1*v__01 >= 0] eval_start_bb5_in(v__0,v__01,v_x,v_y) -> eval_start_stop(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__01 + -1*v_x >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1*v__0 + v__01 >= 0] Signature: {(eval_start_0,4) ;(eval_start_1,4) ;(eval_start_2,4) ;(eval_start_3,4) ;(eval_start_bb0_in,4) ;(eval_start_bb1_in,4) ;(eval_start_bb2_in,4) ;(eval_start_bb3_in,4) ;(eval_start_bb4_in,4) ;(eval_start_bb5_in,4) ;(eval_start_start,4) ;(eval_start_stop,4)} Rule Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6,7},6->{8},7->{9,10},8->{6,7},9->{11},10->{12},11->{9,10},12->{}] + Applied Processor: AddSinks + Details: () * Step 3: Decompose WORST_CASE(?,POLY) + Considered Problem: Rules: eval_start_start(v__0,v__01,v_x,v_y) -> eval_start_bb0_in(v__0,v__01,v_x,v_y) True eval_start_bb0_in(v__0,v__01,v_x,v_y) -> eval_start_0(v__0,v__01,v_x,v_y) True eval_start_0(v__0,v__01,v_x,v_y) -> eval_start_1(v__0,v__01,v_x,v_y) True eval_start_1(v__0,v__01,v_x,v_y) -> eval_start_2(v__0,v__01,v_x,v_y) True eval_start_2(v__0,v__01,v_x,v_y) -> eval_start_3(v__0,v__01,v_x,v_y) True eval_start_3(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(v_x,v__01,v_x,v_y) True eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb2_in(v__0,v__01,v_x,v_y) [v__0 + -1*v_x >= 0 && -1 + v_y >= v__0] eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,v_y,v_x,v_y) [v__0 + -1*v_x >= 0 && v__0 >= v_y] eval_start_bb2_in(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(1 + v__0,v__01,v_x,v_y) [-1 + -1*v_x + v_y >= 0 && -1 + -1*v__0 + v_y >= 0 && v__0 + -1*v_x >= 0] eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb4_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1 + v__0 >= v__01] eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb5_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && v__01 >= v__0] eval_start_bb4_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,1 + v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && -1 + v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && -1 + v__0 + -1*v__01 >= 0] eval_start_bb5_in(v__0,v__01,v_x,v_y) -> eval_start_stop(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__01 + -1*v_x >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1*v__0 + v__01 >= 0] eval_start_stop(v__0,v__01,v_x,v_y) -> exitus616(v__0,v__01,v_x,v_y) True Signature: {(eval_start_0,4) ;(eval_start_1,4) ;(eval_start_2,4) ;(eval_start_3,4) ;(eval_start_bb0_in,4) ;(eval_start_bb1_in,4) ;(eval_start_bb2_in,4) ;(eval_start_bb3_in,4) ;(eval_start_bb4_in,4) ;(eval_start_bb5_in,4) ;(eval_start_start,4) ;(eval_start_stop,4) ;(exitus616,4)} Rule Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6,7},6->{8},7->{9,10},8->{6,7},9->{11},10->{12},11->{9,10} ,12->{13}] + Applied Processor: Decompose Greedy + Details: We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12,13] | +- p:[6,8] c: [6,8] | `- p:[9,11] c: [9,11] * Step 4: AbstractSize WORST_CASE(?,POLY) + Considered Problem: (Rules: eval_start_start(v__0,v__01,v_x,v_y) -> eval_start_bb0_in(v__0,v__01,v_x,v_y) True eval_start_bb0_in(v__0,v__01,v_x,v_y) -> eval_start_0(v__0,v__01,v_x,v_y) True eval_start_0(v__0,v__01,v_x,v_y) -> eval_start_1(v__0,v__01,v_x,v_y) True eval_start_1(v__0,v__01,v_x,v_y) -> eval_start_2(v__0,v__01,v_x,v_y) True eval_start_2(v__0,v__01,v_x,v_y) -> eval_start_3(v__0,v__01,v_x,v_y) True eval_start_3(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(v_x,v__01,v_x,v_y) True eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb2_in(v__0,v__01,v_x,v_y) [v__0 + -1*v_x >= 0 && -1 + v_y >= v__0] eval_start_bb1_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,v_y,v_x,v_y) [v__0 + -1*v_x >= 0 && v__0 >= v_y] eval_start_bb2_in(v__0,v__01,v_x,v_y) -> eval_start_bb1_in(1 + v__0,v__01,v_x,v_y) [-1 + -1*v_x + v_y >= 0 && -1 + -1*v__0 + v_y >= 0 && v__0 + -1*v_x >= 0] eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb4_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1 + v__0 >= v__01] eval_start_bb3_in(v__0,v__01,v_x,v_y) -> eval_start_bb5_in(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && v__01 >= v__0] eval_start_bb4_in(v__0,v__01,v_x,v_y) -> eval_start_bb3_in(v__0,1 + v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && -1 + v__0 + -1*v_y >= 0 && v__0 + -1*v_x >= 0 && -1 + v__0 + -1*v__01 >= 0] eval_start_bb5_in(v__0,v__01,v_x,v_y) -> eval_start_stop(v__0,v__01,v_x,v_y) [v__01 + -1*v_y >= 0 && v__0 + -1*v_y >= 0 && v__01 + -1*v_x >= 0 && v__0 + -1*v_x >= 0 && v__0 + -1*v__01 >= 0 && -1*v__0 + v__01 >= 0] eval_start_stop(v__0,v__01,v_x,v_y) -> exitus616(v__0,v__01,v_x,v_y) True Signature: {(eval_start_0,4) ;(eval_start_1,4) ;(eval_start_2,4) ;(eval_start_3,4) ;(eval_start_bb0_in,4) ;(eval_start_bb1_in,4) ;(eval_start_bb2_in,4) ;(eval_start_bb3_in,4) ;(eval_start_bb4_in,4) ;(eval_start_bb5_in,4) ;(eval_start_start,4) ;(eval_start_stop,4) ;(exitus616,4)} Rule Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6,7},6->{8},7->{9,10},8->{6,7},9->{11},10->{12},11->{9,10} ,12->{13}] ,We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12,13] | +- p:[6,8] c: [6,8] | `- p:[9,11] c: [9,11]) + Applied Processor: AbstractSize Minimize + Details: () * Step 5: AbstractFlow WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [v__0,v__01,v_x,v_y,0.0,0.1] eval_start_start ~> eval_start_bb0_in [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb0_in ~> eval_start_0 [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_0 ~> eval_start_1 [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_1 ~> eval_start_2 [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_2 ~> eval_start_3 [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_3 ~> eval_start_bb1_in [v__0 <= v_x, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb1_in ~> eval_start_bb2_in [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb1_in ~> eval_start_bb3_in [v__0 <= v__0, v__01 <= v_y, v_x <= v_x, v_y <= v_y] eval_start_bb2_in ~> eval_start_bb1_in [v__0 <= v_x + v_y, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb3_in ~> eval_start_bb4_in [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb3_in ~> eval_start_bb5_in [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb4_in ~> eval_start_bb3_in [v__0 <= v__0, v__01 <= v__0 + v__01, v_x <= v_x, v_y <= v_y] eval_start_bb5_in ~> eval_start_stop [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_stop ~> exitus616 [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] + Loop: [0.0 <= K + v__0 + v_y] eval_start_bb1_in ~> eval_start_bb2_in [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb2_in ~> eval_start_bb1_in [v__0 <= v_x + v_y, v__01 <= v__01, v_x <= v_x, v_y <= v_y] + Loop: [0.1 <= K + v__0 + v__01] eval_start_bb3_in ~> eval_start_bb4_in [v__0 <= v__0, v__01 <= v__01, v_x <= v_x, v_y <= v_y] eval_start_bb4_in ~> eval_start_bb3_in [v__0 <= v__0, v__01 <= v__0 + v__01, v_x <= v_x, v_y <= v_y] + Applied Processor: AbstractFlow + Details: () * Step 6: Lare WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [tick,huge,K,v__0,v__01,v_x,v_y,0.0,0.1] eval_start_start ~> eval_start_bb0_in [] eval_start_bb0_in ~> eval_start_0 [] eval_start_0 ~> eval_start_1 [] eval_start_1 ~> eval_start_2 [] eval_start_2 ~> eval_start_3 [] eval_start_3 ~> eval_start_bb1_in [v_x ~=> v__0] eval_start_bb1_in ~> eval_start_bb2_in [] eval_start_bb1_in ~> eval_start_bb3_in [v_y ~=> v__01] eval_start_bb2_in ~> eval_start_bb1_in [v_x ~+> v__0,v_y ~+> v__0] eval_start_bb3_in ~> eval_start_bb4_in [] eval_start_bb3_in ~> eval_start_bb5_in [] eval_start_bb4_in ~> eval_start_bb3_in [v__0 ~+> v__01,v__01 ~+> v__01] eval_start_bb5_in ~> eval_start_stop [] eval_start_stop ~> exitus616 [] + Loop: [v__0 ~+> 0.0,v_y ~+> 0.0,K ~+> 0.0] eval_start_bb1_in ~> eval_start_bb2_in [] eval_start_bb2_in ~> eval_start_bb1_in [v_x ~+> v__0,v_y ~+> v__0] + Loop: [v__0 ~+> 0.1,v__01 ~+> 0.1,K ~+> 0.1] eval_start_bb3_in ~> eval_start_bb4_in [] eval_start_bb4_in ~> eval_start_bb3_in [v__0 ~+> v__01,v__01 ~+> v__01] + Applied Processor: Lare + Details: eval_start_start ~> exitus616 [v_x ~=> v__0 ,v_y ~=> v__01 ,v_x ~+> v__0 ,v_x ~+> v__01 ,v_x ~+> 0.0 ,v_x ~+> 0.1 ,v_x ~+> tick ,v_y ~+> v__0 ,v_y ~+> v__01 ,v_y ~+> 0.0 ,v_y ~+> 0.1 ,v_y ~+> tick ,tick ~+> tick ,K ~+> 0.0 ,K ~+> 0.1 ,K ~+> tick ,v_x ~*> v__01 ,v_x ~*> tick ,v_y ~*> v__01 ,v_y ~*> 0.1 ,v_y ~*> tick ,K ~*> v__01 ,K ~*> tick] + eval_start_bb1_in> [v__0 ~+> 0.0 ,v__0 ~+> tick ,v_x ~+> v__0 ,v_y ~+> v__0 ,v_y ~+> 0.0 ,v_y ~+> tick ,tick ~+> tick ,K ~+> 0.0 ,K ~+> tick] + eval_start_bb3_in> [v__0 ~+> v__01 ,v__0 ~+> 0.1 ,v__0 ~+> tick ,v__01 ~+> v__01 ,v__01 ~+> 0.1 ,v__01 ~+> tick ,tick ~+> tick ,K ~+> 0.1 ,K ~+> tick ,v__0 ~*> v__01 ,v__01 ~*> v__01 ,K ~*> v__01] YES(?,POLY)