MAYBE Initial complexity problem: 1: T: (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(f0(-Ar_0, Ar_1 + Ar_0, Ar_2 + Ar_0, Ar_3, Ar_4, Ar_5)) [ 0 >= Ar_0 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(f0(Ar_0 + Ar_1, -Ar_1, Ar_2, Ar_3 + Ar_1, Ar_4, Ar_5)) [ 0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(f0(Ar_0, Ar_1 + Ar_3, Ar_2, -Ar_3, Ar_4 + Ar_3, Ar_5)) [ 0 >= Ar_3 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(f0(Ar_0, Ar_1, Ar_2 + Ar_4, Ar_3 + Ar_4, -Ar_4, Ar_5)) [ 0 >= Ar_4 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(f0(Ar_0 + Ar_2, Ar_1, -Ar_2, Ar_3, Ar_4 + Ar_2, Ar_5)) [ 0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) f1(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(f0(Fresh_0, Fresh_1, Fresh_2, Fresh_3, Fresh_4, Fresh_0 + Fresh_1 + Fresh_3 + Fresh_4 + Fresh_2)) [ Fresh_0 + Fresh_1 + Fresh_3 + Fresh_4 + Fresh_2 >= 1 ] (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(f1(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Slicing away variables that do not contribute to conditions from problem 1 leaves variables [Ar_0, Ar_1, Ar_2, Ar_3, Ar_4]. We thus obtain the following problem: 2: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f1(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4)) [ 0 <= 0 ] (Comp: ?, Cost: 1) f1(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Fresh_0, Fresh_1, Fresh_2, Fresh_3, Fresh_4)) [ Fresh_0 + Fresh_1 + Fresh_3 + Fresh_4 + Fresh_2 >= 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0 + Ar_2, Ar_1, -Ar_2, Ar_3, Ar_4 + Ar_2)) [ 0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0, Ar_1, Ar_2 + Ar_4, Ar_3 + Ar_4, -Ar_4)) [ 0 >= Ar_4 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0, Ar_1 + Ar_3, Ar_2, -Ar_3, Ar_4 + Ar_3)) [ 0 >= Ar_3 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0 + Ar_1, -Ar_1, Ar_2, Ar_3 + Ar_1, Ar_4)) [ 0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(-Ar_0, Ar_1 + Ar_0, Ar_2 + Ar_0, Ar_3, Ar_4)) [ 0 >= Ar_0 + 1 ] start location: koat_start leaf cost: 0 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f1(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4)) [ 0 <= 0 ] (Comp: 1, Cost: 1) f1(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Fresh_0, Fresh_1, Fresh_2, Fresh_3, Fresh_4)) [ Fresh_0 + Fresh_1 + Fresh_3 + Fresh_4 + Fresh_2 >= 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0 + Ar_2, Ar_1, -Ar_2, Ar_3, Ar_4 + Ar_2)) [ 0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0, Ar_1, Ar_2 + Ar_4, Ar_3 + Ar_4, -Ar_4)) [ 0 >= Ar_4 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0, Ar_1 + Ar_3, Ar_2, -Ar_3, Ar_4 + Ar_3)) [ 0 >= Ar_3 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(Ar_0 + Ar_1, -Ar_1, Ar_2, Ar_3 + Ar_1, Ar_4)) [ 0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) f0(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4) -> Com_1(f0(-Ar_0, Ar_1 + Ar_0, Ar_2 + Ar_0, Ar_3, Ar_4)) [ 0 >= Ar_0 + 1 ] start location: koat_start leaf cost: 0 Complexity upper bound ? Time: 4.392 sec (SMT: 4.289 sec)