private function imbTables($n, $size)
	{
		$table = [];
		$lli = 0; // LUT lower index
		$lui = $size - 1; // LUT upper index
		for ($count = 0; $count < 8192; ++$count) {

			$bitCount = 0;
			for ($bit_index = 0; $bit_index < 13; ++$bit_index) {
				$bitCount += (int) (($count & (1 << $bit_index)) != 0);
			}

			// if we don't have the right number of bits on, go on to the next value
			if ($bitCount == $n) {
				$reverse = ($this->imbReverseUs($count) >> 3);
				// if the reverse is less than count, we have already visited this pair before
				if ($reverse >= $count) {
					// If count is symmetric, place it at the first free slot from the end of the list.
					// Otherwise, place it at the first free slot from the beginning of the list AND place $reverse ath the next free slot from the beginning of the list
					if ($reverse == $count) {
						$table[$lui] = $count;
						--$lui;
					} else {
						$table[$lli] = $count;
						++$lli;
						$table[$lli] = $reverse;
						++$lli;
					}
				}
			}
		}

		return $table;
	}