Start: eval_foo_start
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4
Temp_Vars:
Locations: eval_foo_bb0_in, eval_foo_bb1_in, eval_foo_bb2_in, eval_foo_bb3_in, eval_foo_start, eval_foo_stop
Transitions:
1:eval_foo_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb1_in(Arg_3,Arg_4,Arg_2,Arg_3,Arg_4)
2:eval_foo_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:0<Arg_0 && Arg_0<Arg_2
3:eval_foo_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:Arg_0<=0
4:eval_foo_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:Arg_2<=Arg_0
5:eval_foo_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb1_in(Arg_1-Arg_0-5,2*Arg_1,Arg_2,Arg_3,Arg_4)
6:eval_foo_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_stop(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4)
0:eval_foo_start(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4)
Found invariant 2<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && 1<=Arg_0 for location eval_foo_bb2_in
Start: eval_foo_start
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4
Temp_Vars:
Locations: eval_foo_bb0_in, eval_foo_bb1_in, eval_foo_bb2_in, eval_foo_bb3_in, eval_foo_start, eval_foo_stop
Transitions:
1:eval_foo_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb1_in(Arg_3,Arg_4,Arg_2,Arg_3,Arg_4)
2:eval_foo_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:0<Arg_0 && Arg_0<Arg_2
3:eval_foo_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:Arg_0<=0
4:eval_foo_bb1_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:Arg_2<=Arg_0
5:eval_foo_bb2_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb1_in(Arg_1-Arg_0-5,2*Arg_1,Arg_2,Arg_3,Arg_4):|:2<=Arg_2 && 3<=Arg_0+Arg_2 && 1+Arg_0<=Arg_2 && 1<=Arg_0
6:eval_foo_bb3_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_stop(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4)
0:eval_foo_start(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> eval_foo_bb0_in(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4)
new bound:
16*Arg_2+16*Arg_3+8*Arg_4+41 {O(n)}
MPRF:
eval_foo_bb2_in [Arg_0+Arg_2-Arg_1-2 ; Arg_0+Arg_2+5-Arg_1 ]
eval_foo_bb1_in [Arg_0+Arg_2+5-Arg_1 ; Arg_2-Arg_0 ]
new bound:
16*Arg_3+24*Arg_2+8*Arg_4+33 {O(n)}
MPRF:
eval_foo_bb2_in [2*Arg_2+4-Arg_1 ; 0 ]
eval_foo_bb1_in [Arg_0+2*Arg_2+3-Arg_1 ; Arg_2-Arg_0-1 ]
Overall timebound:16*Arg_4+32*Arg_3+40*Arg_2+79 {O(n)}
1: eval_foo_bb0_in->eval_foo_bb1_in: 1 {O(1)}
2: eval_foo_bb1_in->eval_foo_bb2_in: 16*Arg_2+16*Arg_3+8*Arg_4+41 {O(n)}
3: eval_foo_bb1_in->eval_foo_bb3_in: 1 {O(1)}
4: eval_foo_bb1_in->eval_foo_bb3_in: 1 {O(1)}
5: eval_foo_bb2_in->eval_foo_bb1_in: 16*Arg_3+24*Arg_2+8*Arg_4+33 {O(n)}
6: eval_foo_bb3_in->eval_foo_stop: 1 {O(1)}
0: eval_foo_start->eval_foo_bb0_in: 1 {O(1)}
Overall costbound: 16*Arg_4+32*Arg_3+40*Arg_2+79 {O(n)}
1: eval_foo_bb0_in->eval_foo_bb1_in: 1 {O(1)}
2: eval_foo_bb1_in->eval_foo_bb2_in: 16*Arg_2+16*Arg_3+8*Arg_4+41 {O(n)}
3: eval_foo_bb1_in->eval_foo_bb3_in: 1 {O(1)}
4: eval_foo_bb1_in->eval_foo_bb3_in: 1 {O(1)}
5: eval_foo_bb2_in->eval_foo_bb1_in: 16*Arg_3+24*Arg_2+8*Arg_4+33 {O(n)}
6: eval_foo_bb3_in->eval_foo_stop: 1 {O(1)}
0: eval_foo_start->eval_foo_bb0_in: 1 {O(1)}
1: eval_foo_bb0_in->eval_foo_bb1_in, Arg_0: Arg_3 {O(n)}
1: eval_foo_bb0_in->eval_foo_bb1_in, Arg_1: Arg_4 {O(n)}
1: eval_foo_bb0_in->eval_foo_bb1_in, Arg_2: Arg_2 {O(n)}
1: eval_foo_bb0_in->eval_foo_bb1_in, Arg_3: Arg_3 {O(n)}
1: eval_foo_bb0_in->eval_foo_bb1_in, Arg_4: Arg_4 {O(n)}
2: eval_foo_bb1_in->eval_foo_bb2_in, Arg_0: 16*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_3*Arg_4+24*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_2*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*33*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*8*Arg_4*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+120*Arg_2+40*Arg_4+81*Arg_3+165 {O(EXP)}
2: eval_foo_bb1_in->eval_foo_bb2_in, Arg_1: 2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4 {O(EXP)}
2: eval_foo_bb1_in->eval_foo_bb2_in, Arg_2: Arg_2 {O(n)}
2: eval_foo_bb1_in->eval_foo_bb2_in, Arg_3: Arg_3 {O(n)}
2: eval_foo_bb1_in->eval_foo_bb2_in, Arg_4: Arg_4 {O(n)}
3: eval_foo_bb1_in->eval_foo_bb3_in, Arg_0: 16*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_3*Arg_4+24*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_2*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*33*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*8*Arg_4*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+120*Arg_2+40*Arg_4+82*Arg_3+165 {O(EXP)}
3: eval_foo_bb1_in->eval_foo_bb3_in, Arg_1: 2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+Arg_4 {O(EXP)}
3: eval_foo_bb1_in->eval_foo_bb3_in, Arg_2: 2*Arg_2 {O(n)}
3: eval_foo_bb1_in->eval_foo_bb3_in, Arg_3: 2*Arg_3 {O(n)}
3: eval_foo_bb1_in->eval_foo_bb3_in, Arg_4: 2*Arg_4 {O(n)}
4: eval_foo_bb1_in->eval_foo_bb3_in, Arg_0: 16*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_3*Arg_4+24*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_2*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*33*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*8*Arg_4*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+120*Arg_2+40*Arg_4+82*Arg_3+165 {O(EXP)}
4: eval_foo_bb1_in->eval_foo_bb3_in, Arg_1: 2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+Arg_4 {O(EXP)}
4: eval_foo_bb1_in->eval_foo_bb3_in, Arg_2: 2*Arg_2 {O(n)}
4: eval_foo_bb1_in->eval_foo_bb3_in, Arg_3: 2*Arg_3 {O(n)}
4: eval_foo_bb1_in->eval_foo_bb3_in, Arg_4: 2*Arg_4 {O(n)}
5: eval_foo_bb2_in->eval_foo_bb1_in, Arg_0: 16*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_3*Arg_4+24*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_2*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*33*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*8*Arg_4*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+120*Arg_2+40*Arg_4+81*Arg_3+165 {O(EXP)}
5: eval_foo_bb2_in->eval_foo_bb1_in, Arg_1: 2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4 {O(EXP)}
5: eval_foo_bb2_in->eval_foo_bb1_in, Arg_2: Arg_2 {O(n)}
5: eval_foo_bb2_in->eval_foo_bb1_in, Arg_3: Arg_3 {O(n)}
5: eval_foo_bb2_in->eval_foo_bb1_in, Arg_4: Arg_4 {O(n)}
6: eval_foo_bb3_in->eval_foo_stop, Arg_0: 16*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4*Arg_4+2*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*32*Arg_3*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*48*Arg_2*Arg_4+2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*66*Arg_4+164*Arg_3+240*Arg_2+80*Arg_4+330 {O(EXP)}
6: eval_foo_bb3_in->eval_foo_stop, Arg_1: 2*2^(16*Arg_3+24*Arg_2+8*Arg_4+33)*Arg_4+2*Arg_4 {O(EXP)}
6: eval_foo_bb3_in->eval_foo_stop, Arg_2: 4*Arg_2 {O(n)}
6: eval_foo_bb3_in->eval_foo_stop, Arg_3: 4*Arg_3 {O(n)}
6: eval_foo_bb3_in->eval_foo_stop, Arg_4: 4*Arg_4 {O(n)}
0: eval_foo_start->eval_foo_bb0_in, Arg_0: Arg_0 {O(n)}
0: eval_foo_start->eval_foo_bb0_in, Arg_1: Arg_1 {O(n)}
0: eval_foo_start->eval_foo_bb0_in, Arg_2: Arg_2 {O(n)}
0: eval_foo_start->eval_foo_bb0_in, Arg_3: Arg_3 {O(n)}
0: eval_foo_start->eval_foo_bb0_in, Arg_4: Arg_4 {O(n)}