rewrite float and double