float operation bug fix