Initial Problem

Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4
Temp_Vars:
Locations: f0, f20, f31, f4
Transitions:
0:f0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f4(0,Arg_1,Arg_2,Arg_3,Arg_4)
1:f20(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f20(Arg_0,Arg_1+1,Arg_1,Arg_3,Arg_4):|:Arg_1<=199
2:f20(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f31(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:200<=Arg_1
4:f4(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f20(Arg_0,100,Arg_2,Arg_3,Arg_4):|:100<=Arg_0
3:f4(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f4(Arg_0+1,Arg_1,Arg_2,Arg_0,Arg_0):|:Arg_0<=99

Preprocessing

Eliminate variables {Arg_2,Arg_3,Arg_4} that do not contribute to the problem

Found invariant Arg_1<=200 && Arg_1<=100+Arg_0 && Arg_0+Arg_1<=300 && 200<=Arg_1 && 300<=Arg_0+Arg_1 && 100+Arg_0<=Arg_1 && Arg_0<=100 && 100<=Arg_0 for location f31

Found invariant Arg_1<=200 && Arg_1<=100+Arg_0 && Arg_0+Arg_1<=300 && 100<=Arg_1 && 200<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=100 && 100<=Arg_0 for location f20

Found invariant Arg_0<=100 && 0<=Arg_0 for location f4

Problem after Preprocessing

Start: f0
Program_Vars: Arg_0, Arg_1
Temp_Vars:
Locations: f0, f20, f31, f4
Transitions:
12:f0(Arg_0,Arg_1) -> f4(0,Arg_1)
13:f20(Arg_0,Arg_1) -> f20(Arg_0,Arg_1+1):|:Arg_1<=200 && Arg_1<=100+Arg_0 && Arg_0+Arg_1<=300 && 100<=Arg_1 && 200<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=100 && 100<=Arg_0 && Arg_1<=199
14:f20(Arg_0,Arg_1) -> f31(Arg_0,Arg_1):|:Arg_1<=200 && Arg_1<=100+Arg_0 && Arg_0+Arg_1<=300 && 100<=Arg_1 && 200<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=100 && 100<=Arg_0 && 200<=Arg_1
16:f4(Arg_0,Arg_1) -> f20(Arg_0,100):|:Arg_0<=100 && 0<=Arg_0 && 100<=Arg_0
15:f4(Arg_0,Arg_1) -> f4(Arg_0+1,Arg_1):|:Arg_0<=100 && 0<=Arg_0 && Arg_0<=99

MPRF for transition 15:f4(Arg_0,Arg_1) -> f4(Arg_0+1,Arg_1):|:Arg_0<=100 && 0<=Arg_0 && Arg_0<=99 of depth 1:

new bound:

100 {O(1)}

MPRF:

f4 [100-Arg_0 ]

MPRF for transition 13:f20(Arg_0,Arg_1) -> f20(Arg_0,Arg_1+1):|:Arg_1<=200 && Arg_1<=100+Arg_0 && Arg_0+Arg_1<=300 && 100<=Arg_1 && 200<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=100 && 100<=Arg_0 && Arg_1<=199 of depth 1:

new bound:

301 {O(1)}

MPRF:

f20 [201-Arg_1 ]

All Bounds

Timebounds

Overall timebound:404 {O(1)}
12: f0->f4: 1 {O(1)}
13: f20->f20: 301 {O(1)}
14: f20->f31: 1 {O(1)}
15: f4->f4: 100 {O(1)}
16: f4->f20: 1 {O(1)}

Costbounds

Overall costbound: 404 {O(1)}
12: f0->f4: 1 {O(1)}
13: f20->f20: 301 {O(1)}
14: f20->f31: 1 {O(1)}
15: f4->f4: 100 {O(1)}
16: f4->f20: 1 {O(1)}

Sizebounds

12: f0->f4, Arg_0: 0 {O(1)}
12: f0->f4, Arg_1: Arg_1 {O(n)}
13: f20->f20, Arg_0: 100 {O(1)}
13: f20->f20, Arg_1: 200 {O(1)}
14: f20->f31, Arg_0: 100 {O(1)}
14: f20->f31, Arg_1: 200 {O(1)}
15: f4->f4, Arg_0: 100 {O(1)}
15: f4->f4, Arg_1: Arg_1 {O(n)}
16: f4->f20, Arg_0: 100 {O(1)}
16: f4->f20, Arg_1: 100 {O(1)}