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, Arg_17, Arg_18, Arg_19
Temp_Vars: U, V, W, X, Y
Locations: f0, f11, f35, f49, f51, f54
Transitions:
10: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) -> f11(Arg_0,Arg_1,0,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,0)
9: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,Arg_17,Arg_18,Arg_19) -> f11(Arg_0+1,Arg_1,Arg_2,Arg_3,1,Arg_5,U,V,W,X,Arg_3,U,U,U,Arg_15,Arg_15,1,1,0,Arg_19):|:U<=0 && Arg_0+1<=Arg_1
7: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,Arg_17,Arg_18,Arg_19) -> f35(Arg_0,Arg_1,Arg_2,Arg_3,Y,Arg_5,U,V,W,X,Arg_3,U,U,U,Arg_15,0,Y,Y,0,Arg_19):|:Arg_0+1<=Arg_1 && U<=0 && 2<=Y
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,Arg_17,Arg_18,Arg_19) -> f35(Arg_0,Arg_1,Arg_2,Arg_3,Y,Arg_5,U,V,W,X,Arg_3,U,U,U,Arg_15,0,Y,Y,0,Arg_19):|:Arg_0+1<=Arg_1 && U<=0 && Y<=0
2: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,Arg_17,Arg_18,Arg_19) -> f49(Arg_0,Arg_1,0,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_17,Arg_18,Arg_19):|:Arg_1<=Arg_0
6: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,Arg_17,Arg_18,Arg_19) -> f49(Arg_0,Arg_1,0,0,Arg_4,Arg_5,U,V,W,X,Arg_3,U,U,Arg_13,Arg_14,Arg_15,Arg_16,Arg_17,Arg_18,Arg_19):|:1<=U && Arg_0+1<=Arg_1
3:f35(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) -> f49(Arg_0,Arg_1,0,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_17,Arg_18,Arg_19):|:3<=Arg_4
4:f35(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) -> f49(Arg_0,Arg_1,0,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_17,Arg_18,Arg_19):|:Arg_4<=1
5:f35(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) -> f49(Arg_0,Arg_1,0,0,2,Arg_6,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_4<=2 && 2<=Arg_4
0:f49(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) -> f49(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)
1:f51(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) -> 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)

Preprocessing

Cut unreachable locations [f51; f54] from the program graph

Eliminate variables {V,W,X,Arg_2,Arg_3,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} that do not contribute to the problem

Found invariant 1+Arg_0<=Arg_1 for location f35

Problem after Preprocessing

Start: f0
Program_Vars: Arg_0, Arg_1, Arg_4
Temp_Vars: U, Y
Locations: f0, f11, f35, f49
Transitions:
25:f0(Arg_0,Arg_1,Arg_4) -> f11(Arg_0,Arg_1,Arg_4)
30:f11(Arg_0,Arg_1,Arg_4) -> f11(Arg_0+1,Arg_1,1):|:U<=0 && Arg_0+1<=Arg_1
28:f11(Arg_0,Arg_1,Arg_4) -> f35(Arg_0,Arg_1,Y):|:Arg_0+1<=Arg_1 && U<=0 && 2<=Y
29:f11(Arg_0,Arg_1,Arg_4) -> f35(Arg_0,Arg_1,Y):|:Arg_0+1<=Arg_1 && U<=0 && Y<=0
26:f11(Arg_0,Arg_1,Arg_4) -> f49(Arg_0,Arg_1,Arg_4):|:Arg_1<=Arg_0
27:f11(Arg_0,Arg_1,Arg_4) -> f49(Arg_0,Arg_1,Arg_4):|:1<=U && Arg_0+1<=Arg_1
31:f35(Arg_0,Arg_1,Arg_4) -> f49(Arg_0,Arg_1,Arg_4):|:1+Arg_0<=Arg_1 && 3<=Arg_4
32:f35(Arg_0,Arg_1,Arg_4) -> f49(Arg_0,Arg_1,Arg_4):|:1+Arg_0<=Arg_1 && Arg_4<=1
33:f35(Arg_0,Arg_1,Arg_4) -> f49(Arg_0,Arg_1,2):|:1+Arg_0<=Arg_1 && Arg_4<=2 && 2<=Arg_4
34:f49(Arg_0,Arg_1,Arg_4) -> f49(Arg_0,Arg_1,Arg_4)

MPRF for transition 30:f11(Arg_0,Arg_1,Arg_4) -> f11(Arg_0+1,Arg_1,1):|:U<=0 && Arg_0+1<=Arg_1 of depth 1:

new bound:

Arg_0+Arg_1 {O(n)}

MPRF:

f11 [Arg_1-Arg_0 ]

All Bounds

Timebounds

Overall timebound:inf {Infinity}
25: f0->f11: 1 {O(1)}
26: f11->f49: 1 {O(1)}
27: f11->f49: 1 {O(1)}
28: f11->f35: 1 {O(1)}
29: f11->f35: 1 {O(1)}
30: f11->f11: Arg_0+Arg_1 {O(n)}
31: f35->f49: 1 {O(1)}
32: f35->f49: 1 {O(1)}
33: f35->f49: 1 {O(1)}
34: f49->f49: inf {Infinity}

Costbounds

Overall costbound: inf {Infinity}
25: f0->f11: 1 {O(1)}
26: f11->f49: 1 {O(1)}
27: f11->f49: 1 {O(1)}
28: f11->f35: 1 {O(1)}
29: f11->f35: 1 {O(1)}
30: f11->f11: Arg_0+Arg_1 {O(n)}
31: f35->f49: 1 {O(1)}
32: f35->f49: 1 {O(1)}
33: f35->f49: 1 {O(1)}
34: f49->f49: inf {Infinity}

Sizebounds

25: f0->f11, Arg_0: Arg_0 {O(n)}
25: f0->f11, Arg_1: Arg_1 {O(n)}
25: f0->f11, Arg_4: Arg_4 {O(n)}
26: f11->f49, Arg_0: 3*Arg_0+Arg_1 {O(n)}
26: f11->f49, Arg_1: 2*Arg_1 {O(n)}
26: f11->f49, Arg_4: Arg_4+1 {O(n)}
27: f11->f49, Arg_0: 3*Arg_0+Arg_1 {O(n)}
27: f11->f49, Arg_1: 2*Arg_1 {O(n)}
27: f11->f49, Arg_4: Arg_4+1 {O(n)}
28: f11->f35, Arg_0: 3*Arg_0+Arg_1 {O(n)}
28: f11->f35, Arg_1: 2*Arg_1 {O(n)}
29: f11->f35, Arg_0: 3*Arg_0+Arg_1 {O(n)}
29: f11->f35, Arg_1: 2*Arg_1 {O(n)}
30: f11->f11, Arg_0: 2*Arg_0+Arg_1 {O(n)}
30: f11->f11, Arg_1: Arg_1 {O(n)}
30: f11->f11, Arg_4: 1 {O(1)}
31: f35->f49, Arg_0: 3*Arg_0+Arg_1 {O(n)}
31: f35->f49, Arg_1: 2*Arg_1 {O(n)}
32: f35->f49, Arg_0: 3*Arg_0+Arg_1 {O(n)}
32: f35->f49, Arg_1: 2*Arg_1 {O(n)}
33: f35->f49, Arg_0: 3*Arg_0+Arg_1 {O(n)}
33: f35->f49, Arg_1: 2*Arg_1 {O(n)}
33: f35->f49, Arg_4: 2 {O(1)}
34: f49->f49, Arg_0: 15*Arg_0+5*Arg_1 {O(n)}
34: f49->f49, Arg_1: 10*Arg_1 {O(n)}