Initial Problem

Start: f0
Program_Vars: Arg_0
Temp_Vars: B
Locations: f0, f12, f4
Transitions:
0:f0(Arg_0) -> f4(B)
3:f4(Arg_0) -> f12(Arg_0):|:4<=Arg_0
1:f4(Arg_0) -> f4(Arg_0+1):|:Arg_0<=3 && 1<=Arg_0
2:f4(Arg_0) -> f4(1):|:Arg_0<=0 && Arg_0<=3

Preprocessing

Found invariant 4<=Arg_0 for location f12

Problem after Preprocessing

Start: f0
Program_Vars: Arg_0
Temp_Vars: B
Locations: f0, f12, f4
Transitions:
0:f0(Arg_0) -> f4(B)
3:f4(Arg_0) -> f12(Arg_0):|:4<=Arg_0
1:f4(Arg_0) -> f4(Arg_0+1):|:Arg_0<=3 && 1<=Arg_0
2:f4(Arg_0) -> f4(1):|:Arg_0<=0 && Arg_0<=3

knowledge_propagation leads to new time bound 1 {O(1)} for transition 2:f4(Arg_0) -> f4(1):|:Arg_0<=0 && Arg_0<=3

Analysing control-flow refined program

Cut unsatisfiable transition 55: n_f4___1->f12

Cut unsatisfiable transition 56: n_f4___2->f12

Found invariant Arg_0<=2 && 2<=Arg_0 for location n_f4___1

Found invariant Arg_0<=4 && 2<=Arg_0 for location n_f4___3

Found invariant Arg_0<=1 && 1<=Arg_0 for location n_f4___2

Found invariant 4<=Arg_0 for location f12

MPRF for transition 46:n_f4___3(Arg_0) -> n_f4___3(Arg_0+1):|:Arg_0<=4 && 2<=Arg_0 && 1<=Arg_0 && 2<=Arg_0 && Arg_0<=4 && 1<=Arg_0 && Arg_0<=3 of depth 1:

new bound:

17 {O(1)}

MPRF:

n_f4___3 [5-Arg_0 ]

CFR: Improvement to new bound with the following program:

new bound:

17 {O(1)}

cfr-program:

Start: f0
Program_Vars: Arg_0
Temp_Vars: B
Locations: f0, f12, f4, n_f4___1, n_f4___2, n_f4___3
Transitions:
0:f0(Arg_0) -> f4(B)
3:f4(Arg_0) -> f12(Arg_0):|:4<=Arg_0
47:f4(Arg_0) -> n_f4___2(1):|:Arg_0<=0
48:f4(Arg_0) -> n_f4___3(Arg_0+1):|:1<=Arg_0 && Arg_0<=3
44:n_f4___1(Arg_0) -> n_f4___3(Arg_0+1):|:Arg_0<=2 && 2<=Arg_0 && Arg_0<=3 && 1<=Arg_0 && 1<=Arg_0 && Arg_0<=3 && 2<=Arg_0 && Arg_0<=4 && 1<=Arg_0 && Arg_0<=3
45:n_f4___2(Arg_0) -> n_f4___1(Arg_0+1):|:Arg_0<=1 && 1<=Arg_0 && Arg_0<=3 && 1<=Arg_0 && 1<=Arg_0 && Arg_0<=3 && Arg_0<=1 && 1<=Arg_0 && 1<=Arg_0 && Arg_0<=3
57:n_f4___3(Arg_0) -> f12(Arg_0):|:Arg_0<=4 && 2<=Arg_0 && 4<=Arg_0
46:n_f4___3(Arg_0) -> n_f4___3(Arg_0+1):|:Arg_0<=4 && 2<=Arg_0 && 1<=Arg_0 && 2<=Arg_0 && Arg_0<=4 && 1<=Arg_0 && Arg_0<=3

All Bounds

Timebounds

Overall timebound:24 {O(1)}
0: f0->f4: 1 {O(1)}
3: f4->f12: 1 {O(1)}
47: f4->n_f4___2: 1 {O(1)}
48: f4->n_f4___3: 1 {O(1)}
44: n_f4___1->n_f4___3: 1 {O(1)}
45: n_f4___2->n_f4___1: 1 {O(1)}
46: n_f4___3->n_f4___3: 17 {O(1)}
57: n_f4___3->f12: 1 {O(1)}

Costbounds

Overall costbound: 24 {O(1)}
0: f0->f4: 1 {O(1)}
3: f4->f12: 1 {O(1)}
47: f4->n_f4___2: 1 {O(1)}
48: f4->n_f4___3: 1 {O(1)}
44: n_f4___1->n_f4___3: 1 {O(1)}
45: n_f4___2->n_f4___1: 1 {O(1)}
46: n_f4___3->n_f4___3: 17 {O(1)}
57: n_f4___3->f12: 1 {O(1)}

Sizebounds

47: f4->n_f4___2, Arg_0: 1 {O(1)}
48: f4->n_f4___3, Arg_0: 4 {O(1)}
44: n_f4___1->n_f4___3, Arg_0: 3 {O(1)}
45: n_f4___2->n_f4___1, Arg_0: 2 {O(1)}
46: n_f4___3->n_f4___3, Arg_0: 4 {O(1)}
57: n_f4___3->f12, Arg_0: 4 {O(1)}