Start: f3
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: E
Locations: f1, f2, f3
Transitions:
3:f1(Arg_0,Arg_1,Arg_2,Arg_3) -> f1(0,1+Arg_1,Arg_2-1,Arg_3):|:1+Arg_1<=Arg_2 && Arg_0<=0 && 2+Arg_1<=Arg_2
1:f1(Arg_0,Arg_1,Arg_2,Arg_3) -> f2(Arg_0,Arg_1,Arg_2,E):|:Arg_2<=Arg_1
2:f1(Arg_0,Arg_1,Arg_2,Arg_3) -> f2(1,1+Arg_1,Arg_2,E):|:Arg_0<=0 && Arg_1+1<=Arg_2 && Arg_2<=Arg_1+1
0:f3(Arg_0,Arg_1,Arg_2,Arg_3) -> f1(0,Arg_1,Arg_2,Arg_3)
Eliminate variables {E,Arg_3} that do not contribute to the problem
Found invariant Arg_2<=Arg_1 && Arg_0<=1 && 0<=Arg_0 for location f2
Found invariant Arg_0<=0 && 0<=Arg_0 for location f1
Start: f3
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: f1, f2, f3
Transitions:
10:f1(Arg_0,Arg_1,Arg_2) -> f1(0,1+Arg_1,Arg_2-1):|:Arg_0<=0 && 0<=Arg_0 && 1+Arg_1<=Arg_2 && Arg_0<=0 && 2+Arg_1<=Arg_2
8:f1(Arg_0,Arg_1,Arg_2) -> f2(Arg_0,Arg_1,Arg_2):|:Arg_0<=0 && 0<=Arg_0 && Arg_2<=Arg_1
9:f1(Arg_0,Arg_1,Arg_2) -> f2(1,1+Arg_1,Arg_2):|:Arg_0<=0 && 0<=Arg_0 && Arg_0<=0 && Arg_1+1<=Arg_2 && Arg_2<=Arg_1+1
11:f3(Arg_0,Arg_1,Arg_2) -> f1(0,Arg_1,Arg_2)
new bound:
Arg_1+Arg_2 {O(n)}
MPRF:
f1 [Arg_2-Arg_1 ]
Overall timebound:Arg_1+Arg_2+3 {O(n)}
8: f1->f2: 1 {O(1)}
9: f1->f2: 1 {O(1)}
10: f1->f1: Arg_1+Arg_2 {O(n)}
11: f3->f1: 1 {O(1)}
Overall costbound: Arg_1+Arg_2+3 {O(n)}
8: f1->f2: 1 {O(1)}
9: f1->f2: 1 {O(1)}
10: f1->f1: Arg_1+Arg_2 {O(n)}
11: f3->f1: 1 {O(1)}
8: f1->f2, Arg_0: 0 {O(1)}
8: f1->f2, Arg_1: 3*Arg_1+Arg_2 {O(n)}
8: f1->f2, Arg_2: 3*Arg_2+Arg_1 {O(n)}
9: f1->f2, Arg_0: 1 {O(1)}
9: f1->f2, Arg_1: 3*Arg_1+Arg_2+2 {O(n)}
9: f1->f2, Arg_2: 3*Arg_2+Arg_1 {O(n)}
10: f1->f1, Arg_0: 0 {O(1)}
10: f1->f1, Arg_1: 2*Arg_1+Arg_2 {O(n)}
10: f1->f1, Arg_2: 2*Arg_2+Arg_1 {O(n)}
11: f3->f1, Arg_0: 0 {O(1)}
11: f3->f1, Arg_1: Arg_1 {O(n)}
11: f3->f1, Arg_2: Arg_2 {O(n)}