Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!caen!ox.com!yale.edu!cmcl2!adm!lhc!artemis!states From: states@artemis.nlm.nih.gov (David States) Newsgroups: comp.arch Subject: Re: IEEE arithmetic (Goldberg paper) Keywords: optimizing precision Message-ID: <1991Jun26.034644.8902@nlm.nih.gov> Date: 26 Jun 91 03:46:44 GMT References: <9106252305.AA27299@ucbvax.Berkeley.EDU> Sender: usenet@nlm.nih.gov (usenet news poster) Reply-To: states@artemis.nlm.nih.gov (David States) Organization: National Library of Medicine Lines: 33 In article <9106252305.AA27299@ucbvax.Berkeley.EDU>, jbs@WATSON.IBM.COM writes: |> In general I am disturbed by the attitude that just because |> the fortran standard permits some atrocity (such as evaluating a*x+ |> a*y as a*(x+y)) it is improper to criticize a compiler for doing it. |> In my view the standard represents a least common denominator set of |> minimal requirements and any quality compiler will obey a stronger |> set of requirements. A compiler can optimize for many things, (speed, space, I/O etc.), and the use of feedback in optimization through profiling is established if not necessarily wide spread, so why not allow a compiler to optimize for precision? Most readers of this group have undoubtedly seen their share of sloppy/ill considered/hasty code. Wouldn't a little help from the compiler be welcome? Issues: What is the appropriate measure? average error, worst case error, worst observed error, some combination of the above? Is the simple rearrangement of arithmetic sufficient, or would the compiler need to "know" trig identities and the properties of transcendtal functions to be effective? Is it OK to break a program which depends on imprecision/error to run as expected (correctly???)? How effective could this be without profiling and feedback? What would you need to save in profiling if you used it? |> James B. Shearer David States