Угадывание простых чисел

Задача 869

Из всех простых чисел не больше $N$ равномерно выбирается простое число. Оно записывается в двоичной записи и игроки пытаются угадать его бит за битом, начиная с самого младшего бита. Игрок получает одно очко за каждый правильно отгаданный бит. Сразу после озвучивания своей догадки игрок получает ответ, была ли догадка правильной и, если да, то является ли этот бит самым старшим в числе. В этом случае игра завершается.

Пусть $E(N)$ будет ожидаемым количеством очков игроков, если игроки всегда выбирают догадки, позволяющие достичь максимального счета. Например, $E(10)=2$, чего можно достичь, всегда называя "1" в качестве догадки. Также известно, что $E(30)=2.9$.

Найдите $E(10^8)$. Приведите ваш ответ округленным до восьмой цифры после десятичной точки.