Initial Problem

Start: eval_serpent_start
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5, Arg_6, Arg_7
Temp_Vars: nondef.0, nondef.1
Locations: eval_serpent_.critedge1_in, eval_serpent_.critedge_in, eval_serpent_0, eval_serpent_1, eval_serpent_6, eval_serpent_7, eval_serpent_bb0_in, eval_serpent_bb1_in, eval_serpent_bb2_in, eval_serpent_bb3_in, eval_serpent_bb4_in, eval_serpent_bb5_in, eval_serpent_bb6_in, eval_serpent_bb7_in, eval_serpent_start, eval_serpent_stop
Transitions:
3:eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_5,Arg_7):|:0<=Arg_4
4:eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb7_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_4<0
13:eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb4_in(Arg_0,Arg_4-1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_6)
9:eval_serpent_0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_1(nondef.0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)
11:eval_serpent_1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_0<=0
10:eval_serpent_1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:0<Arg_0
18:eval_serpent_6(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_7(Arg_0,Arg_1,nondef.1,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)
20:eval_serpent_7(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_1,Arg_7,Arg_6,Arg_7):|:Arg_2<=0
19:eval_serpent_7(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb6_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:0<Arg_2
2:eval_serpent_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_3,Arg_3,Arg_6,Arg_7):|:0<Arg_3
1:eval_serpent_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb7_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_3<=0
6:eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<0
5:eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:0<=Arg_6
7:eval_serpent_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)
12:eval_serpent_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6-1,Arg_7)
15:eval_serpent_bb4_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_1,Arg_7,Arg_6,Arg_7):|:Arg_3<Arg_7
14:eval_serpent_bb4_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb5_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_7<=Arg_3
16:eval_serpent_bb5_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_6(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)
21:eval_serpent_bb6_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb4_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7+1)
22:eval_serpent_bb7_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_stop(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)
0:eval_serpent_start(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)

Preprocessing

Found invariant Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 for location eval_serpent_6

Found invariant Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 for location eval_serpent_bb1_in

Found invariant Arg_4<=Arg_3 && 0<=1+Arg_4 && 0<=Arg_3+Arg_4 && 1<=Arg_3 for location eval_serpent_.critedge1_in

Found invariant Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_2+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 2<=Arg_2+Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 1<=Arg_2 && 0<=Arg_1+Arg_2 && 0<=1+Arg_1 for location eval_serpent_bb6_in

Found invariant Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 for location eval_serpent_0

Found invariant Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 for location eval_serpent_7

Found invariant Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_0+Arg_4 && 1<=Arg_3 && 2<=Arg_0+Arg_3 && 1<=Arg_0 for location eval_serpent_bb3_in

Found invariant Arg_6<=Arg_5 && 0<=Arg_6 && 0<=Arg_5+Arg_6 && 0<=Arg_4+Arg_6 && 1<=Arg_3+Arg_6 && 0<=Arg_5 && 0<=Arg_4+Arg_5 && 1<=Arg_3+Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 for location eval_serpent_bb2_in

Found invariant Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 for location eval_serpent_bb4_in

Found invariant Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 for location eval_serpent_1

Found invariant Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 for location eval_serpent_bb5_in

Found invariant Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 for location eval_serpent_.critedge_in

Problem after Preprocessing

Start: eval_serpent_start
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5, Arg_6, Arg_7
Temp_Vars: nondef.0, nondef.1
Locations: eval_serpent_.critedge1_in, eval_serpent_.critedge_in, eval_serpent_0, eval_serpent_1, eval_serpent_6, eval_serpent_7, eval_serpent_bb0_in, eval_serpent_bb1_in, eval_serpent_bb2_in, eval_serpent_bb3_in, eval_serpent_bb4_in, eval_serpent_bb5_in, eval_serpent_bb6_in, eval_serpent_bb7_in, eval_serpent_start, eval_serpent_stop
Transitions:
3:eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_5,Arg_7):|:Arg_4<=Arg_3 && 0<=1+Arg_4 && 0<=Arg_3+Arg_4 && 1<=Arg_3 && 0<=Arg_4
4:eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb7_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_4<=Arg_3 && 0<=1+Arg_4 && 0<=Arg_3+Arg_4 && 1<=Arg_3 && Arg_4<0
13:eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb4_in(Arg_0,Arg_4-1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_6):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3
9:eval_serpent_0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_1(nondef.0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3
11:eval_serpent_1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 && Arg_0<=0
10:eval_serpent_1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 && 0<Arg_0
18:eval_serpent_6(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_7(Arg_0,Arg_1,nondef.1,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1
20:eval_serpent_7(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_1,Arg_7,Arg_6,Arg_7):|:Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 && Arg_2<=0
19:eval_serpent_7(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb6_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 && 0<Arg_2
2:eval_serpent_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_3,Arg_3,Arg_6,Arg_7):|:0<Arg_3
1:eval_serpent_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb7_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_3<=0
6:eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 && Arg_6<0
5:eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 && 0<=Arg_6
7:eval_serpent_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_0(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && 0<=Arg_6 && 0<=Arg_5+Arg_6 && 0<=Arg_4+Arg_6 && 1<=Arg_3+Arg_6 && 0<=Arg_5 && 0<=Arg_4+Arg_5 && 1<=Arg_3+Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3
12:eval_serpent_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6-1,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_0+Arg_4 && 1<=Arg_3 && 2<=Arg_0+Arg_3 && 1<=Arg_0
15:eval_serpent_bb4_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_1,Arg_7,Arg_6,Arg_7):|:Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 && Arg_3<Arg_7
14:eval_serpent_bb4_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb5_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 && Arg_7<=Arg_3
16:eval_serpent_bb5_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_6(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1
21:eval_serpent_bb6_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb4_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7+1):|:Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_2+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 2<=Arg_2+Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 1<=Arg_2 && 0<=Arg_1+Arg_2 && 0<=1+Arg_1
22:eval_serpent_bb7_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_stop(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)
0:eval_serpent_start(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7)

MPRF for transition 3:eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_5,Arg_7):|:Arg_4<=Arg_3 && 0<=1+Arg_4 && 0<=Arg_3+Arg_4 && 1<=Arg_3 && 0<=Arg_4 of depth 1:

new bound:

Arg_3+1 {O(n)}

MPRF:

eval_serpent_1 [Arg_4 ]
eval_serpent_7 [Arg_4 ]
eval_serpent_.critedge_in [Arg_4 ]
eval_serpent_bb2_in [Arg_4 ]
eval_serpent_0 [Arg_4 ]
eval_serpent_bb3_in [Arg_4 ]
eval_serpent_bb1_in [Arg_4 ]
eval_serpent_.critedge1_in [Arg_4+1 ]
eval_serpent_bb5_in [Arg_4 ]
eval_serpent_6 [Arg_4 ]
eval_serpent_bb6_in [Arg_4 ]
eval_serpent_bb4_in [Arg_4 ]

MPRF for transition 13:eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_bb4_in(Arg_0,Arg_4-1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_6):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 of depth 1:

new bound:

2*Arg_3 {O(n)}

MPRF:

eval_serpent_1 [Arg_3+Arg_4 ]
eval_serpent_7 [Arg_3+Arg_4-1 ]
eval_serpent_.critedge_in [Arg_3+Arg_4 ]
eval_serpent_bb2_in [Arg_3+Arg_4 ]
eval_serpent_0 [Arg_3+Arg_4 ]
eval_serpent_bb3_in [Arg_3+Arg_4 ]
eval_serpent_bb1_in [Arg_3+Arg_4 ]
eval_serpent_.critedge1_in [Arg_3+Arg_4 ]
eval_serpent_bb5_in [Arg_3+Arg_4-1 ]
eval_serpent_6 [Arg_3+Arg_4-1 ]
eval_serpent_bb6_in [Arg_3+Arg_4-1 ]
eval_serpent_bb4_in [Arg_3+Arg_4-1 ]

MPRF for transition 11:eval_serpent_1(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 && Arg_0<=0 of depth 1:

new bound:

2*Arg_3+1 {O(n)}

MPRF:

eval_serpent_1 [Arg_3+Arg_4+1 ]
eval_serpent_7 [Arg_3+Arg_4 ]
eval_serpent_.critedge_in [Arg_3+Arg_4 ]
eval_serpent_bb2_in [Arg_3+Arg_4+1 ]
eval_serpent_0 [Arg_3+Arg_4+1 ]
eval_serpent_bb3_in [Arg_3+Arg_4+1 ]
eval_serpent_bb1_in [Arg_3+Arg_4+1 ]
eval_serpent_.critedge1_in [Arg_3+Arg_4+1 ]
eval_serpent_bb5_in [Arg_1+Arg_3+1 ]
eval_serpent_6 [Arg_3+Arg_4 ]
eval_serpent_bb6_in [Arg_3+Arg_4 ]
eval_serpent_bb4_in [Arg_1+Arg_3+1 ]

MPRF for transition 20:eval_serpent_7(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_1,Arg_7,Arg_6,Arg_7):|:Arg_7<=Arg_3 && Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_6<=Arg_3 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 && Arg_2<=0 of depth 1:

new bound:

Arg_3+1 {O(n)}

MPRF:

eval_serpent_1 [Arg_4+1 ]
eval_serpent_7 [Arg_4+1 ]
eval_serpent_.critedge_in [Arg_4+1 ]
eval_serpent_bb2_in [Arg_4+1 ]
eval_serpent_0 [Arg_4+1 ]
eval_serpent_bb3_in [Arg_4+1 ]
eval_serpent_bb1_in [Arg_4+1 ]
eval_serpent_.critedge1_in [Arg_4+1 ]
eval_serpent_bb5_in [Arg_4+1 ]
eval_serpent_6 [Arg_4+1 ]
eval_serpent_bb6_in [Arg_4+1 ]
eval_serpent_bb4_in [2*Arg_4-Arg_1 ]

MPRF for transition 6:eval_serpent_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7):|:Arg_6<=Arg_5 && Arg_4<=Arg_3 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 1<=Arg_3 && Arg_6<0 of depth 1:

new bound:

Arg_3+1 {O(n)}

MPRF:

eval_serpent_1 [Arg_4+1 ]
eval_serpent_7 [Arg_1+1 ]
eval_serpent_.critedge_in [Arg_4 ]
eval_serpent_bb2_in [Arg_4+1 ]
eval_serpent_0 [Arg_4+1 ]
eval_serpent_bb3_in [Arg_4+1 ]
eval_serpent_bb1_in [Arg_4+1 ]
eval_serpent_.critedge1_in [Arg_4+1 ]
eval_serpent_bb5_in [Arg_1+1 ]
eval_serpent_6 [Arg_1+1 ]
eval_serpent_bb6_in [Arg_1+1 ]
eval_serpent_bb4_in [Arg_1+1 ]

MPRF for transition 15:eval_serpent_bb4_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4,Arg_5,Arg_6,Arg_7) -> eval_serpent_.critedge1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_1,Arg_7,Arg_6,Arg_7):|:Arg_6<=Arg_7 && Arg_6<=Arg_5 && Arg_4<=Arg_3 && Arg_4<=1+Arg_1 && 0<=Arg_4 && 1<=Arg_3+Arg_4 && 0<=1+Arg_1+Arg_4 && 1+Arg_1<=Arg_4 && 1<=Arg_3 && 0<=Arg_1+Arg_3 && 1+Arg_1<=Arg_3 && 0<=1+Arg_1 && Arg_3<Arg_7 of depth 1:

new bound:

Arg_3+1 {O(n)}

MPRF:

eval_serpent_1 [Arg_4+1 ]
eval_serpent_7 [Arg_1+2 ]
eval_serpent_.critedge_in [Arg_4+1 ]
eval_serpent_bb2_in [Arg_4+1 ]
eval_serpent_0 [Arg_4+1 ]
eval_serpent_bb3_in [Arg_4+1 ]
eval_serpent_bb1_in [Arg_4+1 ]
eval_serpent_.critedge1_in [Arg_4+1 ]
eval_serpent_bb5_in [Arg_1+2 ]
eval_serpent_6 [Arg_1+2 ]
eval_serpent_bb6_in [Arg_4+1 ]
eval_serpent_bb4_in [Arg_4+1 ]

Analysing control-flow refined program

Cut unreachable locations [n_eval_serpent_0___16; n_eval_serpent_0___23; n_eval_serpent_0___4; n_eval_serpent_0___40; n_eval_serpent_1___15; n_eval_serpent_1___22; n_eval_serpent_1___3; n_eval_serpent_1___39; n_eval_serpent_6___34; n_eval_serpent_6___9; n_eval_serpent_7___33; n_eval_serpent_7___8; n_eval_serpent__Pcritedge1_in___27; n_eval_serpent__Pcritedge1_in___32; n_eval_serpent__Pcritedge1_in___43; n_eval_serpent__Pcritedge_in___10; n_eval_serpent__Pcritedge_in___14; n_eval_serpent__Pcritedge_in___2; n_eval_serpent__Pcritedge_in___21; n_eval_serpent__Pcritedge_in___29; n_eval_serpent__Pcritedge_in___38; n_eval_serpent_bb1_in___11; n_eval_serpent_bb1_in___18; n_eval_serpent_bb1_in___25; n_eval_serpent_bb1_in___30; n_eval_serpent_bb1_in___42; n_eval_serpent_bb1_in___6; n_eval_serpent_bb2_in___17; n_eval_serpent_bb2_in___24; n_eval_serpent_bb2_in___41; n_eval_serpent_bb2_in___5; n_eval_serpent_bb3_in___1; n_eval_serpent_bb3_in___13; n_eval_serpent_bb3_in___20; n_eval_serpent_bb3_in___37; n_eval_serpent_bb4_in___12; n_eval_serpent_bb4_in___19; n_eval_serpent_bb4_in___28; n_eval_serpent_bb4_in___36; n_eval_serpent_bb5_in___26; n_eval_serpent_bb5_in___35; n_eval_serpent_bb6_in___31; n_eval_serpent_bb6_in___7] from the program graph

Cut unsatisfiable transition 4: eval_serpent_.critedge1_in->eval_serpent_bb7_in

Eliminate variables {Arg_0,Arg_1,Arg_2,Arg_4,Arg_5,Arg_6,Arg_7} that do not contribute to the problem

Found invariant Arg_3<=0 for location eval_serpent_bb7_in

Found invariant Arg_3<=0 for location eval_serpent_stop

Found invariant 1<=Arg_3 for location eval_serpent_.critedge1_in

CFR: Improvement to new bound with the following program:

new bound:

0 {O(1)}

cfr-program:

Start: eval_serpent_start
Program_Vars: Arg_3
Temp_Vars:
Locations: eval_serpent_.critedge1_in, eval_serpent_bb0_in, eval_serpent_bb7_in, eval_serpent_start, eval_serpent_stop
Transitions:
252:eval_serpent_bb0_in(Arg_3) -> eval_serpent_.critedge1_in(Arg_3):|:0<Arg_3
251:eval_serpent_bb0_in(Arg_3) -> eval_serpent_bb7_in(Arg_3):|:Arg_3<=0
253:eval_serpent_bb7_in(Arg_3) -> eval_serpent_stop(Arg_3):|:Arg_3<=0
254:eval_serpent_start(Arg_3) -> eval_serpent_bb0_in(Arg_3)

All Bounds

Timebounds

Overall timebound:4 {O(1)}
251: eval_serpent_bb0_in->eval_serpent_bb7_in: 1 {O(1)}
252: eval_serpent_bb0_in->eval_serpent_.critedge1_in: 1 {O(1)}
253: eval_serpent_bb7_in->eval_serpent_stop: 1 {O(1)}
254: eval_serpent_start->eval_serpent_bb0_in: 1 {O(1)}

Costbounds

Overall costbound: 4 {O(1)}
251: eval_serpent_bb0_in->eval_serpent_bb7_in: 1 {O(1)}
252: eval_serpent_bb0_in->eval_serpent_.critedge1_in: 1 {O(1)}
253: eval_serpent_bb7_in->eval_serpent_stop: 1 {O(1)}
254: eval_serpent_start->eval_serpent_bb0_in: 1 {O(1)}

Sizebounds

4: eval_serpent_.critedge1_in->eval_serpent_bb7_in, Arg_1: 3*Arg_3+3 {O(n)}
4: eval_serpent_.critedge1_in->eval_serpent_bb7_in, Arg_3: 2*Arg_3 {O(n)}
4: eval_serpent_.critedge1_in->eval_serpent_bb7_in, Arg_4: 1 {O(1)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_0: Arg_0 {O(n)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_1: Arg_1 {O(n)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_2: Arg_2 {O(n)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_3: Arg_3 {O(n)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_4: Arg_4 {O(n)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_5: Arg_5 {O(n)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_6: Arg_6 {O(n)}
1: eval_serpent_bb0_in->eval_serpent_bb7_in, Arg_7: Arg_7 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_0: Arg_0 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_1: Arg_1 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_2: Arg_2 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_3: Arg_3 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_4: Arg_3 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_5: Arg_3 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_6: Arg_6 {O(n)}
2: eval_serpent_bb0_in->eval_serpent_.critedge1_in, Arg_7: Arg_7 {O(n)}
22: eval_serpent_bb7_in->eval_serpent_stop, Arg_1: 3*Arg_3+Arg_1+3 {O(n)}
22: eval_serpent_bb7_in->eval_serpent_stop, Arg_3: 3*Arg_3 {O(n)}
22: eval_serpent_bb7_in->eval_serpent_stop, Arg_4: Arg_4+1 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_0: Arg_0 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_1: Arg_1 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_2: Arg_2 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_3: Arg_3 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_4: Arg_4 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_5: Arg_5 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_6: Arg_6 {O(n)}
0: eval_serpent_start->eval_serpent_bb0_in, Arg_7: Arg_7 {O(n)}