Initial Problem

Start: n_f2
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: B_P, C_P, NoDet0
Locations: n_f1___1, n_f1___2, n_f1___3, n_f1___7, n_f2, n_f300___4, n_f300___5, n_f300___6, n_f300___8
Transitions:
0:n_f2(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___8(Arg_0,Arg_1,Arg_2,Arg_3)
1:n_f300___4(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f1___1(Arg_0,B_P,Arg_2,NoDet0):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
2:n_f300___4(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___4(Arg_0,Arg_1-1,0,Arg_3):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1+Arg_0<=Arg_1
3:n_f300___4(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___5(Arg_0+1,Arg_1,C_P,Arg_3):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1+Arg_0<=Arg_1 && 1+C_P<=0
4:n_f300___4(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___6(Arg_0+1,B_P,C_P,Arg_3):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1
5:n_f300___5(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f1___2(Arg_0,B_P,Arg_2,NoDet0):|:Arg_0<=Arg_1 && 1+Arg_2<=0 && B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
6:n_f300___5(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___4(Arg_0,Arg_1-1,0,Arg_3):|:Arg_0<=Arg_1 && 1+Arg_2<=0 && 1+Arg_0<=Arg_1
7:n_f300___5(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___5(Arg_0+1,Arg_1,C_P,Arg_3):|:Arg_0<=Arg_1 && 1+Arg_2<=0 && 1+Arg_0<=Arg_1 && 1+C_P<=0
8:n_f300___5(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___6(Arg_0+1,B_P,C_P,Arg_3):|:Arg_0<=Arg_1 && 1+Arg_2<=0 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1
9:n_f300___6(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f1___3(Arg_0,B_P,Arg_2,NoDet0):|:Arg_0<=Arg_1 && 1<=Arg_2 && B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
10:n_f300___6(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___4(Arg_0,Arg_1-1,0,Arg_3):|:Arg_0<=Arg_1 && 1<=Arg_2 && 1+Arg_0<=Arg_1
11:n_f300___6(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___5(Arg_0+1,Arg_1,C_P,Arg_3):|:Arg_0<=Arg_1 && 1<=Arg_2 && 1+Arg_0<=Arg_1 && 1+C_P<=0
12:n_f300___6(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___6(Arg_0+1,B_P,C_P,Arg_3):|:Arg_0<=Arg_1 && 1<=Arg_2 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1
13:n_f300___8(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f1___7(Arg_0,B_P,Arg_2,NoDet0):|:B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
14:n_f300___8(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___4(Arg_0,Arg_1-1,0,Arg_3):|:1+Arg_0<=Arg_1
15:n_f300___8(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___5(Arg_0+1,Arg_1,C_P,Arg_3):|:1+Arg_0<=Arg_1 && 1+C_P<=0
16:n_f300___8(Arg_0,Arg_1,Arg_2,Arg_3) -> n_f300___6(Arg_0+1,B_P,C_P,Arg_3):|:1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1

Preprocessing

Eliminate variables {NoDet0,Arg_3} that do not contribute to the problem

Found invariant 1+Arg_2<=0 && Arg_1<=Arg_0 && Arg_0<=Arg_1 for location n_f1___2

Found invariant 1<=Arg_2 && Arg_1<=Arg_0 && Arg_0<=Arg_1 for location n_f1___3

Found invariant 1+Arg_2<=0 && Arg_0<=Arg_1 for location n_f300___5

Found invariant Arg_1<=Arg_0 for location n_f1___7

Found invariant 1<=Arg_2 && Arg_0<=Arg_1 for location n_f300___6

Found invariant Arg_2<=0 && 0<=Arg_2 && Arg_1<=Arg_0 && Arg_0<=Arg_1 for location n_f1___1

Found invariant Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 for location n_f300___4

Problem after Preprocessing

Start: n_f2
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars: B_P, C_P
Locations: n_f1___1, n_f1___2, n_f1___3, n_f1___7, n_f2, n_f300___4, n_f300___5, n_f300___6, n_f300___8
Transitions:
34:n_f2(Arg_0,Arg_1,Arg_2) -> n_f300___8(Arg_0,Arg_1,Arg_2)
35:n_f300___4(Arg_0,Arg_1,Arg_2) -> n_f1___1(Arg_0,B_P,Arg_2):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
36:n_f300___4(Arg_0,Arg_1,Arg_2) -> n_f300___4(Arg_0,Arg_1-1,0):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1+Arg_0<=Arg_1
37:n_f300___4(Arg_0,Arg_1,Arg_2) -> n_f300___5(Arg_0+1,Arg_1,C_P):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1+Arg_0<=Arg_1 && 1+C_P<=0
38:n_f300___4(Arg_0,Arg_1,Arg_2) -> n_f300___6(Arg_0+1,B_P,C_P):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1
39:n_f300___5(Arg_0,Arg_1,Arg_2) -> n_f1___2(Arg_0,B_P,Arg_2):|:1+Arg_2<=0 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1+Arg_2<=0 && B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
40:n_f300___5(Arg_0,Arg_1,Arg_2) -> n_f300___4(Arg_0,Arg_1-1,0):|:1+Arg_2<=0 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1+Arg_2<=0 && 1+Arg_0<=Arg_1
41:n_f300___5(Arg_0,Arg_1,Arg_2) -> n_f300___5(Arg_0+1,Arg_1,C_P):|:1+Arg_2<=0 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1+Arg_2<=0 && 1+Arg_0<=Arg_1 && 1+C_P<=0
42:n_f300___5(Arg_0,Arg_1,Arg_2) -> n_f300___6(Arg_0+1,B_P,C_P):|:1+Arg_2<=0 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1+Arg_2<=0 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1
43:n_f300___6(Arg_0,Arg_1,Arg_2) -> n_f1___3(Arg_0,B_P,Arg_2):|:1<=Arg_2 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1<=Arg_2 && B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
44:n_f300___6(Arg_0,Arg_1,Arg_2) -> n_f300___4(Arg_0,Arg_1-1,0):|:1<=Arg_2 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1<=Arg_2 && 1+Arg_0<=Arg_1
45:n_f300___6(Arg_0,Arg_1,Arg_2) -> n_f300___5(Arg_0+1,Arg_1,C_P):|:1<=Arg_2 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1<=Arg_2 && 1+Arg_0<=Arg_1 && 1+C_P<=0
46:n_f300___6(Arg_0,Arg_1,Arg_2) -> n_f300___6(Arg_0+1,B_P,C_P):|:1<=Arg_2 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1<=Arg_2 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1
47:n_f300___8(Arg_0,Arg_1,Arg_2) -> n_f1___7(Arg_0,B_P,Arg_2):|:B_P<=Arg_0 && Arg_1<=B_P && B_P<=Arg_1
48:n_f300___8(Arg_0,Arg_1,Arg_2) -> n_f300___4(Arg_0,Arg_1-1,0):|:1+Arg_0<=Arg_1
49:n_f300___8(Arg_0,Arg_1,Arg_2) -> n_f300___5(Arg_0+1,Arg_1,C_P):|:1+Arg_0<=Arg_1 && 1+C_P<=0
50:n_f300___8(Arg_0,Arg_1,Arg_2) -> n_f300___6(Arg_0+1,B_P,C_P):|:1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1

MPRF for transition 36:n_f300___4(Arg_0,Arg_1,Arg_2) -> n_f300___4(Arg_0,Arg_1-1,0):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1+Arg_0<=Arg_1 of depth 1:

new bound:

3*Arg_0+3*Arg_1+4 {O(n)}

MPRF:

n_f300___4 [Arg_1+1-Arg_0 ]
n_f300___5 [Arg_1-Arg_0 ]
n_f300___6 [Arg_1-Arg_0 ]

MPRF for transition 37:n_f300___4(Arg_0,Arg_1,Arg_2) -> n_f300___5(Arg_0+1,Arg_1,C_P):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1+Arg_0<=Arg_1 && 1+C_P<=0 of depth 1:

new bound:

3*Arg_0+3*Arg_1+4 {O(n)}

MPRF:

n_f300___4 [Arg_1+1-Arg_0 ]
n_f300___5 [Arg_1-Arg_0 ]
n_f300___6 [Arg_1-Arg_0 ]

MPRF for transition 38:n_f300___4(Arg_0,Arg_1,Arg_2) -> n_f300___6(Arg_0+1,B_P,C_P):|:Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_1 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1 of depth 1:

new bound:

3*Arg_0+3*Arg_1+5 {O(n)}

MPRF:

n_f300___4 [Arg_1+1-Arg_0 ]
n_f300___5 [Arg_1+1-Arg_0 ]
n_f300___6 [Arg_1-Arg_0 ]

MPRF for transition 40:n_f300___5(Arg_0,Arg_1,Arg_2) -> n_f300___4(Arg_0,Arg_1-1,0):|:1+Arg_2<=0 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1+Arg_2<=0 && 1+Arg_0<=Arg_1 of depth 1:

new bound:

3*Arg_0+3*Arg_1+4 {O(n)}

MPRF:

n_f300___4 [Arg_1-Arg_0 ]
n_f300___5 [Arg_1+1-Arg_0 ]
n_f300___6 [Arg_1-Arg_0 ]

MPRF for transition 41:n_f300___5(Arg_0,Arg_1,Arg_2) -> n_f300___5(Arg_0+1,Arg_1,C_P):|:1+Arg_2<=0 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1+Arg_2<=0 && 1+Arg_0<=Arg_1 && 1+C_P<=0 of depth 1:

new bound:

3*Arg_0+3*Arg_1+4 {O(n)}

MPRF:

n_f300___4 [Arg_1-Arg_0 ]
n_f300___5 [Arg_1+1-Arg_0 ]
n_f300___6 [Arg_1-Arg_0 ]

MPRF for transition 42:n_f300___5(Arg_0,Arg_1,Arg_2) -> n_f300___6(Arg_0+1,B_P,C_P):|:1+Arg_2<=0 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1+Arg_2<=0 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1 of depth 1:

new bound:

6*Arg_0+6*Arg_1+9 {O(n)}

MPRF:

n_f300___4 [2*Arg_1-2*Arg_0-1 ]
n_f300___5 [2*Arg_1+1-2*Arg_0 ]
n_f300___6 [2*Arg_1-2*Arg_0-1 ]

MPRF for transition 44:n_f300___6(Arg_0,Arg_1,Arg_2) -> n_f300___4(Arg_0,Arg_1-1,0):|:1<=Arg_2 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1<=Arg_2 && 1+Arg_0<=Arg_1 of depth 1:

new bound:

3*Arg_0+3*Arg_1+4 {O(n)}

MPRF:

n_f300___4 [Arg_1-Arg_0 ]
n_f300___5 [Arg_1-Arg_0 ]
n_f300___6 [Arg_1+1-Arg_0 ]

MPRF for transition 45:n_f300___6(Arg_0,Arg_1,Arg_2) -> n_f300___5(Arg_0+1,Arg_1,C_P):|:1<=Arg_2 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1<=Arg_2 && 1+Arg_0<=Arg_1 && 1+C_P<=0 of depth 1:

new bound:

3*Arg_0+3*Arg_1+7 {O(n)}

MPRF:

n_f300___4 [Arg_1+1-Arg_0 ]
n_f300___5 [Arg_1+1-Arg_0 ]
n_f300___6 [Arg_1+2-Arg_0 ]

MPRF for transition 46:n_f300___6(Arg_0,Arg_1,Arg_2) -> n_f300___6(Arg_0+1,B_P,C_P):|:1<=Arg_2 && Arg_0<=Arg_1 && Arg_0<=Arg_1 && 1<=Arg_2 && 1<=C_P && 1+Arg_0<=B_P && Arg_1<=B_P && B_P<=Arg_1 of depth 1:

new bound:

3*Arg_0+3*Arg_1+4 {O(n)}

MPRF:

n_f300___4 [Arg_1-Arg_0 ]
n_f300___5 [Arg_1-Arg_0 ]
n_f300___6 [Arg_1+1-Arg_0 ]

All Bounds

Timebounds

Overall timebound:30*Arg_0+30*Arg_1+53 {O(n)}
34: n_f2->n_f300___8: 1 {O(1)}
35: n_f300___4->n_f1___1: 1 {O(1)}
36: n_f300___4->n_f300___4: 3*Arg_0+3*Arg_1+4 {O(n)}
37: n_f300___4->n_f300___5: 3*Arg_0+3*Arg_1+4 {O(n)}
38: n_f300___4->n_f300___6: 3*Arg_0+3*Arg_1+5 {O(n)}
39: n_f300___5->n_f1___2: 1 {O(1)}
40: n_f300___5->n_f300___4: 3*Arg_0+3*Arg_1+4 {O(n)}
41: n_f300___5->n_f300___5: 3*Arg_0+3*Arg_1+4 {O(n)}
42: n_f300___5->n_f300___6: 6*Arg_0+6*Arg_1+9 {O(n)}
43: n_f300___6->n_f1___3: 1 {O(1)}
44: n_f300___6->n_f300___4: 3*Arg_0+3*Arg_1+4 {O(n)}
45: n_f300___6->n_f300___5: 3*Arg_0+3*Arg_1+7 {O(n)}
46: n_f300___6->n_f300___6: 3*Arg_0+3*Arg_1+4 {O(n)}
47: n_f300___8->n_f1___7: 1 {O(1)}
48: n_f300___8->n_f300___4: 1 {O(1)}
49: n_f300___8->n_f300___5: 1 {O(1)}
50: n_f300___8->n_f300___6: 1 {O(1)}

Costbounds

Overall costbound: 30*Arg_0+30*Arg_1+53 {O(n)}
34: n_f2->n_f300___8: 1 {O(1)}
35: n_f300___4->n_f1___1: 1 {O(1)}
36: n_f300___4->n_f300___4: 3*Arg_0+3*Arg_1+4 {O(n)}
37: n_f300___4->n_f300___5: 3*Arg_0+3*Arg_1+4 {O(n)}
38: n_f300___4->n_f300___6: 3*Arg_0+3*Arg_1+5 {O(n)}
39: n_f300___5->n_f1___2: 1 {O(1)}
40: n_f300___5->n_f300___4: 3*Arg_0+3*Arg_1+4 {O(n)}
41: n_f300___5->n_f300___5: 3*Arg_0+3*Arg_1+4 {O(n)}
42: n_f300___5->n_f300___6: 6*Arg_0+6*Arg_1+9 {O(n)}
43: n_f300___6->n_f1___3: 1 {O(1)}
44: n_f300___6->n_f300___4: 3*Arg_0+3*Arg_1+4 {O(n)}
45: n_f300___6->n_f300___5: 3*Arg_0+3*Arg_1+7 {O(n)}
46: n_f300___6->n_f300___6: 3*Arg_0+3*Arg_1+4 {O(n)}
47: n_f300___8->n_f1___7: 1 {O(1)}
48: n_f300___8->n_f300___4: 1 {O(1)}
49: n_f300___8->n_f300___5: 1 {O(1)}
50: n_f300___8->n_f300___6: 1 {O(1)}

Sizebounds

34: n_f2->n_f300___8, Arg_0: Arg_0 {O(n)}
34: n_f2->n_f300___8, Arg_1: Arg_1 {O(n)}
34: n_f2->n_f300___8, Arg_2: Arg_2 {O(n)}
35: n_f300___4->n_f1___1, Arg_0: 63*Arg_1+91*Arg_0+117 {O(n)}
35: n_f300___4->n_f1___1, Arg_1: 27*Arg_0+55*Arg_1+46 {O(n)}
35: n_f300___4->n_f1___1, Arg_2: 0 {O(1)}
36: n_f300___4->n_f300___4, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
36: n_f300___4->n_f300___4, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
36: n_f300___4->n_f300___4, Arg_2: 0 {O(1)}
37: n_f300___4->n_f300___5, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
37: n_f300___4->n_f300___5, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
38: n_f300___4->n_f300___6, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
38: n_f300___4->n_f300___6, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
39: n_f300___5->n_f1___2, Arg_0: 63*Arg_1+91*Arg_0+118 {O(n)}
39: n_f300___5->n_f1___2, Arg_1: 27*Arg_0+55*Arg_1+45 {O(n)}
40: n_f300___5->n_f300___4, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
40: n_f300___5->n_f300___4, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
40: n_f300___5->n_f300___4, Arg_2: 0 {O(1)}
41: n_f300___5->n_f300___5, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
41: n_f300___5->n_f300___5, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
42: n_f300___5->n_f300___6, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
42: n_f300___5->n_f300___6, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
43: n_f300___6->n_f1___3, Arg_0: 63*Arg_1+91*Arg_0+118 {O(n)}
43: n_f300___6->n_f1___3, Arg_1: 27*Arg_0+55*Arg_1+45 {O(n)}
44: n_f300___6->n_f300___4, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
44: n_f300___6->n_f300___4, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
44: n_f300___6->n_f300___4, Arg_2: 0 {O(1)}
45: n_f300___6->n_f300___5, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
45: n_f300___6->n_f300___5, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
46: n_f300___6->n_f300___6, Arg_0: 21*Arg_1+30*Arg_0+39 {O(n)}
46: n_f300___6->n_f300___6, Arg_1: 18*Arg_1+9*Arg_0+15 {O(n)}
47: n_f300___8->n_f1___7, Arg_0: Arg_0 {O(n)}
47: n_f300___8->n_f1___7, Arg_1: Arg_1 {O(n)}
47: n_f300___8->n_f1___7, Arg_2: Arg_2 {O(n)}
48: n_f300___8->n_f300___4, Arg_0: Arg_0 {O(n)}
48: n_f300___8->n_f300___4, Arg_1: Arg_1+1 {O(n)}
48: n_f300___8->n_f300___4, Arg_2: 0 {O(1)}
49: n_f300___8->n_f300___5, Arg_0: Arg_0+1 {O(n)}
49: n_f300___8->n_f300___5, Arg_1: Arg_1 {O(n)}
50: n_f300___8->n_f300___6, Arg_0: Arg_0+1 {O(n)}
50: n_f300___8->n_f300___6, Arg_1: Arg_1 {O(n)}