Initial Problem
Start: n_f0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: n_f0, n_f4___1, n_f4___2, n_f4___3, n_f4___4
Transitions:
0:n_f0(Arg_0,Arg_1,Arg_2) -> n_f4___4(0,0,Arg_2):|:1<=Arg_2
1:n_f4___1(Arg_0,Arg_1,Arg_2) -> n_f4___1(Arg_0+1,0,Arg_2):|:Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && Arg_0<=Arg_1 && 2+Arg_0<=Arg_2
2:n_f4___1(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && 1+Arg_1<=Arg_0
3:n_f4___2(Arg_0,Arg_1,Arg_2) -> n_f4___1(Arg_0+1,0,Arg_2):|:Arg_1<=Arg_0 && Arg_0<=Arg_1 && 2+Arg_0<=Arg_2
4:n_f4___2(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:Arg_1<=Arg_0 && 1+Arg_1<=Arg_0
5:n_f4___3(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:1+Arg_1<=Arg_0 && 1+Arg_1<=Arg_0 && Arg_1<=Arg_0 && Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && 1+Arg_1<=Arg_0
6:n_f4___4(Arg_0,Arg_1,Arg_2) -> n_f4___3(Arg_0+1,0,Arg_2):|:Arg_0<=Arg_1 && Arg_1<=Arg_0 && Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && Arg_1<=0 && 0<=Arg_1 && Arg_0<=0 && 0<=Arg_0 && 1<=Arg_2 && Arg_0<=Arg_1 && 2+Arg_0<=Arg_2
Preprocessing
Found invariant 3<=Arg_2 && 3<=Arg_1+Arg_2 && 3+Arg_1<=Arg_2 && 5<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=0 && 2+Arg_1<=Arg_0 && 0<=Arg_1 && 2<=Arg_0+Arg_1 && 2<=Arg_0 for location n_f4___1
Found invariant 2<=Arg_2 && 2<=Arg_1+Arg_2 && 2+Arg_1<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=0 && 1+Arg_1<=Arg_0 && Arg_0+Arg_1<=1 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && Arg_0<=1+Arg_1 && Arg_0<=1 && 1<=Arg_0 for location n_f4___3
Found invariant 2<=Arg_2 && 3<=Arg_1+Arg_2 && 1+Arg_1<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 for location n_f4___2
Found invariant 1<=Arg_2 && 1<=Arg_1+Arg_2 && 1+Arg_1<=Arg_2 && 1<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=0 && Arg_1<=Arg_0 && Arg_0+Arg_1<=0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=0 && 0<=Arg_0 for location n_f4___4
Cut unsatisfiable transition 1: n_f4___1->n_f4___1
Problem after Preprocessing
Start: n_f0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: n_f0, n_f4___1, n_f4___2, n_f4___3, n_f4___4
Transitions:
0:n_f0(Arg_0,Arg_1,Arg_2) -> n_f4___4(0,0,Arg_2):|:1<=Arg_2
2:n_f4___1(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:3<=Arg_2 && 3<=Arg_1+Arg_2 && 3+Arg_1<=Arg_2 && 5<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=0 && 2+Arg_1<=Arg_0 && 0<=Arg_1 && 2<=Arg_0+Arg_1 && 2<=Arg_0 && Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && 1+Arg_1<=Arg_0
3:n_f4___2(Arg_0,Arg_1,Arg_2) -> n_f4___1(Arg_0+1,0,Arg_2):|:2<=Arg_2 && 3<=Arg_1+Arg_2 && 1+Arg_1<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_1<=Arg_0 && Arg_0<=Arg_1 && 2+Arg_0<=Arg_2
4:n_f4___2(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:2<=Arg_2 && 3<=Arg_1+Arg_2 && 1+Arg_1<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_1<=Arg_0 && 1+Arg_1<=Arg_0
5:n_f4___3(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:2<=Arg_2 && 2<=Arg_1+Arg_2 && 2+Arg_1<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=0 && 1+Arg_1<=Arg_0 && Arg_0+Arg_1<=1 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && Arg_0<=1+Arg_1 && Arg_0<=1 && 1<=Arg_0 && 1+Arg_1<=Arg_0 && 1+Arg_1<=Arg_0 && Arg_1<=Arg_0 && Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && 1+Arg_1<=Arg_0
6:n_f4___4(Arg_0,Arg_1,Arg_2) -> n_f4___3(Arg_0+1,0,Arg_2):|:1<=Arg_2 && 1<=Arg_1+Arg_2 && 1+Arg_1<=Arg_2 && 1<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=0 && Arg_1<=Arg_0 && Arg_0+Arg_1<=0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=0 && 0<=Arg_0 && Arg_0<=Arg_1 && Arg_1<=Arg_0 && Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && Arg_1<=0 && 0<=Arg_1 && Arg_0<=0 && 0<=Arg_0 && 1<=Arg_2 && Arg_0<=Arg_1 && 2+Arg_0<=Arg_2
MPRF for transition 2:n_f4___1(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:3<=Arg_2 && 3<=Arg_1+Arg_2 && 3+Arg_1<=Arg_2 && 5<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=0 && 2+Arg_1<=Arg_0 && 0<=Arg_1 && 2<=Arg_0+Arg_1 && 2<=Arg_0 && Arg_1<=0 && 0<=Arg_1 && 1+Arg_0<=Arg_2 && 1+Arg_1<=Arg_0 of depth 1:
new bound:
Arg_2+2 {O(n)}
MPRF:
n_f4___1 [Arg_2-Arg_0 ]
n_f4___2 [Arg_2-Arg_0-1 ]
MPRF for transition 3:n_f4___2(Arg_0,Arg_1,Arg_2) -> n_f4___1(Arg_0+1,0,Arg_2):|:2<=Arg_2 && 3<=Arg_1+Arg_2 && 1+Arg_1<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_1<=Arg_0 && Arg_0<=Arg_1 && 2+Arg_0<=Arg_2 of depth 1:
new bound:
Arg_2+1 {O(n)}
MPRF:
n_f4___1 [Arg_2-Arg_0 ]
n_f4___2 [Arg_2-Arg_0 ]
MPRF for transition 4:n_f4___2(Arg_0,Arg_1,Arg_2) -> n_f4___2(Arg_0,Arg_1+1,Arg_2):|:2<=Arg_2 && 3<=Arg_1+Arg_2 && 1+Arg_1<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_1<=Arg_0 && 1+Arg_1<=Arg_0 of depth 1:
new bound:
Arg_2*Arg_2+3*Arg_2+2 {O(n^2)}
MPRF:
n_f4___1 [Arg_0 ]
n_f4___2 [Arg_0+1-Arg_1 ]
All Bounds
Timebounds
Overall timebound:Arg_2*Arg_2+5*Arg_2+8 {O(n^2)}
0: n_f0->n_f4___4: 1 {O(1)}
2: n_f4___1->n_f4___2: Arg_2+2 {O(n)}
3: n_f4___2->n_f4___1: Arg_2+1 {O(n)}
4: n_f4___2->n_f4___2: Arg_2*Arg_2+3*Arg_2+2 {O(n^2)}
5: n_f4___3->n_f4___2: 1 {O(1)}
6: n_f4___4->n_f4___3: 1 {O(1)}
Costbounds
Overall costbound: Arg_2*Arg_2+5*Arg_2+8 {O(n^2)}
0: n_f0->n_f4___4: 1 {O(1)}
2: n_f4___1->n_f4___2: Arg_2+2 {O(n)}
3: n_f4___2->n_f4___1: Arg_2+1 {O(n)}
4: n_f4___2->n_f4___2: Arg_2*Arg_2+3*Arg_2+2 {O(n^2)}
5: n_f4___3->n_f4___2: 1 {O(1)}
6: n_f4___4->n_f4___3: 1 {O(1)}
Sizebounds
0: n_f0->n_f4___4, Arg_0: 0 {O(1)}
0: n_f0->n_f4___4, Arg_1: 0 {O(1)}
0: n_f0->n_f4___4, Arg_2: Arg_2 {O(n)}
2: n_f4___1->n_f4___2, Arg_0: Arg_2+2 {O(n)}
2: n_f4___1->n_f4___2, Arg_1: 1 {O(1)}
2: n_f4___1->n_f4___2, Arg_2: Arg_2 {O(n)}
3: n_f4___2->n_f4___1, Arg_0: Arg_2+2 {O(n)}
3: n_f4___2->n_f4___1, Arg_1: 0 {O(1)}
3: n_f4___2->n_f4___1, Arg_2: Arg_2 {O(n)}
4: n_f4___2->n_f4___2, Arg_0: Arg_2+2 {O(n)}
4: n_f4___2->n_f4___2, Arg_1: Arg_2*Arg_2+3*Arg_2+3 {O(n^2)}
4: n_f4___2->n_f4___2, Arg_2: Arg_2 {O(n)}
5: n_f4___3->n_f4___2, Arg_0: 1 {O(1)}
5: n_f4___3->n_f4___2, Arg_1: 1 {O(1)}
5: n_f4___3->n_f4___2, Arg_2: Arg_2 {O(n)}
6: n_f4___4->n_f4___3, Arg_0: 1 {O(1)}
6: n_f4___4->n_f4___3, Arg_1: 0 {O(1)}
6: n_f4___4->n_f4___3, Arg_2: Arg_2 {O(n)}