simplify float ops
fix number scan bug
support float ^