TRS: { gcd(x, y) -> gcd2(x, y, 0()), gcd2(x, y, i) -> if1(le(x, 0()), le(y, 0()), le(x, y), le(y, x), x, y, inc(i)), if1(true(), b1, b2, b3, x, y, i) -> pair(result(y), neededIterations(i)), if1(false(), b1, b2, b3, x, y, i) -> if2(b1, b2, b3, x, y, i), if2(true(), b2, b3, x, y, i) -> pair(result(x), neededIterations(i)), if2(false(), b2, b3, x, y, i) -> if3(b2, b3, x, y, i), if3(false(), b3, x, y, i) -> gcd2(minus(x, y), y, i), if3(true(), b3, x, y, i) -> if4(b3, x, y, i), if4(false(), x, y, i) -> gcd2(x, minus(y, x), i), if4(true(), x, y, i) -> pair(result(x), neededIterations(i)), inc(0()) -> 0(), inc(s(i)) -> s(inc(i)), le(s(x), 0()) -> false(), le(0(), y) -> true(), le(s(x), s(y)) -> le(x, y), minus(x, 0()) -> x, minus(0(), y) -> 0(), minus(s(x), s(y)) -> minus(x, y), a() -> b(), a() -> c()} Fail