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(2*Arg_0,Arg_2,Arg_2):|:1<=Arg_0 && Arg_0<=Arg_1+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(2*Arg_0,Arg_2,Arg_2):|:1<=Arg_0 && Arg_0<=Arg_1+1
Found invariant Arg_2<=Arg_1 && Arg_1<=Arg_2 && 2<=Arg_0 for location n_l1___1
new bound:
2*Arg_0+Arg_2+2 {O(n)}
MPRF:
n_l1___1 [Arg_2+2-Arg_0 ]
new bound:
2*Arg_0+Arg_2+2 {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(2*Arg_0,Arg_2,Arg_2):|:1<=Arg_0 && Arg_0<=1+Arg_1
15:n_l1___1(Arg_0,Arg_1,Arg_2) -> n_l1___1(2*Arg_0,Arg_2,Arg_2):|:Arg_2<=Arg_1 && Arg_1<=Arg_2 && 2<=Arg_0 && 1<=Arg_0 && Arg_1<=Arg_2 && Arg_2<=Arg_1 && 2<=Arg_0 && 1<=Arg_0 && Arg_0<=1+Arg_1
Overall timebound:2*Arg_0+Arg_2+4 {O(n)}
0: l0->l1: 1 {O(1)}
16: l1->n_l1___1: 1 {O(1)}
15: n_l1___1->n_l1___1: 2*Arg_0+Arg_2+2 {O(n)}
Overall costbound: 2*Arg_0+Arg_2+4 {O(n)}
0: l0->l1: 1 {O(1)}
16: l1->n_l1___1: 1 {O(1)}
15: n_l1___1->n_l1___1: 2*Arg_0+Arg_2+2 {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: 2*Arg_0 {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*2^(2*Arg_0+Arg_2+2)*Arg_0 {O(EXP)}
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)}