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