Initial Problem

Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5
Temp_Vars: G, H
Locations: f0, f18, f24, f31, f39
Transitions:
6:f0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f18(10,0,10,G,10,H)
0:f18(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f18(Arg_0,Arg_1+1,Arg_2,Arg_3,Arg_4,Arg_5):|:Arg_1+1<=Arg_0
5:f18(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f24(Arg_0,0,Arg_2,Arg_3,Arg_4,Arg_5):|:Arg_0<=Arg_1
1:f24(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f24(Arg_0,Arg_1+1,Arg_2,Arg_3,Arg_4,Arg_5):|:Arg_1+1<=Arg_0
4:f24(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f31(Arg_0,0,Arg_2,Arg_3,Arg_4,Arg_5):|:Arg_0<=Arg_1
2:f31(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f31(Arg_0,Arg_1+1,Arg_2,Arg_3,Arg_4,Arg_5):|:Arg_1+1<=Arg_0
3:f31(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f39(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5):|:Arg_0<=Arg_1

Preprocessing

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

Found invariant 0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 for location f31

Found invariant Arg_1<=10 && Arg_1<=Arg_0 && Arg_0+Arg_1<=20 && 0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 for location f18

Found invariant 0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 for location f24

Found invariant 10<=Arg_1 && 20<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=10 && 10<=Arg_0 for location f39

Problem after Preprocessing

Start: f0
Program_Vars: Arg_0, Arg_1
Temp_Vars:
Locations: f0, f18, f24, f31, f39
Transitions:
17:f0(Arg_0,Arg_1) -> f18(10,0)
18:f18(Arg_0,Arg_1) -> f18(Arg_0,Arg_1+1):|:Arg_1<=10 && Arg_1<=Arg_0 && Arg_0+Arg_1<=20 && 0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_1+1<=Arg_0
19:f18(Arg_0,Arg_1) -> f24(Arg_0,0):|:Arg_1<=10 && Arg_1<=Arg_0 && Arg_0+Arg_1<=20 && 0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_0<=Arg_1
20:f24(Arg_0,Arg_1) -> f24(Arg_0,Arg_1+1):|:0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_1+1<=Arg_0
21:f24(Arg_0,Arg_1) -> f31(Arg_0,0):|:0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_0<=Arg_1
22:f31(Arg_0,Arg_1) -> f31(Arg_0,Arg_1+1):|:0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_1+1<=Arg_0
23:f31(Arg_0,Arg_1) -> f39(Arg_0,Arg_1):|:0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_0<=Arg_1

MPRF for transition 18:f18(Arg_0,Arg_1) -> f18(Arg_0,Arg_1+1):|:Arg_1<=10 && Arg_1<=Arg_0 && Arg_0+Arg_1<=20 && 0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_1+1<=Arg_0 of depth 1:

new bound:

11 {O(1)}

MPRF:

f18 [Arg_0+1-Arg_1 ]

MPRF for transition 20:f24(Arg_0,Arg_1) -> f24(Arg_0,Arg_1+1):|:0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_1+1<=Arg_0 of depth 1:

new bound:

10 {O(1)}

MPRF:

f24 [Arg_0-Arg_1 ]

MPRF for transition 22:f31(Arg_0,Arg_1) -> f31(Arg_0,Arg_1+1):|:0<=Arg_1 && 10<=Arg_0+Arg_1 && Arg_0<=10+Arg_1 && Arg_0<=10 && 10<=Arg_0 && Arg_1+1<=Arg_0 of depth 1:

new bound:

10 {O(1)}

MPRF:

f31 [Arg_0-Arg_1 ]

All Bounds

Timebounds

Overall timebound:35 {O(1)}
17: f0->f18: 1 {O(1)}
18: f18->f18: 11 {O(1)}
19: f18->f24: 1 {O(1)}
20: f24->f24: 10 {O(1)}
21: f24->f31: 1 {O(1)}
22: f31->f31: 10 {O(1)}
23: f31->f39: 1 {O(1)}

Costbounds

Overall costbound: 35 {O(1)}
17: f0->f18: 1 {O(1)}
18: f18->f18: 11 {O(1)}
19: f18->f24: 1 {O(1)}
20: f24->f24: 10 {O(1)}
21: f24->f31: 1 {O(1)}
22: f31->f31: 10 {O(1)}
23: f31->f39: 1 {O(1)}

Sizebounds

17: f0->f18, Arg_0: 10 {O(1)}
17: f0->f18, Arg_1: 0 {O(1)}
18: f18->f18, Arg_0: 10 {O(1)}
18: f18->f18, Arg_1: 10 {O(1)}
19: f18->f24, Arg_0: 10 {O(1)}
19: f18->f24, Arg_1: 0 {O(1)}
20: f24->f24, Arg_0: 10 {O(1)}
20: f24->f24, Arg_1: 10 {O(1)}
21: f24->f31, Arg_0: 10 {O(1)}
21: f24->f31, Arg_1: 0 {O(1)}
22: f31->f31, Arg_0: 10 {O(1)}
22: f31->f31, Arg_1: 10 {O(1)}
23: f31->f39, Arg_0: 10 {O(1)}
23: f31->f39, Arg_1: 10 {O(1)}