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