/export/starexec/sandbox2/solver/bin/starexec_run_its /export/starexec/sandbox2/benchmark/theBenchmark.koat /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(?,O(n^1)) Preprocessing Cost Relations ===================================== #### Computed strongly connected components 0. recursive : [evalNestedMultiplebb1in/4,evalNestedMultiplebb2in/4,evalNestedMultiplebb3in/4] 1. recursive : [evalNestedMultiplebb2in_loop_cont/10,evalNestedMultiplebb4in/9,evalNestedMultiplebb5in/9] 2. non_recursive : [evalNestedMultiplestop/6] 3. non_recursive : [evalNestedMultiplereturnin/6] 4. non_recursive : [exit_location/1] 5. non_recursive : [evalNestedMultiplebb5in_loop_cont/7] 6. non_recursive : [evalNestedMultipleentryin/6] 7. non_recursive : [evalNestedMultiplestart/6] #### Obtained direct recursion through partial evaluation 0. SCC is partially evaluated into evalNestedMultiplebb2in/4 1. SCC is partially evaluated into evalNestedMultiplebb5in/9 2. SCC is completely evaluated into other SCCs 3. SCC is completely evaluated into other SCCs 4. SCC is completely evaluated into other SCCs 5. SCC is partially evaluated into evalNestedMultiplebb5in_loop_cont/7 6. SCC is partially evaluated into evalNestedMultipleentryin/6 7. SCC is partially evaluated into evalNestedMultiplestart/6 Control-Flow Refinement of Cost Relations ===================================== ### Specialization of cost equations evalNestedMultiplebb2in/4 * CE 12 is refined into CE [13] * CE 9 is refined into CE [14] * CE 11 is refined into CE [15] * CE 10 is refined into CE [16] ### Cost equations --> "Loop" of evalNestedMultiplebb2in/4 * CEs [16] --> Loop 13 * CEs [13] --> Loop 14 * CEs [14] --> Loop 15 * CEs [15] --> Loop 16 ### Ranking functions of CR evalNestedMultiplebb2in(C,E,G,H) * RF of phase [13]: [C-E] #### Partial ranking functions of CR evalNestedMultiplebb2in(C,E,G,H) * Partial RF of phase [13]: - RF of loop [13:1]: C-E ### Specialization of cost equations evalNestedMultiplebb5in/9 * CE 5 is refined into CE [17] * CE 3 is refined into CE [18,19] * CE 6 is refined into CE [20] * CE 4 is refined into CE [21,22,23,24] ### Cost equations --> "Loop" of evalNestedMultiplebb5in/9 * CEs [24] --> Loop 17 * CEs [23] --> Loop 18 * CEs [22] --> Loop 19 * CEs [21] --> Loop 20 * CEs [17] --> Loop 21 * CEs [19] --> Loop 22 * CEs [18] --> Loop 23 * CEs [20] --> Loop 24 ### Ranking functions of CR evalNestedMultiplebb5in(A,B,C,D,E,G,H,I,J) * RF of phase [17,18]: [A-B] * RF of phase [19]: [A-B] #### Partial ranking functions of CR evalNestedMultiplebb5in(A,B,C,D,E,G,H,I,J) * Partial RF of phase [17,18]: - RF of loop [17:1]: C-D-1 - RF of loop [17:1,18:1]: A-B * Partial RF of phase [19]: - RF of loop [19:1]: A-B ### Specialization of cost equations evalNestedMultiplebb5in_loop_cont/7 * CE 7 is refined into CE [25] * CE 8 is refined into CE [26] ### Cost equations --> "Loop" of evalNestedMultiplebb5in_loop_cont/7 * CEs [25] --> Loop 25 * CEs [26] --> Loop 26 ### Ranking functions of CR evalNestedMultiplebb5in_loop_cont(A,B,C,D,E,F,G) #### Partial ranking functions of CR evalNestedMultiplebb5in_loop_cont(A,B,C,D,E,F,G) ### Specialization of cost equations evalNestedMultipleentryin/6 * CE 2 is refined into CE [27,28,29,30,31,32,33,34,35,36,37,38,39,40] ### Cost equations --> "Loop" of evalNestedMultipleentryin/6 * CEs [36] --> Loop 27 * CEs [34] --> Loop 28 * CEs [33,38] --> Loop 29 * CEs [31] --> Loop 30 * CEs [32,37] --> Loop 31 * CEs [29,39] --> Loop 32 * CEs [30,40] --> Loop 33 * CEs [28] --> Loop 34 * CEs [35] --> Loop 35 * CEs [27] --> Loop 36 ### Ranking functions of CR evalNestedMultipleentryin(A,B,C,D,E,G) #### Partial ranking functions of CR evalNestedMultipleentryin(A,B,C,D,E,G) ### Specialization of cost equations evalNestedMultiplestart/6 * CE 1 is refined into CE [41,42,43,44,45,46,47,48,49,50] ### Cost equations --> "Loop" of evalNestedMultiplestart/6 * CEs [50] --> Loop 37 * CEs [49] --> Loop 38 * CEs [48] --> Loop 39 * CEs [47] --> Loop 40 * CEs [46] --> Loop 41 * CEs [45] --> Loop 42 * CEs [44] --> Loop 43 * CEs [43] --> Loop 44 * CEs [42] --> Loop 45 * CEs [41] --> Loop 46 ### Ranking functions of CR evalNestedMultiplestart(A,B,C,D,E,G) #### Partial ranking functions of CR evalNestedMultiplestart(A,B,C,D,E,G) Computing Bounds ===================================== #### Cost of chains of evalNestedMultiplebb2in(C,E,G,H): * Chain [[13],16]: 1*it(13)+0 Such that:it(13) =< C-E with precondition: [G=2,C=H,C>=E+1] * Chain [[13],15]: 1*it(13)+0 Such that:it(13) =< -E+H with precondition: [G=2,H>=E+1,C>=H+1] * Chain [[13],14]: 1*it(13)+0 Such that:it(13) =< C-E with precondition: [G=3,C>=E+1] * Chain [16]: 0 with precondition: [G=2,E=H,E>=C] * Chain [15]: 0 with precondition: [G=2,E=H,C>=E+1] * Chain [14]: 0 with precondition: [G=3] #### Cost of chains of evalNestedMultiplebb5in(A,B,C,D,E,G,H,I,J): * Chain [[19],24]: 1*it(19)+0 Such that:it(19) =< A-B with precondition: [G=3,A>=B+1,D>=C] * Chain [[19],23]: 1*it(19)+0 Such that:it(19) =< A-B with precondition: [G=3,A>=B+2,D>=C] * Chain [[19],21]: 1*it(19)+0 Such that:it(19) =< A-B with precondition: [G=4,A=H,D=I,D=J,A>=B+1,D>=C] * Chain [[17,18],24]: 1*it(17)+1*it(18)+1*s(3)+0 Such that:aux(5) =< A-B aux(6) =< C-D it(17) =< aux(5) it(18) =< aux(5) it(17) =< aux(6) s(3) =< aux(6) with precondition: [G=3,A>=B+1,C>=D+1] * Chain [[17,18],23]: 1*it(17)+1*it(18)+1*s(3)+0 Such that:aux(7) =< A-B aux(8) =< C-D it(17) =< aux(7) it(18) =< aux(7) it(17) =< aux(8) s(3) =< aux(8) with precondition: [G=3,A>=B+2,C>=D+1] * Chain [[17,18],22]: 1*it(17)+1*it(18)+2*s(3)+0 Such that:aux(9) =< A-B aux(10) =< C-D s(3) =< aux(10) it(17) =< aux(9) it(18) =< aux(9) it(17) =< aux(10) with precondition: [G=3,A>=B+2,C>=D+1] * Chain [[17,18],21]: 1*it(17)+1*it(18)+1*s(3)+0 Such that:aux(3) =< C-D aux(4) =< -D+J aux(11) =< A-B it(17) =< aux(11) it(18) =< aux(11) it(17) =< aux(3) s(3) =< aux(3) it(17) =< aux(4) s(3) =< aux(4) with precondition: [G=4,A=H,I=J,A>=B+1,I>=D,C>=I+1] * Chain [[17,18],20,[19],24]: 1*it(17)+2*it(18)+2*s(3)+1 Such that:aux(12) =< A-B aux(13) =< C-D it(18) =< aux(12) s(3) =< aux(13) it(17) =< aux(12) it(17) =< aux(13) with precondition: [G=3,A>=B+3,C>=D+1] * Chain [[17,18],20,[19],23]: 1*it(17)+2*it(18)+2*s(3)+1 Such that:aux(14) =< A-B aux(15) =< C-D it(18) =< aux(14) s(3) =< aux(15) it(17) =< aux(14) it(17) =< aux(15) with precondition: [G=3,A>=B+4,C>=D+1] * Chain [[17,18],20,[19],21]: 1*it(17)+2*it(18)+2*s(3)+1 Such that:aux(16) =< A-B aux(17) =< C-D it(18) =< aux(16) s(3) =< aux(17) it(17) =< aux(16) it(17) =< aux(17) with precondition: [G=4,A=H,C=I,C=J,A>=B+3,C>=D+1] * Chain [[17,18],20,24]: 1*it(17)+1*it(18)+2*s(3)+1 Such that:aux(18) =< A-B aux(19) =< C-D s(3) =< aux(19) it(17) =< aux(18) it(18) =< aux(18) it(17) =< aux(19) with precondition: [G=3,A>=B+2,C>=D+1] * Chain [[17,18],20,23]: 1*it(17)+1*it(18)+2*s(3)+1 Such that:aux(20) =< A-B aux(21) =< C-D s(3) =< aux(21) it(17) =< aux(20) it(18) =< aux(20) it(17) =< aux(21) with precondition: [G=3,A>=B+3,C>=D+1] * Chain [[17,18],20,21]: 1*it(17)+1*it(18)+2*s(3)+1 Such that:aux(22) =< A-B aux(23) =< C-D s(3) =< aux(23) it(17) =< aux(22) it(18) =< aux(22) it(17) =< aux(23) with precondition: [G=4,A=H,C=I,C=J,A>=B+2,C>=D+1] * Chain [24]: 0 with precondition: [G=3] * Chain [23]: 0 with precondition: [G=3,A>=B+1] * Chain [22]: 1*s(4)+0 Such that:s(4) =< C-D with precondition: [G=3,A>=B+1,C>=D+1] * Chain [21]: 0 with precondition: [G=4,I=D,J=E,B=H,B>=A] * Chain [20,[19],24]: 1*it(19)+1*s(5)+1 Such that:it(19) =< A-B s(5) =< C-D with precondition: [G=3,A>=B+2,C>=D+1] * Chain [20,[19],23]: 1*it(19)+1*s(5)+1 Such that:it(19) =< A-B s(5) =< C-D with precondition: [G=3,A>=B+3,C>=D+1] * Chain [20,[19],21]: 1*it(19)+1*s(5)+1 Such that:it(19) =< A-B s(5) =< C-D with precondition: [G=4,A=H,C=I,C=J,A>=B+2,C>=D+1] * Chain [20,24]: 1*s(5)+1 Such that:s(5) =< C-D with precondition: [G=3,A>=B+1,C>=D+1] * Chain [20,23]: 1*s(5)+1 Such that:s(5) =< C-D with precondition: [G=3,A>=B+2,C>=D+1] * Chain [20,21]: 1*s(5)+1 Such that:s(5) =< C-D with precondition: [G=4,A=B+1,A=H,C=I,C=J,C>=D+1] #### Cost of chains of evalNestedMultiplebb5in_loop_cont(A,B,C,D,E,F,G): * Chain [26]: 0 with precondition: [A=3] * Chain [25]: 0 with precondition: [A=4] #### Cost of chains of evalNestedMultipleentryin(A,B,C,D,E,G): * Chain [36]: 0 with precondition: [] * Chain [35]: 1*s(50)+1 Such that:s(50) =< -C+D with precondition: [B=A+1,D>=C+1] * Chain [34]: 0 with precondition: [B>=A+1] * Chain [33]: 4*s(53)+2*s(54)+2*s(55)+1 Such that:aux(32) =< -A+B aux(33) =< -C+D s(53) =< aux(33) s(54) =< aux(32) s(55) =< aux(32) s(54) =< aux(33) with precondition: [B>=A+1,D>=C+1] * Chain [32]: 2*s(62)+0 Such that:aux(34) =< -A+B s(62) =< aux(34) with precondition: [B>=A+1,C>=D] * Chain [31]: 6*s(66)+10*s(67)+4*s(68)+1 Such that:aux(35) =< -A+B aux(36) =< -C+D s(66) =< aux(35) s(67) =< aux(36) s(68) =< aux(35) s(68) =< aux(36) with precondition: [B>=A+2,D>=C+1] * Chain [30]: 1*s(74)+0 Such that:s(74) =< -A+B with precondition: [B>=A+2,C>=D] * Chain [29]: 6*s(77)+7*s(78)+3*s(79)+1 Such that:aux(37) =< -A+B aux(38) =< -C+D s(77) =< aux(37) s(78) =< aux(38) s(79) =< aux(37) s(79) =< aux(38) with precondition: [B>=A+3,D>=C+1] * Chain [28]: 2*s(87)+2*s(88)+1*s(89)+1 Such that:s(85) =< -A+B s(86) =< -C+D s(87) =< s(85) s(88) =< s(86) s(89) =< s(85) s(89) =< s(86) with precondition: [B>=A+4,D>=C+1] * Chain [27]: 0 with precondition: [A>=B] #### Cost of chains of evalNestedMultiplestart(A,B,C,D,E,G): * Chain [46]: 0 with precondition: [] * Chain [45]: 1*s(90)+1 Such that:s(90) =< -C+D with precondition: [B=A+1,D>=C+1] * Chain [44]: 0 with precondition: [B>=A+1] * Chain [43]: 4*s(93)+2*s(94)+2*s(95)+1 Such that:s(91) =< -A+B s(92) =< -C+D s(93) =< s(92) s(94) =< s(91) s(95) =< s(91) s(94) =< s(92) with precondition: [B>=A+1,D>=C+1] * Chain [42]: 2*s(97)+0 Such that:s(96) =< -A+B s(97) =< s(96) with precondition: [B>=A+1,C>=D] * Chain [41]: 6*s(100)+10*s(101)+4*s(102)+1 Such that:s(98) =< -A+B s(99) =< -C+D s(100) =< s(98) s(101) =< s(99) s(102) =< s(98) s(102) =< s(99) with precondition: [B>=A+2,D>=C+1] * Chain [40]: 1*s(103)+0 Such that:s(103) =< -A+B with precondition: [B>=A+2,C>=D] * Chain [39]: 6*s(106)+7*s(107)+3*s(108)+1 Such that:s(104) =< -A+B s(105) =< -C+D s(106) =< s(104) s(107) =< s(105) s(108) =< s(104) s(108) =< s(105) with precondition: [B>=A+3,D>=C+1] * Chain [38]: 2*s(111)+2*s(112)+1*s(113)+1 Such that:s(109) =< -A+B s(110) =< -C+D s(111) =< s(109) s(112) =< s(110) s(113) =< s(109) s(113) =< s(110) with precondition: [B>=A+4,D>=C+1] * Chain [37]: 0 with precondition: [A>=B] Closed-form bounds of evalNestedMultiplestart(A,B,C,D,E,G): ------------------------------------- * Chain [46] with precondition: [] - Upper bound: 0 - Complexity: constant * Chain [45] with precondition: [B=A+1,D>=C+1] - Upper bound: -C+D+1 - Complexity: n * Chain [44] with precondition: [B>=A+1] - Upper bound: 0 - Complexity: constant * Chain [43] with precondition: [B>=A+1,D>=C+1] - Upper bound: -4*A+4*B-4*C+4*D+1 - Complexity: n * Chain [42] with precondition: [B>=A+1,C>=D] - Upper bound: -2*A+2*B - Complexity: n * Chain [41] with precondition: [B>=A+2,D>=C+1] - Upper bound: -10*A+10*B-10*C+10*D+1 - Complexity: n * Chain [40] with precondition: [B>=A+2,C>=D] - Upper bound: -A+B - Complexity: n * Chain [39] with precondition: [B>=A+3,D>=C+1] - Upper bound: -9*A+9*B-7*C+7*D+1 - Complexity: n * Chain [38] with precondition: [B>=A+4,D>=C+1] - Upper bound: -3*A+3*B-2*C+2*D+1 - Complexity: n * Chain [37] with precondition: [A>=B] - Upper bound: 0 - Complexity: constant ### Maximum cost of evalNestedMultiplestart(A,B,C,D,E,G): max([nat(-C+D)+1,nat(-C+D)*3+nat(-A+B)*5+(nat(-C+D)*3+nat(-A+B))+(nat(-C+D)*2+nat(-A+B))+(nat(-A+B)+1+nat(-C+D)*2)+nat(-A+B)+nat(-A+B)]) Asymptotic class: n * Total analysis performed in 583 ms.