Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars:
Locations: f0, f15, f19, f6
Transitions:
0:f0(Arg_0,Arg_1,Arg_2,Arg_3) -> f6(0,0,Arg_2,Arg_3)
3:f15(Arg_0,Arg_1,Arg_2,Arg_3) -> f19(Arg_2+1,Arg_1,Arg_2,1):|:Arg_0<=Arg_2+1 && Arg_2+1<=Arg_0
4:f15(Arg_0,Arg_1,Arg_2,Arg_3) -> f19(Arg_0,Arg_1,Arg_2,0):|:Arg_0<=Arg_2
5:f15(Arg_0,Arg_1,Arg_2,Arg_3) -> f19(Arg_0,Arg_1,Arg_2,0):|:2+Arg_2<=Arg_0
6:f6(Arg_0,Arg_1,Arg_2,Arg_3) -> f15(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_2<=Arg_1 && Arg_0+1<=Arg_2
7:f6(Arg_0,Arg_1,Arg_2,Arg_3) -> f15(Arg_0,Arg_1,Arg_2,Arg_3):|:1+Arg_2<=Arg_0 && Arg_2<=Arg_1
8:f6(Arg_0,Arg_1,Arg_2,Arg_3) -> f19(Arg_0,Arg_1,Arg_0,1):|:Arg_2<=Arg_1 && Arg_0<=Arg_2 && Arg_2<=Arg_0
1:f6(Arg_0,Arg_1,Arg_2,Arg_3) -> f6(Arg_0,Arg_1+1,Arg_2,Arg_3):|:Arg_1+1<=Arg_2
2:f6(Arg_0,Arg_1,Arg_2,Arg_3) -> f6(Arg_0+2,Arg_1+1,Arg_2,Arg_3):|:Arg_1+1<=Arg_2
Eliminate variables {Arg_3} that do not contribute to the problem
Found invariant Arg_2<=Arg_1 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 for location f19
Found invariant 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 for location f6
Found invariant Arg_2<=Arg_1 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 for location f15
Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: f0, f15, f19, f6
Transitions:
20:f0(Arg_0,Arg_1,Arg_2) -> f6(0,0,Arg_2)
21:f15(Arg_0,Arg_1,Arg_2) -> f19(Arg_2+1,Arg_1,Arg_2):|:Arg_2<=Arg_1 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_0<=Arg_2+1 && Arg_2+1<=Arg_0
22:f15(Arg_0,Arg_1,Arg_2) -> f19(Arg_0,Arg_1,Arg_2):|:Arg_2<=Arg_1 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_0<=Arg_2
23:f15(Arg_0,Arg_1,Arg_2) -> f19(Arg_0,Arg_1,Arg_2):|:Arg_2<=Arg_1 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 2+Arg_2<=Arg_0
26:f6(Arg_0,Arg_1,Arg_2) -> f15(Arg_0,Arg_1,Arg_2):|:0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_2<=Arg_1 && Arg_0+1<=Arg_2
27:f6(Arg_0,Arg_1,Arg_2) -> f15(Arg_0,Arg_1,Arg_2):|:0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 1+Arg_2<=Arg_0 && Arg_2<=Arg_1
28:f6(Arg_0,Arg_1,Arg_2) -> f19(Arg_0,Arg_1,Arg_0):|:0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_2<=Arg_1 && Arg_0<=Arg_2 && Arg_2<=Arg_0
24:f6(Arg_0,Arg_1,Arg_2) -> f6(Arg_0,Arg_1+1,Arg_2):|:0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_1+1<=Arg_2
25:f6(Arg_0,Arg_1,Arg_2) -> f6(Arg_0+2,Arg_1+1,Arg_2):|:0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_1+1<=Arg_2
new bound:
Arg_2 {O(n)}
MPRF:
f6 [Arg_2-Arg_1 ]
new bound:
Arg_2 {O(n)}
MPRF:
f6 [Arg_2-Arg_1 ]
Overall timebound:2*Arg_2+7 {O(n)}
20: f0->f6: 1 {O(1)}
21: f15->f19: 1 {O(1)}
22: f15->f19: 1 {O(1)}
23: f15->f19: 1 {O(1)}
24: f6->f6: Arg_2 {O(n)}
25: f6->f6: Arg_2 {O(n)}
26: f6->f15: 1 {O(1)}
27: f6->f15: 1 {O(1)}
28: f6->f19: 1 {O(1)}
Overall costbound: 2*Arg_2+7 {O(n)}
20: f0->f6: 1 {O(1)}
21: f15->f19: 1 {O(1)}
22: f15->f19: 1 {O(1)}
23: f15->f19: 1 {O(1)}
24: f6->f6: Arg_2 {O(n)}
25: f6->f6: Arg_2 {O(n)}
26: f6->f15: 1 {O(1)}
27: f6->f15: 1 {O(1)}
28: f6->f19: 1 {O(1)}
20: f0->f6, Arg_0: 0 {O(1)}
20: f0->f6, Arg_1: 0 {O(1)}
20: f0->f6, Arg_2: Arg_2 {O(n)}
21: f15->f19, Arg_0: 4*Arg_2 {O(n)}
21: f15->f19, Arg_1: 4*Arg_2 {O(n)}
21: f15->f19, Arg_2: 5*Arg_2 {O(n)}
22: f15->f19, Arg_0: 4*Arg_2 {O(n)}
22: f15->f19, Arg_1: 4*Arg_2 {O(n)}
22: f15->f19, Arg_2: 4*Arg_2 {O(n)}
23: f15->f19, Arg_0: 4*Arg_2 {O(n)}
23: f15->f19, Arg_1: 4*Arg_2 {O(n)}
23: f15->f19, Arg_2: 5*Arg_2 {O(n)}
24: f6->f6, Arg_0: 2*Arg_2 {O(n)}
24: f6->f6, Arg_1: 2*Arg_2 {O(n)}
24: f6->f6, Arg_2: 2*Arg_2 {O(n)}
25: f6->f6, Arg_0: 2*Arg_2 {O(n)}
25: f6->f6, Arg_1: 2*Arg_2 {O(n)}
25: f6->f6, Arg_2: 2*Arg_2 {O(n)}
26: f6->f15, Arg_0: 4*Arg_2 {O(n)}
26: f6->f15, Arg_1: 4*Arg_2 {O(n)}
26: f6->f15, Arg_2: 4*Arg_2 {O(n)}
27: f6->f15, Arg_0: 4*Arg_2 {O(n)}
27: f6->f15, Arg_1: 4*Arg_2 {O(n)}
27: f6->f15, Arg_2: 5*Arg_2 {O(n)}
28: f6->f19, Arg_0: 4*Arg_2 {O(n)}
28: f6->f19, Arg_1: 4*Arg_2 {O(n)}
28: f6->f19, Arg_2: 4*Arg_2 {O(n)}