Increase the size of the bitmap in each node from 32 bits to 64 bits. You are wasting 4 bytes per node, and wider nodes mean fewer indirections for each lookup.
Change the recursion in the lookup to iteration. You used iteration in other traversals, and it should be much more efficient.