Shouldn’t you be using doubles for numbers that obviously can’t be accurately represented by a single precision float?