tailrec version of float list conversion