use isNaN
more support pure
remove noboundscheck