Start: f6
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars: D
Locations: f0, f3, f4, f5, f6, f7
Transitions:
0:f0(Arg_0,Arg_1,Arg_2) -> f3(-Arg_0,Arg_1,Arg_2)
4:f3(Arg_0,Arg_1,Arg_2) -> f4(-1-Arg_0,Arg_1,1):|:Arg_0+1<=0 && Arg_2<=0
5:f3(Arg_0,Arg_1,Arg_2) -> f4(-1-Arg_0,Arg_1,1):|:Arg_0+1<=0 && 2<=Arg_2
6:f3(Arg_0,Arg_1,Arg_2) -> f4(-1-Arg_0,Arg_1,1):|:1<=Arg_0 && Arg_2<=0
7:f3(Arg_0,Arg_1,Arg_2) -> f4(-1-Arg_0,Arg_1,1):|:1<=Arg_0 && 2<=Arg_2
1:f3(Arg_0,Arg_1,Arg_2) -> f7(0,D,Arg_2):|:Arg_0<=0 && 0<=Arg_0
8:f4(Arg_0,Arg_1,Arg_2) -> f3(1-Arg_0,Arg_1,0):|:Arg_0+1<=0 && Arg_2<=1 && 1<=Arg_2
9:f4(Arg_0,Arg_1,Arg_2) -> f3(1-Arg_0,Arg_1,0):|:1<=Arg_0 && Arg_2<=1 && 1<=Arg_2
2:f4(Arg_0,Arg_1,Arg_2) -> f7(0,D,Arg_2):|:Arg_0<=0 && 0<=Arg_0
10:f5(Arg_0,Arg_1,Arg_2) -> f3(1-Arg_0,Arg_1,0):|:Arg_0+1<=0 && Arg_2<=1 && 1<=Arg_2
11:f5(Arg_0,Arg_1,Arg_2) -> f3(1-Arg_0,Arg_1,0):|:1<=Arg_0 && Arg_2<=1 && 1<=Arg_2
3:f6(Arg_0,Arg_1,Arg_2) -> f4(Arg_0,Arg_1,1):|:1<=Arg_0
Cut unreachable locations [f0; f5] from the program graph
Cut unsatisfiable transition 5: f3->f4
Cut unsatisfiable transition 7: f3->f4
Eliminate variables {D,Arg_1} that do not contribute to the problem
Found invariant Arg_2<=0 && Arg_0+Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_2 && Arg_0<=0 for location f3
Found invariant Arg_2<=1 && Arg_2<=1+Arg_0 && Arg_0+Arg_2<=1 && 0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && Arg_0<=0 && 0<=Arg_0 for location f7
Found invariant Arg_2<=1 && Arg_2<=1+Arg_0 && 1<=Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_0 for location f4
Cut unsatisfiable transition 30: f3->f4
Cut unsatisfiable transition 32: f4->f3
Start: f6
Program_Vars: Arg_0, Arg_2
Temp_Vars:
Locations: f3, f4, f6, f7
Transitions:
29:f3(Arg_0,Arg_2) -> f4(-1-Arg_0,1):|:Arg_2<=0 && Arg_0+Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_2 && Arg_0<=0 && Arg_0+1<=0 && Arg_2<=0
28:f3(Arg_0,Arg_2) -> f7(0,Arg_2):|:Arg_2<=0 && Arg_0+Arg_2<=0 && 0<=Arg_2 && Arg_0<=Arg_2 && Arg_0<=0 && Arg_0<=0 && 0<=Arg_0
33:f4(Arg_0,Arg_2) -> f3(1-Arg_0,0):|:Arg_2<=1 && Arg_2<=1+Arg_0 && 1<=Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_0 && 1<=Arg_0 && Arg_2<=1 && 1<=Arg_2
31:f4(Arg_0,Arg_2) -> f7(0,Arg_2):|:Arg_2<=1 && Arg_2<=1+Arg_0 && 1<=Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_0 && Arg_0<=0 && 0<=Arg_0
34:f6(Arg_0,Arg_2) -> f4(Arg_0,1):|:1<=Arg_0
new bound:
Arg_0 {O(n)}
MPRF:
f4 [Arg_0 ]
f3 [1-Arg_0 ]
new bound:
Arg_0+1 {O(n)}
MPRF:
f4 [Arg_0+1 ]
f3 [-Arg_0 ]
Overall timebound:2*Arg_0+4 {O(n)}
28: f3->f7: 1 {O(1)}
29: f3->f4: Arg_0 {O(n)}
31: f4->f7: 1 {O(1)}
33: f4->f3: Arg_0+1 {O(n)}
34: f6->f4: 1 {O(1)}
Overall costbound: 2*Arg_0+4 {O(n)}
28: f3->f7: 1 {O(1)}
29: f3->f4: Arg_0 {O(n)}
31: f4->f7: 1 {O(1)}
33: f4->f3: Arg_0+1 {O(n)}
34: f6->f4: 1 {O(1)}
28: f3->f7, Arg_0: 0 {O(1)}
28: f3->f7, Arg_2: 0 {O(1)}
29: f3->f4, Arg_0: Arg_0 {O(n)}
29: f3->f4, Arg_2: 1 {O(1)}
31: f4->f7, Arg_0: 0 {O(1)}
31: f4->f7, Arg_2: 1 {O(1)}
33: f4->f3, Arg_0: Arg_0 {O(n)}
33: f4->f3, Arg_2: 0 {O(1)}
34: f6->f4, Arg_0: Arg_0 {O(n)}
34: f6->f4, Arg_2: 1 {O(1)}