rewrite SFloat