id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12527,cpp_bin_float: Anal fixation. Part 3. Double rounding when result of convert_to() is a subnormal,Michael Shatz,John Maddock,"When convert_to() applied to numbers in subnormal range the value is initially rounded to 53-bit precision and then rounded again, by ldexp() routine, to the target precision which is lower than 53 bits. The problem is exactly the same as the well-known problem that makes it virtually impossible to produce 100% IEEE-754 compliant results with Intel x87 FPU. Because of double rounding, resulting subnormals are not always the closest representable double-precision numbers to the original value or, in case of tie, they are not always even. Exactly the same problem applies to convert_to() The attached files demonstrate the problem and one possible workaround, not necessarily that fastest, but likely the simplest. ",Bugs,reopened,To Be Determined,multiprecision,Boost 1.62.0,Problem,,,