Initial Problem
Start: evalEx4start
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: E
Locations: evalEx4bb1in, evalEx4bb2in, evalEx4bb3in, evalEx4bb4in, evalEx4entryin, evalEx4returnin, evalEx4start, evalEx4stop
Transitions:
10:evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb2in(Arg_0,Arg_1,1,Arg_3-1)
6:evalEx4bb2in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3):|:1<=Arg_3
5:evalEx4bb2in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(Arg_2,Arg_3,Arg_2,Arg_3):|:Arg_3<=0
7:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3):|:E+1<=0
8:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3):|:1<=E
9:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(Arg_2,Arg_3,Arg_2,Arg_3)
2:evalEx4bb4in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb2in(Arg_0,Arg_1,0,Arg_1):|:Arg_0<=1 && 1<=Arg_0
3:evalEx4bb4in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4returnin(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_0<=0
4:evalEx4bb4in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4returnin(Arg_0,Arg_1,Arg_2,Arg_3):|:2<=Arg_0
1:evalEx4entryin(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(1,Arg_0,Arg_2,Arg_3)
11:evalEx4returnin(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4stop(Arg_0,Arg_1,Arg_2,Arg_3)
0:evalEx4start(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4entryin(Arg_0,Arg_1,Arg_2,Arg_3)
Preprocessing
Found invariant Arg_0<=0 && 0<=Arg_0 for location evalEx4stop
Found invariant Arg_0<=0 && 0<=Arg_0 for location evalEx4returnin
Found invariant Arg_0<=1 && 0<=Arg_0 for location evalEx4bb4in
Found invariant Arg_3<=Arg_1 && Arg_2<=1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && Arg_0<=1 && 1<=Arg_0 for location evalEx4bb2in
Found invariant Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 for location evalEx4bb1in
Found invariant Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 for location evalEx4bb3in
Cut unsatisfiable transition 4: evalEx4bb4in->evalEx4returnin
Problem after Preprocessing
Start: evalEx4start
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: E
Locations: evalEx4bb1in, evalEx4bb2in, evalEx4bb3in, evalEx4bb4in, evalEx4entryin, evalEx4returnin, evalEx4start, evalEx4stop
Transitions:
10:evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb2in(Arg_0,Arg_1,1,Arg_3-1):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0
6:evalEx4bb2in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_1 && Arg_2<=1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && Arg_0<=1 && 1<=Arg_0 && 1<=Arg_3
5:evalEx4bb2in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(Arg_2,Arg_3,Arg_2,Arg_3):|:Arg_3<=Arg_1 && Arg_2<=1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && Arg_0<=1 && 1<=Arg_0 && Arg_3<=0
7:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 && E+1<=0
8:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 && 1<=E
9:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(Arg_2,Arg_3,Arg_2,Arg_3):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0
2:evalEx4bb4in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb2in(Arg_0,Arg_1,0,Arg_1):|:Arg_0<=1 && 0<=Arg_0 && Arg_0<=1 && 1<=Arg_0
3:evalEx4bb4in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4returnin(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_0<=1 && 0<=Arg_0 && Arg_0<=0
1:evalEx4entryin(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(1,Arg_0,Arg_2,Arg_3)
11:evalEx4returnin(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4stop(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_0<=0 && 0<=Arg_0
0:evalEx4start(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4entryin(Arg_0,Arg_1,Arg_2,Arg_3)
MPRF for transition 10:evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb2in(Arg_0,Arg_1,1,Arg_3-1):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 of depth 1:
new bound:
3*Arg_0 {O(n)}
MPRF:
evalEx4bb1in [2*Arg_1+Arg_3 ]
evalEx4bb3in [2*Arg_1+Arg_3 ]
evalEx4bb4in [3*Arg_1 ]
evalEx4bb2in [2*Arg_1+Arg_3 ]
MPRF for transition 6:evalEx4bb2in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_1 && Arg_2<=1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && Arg_0<=1 && 1<=Arg_0 && 1<=Arg_3 of depth 1:
new bound:
2*Arg_0+3 {O(n)}
MPRF:
evalEx4bb1in [2*Arg_3-2 ]
evalEx4bb3in [Arg_2+2*Arg_3-2 ]
evalEx4bb4in [Arg_0+2*Arg_1-2 ]
evalEx4bb2in [Arg_2+2*Arg_3-1 ]
MPRF for transition 7:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 && E+1<=0 of depth 1:
new bound:
Arg_0 {O(n)}
MPRF:
evalEx4bb1in [Arg_3-1 ]
evalEx4bb3in [Arg_3 ]
evalEx4bb4in [Arg_1 ]
evalEx4bb2in [Arg_3 ]
MPRF for transition 8:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb1in(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 && 1<=E of depth 1:
new bound:
Arg_0 {O(n)}
MPRF:
evalEx4bb1in [Arg_3-1 ]
evalEx4bb3in [Arg_3 ]
evalEx4bb4in [Arg_1 ]
evalEx4bb2in [Arg_3 ]
MPRF for transition 9:evalEx4bb3in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(Arg_2,Arg_3,Arg_2,Arg_3):|:Arg_3<=Arg_1 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=Arg_3 && 2<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && Arg_0<=Arg_3 && Arg_2<=1 && Arg_2<=Arg_1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && 1<=Arg_1 && 2<=Arg_0+Arg_1 && Arg_0<=Arg_1 && Arg_0<=1 && 1<=Arg_0 of depth 1:
new bound:
Arg_0+1 {O(n)}
MPRF:
evalEx4bb1in [Arg_0+Arg_3 ]
evalEx4bb3in [Arg_2+Arg_3+1 ]
evalEx4bb4in [Arg_0+Arg_1 ]
evalEx4bb2in [Arg_0+Arg_2+Arg_3 ]
MPRF for transition 5:evalEx4bb2in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb4in(Arg_2,Arg_3,Arg_2,Arg_3):|:Arg_3<=Arg_1 && Arg_2<=1 && Arg_2<=Arg_0 && Arg_0+Arg_2<=2 && 0<=Arg_2 && 1<=Arg_0+Arg_2 && Arg_0<=1+Arg_2 && Arg_0<=1 && 1<=Arg_0 && Arg_3<=0 of depth 1:
new bound:
4*Arg_0+1 {O(n)}
MPRF:
evalEx4bb1in [2 ]
evalEx4bb3in [Arg_2+1 ]
evalEx4bb4in [Arg_0 ]
evalEx4bb2in [Arg_2+1 ]
MPRF for transition 2:evalEx4bb4in(Arg_0,Arg_1,Arg_2,Arg_3) -> evalEx4bb2in(Arg_0,Arg_1,0,Arg_1):|:Arg_0<=1 && 0<=Arg_0 && Arg_0<=1 && 1<=Arg_0 of depth 1:
new bound:
4*Arg_0+2 {O(n)}
MPRF:
evalEx4bb1in [Arg_0+1 ]
evalEx4bb3in [Arg_0+Arg_2 ]
evalEx4bb4in [Arg_0+1 ]
evalEx4bb2in [Arg_0+Arg_2 ]
All Bounds
Timebounds
Overall timebound:16*Arg_0+11 {O(n)}
10: evalEx4bb1in->evalEx4bb2in: 3*Arg_0 {O(n)}
5: evalEx4bb2in->evalEx4bb4in: 4*Arg_0+1 {O(n)}
6: evalEx4bb2in->evalEx4bb3in: 2*Arg_0+3 {O(n)}
7: evalEx4bb3in->evalEx4bb1in: Arg_0 {O(n)}
8: evalEx4bb3in->evalEx4bb1in: Arg_0 {O(n)}
9: evalEx4bb3in->evalEx4bb4in: Arg_0+1 {O(n)}
2: evalEx4bb4in->evalEx4bb2in: 4*Arg_0+2 {O(n)}
3: evalEx4bb4in->evalEx4returnin: 1 {O(1)}
1: evalEx4entryin->evalEx4bb4in: 1 {O(1)}
11: evalEx4returnin->evalEx4stop: 1 {O(1)}
0: evalEx4start->evalEx4entryin: 1 {O(1)}
Costbounds
Overall costbound: 16*Arg_0+11 {O(n)}
10: evalEx4bb1in->evalEx4bb2in: 3*Arg_0 {O(n)}
5: evalEx4bb2in->evalEx4bb4in: 4*Arg_0+1 {O(n)}
6: evalEx4bb2in->evalEx4bb3in: 2*Arg_0+3 {O(n)}
7: evalEx4bb3in->evalEx4bb1in: Arg_0 {O(n)}
8: evalEx4bb3in->evalEx4bb1in: Arg_0 {O(n)}
9: evalEx4bb3in->evalEx4bb4in: Arg_0+1 {O(n)}
2: evalEx4bb4in->evalEx4bb2in: 4*Arg_0+2 {O(n)}
3: evalEx4bb4in->evalEx4returnin: 1 {O(1)}
1: evalEx4entryin->evalEx4bb4in: 1 {O(1)}
11: evalEx4returnin->evalEx4stop: 1 {O(1)}
0: evalEx4start->evalEx4entryin: 1 {O(1)}
Sizebounds
10: evalEx4bb1in->evalEx4bb2in, Arg_0: 1 {O(1)}
10: evalEx4bb1in->evalEx4bb2in, Arg_1: 2*Arg_0 {O(n)}
10: evalEx4bb1in->evalEx4bb2in, Arg_2: 1 {O(1)}
10: evalEx4bb1in->evalEx4bb2in, Arg_3: 2*Arg_0 {O(n)}
5: evalEx4bb2in->evalEx4bb4in, Arg_0: 1 {O(1)}
5: evalEx4bb2in->evalEx4bb4in, Arg_1: 2*Arg_0 {O(n)}
5: evalEx4bb2in->evalEx4bb4in, Arg_2: 1 {O(1)}
5: evalEx4bb2in->evalEx4bb4in, Arg_3: 4*Arg_0 {O(n)}
6: evalEx4bb2in->evalEx4bb3in, Arg_0: 1 {O(1)}
6: evalEx4bb2in->evalEx4bb3in, Arg_1: 2*Arg_0 {O(n)}
6: evalEx4bb2in->evalEx4bb3in, Arg_2: 1 {O(1)}
6: evalEx4bb2in->evalEx4bb3in, Arg_3: 2*Arg_0 {O(n)}
7: evalEx4bb3in->evalEx4bb1in, Arg_0: 1 {O(1)}
7: evalEx4bb3in->evalEx4bb1in, Arg_1: 2*Arg_0 {O(n)}
7: evalEx4bb3in->evalEx4bb1in, Arg_2: 1 {O(1)}
7: evalEx4bb3in->evalEx4bb1in, Arg_3: 2*Arg_0 {O(n)}
8: evalEx4bb3in->evalEx4bb1in, Arg_0: 1 {O(1)}
8: evalEx4bb3in->evalEx4bb1in, Arg_1: 2*Arg_0 {O(n)}
8: evalEx4bb3in->evalEx4bb1in, Arg_2: 1 {O(1)}
8: evalEx4bb3in->evalEx4bb1in, Arg_3: 2*Arg_0 {O(n)}
9: evalEx4bb3in->evalEx4bb4in, Arg_0: 1 {O(1)}
9: evalEx4bb3in->evalEx4bb4in, Arg_1: 2*Arg_0 {O(n)}
9: evalEx4bb3in->evalEx4bb4in, Arg_2: 1 {O(1)}
9: evalEx4bb3in->evalEx4bb4in, Arg_3: 2*Arg_0 {O(n)}
2: evalEx4bb4in->evalEx4bb2in, Arg_0: 1 {O(1)}
2: evalEx4bb4in->evalEx4bb2in, Arg_1: 2*Arg_0 {O(n)}
2: evalEx4bb4in->evalEx4bb2in, Arg_2: 0 {O(1)}
2: evalEx4bb4in->evalEx4bb2in, Arg_3: 2*Arg_0 {O(n)}
3: evalEx4bb4in->evalEx4returnin, Arg_0: 0 {O(1)}
3: evalEx4bb4in->evalEx4returnin, Arg_1: 4*Arg_0 {O(n)}
3: evalEx4bb4in->evalEx4returnin, Arg_2: 2 {O(1)}
3: evalEx4bb4in->evalEx4returnin, Arg_3: 6*Arg_0 {O(n)}
1: evalEx4entryin->evalEx4bb4in, Arg_0: 1 {O(1)}
1: evalEx4entryin->evalEx4bb4in, Arg_1: Arg_0 {O(n)}
1: evalEx4entryin->evalEx4bb4in, Arg_2: Arg_2 {O(n)}
1: evalEx4entryin->evalEx4bb4in, Arg_3: Arg_3 {O(n)}
11: evalEx4returnin->evalEx4stop, Arg_0: 0 {O(1)}
11: evalEx4returnin->evalEx4stop, Arg_1: 4*Arg_0 {O(n)}
11: evalEx4returnin->evalEx4stop, Arg_2: 2 {O(1)}
11: evalEx4returnin->evalEx4stop, Arg_3: 6*Arg_0 {O(n)}
0: evalEx4start->evalEx4entryin, Arg_0: Arg_0 {O(n)}
0: evalEx4start->evalEx4entryin, Arg_1: Arg_1 {O(n)}
0: evalEx4start->evalEx4entryin, Arg_2: Arg_2 {O(n)}
0: evalEx4start->evalEx4entryin, Arg_3: Arg_3 {O(n)}