Initial Problem

Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars: D
Locations: f0, f1, f4
Transitions:
0:f0(Arg_0,Arg_1,Arg_2) -> f1(0,Arg_1,Arg_2)
1:f1(Arg_0,Arg_1,Arg_2) -> f1(Arg_0,Arg_1-1,D):|:1<=Arg_1 && 1<=D
2:f1(Arg_0,Arg_1,Arg_2) -> f1(Arg_0,Arg_1-2,D):|:1<=Arg_1 && D<=0
3:f1(Arg_0,Arg_1,Arg_2) -> f4(Arg_0,Arg_1,D):|:Arg_1<=0
4:f4(Arg_0,Arg_1,Arg_2) -> f4(1,Arg_1,D):|:1<=Arg_2
5:f4(Arg_0,Arg_1,Arg_2) -> f4(2,Arg_1,D):|:Arg_2<=0

Preprocessing

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

Found invariant Arg_1<=0 for location f4

Problem after Preprocessing

Start: f0
Program_Vars: Arg_1, Arg_2
Temp_Vars: D
Locations: f0, f1, f4
Transitions:
14:f0(Arg_1,Arg_2) -> f1(Arg_1,Arg_2)
15:f1(Arg_1,Arg_2) -> f1(Arg_1-1,D):|:1<=Arg_1 && 1<=D
16:f1(Arg_1,Arg_2) -> f1(Arg_1-2,D):|:1<=Arg_1 && D<=0
17:f1(Arg_1,Arg_2) -> f4(Arg_1,D):|:Arg_1<=0
18:f4(Arg_1,Arg_2) -> f4(Arg_1,D):|:Arg_1<=0 && 1<=Arg_2
19:f4(Arg_1,Arg_2) -> f4(Arg_1,D):|:Arg_1<=0 && Arg_2<=0

MPRF for transition 15:f1(Arg_1,Arg_2) -> f1(Arg_1-1,D):|:1<=Arg_1 && 1<=D of depth 1:

new bound:

Arg_1 {O(n)}

MPRF:

f1 [Arg_1 ]

MPRF for transition 16:f1(Arg_1,Arg_2) -> f1(Arg_1-2,D):|:1<=Arg_1 && D<=0 of depth 1:

new bound:

Arg_1 {O(n)}

MPRF:

f1 [Arg_1 ]

All Bounds

Timebounds

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

Costbounds

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

Sizebounds

14: f0->f1, Arg_1: Arg_1 {O(n)}
14: f0->f1, Arg_2: Arg_2 {O(n)}
15: f1->f1, Arg_1: 2*Arg_1 {O(n)}
16: f1->f1, Arg_1: 2*Arg_1 {O(n)}
17: f1->f4, Arg_1: 5*Arg_1 {O(n)}
18: f4->f4, Arg_1: 10*Arg_1 {O(n)}
19: f4->f4, Arg_1: 10*Arg_1 {O(n)}