Start: start
Program_Vars: Arg_0, Arg_1
Temp_Vars:
Locations: div, end, start
Transitions:
2:div(Arg_0,Arg_1) -> div(Arg_0,Arg_1-Arg_0):|:Arg_0+1<=Arg_1 && 1<=Arg_0
0:div(Arg_0,Arg_1) -> end(Arg_0,Arg_1):|:Arg_0<=0
1:div(Arg_0,Arg_1) -> end(Arg_0,Arg_1):|:Arg_1<=Arg_0
3:start(Arg_0,Arg_1) -> div(Arg_0,Arg_1)
Start: start
Program_Vars: Arg_0, Arg_1
Temp_Vars:
Locations: div, end, start
Transitions:
2:div(Arg_0,Arg_1) -> div(Arg_0,Arg_1-Arg_0):|:Arg_0+1<=Arg_1 && 1<=Arg_0
0:div(Arg_0,Arg_1) -> end(Arg_0,Arg_1):|:Arg_0<=0
1:div(Arg_0,Arg_1) -> end(Arg_0,Arg_1):|:Arg_1<=Arg_0
3:start(Arg_0,Arg_1) -> div(Arg_0,Arg_1)
new bound:
Arg_0+Arg_1 {O(n)}
MPRF:
div [Arg_1-Arg_0 ]
Overall timebound:Arg_0+Arg_1+3 {O(n)}
0: div->end: 1 {O(1)}
1: div->end: 1 {O(1)}
2: div->div: Arg_0+Arg_1 {O(n)}
3: start->div: 1 {O(1)}
Overall costbound: Arg_0+Arg_1+3 {O(n)}
0: div->end: 1 {O(1)}
1: div->end: 1 {O(1)}
2: div->div: Arg_0+Arg_1 {O(n)}
3: start->div: 1 {O(1)}
0: div->end, Arg_0: Arg_0 {O(n)}
0: div->end, Arg_1: Arg_1 {O(n)}
1: div->end, Arg_0: 2*Arg_0 {O(n)}
1: div->end, Arg_1: 2*Arg_1 {O(n)}
2: div->div, Arg_0: Arg_0 {O(n)}
2: div->div, Arg_1: Arg_1 {O(n)}
3: start->div, Arg_0: Arg_0 {O(n)}
3: start->div, Arg_1: Arg_1 {O(n)}