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, Arg_17, Arg_18, Arg_19, Arg_20
Temp_Vars: V, W, X, Y, Z
Locations: f0, f13, f37, f45, f52, f54, f57
Transitions:
12: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,Arg_17,Arg_18,Arg_19,Arg_20) -> f13(Arg_0,Arg_1,Arg_2,W,Arg_4,0,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16,Arg_17,Arg_18,Arg_19,0):|:W<=0
13: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,Arg_17,Arg_18,Arg_19,Arg_20) -> f13(Arg_0,Arg_1,Arg_2,W,Arg_4,0,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16,Arg_17,Arg_18,Arg_19,0):|:1<=W
11:f13(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f13(Arg_0+1,Arg_1,1,Arg_3,Arg_4,Arg_5,Arg_6,V,W,X,Y,Arg_4,V,V,V,Arg_16,Arg_16,1,1,0,Arg_20):|:V<=0 && Arg_0+1<=Arg_1
9:f13(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f37(Arg_0,Arg_1,Z,Arg_3,Arg_4,Arg_5,Arg_6,V,W,X,Y,Arg_4,V,V,V,Arg_16,0,Z,Z,0,Arg_20):|:Arg_0+1<=Arg_1 && V<=0 && 2<=Z
10:f13(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f37(Arg_0,Arg_1,Z,Arg_3,Arg_4,Arg_5,Arg_6,V,W,X,Y,Arg_4,V,V,V,Arg_16,0,Z,Z,0,Arg_20):|:Arg_0+1<=Arg_1 && V<=0 && Z<=0
0:f13(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f45(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,Arg_17,Arg_18,Arg_19,Arg_20):|:Arg_1<=Arg_0
8:f13(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f45(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,V,W,X,Y,Arg_4,V,V,Arg_14,Arg_15,Arg_16,Arg_17,Arg_18,Arg_19,Arg_20):|:1<=V && Arg_0+1<=Arg_1
1:f37(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f45(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,Arg_17,Arg_18,Arg_19,Arg_20):|:3<=Arg_2
2:f37(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f45(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,Arg_17,Arg_18,Arg_19,Arg_20):|:Arg_2<=1
7:f37(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f45(Arg_0,Arg_1,2,Arg_3,Arg_4+1,Arg_5,Arg_7,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16,Arg_17,Arg_18,Arg_19,Arg_20):|:Arg_2<=2 && 2<=Arg_2
5:f45(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f52(Arg_0,Arg_1,Arg_2,Arg_3,0,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_17,Arg_18,Arg_19,Arg_20):|:1<=Arg_3
6:f45(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f52(Arg_0,Arg_1,Arg_2,Arg_3,0,0,Arg_6,Arg_7,Arg_8,Arg_9,Arg_10,Arg_11,Arg_12,Arg_13,Arg_14,Arg_15,Arg_16,Arg_17,Arg_18,Arg_19,Arg_20):|:Arg_3<=0
3:f52(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f52(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,Arg_17,Arg_18,Arg_19,Arg_20)
4:f54(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,Arg_17,Arg_18,Arg_19,Arg_20) -> f57(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,Arg_17,Arg_18,Arg_19,Arg_20)
Cut unreachable locations [f54; f57] from the program graph
Eliminate variables {X,Y,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_17,Arg_18,Arg_19,Arg_20} that do not contribute to the problem
Found invariant 1+Arg_0<=Arg_1 for location f37
Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: V, W, Z
Locations: f0, f13, f37, f45, f52
Transitions:
30:f0(Arg_0,Arg_1,Arg_2,Arg_3) -> f13(Arg_0,Arg_1,Arg_2,W):|:W<=0
31:f0(Arg_0,Arg_1,Arg_2,Arg_3) -> f13(Arg_0,Arg_1,Arg_2,W):|:1<=W
36:f13(Arg_0,Arg_1,Arg_2,Arg_3) -> f13(Arg_0+1,Arg_1,1,Arg_3):|:V<=0 && Arg_0+1<=Arg_1
34:f13(Arg_0,Arg_1,Arg_2,Arg_3) -> f37(Arg_0,Arg_1,Z,Arg_3):|:Arg_0+1<=Arg_1 && V<=0 && 2<=Z
35:f13(Arg_0,Arg_1,Arg_2,Arg_3) -> f37(Arg_0,Arg_1,Z,Arg_3):|:Arg_0+1<=Arg_1 && V<=0 && Z<=0
32:f13(Arg_0,Arg_1,Arg_2,Arg_3) -> f45(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_1<=Arg_0
33:f13(Arg_0,Arg_1,Arg_2,Arg_3) -> f45(Arg_0,Arg_1,Arg_2,Arg_3):|:1<=V && Arg_0+1<=Arg_1
37:f37(Arg_0,Arg_1,Arg_2,Arg_3) -> f45(Arg_0,Arg_1,Arg_2,Arg_3):|:1+Arg_0<=Arg_1 && 3<=Arg_2
38:f37(Arg_0,Arg_1,Arg_2,Arg_3) -> f45(Arg_0,Arg_1,Arg_2,Arg_3):|:1+Arg_0<=Arg_1 && Arg_2<=1
39:f37(Arg_0,Arg_1,Arg_2,Arg_3) -> f45(Arg_0,Arg_1,2,Arg_3):|:1+Arg_0<=Arg_1 && Arg_2<=2 && 2<=Arg_2
40:f45(Arg_0,Arg_1,Arg_2,Arg_3) -> f52(Arg_0,Arg_1,Arg_2,Arg_3):|:1<=Arg_3
41:f45(Arg_0,Arg_1,Arg_2,Arg_3) -> f52(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=0
42:f52(Arg_0,Arg_1,Arg_2,Arg_3) -> f52(Arg_0,Arg_1,Arg_2,Arg_3)
new bound:
2*Arg_0+2*Arg_1 {O(n)}
MPRF:
f13 [Arg_1-Arg_0 ]
Overall timebound:inf {Infinity}
30: f0->f13: 1 {O(1)}
31: f0->f13: 1 {O(1)}
32: f13->f45: 1 {O(1)}
33: f13->f45: 1 {O(1)}
34: f13->f37: 1 {O(1)}
35: f13->f37: 1 {O(1)}
36: f13->f13: 2*Arg_0+2*Arg_1 {O(n)}
37: f37->f45: 1 {O(1)}
38: f37->f45: 1 {O(1)}
39: f37->f45: 1 {O(1)}
40: f45->f52: 1 {O(1)}
41: f45->f52: 1 {O(1)}
42: f52->f52: inf {Infinity}
Overall costbound: inf {Infinity}
30: f0->f13: 1 {O(1)}
31: f0->f13: 1 {O(1)}
32: f13->f45: 1 {O(1)}
33: f13->f45: 1 {O(1)}
34: f13->f37: 1 {O(1)}
35: f13->f37: 1 {O(1)}
36: f13->f13: 2*Arg_0+2*Arg_1 {O(n)}
37: f37->f45: 1 {O(1)}
38: f37->f45: 1 {O(1)}
39: f37->f45: 1 {O(1)}
40: f45->f52: 1 {O(1)}
41: f45->f52: 1 {O(1)}
42: f52->f52: inf {Infinity}
30: f0->f13, Arg_0: Arg_0 {O(n)}
30: f0->f13, Arg_1: Arg_1 {O(n)}
30: f0->f13, Arg_2: Arg_2 {O(n)}
31: f0->f13, Arg_0: Arg_0 {O(n)}
31: f0->f13, Arg_1: Arg_1 {O(n)}
31: f0->f13, Arg_2: Arg_2 {O(n)}
32: f13->f45, Arg_0: 2*Arg_1+6*Arg_0 {O(n)}
32: f13->f45, Arg_1: 4*Arg_1 {O(n)}
32: f13->f45, Arg_2: 2*Arg_2+1 {O(n)}
33: f13->f45, Arg_0: 2*Arg_1+6*Arg_0 {O(n)}
33: f13->f45, Arg_1: 4*Arg_1 {O(n)}
33: f13->f45, Arg_2: 2*Arg_2+1 {O(n)}
34: f13->f37, Arg_0: 2*Arg_1+6*Arg_0 {O(n)}
34: f13->f37, Arg_1: 4*Arg_1 {O(n)}
35: f13->f37, Arg_0: 2*Arg_1+6*Arg_0 {O(n)}
35: f13->f37, Arg_1: 4*Arg_1 {O(n)}
36: f13->f13, Arg_0: 2*Arg_1+4*Arg_0 {O(n)}
36: f13->f13, Arg_1: 2*Arg_1 {O(n)}
36: f13->f13, Arg_2: 1 {O(1)}
37: f37->f45, Arg_0: 2*Arg_1+6*Arg_0 {O(n)}
37: f37->f45, Arg_1: 4*Arg_1 {O(n)}
38: f37->f45, Arg_0: 2*Arg_1+6*Arg_0 {O(n)}
38: f37->f45, Arg_1: 4*Arg_1 {O(n)}
39: f37->f45, Arg_0: 2*Arg_1+6*Arg_0 {O(n)}
39: f37->f45, Arg_1: 4*Arg_1 {O(n)}
39: f37->f45, Arg_2: 2 {O(1)}
40: f45->f52, Arg_0: 10*Arg_1+30*Arg_0 {O(n)}
40: f45->f52, Arg_1: 20*Arg_1 {O(n)}
41: f45->f52, Arg_0: 10*Arg_1+30*Arg_0 {O(n)}
41: f45->f52, Arg_1: 20*Arg_1 {O(n)}
42: f52->f52, Arg_0: 20*Arg_1+60*Arg_0 {O(n)}
42: f52->f52, Arg_1: 40*Arg_1 {O(n)}