Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: l0, l1
Transitions:
0:l0(Arg_0,Arg_1,Arg_2) -> l1(Arg_0,Arg_1,Arg_2)
1:l1(Arg_0,Arg_1,Arg_2) -> l1(Arg_0+1,Arg_2,Arg_2):|:Arg_0+1<=Arg_1
Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: l0, l1
Transitions:
0:l0(Arg_0,Arg_1,Arg_2) -> l1(Arg_0,Arg_1,Arg_2)
1:l1(Arg_0,Arg_1,Arg_2) -> l1(Arg_0+1,Arg_2,Arg_2):|:Arg_0+1<=Arg_1
Found invariant Arg_2<=Arg_1 && Arg_1<=Arg_2 for location n_l1___1
new bound:
Arg_0+Arg_2+1 {O(n)}
MPRF:
n_l1___1 [Arg_2-Arg_0 ]
new bound:
Arg_0+Arg_2+1 {O(n)}
cfr-program:
Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: l0, l1, n_l1___1
Transitions:
0:l0(Arg_0,Arg_1,Arg_2) -> l1(Arg_0,Arg_1,Arg_2)
16:l1(Arg_0,Arg_1,Arg_2) -> n_l1___1(Arg_0+1,Arg_2,Arg_2):|:1+Arg_0<=Arg_1
15:n_l1___1(Arg_0,Arg_1,Arg_2) -> n_l1___1(Arg_0+1,Arg_2,Arg_2):|:Arg_2<=Arg_1 && Arg_1<=Arg_2 && Arg_1<=Arg_2 && Arg_2<=Arg_1 && 1+Arg_0<=Arg_1
Overall timebound:Arg_0+Arg_2+3 {O(n)}
0: l0->l1: 1 {O(1)}
16: l1->n_l1___1: 1 {O(1)}
15: n_l1___1->n_l1___1: Arg_0+Arg_2+1 {O(n)}
Overall costbound: Arg_0+Arg_2+3 {O(n)}
0: l0->l1: 1 {O(1)}
16: l1->n_l1___1: 1 {O(1)}
15: n_l1___1->n_l1___1: Arg_0+Arg_2+1 {O(n)}
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)}
16: l1->n_l1___1, Arg_0: Arg_0+1 {O(n)}
16: l1->n_l1___1, Arg_1: Arg_2 {O(n)}
16: l1->n_l1___1, Arg_2: Arg_2 {O(n)}
15: n_l1___1->n_l1___1, Arg_0: 2*Arg_0+Arg_2+2 {O(n)}
15: n_l1___1->n_l1___1, Arg_1: Arg_2 {O(n)}
15: n_l1___1->n_l1___1, Arg_2: Arg_2 {O(n)}