Initial Problem

Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: l0, l1
Transitions:
0:l0(Arg_0,Arg_1,Arg_2) -> l1(Arg_0,Arg_1,Arg_2)
1:l1(Arg_0,Arg_1,Arg_2) -> l1(2*Arg_0+Arg_1,Arg_1+1,Arg_2):|:0<=Arg_0+Arg_1 && Arg_0<=Arg_2

Preprocessing

Problem after Preprocessing

Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: l0, l1
Transitions:
0:l0(Arg_0,Arg_1,Arg_2) -> l1(Arg_0,Arg_1,Arg_2)
1:l1(Arg_0,Arg_1,Arg_2) -> l1(2*Arg_0+Arg_1,Arg_1+1,Arg_2):|:0<=Arg_0+Arg_1 && Arg_0<=Arg_2

Analysing control-flow refined program

Found invariant 1<=Arg_1+Arg_2 for location n_l1___1

MPRF for transition 15:n_l1___1(Arg_0,Arg_1,Arg_2) -> n_l1___1(2*Arg_0+Arg_1,Arg_1+1,Arg_2):|:1<=Arg_1+Arg_2 && 0<=Arg_0+Arg_1 && 1<=Arg_0+Arg_1 && 1+Arg_0<=Arg_1+2*Arg_2 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_2 of depth 1:

new bound:

2*Arg_0+2*Arg_1+Arg_2+1 {O(n)}

MPRF:

n_l1___1 [Arg_2+1-Arg_0 ]

CFR: Improvement to new bound with the following program:

new bound:

2*Arg_0+2*Arg_1+Arg_2+1 {O(n)}

cfr-program:

Start: l0
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars:
Locations: l0, l1, n_l1___1
Transitions:
0:l0(Arg_0,Arg_1,Arg_2) -> l1(Arg_0,Arg_1,Arg_2)
16:l1(Arg_0,Arg_1,Arg_2) -> n_l1___1(2*Arg_0+Arg_1,Arg_1+1,Arg_2):|:0<=Arg_0+Arg_1 && Arg_0<=Arg_2
15:n_l1___1(Arg_0,Arg_1,Arg_2) -> n_l1___1(2*Arg_0+Arg_1,Arg_1+1,Arg_2):|:1<=Arg_1+Arg_2 && 0<=Arg_0+Arg_1 && 1<=Arg_0+Arg_1 && 1+Arg_0<=Arg_1+2*Arg_2 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_2

All Bounds

Timebounds

Overall timebound:2*Arg_0+2*Arg_1+Arg_2+3 {O(n)}
0: l0->l1: 1 {O(1)}
16: l1->n_l1___1: 1 {O(1)}
15: n_l1___1->n_l1___1: 2*Arg_0+2*Arg_1+Arg_2+1 {O(n)}

Costbounds

Overall costbound: 2*Arg_0+2*Arg_1+Arg_2+3 {O(n)}
0: l0->l1: 1 {O(1)}
16: l1->n_l1___1: 1 {O(1)}
15: n_l1___1->n_l1___1: 2*Arg_0+2*Arg_1+Arg_2+1 {O(n)}

Sizebounds

0: l0->l1, Arg_0: Arg_0 {O(n)}
0: l0->l1, Arg_1: Arg_1 {O(n)}
0: l0->l1, Arg_2: Arg_2 {O(n)}
16: l1->n_l1___1, Arg_0: 2*Arg_0+2*Arg_1 {O(n)}
16: l1->n_l1___1, Arg_1: Arg_1+1 {O(n)}
16: l1->n_l1___1, Arg_2: Arg_2 {O(n)}
15: n_l1___1->n_l1___1, Arg_0: 12*2^(2*Arg_0+2*Arg_1+Arg_2+1)*Arg_0+12*2^(2*Arg_0+2*Arg_1+Arg_2+1)*Arg_0*Arg_1+16*2^(2*Arg_0+2*Arg_1+Arg_2+1)*Arg_1+2^(2*Arg_0+2*Arg_1+Arg_2+1)*4*Arg_0*Arg_0+2^(2*Arg_0+2*Arg_1+Arg_2+1)*4*Arg_0*Arg_2+2^(2*Arg_0+2*Arg_1+Arg_2+1)*5*Arg_2+2^(2*Arg_0+2*Arg_1+Arg_2+1)*6+2^(2*Arg_0+2*Arg_1+Arg_2+1)*6*Arg_1*Arg_2+2^(2*Arg_0+2*Arg_1+Arg_2+1)*8*Arg_1*Arg_1+2^(2*Arg_0+2*Arg_1+Arg_2+1)*Arg_2*Arg_2 {O(EXP)}
15: n_l1___1->n_l1___1, Arg_1: 2*Arg_0+3*Arg_1+Arg_2+2 {O(n)}
15: n_l1___1->n_l1___1, Arg_2: Arg_2 {O(n)}