Initial Problem
Start: f0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5, Arg_6, Arg_7
Temp_Vars: I
Locations: f0, f10, f18, f22, f34, f43
Transitions:
0:f0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f10(I,0,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)
1:f10(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f10(Arg_0,Arg_1+1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_1+1<=Arg_2
9:f10(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f18(Arg_0,Arg_1,Arg_2,Arg_2,0,Arg_5,Arg_6,Arg_7):|:Arg_2<=Arg_1
2:f18(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f22(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_4,Arg_4+1,Arg_7):|:2+Arg_4<=Arg_3
8:f18(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f34(Arg_0,Arg_1,Arg_2,Arg_3,0,Arg_5,Arg_6,Arg_7):|:Arg_3<=Arg_4+1
7:f22(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f18(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4+1,Arg_5,Arg_6,I):|:Arg_3<=Arg_6
3:f22(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f22(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6+1,Arg_7):|:Arg_6+1<=Arg_3
4:f22(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f22(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_6,Arg_6+1,Arg_7):|:Arg_6+1<=Arg_3
5:f34(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f34(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4+1,Arg_5,Arg_6,Arg_7):|:2+Arg_4<=Arg_3
6:f34(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> f43(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_3<=Arg_4+1
Preprocessing
Eliminate variables {I,Arg_0,Arg_5,Arg_7} that do not contribute to the problem
Found invariant Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 for location f18
Found invariant 0<=Arg_1 for location f10
Found invariant Arg_4<=Arg_1 && 0<=Arg_4 && Arg_3<=1+Arg_4 && Arg_2<=1+Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 for location f43
Found invariant Arg_6<=Arg_3 && Arg_6<=Arg_2 && Arg_6<=Arg_1 && 1<=Arg_6 && 1<=Arg_4+Arg_6 && 1+Arg_4<=Arg_6 && 3<=Arg_3+Arg_6 && 3<=Arg_2+Arg_6 && 3<=Arg_1+Arg_6 && 2+Arg_4<=Arg_3 && 2+Arg_4<=Arg_2 && 2+Arg_4<=Arg_1 && 0<=Arg_4 && 2<=Arg_3+Arg_4 && 2<=Arg_2+Arg_4 && 2<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && 2<=Arg_3 && 4<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 4<=Arg_1+Arg_3 && Arg_2<=Arg_1 && 2<=Arg_2 && 4<=Arg_1+Arg_2 && 2<=Arg_1 for location f22
Found invariant Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 for location f34
Problem after Preprocessing
Start: f0
Program_Vars: Arg_1, Arg_2, Arg_3, Arg_4, Arg_6
Temp_Vars:
Locations: f0, f10, f18, f22, f34, f43
Transitions:
23:f0(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f10(0,Arg_2,Arg_3,Arg_4,Arg_6)
24:f10(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f10(Arg_1+1,Arg_2,Arg_3,Arg_4,Arg_6):|:0<=Arg_1 && Arg_1+1<=Arg_2
25:f10(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f18(Arg_1,Arg_2,Arg_2,0,Arg_6):|:0<=Arg_1 && Arg_2<=Arg_1
26:f18(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_4+1):|:Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 && 2+Arg_4<=Arg_3
27:f18(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f34(Arg_1,Arg_2,Arg_3,0,Arg_6):|:Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 && Arg_3<=Arg_4+1
30:f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f18(Arg_1,Arg_2,Arg_3,Arg_4+1,Arg_6):|:Arg_6<=Arg_3 && Arg_6<=Arg_2 && Arg_6<=Arg_1 && 1<=Arg_6 && 1<=Arg_4+Arg_6 && 1+Arg_4<=Arg_6 && 3<=Arg_3+Arg_6 && 3<=Arg_2+Arg_6 && 3<=Arg_1+Arg_6 && 2+Arg_4<=Arg_3 && 2+Arg_4<=Arg_2 && 2+Arg_4<=Arg_1 && 0<=Arg_4 && 2<=Arg_3+Arg_4 && 2<=Arg_2+Arg_4 && 2<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && 2<=Arg_3 && 4<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 4<=Arg_1+Arg_3 && Arg_2<=Arg_1 && 2<=Arg_2 && 4<=Arg_1+Arg_2 && 2<=Arg_1 && Arg_3<=Arg_6
28:f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6+1):|:Arg_6<=Arg_3 && Arg_6<=Arg_2 && Arg_6<=Arg_1 && 1<=Arg_6 && 1<=Arg_4+Arg_6 && 1+Arg_4<=Arg_6 && 3<=Arg_3+Arg_6 && 3<=Arg_2+Arg_6 && 3<=Arg_1+Arg_6 && 2+Arg_4<=Arg_3 && 2+Arg_4<=Arg_2 && 2+Arg_4<=Arg_1 && 0<=Arg_4 && 2<=Arg_3+Arg_4 && 2<=Arg_2+Arg_4 && 2<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && 2<=Arg_3 && 4<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 4<=Arg_1+Arg_3 && Arg_2<=Arg_1 && 2<=Arg_2 && 4<=Arg_1+Arg_2 && 2<=Arg_1 && Arg_6+1<=Arg_3
29:f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6+1):|:Arg_6<=Arg_3 && Arg_6<=Arg_2 && Arg_6<=Arg_1 && 1<=Arg_6 && 1<=Arg_4+Arg_6 && 1+Arg_4<=Arg_6 && 3<=Arg_3+Arg_6 && 3<=Arg_2+Arg_6 && 3<=Arg_1+Arg_6 && 2+Arg_4<=Arg_3 && 2+Arg_4<=Arg_2 && 2+Arg_4<=Arg_1 && 0<=Arg_4 && 2<=Arg_3+Arg_4 && 2<=Arg_2+Arg_4 && 2<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && 2<=Arg_3 && 4<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 4<=Arg_1+Arg_3 && Arg_2<=Arg_1 && 2<=Arg_2 && 4<=Arg_1+Arg_2 && 2<=Arg_1 && Arg_6+1<=Arg_3
31:f34(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f34(Arg_1,Arg_2,Arg_3,Arg_4+1,Arg_6):|:Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 && 2+Arg_4<=Arg_3
32:f34(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f43(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6):|:Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 && Arg_3<=Arg_4+1
MPRF for transition 24:f10(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f10(Arg_1+1,Arg_2,Arg_3,Arg_4,Arg_6):|:0<=Arg_1 && Arg_1+1<=Arg_2 of depth 1:
new bound:
Arg_2 {O(n)}
MPRF:
f10 [Arg_2-Arg_1 ]
MPRF for transition 26:f18(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_4+1):|:Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 && 2+Arg_4<=Arg_3 of depth 1:
new bound:
2*Arg_2+1 {O(n)}
MPRF:
f22 [Arg_3-Arg_4-2 ]
f18 [Arg_3-Arg_4-1 ]
MPRF for transition 30:f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f18(Arg_1,Arg_2,Arg_3,Arg_4+1,Arg_6):|:Arg_6<=Arg_3 && Arg_6<=Arg_2 && Arg_6<=Arg_1 && 1<=Arg_6 && 1<=Arg_4+Arg_6 && 1+Arg_4<=Arg_6 && 3<=Arg_3+Arg_6 && 3<=Arg_2+Arg_6 && 3<=Arg_1+Arg_6 && 2+Arg_4<=Arg_3 && 2+Arg_4<=Arg_2 && 2+Arg_4<=Arg_1 && 0<=Arg_4 && 2<=Arg_3+Arg_4 && 2<=Arg_2+Arg_4 && 2<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && 2<=Arg_3 && 4<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 4<=Arg_1+Arg_3 && Arg_2<=Arg_1 && 2<=Arg_2 && 4<=Arg_1+Arg_2 && 2<=Arg_1 && Arg_3<=Arg_6 of depth 1:
new bound:
6*Arg_2 {O(n)}
MPRF:
f22 [Arg_2-Arg_4 ]
f18 [2*Arg_2-Arg_3-Arg_4 ]
MPRF for transition 28:f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6+1):|:Arg_6<=Arg_3 && Arg_6<=Arg_2 && Arg_6<=Arg_1 && 1<=Arg_6 && 1<=Arg_4+Arg_6 && 1+Arg_4<=Arg_6 && 3<=Arg_3+Arg_6 && 3<=Arg_2+Arg_6 && 3<=Arg_1+Arg_6 && 2+Arg_4<=Arg_3 && 2+Arg_4<=Arg_2 && 2+Arg_4<=Arg_1 && 0<=Arg_4 && 2<=Arg_3+Arg_4 && 2<=Arg_2+Arg_4 && 2<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && 2<=Arg_3 && 4<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 4<=Arg_1+Arg_3 && Arg_2<=Arg_1 && 2<=Arg_2 && 4<=Arg_1+Arg_2 && 2<=Arg_1 && Arg_6+1<=Arg_3 of depth 1:
new bound:
24*Arg_2*Arg_2+4*Arg_2 {O(n^2)}
MPRF:
f18 [2*Arg_3 ]
f22 [2*Arg_3-Arg_6 ]
MPRF for transition 29:f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f22(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6+1):|:Arg_6<=Arg_3 && Arg_6<=Arg_2 && Arg_6<=Arg_1 && 1<=Arg_6 && 1<=Arg_4+Arg_6 && 1+Arg_4<=Arg_6 && 3<=Arg_3+Arg_6 && 3<=Arg_2+Arg_6 && 3<=Arg_1+Arg_6 && 2+Arg_4<=Arg_3 && 2+Arg_4<=Arg_2 && 2+Arg_4<=Arg_1 && 0<=Arg_4 && 2<=Arg_3+Arg_4 && 2<=Arg_2+Arg_4 && 2<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && 2<=Arg_3 && 4<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 4<=Arg_1+Arg_3 && Arg_2<=Arg_1 && 2<=Arg_2 && 4<=Arg_1+Arg_2 && 2<=Arg_1 && Arg_6+1<=Arg_3 of depth 1:
new bound:
48*Arg_2*Arg_2+8*Arg_2 {O(n^2)}
MPRF:
f18 [3*Arg_3-Arg_2 ]
f22 [2*Arg_3-Arg_6 ]
MPRF for transition 31:f34(Arg_1,Arg_2,Arg_3,Arg_4,Arg_6) -> f34(Arg_1,Arg_2,Arg_3,Arg_4+1,Arg_6):|:Arg_4<=Arg_1 && 0<=Arg_4 && 0<=Arg_1+Arg_4 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_2<=Arg_3 && Arg_2<=Arg_1 && 0<=Arg_1 && 2+Arg_4<=Arg_3 of depth 1:
new bound:
2*Arg_2+1 {O(n)}
MPRF:
f34 [Arg_1+1-Arg_4 ]
All Bounds
Timebounds
Overall timebound:72*Arg_2*Arg_2+23*Arg_2+6 {O(n^2)}
23: f0->f10: 1 {O(1)}
24: f10->f10: Arg_2 {O(n)}
25: f10->f18: 1 {O(1)}
26: f18->f22: 2*Arg_2+1 {O(n)}
27: f18->f34: 1 {O(1)}
28: f22->f22: 24*Arg_2*Arg_2+4*Arg_2 {O(n^2)}
29: f22->f22: 48*Arg_2*Arg_2+8*Arg_2 {O(n^2)}
30: f22->f18: 6*Arg_2 {O(n)}
31: f34->f34: 2*Arg_2+1 {O(n)}
32: f34->f43: 1 {O(1)}
Costbounds
Overall costbound: 72*Arg_2*Arg_2+23*Arg_2+6 {O(n^2)}
23: f0->f10: 1 {O(1)}
24: f10->f10: Arg_2 {O(n)}
25: f10->f18: 1 {O(1)}
26: f18->f22: 2*Arg_2+1 {O(n)}
27: f18->f34: 1 {O(1)}
28: f22->f22: 24*Arg_2*Arg_2+4*Arg_2 {O(n^2)}
29: f22->f22: 48*Arg_2*Arg_2+8*Arg_2 {O(n^2)}
30: f22->f18: 6*Arg_2 {O(n)}
31: f34->f34: 2*Arg_2+1 {O(n)}
32: f34->f43: 1 {O(1)}
Sizebounds
23: f0->f10, Arg_1: 0 {O(1)}
23: f0->f10, Arg_2: Arg_2 {O(n)}
23: f0->f10, Arg_3: Arg_3 {O(n)}
23: f0->f10, Arg_4: Arg_4 {O(n)}
23: f0->f10, Arg_6: Arg_6 {O(n)}
24: f10->f10, Arg_1: Arg_2 {O(n)}
24: f10->f10, Arg_2: Arg_2 {O(n)}
24: f10->f10, Arg_3: Arg_3 {O(n)}
24: f10->f10, Arg_4: Arg_4 {O(n)}
24: f10->f10, Arg_6: Arg_6 {O(n)}
25: f10->f18, Arg_1: Arg_2 {O(n)}
25: f10->f18, Arg_2: 2*Arg_2 {O(n)}
25: f10->f18, Arg_3: 2*Arg_2 {O(n)}
25: f10->f18, Arg_4: 0 {O(1)}
25: f10->f18, Arg_6: 2*Arg_6 {O(n)}
26: f18->f22, Arg_1: Arg_2 {O(n)}
26: f18->f22, Arg_2: 2*Arg_2 {O(n)}
26: f18->f22, Arg_3: 2*Arg_2 {O(n)}
26: f18->f22, Arg_4: 6*Arg_2 {O(n)}
26: f18->f22, Arg_6: 6*Arg_2+2 {O(n)}
27: f18->f34, Arg_1: 2*Arg_2 {O(n)}
27: f18->f34, Arg_2: 4*Arg_2 {O(n)}
27: f18->f34, Arg_3: 4*Arg_2 {O(n)}
27: f18->f34, Arg_4: 0 {O(1)}
27: f18->f34, Arg_6: 144*Arg_2*Arg_2+2*Arg_6+48*Arg_2+8 {O(n^2)}
28: f22->f22, Arg_1: Arg_2 {O(n)}
28: f22->f22, Arg_2: 2*Arg_2 {O(n)}
28: f22->f22, Arg_3: 2*Arg_2 {O(n)}
28: f22->f22, Arg_4: 6*Arg_2 {O(n)}
28: f22->f22, Arg_6: 72*Arg_2*Arg_2+24*Arg_2+4 {O(n^2)}
29: f22->f22, Arg_1: Arg_2 {O(n)}
29: f22->f22, Arg_2: 2*Arg_2 {O(n)}
29: f22->f22, Arg_3: 2*Arg_2 {O(n)}
29: f22->f22, Arg_4: 6*Arg_2 {O(n)}
29: f22->f22, Arg_6: 72*Arg_2*Arg_2+24*Arg_2+4 {O(n^2)}
30: f22->f18, Arg_1: Arg_2 {O(n)}
30: f22->f18, Arg_2: 2*Arg_2 {O(n)}
30: f22->f18, Arg_3: 2*Arg_2 {O(n)}
30: f22->f18, Arg_4: 6*Arg_2 {O(n)}
30: f22->f18, Arg_6: 144*Arg_2*Arg_2+48*Arg_2+8 {O(n^2)}
31: f34->f34, Arg_1: 2*Arg_2 {O(n)}
31: f34->f34, Arg_2: 4*Arg_2 {O(n)}
31: f34->f34, Arg_3: 4*Arg_2 {O(n)}
31: f34->f34, Arg_4: 2*Arg_2+1 {O(n)}
31: f34->f34, Arg_6: 144*Arg_2*Arg_2+2*Arg_6+48*Arg_2+8 {O(n^2)}
32: f34->f43, Arg_1: 4*Arg_2 {O(n)}
32: f34->f43, Arg_2: 8*Arg_2 {O(n)}
32: f34->f43, Arg_3: 8*Arg_2 {O(n)}
32: f34->f43, Arg_4: 2*Arg_2+1 {O(n)}
32: f34->f43, Arg_6: 288*Arg_2*Arg_2+4*Arg_6+96*Arg_2+16 {O(n^2)}