Notes for draft review at HP in Cupertino at 1:00 on Wednesday 10/13/04. Jim Thomas was our host. Dan Zuras, Jon Okada, Peter Markstein, Mike Cowlishaw (phone), Eric Schwartz (phone), Jeff Kidder (phone), Alex Liu (phone), Leonard Tsai (phone), Joe Darcy (phone) & David Hough attended. We started with my embarrassing discovery of yesterday about decimal to binary conversions. Then draft review continued while I worked on a stronger counter example for directed rounding. n | 2^n ULP 2^n + ULP/2 2^n + ULP --|------------------------------------ 24| 16777216 2 16777217 16777218 25| 33554432 4 33554434 33554436 26| 67108864 8 67108868 67108872 27| 134217728 16 134217736 134217744 28| 268435456 32 268435472 268435488 29| 536870912 64 536870944 536870976 30|1073741824 128 1073741888 1073741952 31|2147483648 256 2147483776 2147483904 32|4294967296 512 4294967552 4294967808 n | 5^10*2^n ULP 5^10*2^n + U/2 5^10*2^n + U -- | -------- --- -------------- ------------ 0 | 9765625 1 9765625.5 9765626 1 | 19531250 2 19531251 19531252 2 | 39062500 4 39062502 39062504 3 | 78125000 8 78125004 78125008 4 | 156250000 16 156250008 156250016 5 | 312500000 32 312500016 312500032 6 | 625000000 64 625000032 625000064 7 | 1250000000 128 1250000064 1250000128 8 | 2500000000 256 2500000128 2500000256 9 | 5000000000 512 5000000256 5000000512 10 |10000000000 1024 10000000512 10000001024 This means that there is a counter example to convert from decimal strings to single precision with directed rounding. In particular, for round-to-zero, the string "1073741825" will convert to 2^30 - 64 if the last digit is ignored because 1073741820 < 2^30 but we have 2^30 < 1073741824 = 2^30 + 1 < 2^30 + 128. Therefore, ignoring the tenth digit means that the string is converted to a binary number that is not even one of the two surrounding numbers. I got sidetracked with a discussion of Annex Z.