$state = $prev | $curr | $next; if ( FULL == count_bits( $state ) ) { # unset these bits in other blocks for my $block ( @grid ){ $block &= ~$state; # cache block if appropriate if ( TERMINAL == count_bits( $block) ) { push @feed_thru, $block; }elsif ( FULL == count_bits( $block ) ) { push @propagate, $block; } } }