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)

All Bounds

Timebounds

Overall timebound:inf {Infinity}
6: evalrsdbb1in->evalrsdbb2in: inf {Infinity}
7: evalrsdbb1in->evalrsdbb2in: inf {Infinity}
8: evalrsdbb1in->evalrsdbb3in: inf {Infinity}
9: evalrsdbb2in->evalrsdbb4in: inf {Infinity}
10: evalrsdbb3in->evalrsdbb4in: inf {Infinity}
4: evalrsdbb4in->evalrsdbb1in: inf {Infinity}
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: inf {Infinity}
6: evalrsdbb1in->evalrsdbb2in: inf {Infinity}
7: evalrsdbb1in->evalrsdbb2in: inf {Infinity}
8: evalrsdbb1in->evalrsdbb3in: inf {Infinity}
9: evalrsdbb2in->evalrsdbb4in: inf {Infinity}
10: evalrsdbb3in->evalrsdbb4in: inf {Infinity}
4: evalrsdbb4in->evalrsdbb1in: inf {Infinity}
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)}
7: evalrsdbb1in->evalrsdbb2in, Arg_0: Arg_0 {O(n)}
8: evalrsdbb1in->evalrsdbb3in, Arg_0: Arg_0 {O(n)}
9: evalrsdbb2in->evalrsdbb4in, Arg_0: Arg_0 {O(n)}
10: evalrsdbb3in->evalrsdbb4in, Arg_0: Arg_0 {O(n)}
4: evalrsdbb4in->evalrsdbb1in, Arg_0: Arg_0 {O(n)}
5: evalrsdbb4in->evalrsdreturnin, Arg_0: 2*Arg_0 {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)}
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)}