Initial Problem

Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: f0, f2, f3, f5
Transitions:
3:f0(Arg_0,Arg_1,Arg_2) -> f2(0,Arg_1,Arg_2):|:1<=Arg_2
4:f0(Arg_0,Arg_1,Arg_2) -> f3(0,Arg_1,Arg_2):|:Arg_2<=0
0:f2(Arg_0,Arg_1,Arg_2) -> f2(Arg_0+1,Arg_1,Arg_2)
1:f3(Arg_0,Arg_1,Arg_2) -> f3(Arg_0,Arg_1-1,Arg_2):|:1<=Arg_1
5:f3(Arg_0,Arg_1,Arg_2) -> f5(0,Arg_1,Arg_2):|:Arg_1<=0
2:f5(Arg_0,Arg_1,Arg_2) -> f5(Arg_0,Arg_1,1)

Preprocessing

Eliminate variables {Arg_0} that do not contribute to the problem

Found invariant Arg_2<=1 && Arg_1+Arg_2<=1 && Arg_1<=0 for location f5

Found invariant Arg_2<=0 for location f3

Found invariant 1<=Arg_2 for location f2

Problem after Preprocessing

Start: f0
Program_Vars: Arg_1, Arg_2
Temp_Vars:
Locations: f0, f2, f3, f5
Transitions:
14:f0(Arg_1,Arg_2) -> f2(Arg_1,Arg_2):|:1<=Arg_2
15:f0(Arg_1,Arg_2) -> f3(Arg_1,Arg_2):|:Arg_2<=0
16:f2(Arg_1,Arg_2) -> f2(Arg_1,Arg_2):|:1<=Arg_2
17:f3(Arg_1,Arg_2) -> f3(Arg_1-1,Arg_2):|:Arg_2<=0 && 1<=Arg_1
18:f3(Arg_1,Arg_2) -> f5(Arg_1,Arg_2):|:Arg_2<=0 && Arg_1<=0
19:f5(Arg_1,Arg_2) -> f5(Arg_1,1):|:Arg_2<=1 && Arg_1+Arg_2<=1 && Arg_1<=0

MPRF for transition 17:f3(Arg_1,Arg_2) -> f3(Arg_1-1,Arg_2):|:Arg_2<=0 && 1<=Arg_1 of depth 1:

new bound:

Arg_1 {O(n)}

MPRF:

f3 [Arg_1 ]

All Bounds

Timebounds

Overall timebound:inf {Infinity}
14: f0->f2: 1 {O(1)}
15: f0->f3: 1 {O(1)}
16: f2->f2: inf {Infinity}
17: f3->f3: Arg_1 {O(n)}
18: f3->f5: 1 {O(1)}
19: f5->f5: inf {Infinity}

Costbounds

Overall costbound: inf {Infinity}
14: f0->f2: 1 {O(1)}
15: f0->f3: 1 {O(1)}
16: f2->f2: inf {Infinity}
17: f3->f3: Arg_1 {O(n)}
18: f3->f5: 1 {O(1)}
19: f5->f5: inf {Infinity}

Sizebounds

14: f0->f2, Arg_1: Arg_1 {O(n)}
14: f0->f2, Arg_2: Arg_2 {O(n)}
15: f0->f3, Arg_1: Arg_1 {O(n)}
15: f0->f3, Arg_2: Arg_2 {O(n)}
16: f2->f2, Arg_1: Arg_1 {O(n)}
16: f2->f2, Arg_2: Arg_2 {O(n)}
17: f3->f3, Arg_1: Arg_1 {O(n)}
17: f3->f3, Arg_2: Arg_2 {O(n)}
18: f3->f5, Arg_1: 2*Arg_1 {O(n)}
18: f3->f5, Arg_2: 2*Arg_2 {O(n)}
19: f5->f5, Arg_1: 2*Arg_1 {O(n)}
19: f5->f5, Arg_2: 1 {O(1)}