Index: docs/LangRef.rst
===================================================================
--- docs/LangRef.rst
+++ docs/LangRef.rst
@@ -7565,12 +7565,14 @@
 Semantics:
 """"""""""
 
-The '``fptrunc``' instruction casts a ``value`` from a larger
-:ref:`floating point <t_floating>` type to a smaller :ref:`floating
-point <t_floating>` type. If the value cannot fit (i.e. overflows) within the
-destination type, ``ty2``, then the results are undefined. If the cast produces
-an inexact result, how rounding is performed (e.g. truncation, also known as
-round to zero) is undefined.
+The '``fptrunc``' instruction casts a ``value`` from a larger :ref:`floating
+point <t_floating>` type to a smaller :ref:`floating point <t_floating>` type.
+If the real number (``R``) represented by ``value`` cannot be exactly
+represented using the :ref:`floating point <t_floating>` type ``ty2``, then the
+value returned is either the nearest predecessor to ``R`` in ``ty2`` (i.e. rounding down),
+the nearest successor to ``R`` in ``ty2`` (i.e. rounding up), or is one of the
+special values in ``ty2`` if they exist (e.g. +/- infinity, +/- zero and NaN).
+The method for choosing which of these values to return is undefined.
 
 Example:
 """"""""