support float arithmetic and range inference