algorithm update, add float_flag