Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!philmds!leo
From: leo@philmds.UUCP (Leo de Wit)
Newsgroups: comp.lang.c
Subject: About precision invervals (was: How not to write a loop)
Keywords: precision floating numbers
Message-ID: <530@philmds.UUCP>
Date: 26 Jun 88 21:02:21 GMT
References: <16276@brl-adm.ARPA> <329@accelerator.eng.ohio-state.edu> <3637@teklds.TEK.COM>
Reply-To: leo@philmds.UUCP (L.J.M. de Wit)
Organization: Philips I&E DTS Eindhoven
Lines: 21

In article <3637@teklds.TEK.COM> daniels@teklds.UUCP (Scott Daniels) writes:

  [stuff about binary floating point representation deleted]
>Ok, here we go:
>  To represent 2.0 exactly, we could use 2/.1000, but that represents the
>interval 1.8750:2.1250.  Now, there is a tighter specification which is 
>entirely within that interval: 1/.1111 (which represents 1.8125:1.9375), so
>we should use that tighter interval since no poin inside it is any further
>from the desired value 2.0 than the range that 2/.1000 gives.  Hence the
>besty representation (the tightest) for 2.0 is an interval which does not
>even include 2.0!

Now I may've got this wrong, but

   2.0 - 1.8125 = 0.1875 (the most far point).
   2.1250 - 2.0 = 0.1250 (upper far point of interval)
   2.0 - 1.8750 = 0.1250 (lower far point of interval)

And 0.1875 > both other distances. So your theorem does not hold (yet).

     Leo      (Q.E.D. Quick End Dirty, sorry for the misspelling 8-)