Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars:
Locations: l0, l1, l2
Transitions:
0:l0(Arg_0,Arg_1,Arg_2,Arg_3) -> l1(0,Arg_1,Arg_2,Arg_3)
1:l1(Arg_0,Arg_1,Arg_2,Arg_3) -> l2(Arg_0,Arg_1,0,0):|:1<=Arg_1
3:l2(Arg_0,Arg_1,Arg_2,Arg_3) -> l1(Arg_0+Arg_3,Arg_1-1,Arg_2,Arg_3):|:Arg_1<=Arg_2
2:l2(Arg_0,Arg_1,Arg_2,Arg_3) -> l2(Arg_0,Arg_1,Arg_2+1,Arg_3+Arg_2):|:Arg_2+1<=Arg_1
Eliminate variables {Arg_0,Arg_3} that do not contribute to the problem
Found invariant Arg_2<=Arg_1 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_1 for location l2
Start: l0
Program_Vars: Arg_1, Arg_2
Temp_Vars:
Locations: l0, l1, l2
Transitions:
9:l0(Arg_1,Arg_2) -> l1(Arg_1,Arg_2)
10:l1(Arg_1,Arg_2) -> l2(Arg_1,0):|:1<=Arg_1
12:l2(Arg_1,Arg_2) -> l1(Arg_1-1,Arg_2):|:Arg_2<=Arg_1 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_1 && Arg_1<=Arg_2
11:l2(Arg_1,Arg_2) -> l2(Arg_1,Arg_2+1):|:Arg_2<=Arg_1 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_1 && Arg_2+1<=Arg_1
new bound:
Arg_1 {O(n)}
MPRF:
l2 [Arg_1-1 ]
l1 [Arg_1 ]
new bound:
Arg_1 {O(n)}
MPRF:
l2 [Arg_1 ]
l1 [Arg_1 ]
new bound:
Arg_1*Arg_1+2*Arg_1+1 {O(n^2)}
MPRF:
l1 [Arg_1+1 ]
l2 [Arg_1+1-Arg_2 ]
Overall timebound:Arg_1*Arg_1+4*Arg_1+2 {O(n^2)}
9: l0->l1: 1 {O(1)}
10: l1->l2: Arg_1 {O(n)}
11: l2->l2: Arg_1*Arg_1+2*Arg_1+1 {O(n^2)}
12: l2->l1: Arg_1 {O(n)}
Overall costbound: Arg_1*Arg_1+4*Arg_1+2 {O(n^2)}
9: l0->l1: 1 {O(1)}
10: l1->l2: Arg_1 {O(n)}
11: l2->l2: Arg_1*Arg_1+2*Arg_1+1 {O(n^2)}
12: l2->l1: Arg_1 {O(n)}
9: l0->l1, Arg_1: Arg_1 {O(n)}
9: l0->l1, Arg_2: Arg_2 {O(n)}
10: l1->l2, Arg_1: Arg_1 {O(n)}
10: l1->l2, Arg_2: 0 {O(1)}
11: l2->l2, Arg_1: Arg_1 {O(n)}
11: l2->l2, Arg_2: Arg_1*Arg_1+2*Arg_1+1 {O(n^2)}
12: l2->l1, Arg_1: Arg_1 {O(n)}
12: l2->l1, Arg_2: Arg_1*Arg_1+2*Arg_1+1 {O(n^2)}