YES(?, 15) Initial complexity problem: 1: T: (1, 1) f0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f11(100, o, 1, d, e, f, g, h, i, j, k, l, m, n) (1, 1) f0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f11(100, o, 0, d, e, f, g, h, i, j, k, l, m, n) (?, 1) f11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f23(a, b, 1, 1, 1, 100, o, 1, i, j, k, l, m, n) [ c = 1 ] (?, 1) f11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f23(a, b, 1, 1, 1, 100, o, 0, i, j, k, l, m, n) [ c = 1 ] (?, 1) f23(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f26(a, b, c, d, h, f, g, h, 100, j, k, l, m, n) [ 0 >= h ] (?, 1) f23(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f26(a, b, c, d, h, f, g, h, 100, j, k, l, m, n) [ h >= 2 ] (?, 1) f11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f36(a, b, c, c, c, f, g, h, i, 100, k, l, m, n) [ 0 >= c ] (?, 1) f11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f36(a, b, c, c, c, f, g, h, i, 100, k, l, m, n) [ c >= 2 ] (?, 1) f23(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f32(a, b, c, d, 1, f, g, 1, i, j, o, p, m, n) [ 0 >= o + 2 /\ h = 1 ] (?, 1) f23(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f32(a, b, c, d, 1, f, g, 1, i, j, o, p, m, n) [ o >= 0 /\ h = 1 ] (?, 1) f23(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f32(a, b, c, d, 1, f, g, 1, i, j, -1, l, 100, o) [ h = 1 ] (?, 1) f36(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f32(a, b, c, d, e, f, g, h, i, j, k, l, m, n) [ 0 >= o + 1 ] (?, 1) f36(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f32(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (?, 1) f26(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f32(a, b, c, d, e, f, g, h, i, j, k, l, m, n) [ 0 >= o + 1 ] (?, 1) f26(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> f32(a, b, c, d, e, f, g, h, i, j, k, l, m, n) start location: f0 leaf cost: 0 Slicing away variables that do not contribute to conditions from problem 1 leaves variables [c, h]. We thus obtain the following problem: 2: T: (?, 1) f26(c, h) -> f32(c, h) (?, 1) f26(c, h) -> f32(c, h) [ 0 >= o + 1 ] (?, 1) f36(c, h) -> f32(c, h) (?, 1) f36(c, h) -> f32(c, h) [ 0 >= o + 1 ] (?, 1) f23(c, h) -> f32(c, 1) [ h = 1 ] (?, 1) f23(c, h) -> f32(c, 1) [ o >= 0 /\ h = 1 ] (?, 1) f23(c, h) -> f32(c, 1) [ 0 >= o + 2 /\ h = 1 ] (?, 1) f11(c, h) -> f36(c, h) [ c >= 2 ] (?, 1) f11(c, h) -> f36(c, h) [ 0 >= c ] (?, 1) f23(c, h) -> f26(c, h) [ h >= 2 ] (?, 1) f23(c, h) -> f26(c, h) [ 0 >= h ] (?, 1) f11(c, h) -> f23(1, 0) [ c = 1 ] (?, 1) f11(c, h) -> f23(1, 1) [ c = 1 ] (1, 1) f0(c, h) -> f11(0, h) (1, 1) f0(c, h) -> f11(1, h) start location: f0 leaf cost: 0 Repeatedly removing leaves of the complexity graph in problem 2 produces the following problem: 3: T: (none) start location: f0 leaf cost: 15 Complexity upper bound 15 Time: 0.116 sec (SMT: 0.112 sec)