Re: inlining + optimization = nuisance bugs

Andrew Fitzgibbon <awf@robots.ox.ac.uk>
20 Aug 1998 13:56:26 -0400

          From comp.compilers

Related articles
[6 earlier articles]
Re: inlining + optimization = nuisance bugs darcy@usul.CS.Berkeley.EDU (1998-08-13)
Re: inlining + optimization = nuisance bugs joachim.durchholz@munich.netsurf.de (Joachim Durchholz) (1998-08-17)
Re: inlining + optimization = nuisance bugs lindahl@cs.virginia.edu (1998-08-19)
Re: inlining + optimization = nuisance bugs jfc@mit.edu (1998-08-19)
Re: inlining + optimization = nuisance bugs joachim.durchholz@munich.netsurf.de (Joachim Durchholz) (1998-08-19)
Re: inlining + optimization = nuisance bugs roy@prism.gatech.edu (1998-08-20)
Re: inlining + optimization = nuisance bugs awf@robots.ox.ac.uk (Andrew Fitzgibbon) (1998-08-20)
Re: inlining + optimization = nuisance bugs bear@sonic.net (Ray Dillinger) (1998-08-22)
Re: numerical methods sources chase@world.std.com (David Chase) (1998-08-24)
Re: inlining + optimization = nuisance bugs luddy@concmp.com (Luddy Harrison) (1998-09-18)
Re: inlining + optimization = nuisance bugs cfc@world.std.com (Chris F Clark) (1998-09-19)
Re: inlining + optimization = nuisance bugs luddy@concmp.com (Luddy Harrison) (1998-09-22)
Re: inlining + optimization = nuisance bugs zalman@netcom.com (1998-09-22)
[16 later articles]
| List of all articles for this month |
From: Andrew Fitzgibbon <awf@robots.ox.ac.uk>
Newsgroups: comp.compilers
Date: 20 Aug 1998 13:56:26 -0400
Organization: Oxford University Robotics Group
References: 98-08-056 98-08-085
Keywords: arithmetic, standards

> [I've never understood why people are so eager to have fast wrong
> answers. -John]


Sometimes the IEEE is a little more pedantic than one wants. I don't care
if 0.0/0.0 trashes my hard disk, I won't let it happen. Similarly, if
ripple in the last digit makes a difference to my code, it's not robust
enough.


Of course correct should be the default, but I'm just making the point
that "fast wrong" should always be an option.


It *is* difficult to say how wrong, though. In some sense there's a
hierarchy like:
  undefined exception behaviour on 0/0 or sqrt(-1)
  simplifying "1.0 * x" to "x"
  transforming "(a + b) + c" into "a + (b + c)"
  transforming "vector /= 3.0" with "vector *= (1/3.0)"
  nonrepeatable behaviour
  silently treating doubles as singles.


Different people stop at different levels, and reorder the list.


--
Andrew Fitzgibbon, awf@robots.ox.ac.uk
Oxford Information Engineering Research Group +44 01865 273127
<a href=http://www.robots.ox.ac.uk/~awf> Home Page </a>
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.