Initial Problem

Start: sqrt
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars:
Locations: end, f, sqrt
Transitions:
2:f(Arg_0,Arg_1,Arg_2,Arg_3) -> end(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3+1<=Arg_2
1:f(Arg_0,Arg_1,Arg_2,Arg_3) -> f(Arg_0+1,Arg_1+2,Arg_2+Arg_1+2,Arg_3):|:Arg_2<=Arg_3 && 0<=Arg_1
0:sqrt(Arg_0,Arg_1,Arg_2,Arg_3) -> f(0,1,1,Arg_3)

Preprocessing

Eliminate variables {Arg_0} that do not contribute to the problem

Found invariant 1<=Arg_2 && 2<=Arg_1+Arg_2 && Arg_1<=Arg_2 && 1<=Arg_1 for location f

Found invariant 1+Arg_3<=Arg_2 && 1<=Arg_2 && 2<=Arg_1+Arg_2 && Arg_1<=Arg_2 && 1<=Arg_1 for location end

Problem after Preprocessing

Start: sqrt
Program_Vars: Arg_1, Arg_2, Arg_3
Temp_Vars:
Locations: end, f, sqrt
Transitions:
7:f(Arg_1,Arg_2,Arg_3) -> end(Arg_1,Arg_2,Arg_3):|:1<=Arg_2 && 2<=Arg_1+Arg_2 && Arg_1<=Arg_2 && 1<=Arg_1 && Arg_3+1<=Arg_2
6:f(Arg_1,Arg_2,Arg_3) -> f(Arg_1+2,Arg_2+Arg_1+2,Arg_3):|:1<=Arg_2 && 2<=Arg_1+Arg_2 && Arg_1<=Arg_2 && 1<=Arg_1 && Arg_2<=Arg_3 && 0<=Arg_1
8:sqrt(Arg_1,Arg_2,Arg_3) -> f(1,1,Arg_3)

MPRF for transition 6:f(Arg_1,Arg_2,Arg_3) -> f(Arg_1+2,Arg_2+Arg_1+2,Arg_3):|:1<=Arg_2 && 2<=Arg_1+Arg_2 && Arg_1<=Arg_2 && 1<=Arg_1 && Arg_2<=Arg_3 && 0<=Arg_1 of depth 1:

new bound:

Arg_3+2 {O(n)}

MPRF:

f [Arg_3+1-Arg_1 ]

All Bounds

Timebounds

Overall timebound:Arg_3+4 {O(n)}
6: f->f: Arg_3+2 {O(n)}
7: f->end: 1 {O(1)}
8: sqrt->f: 1 {O(1)}

Costbounds

Overall costbound: Arg_3+4 {O(n)}
6: f->f: Arg_3+2 {O(n)}
7: f->end: 1 {O(1)}
8: sqrt->f: 1 {O(1)}

Sizebounds

6: f->f, Arg_1: 2*Arg_3+5 {O(n)}
6: f->f, Arg_2: 2^(Arg_3+2)*3+2^(Arg_3+2)*Arg_3 {O(EXP)}
6: f->f, Arg_3: Arg_3 {O(n)}
7: f->end, Arg_1: 2*Arg_3+6 {O(n)}
7: f->end, Arg_2: 2^(Arg_3+2)*3+2^(Arg_3+2)*Arg_3+1 {O(EXP)}
7: f->end, Arg_3: 2*Arg_3 {O(n)}
8: sqrt->f, Arg_1: 1 {O(1)}
8: sqrt->f, Arg_2: 1 {O(1)}
8: sqrt->f, Arg_3: Arg_3 {O(n)}