Initial Problem

Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4
Temp_Vars:
Locations: l0, l1, l2
Transitions:
0:l0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4)
1:l1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l1(Arg_0+Arg_1,Arg_1+Arg_2,Arg_2-1,Arg_3,Arg_4):|:1<=Arg_0
2:l1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l2(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:Arg_0<=0
3:l2(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l2(Arg_0,Arg_1,Arg_2,Arg_3+Arg_4,Arg_4-1):|:1<=Arg_3

Preprocessing

Found invariant Arg_0<=0 for location l2

Problem after Preprocessing

Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4
Temp_Vars:
Locations: l0, l1, l2
Transitions:
0:l0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4)
1:l1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l1(Arg_0+Arg_1,Arg_1+Arg_2,Arg_2-1,Arg_3,Arg_4):|:1<=Arg_0
2:l1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l2(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:Arg_0<=0
3:l2(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l2(Arg_0,Arg_1,Arg_2,Arg_3+Arg_4,Arg_4-1):|:Arg_0<=0 && 1<=Arg_3

MPRF for transition 1:l1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l1(Arg_0+Arg_1,Arg_1+Arg_2,Arg_2-1,Arg_3,Arg_4):|:1<=Arg_0 of depth 3:

new bound:

27*Arg_0+27*Arg_1+27*Arg_2+55 {O(n)}

MPRF:

l1 [Arg_2+1 ; Arg_1+1 ; Arg_0 ]

MPRF for transition 3:l2(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> l2(Arg_0,Arg_1,Arg_2,Arg_3+Arg_4,Arg_4-1):|:Arg_0<=0 && 1<=Arg_3 of depth 2:

new bound:

16*Arg_3+16*Arg_4+9 {O(n)}

MPRF:

l2 [Arg_4+1 ; Arg_3 ]

All Bounds

Timebounds

Overall timebound:16*Arg_3+16*Arg_4+27*Arg_0+27*Arg_1+27*Arg_2+66 {O(n)}
0: l0->l1: 1 {O(1)}
1: l1->l1: 27*Arg_0+27*Arg_1+27*Arg_2+55 {O(n)}
2: l1->l2: 1 {O(1)}
3: l2->l2: 16*Arg_3+16*Arg_4+9 {O(n)}

Costbounds

Overall costbound: 16*Arg_3+16*Arg_4+27*Arg_0+27*Arg_1+27*Arg_2+66 {O(n)}
0: l0->l1: 1 {O(1)}
1: l1->l1: 27*Arg_0+27*Arg_1+27*Arg_2+55 {O(n)}
2: l1->l2: 1 {O(1)}
3: l2->l2: 16*Arg_3+16*Arg_4+9 {O(n)}

Sizebounds

0: l0->l1, Arg_0: Arg_0 {O(n)}
0: l0->l1, Arg_1: Arg_1 {O(n)}
0: l0->l1, Arg_2: Arg_2 {O(n)}
0: l0->l1, Arg_3: Arg_3 {O(n)}
0: l0->l1, Arg_4: Arg_4 {O(n)}
1: l1->l1, Arg_0: 121014*Arg_0*Arg_1*Arg_2+19683*Arg_0*Arg_0*Arg_0+19683*Arg_1*Arg_1*Arg_1+21141*Arg_2*Arg_2*Arg_2+59049*Arg_0*Arg_0*Arg_1+59049*Arg_0*Arg_1*Arg_1+60507*Arg_0*Arg_0*Arg_2+60507*Arg_1*Arg_1*Arg_2+61965*Arg_0*Arg_2*Arg_2+61965*Arg_1*Arg_2*Arg_2+121743*Arg_0*Arg_0+121797*Arg_1*Arg_1+127791*Arg_2*Arg_2+243540*Arg_0*Arg_1+249534*Arg_0*Arg_2+249588*Arg_1*Arg_2+250993*Arg_0+251104*Arg_1+257264*Arg_2+172480 {O(n^3)}
1: l1->l1, Arg_1: 1458*Arg_0*Arg_1+1512*Arg_0*Arg_2+1512*Arg_1*Arg_2+729*Arg_0*Arg_0+729*Arg_1*Arg_1+783*Arg_2*Arg_2+2997*Arg_0+2998*Arg_1+3109*Arg_2+3080 {O(n^2)}
1: l1->l1, Arg_2: 27*Arg_0+27*Arg_1+28*Arg_2+55 {O(n)}
1: l1->l1, Arg_3: Arg_3 {O(n)}
1: l1->l1, Arg_4: Arg_4 {O(n)}
2: l1->l2, Arg_0: 121014*Arg_0*Arg_1*Arg_2+19683*Arg_0*Arg_0*Arg_0+19683*Arg_1*Arg_1*Arg_1+21141*Arg_2*Arg_2*Arg_2+59049*Arg_0*Arg_0*Arg_1+59049*Arg_0*Arg_1*Arg_1+60507*Arg_0*Arg_0*Arg_2+60507*Arg_1*Arg_1*Arg_2+61965*Arg_0*Arg_2*Arg_2+61965*Arg_1*Arg_2*Arg_2+121743*Arg_0*Arg_0+121797*Arg_1*Arg_1+127791*Arg_2*Arg_2+243540*Arg_0*Arg_1+249534*Arg_0*Arg_2+249588*Arg_1*Arg_2+250994*Arg_0+251104*Arg_1+257264*Arg_2+172480 {O(n^3)}
2: l1->l2, Arg_1: 1458*Arg_0*Arg_1+1512*Arg_0*Arg_2+1512*Arg_1*Arg_2+729*Arg_0*Arg_0+729*Arg_1*Arg_1+783*Arg_2*Arg_2+2997*Arg_0+2999*Arg_1+3109*Arg_2+3080 {O(n^2)}
2: l1->l2, Arg_2: 27*Arg_0+27*Arg_1+29*Arg_2+55 {O(n)}
2: l1->l2, Arg_3: 2*Arg_3 {O(n)}
2: l1->l2, Arg_4: 2*Arg_4 {O(n)}
3: l2->l2, Arg_0: 121014*Arg_0*Arg_1*Arg_2+19683*Arg_0*Arg_0*Arg_0+19683*Arg_1*Arg_1*Arg_1+21141*Arg_2*Arg_2*Arg_2+59049*Arg_0*Arg_0*Arg_1+59049*Arg_0*Arg_1*Arg_1+60507*Arg_0*Arg_0*Arg_2+60507*Arg_1*Arg_1*Arg_2+61965*Arg_0*Arg_2*Arg_2+61965*Arg_1*Arg_2*Arg_2+121743*Arg_0*Arg_0+121797*Arg_1*Arg_1+127791*Arg_2*Arg_2+243540*Arg_0*Arg_1+249534*Arg_0*Arg_2+249588*Arg_1*Arg_2+250994*Arg_0+251104*Arg_1+257264*Arg_2+172480 {O(n^3)}
3: l2->l2, Arg_1: 1458*Arg_0*Arg_1+1512*Arg_0*Arg_2+1512*Arg_1*Arg_2+729*Arg_0*Arg_0+729*Arg_1*Arg_1+783*Arg_2*Arg_2+2997*Arg_0+2999*Arg_1+3109*Arg_2+3080 {O(n^2)}
3: l2->l2, Arg_2: 27*Arg_0+27*Arg_1+29*Arg_2+55 {O(n)}
3: l2->l2, Arg_3: 256*Arg_3*Arg_3+320*Arg_4*Arg_4+576*Arg_3*Arg_4+306*Arg_3+344*Arg_4+90 {O(n^2)}
3: l2->l2, Arg_4: 16*Arg_3+18*Arg_4+9 {O(n)}