While preparing for an exam I've come across this problem:

Let $x$ be an IEEE 754 double precision number. Show that $$ \texttt{fl}(x * \texttt{fl}(1/x)) $$ has only 2 possible results regardless of the value of $x$.

Here $\texttt{fl}(x)$ denotes the rounding of a floating point number.

I've searched the web looking for a solution to this problem, but unfortunately I found nothing.

I would greatly appreciate either an outline of a proof, or a source where I could find one.

  • 1
    $\begingroup$ Hello! We discourage posts that simply state a problem out of context, and expect the community to solve it. Assuming you tried to solve it yourself and got stuck, it may be helpful if you wrote your thoughts and what you could not figure out. It will definitely draw more answers to your post. Until then, the question will be voted to be closed / downvoted. You may also want to check out these hints, or use the search engine of this site to find similar questions that were already answered. $\endgroup$ – Discrete lizard Feb 4 '18 at 16:10
  • 4
    $\begingroup$ Take the definition of IEEE 754 double precision rounding, pen and pencil, and start calculating. There are three values that are obvious candidates for the possible result (can you figure out which ones?), and one of them can't happen. $\endgroup$ – gnasher729 Feb 4 '18 at 16:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.