Initial Problem

Start: n_l0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars:
Locations: n_l0, n_l1___1, n_l1___2, n_l1___3
Transitions:
0:n_l0(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___3(Arg_0,Arg_1,Arg_2,Arg_3)
1:n_l1___1(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___1(2*Arg_0+Arg_1,Arg_2,Arg_2+1,Arg_3):|:0<=Arg_0+Arg_1 && 1+Arg_1<=Arg_2 && Arg_2<=1+Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_3
2:n_l1___2(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___1(2*Arg_0+Arg_1,Arg_2,Arg_2+1,Arg_3):|:1+Arg_1<=Arg_2 && Arg_2<=1+Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_3
3:n_l1___3(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___2(2*Arg_0+Arg_1,Arg_2,Arg_2+1,Arg_3):|:0<=Arg_0+Arg_1 && Arg_0<=Arg_3

Preprocessing

Found invariant Arg_2<=1+Arg_1 && 1+Arg_1<=Arg_2 for location n_l1___2

Found invariant 2<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && Arg_2<=1+Arg_1 && 1+Arg_1<=Arg_2 for location n_l1___1

Problem after Preprocessing

Start: n_l0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars:
Locations: n_l0, n_l1___1, n_l1___2, n_l1___3
Transitions:
0:n_l0(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___3(Arg_0,Arg_1,Arg_2,Arg_3)
1:n_l1___1(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___1(2*Arg_0+Arg_1,Arg_2,Arg_2+1,Arg_3):|:2<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && Arg_2<=1+Arg_1 && 1+Arg_1<=Arg_2 && 0<=Arg_0+Arg_1 && 1+Arg_1<=Arg_2 && Arg_2<=1+Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_3
2:n_l1___2(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___1(2*Arg_0+Arg_1,Arg_2,Arg_2+1,Arg_3):|:Arg_2<=1+Arg_1 && 1+Arg_1<=Arg_2 && 1+Arg_1<=Arg_2 && Arg_2<=1+Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_3
3:n_l1___3(Arg_0,Arg_1,Arg_2,Arg_3) -> n_l1___2(2*Arg_0+Arg_1,Arg_2,Arg_2+1,Arg_3):|:0<=Arg_0+Arg_1 && Arg_0<=Arg_3

All Bounds

Timebounds

Overall timebound:inf {Infinity}
0: n_l0->n_l1___3: 1 {O(1)}
1: n_l1___1->n_l1___1: inf {Infinity}
2: n_l1___2->n_l1___1: 1 {O(1)}
3: n_l1___3->n_l1___2: 1 {O(1)}

Costbounds

Overall costbound: inf {Infinity}
0: n_l0->n_l1___3: 1 {O(1)}
1: n_l1___1->n_l1___1: inf {Infinity}
2: n_l1___2->n_l1___1: 1 {O(1)}
3: n_l1___3->n_l1___2: 1 {O(1)}

Sizebounds

0: n_l0->n_l1___3, Arg_0: Arg_0 {O(n)}
0: n_l0->n_l1___3, Arg_1: Arg_1 {O(n)}
0: n_l0->n_l1___3, Arg_2: Arg_2 {O(n)}
0: n_l0->n_l1___3, Arg_3: Arg_3 {O(n)}
1: n_l1___1->n_l1___1, Arg_3: Arg_3 {O(n)}
2: n_l1___2->n_l1___1, Arg_0: 2*Arg_2+4*Arg_0+4*Arg_1 {O(n)}
2: n_l1___2->n_l1___1, Arg_1: Arg_2+1 {O(n)}
2: n_l1___2->n_l1___1, Arg_2: Arg_2+2 {O(n)}
2: n_l1___2->n_l1___1, Arg_3: Arg_3 {O(n)}
3: n_l1___3->n_l1___2, Arg_0: 2*Arg_0+2*Arg_1 {O(n)}
3: n_l1___3->n_l1___2, Arg_1: Arg_2 {O(n)}
3: n_l1___3->n_l1___2, Arg_2: Arg_2+1 {O(n)}
3: n_l1___3->n_l1___2, Arg_3: Arg_3 {O(n)}