Initial Problem
Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5, Arg_6, Arg_7, Arg_8, Arg_9, Arg_10, Arg_11, Arg_12, Arg_13, Arg_14, Arg_15, Arg_16
Temp_Vars: R, S
Locations: f0, f11, f14, f33, f36, f58
Transitions:
9:f0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f11(0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,0,Arg_15,Arg_16)
0:f11(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f14(Arg_0,0,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16):|:Arg_0<=9
8:f11(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f33(Arg_0,Arg_1,0,Arg_3,0,0,0,0,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,1000):|:10<=Arg_0
7:f14(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f11(Arg_0+1,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16):|:10<=Arg_1
6:f14(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f14(Arg_0,Arg_1+1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,S,S,Arg_16):|:Arg_1<=9
1:f33(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f36(Arg_0,Arg_1,Arg_2,0,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16):|:Arg_2<=9
5:f33(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f58(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_4,Arg_5,Arg_6,Arg_7,1500,S,Arg_14,Arg_15,Arg_16):|:10<=Arg_2
4:f36(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f33(Arg_0,Arg_1,Arg_2+1,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16):|:10<=Arg_3
2:f36(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f36(Arg_0,Arg_1,Arg_2,Arg_3+1,Arg_4+S,Arg_5+1,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16):|:Arg_3<=9 && R+1<=0
3:f36(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16) -> f36(Arg_0,Arg_1,Arg_2,Arg_3+1,Arg_4,Arg_5,Arg_6+S,Arg_7+1,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16):|:Arg_3<=9
Preprocessing
Eliminate variables {S,Arg_4,Arg_5,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16} that do not contribute to the problem
Found invariant 0<=Arg_0 for location f11
Found invariant 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 for location f33
Found invariant Arg_3<=10 && Arg_3<=10+Arg_2 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 10<=Arg_0+Arg_3 && 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 for location f36
Found invariant Arg_1<=10 && Arg_1<=10+Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 for location f14
Found invariant 10<=Arg_2 && 20<=Arg_0+Arg_2 && 10<=Arg_0 for location f58
Problem after Preprocessing
Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: R
Locations: f0, f11, f14, f33, f36, f58
Transitions:
22:f0(Arg_0,Arg_1,Arg_2,Arg_3) -> f11(0,Arg_1,Arg_2,Arg_3)
23:f11(Arg_0,Arg_1,Arg_2,Arg_3) -> f14(Arg_0,0,Arg_2,Arg_3):|:0<=Arg_0 && Arg_0<=9
24:f11(Arg_0,Arg_1,Arg_2,Arg_3) -> f33(Arg_0,Arg_1,0,Arg_3):|:0<=Arg_0 && 10<=Arg_0
26:f14(Arg_0,Arg_1,Arg_2,Arg_3) -> f11(Arg_0+1,Arg_1,Arg_2,Arg_3):|:Arg_1<=10 && Arg_1<=10+Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 10<=Arg_1
25:f14(Arg_0,Arg_1,Arg_2,Arg_3) -> f14(Arg_0,Arg_1+1,Arg_2,Arg_3):|:Arg_1<=10 && Arg_1<=10+Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_1<=9
27:f33(Arg_0,Arg_1,Arg_2,Arg_3) -> f36(Arg_0,Arg_1,Arg_2,0):|:0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && Arg_2<=9
28:f33(Arg_0,Arg_1,Arg_2,Arg_3) -> f58(Arg_0,Arg_1,Arg_2,Arg_3):|:0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && 10<=Arg_2
31:f36(Arg_0,Arg_1,Arg_2,Arg_3) -> f33(Arg_0,Arg_1,Arg_2+1,Arg_3):|:Arg_3<=10 && Arg_3<=10+Arg_2 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 10<=Arg_0+Arg_3 && 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && 10<=Arg_3
29:f36(Arg_0,Arg_1,Arg_2,Arg_3) -> f36(Arg_0,Arg_1,Arg_2,Arg_3+1):|:Arg_3<=10 && Arg_3<=10+Arg_2 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 10<=Arg_0+Arg_3 && 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && Arg_3<=9 && R+1<=0
30:f36(Arg_0,Arg_1,Arg_2,Arg_3) -> f36(Arg_0,Arg_1,Arg_2,Arg_3+1):|:Arg_3<=10 && Arg_3<=10+Arg_2 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 10<=Arg_0+Arg_3 && 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && Arg_3<=9
MPRF for transition 23:f11(Arg_0,Arg_1,Arg_2,Arg_3) -> f14(Arg_0,0,Arg_2,Arg_3):|:0<=Arg_0 && Arg_0<=9 of depth 1:
new bound:
10 {O(1)}
MPRF:
f14 [9-Arg_0 ]
f11 [10-Arg_0 ]
MPRF for transition 25:f14(Arg_0,Arg_1,Arg_2,Arg_3) -> f14(Arg_0,Arg_1+1,Arg_2,Arg_3):|:Arg_1<=10 && Arg_1<=10+Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_1<=9 of depth 1:
new bound:
100 {O(1)}
MPRF:
f14 [10-Arg_1 ]
f11 [-Arg_1 ]
MPRF for transition 26:f14(Arg_0,Arg_1,Arg_2,Arg_3) -> f11(Arg_0+1,Arg_1,Arg_2,Arg_3):|:Arg_1<=10 && Arg_1<=10+Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 10<=Arg_1 of depth 1:
new bound:
10 {O(1)}
MPRF:
f14 [1 ]
f11 [0 ]
MPRF for transition 27:f33(Arg_0,Arg_1,Arg_2,Arg_3) -> f36(Arg_0,Arg_1,Arg_2,0):|:0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && Arg_2<=9 of depth 1:
new bound:
10 {O(1)}
MPRF:
f36 [9-Arg_2 ]
f33 [10-Arg_2 ]
MPRF for transition 29:f36(Arg_0,Arg_1,Arg_2,Arg_3) -> f36(Arg_0,Arg_1,Arg_2,Arg_3+1):|:Arg_3<=10 && Arg_3<=10+Arg_2 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 10<=Arg_0+Arg_3 && 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && Arg_3<=9 && R+1<=0 of depth 1:
new bound:
110 {O(1)}
MPRF:
f36 [Arg_0+1-Arg_3 ]
f33 [Arg_0-Arg_3 ]
MPRF for transition 30:f36(Arg_0,Arg_1,Arg_2,Arg_3) -> f36(Arg_0,Arg_1,Arg_2,Arg_3+1):|:Arg_3<=10 && Arg_3<=10+Arg_2 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 10<=Arg_0+Arg_3 && 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && Arg_3<=9 of depth 1:
new bound:
100 {O(1)}
MPRF:
f36 [10-Arg_3 ]
f33 [-Arg_3 ]
MPRF for transition 31:f36(Arg_0,Arg_1,Arg_2,Arg_3) -> f33(Arg_0,Arg_1,Arg_2+1,Arg_3):|:Arg_3<=10 && Arg_3<=10+Arg_2 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 10<=Arg_0+Arg_3 && 0<=Arg_2 && 10<=Arg_0+Arg_2 && 10<=Arg_0 && 10<=Arg_3 of depth 1:
new bound:
100 {O(1)}
MPRF:
f36 [Arg_0 ]
f33 [Arg_0+1-2*Arg_2 ]
All Bounds
Timebounds
Overall timebound:443 {O(1)}
22: f0->f11: 1 {O(1)}
23: f11->f14: 10 {O(1)}
24: f11->f33: 1 {O(1)}
25: f14->f14: 100 {O(1)}
26: f14->f11: 10 {O(1)}
27: f33->f36: 10 {O(1)}
28: f33->f58: 1 {O(1)}
29: f36->f36: 110 {O(1)}
30: f36->f36: 100 {O(1)}
31: f36->f33: 100 {O(1)}
Costbounds
Overall costbound: 443 {O(1)}
22: f0->f11: 1 {O(1)}
23: f11->f14: 10 {O(1)}
24: f11->f33: 1 {O(1)}
25: f14->f14: 100 {O(1)}
26: f14->f11: 10 {O(1)}
27: f33->f36: 10 {O(1)}
28: f33->f58: 1 {O(1)}
29: f36->f36: 110 {O(1)}
30: f36->f36: 100 {O(1)}
31: f36->f33: 100 {O(1)}
Sizebounds
22: f0->f11, Arg_0: 0 {O(1)}
22: f0->f11, Arg_1: Arg_1 {O(n)}
22: f0->f11, Arg_2: Arg_2 {O(n)}
22: f0->f11, Arg_3: Arg_3 {O(n)}
23: f11->f14, Arg_0: 9 {O(1)}
23: f11->f14, Arg_1: 0 {O(1)}
23: f11->f14, Arg_2: Arg_2 {O(n)}
23: f11->f14, Arg_3: Arg_3 {O(n)}
24: f11->f33, Arg_0: 10 {O(1)}
24: f11->f33, Arg_1: 10 {O(1)}
24: f11->f33, Arg_2: 0 {O(1)}
24: f11->f33, Arg_3: Arg_3 {O(n)}
25: f14->f14, Arg_0: 9 {O(1)}
25: f14->f14, Arg_1: 10 {O(1)}
25: f14->f14, Arg_2: Arg_2 {O(n)}
25: f14->f14, Arg_3: Arg_3 {O(n)}
26: f14->f11, Arg_0: 10 {O(1)}
26: f14->f11, Arg_1: 10 {O(1)}
26: f14->f11, Arg_2: Arg_2 {O(n)}
26: f14->f11, Arg_3: Arg_3 {O(n)}
27: f33->f36, Arg_0: 10 {O(1)}
27: f33->f36, Arg_1: 10 {O(1)}
27: f33->f36, Arg_2: 9 {O(1)}
27: f33->f36, Arg_3: 0 {O(1)}
28: f33->f58, Arg_0: 10 {O(1)}
28: f33->f58, Arg_1: 10 {O(1)}
28: f33->f58, Arg_2: 38 {O(1)}
28: f33->f58, Arg_3: 10 {O(1)}
29: f36->f36, Arg_0: 10 {O(1)}
29: f36->f36, Arg_1: 10 {O(1)}
29: f36->f36, Arg_2: 18 {O(1)}
29: f36->f36, Arg_3: 10 {O(1)}
30: f36->f36, Arg_0: 10 {O(1)}
30: f36->f36, Arg_1: 10 {O(1)}
30: f36->f36, Arg_2: 18 {O(1)}
30: f36->f36, Arg_3: 10 {O(1)}
31: f36->f33, Arg_0: 10 {O(1)}
31: f36->f33, Arg_1: 10 {O(1)}
31: f36->f33, Arg_2: 38 {O(1)}
31: f36->f33, Arg_3: 10 {O(1)}