Initial Problem
Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars: D, E
Locations: f0, f14, f23, f28, f38, f8
Transitions:
0:f0(Arg_0,Arg_1,Arg_2) -> f8(0,Arg_1,Arg_2)
10:f14(Arg_0,Arg_1,Arg_2) -> f8(Arg_0+1,Arg_1,Arg_2)
11:f14(Arg_0,Arg_1,Arg_2) -> f8(Arg_0+1,Arg_1,Arg_2):|:D<=998
5:f23(Arg_0,Arg_1,Arg_2) -> f23(Arg_0+1,Arg_1,Arg_2):|:Arg_0<=999
3:f23(Arg_0,Arg_1,Arg_2) -> f28(Arg_0,Arg_1,D):|:Arg_0<=999 && E+1<=0
4:f23(Arg_0,Arg_1,Arg_2) -> f28(Arg_0,Arg_1,D):|:Arg_0<=999
8:f23(Arg_0,Arg_1,Arg_2) -> f38(Arg_0,Arg_1,Arg_2):|:1000<=Arg_0
6:f28(Arg_0,Arg_1,Arg_2) -> f23(Arg_0+1,Arg_1,Arg_2)
7:f28(Arg_0,Arg_1,Arg_2) -> f23(Arg_0+1,Arg_1,Arg_2):|:D<=998
1:f8(Arg_0,Arg_1,Arg_2) -> f14(Arg_0,Arg_0,Arg_2):|:Arg_0<=999 && D<=999
2:f8(Arg_0,Arg_1,Arg_2) -> f14(Arg_0,Arg_0,Arg_2):|:Arg_0<=999
12:f8(Arg_0,Arg_1,Arg_2) -> f23(0,Arg_1,Arg_2):|:1000<=Arg_0
9:f8(Arg_0,Arg_1,Arg_2) -> f8(Arg_0+1,Arg_0,Arg_2):|:Arg_0<=999
Preprocessing
Eliminate variables {Arg_1,Arg_2} that do not contribute to the problem
Found invariant 1000<=Arg_0 for location f38
Found invariant Arg_0<=999 && 0<=Arg_0 for location f14
Found invariant 0<=Arg_0 for location f23
Found invariant Arg_0<=999 && 0<=Arg_0 for location f28
Found invariant 0<=Arg_0 for location f8
Problem after Preprocessing
Start: f0
Program_Vars: Arg_0
Temp_Vars: D, E
Locations: f0, f14, f23, f28, f38, f8
Transitions:
28:f0(Arg_0) -> f8(0)
29:f14(Arg_0) -> f8(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0
30:f14(Arg_0) -> f8(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0 && D<=998
33:f23(Arg_0) -> f23(Arg_0+1):|:0<=Arg_0 && Arg_0<=999
31:f23(Arg_0) -> f28(Arg_0):|:0<=Arg_0 && Arg_0<=999 && E+1<=0
32:f23(Arg_0) -> f28(Arg_0):|:0<=Arg_0 && Arg_0<=999
34:f23(Arg_0) -> f38(Arg_0):|:0<=Arg_0 && 1000<=Arg_0
35:f28(Arg_0) -> f23(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0
36:f28(Arg_0) -> f23(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0 && D<=998
37:f8(Arg_0) -> f14(Arg_0):|:0<=Arg_0 && Arg_0<=999 && D<=999
38:f8(Arg_0) -> f14(Arg_0):|:0<=Arg_0 && Arg_0<=999
40:f8(Arg_0) -> f23(0):|:0<=Arg_0 && 1000<=Arg_0
39:f8(Arg_0) -> f8(Arg_0+1):|:0<=Arg_0 && Arg_0<=999
MPRF for transition 29:f14(Arg_0) -> f8(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f14 [1000-Arg_0 ]
f8 [1000-Arg_0 ]
MPRF for transition 30:f14(Arg_0) -> f8(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0 && D<=998 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f14 [1000-Arg_0 ]
f8 [1000-Arg_0 ]
MPRF for transition 37:f8(Arg_0) -> f14(Arg_0):|:0<=Arg_0 && Arg_0<=999 && D<=999 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f14 [999-Arg_0 ]
f8 [1000-Arg_0 ]
MPRF for transition 38:f8(Arg_0) -> f14(Arg_0):|:0<=Arg_0 && Arg_0<=999 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f14 [999-Arg_0 ]
f8 [1000-Arg_0 ]
MPRF for transition 39:f8(Arg_0) -> f8(Arg_0+1):|:0<=Arg_0 && Arg_0<=999 of depth 1:
new bound:
998002 {O(1)}
MPRF:
f14 [997003-998*Arg_0 ]
f8 [998002-999*Arg_0 ]
MPRF for transition 31:f23(Arg_0) -> f28(Arg_0):|:0<=Arg_0 && Arg_0<=999 && E+1<=0 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f28 [999-Arg_0 ]
f23 [1000-Arg_0 ]
MPRF for transition 32:f23(Arg_0) -> f28(Arg_0):|:0<=Arg_0 && Arg_0<=999 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f28 [999-Arg_0 ]
f23 [1000-Arg_0 ]
MPRF for transition 33:f23(Arg_0) -> f23(Arg_0+1):|:0<=Arg_0 && Arg_0<=999 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f28 [999-Arg_0 ]
f23 [1000-Arg_0 ]
MPRF for transition 35:f28(Arg_0) -> f23(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f28 [1000-Arg_0 ]
f23 [1000-Arg_0 ]
MPRF for transition 36:f28(Arg_0) -> f23(Arg_0+1):|:Arg_0<=999 && 0<=Arg_0 && D<=998 of depth 1:
new bound:
1000 {O(1)}
MPRF:
f28 [1000-Arg_0 ]
f23 [1000-Arg_0 ]
All Bounds
Timebounds
Overall timebound:1007005 {O(1)}
28: f0->f8: 1 {O(1)}
29: f14->f8: 1000 {O(1)}
30: f14->f8: 1000 {O(1)}
31: f23->f28: 1000 {O(1)}
32: f23->f28: 1000 {O(1)}
33: f23->f23: 1000 {O(1)}
34: f23->f38: 1 {O(1)}
35: f28->f23: 1000 {O(1)}
36: f28->f23: 1000 {O(1)}
37: f8->f14: 1000 {O(1)}
38: f8->f14: 1000 {O(1)}
39: f8->f8: 998002 {O(1)}
40: f8->f23: 1 {O(1)}
Costbounds
Overall costbound: 1007005 {O(1)}
28: f0->f8: 1 {O(1)}
29: f14->f8: 1000 {O(1)}
30: f14->f8: 1000 {O(1)}
31: f23->f28: 1000 {O(1)}
32: f23->f28: 1000 {O(1)}
33: f23->f23: 1000 {O(1)}
34: f23->f38: 1 {O(1)}
35: f28->f23: 1000 {O(1)}
36: f28->f23: 1000 {O(1)}
37: f8->f14: 1000 {O(1)}
38: f8->f14: 1000 {O(1)}
39: f8->f8: 998002 {O(1)}
40: f8->f23: 1 {O(1)}
Sizebounds
28: f0->f8, Arg_0: 0 {O(1)}
29: f14->f8, Arg_0: 1000 {O(1)}
30: f14->f8, Arg_0: 1000 {O(1)}
31: f23->f28, Arg_0: 999 {O(1)}
32: f23->f28, Arg_0: 999 {O(1)}
33: f23->f23, Arg_0: 1000 {O(1)}
34: f23->f38, Arg_0: 3000 {O(1)}
35: f28->f23, Arg_0: 1000 {O(1)}
36: f28->f23, Arg_0: 1000 {O(1)}
37: f8->f14, Arg_0: 999 {O(1)}
38: f8->f14, Arg_0: 999 {O(1)}
39: f8->f8, Arg_0: 1000 {O(1)}
40: f8->f23, Arg_0: 0 {O(1)}