Initial Problem
Start: evalsipmabubblestart
Program_Vars: Arg_0, Arg_1
Temp_Vars: C, D
Locations: evalsipmabubblebb1in, evalsipmabubblebb2in, evalsipmabubblebb3in, evalsipmabubblebb4in, evalsipmabubblebb5in, evalsipmabubblebb6in, evalsipmabubbleentryin, evalsipmabubblereturnin, evalsipmabubblestart, evalsipmabubblestop
Transitions:
6:evalsipmabubblebb1in(Arg_0,Arg_1) -> evalsipmabubblebb2in(Arg_0,Arg_1):|:D+1<=C
7:evalsipmabubblebb1in(Arg_0,Arg_1) -> evalsipmabubblebb3in(Arg_0,Arg_1):|:C<=D
8:evalsipmabubblebb2in(Arg_0,Arg_1) -> evalsipmabubblebb3in(Arg_0,Arg_1)
9:evalsipmabubblebb3in(Arg_0,Arg_1) -> evalsipmabubblebb4in(Arg_0,Arg_1+1)
4:evalsipmabubblebb4in(Arg_0,Arg_1) -> evalsipmabubblebb1in(Arg_0,Arg_1):|:1+Arg_1<=Arg_0
5:evalsipmabubblebb4in(Arg_0,Arg_1) -> evalsipmabubblebb5in(Arg_0,Arg_1):|:Arg_0<=Arg_1
10:evalsipmabubblebb5in(Arg_0,Arg_1) -> evalsipmabubblebb6in(Arg_0-1,Arg_1)
2:evalsipmabubblebb6in(Arg_0,Arg_1) -> evalsipmabubblebb4in(Arg_0,0):|:0<=Arg_0
3:evalsipmabubblebb6in(Arg_0,Arg_1) -> evalsipmabubblereturnin(Arg_0,Arg_1):|:Arg_0+1<=0
1:evalsipmabubbleentryin(Arg_0,Arg_1) -> evalsipmabubblebb6in(Arg_0,Arg_1)
11:evalsipmabubblereturnin(Arg_0,Arg_1) -> evalsipmabubblestop(Arg_0,Arg_1)
0:evalsipmabubblestart(Arg_0,Arg_1) -> evalsipmabubbleentryin(Arg_0,Arg_1)
Preprocessing
Found invariant Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_1 && 0<=Arg_0 for location evalsipmabubblebb5in
Found invariant 1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location evalsipmabubblebb3in
Found invariant Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 for location evalsipmabubblebb4in
Found invariant 1+Arg_0<=0 for location evalsipmabubblestop
Found invariant 1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location evalsipmabubblebb2in
Found invariant 1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location evalsipmabubblebb1in
Found invariant 1+Arg_0<=0 for location evalsipmabubblereturnin
Problem after Preprocessing
Start: evalsipmabubblestart
Program_Vars: Arg_0, Arg_1
Temp_Vars: C, D
Locations: evalsipmabubblebb1in, evalsipmabubblebb2in, evalsipmabubblebb3in, evalsipmabubblebb4in, evalsipmabubblebb5in, evalsipmabubblebb6in, evalsipmabubbleentryin, evalsipmabubblereturnin, evalsipmabubblestart, evalsipmabubblestop
Transitions:
6:evalsipmabubblebb1in(Arg_0,Arg_1) -> evalsipmabubblebb2in(Arg_0,Arg_1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && D+1<=C
7:evalsipmabubblebb1in(Arg_0,Arg_1) -> evalsipmabubblebb3in(Arg_0,Arg_1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && C<=D
8:evalsipmabubblebb2in(Arg_0,Arg_1) -> evalsipmabubblebb3in(Arg_0,Arg_1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0
9:evalsipmabubblebb3in(Arg_0,Arg_1) -> evalsipmabubblebb4in(Arg_0,Arg_1+1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0
4:evalsipmabubblebb4in(Arg_0,Arg_1) -> evalsipmabubblebb1in(Arg_0,Arg_1):|:Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 1+Arg_1<=Arg_0
5:evalsipmabubblebb4in(Arg_0,Arg_1) -> evalsipmabubblebb5in(Arg_0,Arg_1):|:Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_0<=Arg_1
10:evalsipmabubblebb5in(Arg_0,Arg_1) -> evalsipmabubblebb6in(Arg_0-1,Arg_1):|:Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_1 && 0<=Arg_0
2:evalsipmabubblebb6in(Arg_0,Arg_1) -> evalsipmabubblebb4in(Arg_0,0):|:0<=Arg_0
3:evalsipmabubblebb6in(Arg_0,Arg_1) -> evalsipmabubblereturnin(Arg_0,Arg_1):|:Arg_0+1<=0
1:evalsipmabubbleentryin(Arg_0,Arg_1) -> evalsipmabubblebb6in(Arg_0,Arg_1)
11:evalsipmabubblereturnin(Arg_0,Arg_1) -> evalsipmabubblestop(Arg_0,Arg_1):|:1+Arg_0<=0
0:evalsipmabubblestart(Arg_0,Arg_1) -> evalsipmabubbleentryin(Arg_0,Arg_1)
MPRF for transition 5:evalsipmabubblebb4in(Arg_0,Arg_1) -> evalsipmabubblebb5in(Arg_0,Arg_1):|:Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && Arg_0<=Arg_1 of depth 1:
new bound:
Arg_0+1 {O(n)}
MPRF:
evalsipmabubblebb2in [Arg_0+1 ]
evalsipmabubblebb3in [Arg_0+1 ]
evalsipmabubblebb1in [Arg_0+1 ]
evalsipmabubblebb5in [Arg_1 ]
evalsipmabubblebb6in [Arg_0+1 ]
evalsipmabubblebb4in [Arg_0+1 ]
MPRF for transition 10:evalsipmabubblebb5in(Arg_0,Arg_1) -> evalsipmabubblebb6in(Arg_0-1,Arg_1):|:Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && Arg_0<=Arg_1 && 0<=Arg_0 of depth 1:
new bound:
Arg_0+1 {O(n)}
MPRF:
evalsipmabubblebb2in [Arg_0+1 ]
evalsipmabubblebb3in [Arg_0+1 ]
evalsipmabubblebb1in [Arg_0+1 ]
evalsipmabubblebb5in [Arg_1+1 ]
evalsipmabubblebb6in [Arg_0+1 ]
evalsipmabubblebb4in [Arg_0+1 ]
MPRF for transition 2:evalsipmabubblebb6in(Arg_0,Arg_1) -> evalsipmabubblebb4in(Arg_0,0):|:0<=Arg_0 of depth 1:
new bound:
Arg_0+1 {O(n)}
MPRF:
evalsipmabubblebb2in [Arg_0 ]
evalsipmabubblebb3in [Arg_0 ]
evalsipmabubblebb1in [Arg_0 ]
evalsipmabubblebb5in [Arg_1 ]
evalsipmabubblebb6in [Arg_0+1 ]
evalsipmabubblebb4in [Arg_0 ]
MPRF for transition 6:evalsipmabubblebb1in(Arg_0,Arg_1) -> evalsipmabubblebb2in(Arg_0,Arg_1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && D+1<=C of depth 1:
new bound:
Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
MPRF:
evalsipmabubblebb2in [Arg_0-Arg_1 ]
evalsipmabubblebb3in [Arg_0-Arg_1 ]
evalsipmabubblebb1in [Arg_0+1-Arg_1 ]
evalsipmabubblebb4in [Arg_0+1-Arg_1 ]
evalsipmabubblebb5in [Arg_0+1-Arg_1 ]
evalsipmabubblebb6in [1 ]
MPRF for transition 7:evalsipmabubblebb1in(Arg_0,Arg_1) -> evalsipmabubblebb3in(Arg_0,Arg_1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && C<=D of depth 1:
new bound:
Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
MPRF:
evalsipmabubblebb2in [Arg_0-Arg_1 ]
evalsipmabubblebb3in [Arg_0-Arg_1 ]
evalsipmabubblebb1in [Arg_0+1-Arg_1 ]
evalsipmabubblebb4in [Arg_0+1-Arg_1 ]
evalsipmabubblebb5in [Arg_0+1-Arg_1 ]
evalsipmabubblebb6in [1 ]
MPRF for transition 8:evalsipmabubblebb2in(Arg_0,Arg_1) -> evalsipmabubblebb3in(Arg_0,Arg_1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 of depth 1:
new bound:
Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
MPRF:
evalsipmabubblebb2in [Arg_0+1-Arg_1 ]
evalsipmabubblebb3in [Arg_0-Arg_1 ]
evalsipmabubblebb1in [Arg_0+1-Arg_1 ]
evalsipmabubblebb4in [Arg_0+1-Arg_1 ]
evalsipmabubblebb5in [1 ]
evalsipmabubblebb6in [1 ]
MPRF for transition 9:evalsipmabubblebb3in(Arg_0,Arg_1) -> evalsipmabubblebb4in(Arg_0,Arg_1+1):|:1+Arg_1<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 of depth 1:
new bound:
2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
MPRF:
evalsipmabubblebb2in [2*Arg_0-Arg_1 ]
evalsipmabubblebb3in [2*Arg_0-Arg_1 ]
evalsipmabubblebb1in [2*Arg_0-Arg_1 ]
evalsipmabubblebb4in [2*Arg_0-Arg_1 ]
evalsipmabubblebb5in [2*Arg_0-Arg_1 ]
evalsipmabubblebb6in [Arg_0+1 ]
MPRF for transition 4:evalsipmabubblebb4in(Arg_0,Arg_1) -> evalsipmabubblebb1in(Arg_0,Arg_1):|:Arg_1<=Arg_0 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 1+Arg_1<=Arg_0 of depth 1:
new bound:
Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
MPRF:
evalsipmabubblebb2in [Arg_0-Arg_1 ]
evalsipmabubblebb3in [Arg_0-Arg_1 ]
evalsipmabubblebb1in [Arg_0-Arg_1 ]
evalsipmabubblebb4in [Arg_0+1-Arg_1 ]
evalsipmabubblebb5in [Arg_0+1-Arg_1 ]
evalsipmabubblebb6in [1 ]
All Bounds
Timebounds
Overall timebound:6*Arg_0*Arg_0+19*Arg_0+17 {O(n^2)}
6: evalsipmabubblebb1in->evalsipmabubblebb2in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
7: evalsipmabubblebb1in->evalsipmabubblebb3in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
8: evalsipmabubblebb2in->evalsipmabubblebb3in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
9: evalsipmabubblebb3in->evalsipmabubblebb4in: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
4: evalsipmabubblebb4in->evalsipmabubblebb1in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
5: evalsipmabubblebb4in->evalsipmabubblebb5in: Arg_0+1 {O(n)}
10: evalsipmabubblebb5in->evalsipmabubblebb6in: Arg_0+1 {O(n)}
2: evalsipmabubblebb6in->evalsipmabubblebb4in: Arg_0+1 {O(n)}
3: evalsipmabubblebb6in->evalsipmabubblereturnin: 1 {O(1)}
1: evalsipmabubbleentryin->evalsipmabubblebb6in: 1 {O(1)}
11: evalsipmabubblereturnin->evalsipmabubblestop: 1 {O(1)}
0: evalsipmabubblestart->evalsipmabubbleentryin: 1 {O(1)}
Costbounds
Overall costbound: 6*Arg_0*Arg_0+19*Arg_0+17 {O(n^2)}
6: evalsipmabubblebb1in->evalsipmabubblebb2in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
7: evalsipmabubblebb1in->evalsipmabubblebb3in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
8: evalsipmabubblebb2in->evalsipmabubblebb3in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
9: evalsipmabubblebb3in->evalsipmabubblebb4in: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
4: evalsipmabubblebb4in->evalsipmabubblebb1in: Arg_0*Arg_0+3*Arg_0+2 {O(n^2)}
5: evalsipmabubblebb4in->evalsipmabubblebb5in: Arg_0+1 {O(n)}
10: evalsipmabubblebb5in->evalsipmabubblebb6in: Arg_0+1 {O(n)}
2: evalsipmabubblebb6in->evalsipmabubblebb4in: Arg_0+1 {O(n)}
3: evalsipmabubblebb6in->evalsipmabubblereturnin: 1 {O(1)}
1: evalsipmabubbleentryin->evalsipmabubblebb6in: 1 {O(1)}
11: evalsipmabubblereturnin->evalsipmabubblestop: 1 {O(1)}
0: evalsipmabubblestart->evalsipmabubbleentryin: 1 {O(1)}
Sizebounds
6: evalsipmabubblebb1in->evalsipmabubblebb2in, Arg_0: Arg_0+1 {O(n)}
6: evalsipmabubblebb1in->evalsipmabubblebb2in, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
7: evalsipmabubblebb1in->evalsipmabubblebb3in, Arg_0: Arg_0+1 {O(n)}
7: evalsipmabubblebb1in->evalsipmabubblebb3in, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
8: evalsipmabubblebb2in->evalsipmabubblebb3in, Arg_0: Arg_0+1 {O(n)}
8: evalsipmabubblebb2in->evalsipmabubblebb3in, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
9: evalsipmabubblebb3in->evalsipmabubblebb4in, Arg_0: Arg_0+1 {O(n)}
9: evalsipmabubblebb3in->evalsipmabubblebb4in, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
4: evalsipmabubblebb4in->evalsipmabubblebb1in, Arg_0: Arg_0+1 {O(n)}
4: evalsipmabubblebb4in->evalsipmabubblebb1in, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
5: evalsipmabubblebb4in->evalsipmabubblebb5in, Arg_0: Arg_0+1 {O(n)}
5: evalsipmabubblebb4in->evalsipmabubblebb5in, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
10: evalsipmabubblebb5in->evalsipmabubblebb6in, Arg_0: Arg_0+1 {O(n)}
10: evalsipmabubblebb5in->evalsipmabubblebb6in, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+2 {O(n^2)}
2: evalsipmabubblebb6in->evalsipmabubblebb4in, Arg_0: Arg_0+1 {O(n)}
2: evalsipmabubblebb6in->evalsipmabubblebb4in, Arg_1: 0 {O(1)}
3: evalsipmabubblebb6in->evalsipmabubblereturnin, Arg_0: 2*Arg_0+1 {O(n)}
3: evalsipmabubblebb6in->evalsipmabubblereturnin, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+Arg_1+2 {O(n^2)}
1: evalsipmabubbleentryin->evalsipmabubblebb6in, Arg_0: Arg_0 {O(n)}
1: evalsipmabubbleentryin->evalsipmabubblebb6in, Arg_1: Arg_1 {O(n)}
11: evalsipmabubblereturnin->evalsipmabubblestop, Arg_0: 2*Arg_0+1 {O(n)}
11: evalsipmabubblereturnin->evalsipmabubblestop, Arg_1: 2*Arg_0*Arg_0+4*Arg_0+Arg_1+2 {O(n^2)}
0: evalsipmabubblestart->evalsipmabubbleentryin, Arg_0: Arg_0 {O(n)}
0: evalsipmabubblestart->evalsipmabubbleentryin, Arg_1: Arg_1 {O(n)}