[NB] Note that there's some floating point inaccuracy going on