Initial Problem

Start: f12
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5
Temp_Vars: G, H
Locations: f10, f11, f12, f5, f7, f8
Transitions:
0:f12(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f5(400,0,0,Arg_3,Arg_4,Arg_5)
2:f5(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f10(Arg_0,Arg_1,Arg_2,Arg_2,Arg_2,Arg_5):|:1<=Arg_2
3:f5(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f10(Arg_0,Arg_1,Arg_2,Arg_2,Arg_2,Arg_5):|:Arg_2+1<=0
1:f5(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f11(Arg_0,Arg_1,0,0,0,Arg_5):|:Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2
6:f5(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f5(Arg_0,1+Arg_1,G,H,Arg_4,G):|:1+Arg_1<=Arg_0 && Arg_2<=0 && 0<=Arg_2
4:f7(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f5(Arg_0,1+Arg_1,G,H,Arg_4,G)
5:f8(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5) -> f5(Arg_0,1+Arg_1,G,H,Arg_4,G)

Preprocessing

Cut unreachable locations [f7; f8] from the program graph

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

Found invariant Arg_2<=0 && 400+Arg_2<=Arg_1 && Arg_1+Arg_2<=400 && 400+Arg_2<=Arg_0 && Arg_0+Arg_2<=400 && 0<=Arg_2 && 400<=Arg_1+Arg_2 && Arg_1<=400+Arg_2 && 400<=Arg_0+Arg_2 && Arg_0<=400+Arg_2 && Arg_1<=400 && Arg_1<=Arg_0 && Arg_0+Arg_1<=800 && 400<=Arg_1 && 800<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=400 && 400<=Arg_0 for location f11

Found invariant Arg_1<=400 && Arg_1<=Arg_0 && Arg_0+Arg_1<=800 && 0<=Arg_1 && 400<=Arg_0+Arg_1 && Arg_0<=400+Arg_1 && Arg_0<=400 && 400<=Arg_0 for location f5

Found invariant 0<=Arg_1 && 400<=Arg_0+Arg_1 && Arg_0<=400+Arg_1 && Arg_0<=400 && 400<=Arg_0 for location f10

Problem after Preprocessing

Start: f12
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars: G
Locations: f10, f11, f12, f5
Transitions:
13:f12(Arg_0,Arg_1,Arg_2) -> f5(400,0,0)
15:f5(Arg_0,Arg_1,Arg_2) -> f10(Arg_0,Arg_1,Arg_2):|:Arg_1<=400 && Arg_1<=Arg_0 && Arg_0+Arg_1<=800 && 0<=Arg_1 && 400<=Arg_0+Arg_1 && Arg_0<=400+Arg_1 && Arg_0<=400 && 400<=Arg_0 && 1<=Arg_2
16:f5(Arg_0,Arg_1,Arg_2) -> f10(Arg_0,Arg_1,Arg_2):|:Arg_1<=400 && Arg_1<=Arg_0 && Arg_0+Arg_1<=800 && 0<=Arg_1 && 400<=Arg_0+Arg_1 && Arg_0<=400+Arg_1 && Arg_0<=400 && 400<=Arg_0 && Arg_2+1<=0
14:f5(Arg_0,Arg_1,Arg_2) -> f11(Arg_0,Arg_1,0):|:Arg_1<=400 && Arg_1<=Arg_0 && Arg_0+Arg_1<=800 && 0<=Arg_1 && 400<=Arg_0+Arg_1 && Arg_0<=400+Arg_1 && Arg_0<=400 && 400<=Arg_0 && Arg_0<=Arg_1 && Arg_2<=0 && 0<=Arg_2
17:f5(Arg_0,Arg_1,Arg_2) -> f5(Arg_0,1+Arg_1,G):|:Arg_1<=400 && Arg_1<=Arg_0 && Arg_0+Arg_1<=800 && 0<=Arg_1 && 400<=Arg_0+Arg_1 && Arg_0<=400+Arg_1 && Arg_0<=400 && 400<=Arg_0 && 1+Arg_1<=Arg_0 && Arg_2<=0 && 0<=Arg_2

MPRF for transition 17:f5(Arg_0,Arg_1,Arg_2) -> f5(Arg_0,1+Arg_1,G):|:Arg_1<=400 && Arg_1<=Arg_0 && Arg_0+Arg_1<=800 && 0<=Arg_1 && 400<=Arg_0+Arg_1 && Arg_0<=400+Arg_1 && Arg_0<=400 && 400<=Arg_0 && 1+Arg_1<=Arg_0 && Arg_2<=0 && 0<=Arg_2 of depth 1:

new bound:

401 {O(1)}

MPRF:

f5 [401-Arg_1 ]

All Bounds

Timebounds

Overall timebound:405 {O(1)}
13: f12->f5: 1 {O(1)}
14: f5->f11: 1 {O(1)}
15: f5->f10: 1 {O(1)}
16: f5->f10: 1 {O(1)}
17: f5->f5: 401 {O(1)}

Costbounds

Overall costbound: 405 {O(1)}
13: f12->f5: 1 {O(1)}
14: f5->f11: 1 {O(1)}
15: f5->f10: 1 {O(1)}
16: f5->f10: 1 {O(1)}
17: f5->f5: 401 {O(1)}

Sizebounds

13: f12->f5, Arg_0: 400 {O(1)}
13: f12->f5, Arg_1: 0 {O(1)}
13: f12->f5, Arg_2: 0 {O(1)}
14: f5->f11, Arg_0: 400 {O(1)}
14: f5->f11, Arg_1: 400 {O(1)}
14: f5->f11, Arg_2: 0 {O(1)}
15: f5->f10, Arg_0: 400 {O(1)}
15: f5->f10, Arg_1: 400 {O(1)}
16: f5->f10, Arg_0: 400 {O(1)}
16: f5->f10, Arg_1: 400 {O(1)}
17: f5->f5, Arg_0: 400 {O(1)}
17: f5->f5, Arg_1: 400 {O(1)}