Initial Problem

Start: evalrsdstart
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars: D
Locations: evalrsdbb1in, evalrsdbb2in, evalrsdbb3in, evalrsdbb4in, evalrsdbbin, evalrsdentryin, evalrsdreturnin, evalrsdstart, evalrsdstop
Transitions:
6:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb2in(Arg_0,Arg_1,Arg_2):|:D+1<=0
7:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb2in(Arg_0,Arg_1,Arg_2):|:1<=D
8:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb3in(Arg_0,Arg_1,Arg_2)
9:evalrsdbb2in(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,Arg_1,Arg_2-1)
10:evalrsdbb3in(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,Arg_1-1,Arg_1-1)
4:evalrsdbb4in(Arg_0,Arg_1,Arg_2) -> evalrsdbb1in(Arg_0,Arg_1,Arg_2):|:Arg_0<=Arg_2
5:evalrsdbb4in(Arg_0,Arg_1,Arg_2) -> evalrsdreturnin(Arg_0,Arg_1,Arg_2):|:Arg_2+1<=Arg_0
3:evalrsdbbin(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,2*Arg_0,2*Arg_0)
1:evalrsdentryin(Arg_0,Arg_1,Arg_2) -> evalrsdbbin(Arg_0,Arg_1,Arg_2):|:0<=Arg_0
2:evalrsdentryin(Arg_0,Arg_1,Arg_2) -> evalrsdreturnin(Arg_0,Arg_1,Arg_2):|:Arg_0+1<=0
11:evalrsdreturnin(Arg_0,Arg_1,Arg_2) -> evalrsdstop(Arg_0,Arg_1,Arg_2)
0:evalrsdstart(Arg_0,Arg_1,Arg_2) -> evalrsdentryin(Arg_0,Arg_1,Arg_2)

Preprocessing

Found invariant 0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 for location evalrsdbb2in

Found invariant 0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 for location evalrsdbb1in

Found invariant 0<=Arg_0 for location evalrsdbbin

Found invariant 0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 for location evalrsdbb3in

Found invariant 0<=Arg_0 for location evalrsdbb4in

Problem after Preprocessing

Start: evalrsdstart
Program_Vars: Arg_0, Arg_1, Arg_2
Temp_Vars: D
Locations: evalrsdbb1in, evalrsdbb2in, evalrsdbb3in, evalrsdbb4in, evalrsdbbin, evalrsdentryin, evalrsdreturnin, evalrsdstart, evalrsdstop
Transitions:
6:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb2in(Arg_0,Arg_1,Arg_2):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 && D+1<=0
7:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb2in(Arg_0,Arg_1,Arg_2):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 && 1<=D
8:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb3in(Arg_0,Arg_1,Arg_2):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0
9:evalrsdbb2in(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,Arg_1,Arg_2-1):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0
10:evalrsdbb3in(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,Arg_1-1,Arg_1-1):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0
4:evalrsdbb4in(Arg_0,Arg_1,Arg_2) -> evalrsdbb1in(Arg_0,Arg_1,Arg_2):|:0<=Arg_0 && Arg_0<=Arg_2
5:evalrsdbb4in(Arg_0,Arg_1,Arg_2) -> evalrsdreturnin(Arg_0,Arg_1,Arg_2):|:0<=Arg_0 && Arg_2+1<=Arg_0
3:evalrsdbbin(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,2*Arg_0,2*Arg_0):|:0<=Arg_0
1:evalrsdentryin(Arg_0,Arg_1,Arg_2) -> evalrsdbbin(Arg_0,Arg_1,Arg_2):|:0<=Arg_0
2:evalrsdentryin(Arg_0,Arg_1,Arg_2) -> evalrsdreturnin(Arg_0,Arg_1,Arg_2):|:Arg_0+1<=0
11:evalrsdreturnin(Arg_0,Arg_1,Arg_2) -> evalrsdstop(Arg_0,Arg_1,Arg_2)
0:evalrsdstart(Arg_0,Arg_1,Arg_2) -> evalrsdentryin(Arg_0,Arg_1,Arg_2)

MPRF for transition 8:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb3in(Arg_0,Arg_1,Arg_2):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 of depth 2:

new bound:

32*Arg_0+9 {O(n)}

MPRF:

evalrsdbb2in [Arg_1 ; Arg_2 ]
evalrsdbb3in [Arg_1-1 ; Arg_1 ]
evalrsdbb4in [Arg_1 ; Arg_2+1 ]
evalrsdbb1in [Arg_1 ; Arg_2+1 ]

MPRF for transition 10:evalrsdbb3in(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,Arg_1-1,Arg_1-1):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 of depth 2:

new bound:

32*Arg_0+1 {O(n)}

MPRF:

evalrsdbb2in [Arg_1 ; Arg_2 ]
evalrsdbb3in [Arg_1 ; 0 ]
evalrsdbb4in [Arg_1 ; Arg_2 ]
evalrsdbb1in [Arg_1 ; Arg_2 ]

MPRF for transition 6:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb2in(Arg_0,Arg_1,Arg_2):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 && D+1<=0 of depth 1:

new bound:

1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}

MPRF:

evalrsdbb3in [Arg_2+1 ]
evalrsdbb2in [Arg_2 ]
evalrsdbb4in [Arg_2+1 ]
evalrsdbb1in [Arg_2+1 ]

MPRF for transition 7:evalrsdbb1in(Arg_0,Arg_1,Arg_2) -> evalrsdbb2in(Arg_0,Arg_1,Arg_2):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 && 1<=D of depth 1:

new bound:

1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}

MPRF:

evalrsdbb3in [Arg_2+1 ]
evalrsdbb2in [Arg_2 ]
evalrsdbb4in [Arg_2+1 ]
evalrsdbb1in [Arg_2+1 ]

MPRF for transition 9:evalrsdbb2in(Arg_0,Arg_1,Arg_2) -> evalrsdbb4in(Arg_0,Arg_1,Arg_2-1):|:0<=Arg_2 && 0<=Arg_0+Arg_2 && Arg_0<=Arg_2 && 0<=Arg_0 of depth 1:

new bound:

1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}

MPRF:

evalrsdbb3in [1 ]
evalrsdbb2in [Arg_2+1 ]
evalrsdbb4in [Arg_2+1 ]
evalrsdbb1in [Arg_2+1 ]

MPRF for transition 4:evalrsdbb4in(Arg_0,Arg_1,Arg_2) -> evalrsdbb1in(Arg_0,Arg_1,Arg_2):|:0<=Arg_0 && Arg_0<=Arg_2 of depth 1:

new bound:

1088*Arg_0*Arg_0+164*Arg_0+6 {O(n^2)}

MPRF:

evalrsdbb3in [1 ]
evalrsdbb2in [Arg_2+1 ]
evalrsdbb4in [Arg_2+2 ]
evalrsdbb1in [Arg_2+1 ]

All Bounds

Timebounds

Overall timebound:4352*Arg_0*Arg_0+624*Arg_0+34 {O(n^2)}
6: evalrsdbb1in->evalrsdbb2in: 1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}
7: evalrsdbb1in->evalrsdbb2in: 1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}
8: evalrsdbb1in->evalrsdbb3in: 32*Arg_0+9 {O(n)}
9: evalrsdbb2in->evalrsdbb4in: 1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}
10: evalrsdbb3in->evalrsdbb4in: 32*Arg_0+1 {O(n)}
4: evalrsdbb4in->evalrsdbb1in: 1088*Arg_0*Arg_0+164*Arg_0+6 {O(n^2)}
5: evalrsdbb4in->evalrsdreturnin: 1 {O(1)}
3: evalrsdbbin->evalrsdbb4in: 1 {O(1)}
1: evalrsdentryin->evalrsdbbin: 1 {O(1)}
2: evalrsdentryin->evalrsdreturnin: 1 {O(1)}
11: evalrsdreturnin->evalrsdstop: 1 {O(1)}
0: evalrsdstart->evalrsdentryin: 1 {O(1)}

Costbounds

Overall costbound: 4352*Arg_0*Arg_0+624*Arg_0+34 {O(n^2)}
6: evalrsdbb1in->evalrsdbb2in: 1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}
7: evalrsdbb1in->evalrsdbb2in: 1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}
8: evalrsdbb1in->evalrsdbb3in: 32*Arg_0+9 {O(n)}
9: evalrsdbb2in->evalrsdbb4in: 1088*Arg_0*Arg_0+132*Arg_0+4 {O(n^2)}
10: evalrsdbb3in->evalrsdbb4in: 32*Arg_0+1 {O(n)}
4: evalrsdbb4in->evalrsdbb1in: 1088*Arg_0*Arg_0+164*Arg_0+6 {O(n^2)}
5: evalrsdbb4in->evalrsdreturnin: 1 {O(1)}
3: evalrsdbbin->evalrsdbb4in: 1 {O(1)}
1: evalrsdentryin->evalrsdbbin: 1 {O(1)}
2: evalrsdentryin->evalrsdreturnin: 1 {O(1)}
11: evalrsdreturnin->evalrsdstop: 1 {O(1)}
0: evalrsdstart->evalrsdentryin: 1 {O(1)}

Sizebounds

6: evalrsdbb1in->evalrsdbb2in, Arg_0: Arg_0 {O(n)}
6: evalrsdbb1in->evalrsdbb2in, Arg_1: 34*Arg_0+1 {O(n)}
6: evalrsdbb1in->evalrsdbb2in, Arg_2: 36*Arg_0+3 {O(n)}
7: evalrsdbb1in->evalrsdbb2in, Arg_0: Arg_0 {O(n)}
7: evalrsdbb1in->evalrsdbb2in, Arg_1: 34*Arg_0+1 {O(n)}
7: evalrsdbb1in->evalrsdbb2in, Arg_2: 36*Arg_0+3 {O(n)}
8: evalrsdbb1in->evalrsdbb3in, Arg_0: Arg_0 {O(n)}
8: evalrsdbb1in->evalrsdbb3in, Arg_1: 34*Arg_0+1 {O(n)}
8: evalrsdbb1in->evalrsdbb3in, Arg_2: 36*Arg_0+3 {O(n)}
9: evalrsdbb2in->evalrsdbb4in, Arg_0: Arg_0 {O(n)}
9: evalrsdbb2in->evalrsdbb4in, Arg_1: 34*Arg_0+1 {O(n)}
9: evalrsdbb2in->evalrsdbb4in, Arg_2: 36*Arg_0+3 {O(n)}
10: evalrsdbb3in->evalrsdbb4in, Arg_0: Arg_0 {O(n)}
10: evalrsdbb3in->evalrsdbb4in, Arg_1: 34*Arg_0+1 {O(n)}
10: evalrsdbb3in->evalrsdbb4in, Arg_2: 34*Arg_0+2 {O(n)}
4: evalrsdbb4in->evalrsdbb1in, Arg_0: Arg_0 {O(n)}
4: evalrsdbb4in->evalrsdbb1in, Arg_1: 34*Arg_0+1 {O(n)}
4: evalrsdbb4in->evalrsdbb1in, Arg_2: 36*Arg_0+3 {O(n)}
5: evalrsdbb4in->evalrsdreturnin, Arg_0: 2*Arg_0 {O(n)}
5: evalrsdbb4in->evalrsdreturnin, Arg_1: 68*Arg_0+2 {O(n)}
5: evalrsdbb4in->evalrsdreturnin, Arg_2: 70*Arg_0+5 {O(n)}
3: evalrsdbbin->evalrsdbb4in, Arg_0: Arg_0 {O(n)}
3: evalrsdbbin->evalrsdbb4in, Arg_1: 2*Arg_0 {O(n)}
3: evalrsdbbin->evalrsdbb4in, Arg_2: 2*Arg_0 {O(n)}
1: evalrsdentryin->evalrsdbbin, Arg_0: Arg_0 {O(n)}
1: evalrsdentryin->evalrsdbbin, Arg_1: Arg_1 {O(n)}
1: evalrsdentryin->evalrsdbbin, Arg_2: Arg_2 {O(n)}
2: evalrsdentryin->evalrsdreturnin, Arg_0: Arg_0 {O(n)}
2: evalrsdentryin->evalrsdreturnin, Arg_1: Arg_1 {O(n)}
2: evalrsdentryin->evalrsdreturnin, Arg_2: Arg_2 {O(n)}
11: evalrsdreturnin->evalrsdstop, Arg_0: 3*Arg_0 {O(n)}
11: evalrsdreturnin->evalrsdstop, Arg_1: 68*Arg_0+Arg_1+2 {O(n)}
11: evalrsdreturnin->evalrsdstop, Arg_2: 70*Arg_0+Arg_2+5 {O(n)}
0: evalrsdstart->evalrsdentryin, Arg_0: Arg_0 {O(n)}
0: evalrsdstart->evalrsdentryin, Arg_1: Arg_1 {O(n)}
0: evalrsdstart->evalrsdentryin, Arg_2: Arg_2 {O(n)}