Initial Problem

Start: evalwcet2start
Program_Vars: Arg_0, Arg_1
Temp_Vars:
Locations: evalwcet2bb1in, evalwcet2bb2in, evalwcet2bb4in, evalwcet2bb5in, evalwcet2entryin, evalwcet2returnin, evalwcet2start, evalwcet2stop
Transitions:
7:evalwcet2bb1in(Arg_0,Arg_1) -> evalwcet2bb2in(Arg_0,Arg_1+1)
4:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb1in(Arg_0,Arg_1):|:3<=Arg_0 && Arg_1<=9
5:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb4in(Arg_0,Arg_1):|:Arg_0<=2
6:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb4in(Arg_0,Arg_1):|:10<=Arg_1
8:evalwcet2bb4in(Arg_0,Arg_1) -> evalwcet2bb5in(Arg_0+1,Arg_1)
2:evalwcet2bb5in(Arg_0,Arg_1) -> evalwcet2bb2in(Arg_0,0):|:Arg_0<=4
3:evalwcet2bb5in(Arg_0,Arg_1) -> evalwcet2returnin(Arg_0,Arg_1):|:5<=Arg_0
1:evalwcet2entryin(Arg_0,Arg_1) -> evalwcet2bb5in(Arg_0,Arg_1)
9:evalwcet2returnin(Arg_0,Arg_1) -> evalwcet2stop(Arg_0,Arg_1)
0:evalwcet2start(Arg_0,Arg_1) -> evalwcet2entryin(Arg_0,Arg_1)

Preprocessing

Found invariant 0<=Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 for location evalwcet2bb2in

Found invariant 5<=Arg_0 for location evalwcet2returnin

Found invariant Arg_1<=9 && Arg_1<=6+Arg_0 && Arg_0+Arg_1<=13 && 0<=Arg_1 && 3<=Arg_0+Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && 3<=Arg_0 for location evalwcet2bb1in

Found invariant 5<=Arg_0 for location evalwcet2stop

Found invariant 0<=Arg_1 && Arg_0<=2+Arg_1 && Arg_0<=4 for location evalwcet2bb4in

Problem after Preprocessing

Start: evalwcet2start
Program_Vars: Arg_0, Arg_1
Temp_Vars:
Locations: evalwcet2bb1in, evalwcet2bb2in, evalwcet2bb4in, evalwcet2bb5in, evalwcet2entryin, evalwcet2returnin, evalwcet2start, evalwcet2stop
Transitions:
7:evalwcet2bb1in(Arg_0,Arg_1) -> evalwcet2bb2in(Arg_0,Arg_1+1):|:Arg_1<=9 && Arg_1<=6+Arg_0 && Arg_0+Arg_1<=13 && 0<=Arg_1 && 3<=Arg_0+Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && 3<=Arg_0
4:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb1in(Arg_0,Arg_1):|:0<=Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && 3<=Arg_0 && Arg_1<=9
5:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb4in(Arg_0,Arg_1):|:0<=Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && Arg_0<=2
6:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb4in(Arg_0,Arg_1):|:0<=Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && 10<=Arg_1
8:evalwcet2bb4in(Arg_0,Arg_1) -> evalwcet2bb5in(Arg_0+1,Arg_1):|:0<=Arg_1 && Arg_0<=2+Arg_1 && Arg_0<=4
2:evalwcet2bb5in(Arg_0,Arg_1) -> evalwcet2bb2in(Arg_0,0):|:Arg_0<=4
3:evalwcet2bb5in(Arg_0,Arg_1) -> evalwcet2returnin(Arg_0,Arg_1):|:5<=Arg_0
1:evalwcet2entryin(Arg_0,Arg_1) -> evalwcet2bb5in(Arg_0,Arg_1)
9:evalwcet2returnin(Arg_0,Arg_1) -> evalwcet2stop(Arg_0,Arg_1):|:5<=Arg_0
0:evalwcet2start(Arg_0,Arg_1) -> evalwcet2entryin(Arg_0,Arg_1)

MPRF for transition 5:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb4in(Arg_0,Arg_1):|:0<=Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && Arg_0<=2 of depth 1:

new bound:

Arg_0+3 {O(n)}

MPRF:

evalwcet2bb1in [3-Arg_0 ]
evalwcet2bb4in [2-Arg_0 ]
evalwcet2bb5in [3-Arg_0 ]
evalwcet2bb2in [3-Arg_0 ]

MPRF for transition 6:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb4in(Arg_0,Arg_1):|:0<=Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && 10<=Arg_1 of depth 1:

new bound:

Arg_0+5 {O(n)}

MPRF:

evalwcet2bb1in [5-Arg_0 ]
evalwcet2bb4in [4-Arg_0 ]
evalwcet2bb5in [5-Arg_0 ]
evalwcet2bb2in [5-Arg_0 ]

MPRF for transition 8:evalwcet2bb4in(Arg_0,Arg_1) -> evalwcet2bb5in(Arg_0+1,Arg_1):|:0<=Arg_1 && Arg_0<=2+Arg_1 && Arg_0<=4 of depth 1:

new bound:

Arg_0+5 {O(n)}

MPRF:

evalwcet2bb1in [5-Arg_0 ]
evalwcet2bb4in [5-Arg_0 ]
evalwcet2bb5in [5-Arg_0 ]
evalwcet2bb2in [5-Arg_0 ]

MPRF for transition 2:evalwcet2bb5in(Arg_0,Arg_1) -> evalwcet2bb2in(Arg_0,0):|:Arg_0<=4 of depth 1:

new bound:

Arg_0+5 {O(n)}

MPRF:

evalwcet2bb1in [4-Arg_0 ]
evalwcet2bb4in [4-Arg_0 ]
evalwcet2bb5in [5-Arg_0 ]
evalwcet2bb2in [4-Arg_0 ]

MPRF for transition 7:evalwcet2bb1in(Arg_0,Arg_1) -> evalwcet2bb2in(Arg_0,Arg_1+1):|:Arg_1<=9 && Arg_1<=6+Arg_0 && Arg_0+Arg_1<=13 && 0<=Arg_1 && 3<=Arg_0+Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && 3<=Arg_0 of depth 1:

new bound:

10*Arg_0+50 {O(n)}

MPRF:

evalwcet2bb1in [10-Arg_1 ]
evalwcet2bb2in [10-Arg_1 ]
evalwcet2bb4in [-Arg_1 ]
evalwcet2bb5in [-Arg_1 ]

MPRF for transition 4:evalwcet2bb2in(Arg_0,Arg_1) -> evalwcet2bb1in(Arg_0,Arg_1):|:0<=Arg_1 && Arg_0<=4+Arg_1 && Arg_0<=4 && 3<=Arg_0 && Arg_1<=9 of depth 1:

new bound:

10*Arg_0+50 {O(n)}

MPRF:

evalwcet2bb1in [9-Arg_1 ]
evalwcet2bb2in [10-Arg_1 ]
evalwcet2bb4in [-Arg_1 ]
evalwcet2bb5in [-Arg_1 ]

All Bounds

Timebounds

Overall timebound:24*Arg_0+122 {O(n)}
7: evalwcet2bb1in->evalwcet2bb2in: 10*Arg_0+50 {O(n)}
4: evalwcet2bb2in->evalwcet2bb1in: 10*Arg_0+50 {O(n)}
5: evalwcet2bb2in->evalwcet2bb4in: Arg_0+3 {O(n)}
6: evalwcet2bb2in->evalwcet2bb4in: Arg_0+5 {O(n)}
8: evalwcet2bb4in->evalwcet2bb5in: Arg_0+5 {O(n)}
2: evalwcet2bb5in->evalwcet2bb2in: Arg_0+5 {O(n)}
3: evalwcet2bb5in->evalwcet2returnin: 1 {O(1)}
1: evalwcet2entryin->evalwcet2bb5in: 1 {O(1)}
9: evalwcet2returnin->evalwcet2stop: 1 {O(1)}
0: evalwcet2start->evalwcet2entryin: 1 {O(1)}

Costbounds

Overall costbound: 24*Arg_0+122 {O(n)}
7: evalwcet2bb1in->evalwcet2bb2in: 10*Arg_0+50 {O(n)}
4: evalwcet2bb2in->evalwcet2bb1in: 10*Arg_0+50 {O(n)}
5: evalwcet2bb2in->evalwcet2bb4in: Arg_0+3 {O(n)}
6: evalwcet2bb2in->evalwcet2bb4in: Arg_0+5 {O(n)}
8: evalwcet2bb4in->evalwcet2bb5in: Arg_0+5 {O(n)}
2: evalwcet2bb5in->evalwcet2bb2in: Arg_0+5 {O(n)}
3: evalwcet2bb5in->evalwcet2returnin: 1 {O(1)}
1: evalwcet2entryin->evalwcet2bb5in: 1 {O(1)}
9: evalwcet2returnin->evalwcet2stop: 1 {O(1)}
0: evalwcet2start->evalwcet2entryin: 1 {O(1)}

Sizebounds

7: evalwcet2bb1in->evalwcet2bb2in, Arg_0: 4 {O(1)}
7: evalwcet2bb1in->evalwcet2bb2in, Arg_1: 10 {O(1)}
4: evalwcet2bb2in->evalwcet2bb1in, Arg_0: 4 {O(1)}
4: evalwcet2bb2in->evalwcet2bb1in, Arg_1: 9 {O(1)}
5: evalwcet2bb2in->evalwcet2bb4in, Arg_0: 2*Arg_0+9 {O(n)}
5: evalwcet2bb2in->evalwcet2bb4in, Arg_1: 0 {O(1)}
6: evalwcet2bb2in->evalwcet2bb4in, Arg_0: 4 {O(1)}
6: evalwcet2bb2in->evalwcet2bb4in, Arg_1: 10 {O(1)}
8: evalwcet2bb4in->evalwcet2bb5in, Arg_0: 2*Arg_0+9 {O(n)}
8: evalwcet2bb4in->evalwcet2bb5in, Arg_1: 10 {O(1)}
2: evalwcet2bb5in->evalwcet2bb2in, Arg_0: 2*Arg_0+9 {O(n)}
2: evalwcet2bb5in->evalwcet2bb2in, Arg_1: 0 {O(1)}
3: evalwcet2bb5in->evalwcet2returnin, Arg_0: 3*Arg_0+9 {O(n)}
3: evalwcet2bb5in->evalwcet2returnin, Arg_1: Arg_1+10 {O(n)}
1: evalwcet2entryin->evalwcet2bb5in, Arg_0: Arg_0 {O(n)}
1: evalwcet2entryin->evalwcet2bb5in, Arg_1: Arg_1 {O(n)}
9: evalwcet2returnin->evalwcet2stop, Arg_0: 3*Arg_0+9 {O(n)}
9: evalwcet2returnin->evalwcet2stop, Arg_1: Arg_1+10 {O(n)}
0: evalwcet2start->evalwcet2entryin, Arg_0: Arg_0 {O(n)}
0: evalwcet2start->evalwcet2entryin, Arg_1: Arg_1 {O(n)}