X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=blobdiff_plain;f=references%2Fbeebe2011round32.html;fp=references%2Fbeebe2011round32.html;h=6ce6440fe943152b994c9dd8154e629e61d691d4;hp=0000000000000000000000000000000000000000;hb=93cb10d1d571c39a1f7b39b88d1fba745f2e31a9;hpb=1922bdb6855643434e83d78ebf65f3225777a814 diff --git a/references/beebe2011round32.html b/references/beebe2011round32.html new file mode 100644 index 0000000..6ce6440 --- /dev/null +++ b/references/beebe2011round32.html @@ -0,0 +1,177 @@ + + + + + + + + + + + Re: round32 ( round64 ( X ) ) ?= round32 ( X ) + + + + + + +
+ + + + +
+[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] + + + +

Re: round32 ( round64 ( X ) ) ?= round32 ( X )

+
+ + + + + +
+ + +
Peter Lawrence asks about the infamous problem of double rounding on
+systems with long internal registers (Honeywell mainframes of 1970s,
+Motorola 68K, and current Intel x86 and x86_64 families).
+
+Double rounding is indeed a nuisance, and there is a surprising recent
+discovery that it could have been prevented if there were an unusual
+rounding mode, round-to-odd (RO(x)).  The authors of the paper below
+show how to implement that rounding in software, and discuss how it
+can be used to fix the double-rounding problem.
+
+It is too late now to repair the mistakes of the past that are present
+in millions of installed systems, but it is good to know that careful
+research before designing hardware can be helpful.
+
+@String{j-IEEE-TRANS-COMPUT     = "IEEE Transactions on Computers"}
+
+@Article{Boldo:2008:EFC,
+  author =       "Sylvie Boldo and Guillaume Melquiond",
+  title =        "Emulation of a {FMA} and Correctly Rounded Sums:
+                 Proved Algorithms Using Rounding to Odd",
+  journal =      j-IEEE-TRANS-COMPUT,
+  volume =       "54",
+  number =       "4",
+  pages =        "462--471",
+  month =        apr,
+  year =         "2008",
+  CODEN =        "ITCOB4",
+  DOI =          "http://dx.doi.org/10.1109/TC.2007.70819";,
+  ISSN =         "0018-9340",
+  bibdate =      "Sat Feb 19 18:44:18 2011",
+  abstract =     "Rounding to odd is a nonstandard rounding on
+                 floating-point numbers. By using it for some
+                 intermediate values instead of rounding to nearest,
+                 correctly rounded results can be obtained at the end of
+                 computations. We present an algorithm for emulating the
+                 fused multiply-and-add operator. We also present an
+                 iterative algorithm for computing the correctly rounded
+                 sum of a set of floating-point numbers under mild
+                 assumptions. A variation on both previous algorithms is
+                 the correctly rounded sum of any three floating-point
+                 numbers. This leads to efficient implementations, even
+                 when this rounding is not available. In order to
+                 guarantee the correctness of these properties and
+                 algorithms, we formally proved them by using the Coq
+                 proof checker.",
+  acknowledgement = ack-nhfb,
+  fjournal =     "IEEE Transactions on Computers",
+  keyword =      "round-to-odd (RO(x))",
+}
+
+See also discussions of the double-rounding problem in this recent
+useful book:
+
+@String{pub-BIRKHAUSER-BOSTON   = "Birkh{\"a}user Boston Inc."}
+@String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
+
+@Book{Muller:2010:HFP,
+  author =       "Jean-Michel Muller and Nicolas Brisebarre and Florent
+                 de Dinechin and Claude-Pierre Jeannerod and Vincent
+                 Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
+                 and Damien Stehl{\'e} and Serge Torres",
+  title =        "Handbook of Floating-Point Arithmetic",
+  publisher =    pub-BIRKHAUSER-BOSTON,
+  address =      pub-BIRKHAUSER-BOSTON:adr,
+  pages =        "xxiii + 572",
+  year =         "2010",
+  DOI =          "http://dx.doi.org/10.1007/978-0-8176-4704-9";,
+  ISBN =         "0-8176-4704-X",
+  ISBN-13 =      "978-0-8176-4704-9",
+  LCCN =         "QA76.9.C62 H36 2010",
+  bibdate =      "Thu Jan 27 16:18:58 2011",
+  price =        "US\$90 (est.)",
+  acknowledgement = ack-nhfb,
+}
+
+-------------------------------------------------------------------------------
+- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
+- University of Utah                    FAX: +1 801 581 4148                  -
+- Department of Mathematics, 110 LCB    Internet e-mail: beebe@xxxxxxxxxxxxx  -
+- 155 S 1400 E RM 233                       beebe@xxxxxxx  beebe@xxxxxxxxxxxx -
+- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
+-------------------------------------------------------------------------------
+
+
+ + + +
+ + + + + + + + + +
+
+

+ 754 | + revision | + FAQ | + references | + list archive +

+
+ + + \ No newline at end of file