improved conversion from float32 to float64