/export/starexec/sandbox/solver/bin/starexec_run_Itrs /export/starexec/sandbox/benchmark/theBenchmark.itrs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE DP problem for innermost termination. P = cond2#(false, x) -> f#(3 * x + 1) cond2#(true, I0) -> f#(I0 / 2) cond1#(true, I2) -> cond2#(I2 % 2 = 0, I2) f#(I3) -> cond1#(I3 > 1, I3) R = cond2(false, x) -> f(3 * x + 1) cond2(true, I0) -> f(I0 / 2) cond1(false, I1) -> I1 cond1(true, I2) -> cond2(I2 % 2 = 0, I2) f(I3) -> cond1(I3 > 1, I3) This problem is converted using chaining, where edges between chained DPs are removed. DP problem for innermost termination. P = cond2#(false, x) -> f#(3 * x + 1) cond2#(true, I0) -> f#(I0 / 2) cond1#(true, I2) -> cond2#(I2 % 2 = 0, I2) f#(I3) -> cond1#(I3 > 1, I3) f#(I3) -> cond2#(I3 % 2 = 0, I3) [I3 > 1] f#(I3) -> f#(I3 / 2) [I3 > 1, I3 % 2 = 0] f#(I3) -> f#(3 * I3 + 1) [I3 > 1, not(I3 % 2 = 0)] cond1#(true, I2) -> f#(3 * I2 + 1) [not(I2 % 2 = 0)] cond1#(true, I2) -> f#(I2 / 2) [I2 % 2 = 0] R = cond2(false, x) -> f(3 * x + 1) cond2(true, I0) -> f(I0 / 2) cond1(false, I1) -> I1 cond1(true, I2) -> cond2(I2 % 2 = 0, I2) f(I3) -> cond1(I3 > 1, I3) The dependency graph for this problem is: 0 -> 6, 5, 4, 3 1 -> 6, 5, 4, 3 2 -> 3 -> 4 -> 5 -> 6, 5, 3, 4 6 -> 3, 4, 5 7 -> 3, 4, 5 8 -> 3, 4, 5, 6 Where: 0) cond2#(false, x) -> f#(3 * x + 1) 1) cond2#(true, I0) -> f#(I0 / 2) 2) cond1#(true, I2) -> cond2#(I2 % 2 = 0, I2) 3) f#(I3) -> cond1#(I3 > 1, I3) 4) f#(I3) -> cond2#(I3 % 2 = 0, I3) [I3 > 1] 5) f#(I3) -> f#(I3 / 2) [I3 > 1, I3 % 2 = 0] 6) f#(I3) -> f#(3 * I3 + 1) [I3 > 1, not(I3 % 2 = 0)] 7) cond1#(true, I2) -> f#(3 * I2 + 1) [not(I2 % 2 = 0)] 8) cond1#(true, I2) -> f#(I2 / 2) [I2 % 2 = 0] We have the following SCCs. { 5, 6 } DP problem for innermost termination. P = f#(I3) -> f#(I3 / 2) [I3 > 1, I3 % 2 = 0] f#(I3) -> f#(3 * I3 + 1) [I3 > 1, not(I3 % 2 = 0)] R = cond2(false, x) -> f(3 * x + 1) cond2(true, I0) -> f(I0 / 2) cond1(false, I1) -> I1 cond1(true, I2) -> cond2(I2 % 2 = 0, I2) f(I3) -> cond1(I3 > 1, I3)