La precisión de Math.log2 ha cambiado en Chrome

He escrito un programa de JavaScript que calcula la profundidad de un árbol binario en función de la cantidad de elementos. Mi programa ha estado funcionando bien durante meses, pero recientemente he encontrado una diferencia cuando la página web se ve en Chrome vs Firefox.

En particular, en Firefox:

Math.log2(8) = 3

pero ahora en Chrome:

Math.log2(8) = 2.9999999999999996

Mi programa JavaScript se escribió originalmente para encontrar la profundidad del árbol binario en función de la cantidad de elementos como:

var tree_depth = Math.floor(Math.log2(n_elements)) + 1;

Hice una modificación simple a esta fórmula para que todavía funcione correctamente en Chrome:

var epsilon = 1.e-5;
var tree_depth = Math.floor(Math.log2(n_elements) + epsilon) + 1;

Tengo 2 preguntas:

¿Alguien más ha notado un cambio en la precisión en Chrome recientemente paraMath.log2?

¿Existe una modificación más elegante que la que hice arriba al agregar epsilon?

Respuestas a la pregunta(2)

Su respuesta a la pregunta