/* Is a power of two? The expected answer: N /\ (N - 1) == 0. * With cond and == AllGood: [program = N == N /\ (0 /\ N) - N, res = 1, count = 99] [program = 0 == cond(0,N,N) /\ N - 1, res = 1, count = 97] [program = 0 == N /\ N - 1, res = 1, count = 86] [program = 0 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 82] [program = 0 == N - 1 /\ N, res = 1, count = 81] [program = N == N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N, res = 1, count = 80] [program = N == cond(1,0,0) - N /\ N, res = 1, count = 78] [program = N == N /\ 0 - N, res = 1, count = 59] [program = N == N - (N /\ N - 1), res = 1, count = 57] [program = 0 - 0 == N /\ N - 1, res = 1, count = 34] [program = 0 - 0 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 34] [program = N == cond(0,N,N /\ 0 - N), res = 1, count = 31] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 0, res = 1, count = 29] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == N, res = 1, count = 20] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == N /\ N, res = 1, count = 14] [program = N - N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 14] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 0 - 0, res = 1, count = 12] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (N - N == cond(1,N,N)) /\ (N == 0 - 0), res = 1, count = 10] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 0 /\ N, res = 1, count = 10] [program = cond(1,0,0) - N /\ N == N, res = 1, count = 9] [program = N /\ N - 1 == 0, res = 1, count = 8] [program = 1 == cond(0 - N,N == 0,0 == cond(0,0,N /\ N - 1)), res = 1, count = 8] [program = N /\ N == cond(1,0,0) - N /\ N, res = 1, count = 7] [program = N == 0 == N /\ N - 1, res = 1, count = 6] [program = cond(1,0,0) /\ 0 - cond(1,N,N) == cond(0,N,N) /\ N - 1, res = 1, count = 6] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == N - (0 == N == 1), res = 1, count = 6] [program = N /\ (0 /\ N) - N == N /\ N, res = 1, count = 6] [program = N /\ (0 /\ N) - N == N, res = 1, count = 6] [program = 0 /\ N == cond(0,N,N) /\ N - 1, res = 1, count = 6] [program = (0 /\ 1) - cond(cond(1,N - (0 /\ 0 == N),0 - 1),0,0 /\ N) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 6] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (1 == 1 /\ 0), res = 1, count = 6] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 1 - 1, res = 1, count = 6] [program = N == 0 == cond(0,N,N) /\ N - 1, res = 1, count = 5] [program = 0 == N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 5] [program = cond(0,N,N) /\ N - 1 == 0, res = 1, count = 5] [program = N /\ N == N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N, res = 1, count = 5] [program = N /\ 0 == cond(0,N,N) /\ N - 1, res = 1, count = 5] [program = 1 - 1 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 5] [program = cond(0,cond(N,0,(N /\ 0) - N) - 1,0 == N) == cond(0,N,N) /\ N - 1, res = 1, count = 4] [program = 1 - N - N == N == N /\ N - 1, res = 1, count = 4] [program = N - 1 /\ N == 0, res = 1, count = 4] [program = 1 /\ 0 == cond(0,N,N) /\ N - 1, res = 1, count = 4] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (N - (N - (0 - 0) == 0 - 1) /\ N == 0), res = 1, count = 4] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 0 /\ cond(cond(0,(1 /\ 1) - 0,1 /\ N /\ N /\ (1 == (1 == cond(1,cond(N,N /\ N,cond(N == N,0,1)),1)))),1,1), res = 1, count = 4] [program = cond(cond(1,N,N) - cond(0 /\ (1 /\ N - (0 /\ (N == 1) /\ ((N == 1) /\ N))),N == N /\ cond(N /\ N,1,0 - (0 - N)) - cond((cond(1,1 /\ N,N) /\ (N == cond(1,N,1))) - 0,cond(0 /\ 1 == 0,0 /\ 1,cond(N,N - 0,0) /\ N),N),N) /\ 1,cond(1,0 - N - (N == N - 0),1 /\ (0 == 1 /\ 0) == 0 - 1),N) == N /\ (0 /\ N) - N, res = 1, count = 3] [program = (N - N == 1) /\ N == N == N - 1 /\ N, res = 1, count = 3] [program = N /\ (0 /\ cond(N,0,1)) == N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 3] [program = N == 0 /\ N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 3] [program = 0 == N == N - 1 /\ N, res = 1, count = 3] [program = cond(0,N,N) /\ N - 1 == (N == 0), res = 1, count = 3] [program = N /\ N - 1 == N - N, res = 1, count = 3] [program = 0 /\ N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 3] [program = (0 /\ 1) - cond(cond(1,N - (0 /\ 0 == N),0 - 1),0,0 /\ N) == N - 1 /\ N, res = 1, count = 3] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == cond(1,0,0), res = 1, count = 3] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (N == 0), res = 1, count = 3] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == cond(1,0,0) /\ 0 - cond(1,N,N), res = 1, count = 3] [program = N - (N /\ N - 1) == N, res = 1, count = 3] [program = cond(N,cond(0,0 /\ 0,N),cond(0 - N,N == 0,0 == cond(0,0,N /\ N - 1))), res = 1, count = 2] [program = cond(cond(0,0,1 - N),0,0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 2] [program = cond(N,N,N) == N /\ (0 /\ N) - N, res = 1, count = 2] [program = cond(N,0,0 /\ N) == N /\ N - 1, res = 1, count = 2] [program = cond(1,N,1 - N /\ cond(N,N,N)) == cond(0,N,N /\ 0 - N), res = 1, count = 2] [program = cond(1,N,1 - N /\ cond(N,N,N)) == N /\ (0 /\ N) - N, res = 1, count = 2] [program = cond(0,N,N /\ 0 - N) == N, res = 1, count = 2] [program = cond(0,N,N) == N /\ 0 - N, res = 1, count = 2] [program = (N - N == 1) /\ N == N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 2] [program = N /\ (0 /\ cond(N,0,1)) == N == N - 1 /\ N, res = 1, count = 2] [program = cond(N,0,cond(N /\ (cond(1,N,1) /\ 0 /\ cond(1,1,1) - 1 - 0 - N),1,N)) - 1 == N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 2] [program = (1 == 0) - N == 0 == N /\ N - 1, res = 1, count = 2] [program = N == cond(0,1 /\ 1 /\ cond(N,0,0) == (cond(N - N,N,0) == 1) == 0,1) /\ (0 /\ 1) /\ N == cond(0,N,N) /\ N - 1, res = 1, count = 2] [program = 0 == 1 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 2] [program = cond(0,N,N) /\ N - 1 == 1 - (N == N /\ 1) /\ 0, res = 1, count = 2] [program = cond(0,N,N) /\ N - 1 == 0 /\ N, res = 1, count = 2] [program = (1 == (N == 0 == 1)) /\ N == cond(0,N,N) /\ N - 1, res = 1, count = 2] [program = 0 - 0 /\ N /\ N == N - 1 /\ N, res = 1, count = 2] [program = cond(1,0,0) - N /\ N == N /\ N, res = 1, count = 2] [program = cond(1,0,0) - N /\ N == (N == N) - (1 - N), res = 1, count = 2] [program = N - 1 /\ N == cond(cond(N,1 - 1,N),0,0), res = 1, count = 2] [program = N - 1 /\ N == N - N, res = 1, count = 2] [program = N - 1 /\ N == 1 - 1, res = 1, count = 2] [program = 1 - (N == N /\ 1) /\ 0 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 2] [program = N /\ cond(1,0,N == 0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 2] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == cond(cond(1,N,N) - cond(0 /\ (1 /\ N - (0 /\ (N == 1) /\ ((N == 1) /\ N))),N == N /\ cond(N /\ N,1,0 - (0 - N)) - cond((cond(1,1 /\ N,N) /\ (N == cond(1,N,1))) - 0,cond(0 /\ 1 == 0,0 /\ 1,cond(N,N - 0,0) /\ N),N),N) /\ 1,cond(1,0 - N - (N == N - 0),1 /\ (0 == 1 /\ 0) == 0 - 1),N), res = 1, count = 2] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == cond(1,N,1 == N), res = 1, count = 2] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == cond(1,N,N - 0), res = 1, count = 2] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == (N == N) - (1 - N), res = 1, count = 2] [program = N /\ (0 /\ N) - N == cond(1,N,cond(N /\ 1 == N,1 /\ 1,1)), res = 1, count = 2] [program = N /\ N - 1 == (N == 0 - (cond(cond(0,(cond(N,0 /\ 1,N) == N) /\ N,0),N,1 == N) - 1)) /\ 1 - ((N /\ N) - 0), res = 1, count = 2] [program = N /\ N - 1 == 0 - 0, res = 1, count = 2] [program = N /\ 0 - N == N, res = 1, count = 2] [program = N /\ N == N /\ (0 /\ N) - N, res = 1, count = 2] [program = 0 /\ N == N - 1 /\ N, res = 1, count = 2] [program = 0 /\ 1 == cond(0,N,N) /\ N - 1, res = 1, count = 2] [program = 0 /\ 1 == N - 1 /\ N, res = 1, count = 2] [program = cond(N /\ N /\ N - 1,N,N) - N == N /\ N - 1, res = 1, count = 2] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == cond(1,0,0 == 1), res = 1, count = 2] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (1 - N - N == N), res = 1, count = 2] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (0 == N), res = 1, count = 2] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == N - N, res = 1, count = 2] [program = N - (N /\ N - 1) == N - cond(0,N,0), res = 1, count = 2] [program = N - N == N - 1 /\ N, res = 1, count = 2] [program = N - N == N /\ N - 1, res = 1, count = 2] [program = cond(cond(0,N,0 - N),cond(0,0 /\ 0,N),cond(0 - N,N == 0,0 == cond(0,0,N /\ N - 1))), res = 1, count = 1] [program = cond(N - N == (N - (N == N) /\ N == N - N),1 /\ 0 - 0 == N,cond(1,1,cond(0,1,0) - 1 - 0)), res = 1, count = 1] [program = cond(cond(N,1 - 1,N),0,0) == N - 1 /\ N, res = 1, count = 1] [program = cond(cond(0,0,N == N),cond(0,0 - N,N),N - cond(N,N,0 - ((N /\ N) - 1) - 0)) == N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N, res = 1, count = 1] [program = cond(cond(0,0,1 - N),0,0) == N /\ N - 1, res = 1, count = 1] [program = cond(1 == 1 == 1 /\ (N /\ 1),N - N /\ 1,cond(1,1 /\ N,1)) == N /\ N - 1, res = 1, count = 1] [program = cond(1 - 1 == N,N,0) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(cond(1,N,N) - cond(0 /\ (1 /\ N - (0 /\ (N == 1) /\ ((N == 1) /\ N))),N == N /\ cond(N /\ N,1,0 - (0 - N)) - cond((cond(1,1 /\ N,N) /\ (N == cond(1,N,1))) - 0,cond(0 /\ 1 == 0,0 /\ 1,cond(N,N - 0,0) /\ N),N),N) /\ 1,cond(1,0 - N - (N == N - 0),1 /\ (0 == 1 /\ 0) == 0 - 1),N) == N - (N /\ N - 1), res = 1, count = 1] [program = cond(1 /\ 1,0,N == cond(1,cond(0,N,N),N)) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(0 /\ N,1,0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(0 /\ N,0,0 == cond(N == N,N,N /\ N)) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(0 /\ N,0,0 == cond(N == N,N,N /\ N)) == N /\ N - 1, res = 1, count = 1] [program = cond(cond(0 == cond(1 - N,1 - cond(N - 0,cond(N,N - (N == cond(N,(N /\ (N == 0) == N) - N - 0,N) - 1 - N),1 /\ 1),1 - (0 == cond(0,0,N - N))),0),cond(N,N,N == N),N) - 0,0,cond(N,N,N)) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond((N /\ N /\ N) - (0 - (cond(N /\ N,1,1 == (N == N /\ (N /\ N) /\ (0 /\ (0 == N))) /\ N) - N)),N,N) == cond(1,0,0) - N /\ N, res = 1, count = 1] [program = cond(N - N,cond(N - 0 /\ N,N,0),1 == (N == N - (N - N) == 0) == N) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(N - N,N,cond(1,0,N - (N - 0))) == N - 1 /\ N, res = 1, count = 1] [program = cond(N - N,N,cond(1,0,N - (N - 0))) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(N - N,N,N - N) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(1 - N,N,(N == 0 == cond(1,0,N) - (N - (N - (0 - (0 == (N == N))))) /\ 0) /\ (N - cond(1,cond(N /\ 1,0 == N,1),0) == 0) /\ N) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(0 - N,0,cond((N /\ (1 == N)) - cond(1 == N,0,1),0,0)) == N /\ (N /\ (1 == (0 == N)) - 0) - N - N, res = 1, count = 1] [program = cond(N,cond(1,N,0 == N),N) == N /\ 0 - N, res = 1, count = 1] [program = cond(N,cond(0,cond(N,N,0),N) /\ N,N) == cond(0,N,N /\ 0 - N), res = 1, count = 1] [program = cond(N,N,cond(N,cond(N,1 - N,N),cond(0,N,N))) == N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N, res = 1, count = 1] [program = cond(N,N,0 - N /\ N) == N, res = 1, count = 1] [program = cond(N,1,N) == cond(1,0,0) - N /\ N, res = 1, count = 1] [program = cond(N,1,N) == N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N, res = 1, count = 1] [program = cond(N,0,0 /\ N) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(N,0,0 /\ N) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(1,cond(1,0 == 1,0),cond(0,cond(N /\ 1 - ((1 /\ 0 - 0 == 0) /\ N),N /\ 0 - N,1 - (N /\ 0) - N) - N,cond(N,N,N))) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(1,(N == N) - 1,0) == N /\ N - 1, res = 1, count = 1] [program = cond(1,N,cond(N /\ 1 == N,1 /\ 1,1)) == cond(1,0,0) - N /\ N, res = 1, count = 1] [program = cond(1,N,N - 0) == N /\ (0 /\ N) - N, res = 1, count = 1] [program = cond(1,N,N - 0) == N - (N /\ N - 1), res = 1, count = 1] [program = cond(1,N,N) == N /\ (0 /\ N) - N, res = 1, count = 1] [program = cond(1,N,0) == N /\ 0 - N, res = 1, count = 1] [program = cond(1,0,N == 0) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(1,0,0 /\ N) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(0,1 == cond(1 == N - (1 /\ N),cond(N,N,1),N == N),N - N == N - 0) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(0,1 == cond(1 == N - (1 /\ N),cond(N,N,1),N == N),N - N == N - 0) == N /\ N - 1, res = 1, count = 1] [program = cond(0,1 == cond(1 == N - (1 /\ N),cond(N,N,1),N == N),N - N == N - 0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(0,0 /\ cond(cond(0,1 /\ N,N - N),1,1),N /\ N) == N /\ 0 - N, res = 1, count = 1] [program = cond(0,0 /\ cond(cond(0,1 /\ N,N - N),1,1),N /\ N) == N - (N /\ N - 1), res = 1, count = 1] [program = cond(0,N - cond(1,1,1),N) == N /\ (0 /\ N) - N, res = 1, count = 1] [program = cond(0,N,N /\ 0 - N) == cond(N,1,N), res = 1, count = 1] [program = cond(0,N,N /\ 0 - N) == cond(0,1,cond(N - N,N,cond(N,N,N))), res = 1, count = 1] [program = cond(0,N,N /\ 0 - N) == (N /\ N) - 0, res = 1, count = 1] [program = cond(0,1,N - N) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(0,1,N - N) == N - 1 /\ N, res = 1, count = 1] [program = cond(0,1,N) == cond(0,N,N /\ 0 - N), res = 1, count = 1] [program = cond(0,1,N) == N /\ (0 /\ N) - N, res = 1, count = 1] [program = cond(0,1,N) == N /\ 0 - N, res = 1, count = 1] [program = cond(0,0,0) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(0,0,0) == N - 1 /\ N, res = 1, count = 1] [program = cond(cond(N,0,0),0,1) == (1 /\ (N == 1 == N)) - cond(N - N,1,N /\ N) == N - 1 /\ N, res = 1, count = 1] [program = cond(N == N,0,(1 /\ N - N) - N == 0) == N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(1 - 1,cond(1,1,N - 0),0) == 1 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(1,N /\ cond(N /\ N,1,1),0) == N - 1 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N == 1 == 0 == N == N - 1 /\ N, res = 1, count = 1] [program = 0 - N == 0 == 1 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = 1 == 1 == 1 - 1 == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = 1 == 1 == 1 - 1 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = 0 == N == cond(1 == 0,N,1) == N /\ N - 1, res = 1, count = 1] [program = cond(0,N,0 == N) /\ (1 == N) == 1 == N /\ N - 1, res = 1, count = 1] [program = (N - N == 1) /\ N == N == N /\ N - 1, res = 1, count = 1] [program = N /\ cond(cond(N,0,N == 0),1,N) == 0 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N /\ (0 /\ cond(N,0,1)) == N == N /\ N - 1, res = 1, count = 1] [program = 1 /\ (0 == N - N) == (1 == 0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = 1 /\ 0 - 0 == N == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(N,1 == 0,0 == 1) - N == N == N - 1 /\ N, res = 1, count = 1] [program = (1 /\ (N == N)) - 0 == N - N == N - 1 /\ N, res = 1, count = 1] [program = (cond(N,1,N) /\ 0) - N - 0 - N == 0 == N - 1 /\ N, res = 1, count = 1] [program = 1 - N - N == N == N - 1 /\ N, res = 1, count = 1] [program = 1 - N - N == 0 == N /\ N - 1, res = 1, count = 1] [program = N - 1 == N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N == (0 == N) /\ (1 /\ (cond(cond(1 /\ N,N,0),0,N - (N - (N - N == 1)) == 0 == N /\ (cond(N,1,0) == (1 == N /\ (0 - 1 == N)) /\ (cond(cond(N,N == N,N),0,1 - ((N == N == N) - N) /\ (N /\ 1 /\ 0) /\ N) == N - 1 /\ (N /\ (1 /\ N) - cond(N,1,1) - N)))) == 1)) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N == 0 /\ N == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = N == 0 /\ N == N /\ N - 1, res = 1, count = 1] [program = N == N - cond(0,cond(0,cond(N,N,cond(1,N,0)),N),N) == N /\ N - 1, res = 1, count = 1] [program = N == N - N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N == 0 == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = 1 == 1 /\ 0 == N /\ N - 1, res = 1, count = 1] [program = 1 == 1 == cond(0 - N,N == 0,0 == cond(0,0,N /\ N - 1)), res = 1, count = 1] [program = 0 == cond(1 /\ 1,N,N - ((0 == 1 == 0) - 1 - (0 /\ N) == N - 1)) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = 0 == (1 /\ 1 == 1) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = 0 == N == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = 0 == N == N /\ N - 1, res = 1, count = 1] [program = cond(1,0,0) /\ 0 - cond(1,N,N) == N /\ N - 1, res = 1, count = 1] [program = cond(1,0,0) /\ 0 - cond(1,N,N) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == cond(1 /\ 1,0,N == cond(1,cond(0,N,N),N)), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == cond(0 /\ N,0,0 == cond(N == N,N,N /\ N)), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == cond(0 /\ 1,cond(N /\ N,N,N),0), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == (1 /\ 0 - 0 == N), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == (N - N == N), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == (N - 1 == N), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == (1 == 1 /\ 0), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == (0 == N), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == cond(cond(0,0,0 /\ 1),N,0) /\ 1, res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == (N == 1) /\ cond((N == 0) - 0 /\ 0 - 0,1 /\ 1,0), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == (0 == N) /\ 0, res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == N /\ (1 == 0) /\ cond(1,0,1), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == 1 /\ cond(1,0,0), res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == 0 /\ 1, res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == 1 - 1, res = 1, count = 1] [program = cond(0,N,N) /\ N - 1 == 0 - 0, res = 1, count = 1] [program = cond(0,N,N) /\ N == N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N, res = 1, count = 1] [program = cond(0,N,0) /\ N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = (cond(0,N,1) == N) /\ 0 == N - 1 /\ N, res = 1, count = 1] [program = (cond(0,N,1) == N) /\ 0 == N /\ N - 1, res = 1, count = 1] [program = (N == (cond(1 /\ N == cond(0,N - 1 /\ (0 == N),0) /\ 1,0 - 0,0) == (cond(N - cond(cond(cond(1,cond(cond(N,N,1),N == 0,1 == 0 /\ N),N),0,N),1,0),cond(0,1,0) /\ N == (1 == 0),N) /\ ((N /\ 1) - 0 /\ cond(1,N,0 == N) == N) - N) - N)) /\ 0 == N /\ N - 1, res = 1, count = 1] [program = (N == N - (N /\ N)) /\ cond(0 /\ (N /\ N),0,1) == N /\ N - 1, res = 1, count = 1] [program = (N == 0) /\ cond(1,0 - cond(N,0,1),N) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = (1 == (N == 0 == 1)) /\ N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = (0 == cond(0,cond(N,N,0),N)) /\ ((N == (N /\ 1 == (cond(1,0,cond(0 - (cond(cond(1,1,N) /\ N == (cond(1,N,N) == N) - N,1,N) /\ N == N),1,1 == N) - 0) == N) == cond(1,(N /\ (cond(0,N,0) == (N - 1 - 1 == N) == N)) - N,cond(N,N,1) - (1 - (1 - N - cond(1,N,N) == N))))) /\ 0 - 0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N - 1 /\ (0 /\ N) /\ cond(N == 0,1,1) == N - 1 /\ N, res = 1, count = 1] [program = N - 1 /\ (0 /\ N) /\ cond(N == 0,1,1) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = 0 - 0 /\ N /\ N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N /\ ((cond(0,N,N) /\ (1 /\ 0) == (N /\ (cond(1,N,N) - 1 /\ 1 == N /\ cond(N,1,N)) /\ 1) - (0 - N) - N) /\ cond(N,1,1) == 0) /\ N == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N /\ N /\ N == cond(1,0,0) - N /\ N, res = 1, count = 1] [program = 1 /\ N /\ (1 - 1 - N == N) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = cond(1,0,0) - N /\ N == cond(N,N,cond(cond(0 == 0,N,N),N,cond(N,1,N) - 0)), res = 1, count = 1] [program = cond(1,0,0) - N /\ N == cond(1,N,cond(N /\ 1 == N,1 /\ 1,1)), res = 1, count = 1] [program = cond(1,0,0) - N /\ N == cond(0,N - cond(1,1,1),N), res = 1, count = 1] [program = N - N /\ 0 == N - 1 /\ N, res = 1, count = 1] [program = N - 1 /\ N == cond(1,0,0), res = 1, count = 1] [program = N - 1 /\ N == ((cond(N,1,N) /\ 0) - N - 0 - N == 0), res = 1, count = 1] [program = N - 1 /\ N == (1 - N - N == N), res = 1, count = 1] [program = N - 1 /\ N == (0 - N == (cond(1 == N /\ 1,1,1) == (1 == 0))), res = 1, count = 1] [program = N - 1 /\ N == (N == 0), res = 1, count = 1] [program = N - 1 /\ N == (1 == (cond(N,cond(0,1 - 0 - N,cond(0,1 == N,N)),0) == N == cond((N == cond(cond(1 /\ cond(0 == cond(0,0 /\ 0,1) - N,cond(1,0,(0 == 0 == (N == 1)) /\ cond(1,1,N)) - N,1),N,cond(N,N,N)),cond(0 == N,N,0),cond(N,0 /\ (1 /\ N),0))) /\ N,0 - 1 == N,cond(N,1,N))) - 1 - ((N /\ 1) - 1)), res = 1, count = 1] [program = N - 1 /\ N == (N == 0 - (cond(cond(0,(cond(N,0 /\ 1,N) == N) /\ N,0),N,1 == N) - 1)) /\ 1 - ((N /\ N) - 0), res = 1, count = 1] [program = N - 1 /\ N == (1 == (N == 0 == 1)) /\ N, res = 1, count = 1] [program = N - 1 /\ N == 1 - (N == N /\ 1) /\ 0, res = 1, count = 1] [program = N - 1 /\ N == 1 /\ 0, res = 1, count = 1] [program = N - 1 /\ N == 0 /\ ((0 == N) /\ 0), res = 1, count = 1] [program = N - 1 /\ N == 0 /\ N, res = 1, count = 1] [program = N - 1 /\ N == 0 /\ 1, res = 1, count = 1] [program = N /\ cond(N,0,cond(N,N,cond(N,(1 /\ (cond(N,N,N) /\ N) - 0) - (N == N),N /\ (0 == 1 /\ N - 1) == (N == 1)))) == N - 1 /\ N, res = 1, count = 1] [program = N /\ (N == (0 /\ (0 /\ 0)) - (N - 0 /\ 0)) == N - 1 /\ N, res = 1, count = 1] [program = N /\ (0 == 1) == N - 1 /\ N, res = 1, count = 1] [program = N /\ ((cond(N - 1 - N,1,0) == N) /\ 0) == N /\ N - 1, res = 1, count = 1] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == cond(0,N,N), res = 1, count = 1] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == cond(0,1,N), res = 1, count = 1] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == cond(0,cond(N,0,1),N) /\ N, res = 1, count = 1] [program = N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N == N - 0, res = 1, count = 1] [program = N /\ (0 /\ N) - N == cond(cond(1,N,N) - cond(0 /\ (1 /\ N - (0 /\ (N == 1) /\ ((N == 1) /\ N))),N == N /\ cond(N /\ N,1,0 - (0 - N)) - cond((cond(1,1 /\ N,N) /\ (N == cond(1,N,1))) - 0,cond(0 /\ 1 == 0,0 /\ 1,cond(N,N - 0,0) /\ N),N),N) /\ 1,cond(1,0 - N - (N == N - 0),1 /\ (0 == 1 /\ 0) == 0 - 1),N), res = 1, count = 1] [program = N /\ (0 /\ N) - N == cond(N,N,cond(N,cond(N,1 - N,N),cond(0,N,N))), res = 1, count = 1] [program = N /\ (0 /\ N) - N == cond(N,1,N), res = 1, count = 1] [program = N /\ (0 /\ N) - N == cond(1,N,N - 0), res = 1, count = 1] [program = N /\ (0 /\ N) - N == cond(0,N,N), res = 1, count = 1] [program = N /\ (0 /\ N) - N == N - 0 /\ cond(N,1,N), res = 1, count = 1] [program = N /\ N - (N - 0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = N /\ N - 1 == cond((N - 0 == 0 /\ (0 == 1)) /\ 0,N == 0,0), res = 1, count = 1] [program = N /\ N - 1 == cond(1,0,0 == 1), res = 1, count = 1] [program = N /\ N - 1 == cond(1,0,0 /\ N), res = 1, count = 1] [program = N /\ N - 1 == cond(0,1 == cond(1 == N - (1 /\ N),cond(N,N,1),N == N),N - N == N - 0), res = 1, count = 1] [program = N /\ N - 1 == cond(0,cond(N,0,(N /\ 0) - N) - 1,0 == N), res = 1, count = 1] [program = N /\ N - 1 == ((cond(N == N,0 - 0,1) /\ (N == 0) - ((N /\ 0 == N) - N)) - 0 == N), res = 1, count = 1] [program = N /\ N - 1 == (1 == (N == 0) /\ 0 - (N /\ (1 /\ N))), res = 1, count = 1] [program = N /\ N - 1 == (0 == 1), res = 1, count = 1] [program = N /\ N - 1 == cond(0,N,0) /\ N, res = 1, count = 1] [program = N /\ N - 1 == (1 == (N == 0 == 1)) /\ N, res = 1, count = 1] [program = N /\ N - 1 == (0 == 1 /\ N) /\ N, res = 1, count = 1] [program = N /\ N - 1 == 1 /\ (N == 0), res = 1, count = 1] [program = N /\ N - 1 == 0 /\ cond(N,0,0), res = 1, count = 1] [program = N /\ N - 1 == 0 /\ 1, res = 1, count = 1] [program = N /\ N - 1 == 0 /\ 0, res = 1, count = 1] [program = N /\ N - 1 == cond(N /\ N /\ N - 1,N,N) - N, res = 1, count = 1] [program = N /\ N == cond(0,N,N /\ 0 - N), res = 1, count = 1] [program = N /\ N == N - (N /\ N - 1), res = 1, count = 1] [program = N /\ 0 == N /\ N - 1, res = 1, count = 1] [program = 1 /\ cond(1,0,0) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = 1 /\ cond(1,0,0) == N - 1 /\ N, res = 1, count = 1] [program = 1 /\ cond(1,0,0) == N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))), res = 1, count = 1] [program = 1 /\ (N == 0) == N /\ N - 1, res = 1, count = 1] [program = 1 /\ N - (1 /\ N) == N - 1 /\ N, res = 1, count = 1] [program = 1 /\ 1 == cond(0 - N,N == 0,0 == cond(0,0,N /\ N - 1)), res = 1, count = 1] [program = 0 /\ (cond(N,N,1 - 1) == 1 == 0) == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ 1 == N - (N == N) /\ N, res = 1, count = 1] [program = cond(N,0,cond(0,N /\ N,N)) - 0 == 1 - N /\ N, res = 1, count = 1] [program = cond(1,N - N,N /\ N) - 0 == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = (N == N) - (1 - N) == N /\ 0 - N, res = 1, count = 1] [program = (N /\ N) - 0 == N /\ 0 - N, res = 1, count = 1] [program = (0 /\ N) - (N /\ 0) == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = (0 /\ N) - (N /\ 0) == N /\ N - 1, res = 1, count = 1] [program = N - (cond(N - N,0,1 == 0) == 1) - N == N /\ N - 1, res = 1, count = 1] [program = 1 - 0 - 1 == N /\ N - 1, res = 1, count = 1] [program = N - (cond(1,1,N) == 0 - N) == N /\ (0 /\ N) - N, res = 1, count = 1] [program = N - (0 == N == 1) == N /\ cond(N,N /\ N - cond(N,1,N) /\ (N == 1 == (0 == cond(0,N,N))) /\ N,N == cond((0 /\ 1) - 0,0,N)) - N, res = 1, count = 1] [program = N - (0 == N) == N /\ (0 /\ N) - N, res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == cond(N - N,N,0 /\ N), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == cond(0,N,N == 0 - 0 - 1 - (N == 0)), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == cond(0,0,0), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (0 /\ N - (N == N) == (0 == 0)), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == ((cond(N == N,0 - 0,1) /\ (N == 0) - ((N /\ 0 == N) - N)) - 0 == N), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (1 - N - N == 0), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (N - 1 == N), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (0 == 1), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (N == 1) /\ cond((N == 0) - 0 /\ 0 - 0,1 /\ 1,0), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (1 == cond(0,N,1)) /\ 0, res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (0 == N) - N /\ (0 == N - N) /\ (1 == 1) - 1, res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == N /\ N /\ 0, res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 1 - (N == N /\ 1) /\ 0, res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 1 /\ 0 - (N - (0 == (N - 0 - 1 == (0 == 1) == 0))), res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == 0 /\ 1, res = 1, count = 1] [program = N - (N /\ (N == cond(N,N /\ (1 == 1),1 == 0)) - (N /\ (N /\ N - (N == 1)))) == (0 /\ 1) - cond(cond(1,N - (0 /\ 0 == N),0 - 1),0,0 /\ N), res = 1, count = 1] [program = N - (N /\ N - 1) == cond(cond(1,N,N) - cond(0 /\ (1 /\ N - (0 /\ (N == 1) /\ ((N == 1) /\ N))),N == N /\ cond(N /\ N,1,0 - (0 - N)) - cond((cond(1,1 /\ N,N) /\ (N == cond(1,N,1))) - 0,cond(0 /\ 1 == 0,0 /\ 1,cond(N,N - 0,0) /\ N),N),N) /\ 1,cond(1,0 - N - (N == N - 0),1 /\ (0 == 1 /\ 0) == 0 - 1),N), res = 1, count = 1] [program = N - (N /\ N - 1) == cond(1,N,N - 0), res = 1, count = 1] [program = N - (N /\ N - 1) == N /\ N /\ N, res = 1, count = 1] [program = N - (N /\ N - 1) == N /\ N, res = 1, count = 1] [program = N - N == cond(0,N,N) /\ N - 1, res = 1, count = 1] [program = 1 - 1 == N /\ N - 1, res = 1, count = 1] resultMap = [1 = 313] * With == (no cond/3) AllGood: [program = N == N /\ (0 /\ N == N) - N, res = 1, count = 97] [program = N == 0 - N /\ N, res = 1, count = 95] [program = 0 == N - 1 /\ N, res = 1, count = 95] [program = N == N /\ 0 - N, res = 1, count = 87] [program = 0 == N /\ N - 1, res = 1, count = 70] [program = 0 == (N - 0 /\ N - 1) - 0, res = 1, count = 52] [program = N == 0 - N /\ (1 /\ 1) - (1 - N), res = 1, count = 50] [program = N == (N == 0) - N /\ N, res = 1, count = 45] [program = N == N - (N - 1 - 0 /\ N), res = 1, count = 45] [program = N == N /\ (0 - (N /\ N) /\ N), res = 1, count = 44] [program = 0 == (N /\ N - 1) - 0, res = 1, count = 42] [program = N /\ 0 - N == N, res = 1, count = 40] [program = N == N /\ 1 - (1 == N) - N, res = 1, count = 38] [program = N - 1 /\ N == 0, res = 1, count = 30] [program = N /\ N - 1 == 0, res = 1, count = 26] [program = 0 - (1 /\ 1 /\ N - N) == N - 1 /\ N, res = 1, count = 25] [program = 0 - N /\ (1 /\ 1) - (1 - N) == N, res = 1, count = 22] [program = 0 - (0 - (0 - 1 == 1) /\ N) == N /\ N - 1, res = 1, count = 22] [program = 0 - (1 /\ 1 /\ N - N) == N /\ N - 1, res = 1, count = 21] [program = N /\ 0 - N == N - (N /\ 0), res = 1, count = 17] [program = 0 - (N - 0) - 0 - (0 - (N - N)) /\ N == N, res = 1, count = 16] [program = N /\ (0 /\ N == N) - N == N, res = 1, count = 14] [program = 0 - (0 - (0 - 1 == 1) /\ N) == N - 1 /\ N, res = 1, count = 14] [program = N /\ N == 0 - N /\ (1 /\ 1) - (1 - N), res = 1, count = 13] [program = 0 /\ 1 == N /\ N - 1, res = 1, count = 12] [program = 0 - N /\ N == N, res = 1, count = 11] [program = N == 0 - (N - 0) - 0 - (0 - (N - N)) /\ N, res = 1, count = 11] [program = (N == 0) - N /\ N == N, res = 1, count = 10] [program = 1 - 1 == N /\ N - 1, res = 1, count = 10] [program = (N == 0) /\ (N /\ 1) == N - 1 /\ N, res = 1, count = 9] [program = N /\ N - 1 == N - N, res = 1, count = 9] [program = N - (N - 1 - 0 /\ N) == N, res = 1, count = 8] [program = N - 0 == 0 - N /\ N, res = 1, count = 8] [program = N - 0 == N /\ 0 - N, res = 1, count = 8] [program = (N - 1 - (0 == 1) /\ 1) - N /\ N == N, res = 1, count = 7] [program = N - 1 /\ N == 0 /\ N, res = 1, count = 6] [program = N - 1 /\ N == 0 /\ 1, res = 1, count = 6] [program = N - 1 /\ N == N - N, res = 1, count = 6] [program = N /\ 0 - N == N - (N == 0 - 1 /\ 1 - N), res = 1, count = 6] [program = 0 /\ N == N - 1 /\ N, res = 1, count = 6] [program = 0 /\ 1 == N - 1 /\ N, res = 1, count = 6] [program = N - N == N - 1 /\ N, res = 1, count = 6] [program = N - 1 /\ N == (N == 0), res = 1, count = 5] [program = N - 1 /\ N == (N == 0) /\ (N /\ 1), res = 1, count = 5] [program = N - 1 /\ N == 1 /\ (N /\ N == 1 - 1), res = 1, count = 5] [program = N - 1 /\ N == 0 /\ 0, res = 1, count = 5] [program = N /\ 1 - N == N - (N == 1), res = 1, count = 5] [program = N - (0 /\ N) == 0 - N /\ (1 /\ 1) - (1 - N), res = 1, count = 5] [program = N == (N - 1 - (0 == 1) /\ 1) - N /\ N, res = 1, count = 5] [program = (N == 0) - N /\ N == N /\ N, res = 1, count = 4] [program = N /\ 1 - (1 == N) - N == N, res = 1, count = 4] [program = N /\ N == (N == 0) - N /\ N, res = 1, count = 4] [program = N /\ 0 == N /\ N - 1, res = 1, count = 4] [program = N - (N - ((0 == N) /\ 0)) == (N /\ N - N) - (N /\ N - 1), res = 1, count = 4] [program = 0 - N == (N == 0) == N /\ N - 1, res = 1, count = 3] [program = N == (N == N) - ((0 /\ 1) - N) == N - 1 /\ N, res = 1, count = 3] [program = N == 0 == N - 1 /\ N, res = 1, count = 3] [program = N - N /\ (N - (N /\ 0) == N) == N /\ N - 1, res = 1, count = 3] [program = N - 1 /\ N == (N - (1 == 1) == N), res = 1, count = 3] [program = N - 1 /\ N == (0 == N), res = 1, count = 3] [program = N - 1 /\ N == N /\ (N == 1) /\ N /\ ((0 == 1) /\ (1 == N)) /\ N - 1 - 1, res = 1, count = 3] [program = N - 1 /\ N == 1 /\ 0, res = 1, count = 3] [program = 0 - N /\ (1 /\ 1) - (1 - N) == N /\ N, res = 1, count = 3] [program = N /\ (0 /\ N == N) - N == N - (N /\ 0), res = 1, count = 3] [program = N /\ (0 /\ N == N) - N == N - 0, res = 1, count = 3] [program = N /\ N - 1 == 0 /\ N, res = 1, count = 3] [program = N /\ N - 1 == 0 /\ 1, res = 1, count = 3] [program = N /\ N - 1 == (1 == (1 == 0) /\ 0) - 0, res = 1, count = 3] [program = N /\ 0 == N - 1 /\ N, res = 1, count = 3] [program = 0 /\ N == (N /\ N - 1) - 0, res = 1, count = 3] [program = 0 /\ 0 == (N - 0 /\ N - 1) - 0, res = 1, count = 3] [program = (1 == (1 == 0) /\ 0) - 0 == N - 1 /\ N, res = 1, count = 3] [program = (N - 1 /\ N) - 0 == 0, res = 1, count = 3] [program = (N - 0 /\ N - 1) - 0 == 0, res = 1, count = 3] [program = (N /\ N - 1) - 0 == N - N, res = 1, count = 3] [program = (N /\ N - 1) - 0 == 0, res = 1, count = 3] [program = (1 /\ 0) - 0 == N - 1 /\ N, res = 1, count = 3] [program = N - (N /\ N) == (N /\ N - 1) - 0, res = 1, count = 3] [program = N - (N /\ 0) == 0 - N /\ (1 /\ 1) - (1 - N), res = 1, count = 3] [program = N - N == N /\ N - 1, res = 1, count = 3] [program = N - 0 == (N == 0) - N /\ N, res = 1, count = 3] [program = 1 - 1 == N - 1 /\ N, res = 1, count = 3] [program = 1 /\ 1 /\ 1 == 0 /\ (0 /\ (0 == 0)) == (N /\ N - 1) - 0, res = 1, count = 2] [program = 0 - N == (N == 0) == N - 1 /\ N, res = 1, count = 2] [program = 0 - 1 == N == N - 1 /\ N, res = 1, count = 2] [program = N == N /\ 0 == (N /\ N - 1) - 0, res = 1, count = 2] [program = N == N - N == (N /\ N - 1) - 0, res = 1, count = 2] [program = N == 0 - (N /\ N) == N - 1 /\ N, res = 1, count = 2] [program = N == 0 == N /\ N - 1, res = 1, count = 2] [program = 1 == N - N == N /\ N - 1, res = 1, count = 2] [program = 1 == 0 == N /\ N - 1, res = 1, count = 2] [program = 0 == (N == N) == N - 1 /\ N, res = 1, count = 2] [program = 0 == 1 == N - 1 /\ N, res = 1, count = 2] [program = 0 == 1 == N /\ N - 1, res = 1, count = 2] [program = 0 == 1 == (N - 0 /\ N - 1) - 0, res = 1, count = 2] [program = (0 /\ 0 /\ 0 /\ 0 == N) /\ N == (N - 0 /\ N - 1) - 0, res = 1, count = 2] [program = (0 - 1 == (1 == (N == 0))) /\ N == N - 1 /\ N, res = 1, count = 2] [program = (N == 0 - N - 0 - 0) /\ (1 == N) == N /\ N - 1, res = 1, count = 2] [program = (N == 0) /\ (N /\ 1) == N /\ N - 1, res = 1, count = 2] [program = 1 - 0 /\ ((1 == 0) /\ 1) /\ (N /\ N) == N /\ N - 1, res = 1, count = 2] [program = N /\ N /\ N == N /\ (0 - (N /\ N) /\ N), res = 1, count = 2] [program = (N /\ 0 - 1) - (1 /\ N - N) /\ 0 == N - 1 /\ N, res = 1, count = 2] [program = 0 - (N - 0) - 0 - (0 - (N - N)) /\ N == N - (0 - 1 == 1 - N /\ N), res = 1, count = 2] [program = 0 - (N - 0) - 0 - (0 - (N - N)) /\ N == N - 0, res = 1, count = 2] [program = N - N /\ (N - (N /\ 0) == N) == N - 1 /\ N, res = 1, count = 2] [program = N - N /\ 0 == N - 1 /\ N, res = 1, count = 2] [program = N - 1 /\ N == (1 == 0 - (N == N == N) == 1), res = 1, count = 2] [program = N - 1 /\ N == (0 - N == 0), res = 1, count = 2] [program = N - 1 /\ N == (1 == N - N), res = 1, count = 2] [program = N - 1 /\ N == (0 == N == 1) /\ (0 /\ N == N), res = 1, count = 2] [program = N - 1 /\ N == N /\ N /\ 0, res = 1, count = 2] [program = N - 1 /\ N == (0 == 0 - 0) - 1 /\ (0 /\ 0), res = 1, count = 2] [program = N - 1 /\ N == N /\ 0, res = 1, count = 2] [program = N - 1 /\ N == 0 /\ (0 /\ (0 /\ N)), res = 1, count = 2] [program = N - 1 /\ N == 0 - (1 /\ 1 /\ N - N), res = 1, count = 2] [program = N - 0 /\ N == 0 - N /\ N, res = 1, count = 2] [program = 1 - (1 == (0 == N)) /\ (N /\ 0) == (N /\ N - 1) - 0, res = 1, count = 2] [program = 0 - N /\ (1 /\ 1) - (1 - N) == N - 0, res = 1, count = 2] [program = 0 - N /\ N == N /\ N, res = 1, count = 2] [program = 0 - N /\ N == N - (0 - 1 == 1 - N /\ N), res = 1, count = 2] [program = N /\ ((0 == 1 /\ 1) /\ 1) == N /\ N - 1, res = 1, count = 2] [program = N /\ (0 /\ N == N) - N == N - (0 /\ N), res = 1, count = 2] [program = N /\ N - 1 == (0 == 1 == N), res = 1, count = 2] [program = N /\ N - 1 == (N == 0), res = 1, count = 2] [program = N /\ N - 1 == (1 == (1 /\ (N == 0)) - N), res = 1, count = 2] [program = N /\ N - 1 == (1 == 0) /\ (((0 == N) - N == (0 == 0)) /\ N - N), res = 1, count = 2] [program = N /\ N - 1 == N /\ N - N, res = 1, count = 2] [program = N /\ N - 1 == N /\ 0, res = 1, count = 2] [program = N /\ N - 1 == (N == (N == N) /\ 0) - 0, res = 1, count = 2] [program = N /\ N - 1 == N - (N - ((0 == N) /\ 0)), res = 1, count = 2] [program = N /\ 0 - N == N /\ N, res = 1, count = 2] [program = N /\ N == 0 - N /\ N, res = 1, count = 2] [program = N /\ N == N /\ 0 - N, res = 1, count = 2] [program = N /\ N == N - (N - 1 - 0 /\ N), res = 1, count = 2] [program = 1 /\ (0 == 0 == 0) == (N /\ N - 1) - 0, res = 1, count = 2] [program = 0 /\ N == N /\ N - 1, res = 1, count = 2] [program = (N /\ (N == 0)) - 0 == N - 1 /\ N, res = 1, count = 2] [program = (N /\ N - 1) - 0 == N /\ 1 - 1, res = 1, count = 2] [program = (N /\ N) - N == N - 1 /\ N, res = 1, count = 2] [program = N - (N == 0 - 1 /\ 1 - N) == 0 - N /\ (1 /\ 1) - (1 - N), res = 1, count = 2] [program = N - (N == 0 - 1 /\ 1 - N) == N /\ (0 /\ N == N) - N, res = 1, count = 2] [program = N - (N /\ N) == (N - 0 /\ N - 1) - 0, res = 1, count = 2] [program = N - (N /\ 0) == N /\ (0 /\ N == N) - N, res = 1, count = 2] [program = N - (0 - 0) == N /\ (0 - (N /\ N) /\ N), res = 1, count = 2] [program = N - 0 == 0 - N /\ (1 /\ 1) - (1 - N), res = 1, count = 2] [program = N - 0 == N /\ (0 - (N /\ N) /\ N), res = 1, count = 2] [program = 1 - (N == N) == (N /\ N - 1) - 0, res = 1, count = 2] [program = N - 0 == 0 /\ (N == N) == 1 == N - 1 /\ N, res = 1, count = 1] [program = 1 == 0 - (N == N == N) == 1 == N - 1 /\ N, res = 1, count = 1] [program = 1 == 1 == N /\ N /\ 0 == N - 1 /\ N, res = 1, count = 1] [program = 0 == N == 1 == N /\ N - 1, res = 1, count = 1] [program = 0 == 1 == N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = ((N /\ 1) - N == 1) /\ (N == N /\ N) == (1 == 1) == (N /\ N - 1) - 0, res = 1, count = 1] [program = (0 /\ 1 == 0) /\ N - N /\ N == 1 == N - 1 /\ N, res = 1, count = 1] [program = N /\ 0 /\ N == N == N /\ N - 1, res = 1, count = 1] [program = 1 /\ 1 /\ 1 == 0 /\ (0 /\ (0 == 0)) == (N - 1 /\ N) - 0, res = 1, count = 1] [program = 1 /\ 1 /\ 1 == 0 /\ (0 /\ (0 == 0)) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = (0 == N) - (N - 1) /\ 0 == N == N - 1 /\ N, res = 1, count = 1] [program = (N /\ 1) - (N == N) /\ 1 == N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 1 - 1 /\ N == (N == N == 1) == N - 1 /\ N, res = 1, count = 1] [program = 0 - N /\ 0 == N == (N - 1 /\ N) - 0, res = 1, count = 1] [program = N /\ (0 /\ 0 - N) == N == N /\ N - 1, res = 1, count = 1] [program = N /\ (0 /\ 0 - N) == N == (N /\ N - 1) - 0, res = 1, count = 1] [program = N /\ N == (N == 0 /\ N - 0) == (N /\ N - 1) - 0, res = 1, count = 1] [program = 1 /\ 0 - 0 == N == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ (N /\ (N == N)) == 1 == N /\ N - 1, res = 1, count = 1] [program = 0 /\ N == N == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ 1 == N == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ 0 == N == N /\ N - 1, res = 1, count = 1] [program = (1 == 0) - (1 == 1) == 0 == N - 1 /\ N, res = 1, count = 1] [program = (N - 1 - N /\ (1 /\ 0)) - (1 == N) == N == N - 1 /\ N, res = 1, count = 1] [program = (1 - N /\ (N /\ N)) - (1 /\ N) == 1 == (N /\ N - 1) - 0, res = 1, count = 1] [program = (1 /\ 0) - 1 == N == N /\ N - 1, res = 1, count = 1] [program = N - (1 == 1) == N == N /\ N - 1, res = 1, count = 1] [program = 1 - 1 == N == N - 1 /\ N, res = 1, count = 1] [program = 0 - (0 == N) == 1 == N /\ N - 1, res = 1, count = 1] [program = 0 - (N /\ N) == 0 == (N /\ N - 1) - 0, res = 1, count = 1] [program = 0 - N == 0 == N - 1 /\ N, res = 1, count = 1] [program = N == (N - N == 1) == N /\ N - 1, res = 1, count = 1] [program = N == (N - N == 1) == (N /\ N - 1) - 0, res = 1, count = 1] [program = N == (N == 0) == N - 1 /\ N, res = 1, count = 1] [program = N == (N == 0) == N /\ N - 1, res = 1, count = 1] [program = N == N - (1 == 1) /\ (0 /\ 0 == N - N) == N - 1 /\ N, res = 1, count = 1] [program = N == N - (1 == 1) /\ (0 /\ 0 == N - N) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = N == (N == N) - 1 == N - 1 /\ N, res = 1, count = 1] [program = N == (1 == N) - (1 - 1) - N == N - 1 /\ N, res = 1, count = 1] [program = N == N - 1 - N == N - 1 /\ N, res = 1, count = 1] [program = N == 0 - 0 - N == N - 1 /\ N, res = 1, count = 1] [program = N == N - N == N - 1 /\ N, res = 1, count = 1] [program = N == N - N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = N == N - 1 == N - 1 /\ N, res = 1, count = 1] [program = N == N == (N /\ (0 /\ 1) - N == N), res = 1, count = 1] [program = N == 1 == (N /\ 1) - N - N - 0 /\ (N /\ N), res = 1, count = 1] [program = N == 0 == (N /\ N - 1) - 0, res = 1, count = 1] [program = 1 == N - N /\ 0 - 1 /\ (0 == 0) - 1 == N /\ N - 1, res = 1, count = 1] [program = 1 == (1 /\ (N == 0)) - N == N - 1 /\ N, res = 1, count = 1] [program = 1 == (1 /\ (N == 0)) - N == N /\ N - 1, res = 1, count = 1] [program = 1 == N - N == N - 1 /\ N, res = 1, count = 1] [program = 1 == 0 == N - 1 /\ N, res = 1, count = 1] [program = 0 == N /\ N == N - 1 /\ N, res = 1, count = 1] [program = 0 == N /\ N == N /\ N - 1, res = 1, count = 1] [program = 0 == N == N - 1 /\ N, res = 1, count = 1] [program = 0 == N == N /\ N - 1, res = 1, count = 1] [program = 0 == N == (N /\ N - 1) - 0, res = 1, count = 1] [program = 0 == 1 == (N /\ N - 1) - 0, res = 1, count = 1] [program = (0 == (N == N) == N) /\ (N /\ 1) == N /\ N - 1, res = 1, count = 1] [program = (1 /\ N == (0 == N == 1)) /\ N == N - 1 /\ N, res = 1, count = 1] [program = (N - (N - 0) == 1) /\ (0 == 0) == N - 1 /\ N, res = 1, count = 1] [program = (0 - 1 == (1 == (N == 0))) /\ N == N /\ N - 1, res = 1, count = 1] [program = (N == 0 - N - 0 - 0) /\ (1 == N) == N - 1 /\ N, res = 1, count = 1] [program = (N == 1 - N) /\ N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = (N == 0) /\ (1 == 0) == N - 1 /\ N, res = 1, count = 1] [program = (N == 0) /\ (1 == 0) == N /\ N - 1, res = 1, count = 1] [program = (N == 0) /\ N == N - 1 /\ N, res = 1, count = 1] [program = (N == 0) /\ 0 == N /\ N - 1, res = 1, count = 1] [program = (1 == N) /\ N - N == N - 1 /\ N, res = 1, count = 1] [program = (1 == N) /\ N - N == N /\ N - 1, res = 1, count = 1] [program = (0 == (N == N /\ N)) /\ (0 == 1) - 0 - 1 == N - 1 /\ N, res = 1, count = 1] [program = (0 == N /\ 1) /\ N == N - 1 /\ N, res = 1, count = 1] [program = (0 == N) /\ 1 == N /\ N - 1, res = 1, count = 1] [program = (N == (1 == N)) /\ N - N /\ 0 - N == N - 1 /\ N, res = 1, count = 1] [program = N /\ (N == 1) /\ N /\ ((0 == 1) /\ (1 == N)) /\ N - 1 - 1 == N - 1 /\ N, res = 1, count = 1] [program = N /\ N /\ N - N /\ 1 == N - 1 /\ N, res = 1, count = 1] [program = 1 /\ 1 /\ N /\ (0 /\ N) == N /\ N - 1, res = 1, count = 1] [program = 1 - 0 /\ ((1 == 0) /\ 1) /\ (N /\ N) == N - 1 /\ N, res = 1, count = 1] [program = N /\ (N /\ 0) /\ N == N - 1 /\ N, res = 1, count = 1] [program = N /\ N - N /\ 0 == (N /\ N - 1) - 0, res = 1, count = 1] [program = N /\ N - 0 /\ 0 == N - 1 /\ N, res = 1, count = 1] [program = 1 /\ 0 /\ N - (N /\ (0 == N)) == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ N - N /\ N == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ N /\ 1 - N == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ N /\ 1 - N == N /\ N - 1, res = 1, count = 1] [program = 0 /\ 0 /\ 0 == N /\ N - 1, res = 1, count = 1] [program = (N == 0) - N /\ N == N - 0, res = 1, count = 1] [program = (N == 0) - N /\ N == 1 - (1 - N), res = 1, count = 1] [program = (0 == 0 - 0) - 1 /\ (0 /\ 0) == N - 1 /\ N, res = 1, count = 1] [program = (0 == 0 - 0) - 1 /\ (0 /\ 0) == N /\ N - 1, res = 1, count = 1] [program = ((N == 0) /\ N) - N /\ N == N, res = 1, count = 1] [program = (N - N - (1 /\ N) /\ N) - 1 /\ 0 == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = (N - 1 - (0 == 1) /\ 1) - N /\ N == N - (0 /\ (N /\ N)), res = 1, count = 1] [program = (N - 1 - (0 == 1) /\ 1) - N /\ N == 0 - ((N - 0 == 0) - N), res = 1, count = 1] [program = (0 - N - N /\ (1 == N)) - ((0 == N) - (0 /\ N)) /\ N == N /\ N - 1, res = 1, count = 1] [program = 0 - (N - 0) - 0 - (0 - (N - N)) /\ N == N /\ (N /\ N), res = 1, count = 1] [program = 0 - (N - 0) - 0 - (0 - (N - N)) /\ N == N - (0 /\ (N /\ N)), res = 1, count = 1] [program = 0 - N - (N - (0 == N)) /\ N == 0, res = 1, count = 1] [program = N - (N /\ 0) /\ 0 == N - 1 /\ N, res = 1, count = 1] [program = N - N /\ N == N /\ N - 1, res = 1, count = 1] [program = N - N /\ 0 == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = N - 1 /\ N == (1 - N /\ N - N == (1 == N) == N), res = 1, count = 1] [program = N - 1 /\ N == (N /\ N == (N /\ (N /\ N) == 0) == N), res = 1, count = 1] [program = N - 1 /\ N == (0 - (0 == 0) == N == N /\ N /\ N), res = 1, count = 1] [program = N - 1 /\ N == (0 == 1 == N), res = 1, count = 1] [program = N - 1 /\ N == (N - N /\ N == 1), res = 1, count = 1] [program = N - 1 /\ N == (N == (N == 0)), res = 1, count = 1] [program = N - 1 /\ N == (N == (0 == N)), res = 1, count = 1] [program = N - 1 /\ N == (N == 0 /\ 1), res = 1, count = 1] [program = N - 1 /\ N == (N == (N == N) - ((0 /\ 1) - N)), res = 1, count = 1] [program = N - 1 /\ N == (1 == (1 /\ (N == 0)) - N), res = 1, count = 1] [program = N - 1 /\ N == (0 == 1), res = 1, count = 1] [program = N - 1 /\ N == (N == (N == 0) == N /\ 0 - 1) /\ N - N, res = 1, count = 1] [program = N - 1 /\ N == (0 == N) /\ (N /\ 1), res = 1, count = 1] [program = N - 1 /\ N == 1 /\ 1 /\ N /\ (0 /\ N), res = 1, count = 1] [program = N - 1 /\ N == N - (N - 0) /\ N /\ 1, res = 1, count = 1] [program = N - 1 /\ N == 0 /\ 0 /\ 1, res = 1, count = 1] [program = N - 1 /\ N == (N - N - (1 /\ N) /\ N) - 1 /\ 0, res = 1, count = 1] [program = N - 1 /\ N == N - N /\ (N - (N /\ 0) == N), res = 1, count = 1] [program = N - 1 /\ N == N /\ (0 == 1), res = 1, count = 1] [program = N - 1 /\ N == 1 /\ (0 == N), res = 1, count = 1] [program = N - 1 /\ N == 1 /\ ((1 == 0) /\ N), res = 1, count = 1] [program = N - 1 /\ N == 0 /\ ((0 == (1 == N)) /\ 1 - N), res = 1, count = 1] [program = N - 1 /\ N == 0 /\ (N /\ 0 /\ 1), res = 1, count = 1] [program = N - 1 /\ N == 0 /\ (1 /\ N), res = 1, count = 1] [program = N - 1 /\ N == 0 /\ 1 - N, res = 1, count = 1] [program = N - 1 /\ N == (N == N) - 1, res = 1, count = 1] [program = N - 1 /\ N == (1 == (1 == 0) /\ 0) - 0, res = 1, count = 1] [program = N - 1 /\ N == 1 - ((1 - 0 /\ 1) - (N /\ N /\ 0)), res = 1, count = 1] [program = N - 1 /\ N == 0 - (0 - (0 - 1 == 1) /\ N), res = 1, count = 1] [program = N - 1 /\ N == 0 - 0, res = 1, count = 1] [program = N - 1 /\ 0 == N - 1 /\ N, res = 1, count = 1] [program = N - 0 /\ (0 /\ 0) - N == N, res = 1, count = 1] [program = 1 - 0 /\ 0 - (0 /\ N) == N /\ N - 1, res = 1, count = 1] [program = 0 - (1 == 0) /\ 1 == N - 1 /\ N, res = 1, count = 1] [program = 0 - (1 == 0) /\ 1 == (N /\ N - 1) - 0, res = 1, count = 1] [program = 0 - (1 - N) /\ N - 0 == 0, res = 1, count = 1] [program = 0 - N /\ (1 /\ 1) - (1 - N) == N - (1 == 0), res = 1, count = 1] [program = 0 - N /\ (1 /\ 1) - (1 - N) == N - (N /\ 0), res = 1, count = 1] [program = 0 - N /\ N == N - 0 /\ N, res = 1, count = 1] [program = 0 - N /\ N == N - (0 /\ (N /\ N)), res = 1, count = 1] [program = 0 - 1 /\ N == 0 - N /\ N, res = 1, count = 1] [program = N /\ (N == 1 /\ 0) == N /\ N - 1, res = 1, count = 1] [program = N /\ (0 == 1) == (N /\ N - 1) - 0, res = 1, count = 1] [program = N /\ ((N - 1 == N) /\ (N /\ 1)) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = N /\ ((N - 1 == N) /\ (N /\ 1)) == (N /\ N - 1) - 0, res = 1, count = 1] [program = N /\ ((0 == 1 /\ 1) /\ 1) == N - 1 /\ N, res = 1, count = 1] [program = N /\ ((0 == 0 /\ N) /\ 0) == N - 1 /\ N, res = 1, count = 1] [program = N /\ (0 - (N /\ N) /\ N) == N /\ N, res = 1, count = 1] [program = N /\ (0 - (N /\ N) /\ N) == N - (0 - 1 == 1 - N /\ N), res = 1, count = 1] [program = N /\ (0 /\ N == N) - N == N /\ N, res = 1, count = 1] [program = N /\ (0 /\ N == N) - N == N - (1 /\ N - N == N), res = 1, count = 1] [program = N /\ (0 /\ N == N) - N == N - ((0 == N) /\ 0), res = 1, count = 1] [program = N /\ (0 /\ N == N) - N == N - (N /\ 1 /\ N - 1), res = 1, count = 1] [program = N /\ 1 - (1 == N) - N == N /\ (N /\ N), res = 1, count = 1] [program = N /\ 1 - (1 == N) - N == N - (1 - (N == 0) == (0 == 1) /\ (0 /\ N)), res = 1, count = 1] [program = N /\ 1 - (1 == N) - N == N - 0, res = 1, count = 1] [program = N /\ N - N == N - 1 /\ N, res = 1, count = 1] [program = N /\ N - 1 == (((N /\ 1) - N == 1) /\ (N == N /\ N) == (1 == 1)), res = 1, count = 1] [program = N /\ N - 1 == (((0 == N) /\ N == N - N) - 1 == 1), res = 1, count = 1] [program = N /\ N - 1 == (N - (1 == 1) == N), res = 1, count = 1] [program = N /\ N - 1 == (N == (0 == N)), res = 1, count = 1] [program = N /\ N - 1 == (N == 0 - N), res = 1, count = 1] [program = N /\ N - 1 == (1 == N - N), res = 1, count = 1] [program = N /\ N - 1 == (0 == 1), res = 1, count = 1] [program = N /\ N - 1 == (1 == 0 - N == 1) /\ ((N == 0 - 1) /\ N), res = 1, count = 1] [program = N /\ N - 1 == (0 == N == 1) /\ (0 /\ N == N), res = 1, count = 1] [program = N /\ N - 1 == (1 /\ N == (0 == N == 1)) /\ N, res = 1, count = 1] [program = N /\ N - 1 == (N == 0 - N - 0 - 0) /\ (1 == N), res = 1, count = 1] [program = N /\ N - 1 == (N == 0) /\ (N /\ 1), res = 1, count = 1] [program = N /\ N - 1 == N /\ (N == 1) /\ N /\ ((0 == 1) /\ (1 == N)) /\ N - 1 - 1, res = 1, count = 1] [program = N /\ N - 1 == N /\ N - N /\ 0, res = 1, count = 1] [program = N /\ N - 1 == N /\ 0 /\ (0 /\ 1 == (N == 0) - N), res = 1, count = 1] [program = N /\ N - 1 == N - (1 == (0 == 1) - 1) /\ 0, res = 1, count = 1] [program = N /\ N - 1 == N - N /\ (N - (N /\ 0) == N), res = 1, count = 1] [program = N /\ N - 1 == N - N /\ 0, res = 1, count = 1] [program = N /\ N - 1 == N - 1 /\ 0, res = 1, count = 1] [program = N /\ N - 1 == 1 - 0 /\ 0 - (0 /\ N), res = 1, count = 1] [program = N /\ N - 1 == N /\ (N == (0 == 1)), res = 1, count = 1] [program = N /\ N - 1 == N /\ (N == 1 /\ 0), res = 1, count = 1] [program = N /\ N - 1 == N /\ ((0 == 0 /\ N) /\ 0), res = 1, count = 1] [program = N /\ N - 1 == 1 /\ (N /\ N == 1 - 1), res = 1, count = 1] [program = N /\ N - 1 == 1 /\ 1 - 1, res = 1, count = 1] [program = N /\ N - 1 == 0 /\ (N - (N - 1) == N - N), res = 1, count = 1] [program = N /\ N - 1 == 0 /\ (1 /\ N), res = 1, count = 1] [program = N /\ N - 1 == 0 /\ (N == N - 0) - (1 /\ 1), res = 1, count = 1] [program = N /\ N - 1 == 0 /\ 0, res = 1, count = 1] [program = N /\ N - 1 == (N /\ (N == 0)) - 0, res = 1, count = 1] [program = N /\ N - 1 == (1 /\ 0) - 0, res = 1, count = 1] [program = N /\ N - 1 == N - (0 == N) - N, res = 1, count = 1] [program = N /\ N - 1 == N - (N /\ N), res = 1, count = 1] [program = N /\ N - 1 == 0 - (1 /\ 1 /\ N - N), res = 1, count = 1] [program = N /\ N - 1 == 0 - (0 - (0 - 1 == 1) /\ N), res = 1, count = 1] [program = N /\ 0 - N == N /\ 1 - (1 - N /\ N), res = 1, count = 1] [program = N /\ 0 - N == (N /\ N) - 0, res = 1, count = 1] [program = N /\ 0 - N == N - (1 /\ N - N == N), res = 1, count = 1] [program = N /\ 0 - N == N - (N == 0), res = 1, count = 1] [program = N /\ 0 - N == N - (1 == 0), res = 1, count = 1] [program = N /\ 0 - N == N - ((N - N /\ (1 == N)) - 0), res = 1, count = 1] [program = N /\ N == 0 - (N - 0) - 0 - (0 - (N - N)) /\ N, res = 1, count = 1] [program = N /\ N == N /\ (0 /\ N == N) - N, res = 1, count = 1] [program = N /\ N == N /\ 1 - (1 == N) - N, res = 1, count = 1] [program = 1 /\ (0 == 0 == 0) == N - 1 /\ N, res = 1, count = 1] [program = 1 /\ (0 == 0 == 0) == (N - 1 /\ N) - 0, res = 1, count = 1] [program = 1 /\ (N /\ N == 1 - 1) == (N /\ N - 1) - 0, res = 1, count = 1] [program = 1 /\ (0 == N) == N /\ N - 1, res = 1, count = 1] [program = 1 /\ ((1 == 0) /\ N) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 1 /\ 1 - 1 == N - 1 /\ N, res = 1, count = 1] [program = 1 /\ 1 - 1 == N /\ N - 1, res = 1, count = 1] [program = 1 /\ 0 == N - 1 /\ N, res = 1, count = 1] [program = 1 /\ 0 == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 1 /\ 0 == (N /\ N - 1) - 0, res = 1, count = 1] [program = 0 /\ (N == N == N) == N /\ N - 1, res = 1, count = 1] [program = 0 /\ (0 == 1 - 0 == 1) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 0 /\ (N == 0 /\ 1) == N /\ N - 1, res = 1, count = 1] [program = 0 /\ (N == 0 /\ 1) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 0 /\ (0 == N) == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ (N /\ N /\ 0) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 0 /\ (N - N /\ N) == (N - 1 /\ N) - 0, res = 1, count = 1] [program = 0 /\ (N /\ (1 == N == N)) == (N /\ N - 1) - 0, res = 1, count = 1] [program = 0 /\ (0 /\ (0 /\ N)) == N - 1 /\ N, res = 1, count = 1] [program = 0 /\ (1 == 0 /\ 1) - N == N /\ N - 1, res = 1, count = 1] [program = 0 /\ N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 0 /\ 1 == (N /\ N - 1) - 0, res = 1, count = 1] [program = 0 /\ 0 == N /\ N - 1, res = 1, count = 1] [program = 0 /\ 0 == (N /\ N - 1) - 0, res = 1, count = 1] [program = (N - N == N) - (0 - (1 /\ 0 == N)) == (N /\ N - 1) - 0, res = 1, count = 1] [program = (N == N - 1) - (1 - N == N) == N /\ N - 1, res = 1, count = 1] [program = (N == N) - ((N == N) - 0) == N /\ N - 1, res = 1, count = 1] [program = (1 == (1 == 0) /\ 0) - 0 == N /\ N - 1, res = 1, count = 1] [program = (N - 1 /\ N) - 0 == 0 - (N /\ N - N), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == (1 == 0 - (N == N == N) == 1), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == ((1 - N /\ (N /\ N)) - (1 /\ N) == 1), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == (N == (N - N == 1)), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == (N == ((1 == N) /\ N /\ 0) - N), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == (N == 0), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == (1 == 0), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == (0 == N), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == 1 - 0 /\ ((1 == 0) /\ 1) /\ (N /\ N), res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == N - N /\ 0, res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == N /\ 0, res = 1, count = 1] [program = (N - 0 /\ N - 1) - 0 == 0 /\ (N == N) - (N /\ N), res = 1, count = 1] [program = (N /\ (N == 0)) - 0 == N /\ N - 1, res = 1, count = 1] [program = (N /\ N - 1) - 0 == (1 == 0 - (N == N == N) == 1), res = 1, count = 1] [program = (N /\ N - 1) - 0 == (N == (0 == N)), res = 1, count = 1] [program = (N /\ N - 1) - 0 == (N == 1 - N), res = 1, count = 1] [program = (N /\ N - 1) - 0 == (1 == 0), res = 1, count = 1] [program = (N /\ N - 1) - 0 == (0 == 1), res = 1, count = 1] [program = (N /\ N - 1) - 0 == N - N /\ (N == 0 - N), res = 1, count = 1] [program = (N /\ N - 1) - 0 == 1 /\ (N /\ N == 1 - 1), res = 1, count = 1] [program = (N /\ N - 1) - 0 == (1 == (1 == 0) /\ 0) - 0, res = 1, count = 1] [program = (N /\ N - 1) - 0 == N - (N /\ N), res = 1, count = 1] [program = (N /\ N) - N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = (N /\ N) - 0 == 0 - N /\ N, res = 1, count = 1] [program = (N /\ N) - 0 == N - (N - 1 - 0 /\ N), res = 1, count = 1] [program = (N /\ 0) - 0 == N - 1 /\ N, res = 1, count = 1] [program = (1 /\ 0) - 0 == N /\ N - 1, res = 1, count = 1] [program = (0 /\ N) - (N == 0) == N - 1 /\ N, res = 1, count = 1] [program = N - (0 == N) - (0 /\ N) == N /\ 1 - (1 == N) - N, res = 1, count = 1] [program = N - (0 == N) - N == N - 1 /\ N, res = 1, count = 1] [program = N - 0 - N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = N - (1 /\ N - N == N) == (N == 0) - N /\ N, res = 1, count = 1] [program = N - (1 /\ N - N == N) == 0 - N /\ (1 /\ 1) - (1 - N), res = 1, count = 1] [program = N - (0 - 1 == 1 - N /\ N) == (N == 0) - N /\ N, res = 1, count = 1] [program = N - (0 - 1 == 1 - N /\ N) == 0 - N /\ N, res = 1, count = 1] [program = N - (0 - 1 == 1 - N /\ N) == N /\ (0 /\ N == N) - N, res = 1, count = 1] [program = N - (0 - 1 == 1 - N /\ N) == N - (N - 1 - 0 /\ N), res = 1, count = 1] [program = N - (N == (1 == N)) == 1 - N /\ N, res = 1, count = 1] [program = N - (N == 0 - 1 /\ 1 - N) == (N == 0) - N /\ N, res = 1, count = 1] [program = N - (N /\ N /\ N) == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = N - (N - 1 - 0 /\ N) == N - (0 == 1 - 0), res = 1, count = 1] [program = N - (N - 1 - 0 /\ N) == N - (0 /\ (N /\ N)), res = 1, count = 1] [program = N - (N - 1 - 0 /\ N) == N - 0, res = 1, count = 1] [program = N - (N /\ 0) == 0 - N /\ N, res = 1, count = 1] [program = N - (N /\ 0) == N /\ 0 - N, res = 1, count = 1] [program = N - (0 /\ (N /\ N)) == (N - 1 - (0 == 1) /\ 1) - N /\ N, res = 1, count = 1] [program = N - (0 /\ (N /\ N)) == 0 - N /\ N, res = 1, count = 1] [program = N - N == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = N - 0 == N /\ (0 /\ N == N) - N, res = 1, count = 1] [program = 1 - 1 == (N - 0 /\ N - 1) - 0, res = 1, count = 1] [program = 0 - (N == (1 == 0) == N) == N /\ N - 1, res = 1, count = 1] [program = 0 - (1 - 1 - (0 == N)) == N /\ N - 1, res = 1, count = 1] [program = 0 - 0 == N - 1 /\ N, res = 1, count = 1] resultMap = [1 = 430] With gcd / lcm: Many are wrong (gives 0), but there is one that's correct (see below) AllGood: [program = gcd(N,16) div N, res = 0, count = 52] [program = 22 div lcm(N,16), res = 0, count = 49] [program = 21 div lcm(N,16), res = 0, count = 49] [program = 18 div lcm(N,16), res = 0, count = 42] [program = 23 div lcm(N,16), res = 0, count = 41] [program = 20 div lcm(N,16), res = 0, count = 41] [program = 17 div lcm(N,16), res = 0, count = 41] [program = 16 div lcm(N,16), res = 0, count = 39] [program = 19 div lcm(N,16), res = 0, count = 36] [program = 24 div lcm(N,16), res = 0, count = 32] [program = 31 div lcm(N,16), res = 0, count = 26] [program = gcd(N,16) div lcm(lcm(N,N),N), res = 0, count = 22] [program = 26 div lcm(N,16), res = 0, count = 22] [program = gcd(32,N) div lcm(lcm(N,N),N), res = 1, count = 20] [program = (23 - 5) div lcm(N,16), res = 0, count = 20] [program = 25 div lcm(N,16), res = 0, count = 20] [program = 28 div lcm(N,16), res = 0, count = 17] [program = 29 div lcm(N,16), res = 0, count = 16] [program = 27 div lcm(N,16), res = 0, count = 8] [program = gcd(32,N) div N, res = 1, count = 7] [program = gcd(N,16) div gcd(N,lcm(N,N)), res = 0, count = 6] [program = 30 div lcm(N,16), res = 0, count = 6] [program = (28 - N mod 2) div lcm(N,16), res = 0, count = 3] [program = gcd(N,16) div gcd(N,N), res = 0, count = 2] [program = gcd(16,0 + N) div N, res = 0, count = 2] [program = gcd(N,32 mod N) div gcd(N,lcm(N,N)), res = 1, count = 1] [program = gcd(N,32 mod N) div N, res = 1, count = 1] <--- [program = (26 + 4) div lcm(N,16), res = 0, count = 1] [program = (14 + 12) div lcm(N,16), res = 0, count = 1] resultMap = [0 = 25,1 = 4] This is interesting: [program = gcd(N,32 mod N) div N, res = 1, count = 1] <--- Picat> X=[gcd(N,32) div N : N in 1..32] X = [1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1] This works in general, if the second GCD parameter is at least as large as the max number: Picat> cl(apl_util) Picat> X=[gcd(N,2**10) div N : N in 1..2**10].bool2pos X = [1,2,4,8,16,32,64,128,256,512,1024] * Using div and mod AllGood: [program = (N - (N + 16) mod N) div N, res = 0, count = 1] resultMap = [0 = 1] Same issue as with the gcd formula, the 2**x must be >= max value: Picat> X=[ (N - (N + 2**10) mod N) div N : N in 1..2**10].bool2pos X = [1,2,4,8,16,32,64,128,256,512,1024] * Using div (and no mod). Though the same issue with the max number AllGood: [program = 32 div N - 31 div N, res = 1, count = 1] Picat> Max = 64, X = [ Max div N - (Max-1) div N : N in 1..Max].bool2pos Max = 64 X = [1,2,4,8,16,32,64] This program was created by Hakan Kjellerstrand, hakank@gmail.com See also my Picat page: http://www.hakank.org/picat/ */ % import util. data(test,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[I],cond(is_power_of_two(I),1,0)] : I in 1..31], Unknown = [32], % Unknown = [16], Vars = ['N'], % Ops = [/\,\/,~], % Ops = [/\,-,cond,==], Ops = [/\,-,==], Constants = 0..1, % Ops = [+,-,*,div,gcd], % Ops = [+,-,*,div,mod], % Ops = [+,-,*,div], % Constants = 0..32, MaxSize = 11, Params = new_map([init_size=1000, % unique_vars_all=true, num_gens=100 ]). is_power_of_two(N) => N /\ (N - 1) == 0.