30 Jan 2002 20:42:18 -0500

Related articles |
---|

re: Compiler bugs chase@world.std.com (David Chase) (2002-01-03) |

Bit-exact floating-point computations fare+NOSPAM@tunes.org (Francois-Rene Rideau) (2002-01-17) |

Re: Bit-exact floating-point computations christian.bau@cbau.freeserve.co.uk (Christian Bau) (2002-01-18) |

Re: Bit-exact floating-point computations fare@tunes.org (Francois-Rene Rideau) (2002-01-24) |

Re: Bit-exact floating-point computations chase@world.std.com (David Chase) (2002-01-24) |

Re: Bit-exact floating-point computations christian.bau@cbau.freeserve.co.uk (Christian Bau) (2002-01-28) |

Re: Bit-exact floating-point computations nmm1@cus.cam.ac.uk (2002-01-30) |

From: | nmm1@cus.cam.ac.uk (Nick Maclaren) |

Newsgroups: | comp.compilers |

Date: | 30 Jan 2002 20:42:18 -0500 |

Organization: | University of Cambridge, England |

References: | 02-01-015 02-01-080 02-01-095 02-01-136 |

Keywords: | arithmetic |

Posted-Date: | 30 Jan 2002 20:42:18 EST |

Christian Bau <christian.bau@cbau.freeserve.co.uk> wrote:

*>*

*>I am trying desperately here to make you understand what I wrote:*

*>There is nothing wrong with giving a specification of the sin ()*

*>function that will always give the same result for the same*

*>argument. No problem at all demanding that sin (1.0e300) should give*

*>the same result on any processor. The stupid thing is demanding that*

*>sin (1.0e300) should return the almost, but not completely guaranteed*

*>correctly rounded result, because that result is absolutely*

*>meaningless.*

Agreed. The accuracy definition that I favour is that, if we have

an operation (a,b,...) = f(d,e,...), then consider the minimum over

all possible mathematical (i.e. real, not floating-point) values of

A,B,...,D,E,... such that (A,B,...) = F(D,E,...) with no error of

max(err(a,A),err(b,B),...,err(d,D),err(e,E),...).

err(x,y) is defined to be a suitable relative/absolute error, but

assume it to be relative if all values are bounded away from zero.

*>PS. When I said there is nothing wrong with a specification that*

*>demands reproducible results, there have been arguments against*

*>it. The best argument is that if you run your code on two*

*>implementations that are both of good quality but not identical, and*

*>you get different results, then this is often just a sign that there*

*>is something wrong with your code.*

Now, how could you possibly guess what my view on that one is? :-)

Regards,

Nick Maclaren,

University of Cambridge Computing Service,

New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.

Email: nmm1@cam.ac.uk

Tel.: +44 1223 334761 Fax: +44 1223 334679

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.