POSSIBLE
if (POSSIBLE(x, y) && (hit = cpufire(x, y)))
if (!used[d] && POSSIBLE(x, y))
assert(POSSIBLE(x, y));