Initial Problem
Start: evalrandom1dstart
Program_Vars: Arg_0, Arg_1
Temp_Vars: C
Locations: evalrandom1dbb1in, evalrandom1dbb5in, evalrandom1dentryin, evalrandom1dreturnin, evalrandom1dstart, evalrandom1dstop
Transitions:
5:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:C+1<=0
6:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:1<=C
7:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1)
3:evalrandom1dbb5in(Arg_0,Arg_1) -> evalrandom1dbb1in(Arg_0,Arg_1):|:Arg_1<=Arg_0
4:evalrandom1dbb5in(Arg_0,Arg_1) -> evalrandom1dreturnin(Arg_0,Arg_1):|:Arg_0+1<=Arg_1
1:evalrandom1dentryin(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,1):|:1<=Arg_0
2:evalrandom1dentryin(Arg_0,Arg_1) -> evalrandom1dreturnin(Arg_0,Arg_1):|:Arg_0<=0
8:evalrandom1dreturnin(Arg_0,Arg_1) -> evalrandom1dstop(Arg_0,Arg_1)
0:evalrandom1dstart(Arg_0,Arg_1) -> evalrandom1dentryin(Arg_0,Arg_1)
Preprocessing
Found invariant Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 for location evalrandom1dbb1in
Found invariant Arg_1<=1+Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 for location evalrandom1dbb5in
Problem after Preprocessing
Start: evalrandom1dstart
Program_Vars: Arg_0, Arg_1
Temp_Vars: C
Locations: evalrandom1dbb1in, evalrandom1dbb5in, evalrandom1dentryin, evalrandom1dreturnin, evalrandom1dstart, evalrandom1dstop
Transitions:
5:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && C+1<=0
6:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && 1<=C
7:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0
3:evalrandom1dbb5in(Arg_0,Arg_1) -> evalrandom1dbb1in(Arg_0,Arg_1):|:Arg_1<=1+Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_1<=Arg_0
4:evalrandom1dbb5in(Arg_0,Arg_1) -> evalrandom1dreturnin(Arg_0,Arg_1):|:Arg_1<=1+Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_0+1<=Arg_1
1:evalrandom1dentryin(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,1):|:1<=Arg_0
2:evalrandom1dentryin(Arg_0,Arg_1) -> evalrandom1dreturnin(Arg_0,Arg_1):|:Arg_0<=0
8:evalrandom1dreturnin(Arg_0,Arg_1) -> evalrandom1dstop(Arg_0,Arg_1)
0:evalrandom1dstart(Arg_0,Arg_1) -> evalrandom1dentryin(Arg_0,Arg_1)
MPRF for transition 5:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && C+1<=0 of depth 1:
new bound:
Arg_0+2 {O(n)}
MPRF:
evalrandom1dbb5in [Arg_0+1-Arg_1 ]
evalrandom1dbb1in [Arg_0+1-Arg_1 ]
MPRF for transition 6:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && 1<=C of depth 1:
new bound:
Arg_0+2 {O(n)}
MPRF:
evalrandom1dbb5in [Arg_0+1-Arg_1 ]
evalrandom1dbb1in [Arg_0+1-Arg_1 ]
MPRF for transition 7:evalrandom1dbb1in(Arg_0,Arg_1) -> evalrandom1dbb5in(Arg_0,Arg_1+1):|:Arg_1<=Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 of depth 1:
new bound:
Arg_0+2 {O(n)}
MPRF:
evalrandom1dbb5in [Arg_0+1-Arg_1 ]
evalrandom1dbb1in [Arg_0+1-Arg_1 ]
MPRF for transition 3:evalrandom1dbb5in(Arg_0,Arg_1) -> evalrandom1dbb1in(Arg_0,Arg_1):|:Arg_1<=1+Arg_0 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_1<=Arg_0 of depth 1:
new bound:
Arg_0+2 {O(n)}
MPRF:
evalrandom1dbb5in [Arg_0+1-Arg_1 ]
evalrandom1dbb1in [Arg_0-Arg_1 ]
All Bounds
Timebounds
Overall timebound:4*Arg_0+13 {O(n)}
5: evalrandom1dbb1in->evalrandom1dbb5in: Arg_0+2 {O(n)}
6: evalrandom1dbb1in->evalrandom1dbb5in: Arg_0+2 {O(n)}
7: evalrandom1dbb1in->evalrandom1dbb5in: Arg_0+2 {O(n)}
3: evalrandom1dbb5in->evalrandom1dbb1in: Arg_0+2 {O(n)}
4: evalrandom1dbb5in->evalrandom1dreturnin: 1 {O(1)}
1: evalrandom1dentryin->evalrandom1dbb5in: 1 {O(1)}
2: evalrandom1dentryin->evalrandom1dreturnin: 1 {O(1)}
8: evalrandom1dreturnin->evalrandom1dstop: 1 {O(1)}
0: evalrandom1dstart->evalrandom1dentryin: 1 {O(1)}
Costbounds
Overall costbound: 4*Arg_0+13 {O(n)}
5: evalrandom1dbb1in->evalrandom1dbb5in: Arg_0+2 {O(n)}
6: evalrandom1dbb1in->evalrandom1dbb5in: Arg_0+2 {O(n)}
7: evalrandom1dbb1in->evalrandom1dbb5in: Arg_0+2 {O(n)}
3: evalrandom1dbb5in->evalrandom1dbb1in: Arg_0+2 {O(n)}
4: evalrandom1dbb5in->evalrandom1dreturnin: 1 {O(1)}
1: evalrandom1dentryin->evalrandom1dbb5in: 1 {O(1)}
2: evalrandom1dentryin->evalrandom1dreturnin: 1 {O(1)}
8: evalrandom1dreturnin->evalrandom1dstop: 1 {O(1)}
0: evalrandom1dstart->evalrandom1dentryin: 1 {O(1)}
Sizebounds
5: evalrandom1dbb1in->evalrandom1dbb5in, Arg_0: Arg_0 {O(n)}
5: evalrandom1dbb1in->evalrandom1dbb5in, Arg_1: 3*Arg_0+7 {O(n)}
6: evalrandom1dbb1in->evalrandom1dbb5in, Arg_0: Arg_0 {O(n)}
6: evalrandom1dbb1in->evalrandom1dbb5in, Arg_1: 3*Arg_0+7 {O(n)}
7: evalrandom1dbb1in->evalrandom1dbb5in, Arg_0: Arg_0 {O(n)}
7: evalrandom1dbb1in->evalrandom1dbb5in, Arg_1: 3*Arg_0+7 {O(n)}
3: evalrandom1dbb5in->evalrandom1dbb1in, Arg_0: Arg_0 {O(n)}
3: evalrandom1dbb5in->evalrandom1dbb1in, Arg_1: 3*Arg_0+7 {O(n)}
4: evalrandom1dbb5in->evalrandom1dreturnin, Arg_0: 3*Arg_0 {O(n)}
4: evalrandom1dbb5in->evalrandom1dreturnin, Arg_1: 9*Arg_0+21 {O(n)}
1: evalrandom1dentryin->evalrandom1dbb5in, Arg_0: Arg_0 {O(n)}
1: evalrandom1dentryin->evalrandom1dbb5in, Arg_1: 1 {O(1)}
2: evalrandom1dentryin->evalrandom1dreturnin, Arg_0: Arg_0 {O(n)}
2: evalrandom1dentryin->evalrandom1dreturnin, Arg_1: Arg_1 {O(n)}
8: evalrandom1dreturnin->evalrandom1dstop, Arg_0: 4*Arg_0 {O(n)}
8: evalrandom1dreturnin->evalrandom1dstop, Arg_1: 9*Arg_0+Arg_1+21 {O(n)}
0: evalrandom1dstart->evalrandom1dentryin, Arg_0: Arg_0 {O(n)}
0: evalrandom1dstart->evalrandom1dentryin, Arg_1: Arg_1 {O(n)}