]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fortran: Rename/move "Syntax" subheading in documentation [PR47928]
authorSandra Loosemore <sloosemore@baylibre.com>
Tue, 25 Feb 2025 23:39:25 +0000 (23:39 +0000)
committerSandra Loosemore <sloosemore@baylibre.com>
Sun, 2 Mar 2025 17:10:19 +0000 (17:10 +0000)
As suggested in the issue, it makes more sense to describe the function
call argument syntax before talking about the arguments in the description.

gcc/fortran/ChangeLog
PR fortran/47928
* gfortran.texi: Move all the "Syntax" subheadings ahead of
"Description", and rename to "Synopsis".
* intrinsic.texi: Likewise.

gcc/fortran/gfortran.texi
gcc/fortran/intrinsic.texi

index b45ea484f457291cc6bac70aa47bbc2824f50483..963216173085faaf1791ee8975ae3292408df987 100644 (file)
@@ -3583,15 +3583,15 @@ bindings they are also accessible from Fortran.
 @cindex libgfortran initialization, set_args
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_args (int argc, char *argv[])}
+
 @item @emph{Description}:
 @code{_gfortran_set_args} saves the command-line arguments; this
 initialization is required if any of the command-line intrinsics
 is called.  Additionally, it shall be called if backtracing is
 enabled (see @code{_gfortran_set_options}).
 
-@item @emph{Syntax}:
-@code{void _gfortran_set_args (int argc, char *argv[])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{argc} @tab number of command line argument strings
@@ -3617,6 +3617,9 @@ int main (int argc, char *argv[])
 @cindex libgfortran initialization, set_options
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_options (int num, int options[])}
+
 @item @emph{Description}:
 @code{_gfortran_set_options} sets several flags related to the Fortran
 standard to be used, whether backtracing should be enabled
@@ -3626,9 +3629,6 @@ non-passed flags, the default value is used.  See also
 @pxref{Code Gen Options}.  Please note that not all flags are actually
 used.
 
-@item @emph{Syntax}:
-@code{void _gfortran_set_options (int num, int options[])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{num} @tab number of options passed
@@ -3691,13 +3691,13 @@ GFC_FPE_ZERO | GFC_FPE_OVERFLOW | GFC_FPE_UNDERFLOW}.)
 @cindex libgfortran initialization, set_convert
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_convert (int conv)}
+
 @item @emph{Description}:
 @code{_gfortran_set_convert} set the representation of data for
 unformatted files.
 
-@item @emph{Syntax}:
-@code{void _gfortran_set_convert (int conv)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{conv} @tab Endian conversion, possible values:
@@ -3724,13 +3724,13 @@ int main (int argc, char *argv[])
 @cindex libgfortran initialization, set_record_marker
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_record_marker (int val)}
+
 @item @emph{Description}:
 @code{_gfortran_set_record_marker} sets the length of record markers
 for unformatted files.
 
-@item @emph{Syntax}:
-@code{void _gfortran_set_record_marker (int val)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{val} @tab Length of the record marker; valid values
@@ -3756,14 +3756,14 @@ int main (int argc, char *argv[])
 @cindex libgfortran initialization, set_fpe
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_fpe (int val)}
+
 @item @emph{Description}:
 @code{_gfortran_set_fpe} enables floating point exception traps for
 the specified exceptions.  On most systems, this results in a
 @code{SIGFPE} signal being sent and the program being aborted.
 
-@item @emph{Syntax}:
-@code{void _gfortran_set_fpe (int val)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{option}[0] @tab IEEE exceptions.  Possible values are
@@ -3793,14 +3793,14 @@ int main (int argc, char *argv[])
 @cindex libgfortran initialization, set_max_subrecord_length
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_max_subrecord_length (int val)}
+
 @item @emph{Description}:
 @code{_gfortran_set_max_subrecord_length} set the maximum length
 for a subrecord.  This option only makes sense for testing and
 debugging of unformatted I/O.
 
-@item @emph{Syntax}:
-@code{void _gfortran_set_max_subrecord_length (int val)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{val} @tab the maximum length for a subrecord;
@@ -4238,6 +4238,9 @@ future implementation of teams.  It is about to change without further notice.
 @cindex Coarray, _gfortran_caf_init
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_init (int *argc, char ***argv)}
+
 @item @emph{Description}:
 This function is called at startup of the program before the Fortran main
 program, if the latter has been compiled with @option{-fcoarray=lib}.
@@ -4245,9 +4248,6 @@ It takes as arguments the command-line arguments of the program.  It is
 permitted to pass two @code{NULL} pointers as argument; if non-@code{NULL},
 the library is permitted to modify the arguments.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_init (int *argc, char ***argv)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{argc} @tab intent(inout) An integer pointer with the number of
@@ -4271,13 +4271,13 @@ does not rely on the passed arguments and whether the call has been done.
 @cindex Coarray, _gfortran_caf_finish
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_finish (void)}
+
 @item @emph{Description}:
 This function is called at the end of the Fortran main program, if it has
 been compiled with the @option{-fcoarray=lib} option.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_finish (void)}
-
 @item @emph{Notes}:
 For non-Fortran programs, it is recommended to call the function at the end
 of the main program.  To ensure that the shutdown is also performed for
@@ -4293,12 +4293,12 @@ using the STOP and ERROR STOP statements; those use different library calls.
 @cindex Coarray, _gfortran_caf_this_image
 
 @table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_this_image (int distance)}
+
 @item @emph{Description}:
 This function returns the current image number, which is a positive number.
 
-@item @emph{Syntax}:
-@code{int _gfortran_caf_this_image (int distance)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{distance} @tab As specified for the @code{this_image} intrinsic
@@ -4317,6 +4317,9 @@ first argument.
 @cindex Coarray, _gfortran_caf_num_images
 
 @table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_num_images(int distance, int failed)}
+
 @item @emph{Description}:
 This function returns the number of images in the current team, if
 @var{distance} is 0 or the number of images in the parent team at the specified
@@ -4324,9 +4327,6 @@ distance. If @var{failed} is -1, the function returns the number of all images a
 the specified distance; if it is 0, the function returns the number of
 nonfailed images, and if it is 1, it returns the number of failed images.
 
-@item @emph{Syntax}:
-@code{int _gfortran_caf_num_images(int distance, int failed)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{distance} @tab the distance from this image to the ancestor.
@@ -4345,6 +4345,9 @@ then the compiler passes @code{distance=0} and @code{failed=-1} to the function.
 @cindex Coarray, _gfortran_caf_image_status
 
 @table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_image_status (int image, caf_team_t * team)}
+
 @item @emph{Description}:
 Get the status of the image given by the id @var{image} of the team given by
 @var{team}.  Valid results are zero, for image is ok, @code{STAT_STOPPED_IMAGE}
@@ -4352,9 +4355,6 @@ from the ISO_FORTRAN_ENV module to indicate that the image has been stopped and
 @code{STAT_FAILED_IMAGE} also from ISO_FORTRAN_ENV to indicate that the image
 has executed a @code{FAIL IMAGE} statement.
 
-@item @emph{Syntax}:
-@code{int _gfortran_caf_image_status (int image, caf_team_t * team)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{image} @tab the positive scalar id of the image in the current TEAM.
@@ -4373,6 +4373,9 @@ implemented a null pointer is passed for the @var{team} argument at the moment.
 @cindex Coarray, _gfortran_caf_failed_images
 
 @table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_failed_images (caf_team_t * team, int * kind)}
+
 @item @emph{Description}:
 Get an array of image indexes in the current @var{team} that have failed.  The
 array is sorted ascendingly.  When @var{team} is not provided the current team
@@ -4380,9 +4383,6 @@ is to be used.  When @var{kind} is provided then the resulting array is of that
 integer kind else it is of default integer kind.  The returns an unallocated
 size zero array when no images have failed.
 
-@item @emph{Syntax}:
-@code{int _gfortran_caf_failed_images (caf_team_t * team, int * kind)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{team} @tab optional; team on the which the inquiry is to be
@@ -4401,6 +4401,9 @@ implemented a null pointer is passed for the @var{team} argument at the moment.
 @cindex Coarray, _gfortran_caf_stopped_images
 
 @table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_stopped_images (caf_team_t * team, int * kind)}
+
 @item @emph{Description}:
 Get an array of image indexes in the current @var{team} that have stopped.  The
 array is sorted ascendingly.  When @var{team} is not provided the current team
@@ -4408,9 +4411,6 @@ is to be used.  When @var{kind} is provided then the resulting array is of that
 integer kind else it is of default integer kind.  The returns an unallocated
 size zero array when no images have failed.
 
-@item @emph{Syntax}:
-@code{int _gfortran_caf_stopped_images (caf_team_t * team, int * kind)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{team} @tab optional; team on the which the inquiry is to be
@@ -4429,6 +4429,11 @@ implemented a null pointer is passed for the @var{team} argument at the moment.
 @cindex Coarray, _gfortran_caf_register
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_register (size_t size, caf_register_t type,
+caf_token_t *token, gfc_descriptor_t *desc, int *stat, char *errmsg,
+size_t errmsg_len)}
+
 @item @emph{Description}:
 Registers memory for a coarray and creates a token to identify the coarray.  The
 routine is called for both coarrays with @code{SAVE} attribute and using an
@@ -4459,11 +4464,6 @@ is not used then.  On the contrary when
 in the @var{DESC}'s data-ptr is registered or allocate when the data-ptr is
 @code{NULL}.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_register (size_t size, caf_register_t type,
-caf_token_t *token, gfc_descriptor_t *desc, int *stat, char *errmsg,
-size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{size} @tab For normal coarrays, the byte size of the coarray to be
@@ -4505,6 +4505,10 @@ be no event, e.g. zero.
 @cindex Coarray, _gfortran_caf_deregister
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_deregister (caf_token_t *token, caf_deregister_t type,
+int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Called to free or deregister the memory of a coarray; the processor calls this
 function for automatic and explicit deallocation.  In case of an error, this
@@ -4512,10 +4516,6 @@ function shall fail with an error message, unless the @var{STAT} variable is
 not null.  The library is only expected to free memory it allocated itself
 during a call to @code{_gfortran_caf_register}.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_deregister (caf_token_t *token, caf_deregister_t type,
-int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab the token to free.
@@ -4541,6 +4541,11 @@ and via destructors.
 @cindex Coarray, _gfortran_caf_register_accessor
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_register_accessor (const int hash,
+void (*accessor)(void **, int32_t *, void *, void *, size_t *,
+size_t *))}
+
 @item @emph{Description}:
 Identification of access funtions across images is done using a unique hash.
 For each given hash an accessor has to be registered.  This routine is expected
@@ -4548,11 +4553,6 @@ to register an accessor function pointer for the given hash in nearly constant
 time.  I.e. it is expected to add the hash and accessor to a buffer and return.
 Sorting shall be done in @code{_gfortran_caf_register_accessors_finish}.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_register_accessor (const int hash,
-void (*accessor)(void **, int32_t *, void *, void *, size_t *,
-size_t *))}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{hash} @tab intent(in)  The unique hash value this accessor is to be
@@ -4582,15 +4582,15 @@ done.  See also @ref{_gfortran_caf_register_accessors_finish} and
 @cindex Coarray, _gfortran_caf_register_accessors_finish
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_register_accessors_finish ()}
+
 @item @emph{Description}:
 Called to finalize registering of accessor functions.  This function is expected
 to prepare a lookup table that has fast lookup time for the hash supplied to
 @code{_gfortran_caf_get_remote_function_index} and constant access time for
 indexing operations.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_register_accessors_finish ()}
-
 @item @emph{Arguments}:
 No arguments.
 
@@ -4607,6 +4607,9 @@ is a constant time operation.
 @cindex Coarray, _gfortran_caf_get_remote_function_index
 
 @table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_get_remote_function_index (const int hash)}
+
 @item @emph{Description}:
 Return the index of the accessor in the lookup table build by
 @ref{_gfortran_caf_register_accessor} and
@@ -4622,9 +4625,6 @@ The GFortran compiler ensures that
 hash and the result be stored in a static variable to prevent future redundant
 lookups.
 
-@item @emph{Syntax}:
-@code{int _gfortran_caf_get_remote_function_index (const int hash)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{hash} @tab intent(in)  The hash of the accessor desired.
@@ -4648,11 +4648,7 @@ message, when the hash could not be found.
 @cindex Coarray, _gfortran_caf_get_from_remote
 
 @table @asis
-@item @emph{Description}:
-Called to get a scalar, an array section or a whole array from a remote image
-identified by the @var{image_index}.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_get_from_remote (caf_token_t token,
 const gfc_descriptor_t *opt_src_desc, const size_t *opt_src_charlen,
 const int image_index, const size_t dst_size, void **dst_data,
@@ -4660,6 +4656,10 @@ size_t *opt_dst_charlen, gfc_descriptor_t *opt_dst_desc,
 const bool may_realloc_dst, const int getter_index, void *get_data,
 const size_t get_data_size, int *stat, caf_team_t *team, int *team_number)}
 
+@item @emph{Description}:
+Called to get a scalar, an array section or a whole array from a remote image
+identified by the @var{image_index}.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -4723,16 +4723,16 @@ implementation has to take care that it handles this case, e.g. using
 @cindex Coarray, _gfortran_caf_is_present_on_remote
 
 @table @asis
+@item @emph{Synopsis}:
+@code{int32_t _gfortran_caf_is_present_on_remote (caf_token_t token,
+const int image_index, const int is_present_index, void *add_data,
+const size_t add_data_size)}
+
 @item @emph{Description}:
 Check if an allocatable coarray or a component of a derived type coarray is
 allocated on the remote image identified by the @var{image_index}.  The check
 is done by calling routine on the remote side.
 
-@item @emph{Syntax}:
-@code{int32_t _gfortran_caf_is_present_on_remote (caf_token_t token,
-const int image_index, const int is_present_index, void *add_data,
-const size_t add_data_size)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -4756,12 +4756,7 @@ structure.
 @cindex Coarray, _gfortran_caf_send_to_remote
 
 @table @asis
-@item @emph{Description}:
-Called to send a scalar, an array section or a whole array to a remote image
-identified by the @var{image_index}. The call modifies the memory of the remote
-image.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_send_to_remote (caf_token_t token,
 gfc_descriptor_t *opt_dst_desc, const size_t *opt_dst_charlen,
 const int image_index, const size_t src_size, const void *src_data,
@@ -4769,6 +4764,11 @@ size_t *opt_src_charlen, const gfc_descriptor_t *opt_src_desc,
 const int setter_index, void *add_data, const size_t add_data_size, int *stat,
 caf_team_t *team, int *team_number)}
 
+@item @emph{Description}:
+Called to send a scalar, an array section or a whole array to a remote image
+identified by the @var{image_index}. The call modifies the memory of the remote
+image.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -4824,13 +4824,7 @@ The implementation has to take care that it handles this case, e.g. using
 @cindex Coarray, _gfortran_caf_transfer_between_remotes
 
 @table @asis
-@item @emph{Description}:
-Initiates a transfer of data from one remote image to another remote image.
-The call modifies the memory of the receiving remote image given by
-@code{dst_image_index}.  The @code{src_image_index}'s memory is not modified.
-The call returns when the transfer has commenced.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_transfer_between_remotes (caf_token_t dst_token,
 gfc_descriptor_t *opt_dst_desc, size_t *opt_dst_charlen,
 const int dst_image_index, const int dst_access_index, void *dst_add_data,
@@ -4842,6 +4836,12 @@ const bool scalar_transfer, int *dst_stat, int *src_stat, caf_team_t *dst_team,
 int *dst_team_number, caf_team_t *src_team, int *src_team_number)
 }
 
+@item @emph{Description}:
+Initiates a transfer of data from one remote image to another remote image.
+The call modifies the memory of the receiving remote image given by
+@code{dst_image_index}.  The @code{src_image_index}'s memory is not modified.
+The call returns when the transfer has commenced.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{dst_token} @tab intent(in)  An opaque pointer identifying the coarray
@@ -4929,18 +4929,18 @@ overlapping memory.
 @cindex Coarray, _gfortran_caf_sendget_by_ref
 
 @table @asis
-@item @emph{Description}:
-Called to send a scalar, an array section or a whole array from a remote image
-identified by the @var{src_image_index} to a remote image identified by the
-@var{dst_image_index}.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_sendget_by_ref (caf_token_t dst_token,
 int dst_image_index, caf_reference_t *dst_refs,
 caf_token_t src_token, int src_image_index, caf_reference_t *src_refs,
 int dst_kind, int src_kind, bool may_require_tmp, int *dst_stat,
 int *src_stat, int dst_type, int src_type)}
 
+@item @emph{Description}:
+Called to send a scalar, an array section or a whole array from a remote image
+identified by the @var{src_image_index} to a remote image identified by the
+@var{dst_image_index}.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{dst_token} @tab intent(in)  An opaque pointer identifying the
@@ -5003,6 +5003,10 @@ error message why the operation is not permitted.
 @cindex Coarray, _gfortran_caf_lock
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_lock (caf_token_t token, size_t index, int image_index,
+int *acquired_lock, int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Acquire a lock on the given image on a scalar locking variable or for the
 given array element for an array-valued variable.  If the @var{acquired_lock}
@@ -5011,10 +5015,6 @@ non-@code{NULL}, then @var{acquired_lock} is assigned the value true (one) when
 the lock could be obtained and false (zero) otherwise.  Locking a lock variable
 that has already been locked by the same image is an error.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_lock (caf_token_t token, size_t index, int image_index,
-int *acquired_lock, int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5041,15 +5041,15 @@ images for critical-block locking variables.
 @cindex Coarray, _gfortran_caf_unlock
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_unlock (caf_token_t token, size_t index, int image_index,
+int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Release a lock on the given image on a scalar locking variable or for the
 given array element for an array-valued variable. Unlocking a lock variable
 that is unlocked or has been locked by a different image is an error.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_unlock (caf_token_t token, size_t index, int image_index,
-int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5075,13 +5075,13 @@ images for critical-block locking variables.
 @cindex Coarray, _gfortran_caf_event_post
 
 @table @asis
-@item @emph{Description}:
-Increment the event count of the specified event variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_event_post (caf_token_t token, size_t index,
 int image_index, int *stat, char *errmsg, size_t errmsg_len)}
 
+@item @emph{Description}:
+Increment the event count of the specified event variable.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5110,15 +5110,15 @@ image returns.
 @cindex Coarray, _gfortran_caf_event_wait
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_event_wait (caf_token_t token, size_t index,
+int until_count, int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Wait until the event count has reached at least the specified
 @var{until_count}; if so, atomically decrement the event variable by this
 amount and return.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_event_wait (caf_token_t token, size_t index,
-int until_count, int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5155,13 +5155,13 @@ image returns.
 @cindex Coarray, _gfortran_caf_event_query
 
 @table @asis
-@item @emph{Description}:
-Return the event count of the specified event variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_event_query (caf_token_t token, size_t index,
 int image_index, int *count, int *stat)}
 
+@item @emph{Description}:
+Return the event count of the specified event variable.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5188,15 +5188,15 @@ an atomic fetch of the value of the event variable.
 @cindex Coarray, _gfortran_caf_sync_all
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_sync_all (int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Synchronization of all images in the current team; the program only continues
 on a given image after this function has been called on all images of the
 current team.  Additionally, it ensures that all pending data transfers of
 previous segment have completed.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_sync_all (int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{stat} @tab intent(out)  Stores the status STAT= and may be NULL.
@@ -5213,6 +5213,10 @@ an error message; may be NULL.
 @cindex Coarray, _gfortran_caf_sync_images
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_sync_images (int count, int images[], int *stat,
+char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Synchronization between the specified images; the program only continues on a
 given image after this function has been called on all images specified for
@@ -5221,10 +5225,6 @@ team (e.g. via @code{sync images(*)}) while those only wait for that specific
 image.  Additionally, @code{sync images} ensures that all pending data
 transfers of previous segments have completed.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_sync_images (int count, int images[], int *stat,
-char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{count} @tab intent(in)  The number of images that are provided in
@@ -5246,13 +5246,13 @@ an error message; may be NULL.
 @cindex Coarray, _gfortran_caf_sync_memory
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_sync_memory (int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Acts as optimization barrier between different segments. It also ensures that
 all pending memory operations of this image have been completed.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_sync_memory (int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{stat} @tab intent(out)  Stores the status STAT= and may be NULL.
@@ -5273,14 +5273,14 @@ A simple implementation could be
 @cindex Coarray, _gfortran_caf_error_stop
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_error_stop (int error)}
+
 @item @emph{Description}:
 Invoked for an @code{ERROR STOP} statement that has an integer argument.  The
 function should terminate the program with the specified exit code.
 
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_error_stop (int error)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{error} @tab intent(in)  The exit status to be used.
@@ -5294,13 +5294,13 @@ function should terminate the program with the specified exit code.
 @cindex Coarray, _gfortran_caf_error_stop_str
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_error_stop (const char *string, size_t len)}
+
 @item @emph{Description}:
 Invoked for an @code{ERROR STOP} statement that has a string as argument.  The
 function should terminate the program with a nonzero-exit code.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_error_stop (const char *string, size_t len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{string} @tab intent(in)  the error message (not zero terminated)
@@ -5315,13 +5315,13 @@ function should terminate the program with a nonzero-exit code.
 @cindex Coarray, _gfortran_caf_fail_image
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_fail_image ()}
+
 @item @emph{Description}:
 Invoked for an @code{FAIL IMAGE} statement.  The function should terminate the
 current image.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_fail_image ()}
-
 @item @emph{Notes}:
 This function follows TS18508.
 @end table
@@ -5333,13 +5333,13 @@ This function follows TS18508.
 @cindex Coarray, _gfortran_caf_atomic_define
 
 @table @asis
-@item @emph{Description}:
-Assign atomically a value to an integer or logical variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_atomic_define (caf_token_t token, size_t offset,
 int image_index, void *value, int *stat, int type, int kind)}
 
+@item @emph{Description}:
+Assign atomically a value to an integer or logical variable.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5362,13 +5362,13 @@ positive number; zero indicates the current image when used noncoindexed.
 @cindex Coarray, _gfortran_caf_atomic_ref
 
 @table @asis
-@item @emph{Description}:
-Reference atomically a value of a kind-4 integer or logical variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
 @code{void _gfortran_caf_atomic_ref (caf_token_t token, size_t offset,
 int image_index, void *value, int *stat, int type, int kind)}
 
+@item @emph{Description}:
+Reference atomically a value of a kind-4 integer or logical variable.
+
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5392,16 +5392,16 @@ referenced variable.
 @cindex Coarray, _gfortran_caf_atomic_cas
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset,
+int image_index, void *old, void *compare, void *new_val, int *stat,
+int type, int kind)}
+
 @item @emph{Description}:
 Atomic compare and swap of a kind-4 integer or logical variable. Assigns
 atomically the specified value to the atomic variable, if the latter has
 the value specified by the passed condition value.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset,
-int image_index, void *old, void *compare, void *new_val, int *stat,
-int type, int kind)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{token} @tab intent(in)  An opaque pointer identifying the coarray.
@@ -5429,6 +5429,10 @@ atomic variable.
 @cindex Coarray, _gfortran_caf_atomic_op
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset,
+int image_index, void *value, void *old, int *stat, int type, int kind)}
+
 @item @emph{Description}:
 Apply an operation atomically to an atomic integer or logical variable.
 After the operation, @var{old} contains the value just before the operation,
@@ -5437,10 +5441,6 @@ the atomic integer variable or does a bitwise AND, OR or exclusive OR
 between the atomic variable and @var{value}; the result is then stored in the
 atomic variable.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset,
-int image_index, void *value, void *old, int *stat, int type, int kind)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{op} @tab intent(in)  the operation to be performed; possible values
@@ -5471,14 +5471,14 @@ atomic variable.
 @cindex Coarray, _gfortran_caf_co_broadcast
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_broadcast (gfc_descriptor_t *a,
+int source_image, int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Distribute a value from a given image to all other images in the team. Has to
 be called collectively.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_broadcast (gfc_descriptor_t *a,
-int source_image, int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{a} @tab intent(inout)  An array descriptor with the data to be
@@ -5499,6 +5499,10 @@ an error message; may be NULL.
 @cindex Coarray, _gfortran_caf_co_max
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_max (gfc_descriptor_t *a, int result_image,
+int *stat, char *errmsg, int a_len, size_t errmsg_len)}
+
 @item @emph{Description}:
 Calculates for each array element of the variable @var{a} the maximum
 value for that element in the current team; if @var{result_image} has the
@@ -5506,10 +5510,6 @@ value 0, the result shall be stored on all images, otherwise, only on the
 specified image. This function operates on numeric values and character
 strings.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_max (gfc_descriptor_t *a, int result_image,
-int *stat, char *errmsg, int a_len, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{a} @tab intent(inout)  An array descriptor for the data to be
@@ -5536,6 +5536,10 @@ make use of this.
 @cindex Coarray, _gfortran_caf_co_min
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_min (gfc_descriptor_t *a, int result_image,
+int *stat, char *errmsg, int a_len, size_t errmsg_len)}
+
 @item @emph{Description}:
 Calculates for each array element of the variable @var{a} the minimum
 value for that element in the current team; if @var{result_image} has the
@@ -5543,10 +5547,6 @@ value 0, the result shall be stored on all images, otherwise, only on the
 specified image. This function operates on numeric values and character
 strings.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_min (gfc_descriptor_t *a, int result_image,
-int *stat, char *errmsg, int a_len, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{a} @tab intent(inout)  An array descriptor for the data to be
@@ -5573,16 +5573,16 @@ make use of this.
 @cindex Coarray, _gfortran_caf_co_sum
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_sum (gfc_descriptor_t *a, int result_image,
+int *stat, char *errmsg, size_t errmsg_len)}
+
 @item @emph{Description}:
 Calculates for each array element of the variable @var{a} the sum of all
 values for that element in the current team; if @var{result_image} has the
 value 0, the result shall be stored on all images, otherwise, only on the
 specified image.  This function operates on numeric values only.
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_sum (gfc_descriptor_t *a, int result_image,
-int *stat, char *errmsg, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{a} @tab intent(inout)  An array descriptor with the data to be
@@ -5608,6 +5608,11 @@ make use of this.
 @cindex Coarray, _gfortran_caf_co_reduce
 
 @table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_reduce (gfc_descriptor_t *a,
+void * (*opr) (void *, void *), int opr_flags, int result_image,
+int *stat, char *errmsg, int a_len, size_t errmsg_len)}
+
 @item @emph{Description}:
 Calculates for each array element of the variable @var{a} the reduction
 value for that element in the current team; if @var{result_image} has the
@@ -5623,11 +5628,6 @@ string lengths shall be specified as hidden arguments;
 @code{GFC_CAF_ARG_DESC} (8) whether the arguments shall be passed by descriptor.
 
 
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_reduce (gfc_descriptor_t *a,
-void * (*opr) (void *, void *), int opr_flags, int result_image,
-int *stat, char *errmsg, int a_len, size_t errmsg_len)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{a} @tab intent(inout)  An array descriptor with the data to be
index c965aef9d4260a458f1d2cab4764097b3e69b77b..5700063f68b36e646d9a7f400a3d7f37b8463de4 100644 (file)
@@ -379,6 +379,9 @@ the applicable standard for each intrinsic procedure is noted.
 @cindex core, dump
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ABORT}
+
 @item @emph{Description}:
 @code{ABORT} causes immediate termination of the program.  On operating
 systems that support a core dump, @code{ABORT} produces a core dump.
@@ -390,9 +393,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL ABORT}
-
 @item @emph{Return value}:
 Does not return.
 
@@ -427,6 +427,9 @@ end program test_abort
 @cindex absolute value
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ABS(A)}
+
 @item @emph{Description}:
 @code{ABS(A)} computes the absolute value of @code{A}.
 
@@ -436,9 +439,6 @@ Fortran 77 and later, has overloads that are GNU extensions
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ABS(A)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab The type of the argument shall be an @code{INTEGER},
@@ -486,6 +486,9 @@ end program test_abs
 @cindex file system, access mode
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACCESS(NAME, MODE)}
+
 @item @emph{Description}:
 @code{ACCESS(NAME, MODE)} checks whether the file @var{NAME} 
 exists, is readable, writable or executable. Except for the
@@ -498,9 +501,6 @@ GNU extension
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = ACCESS(NAME, MODE)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NAME} @tab Scalar @code{CHARACTER} of default kind with the
@@ -543,6 +543,9 @@ end program access_test
 @cindex collating sequence, @acronym{ASCII}
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACHAR(I [, KIND])}
+
 @item @emph{Description}:
 @code{ACHAR(I)} returns the character located at position @code{I}
 in the @acronym{ASCII} collating sequence.
@@ -553,9 +556,6 @@ Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ACHAR(I [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I}    @tab The type shall be @code{INTEGER}.
@@ -596,6 +596,9 @@ and formatted string representations.
 @cindex cosine, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACOS(X)}
+
 @item @emph{Description}:
 @code{ACOS(X)} computes the arccosine of @var{X} (inverse of @code{COS(X)}).
 
@@ -605,9 +608,6 @@ Fortran 77 and later, for a complex argument Fortran 2008 or later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ACOS(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall either be @code{REAL} with a magnitude that is
@@ -651,6 +651,9 @@ Degrees function: @*
 @cindex cosine, inverse, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACOSD(X)}
+
 @item @emph{Description}:
 @code{ACOSD(X)} computes the arccosine of @var{X} in degrees (inverse of
 @code{COSD(X)}).
@@ -661,9 +664,6 @@ Fortran 2023
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ACOSD(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall either be @code{REAL} with a magnitude that is
@@ -709,6 +709,9 @@ Radians function: @*
 @cindex cosine, hyperbolic, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACOSH(X)}
+
 @item @emph{Description}:
 @code{ACOSH(X)} computes the inverse hyperbolic cosine of @var{X}.
 
@@ -718,9 +721,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ACOSH(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -759,6 +759,9 @@ Inverse function: @*
 @cindex adjust string
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ADJUSTL(STRING)}
+
 @item @emph{Description}:
 @code{ADJUSTL(STRING)} left adjusts a string by removing leading spaces.
 Spaces are inserted at the end of the string as needed.
@@ -769,9 +772,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ADJUSTL(STRING)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab The type shall be @code{CHARACTER}.
@@ -805,6 +805,9 @@ end program test_adjustl
 @cindex adjust string
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ADJUSTR(STRING)}
+
 @item @emph{Description}:
 @code{ADJUSTR(STRING)} right adjusts a string by removing trailing spaces.
 Spaces are inserted at the start of the string as needed.
@@ -815,9 +818,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ADJUSTR(STRING)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STR} @tab The type shall be @code{CHARACTER}.
@@ -853,6 +853,9 @@ end program test_adjustr
 @cindex complex numbers, imaginary part
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = AIMAG(Z)}
+
 @item @emph{Description}:
 @code{AIMAG(Z)} yields the imaginary part of complex argument @code{Z}.
 The @code{IMAG(Z)} and @code{IMAGPART(Z)} intrinsic functions are provided
@@ -865,9 +868,6 @@ Fortran 77 and later, has overloads that are GNU extensions
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = AIMAG(Z)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{Z} @tab The type of the argument shall be @code{COMPLEX}.
@@ -908,6 +908,9 @@ end program test_aimag
 @cindex rounding, floor
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = AINT(A [, KIND])} 
+
 @item @emph{Description}:
 @code{AINT(A [, KIND])} truncates its argument to a whole number.
 
@@ -917,9 +920,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = AINT(A [, KIND])} 
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab The type of the argument shall be @code{REAL}.
@@ -964,6 +964,9 @@ end program test_aint
 @cindex delayed execution
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ALARM(SECONDS, HANDLER [, STATUS])}
+
 @item @emph{Description}:
 @code{ALARM(SECONDS, HANDLER [, STATUS])} causes external subroutine @var{HANDLER}
 to be executed after a delay of @var{SECONDS} by using @code{alarm(2)} to
@@ -978,9 +981,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL ALARM(SECONDS, HANDLER [, STATUS])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SECONDS} @tab The type of the argument shall be a scalar
@@ -1016,6 +1016,9 @@ after 3 seconds.
 @cindex array, condition testing
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ALL(MASK [, DIM])}
+
 @item @emph{Description}:
 @code{ALL(MASK [, DIM])} determines if all the values are true in @var{MASK}
 in the array along dimension @var{DIM}.
@@ -1026,9 +1029,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = ALL(MASK [, DIM])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{MASK} @tab The type of the argument shall be @code{LOGICAL} and
@@ -1082,6 +1082,12 @@ end program test_all
 @cindex allocation, status
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = ALLOCATED(ARRAY)}
+@item @code{RESULT = ALLOCATED(SCALAR)} 
+@end multitable
+
 @item @emph{Description}:
 @code{ALLOCATED(ARRAY)} and @code{ALLOCATED(SCALAR)} check the allocation
 status of @var{ARRAY} and @var{SCALAR}, respectively.
@@ -1093,12 +1099,6 @@ scalar entities are available in Fortran 2003 and later.
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = ALLOCATED(ARRAY)}
-@item @code{RESULT = ALLOCATED(SCALAR)} 
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY}    @tab The argument shall be an @code{ALLOCATABLE} array.
@@ -1129,6 +1129,9 @@ end program test_allocated
 @cindex logical and, bitwise
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = AND(I, J)}
+
 @item @emph{Description}:
 Bitwise logical @code{AND}.
 
@@ -1142,9 +1145,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = AND(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be either a scalar @code{INTEGER}
@@ -1190,6 +1190,9 @@ Fortran 95 elemental function: @*
 @cindex rounding, ceiling
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ANINT(A [, KIND])}
+
 @item @emph{Description}:
 @code{ANINT(A [, KIND])} rounds its argument to the nearest whole number.
 
@@ -1199,9 +1202,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ANINT(A [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab The type of the argument shall be @code{REAL}.
@@ -1245,6 +1245,9 @@ end program test_anint
 @cindex array, condition testing
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ANY(MASK [, DIM])}
+
 @item @emph{Description}:
 @code{ANY(MASK [, DIM])} determines if any of the values in the logical array
 @var{MASK} along dimension @var{DIM} are @code{.TRUE.}.
@@ -1255,9 +1258,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = ANY(MASK [, DIM])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{MASK} @tab The type of the argument shall be @code{LOGICAL} and
@@ -1313,6 +1313,9 @@ end program test_any
 @cindex sine, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASIN(X)}
+
 @item @emph{Description}:
 @code{ASIN(X)} computes the arcsine of its @var{X} (inverse of @code{SIN(X)}).
 
@@ -1322,9 +1325,6 @@ Fortran 77 and later, for a complex argument Fortran 2008 or later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ASIN(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be either @code{REAL} and a magnitude that is
@@ -1368,6 +1368,9 @@ Degrees function: @*
 @cindex sine, inverse, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASIND(X)}
+
 @item @emph{Description}:
 @code{ASIND(X)} computes the arcsine of its @var{X} in degrees (inverse of
 @code{SIND(X)}).
@@ -1378,9 +1381,6 @@ Fortran 2023
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ASIND(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be either @code{REAL} and a magnitude that is
@@ -1424,6 +1424,9 @@ Radians function: @*
 @cindex sine, hyperbolic, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASINH(X)}
+
 @item @emph{Description}:
 @code{ASINH(X)} computes the inverse hyperbolic sine of @var{X}.
 
@@ -1433,9 +1436,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ASINH(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -1474,6 +1474,9 @@ Inverse function: @*
 @cindex association status
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASSOCIATED(POINTER [, TARGET])}
+
 @item @emph{Description}:
 @code{ASSOCIATED(POINTER [, TARGET])} determines the status of the pointer
 @var{POINTER} or if @var{POINTER} is associated with the target @var{TARGET}.
@@ -1484,9 +1487,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = ASSOCIATED(POINTER [, TARGET])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{POINTER} @tab @var{POINTER} shall have the @code{POINTER} attribute
@@ -1552,6 +1552,12 @@ end program test_associated
 @cindex tangent, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = ATAN(X)}
+@item @code{RESULT = ATAN(Y, X)}
+@end multitable
+
 @item @emph{Description}:
 @code{ATAN(X)} computes the arctangent of @var{X}.
 
@@ -1562,12 +1568,6 @@ Fortran 2008 or later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = ATAN(X)}
-@item @code{RESULT = ATAN(Y, X)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX};
@@ -1614,6 +1614,11 @@ Degrees function: @*
 @cindex tangent, inverse, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = ATAND(X)}
+@end multitable
+
 @item @emph{Description}:
 @code{ATAND(X)} computes the arctangent of @var{X} in degrees (inverse of
 @ref{TAND}).
@@ -1624,11 +1629,6 @@ Fortran 2023
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = ATAND(X)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL};
@@ -1673,6 +1673,9 @@ Radians function: @*
 @cindex tangent, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ATAN2(Y, X)}
+
 @item @emph{Description}:
 @code{ATAN2(Y, X)} computes the principal value of the argument
 function of the complex number @math{X + i Y}.  This function can
@@ -1685,9 +1688,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ATAN2(Y, X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{Y} @tab The type shall be @code{REAL}.
@@ -1738,6 +1738,9 @@ Degrees function: @*
 @cindex tangent, inverse, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ATAN2D(Y, X)}
+
 @item @emph{Description}:
 @code{ATAN2D(Y, X)} computes the principal value of the argument
 function of the complex number @math{X + i Y} in degrees.  This function can
@@ -1750,9 +1753,6 @@ Fortran 2023
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ATAN2D(Y, X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{Y} @tab The type shall be @code{REAL}.
@@ -1803,6 +1803,9 @@ Radians function: @*
 @cindex tangent, hyperbolic, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ATANH(X)}
+
 @item @emph{Description}:
 @code{ATANH(X)} computes the inverse hyperbolic tangent of @var{X}.
 
@@ -1812,9 +1815,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ATANH(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -1852,6 +1852,9 @@ Inverse function: @*
 @cindex Atomic subroutine, add
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_ADD (ATOM, VALUE [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_ADD(ATOM, VALUE)} atomically adds the value of @var{VALUE} to the
 variable @var{ATOM}. When @var{STAT} is present and the invocation was
@@ -1867,9 +1870,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_ADD (ATOM, VALUE [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -1906,6 +1906,9 @@ end program atomic
 @cindex Atomic subroutine, AND
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_AND (ATOM, VALUE [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_AND(ATOM, VALUE)} atomically defines @var{ATOM} with the bitwise
 AND between the values of @var{ATOM} and @var{VALUE}. When @var{STAT} is present
@@ -1921,9 +1924,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_AND (ATOM, VALUE [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -1959,6 +1959,9 @@ end program atomic
 @cindex Atomic subroutine, compare and swap
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_CAS (ATOM, OLD, COMPARE, NEW [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_CAS} compares the variable @var{ATOM} with the value of
 @var{COMPARE}; if the value is the same, @var{ATOM} is set to the value
@@ -1976,9 +1979,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_CAS (ATOM, OLD, COMPARE, NEW [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}    @tab Scalar coarray or coindexed variable of either integer
@@ -2015,6 +2015,9 @@ end program atomic
 @cindex Atomic subroutine, define
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_DEFINE(ATOM, VALUE)} defines the variable @var{ATOM} with the value
 @var{VALUE} atomically. When @var{STAT} is present and the invocation was
@@ -2030,9 +2033,6 @@ Fortran 2008 and later; with @var{STAT}, TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of either integer
@@ -2071,6 +2071,9 @@ end program atomic
 @cindex Atomic subroutine, ADD with fetch
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_ADD (ATOM, VALUE, old [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_FETCH_ADD(ATOM, VALUE, OLD)} atomically stores the value of
 @var{ATOM} in @var{OLD} and adds the value of @var{VALUE} to the
@@ -2087,9 +2090,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_ADD (ATOM, VALUE, old [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -2128,6 +2128,9 @@ end program atomic
 @cindex Atomic subroutine, AND with fetch
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_AND (ATOM, VALUE, OLD [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_AND(ATOM, VALUE)} atomically stores the value of @var{ATOM} in
 @var{OLD} and defines @var{ATOM} with the bitwise AND between the values of
@@ -2144,9 +2147,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_AND (ATOM, VALUE, OLD [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -2183,6 +2183,9 @@ end program atomic
 @cindex Atomic subroutine, OR with fetch
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_OR (ATOM, VALUE, OLD [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_OR(ATOM, VALUE)} atomically stores the value of @var{ATOM} in
 @var{OLD} and defines @var{ATOM} with the bitwise OR between the values of
@@ -2199,9 +2202,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_OR (ATOM, VALUE, OLD [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -2238,6 +2238,9 @@ end program atomic
 @cindex Atomic subroutine, XOR with fetch
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_XOR (ATOM, VALUE, OLD [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_XOR(ATOM, VALUE)} atomically stores the value of @var{ATOM} in
 @var{OLD} and defines @var{ATOM} with the bitwise XOR between the values of
@@ -2254,9 +2257,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_XOR (ATOM, VALUE, OLD [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -2293,6 +2293,9 @@ end program atomic
 @cindex Atomic subroutine, OR
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_OR (ATOM, VALUE [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_OR(ATOM, VALUE)} atomically defines @var{ATOM} with the bitwise
 AND between the values of @var{ATOM} and @var{VALUE}. When @var{STAT} is present
@@ -2308,9 +2311,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_OR (ATOM, VALUE [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -2346,6 +2346,9 @@ end program atomic
 @cindex Atomic subroutine, reference
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_REF(VALUE, ATOM [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_DEFINE(ATOM, VALUE)} atomically assigns the value of the
 variable @var{ATOM} to @var{VALUE}. When @var{STAT} is present and the
@@ -2361,9 +2364,6 @@ Fortran 2008 and later; with @var{STAT}, TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_REF(VALUE, ATOM [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{VALUE}  @tab Scalar of the same type as @var{ATOM}. If the kind
@@ -2406,6 +2406,9 @@ end program atomic
 @cindex Atomic subroutine, XOR
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_XOR (ATOM, VALUE [, STAT])}
+
 @item @emph{Description}:
 @code{ATOMIC_AND(ATOM, VALUE)} atomically defines @var{ATOM} with the bitwise
 XOR between the values of @var{ATOM} and @var{VALUE}. When @var{STAT} is present
@@ -2421,9 +2424,6 @@ TS 18508 or later
 @item @emph{Class}:
 Atomic subroutine
 
-@item @emph{Syntax}:
-@code{CALL ATOMIC_XOR (ATOM, VALUE [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ATOM}   @tab Scalar coarray or coindexed variable of integer
@@ -2458,6 +2458,9 @@ end program atomic
 @cindex backtrace
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL BACKTRACE}
+
 @item @emph{Description}:
 @code{BACKTRACE} shows a backtrace at an arbitrary place in user code. Program
 execution continues normally afterwards. The backtrace information is printed
@@ -2469,9 +2472,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL BACKTRACE}
-
 @item @emph{Arguments}:
 None
 
@@ -2489,6 +2489,9 @@ None
 @cindex Bessel function, first kind
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_J0(X)}
+
 @item @emph{Description}:
 @code{BESSEL_J0(X)} computes the Bessel function of the first kind of
 order 0 of @var{X}. This function is available under the name
@@ -2500,9 +2503,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_J0(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -2538,6 +2538,9 @@ end program test_besj0
 @cindex Bessel function, first kind
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_J1(X)}
+
 @item @emph{Description}:
 @code{BESSEL_J1(X)} computes the Bessel function of the first kind of
 order 1 of @var{X}. This function is available under the name
@@ -2549,9 +2552,6 @@ Fortran 2008
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_J1(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -2587,6 +2587,12 @@ end program test_besj1
 @cindex Bessel function, first kind
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = BESSEL_JN(N, X)}
+@item @code{RESULT = BESSEL_JN(N1, N2, X)}
+@end multitable
+
 @item @emph{Description}:
 @code{BESSEL_JN(N, X)} computes the Bessel function of the first kind of
 order @var{N} of @var{X}. This function is available under the name
@@ -2603,12 +2609,6 @@ Fortran 2008 and later, negative @var{N} is allowed as GNU extension
 Elemental function, except for the transformational function
 @code{BESSEL_JN(N1, N2, X)}
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = BESSEL_JN(N, X)}
-@item @code{RESULT = BESSEL_JN(N1, N2, X)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{N} @tab Shall be a scalar or an array of type  @code{INTEGER}.
@@ -2653,6 +2653,9 @@ end program test_besjn
 @cindex Bessel function, second kind
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_Y0(X)}
+
 @item @emph{Description}:
 @code{BESSEL_Y0(X)} computes the Bessel function of the second kind of
 order 0 of @var{X}. This function is available under the name
@@ -2664,9 +2667,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_Y0(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -2700,6 +2700,9 @@ end program test_besy0
 @cindex Bessel function, second kind
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_Y1(X)}
+
 @item @emph{Description}:
 @code{BESSEL_Y1(X)} computes the Bessel function of the second kind of
 order 1 of @var{X}. This function is available under the name
@@ -2711,9 +2714,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_Y1(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -2747,6 +2747,12 @@ end program test_besy1
 @cindex Bessel function, second kind
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = BESSEL_YN(N, X)}
+@item @code{RESULT = BESSEL_YN(N1, N2, X)}
+@end multitable
+
 @item @emph{Description}:
 @code{BESSEL_YN(N, X)} computes the Bessel function of the second kind of
 order @var{N} of @var{X}. This function is available under the name
@@ -2763,12 +2769,6 @@ Fortran 2008 and later, negative @var{N} is allowed as GNU extension
 Elemental function, except for the transformational function
 @code{BESSEL_YN(N1, N2, X)}
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = BESSEL_YN(N, X)}
-@item @code{RESULT = BESSEL_YN(N1, N2, X)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{N} @tab Shall be a scalar or an array of type  @code{INTEGER} .
@@ -2811,6 +2811,9 @@ end program test_besyn
 @cindex bitwise comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BGE(I, J)}
+
 @item @emph{Description}:
 Determines whether an integral is a bitwise greater than or equal to
 another.
@@ -2822,9 +2825,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BGE(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@@ -2852,6 +2852,9 @@ For @code{UNSIGNED} arguments, this function is identical to the
 @cindex bitwise comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BGT(I, J)}
+
 @item @emph{Description}:
 Determines whether an integral is a bitwise greater than another.
 
@@ -2862,9 +2865,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BGT(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@@ -2893,6 +2893,9 @@ For @code{UNSIGNED} arguments, this function is identical to the
 @cindex size of a variable, in bits
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BIT_SIZE(I)}
+
 @item @emph{Description}:
 @code{BIT_SIZE(I)} returns the number of bits (for integers, the precision
 plus the sign bit) represented by the type of @var{I}.  The result of
@@ -2905,9 +2908,6 @@ integers})
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = BIT_SIZE(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -2935,6 +2935,9 @@ end program test_bit_size
 @cindex bitwise comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BLE(I, J)}
+
 @item @emph{Description}:
 Determines whether an integral is a bitwise less than or equal to
 another.
@@ -2946,9 +2949,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BLE(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@@ -2976,6 +2976,9 @@ For @code{UNSIGNED} arguments, this function is identical to the
 @cindex bitwise comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BLT(I, J)}
+
 @item @emph{Description}:
 Determines whether an integral is a bitwise less than another.
 
@@ -2986,9 +2989,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BLT(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@@ -3020,6 +3020,9 @@ For @code{UNSIGNED} arguments, this function is identical to the
 @cindex bits, testing
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BTEST(I, POS)}
+
 @item @emph{Description}:
 @code{BTEST(I,POS)} returns logical @code{.TRUE.} if the bit at @var{POS}
 in @var{I} is set.  The counting of the bits starts at 0.
@@ -3031,9 +3034,6 @@ for @code{UNSIGNED} (@pxref{Unsigned integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = BTEST(I, POS)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -3074,6 +3074,9 @@ end program test_btest
 @cindex pointer, C association status
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = C_ASSOCIATED(c_ptr_1[, c_ptr_2])}
+
 @item @emph{Description}:
 @code{C_ASSOCIATED(c_ptr_1[, c_ptr_2])} determines the status of the C pointer
 @var{c_ptr_1} or if @var{c_ptr_1} is associated with the target @var{c_ptr_2}.
@@ -3084,9 +3087,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = C_ASSOCIATED(c_ptr_1[, c_ptr_2])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{c_ptr_1} @tab Scalar of the type @code{C_PTR} or @code{C_FUNPTR}.
@@ -3122,6 +3122,9 @@ end subroutine association_test
 @cindex pointer, convert C to Fortran
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL C_F_POINTER(CPTR, FPTR[, SHAPE])}
+
 @item @emph{Description}:
 @code{C_F_POINTER(CPTR, FPTR[, SHAPE])} assigns the target of the C pointer
 @var{CPTR} to the Fortran pointer @var{FPTR} and specifies its shape.
@@ -3132,9 +3135,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL C_F_POINTER(CPTR, FPTR[, SHAPE])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{CPTR}  @tab scalar of the type @code{C_PTR}. It is
@@ -3177,6 +3177,9 @@ end program main
 @cindex pointer, C address of pointers
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL C_F_PROCPOINTER(cptr, fptr)}
+
 @item @emph{Description}:
 @code{C_F_PROCPOINTER(CPTR, FPTR)} Assign the target of the C function pointer
 @var{CPTR} to the Fortran procedure pointer @var{FPTR}.
@@ -3187,9 +3190,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL C_F_PROCPOINTER(cptr, fptr)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{CPTR}  @tab scalar of the type @code{C_FUNPTR}. It is
@@ -3235,6 +3235,9 @@ end program main
 @cindex pointer, C address of procedures
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = C_FUNLOC(x)}
+
 @item @emph{Description}:
 @code{C_FUNLOC(x)} determines the C address of the argument.
 
@@ -3244,9 +3247,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = C_FUNLOC(x)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{x} @tab Interoperable function or pointer to such function.
@@ -3295,6 +3295,9 @@ end program main
 @cindex procedure pointer, convert C to Fortran
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = C_LOC(X)}
+
 @item @emph{Description}:
 @code{C_LOC(X)} determines the C address of the argument.
 
@@ -3304,9 +3307,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = C_LOC(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .10 .75
 @item @var{X} @tab  Shall have either the POINTER or TARGET attribute. It shall not be a coindexed object. It shall either be a variable with interoperable type and kind type parameters, or be a scalar, nonpolymorphic variable with no length type parameters.
@@ -3344,6 +3344,9 @@ end subroutine association_test
 @cindex size of an expression
 
 @table @asis
+@item @emph{Synopsis}:
+@code{N = C_SIZEOF(X)}
+
 @item @emph{Description}:
 @code{C_SIZEOF(X)} calculates the number of bytes of storage the
 expression @code{X} occupies.
@@ -3354,9 +3357,6 @@ Fortran 2008
 @item @emph{Class}:
 Inquiry function of the module @code{ISO_C_BINDING}
 
-@item @emph{Syntax}:
-@code{N = C_SIZEOF(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The argument shall be an interoperable data entity.
@@ -3395,6 +3395,9 @@ where default @code{REAL} variables are unusually padded.
 @cindex rounding, ceiling
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CEILING(A [, KIND])}
+
 @item @emph{Description}:
 @code{CEILING(A)} returns the least integer greater than or equal to @var{A}.
 
@@ -3404,9 +3407,6 @@ Fortran 95 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = CEILING(A [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab The type shall be @code{REAL}.
@@ -3441,6 +3441,9 @@ end program test_ceiling
 @cindex conversion, to character
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CHAR(I [, KIND])}
+
 @item @emph{Description}:
 @code{CHAR(I [, KIND])} returns the character represented by the integer @var{I}.
 
@@ -3450,9 +3453,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = CHAR(I [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER}.
@@ -3498,6 +3498,12 @@ and formatted string representations.
 @cindex system, working directory
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL CHDIR(NAME [, STATUS])}
+@item @code{STATUS = CHDIR(NAME)}
+@end multitable
+
 @item @emph{Description}:
 Change current working directory to a specified path.
 
@@ -3510,12 +3516,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL CHDIR(NAME [, STATUS])}
-@item @code{STATUS = CHDIR(NAME)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NAME}   @tab The type shall be @code{CHARACTER} of default
@@ -3549,6 +3549,12 @@ END PROGRAM
 @cindex file system, change access mode
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL CHMOD(NAME, MODE[, STATUS])}
+@item @code{STATUS = CHMOD(NAME, MODE)}
+@end multitable
+
 @item @emph{Description}:
 @code{CHMOD} changes the permissions of a file.
 
@@ -3561,12 +3567,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL CHMOD(NAME, MODE[, STATUS])}
-@item @code{STATUS = CHMOD(NAME, MODE)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 
@@ -3619,6 +3619,9 @@ end program chmod_test
 @cindex conversion, to complex
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CMPLX(X [, Y [, KIND]])}
+
 @item @emph{Description}:
 @code{CMPLX(X [, Y [, KIND]])} returns a complex number where @var{X} is converted to
 the real component.  If @var{Y} is present it is converted to the imaginary
@@ -3632,9 +3635,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = CMPLX(X [, Y [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
@@ -3674,6 +3674,9 @@ end program test_cmplx
 @cindex Collectives, value broadcasting
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG])}
+
 @item @emph{Description}:
 @code{CO_BROADCAST} copies the value of argument @var{A} on the image with
 image index @code{SOURCE_IMAGE} to all images in the current team.  @var{A}
@@ -3688,9 +3691,6 @@ Technical Specification (TS) 18508 or later
 @item @emph{Class}:
 Collective subroutine
 
-@item @emph{Syntax}:
-@code{CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .20 .65
 @item @var{A}            @tab INTENT(INOUT) argument; shall have the same
@@ -3730,6 +3730,9 @@ end program test
 @cindex Collectives, maximal value
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_MAX(A [, RESULT_IMAGE, STAT, ERRMSG])}
+
 @item @emph{Description}:
 @code{CO_MAX} determines element-wise the maximal value of @var{A} on all
 images of the current team.  If @var{RESULT_IMAGE} is present, the maximum
@@ -3746,9 +3749,6 @@ Technical Specification (TS) 18508 or later
 @item @emph{Class}:
 Collective subroutine
 
-@item @emph{Syntax}:
-@code{CALL CO_MAX(A [, RESULT_IMAGE, STAT, ERRMSG])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .20 .65
 @item @var{A}            @tab shall be an integer, real or character variable,
@@ -3787,6 +3787,9 @@ end program test
 @cindex Collectives, minimal value
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_MIN(A [, RESULT_IMAGE, STAT, ERRMSG])}
+
 @item @emph{Description}:
 @code{CO_MIN} determines element-wise the minimal value of @var{A} on all
 images of the current team.  If @var{RESULT_IMAGE} is present, the minimal
@@ -3803,9 +3806,6 @@ Technical Specification (TS) 18508 or later
 @item @emph{Class}:
 Collective subroutine
 
-@item @emph{Syntax}:
-@code{CALL CO_MIN(A [, RESULT_IMAGE, STAT, ERRMSG])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .20 .65
 @item @var{A}            @tab shall be an integer, real or character variable,
@@ -3844,6 +3844,9 @@ end program test
 @cindex Collectives, generic reduction
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_REDUCE(A, OPERATION, [, RESULT_IMAGE, STAT, ERRMSG])}
+
 @item @emph{Description}:
 @code{CO_REDUCE} determines element-wise the reduction of the value of @var{A}
 on all images of the current team.  The pure function passed as @var{OPERATION}
@@ -3864,9 +3867,6 @@ Technical Specification (TS) 18508 or later
 @item @emph{Class}:
 Collective subroutine
 
-@item @emph{Syntax}:
-@code{CALL CO_REDUCE(A, OPERATION, [, RESULT_IMAGE, STAT, ERRMSG])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .20 .65
 @item @var{A}            @tab is an @code{INTENT(INOUT)} argument and shall be
@@ -3927,6 +3927,9 @@ type as result.
 @cindex Collectives, sum of values
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_SUM(A [, RESULT_IMAGE, STAT, ERRMSG])}
+
 @item @emph{Description}:
 @code{CO_SUM} sums up the values of each element of @var{A} on all
 images of the current team.  If @var{RESULT_IMAGE} is present, the summed-up
@@ -3943,9 +3946,6 @@ Technical Specification (TS) 18508 or later
 @item @emph{Class}:
 Collective subroutine
 
-@item @emph{Syntax}:
-@code{CALL CO_SUM(A [, RESULT_IMAGE, STAT, ERRMSG])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .20 .65
 @item @var{A}            @tab shall be an integer, real or complex variable,
@@ -3987,6 +3987,9 @@ end program test
 @cindex arguments, to program
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COMMAND_ARGUMENT_COUNT()}
+
 @item @emph{Description}:
 @code{COMMAND_ARGUMENT_COUNT} returns the number of arguments passed on the
 command line when the containing program was invoked.
@@ -3997,9 +4000,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = COMMAND_ARGUMENT_COUNT()}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item None
@@ -4032,6 +4032,9 @@ end program test_command_argument_count
 @cindex compiler flags inquiry function
 
 @table @asis
+@item @emph{Synopsis}:
+@code{STR = COMPILER_OPTIONS()}
+
 @item @emph{Description}:
 @code{COMPILER_OPTIONS} returns a string with the options used for
 compiling.
@@ -4042,9 +4045,6 @@ Fortran 2008
 @item @emph{Class}:
 Inquiry function of the module @code{ISO_FORTRAN_ENV}
 
-@item @emph{Syntax}:
-@code{STR = COMPILER_OPTIONS()}
-
 @item @emph{Arguments}:
 None
 
@@ -4076,6 +4076,9 @@ the @code{COMPILER_OPTIONS} intrinsic.
 @cindex version of the compiler
 
 @table @asis
+@item @emph{Synopsis}:
+@code{STR = COMPILER_VERSION()}
+
 @item @emph{Description}:
 @code{COMPILER_VERSION} returns a string with the name and the
 version of the compiler.
@@ -4086,9 +4089,6 @@ Fortran 2008
 @item @emph{Class}:
 Inquiry function of the module @code{ISO_FORTRAN_ENV}
 
-@item @emph{Syntax}:
-@code{STR = COMPILER_VERSION()}
-
 @item @emph{Arguments}:
 None
 
@@ -4119,6 +4119,9 @@ It contains the name of the compiler and its version number.
 @cindex conversion, to complex
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COMPLEX(X, Y)}
+
 @item @emph{Description}:
 @code{COMPLEX(X, Y)} returns a complex number where @var{X} is converted
 to the real component and @var{Y} is converted to the imaginary
@@ -4130,9 +4133,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = COMPLEX(X, Y)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type may be @code{INTEGER} or @code{REAL}.
@@ -4170,6 +4170,9 @@ end program test_complex
 @cindex complex conjugate
 
 @table @asis
+@item @emph{Synopsis}:
+@code{Z = CONJG(Z)}
+
 @item @emph{Description}:
 @code{CONJG(Z)} returns the conjugate of @var{Z}.  If @var{Z} is @code{(x, y)}
 then the result is @code{(x, -y)}
@@ -4180,9 +4183,6 @@ Fortran 77 and later, has an overload that is a GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{Z = CONJG(Z)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{Z} @tab The type shall be @code{COMPLEX}.
@@ -4223,6 +4223,9 @@ end program test_conjg
 @cindex cosine
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COS(X)}
+
 @item @emph{Description}:
 @code{COS(X)} computes the cosine of @var{X}.
 
@@ -4232,9 +4235,6 @@ Fortran 77 and later, has overloads that are GNU extensions
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = COS(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or
@@ -4284,6 +4284,9 @@ Degrees function: @*
 @cindex cosine, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COSD(X)}
+
 @item @emph{Description}:
 @code{COSD(X)} computes the cosine of @var{X} in degrees.
 
@@ -4293,9 +4296,6 @@ Fortran 2023
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = COSD(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -4341,6 +4341,9 @@ Radians function: @*
 @cindex cosine, hyperbolic
 
 @table @asis
+@item @emph{Synopsis}:
+@code{X = COSH(X)}
+
 @item @emph{Description}:
 @code{COSH(X)} computes the hyperbolic cosine of @var{X}.
 
@@ -4350,9 +4353,6 @@ Fortran 77 and later, for a complex argument Fortran 2008 or later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{X = COSH(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -4394,6 +4394,9 @@ Inverse function: @*
 @cindex cotangent
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COTAN(X)}
+
 @item @emph{Description}:
 @code{COTAN(X)} computes the cotangent of @var{X}. Equivalent to @code{COS(x)}
 divided by @code{SIN(x)}, or @code{1 / TAN(x)}.
@@ -4407,9 +4410,6 @@ GNU extension, enabled with @option{-fdec-math}.
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = COTAN(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -4450,6 +4450,9 @@ Degrees function: @*
 @cindex cotangent, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COTAND(X)}
+
 @item @emph{Description}:
 @code{COTAND(X)} computes the cotangent of @var{X} in degrees.  Equivalent to
 @code{COSD(x)} divided by @code{SIND(x)}, or @code{1 / TAND(x)}.
@@ -4463,9 +4466,6 @@ standard constructs wherever possible.
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = COTAND(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -4506,6 +4506,9 @@ Radians function: @*
 @cindex array, number of elements
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COUNT(MASK [, DIM, KIND])}
+
 @item @emph{Description}:
 
 Counts the number of @code{.TRUE.} elements in a logical @var{MASK},
@@ -4520,9 +4523,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = COUNT(MASK [, DIM, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{MASK} @tab The type shall be @code{LOGICAL}.
@@ -4572,6 +4572,9 @@ end program test_count
 @cindex time, elapsed
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL CPU_TIME(TIME)}
+
 @item @emph{Description}:
 Returns a @code{REAL} value representing the elapsed CPU time in
 seconds.  This is useful for testing segments of code to determine
@@ -4592,9 +4595,6 @@ Fortran 95 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL CPU_TIME(TIME)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{TIME} @tab The type shall be @code{REAL} with @code{INTENT(OUT)}.
@@ -4629,6 +4629,9 @@ end program test_cpu_time
 @cindex array, rotate
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CSHIFT(ARRAY, SHIFT [, DIM])}
+
 @item @emph{Description}:
 @code{CSHIFT(ARRAY, SHIFT [, DIM])} performs a circular shift on elements of
 @var{ARRAY} along the dimension of @var{DIM}.  If @var{DIM} is omitted it is
@@ -4645,9 +4648,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = CSHIFT(ARRAY, SHIFT [, DIM])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY}  @tab Shall be an array of any type.
@@ -4687,6 +4687,12 @@ end program test_cshift
 @cindex conversion, to string
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL CTIME(TIME, RESULT)}.
+@item @code{RESULT = CTIME(TIME)}.
+@end multitable
+
 @item @emph{Description}:
 @code{CTIME} converts a system time value, such as returned by
 @ref{TIME8}, to a string. The output is of the form @samp{Sat
@@ -4701,12 +4707,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL CTIME(TIME, RESULT)}.
-@item @code{RESULT = CTIME(TIME)}.
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{TIME}    @tab The type shall be of type @code{INTEGER}.
@@ -4752,6 +4752,9 @@ end program test_ctime
 @cindex current time
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL DATE_AND_TIME([DATE, TIME, ZONE, VALUES])}
+
 @item @emph{Description}:
 @code{DATE_AND_TIME(DATE, TIME, ZONE, VALUES)} gets the corresponding date and
 time information from the real-time system clock.  @var{DATE} is
@@ -4779,9 +4782,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL DATE_AND_TIME([DATE, TIME, ZONE, VALUES])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{DATE}  @tab (Optional) Scalar of type default @code{CHARACTER}.
@@ -4827,6 +4827,9 @@ end program test_time_and_date
 @cindex conversion, to real
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DBLE(A)}
+
 @item @emph{Description}:
 @code{DBLE(A)} Converts @var{A} to double precision real type.
 
@@ -4836,9 +4839,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = DBLE(A)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab The type shall be @code{INTEGER}, @code{REAL},
@@ -4871,6 +4871,9 @@ end program test_dble
 @cindex conversion, to complex
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DCMPLX(X [, Y])}
+
 @item @emph{Description}:
 @code{DCMPLX(X [,Y])} returns a double complex number where @var{X} is
 converted to the real component.  If @var{Y} is present it is converted to the
@@ -4883,9 +4886,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = DCMPLX(X [, Y])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
@@ -4919,6 +4919,9 @@ end program test_dcmplx
 @cindex model representation, significant digits
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DIGITS(X)}
+
 @item @emph{Description}:
 @code{DIGITS(X)} returns the number of significant binary digits of the internal
 model representation of @var{X}.  For example, on a system using a 32-bit
@@ -4931,9 +4934,6 @@ integers})
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = DIGITS(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type may be @code{INTEGER}, @code{REAL} or @code{UNSIGNED}.
@@ -4965,6 +4965,9 @@ end program test_digits
 @cindex positive difference
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DIM(X, Y)}
+
 @item @emph{Description}:
 @code{DIM(X,Y)} returns the difference @code{X-Y} if the result is positive;
 otherwise returns zero.
@@ -4975,9 +4978,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = DIM(X, Y)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{INTEGER} or @code{REAL}
@@ -5020,6 +5020,9 @@ end program test_dim
 @cindex product, vector
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)}
+
 @item @emph{Description}:
 @code{DOT_PRODUCT(VECTOR_A, VECTOR_B)} computes the dot product multiplication
 of two vectors @var{VECTOR_A} and @var{VECTOR_B}.  The two vectors may be
@@ -5038,9 +5041,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{VECTOR_A} @tab The type shall be numeric or @code{LOGICAL}, rank 1.
@@ -5083,6 +5083,9 @@ end program test_dot_prod
 @cindex product, double-precision
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DPROD(X, Y)}
+
 @item @emph{Description}:
 @code{DPROD(X,Y)} returns the product @code{X*Y}.
 
@@ -5092,9 +5095,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = DPROD(X, Y)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -5130,6 +5130,9 @@ end program test_dprod
 @cindex complex numbers, real part
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DREAL(A)}
+
 @item @emph{Description}:
 @code{DREAL(Z)} returns the real part of complex variable @var{Z}.
 
@@ -5139,9 +5142,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = DREAL(A)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab The type shall be @code{COMPLEX(8)}.
@@ -5172,6 +5172,9 @@ end program test_dreal
 @cindex shift, left
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DSHIFTL(I, J, SHIFT)}
+
 @item @emph{Description}:
 @code{DSHIFTL(I, J, SHIFT)} combines bits of @var{I} and @var{J}. The
 rightmost @var{SHIFT} bits of the result are the leftmost @var{SHIFT}
@@ -5185,9 +5188,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = DSHIFTL(I, J, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}, @code{UNSIGNED} or
@@ -5219,6 +5219,9 @@ if @var{I} is a BOZ constant, @var{J}.
 @cindex shift, right
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DSHIFTR(I, J, SHIFT)}
+
 @item @emph{Description}:
 @code{DSHIFTR(I, J, SHIFT)} combines bits of @var{I} and @var{J}. The
 leftmost @var{SHIFT} bits of the result are the rightmost @var{SHIFT}
@@ -5232,9 +5235,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = DSHIFTR(I, J, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}, @code{UNSIGNED} or
@@ -5266,6 +5266,12 @@ if @var{I} is a BOZ constant, @var{J}.
 @cindex elapsed time
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL DTIME(VALUES, TIME)}.
+@item @code{TIME = DTIME(VALUES)}, (not recommended).
+@end multitable
+
 @item @emph{Description}:
 @code{DTIME(VALUES, TIME)} initially returns the number of seconds of runtime
 since the start of the process's execution in @var{TIME}.  @var{VALUES}
@@ -5305,12 +5311,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL DTIME(VALUES, TIME)}.
-@item @code{TIME = DTIME(VALUES)}, (not recommended).
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{VALUES}@tab The type shall be @code{REAL(4), DIMENSION(2)}.
@@ -5354,6 +5354,9 @@ end program test_dtime
 @cindex array, shift
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EOSHIFT(ARRAY, SHIFT [, BOUNDARY, DIM])}
+
 @item @emph{Description}:
 @code{EOSHIFT(ARRAY, SHIFT[, BOUNDARY, DIM])} performs an end-off shift on
 elements of @var{ARRAY} along the dimension of @var{DIM}.  If @var{DIM} is
@@ -5381,9 +5384,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = EOSHIFT(ARRAY, SHIFT [, BOUNDARY, DIM])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY}  @tab May be any type, not scalar.
@@ -5423,6 +5423,9 @@ end program test_eoshift
 @cindex model representation, epsilon
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EPSILON(X)}
+
 @item @emph{Description}:
 @code{EPSILON(X)} returns the smallest number @var{E} of the same kind
 as @var{X} such that @math{1 + E > 1}.
@@ -5433,9 +5436,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = EPSILON(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -5463,6 +5463,9 @@ end program test_epsilon
 @cindex error function
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ERF(X)}
+
 @item @emph{Description}:
 @code{ERF(X)} computes the error function of @var{X}.
 
@@ -5472,9 +5475,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ERF(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -5507,6 +5507,9 @@ end program test_erf
 @cindex error function, complementary
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ERFC(X)}
+
 @item @emph{Description}:
 @code{ERFC(X)} computes the complementary error function of @var{X}.
 
@@ -5516,9 +5519,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ERFC(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -5551,6 +5551,9 @@ end program test_erfc
 @cindex error function, complementary, exponentially-scaled
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ERFC_SCALED(X)}
+
 @item @emph{Description}:
 @code{ERFC_SCALED(X)} computes the exponentially-scaled complementary
 error function of @var{X}.
@@ -5561,9 +5564,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ERFC_SCALED(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -5589,6 +5589,12 @@ end program test_erfc_scaled
 @cindex time, elapsed
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL ETIME(VALUES, TIME)}.
+@item @code{TIME = ETIME(VALUES)}, (not recommended).
+@end multitable
+
 @item @emph{Description}:
 @code{ETIME(VALUES, TIME)} returns the number of seconds of runtime
 since the start of the process's execution in @var{TIME}.  @var{VALUES}
@@ -5618,12 +5624,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL ETIME(VALUES, TIME)}.
-@item @code{TIME = ETIME(VALUES)}, (not recommended).
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{VALUES}@tab The type shall be @code{REAL(4), DIMENSION(2)}.
@@ -5666,6 +5666,9 @@ end program test_etime
 @cindex Events, EVENT_QUERY
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL EVENT_QUERY (EVENT, COUNT [, STAT])}
+
 @item @emph{Description}:
 @code{EVENT_QUERY} assigns the number of events to @var{COUNT} that have been
 posted to the @var{EVENT} variable and not yet been removed by calling
@@ -5679,9 +5682,6 @@ TS 18508 or later
 @item @emph{Class}:
  subroutine
 
-@item @emph{Syntax}:
-@code{CALL EVENT_QUERY (EVENT, COUNT [, STAT])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{EVENT}  @tab (intent(IN)) Scalar of type @code{EVENT_TYPE},
@@ -5718,6 +5718,9 @@ end program atomic
 @cindex command line
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL EXECUTE_COMMAND_LINE(COMMAND [, WAIT, EXITSTAT, CMDSTAT, CMDMSG ])}
+
 @item @emph{Description}:
 @code{EXECUTE_COMMAND_LINE} runs a shell command, synchronously or
 asynchronously.
@@ -5749,9 +5752,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL EXECUTE_COMMAND_LINE(COMMAND [, WAIT, EXITSTAT, CMDSTAT, CMDMSG ])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{COMMAND} @tab Shall be a default @code{CHARACTER} scalar.
@@ -5801,6 +5801,9 @@ terminated alongside.
 @cindex terminate program
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL EXIT([STATUS])}
+
 @item @emph{Description}:
 @code{EXIT} causes immediate termination of the program with status.  If status
 is omitted it returns the canonical @emph{success} for the system.  All Fortran
@@ -5812,9 +5815,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL EXIT([STATUS])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STATUS} @tab Shall be an @code{INTEGER} of the default kind.
@@ -5850,6 +5850,9 @@ end program test_exit
 @cindex logarithm function, inverse
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EXP(X)}
+
 @item @emph{Description}:
 @code{EXP(X)} computes the base @math{e} exponential of @var{X}.
 
@@ -5859,9 +5862,6 @@ Fortran 77 and later, has overloads that are GNU extensions
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = EXP(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or
@@ -5899,6 +5899,9 @@ end program test_exp
 @cindex floating point, exponent
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EXPONENT(X)}
+
 @item @emph{Description}:
 @code{EXPONENT(X)} returns the value of the exponent part of @var{X}. If @var{X}
 is zero the value returned is zero. 
@@ -5909,9 +5912,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = EXPONENT(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -5939,6 +5939,9 @@ end program test_exponent
 @fnindex EXTENDS_TYPE_OF
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EXTENDS_TYPE_OF(A, MOLD)}
+
 @item @emph{Description}:
 Query dynamic type for extension.
 
@@ -5948,9 +5951,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = EXTENDS_TYPE_OF(A, MOLD)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab Shall be an object of extensible declared type or
@@ -5978,6 +5978,12 @@ the dynamic type of A is an extension type of the dynamic type of MOLD.
 @cindex current date
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FDATE(DATE)}.
+@item @code{DATE = FDATE()}.
+@end multitable
+
 @item @emph{Description}:
 @code{FDATE(DATE)} returns the current date (using the same format as
 @ref{CTIME}) in @var{DATE}. It is equivalent to @code{CALL CTIME(DATE,
@@ -5992,12 +5998,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FDATE(DATE)}.
-@item @code{DATE = FDATE()}.
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{DATE}@tab The type shall be of type @code{CHARACTER} of the
@@ -6038,6 +6038,12 @@ end program test_fdate
 @cindex file operation, read character
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FGET(C [, STATUS])}
+@item @code{STATUS = FGET(C)}
+@end multitable
+
 @item @emph{Description}:
 Read a single character in stream mode from stdin by bypassing normal 
 formatted output. Stream I/O should not be mixed with normal record-oriented 
@@ -6057,12 +6063,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FGET(C [, STATUS])}
-@item @code{STATUS = FGET(C)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C}      @tab The type shall be @code{CHARACTER} and of default
@@ -6105,6 +6105,12 @@ END PROGRAM
 @cindex file operation, read character
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FGETC(UNIT, C [, STATUS])}
+@item @code{STATUS = FGETC(UNIT, C)}
+@end multitable
+
 @item @emph{Description}:
 Read a single character in stream mode by bypassing normal formatted output. 
 Stream I/O should not be mixed with normal record-oriented (formatted or 
@@ -6124,12 +6130,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FGETC(UNIT, C [, STATUS])}
-@item @code{STATUS = FGETC(UNIT, C)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT}   @tab The type shall be @code{INTEGER}.
@@ -6168,6 +6168,12 @@ END PROGRAM
 @cindex findloc
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])}
+@item @code{RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])}
+@end multitable
+
 @item @emph{Description}:
 Determines the location of the element in the array with the value
 given in the @var{VALUE} argument, or, if the @var{DIM} argument is
@@ -6191,12 +6197,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])}
-@item @code{RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of intrinsic type.
@@ -6238,6 +6238,9 @@ is of default kind.
 @cindex rounding, floor
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = FLOOR(A [, KIND])}
+
 @item @emph{Description}:
 @code{FLOOR(A)} returns the greatest integer less than or equal to @var{A}.
 
@@ -6247,9 +6250,6 @@ Fortran 95 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = FLOOR(A [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab The type shall be @code{REAL}.
@@ -6284,6 +6284,9 @@ end program test_floor
 @cindex file operation, flush
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL FLUSH(UNIT)}
+
 @item @emph{Description}:
 Flushes Fortran unit(s) currently open for output. Without the optional
 argument, all units are flushed, otherwise just the unit specified.
@@ -6294,9 +6297,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL FLUSH(UNIT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT} @tab (Optional) The type shall be @code{INTEGER}.
@@ -6354,6 +6354,9 @@ descriptor of the I/O unit as argument (retrieved with GNU intrinsic
 @cindex file operation, file number
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = FNUM(UNIT)}
+
 @item @emph{Description}:
 @code{FNUM(UNIT)} returns the POSIX file descriptor number corresponding to the
 open Fortran I/O unit @code{UNIT}.
@@ -6364,9 +6367,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = FNUM(UNIT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT} @tab The type shall be @code{INTEGER}.
@@ -6397,6 +6397,12 @@ end program test_fnum
 @cindex file operation, write character
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FPUT(C [, STATUS])}
+@item @code{STATUS = FPUT(C)}
+@end multitable
+
 @item @emph{Description}:
 Write a single character in stream mode to stdout by bypassing normal 
 formatted output. Stream I/O should not be mixed with normal record-oriented 
@@ -6416,12 +6422,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FPUT(C [, STATUS])}
-@item @code{STATUS = FPUT(C)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C}      @tab The type shall be @code{CHARACTER} and of default
@@ -6458,6 +6458,12 @@ END PROGRAM
 @cindex file operation, write character
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FPUTC(UNIT, C [, STATUS])}
+@item @code{STATUS = FPUTC(UNIT, C)}
+@end multitable
+
 @item @emph{Description}:
 Write a single character in stream mode by bypassing normal formatted 
 output. Stream I/O should not be mixed with normal record-oriented 
@@ -6477,12 +6483,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FPUTC(UNIT, C [, STATUS])}
-@item @code{STATUS = FPUTC(UNIT, C)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT}   @tab The type shall be @code{INTEGER}.
@@ -6522,6 +6522,9 @@ END PROGRAM
 @cindex floating point, fraction
 
 @table @asis
+@item @emph{Synopsis}:
+@code{Y = FRACTION(X)}
+
 @item @emph{Description}:
 @code{FRACTION(X)} returns the fractional part of the model
 representation of @code{X}.
@@ -6532,9 +6535,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{Y = FRACTION(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type of the argument shall be a @code{REAL}.
@@ -6564,6 +6564,9 @@ end program test_fraction
 @cindex pointer, cray
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL FREE(PTR)}
+
 @item @emph{Description}:
 Frees memory previously allocated by @code{MALLOC}. The @code{FREE}
 intrinsic is an extension intended to be used with Cray pointers, and is
@@ -6577,9 +6580,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL FREE(PTR)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{PTR} @tab The type shall be @code{INTEGER}. It represents the
@@ -6605,6 +6605,9 @@ See @code{MALLOC} for an example.
 @cindex file operation, position
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL FSEEK(UNIT, OFFSET, WHENCE[, STATUS])}
+
 @item @emph{Description}:
 Moves @var{UNIT} to the specified @var{OFFSET}. If @var{WHENCE} 
 is set to 0, the @var{OFFSET} is taken as an absolute value @code{SEEK_SET},
@@ -6636,9 +6639,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL FSEEK(UNIT, OFFSET, WHENCE[, STATUS])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT}   @tab Shall be a scalar of type @code{INTEGER}.
@@ -6685,6 +6685,12 @@ END PROGRAM
 @cindex file system, file status
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FSTAT(UNIT, VALUES [, STATUS])}
+@item @code{STATUS = FSTAT(UNIT, VALUES)}
+@end multitable
+
 @item @emph{Description}:
 @code{FSTAT} is identical to @ref{STAT}, except that information about an 
 already opened file is obtained.
@@ -6700,12 +6706,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FSTAT(UNIT, VALUES [, STATUS])}
-@item @code{STATUS = FSTAT(UNIT, VALUES)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT}   @tab An open I/O unit number of type @code{INTEGER}.
@@ -6732,6 +6732,12 @@ To stat a file: @*
 @cindex file operation, position
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FTELL(UNIT, OFFSET)}
+@item @code{OFFSET = FTELL(UNIT)}
+@end multitable
+
 @item @emph{Description}:
 Retrieves the current position within an open file.
 
@@ -6744,12 +6750,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FTELL(UNIT, OFFSET)}
-@item @code{OFFSET = FTELL(UNIT)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{OFFSET}  @tab Shall of type @code{INTEGER}.
@@ -6784,6 +6784,9 @@ END PROGRAM
 @cindex Factorial function
 
 @table @asis
+@item @emph{Synopsis}:
+@code{X = GAMMA(X)}
+
 @item @emph{Description}:
 @code{GAMMA(X)} computes Gamma (@math{\Gamma}) of @var{X}. For positive,
 integer values of @var{X} the Gamma function simplifies to the factorial
@@ -6801,9 +6804,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{X = GAMMA(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL} and neither zero
@@ -6840,6 +6840,9 @@ Logarithm of the Gamma function: @*
 @cindex system, error handling
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GERROR(RESULT)}
+
 @item @emph{Description}:
 Returns the system error message corresponding to the last system error.
 This resembles the functionality of @code{strerror(3)} in C.
@@ -6850,9 +6853,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GERROR(RESULT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{RESULT}  @tab Shall be of type @code{CHARACTER} and of default kind.
@@ -6881,6 +6881,9 @@ END PROGRAM
 @cindex arguments, to program
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GETARG(POS, VALUE)}
+
 @item @emph{Description}:
 Retrieve the @var{POS}-th argument that was passed on the
 command line when the containing program was invoked.
@@ -6896,9 +6899,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GETARG(POS, VALUE)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{POS}   @tab Shall be of type @code{INTEGER} and not wider than
@@ -6946,6 +6946,9 @@ Fortran 2003 functions and subroutines: @*
 @cindex arguments, to program
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GET_COMMAND([COMMAND, LENGTH, STATUS])}
+
 @item @emph{Description}:
 Retrieve the entire command line that was used to invoke the program.
 
@@ -6955,9 +6958,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GET_COMMAND([COMMAND, LENGTH, STATUS])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{COMMAND} @tab (Optional) shall be of type @code{CHARACTER} and
@@ -6998,6 +6998,9 @@ END PROGRAM
 @cindex arguments, to program
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])}
+
 @item @emph{Description}:
 Retrieve the @var{NUMBER}-th argument that was passed on the
 command line when the containing program was invoked.
@@ -7008,9 +7011,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NUMBER} @tab Shall be a scalar of type @code{INTEGER} and of
@@ -7065,6 +7065,12 @@ END PROGRAM
 @cindex system, working directory
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL GETCWD(C [, STATUS])}
+@item @code{STATUS = GETCWD(C)}
+@end multitable
+
 @item @emph{Description}:
 Get current working directory.
 
@@ -7077,12 +7083,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL GETCWD(C [, STATUS])}
-@item @code{STATUS = GETCWD(C)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C} @tab The type shall be @code{CHARACTER} and of default kind.
@@ -7111,6 +7111,9 @@ END PROGRAM
 @cindex environment variable
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GETENV(NAME, VALUE)}
+
 @item @emph{Description}:
 Get the @var{VALUE} of the environmental variable @var{NAME}.
 
@@ -7129,9 +7132,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GETENV(NAME, VALUE)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NAME}  @tab Shall be of type @code{CHARACTER} and of default kind.
@@ -7164,6 +7164,9 @@ END PROGRAM
 @cindex environment variable
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GET_ENVIRONMENT_VARIABLE(NAME[, VALUE, LENGTH, STATUS, TRIM_NAME)}
+
 @item @emph{Description}:
 Get the @var{VALUE} of the environmental variable @var{NAME}.
 
@@ -7178,9 +7181,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GET_ENVIRONMENT_VARIABLE(NAME[, VALUE, LENGTH, STATUS, TRIM_NAME)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NAME}      @tab Shall be a scalar of type @code{CHARACTER}
@@ -7226,6 +7226,9 @@ END PROGRAM
 @cindex system, group ID
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = GETGID()}
+
 @item @emph{Description}:
 Returns the numerical group ID of the current process.
 
@@ -7235,9 +7238,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = GETGID()}
-
 @item @emph{Return value}:
 The return value of @code{GETGID} is an @code{INTEGER} of the default
 kind.
@@ -7259,6 +7259,9 @@ See @code{GETPID} for an example.
 @cindex login name
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GETLOG(C)}
+
 @item @emph{Description}:
 Gets the username under which the program is running.
 
@@ -7268,9 +7271,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GETLOG(C)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C} @tab Shall be of type @code{CHARACTER} and of default kind.
@@ -7304,6 +7304,9 @@ END PROGRAM
 @cindex process ID
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = GETPID()}
+
 @item @emph{Description}:
 Returns the numerical process identifier of the current process.
 
@@ -7313,9 +7316,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = GETPID()}
-
 @item @emph{Return value}:
 The return value of @code{GETPID} is an @code{INTEGER} of the default
 kind.
@@ -7343,6 +7343,9 @@ end program info
 @cindex user id
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = GETUID()}
+
 @item @emph{Description}:
 Returns the numerical user ID of the current process.
 
@@ -7352,9 +7355,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = GETUID()}
-
 @item @emph{Return value}:
 The return value of @code{GETUID} is an @code{INTEGER} of the default
 kind.
@@ -7375,6 +7375,9 @@ See @code{GETPID} for an example.
 @cindex time, conversion to GMT info
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL GMTIME(TIME, VALUES)}
+
 @item @emph{Description}:
 Given a system time value @var{TIME} (as provided by the @ref{TIME}
 intrinsic), fills @var{VALUES} with values extracted from it appropriate
@@ -7392,9 +7395,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL GMTIME(TIME, VALUES)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{TIME}   @tab An @code{INTEGER} scalar expression
@@ -7435,6 +7435,12 @@ effect, zero if not, and negative if the information is not available.
 @cindex system, host name
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL HOSTNM(C [, STATUS])}
+@item @code{STATUS = HOSTNM(NAME)}
+@end multitable
+
 @item @emph{Description}:
 Retrieves the host name of the system on which the program is running.
 
@@ -7447,12 +7453,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL HOSTNM(C [, STATUS])}
-@item @code{STATUS = HOSTNM(NAME)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C}    @tab Shall of type @code{CHARACTER} and of default kind.
@@ -7475,6 +7475,9 @@ be obtained, or to a blank string otherwise.
 @cindex model representation, largest number
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = HUGE(X)}
+
 @item @emph{Description}:
 @code{HUGE(X)} returns the largest number that is not an infinity in
 the model of the type of @code{X}.
@@ -7486,9 +7489,6 @@ integers})
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = HUGE(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}, @code{INTEGER} or
@@ -7515,6 +7515,9 @@ end program test_huge_tiny
 @cindex Euclidean distance
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = HYPOT(X, Y)}
+
 @item @emph{Description}:
 @code{HYPOT(X,Y)} is the Euclidean distance function. It is equal to
 @math{\sqrt{X^2 + Y^2}}, without undue underflow or overflow.
@@ -7525,9 +7528,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = HYPOT(X, Y)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -7557,6 +7557,9 @@ end program test_hypot
 @cindex conversion, to integer
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IACHAR(C [, KIND])}
+
 @item @emph{Description}:
 @code{IACHAR(C)} returns the code for the @acronym{ASCII} character
 in the first character position of @code{C}.
@@ -7567,9 +7570,6 @@ Fortran 95 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IACHAR(C [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C}    @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
@@ -7608,6 +7608,12 @@ and formatted string representations.
 @cindex bits, AND of array elements
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = IALL(ARRAY[, MASK])}
+@item @code{RESULT = IALL(ARRAY, DIM[, MASK])}
+@end multitable
+
 @item @emph{Description}:
 Reduces with bitwise AND the elements of @var{ARRAY} along dimension @var{DIM}
 if the corresponding element in @var{MASK} is @code{TRUE}.
@@ -7619,12 +7625,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = IALL(ARRAY[, MASK])}
-@item @code{RESULT = IALL(ARRAY, DIM[, MASK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or @code{UNSIGNED}
@@ -7675,6 +7675,9 @@ END PROGRAM
 @cindex logical and, bitwise
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IAND(I, J)}
+
 @item @emph{Description}:
 Bitwise logical @code{AND}.
 
@@ -7686,9 +7689,6 @@ later, has overloads that are GNU extensions.  Extension for
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IAND(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER}, @code{UNSIGNED}
@@ -7742,6 +7742,12 @@ END PROGRAM
 @cindex bits, OR of array elements
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = IANY(ARRAY[, MASK])}
+@item @code{RESULT = IANY(ARRAY, DIM[, MASK])}
+@end multitable
+
 @item @emph{Description}:
 Reduces with bitwise OR (inclusive or) the elements of @var{ARRAY} along
 dimension @var{DIM} if the corresponding element in @var{MASK} is @code{TRUE}.
@@ -7753,12 +7759,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = IANY(ARRAY[, MASK])}
-@item @code{RESULT = IANY(ARRAY, DIM[, MASK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or @code{UNSIGNED}
@@ -7806,6 +7806,9 @@ END PROGRAM
 @cindex arguments, to program
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IARGC()}
+
 @item @emph{Description}:
 @code{IARGC} returns the number of arguments passed on the
 command line when the containing program was invoked.
@@ -7821,9 +7824,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = IARGC()}
-
 @item @emph{Arguments}:
 None
 
@@ -7855,6 +7855,9 @@ Fortran 2003 functions and subroutines: @*
 @cindex bits, clear
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IBCLR(I, POS)}
+
 @item @emph{Description}:
 @code{IBCLR} returns the value of @var{I} with the bit at position
 @var{POS} set to zero.
@@ -7866,9 +7869,6 @@ for @code{UNSIGNED} (@pxref{Unsigned integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IBCLR(I, POS)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -7910,6 +7910,9 @@ The return value is of the same type as @var{I}.
 @cindex bits, extract
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IBITS(I, POS, LEN)}
+
 @item @emph{Description}:
 @code{IBITS} extracts a field of length @var{LEN} from @var{I},
 starting from bit position @var{POS} and extending left for @var{LEN}
@@ -7924,9 +7927,6 @@ for @code{UNSIGNED} (@pxref{Unsigned integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IBITS(I, POS, LEN)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I}   @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -7968,6 +7968,9 @@ The return value is of type as @var{I}.
 @cindex bits, set
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IBSET(I, POS)}
+
 @item @emph{Description}:
 @code{IBSET} returns the value of @var{I} with the bit at position
 @var{POS} set to one.
@@ -7979,9 +7982,6 @@ for @code{UNSIGNED} (@pxref{Unsigned integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IBSET(I, POS)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -8018,6 +8018,9 @@ The return value is of the same type as @var{I}.
 @cindex conversion, to integer
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ICHAR(C [, KIND])}
+
 @item @emph{Description}:
 @code{ICHAR(C)} returns the code for the character in the first character
 position of @code{C} in the system's native character set.
@@ -8030,9 +8033,6 @@ Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ICHAR(C [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C}    @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
@@ -8096,6 +8096,9 @@ end program read_val
 @cindex current date
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL IDATE(VALUES)}
+
 @item @emph{Description}:
 @code{IDATE(VALUES)} Fills @var{VALUES} with the numerical values at the  
 current local time. The day (in the range 1-31), month (in the range 1-12), 
@@ -8113,9 +8116,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL IDATE(VALUES)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{VALUES} @tab The type shall be @code{INTEGER, DIMENSION(3)} and
@@ -8152,6 +8152,9 @@ end program test_idate
 @cindex logical exclusive or, bitwise
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IEOR(I, J)}
+
 @item @emph{Description}:
 @code{IEOR} returns the bitwise Boolean exclusive-OR of @var{I} and
 @var{J}.
@@ -8164,9 +8167,6 @@ later, has overloads that are GNU extensions. Extension for
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IEOR(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER}, @code{UNSIGNED} or
@@ -8210,6 +8210,9 @@ with the kind type parameter of the other argument as-if a call to @ref{INT} or
 @cindex system, error handling
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IERRNO()}
+
 @item @emph{Description}:
 Returns the last system error number, as given by the C @code{errno}
 variable.
@@ -8220,9 +8223,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = IERRNO()}
-
 @item @emph{Arguments}:
 None
 
@@ -8243,6 +8243,9 @@ kind.
 @cindex images, cosubscript to image index conversion
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IMAGE_INDEX(COARRAY, SUB)}
+
 @item @emph{Description}:
 Returns the image index belonging to a cosubscript.
 
@@ -8252,9 +8255,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Inquiry function.
 
-@item @emph{Syntax}:
-@code{RESULT = IMAGE_INDEX(COARRAY, SUB)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{COARRAY} @tab Coarray of any type.
@@ -8287,6 +8287,9 @@ WRITE (*,*) IMAGE_INDEX (array, [2,0,3,1])
 @cindex string, find substring
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])}
+
 @item @emph{Description}:
 Returns the position of the start of the first occurrence of string
 @var{SUBSTRING} as a substring in @var{STRING}, counting from one.  If
@@ -8300,9 +8303,6 @@ Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab Shall be a scalar @code{CHARACTER}, with
@@ -8340,6 +8340,9 @@ The return value is of type @code{INTEGER} and of kind @var{KIND}. If
 @cindex conversion, to integer
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INT(A [, KIND))}
+
 @item @emph{Description}:
 Convert to integer type
 
@@ -8350,9 +8353,6 @@ Fortran 77 and later, with boz-literal-constant Fortran 2008 and later.
 Elemental function, extension for @code{UNSIGNED} (@pxref{Unsigned
 integers}).
 
-@item @emph{Syntax}:
-@code{RESULT = INT(A [, KIND))}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab Shall be of type @code{INTEGER},
@@ -8408,6 +8408,9 @@ end program
 @cindex conversion, to integer
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INT2(A)}
+
 @item @emph{Description}:
 Convert to a @code{KIND=2} integer type. This is equivalent to the
 standard @code{INT} intrinsic with an optional argument of
@@ -8419,9 +8422,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = INT2(A)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab Shall be of type @code{INTEGER},
@@ -8444,6 +8444,9 @@ The return value is a @code{INTEGER(2)} variable.
 @cindex conversion, to integer
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INT8(A)}
+
 @item @emph{Description}:
 Convert to a @code{KIND=8} integer type. This is equivalent to the
 standard @code{INT} intrinsic with an optional argument of
@@ -8455,9 +8458,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = INT8(A)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab Shall be of type @code{INTEGER},
@@ -8485,6 +8485,9 @@ The return value is a @code{INTEGER(8)} variable.
 @cindex logical or, bitwise
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IOR(I, J)}
+
 @item @emph{Description}:
 @code{IOR} returns the bitwise Boolean inclusive-OR of @var{I} and
 @var{J}.
@@ -8497,9 +8500,6 @@ later, has overloads that are GNU extensions.  Extension for
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IOR(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER}, @code{UNSIGNED}
@@ -8545,6 +8545,12 @@ with the kind type parameter of the other argument as-if a call to @ref{INT} or
 @cindex bits, XOR of array elements
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = IPARITY(ARRAY[, MASK])}
+@item @code{RESULT = IPARITY(ARRAY, DIM[, MASK])}
+@end multitable
+
 @item @emph{Description}:
 Reduces with bitwise XOR (exclusive or) the elements of @var{ARRAY} along
 dimension @var{DIM} if the corresponding element in @var{MASK} is @code{TRUE}.
@@ -8556,12 +8562,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = IPARITY(ARRAY[, MASK])}
-@item @code{RESULT = IPARITY(ARRAY, DIM[, MASK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER}
@@ -8609,6 +8609,9 @@ END PROGRAM
 @cindex random number generation
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IRAND(I)}
+
 @item @emph{Description}:
 @code{IRAND(FLAG)} returns a pseudo-random number from a uniform
 distribution between 0 and a system-dependent limit (which is in most
@@ -8628,9 +8631,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = IRAND(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be a scalar @code{INTEGER} of kind 4.
@@ -8660,6 +8660,9 @@ end program test_irand
 @cindex array, contiguity
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IS_CONTIGUOUS(ARRAY)}
+
 @item @emph{Description}:
 @code{IS_CONTIGUOUS} tests whether an array is contiguous.
 
@@ -8669,9 +8672,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = IS_CONTIGUOUS(ARRAY)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of any type.
@@ -8709,6 +8709,9 @@ end program test
 @cindex @code{IOSTAT}, end of file
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IS_IOSTAT_END(I)}
+
 @item @emph{Description}:
 @code{IS_IOSTAT_END} tests whether an variable has the value of the I/O
 status ``end of file''. The function is equivalent to comparing the variable
@@ -8721,9 +8724,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IS_IOSTAT_END(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of the type @code{INTEGER}.
@@ -8754,6 +8754,9 @@ END PROGRAM
 @cindex @code{IOSTAT}, end of record
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IS_IOSTAT_EOR(I)}
+
 @item @emph{Description}:
 @code{IS_IOSTAT_EOR} tests whether an variable has the value of the I/O
 status ``end of record''. The function is equivalent to comparing the
@@ -8766,9 +8769,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = IS_IOSTAT_EOR(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of the type @code{INTEGER}.
@@ -8798,6 +8798,9 @@ END PROGRAM
 @cindex system, terminal
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ISATTY(UNIT)}
+
 @item @emph{Description}:
 Determine whether a unit is connected to a terminal device.
 
@@ -8807,9 +8810,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = ISATTY(UNIT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT} @tab Shall be a scalar @code{INTEGER}.
@@ -8845,6 +8845,9 @@ END PROGRAM
 @cindex bits, shift
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ISHFT(I, SHIFT)}
+
 @item @emph{Description}:
 @code{ISHFT} returns a value corresponding to @var{I} with all of the
 bits shifted @var{SHIFT} places.  A value of @var{SHIFT} greater than
@@ -8861,9 +8864,6 @@ Fortran 90 and later, has overloads that are GNU extensions. Extension for
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ISHFT(I, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -8899,6 +8899,9 @@ The return value is of type of @var{I}.
 @cindex bits, shift circular
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ISHFTC(I, SHIFT [, SIZE])}
+
 @item @emph{Description}:
 @code{ISHFTC} returns a value corresponding to @var{I} with the
 rightmost @var{SIZE} bits shifted circularly @var{SHIFT} places; that
@@ -8916,9 +8919,6 @@ Fortran 90 and later, has overloads that are GNU extensions. Extension for
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = ISHFTC(I, SHIFT [, SIZE])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -8953,6 +8953,9 @@ The return value is of the same type as @var{I}.
 @cindex IEEE, ISNAN
 
 @table @asis
+@item @emph{Synopsis}:
+@code{ISNAN(X)}
+
 @item @emph{Description}:
 @code{ISNAN} tests whether a floating-point value is an IEEE
 Not-a-Number (NaN).
@@ -8963,9 +8966,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{ISNAN(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Variable of the type @code{REAL}.
@@ -8997,6 +8997,9 @@ end program test_nan
 @cindex current time
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL ITIME(VALUES)}
+
 @item @emph{Description}:
 @code{ITIME(VALUES)} Fills @var{VALUES} with the numerical values at the  
 current local time. The hour (in the range 1-24), minute (in the range 1-60), 
@@ -9014,9 +9017,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL ITIME(VALUES)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{VALUES} @tab The type shall be @code{INTEGER, DIMENSION(3)}
@@ -9048,6 +9048,12 @@ end program test_itime
 @fnindex KILL
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL KILL(PID, SIG [, STATUS])}
+@item @code{STATUS = KILL(PID, SIG)}
+@end multitable
+
 @item @emph{Description}:
 Sends the signal specified by @var{SIG} to the process @var{PID}.
 See @code{kill(2)}.
@@ -9061,12 +9067,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL KILL(PID, SIG [, STATUS])}
-@item @code{STATUS = KILL(PID, SIG)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{PID} @tab Shall be a scalar @code{INTEGER} with @code{INTENT(IN)}.
@@ -9091,6 +9091,9 @@ Returns 0 on success; otherwise a system-specific error code is returned.
 @cindex kind
 
 @table @asis
+@item @emph{Synopsis}:
+@code{K = KIND(X)}
+
 @item @emph{Description}:
 @code{KIND(X)} returns the kind value of the entity @var{X}.
 
@@ -9100,9 +9103,6 @@ Fortran 95 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{K = KIND(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{LOGICAL}, @code{INTEGER},
@@ -9135,6 +9135,9 @@ end program test_kind
 @cindex array, lower bound
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LBOUND(ARRAY [, DIM [, KIND]])}
+
 @item @emph{Description}:
 Returns the lower bounds of an array, or a single lower bound
 along the @var{DIM} dimension.
@@ -9145,9 +9148,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = LBOUND(ARRAY [, DIM [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array, of any type.
@@ -9179,6 +9179,9 @@ dimension, the lower bound is taken to be 1.
 @cindex coarray, lower bound
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LCOBOUND(COARRAY [, DIM [, KIND]])}
+
 @item @emph{Description}:
 Returns the lower bounds of a coarray, or a single lower cobound
 along the @var{DIM} codimension.
@@ -9189,9 +9192,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = LCOBOUND(COARRAY [, DIM [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an coarray, of any type.
@@ -9220,6 +9220,9 @@ corresponding to the lower cobound of the array along that codimension.
 @cindex zero bits
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LEADZ(I)}
+
 @item @emph{Description}:
 @code{LEADZ} returns the number of leading zero bits of an integer.
 
@@ -9229,9 +9232,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LEADZ(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}.
@@ -9264,6 +9264,9 @@ END PROGRAM
 @cindex string, length
 
 @table @asis
+@item @emph{Synopsis}:
+@code{L = LEN(STRING [, KIND])}
+
 @item @emph{Description}:
 Returns the length of a character string.  If @var{STRING} is an array,
 the length of an element of @var{STRING} is returned.  Note that
@@ -9276,9 +9279,6 @@ Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{L = LEN(STRING [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab Shall be a scalar or array of type
@@ -9311,6 +9311,9 @@ The return value is of type @code{INTEGER} and of kind @var{KIND}. If
 @cindex string, length, without trailing whitespace
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LEN_TRIM(STRING [, KIND])}
+
 @item @emph{Description}:
 Returns the length of a character string, ignoring any trailing blanks.
 
@@ -9320,9 +9323,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LEN_TRIM(STRING [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER},
@@ -9350,6 +9350,9 @@ The return value is of type @code{INTEGER} and of kind @var{KIND}. If
 @cindex string, comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LGE(STRING_A, STRING_B)}
+
 @item @emph{Description}:
 Determines whether one string is lexically greater than or equal to
 another string, where the two strings are interpreted as containing
@@ -9370,9 +9373,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LGE(STRING_A, STRING_B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@@ -9404,6 +9404,9 @@ otherwise, based on the ASCII ordering.
 @cindex string, comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LGT(STRING_A, STRING_B)}
+
 @item @emph{Description}:
 Determines whether one string is lexically greater than another string,
 where the two strings are interpreted as containing ASCII character
@@ -9424,9 +9427,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LGT(STRING_A, STRING_B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@@ -9458,6 +9458,12 @@ otherwise, based on the ASCII ordering.
 @cindex file system, hard link
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL LINK(PATH1, PATH2 [, STATUS])}
+@item @code{STATUS = LINK(PATH1, PATH2)}
+@end multitable
+
 @item @emph{Description}:
 Makes a (hard) link from file @var{PATH1} to @var{PATH2}. A null
 character (@code{CHAR(0)}) can be used to mark the end of the names in
@@ -9475,12 +9481,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL LINK(PATH1, PATH2 [, STATUS])}
-@item @code{STATUS = LINK(PATH1, PATH2)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{PATH1} @tab Shall be of default @code{CHARACTER} type.
@@ -9502,6 +9502,9 @@ Subroutine, function
 @cindex string, comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LLE(STRING_A, STRING_B)}
+
 @item @emph{Description}:
 Determines whether one string is lexically less than or equal to another
 string, where the two strings are interpreted as containing ASCII
@@ -9522,9 +9525,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LLE(STRING_A, STRING_B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@@ -9556,6 +9556,9 @@ otherwise, based on the ASCII ordering.
 @cindex string, comparison
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LLT(STRING_A, STRING_B)}
+
 @item @emph{Description}:
 Determines whether one string is lexically less than another string,
 where the two strings are interpreted as containing ASCII character
@@ -9576,9 +9579,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LLT(STRING_A, STRING_B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@@ -9609,6 +9609,9 @@ otherwise, based on the ASCII ordering.
 @cindex string, find non-blank character
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LNBLNK(STRING)}
+
 @item @emph{Description}:
 Returns the length of a character string, ignoring any trailing blanks.
 This is identical to the standard @code{LEN_TRIM} intrinsic, and is only
@@ -9620,9 +9623,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LNBLNK(STRING)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER},
@@ -9645,6 +9645,9 @@ The return value is of @code{INTEGER(kind=4)} type.
 @cindex location of a variable in memory
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOC(X)}
+
 @item @emph{Description}:
 @code{LOC(X)} returns the address of @var{X} as an integer.
 
@@ -9654,9 +9657,6 @@ GNU extension
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = LOC(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Variable of any type.
@@ -9693,6 +9693,9 @@ end program test_loc
 @cindex natural logarithm function
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOG(X)}
+
 @item @emph{Description}:
 @code{LOG(X)} computes the natural logarithm of @var{X}, i.e. the
 logarithm to the base @math{e}.
@@ -9703,9 +9706,6 @@ Fortran 77 and later, has GNU extensions
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LOG(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or
@@ -9751,6 +9751,9 @@ end program test_log
 @cindex base 10 logarithm function
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOG10(X)}
+
 @item @emph{Description}:
 @code{LOG10(X)} computes the base 10 logarithm of @var{X}.
 
@@ -9760,9 +9763,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LOG10(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -9799,6 +9799,9 @@ end program test_log10
 @cindex Gamma function, logarithm of
 
 @table @asis
+@item @emph{Synopsis}:
+@code{X = LOG_GAMMA(X)}
+
 @item @emph{Description}:
 @code{LOG_GAMMA(X)} computes the natural logarithm of the absolute value
 of the Gamma (@math{\Gamma}) function.
@@ -9809,9 +9812,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{X = LOG_GAMMA(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL} and neither zero
@@ -9850,6 +9850,9 @@ Gamma function: @*
 @cindex conversion, to logical
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOGICAL(L [, KIND])}
+
 @item @emph{Description}:
 Converts one kind of @code{LOGICAL} variable to another.
 
@@ -9859,9 +9862,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LOGICAL(L [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{L}    @tab The type shall be @code{LOGICAL}.
@@ -9888,6 +9888,9 @@ kind corresponding to @var{KIND}, or of the default logical kind if
 @cindex bits, shift left
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LSHIFT(I, SHIFT)}
+
 @item @emph{Description}:
 @code{LSHIFT} returns a value corresponding to @var{I} with all of the
 bits shifted left by @var{SHIFT} places.  @var{SHIFT} shall be
@@ -9905,9 +9908,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = LSHIFT(I, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER}.
@@ -9935,6 +9935,12 @@ The return value is of type @code{INTEGER} and of the same kind as
 @cindex file system, file status
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL LSTAT(NAME, VALUES [, STATUS])}
+@item @code{STATUS = LSTAT(NAME, VALUES)}
+@end multitable
+
 @item @emph{Description}:
 @code{LSTAT} is identical to @ref{STAT}, except that if path is a
 symbolic link, then the operation is performed on the link itself,
@@ -9951,12 +9957,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL LSTAT(NAME, VALUES [, STATUS])}
-@item @code{STATUS = LSTAT(NAME, VALUES)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NAME}   @tab The type shall be @code{CHARACTER} of the default
@@ -9984,6 +9984,9 @@ To stat a file: @*
 @cindex time, conversion to local time info
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL LTIME(TIME, VALUES)}
+
 @item @emph{Description}:
 Given a system time value @var{TIME} (as provided by the @ref{TIME}
 intrinsic), fills @var{VALUES} with values extracted from it appropriate
@@ -10000,9 +10003,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL LTIME(TIME, VALUES)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{TIME}  @tab An @code{INTEGER} scalar expression
@@ -10043,6 +10043,9 @@ effect, zero if not, and negative if the information is not available.
 @cindex pointer, cray
 
 @table @asis
+@item @emph{Synopsis}:
+@code{PTR = MALLOC(SIZE)}
+
 @item @emph{Description}:
 @code{MALLOC(SIZE)} allocates @var{SIZE} bytes of dynamic memory and
 returns the address of the allocated memory. The @code{MALLOC} intrinsic
@@ -10057,9 +10060,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{PTR = MALLOC(SIZE)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SIZE} @tab The type shall be @code{INTEGER}.
@@ -10106,6 +10106,9 @@ end program test_malloc
 @cindex mask, left justified
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MASKL(I[, KIND])}
+
 @item @emph{Description}:
 @code{MASKL(I[, KIND])} has its leftmost @var{I} bits set to 1, and the
 remaining bits set to 0.
@@ -10116,9 +10119,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MASKL(I[, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}.
@@ -10143,6 +10143,9 @@ default integer kind.
 @cindex mask, right justified
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MASKR(I[, KIND])}
+
 @item @emph{Description}:
 @code{MASKL(I[, KIND])} has its rightmost @var{I} bits set to 1, and the
 remaining bits set to 0.
@@ -10153,9 +10156,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MASKR(I[, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}.
@@ -10181,6 +10181,9 @@ default integer kind.
 @cindex product, matrix
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MATMUL(MATRIX_A, MATRIX_B)}
+
 @item @emph{Description}:
 Performs a matrix multiplication on numeric or logical arguments.
 
@@ -10191,9 +10194,6 @@ Fortran 90 and later. Extension for@code{UNSIGNED}
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = MATMUL(MATRIX_A, MATRIX_B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 
@@ -10231,6 +10231,9 @@ for the @code{*} or @code{.AND.} operators.
 @cindex maximum value
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MAX(A1, A2 [, A3 [, ...]])}
+
 @item @emph{Description}:
 Returns the argument with the largest (most positive) value.
 
@@ -10241,9 +10244,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MAX(A1, A2 [, A3 [, ...]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A1}          @tab The type shall be @code{INTEGER},
@@ -10281,6 +10281,9 @@ and has the same type and kind as the first argument.
 @cindex model representation, maximum exponent
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MAXEXPONENT(X)}
+
 @item @emph{Description}:
 @code{MAXEXPONENT(X)} returns the maximum exponent in the model of the
 type of @code{X}.
@@ -10291,9 +10294,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = MAXEXPONENT(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}.
@@ -10323,6 +10323,12 @@ end program exponents
 @cindex array, location of maximum element
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MAXLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
+@item @code{RESULT = MAXLOC(ARRAY [, MASK] [,KIND] [,BACK])}
+@end multitable
+
 @item @emph{Description}:
 Determines the location of the element in the array with the maximum
 value, or, if the @var{DIM} argument is supplied, determines the
@@ -10347,12 +10353,6 @@ Extension for@code{UNSIGNED} (@pxref{Unsigned integers}).
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MAXLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
-@item @code{RESULT = MAXLOC(ARRAY [, MASK] [,KIND] [,BACK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@@ -10392,6 +10392,12 @@ is of default kind.
 @cindex maximum value
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MAXVAL(ARRAY, DIM [, MASK])}
+@item @code{RESULT = MAXVAL(ARRAY [, MASK])}
+@end multitable
+
 @item @emph{Description}:
 Determines the maximum value of the elements in an array value, or, if
 the @var{DIM} argument is supplied, determines the maximum value along
@@ -10410,12 +10416,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MAXVAL(ARRAY, DIM [, MASK])}
-@item @code{RESULT = MAXVAL(ARRAY [, MASK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@@ -10448,6 +10448,9 @@ cases, the result is of the same type and kind as @var{ARRAY}.
 @cindex clock ticks
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MCLOCK()}
+
 @item @emph{Description}:
 Returns the number of clock ticks since the start of the process, based
 on the function @code{clock(3)} in the C standard library.
@@ -10464,9 +10467,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = MCLOCK()}
-
 @item @emph{Return value}:
 The return value is a scalar of type @code{INTEGER(4)}, equal to the
 number of clock ticks since the start of the process, or @code{-1} if
@@ -10489,6 +10489,9 @@ the system does not support @code{clock(3)}.
 @cindex clock ticks
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MCLOCK8()}
+
 @item @emph{Description}:
 Returns the number of clock ticks since the start of the process, based
 on the function @code{clock(3)} in the C standard library.
@@ -10507,9 +10510,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = MCLOCK8()}
-
 @item @emph{Return value}:
 The return value is a scalar of type @code{INTEGER(8)}, equal to the
 number of clock ticks since the start of the process, or @code{-1} if
@@ -10532,6 +10532,9 @@ the system does not support @code{clock(3)}.
 @cindex array, combine arrays
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MERGE(TSOURCE, FSOURCE, MASK)}
+
 @item @emph{Description}:
 Select values from two arrays according to a logical mask.  The result
 is equal to @var{TSOURCE} if @var{MASK} is @code{.TRUE.}, or equal to
@@ -10543,9 +10546,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MERGE(TSOURCE, FSOURCE, MASK)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{TSOURCE} @tab May be of any type.
@@ -10567,6 +10567,9 @@ The result is of the same type and type parameters as @var{TSOURCE}.
 @cindex bits, merge
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MERGE_BITS(I, J, MASK)}
+
 @item @emph{Description}:
 @code{MERGE_BITS(I, J, MASK)} merges the bits of @var{I} and @var{J}
 as determined by the mask.  The i-th bit of the result is equal to the 
@@ -10580,9 +10583,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MERGE_BITS(I, J, MASK)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}, @code{UNSIGNED}
@@ -10612,6 +10612,9 @@ The result is of the same type and kind as @var{I}.
 @cindex minimum value
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MIN(A1, A2 [, A3, ...])}
+
 @item @emph{Description}:
 Returns the argument with the smallest (most negative) value.
 
@@ -10622,9 +10625,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MIN(A1, A2 [, A3, ...])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A1}          @tab The type shall be @code{INTEGER},
@@ -10662,6 +10662,9 @@ and has the same type and kind as the first argument.
 @cindex model representation, minimum exponent
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MINEXPONENT(X)}
+
 @item @emph{Description}:
 @code{MINEXPONENT(X)} returns the minimum exponent in the model of the
 type of @code{X}.
@@ -10672,9 +10675,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = MINEXPONENT(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}.
@@ -10696,6 +10696,12 @@ See @code{MAXEXPONENT} for an example.
 @cindex array, location of minimum element
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MINLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
+@item @code{RESULT = MINLOC(ARRAY [, MASK], [,KIND] [,BACK])}
+@end multitable
+
 @item @emph{Description}:
 Determines the location of the element in the array with the minimum
 value, or, if the @var{DIM} argument is supplied, determines the
@@ -10720,12 +10726,6 @@ Extension for @code{UNSIGNED} (@pxref{Unsigned integers}).
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MINLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
-@item @code{RESULT = MINLOC(ARRAY [, MASK], [,KIND] [,BACK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@@ -10765,6 +10765,12 @@ is of default kind.
 @cindex minimum value
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MINVAL(ARRAY, DIM [, MASK])}
+@item @code{RESULT = MINVAL(ARRAY [, MASK])}
+@end multitable
+
 @item @emph{Description}:
 Determines the minimum value of the elements in an array value, or, if
 the @var{DIM} argument is supplied, determines the minimum value along
@@ -10782,12 +10788,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MINVAL(ARRAY, DIM [, MASK])}
-@item @code{RESULT = MINVAL(ARRAY [, MASK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@@ -10826,6 +10826,9 @@ cases, the result is of the same type and kind as @var{ARRAY}.
 @cindex division, remainder
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MOD(A, P)}
+
 @item @emph{Description}:
 @code{MOD(A,P)} computes the remainder of the division of A by P@. 
 
@@ -10836,9 +10839,6 @@ for @code{UNSIGNED}.
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MOD(A, P)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab Shall be a scalar of type @code{INTEGER}, @code{REAL}
@@ -10905,6 +10905,9 @@ end program test_mod
 @cindex division, modulo
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MODULO(A, P)}
+
 @item @emph{Description}:
 @code{MODULO(A,P)} computes the @var{A} modulo @var{P}.
 
@@ -10915,9 +10918,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MODULO(A, P)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab Shall be a scalar of type @code{INTEGER} or @code{REAL}.
@@ -10972,6 +10972,9 @@ end program
 @cindex allocation, moving
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL MOVE_ALLOC(FROM, TO)}
+
 @item @emph{Description}:
 @code{MOVE_ALLOC(FROM, TO)} moves the allocation from @var{FROM} to
 @var{TO}.  @var{FROM} becomes deallocated in the process.
@@ -10982,9 +10985,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Pure subroutine
 
-@item @emph{Syntax}:
-@code{CALL MOVE_ALLOC(FROM, TO)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{FROM}  @tab @code{ALLOCATABLE}, @code{INTENT(INOUT)}, may be
@@ -11022,6 +11022,9 @@ end program test_move_alloc
 @cindex bits, move
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)}
+
 @item @emph{Description}:
 Moves @var{LEN} bits from positions @var{FROMPOS} through
 @code{FROMPOS+LEN-1} of @var{FROM} to positions @var{TOPOS} through
@@ -11037,9 +11040,6 @@ for @code{UNSIGNED} (@pxref{Unsigned integers}).
 @item @emph{Class}:
 Elemental subroutine
 
-@item @emph{Syntax}:
-@code{CALL MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{FROM}    @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -11078,6 +11078,9 @@ as @var{FROM}.
 @cindex floating point, nearest different
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NEAREST(X, S)}
+
 @item @emph{Description}:
 @code{NEAREST(X, S)} returns the processor-representable number nearest
 to @code{X} in the direction indicated by the sign of @code{S}.
@@ -11088,9 +11091,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = NEAREST(X, S)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}.
@@ -11125,6 +11125,9 @@ end program test_nearest
 @cindex output, newline
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NEW_LINE(C)}
+
 @item @emph{Description}:
 @code{NEW_LINE(C)} returns the new-line character.
 
@@ -11134,9 +11137,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = NEW_LINE(C)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{C}    @tab The argument shall be a scalar or array of the
@@ -11165,6 +11165,9 @@ end program newline
 @cindex rounding, nearest whole number
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NINT(A [, KIND])}
+
 @item @emph{Description}:
 @code{NINT(A)} rounds its argument to the nearest whole number.
 
@@ -11174,9 +11177,6 @@ Fortran 77 and later, with @var{KIND} argument Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = NINT(A [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab The type of the argument shall be @code{REAL}.
@@ -11222,6 +11222,11 @@ end program test_nint
 @cindex norm, Euclidean
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = NORM2(ARRAY[, DIM])}
+@end multitable
+
 @item @emph{Description}:
 Calculates the Euclidean vector norm (@math{L_2} norm)
 of @var{ARRAY} along dimension @var{DIM}.
@@ -11232,11 +11237,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = NORM2(ARRAY[, DIM])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{REAL}
@@ -11277,6 +11277,9 @@ END PROGRAM
 @cindex logical not, bitwise
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NOT(I)}
+
 @item @emph{Description}:
 @code{NOT} returns the bitwise Boolean inverse of @var{I}.
 
@@ -11287,9 +11290,6 @@ for @code{UNSIGNED} (@pxref{Unsigned integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = NOT(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -11326,6 +11326,9 @@ The return type is @code{INTEGER}, of the same kind as the argument.
 @cindex pointer, disassociated
 
 @table @asis
+@item @emph{Synopsis}:
+@code{PTR => NULL([MOLD])}
+
 @item @emph{Description}:
 Returns a disassociated pointer.
 
@@ -11341,9 +11344,6 @@ Fortran 95 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{PTR => NULL([MOLD])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{MOLD} @tab (Optional) shall be a pointer of any association
@@ -11371,6 +11371,9 @@ REAL, POINTER, DIMENSION(:) :: VEC => NULL ()
 @cindex images, number of
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NUM_IMAGES(DISTANCE, FAILED)}
+
 @item @emph{Description}:
 Returns the number of images.
 
@@ -11381,9 +11384,6 @@ Technical Specification (TS) 18508 or later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = NUM_IMAGES(DISTANCE, FAILED)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{DISTANCE} @tab (optional, intent(in)) Nonnegative scalar integer
@@ -11428,6 +11428,9 @@ END IF
 @cindex logical or, bitwise
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = OR(I, J)}
+
 @item @emph{Description}:
 Bitwise logical @code{OR}.
 
@@ -11441,9 +11444,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = OR(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be either a scalar @code{INTEGER}
@@ -11487,6 +11487,9 @@ Fortran 95 elemental function: @*
 @cindex range check, numerical conversion
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = OUT_OF_RANGE(X, MOLD[, ROUND])}
+
 @item @emph{Description}:
 @code{OUT_OF_RANGE(X, MOLD[, ROUND])} determines if the value of @code{X}
 can be safely converted to an object with the type of argument @code{MOLD}.
@@ -11497,9 +11500,6 @@ Fortran 2018
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = OUT_OF_RANGE(X, MOLD[, ROUND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be either @code{INTEGER}, @code{UNSIGNED}
@@ -11555,6 +11555,9 @@ END PROGRAM
 @cindex array, gather elements
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = PACK(ARRAY, MASK[,VECTOR])}
+
 @item @emph{Description}:
 Stores the elements of @var{ARRAY} in an array of rank one.
 
@@ -11568,9 +11571,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = PACK(ARRAY, MASK[,VECTOR])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY}  @tab Shall be an array of any type.
@@ -11624,6 +11624,11 @@ END PROGRAM
 @cindex XOR reduction
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = PARITY(MASK[, DIM])}
+@end multitable
+
 @item @emph{Description}:
 Calculates the parity, i.e. the reduction using @code{.XOR.},
 of @var{MASK} along dimension @var{DIM}.
@@ -11634,11 +11639,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = PARITY(MASK[, DIM])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{MASK} @tab Shall be an array of type @code{LOGICAL}
@@ -11674,6 +11674,9 @@ END PROGRAM
 @cindex system, error handling
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL PERROR(STRING)}
+
 @item @emph{Description}:
 Prints (on the C @code{stderr} stream) a newline-terminated error
 message corresponding to the last system error. This is prefixed by
@@ -11685,9 +11688,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL PERROR(STRING)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab A scalar of type @code{CHARACTER} and of the
@@ -11707,6 +11707,9 @@ default kind.
 @cindex bits set
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = POPCNT(I)}
+
 @item @emph{Description}:
 @code{POPCNT(I)} returns the number of bits set ('1' bits) in the binary
 representation of @code{I}.
@@ -11717,9 +11720,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = POPCNT(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}.
@@ -11753,6 +11753,9 @@ end program test_population
 @cindex parity
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = POPPAR(I)}
+
 @item @emph{Description}:
 @code{POPPAR(I)} returns parity of the integer @code{I}, i.e. the parity
 of the number of bits set ('1' bits) in the binary representation of
@@ -11765,9 +11768,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = POPPAR(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}.
@@ -11800,6 +11800,9 @@ end program test_population
 @cindex model representation, precision
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = PRECISION(X)}
+
 @item @emph{Description}:
 @code{PRECISION(X)} returns the decimal precision in the model of the
 type of @code{X}.
@@ -11810,9 +11813,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = PRECISION(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL} or @code{COMPLEX}. It may
@@ -11846,6 +11846,9 @@ end program prec_and_range
 @fnindex PRESENT
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = PRESENT(A)}
+
 @item @emph{Description}:
 Determines whether an optional dummy argument is present.
 
@@ -11855,9 +11858,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = PRESENT(A)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab May be of any type and may be a pointer, scalar or array
@@ -11893,6 +11893,12 @@ END PROGRAM
 @cindex multiply array elements
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = PRODUCT(ARRAY[, MASK])}
+@item @code{RESULT = PRODUCT(ARRAY, DIM[, MASK])}
+@end multitable
+
 @item @emph{Description}:
 Multiplies the elements of @var{ARRAY} along dimension @var{DIM} if
 the corresponding element in @var{MASK} is @code{TRUE}.
@@ -11904,12 +11910,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = PRODUCT(ARRAY[, MASK])}
-@item @code{RESULT = PRODUCT(ARRAY, DIM[, MASK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER}, 
@@ -11951,6 +11951,9 @@ END PROGRAM
 @cindex model representation, radix
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RADIX(X)}
+
 @item @emph{Description}:
 @code{RADIX(X)} returns the base of the model representing the entity @var{X}.
 
@@ -11960,9 +11963,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = RADIX(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{INTEGER} or @code{REAL}
@@ -12016,6 +12016,9 @@ Function
 @cindex random number generation
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RAND(I)}
+
 @item @emph{Description}:
 @code{RAND(FLAG)} returns a pseudo-random number from a uniform
 distribution between 0 and 1. If @var{FLAG} is 0, the next number
@@ -12034,9 +12037,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = RAND(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be a scalar @code{INTEGER} of kind 4.
@@ -12069,6 +12069,9 @@ end program test_rand
 @cindex random number generation, initialization
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)}
+
 @item @emph{Description}:
 Initializes the state of the pseudorandom number generator used by 
 @code{RANDOM_NUMBER}.
@@ -12079,9 +12082,6 @@ Fortran 2018
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .25 .70
 @item @var{REPEATABLE} @tab Shall be a scalar with a @code{LOGICAL} type,
@@ -12125,6 +12125,9 @@ end program test_random_seed
 @cindex random number generation
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL RANDOM_NUMBER(HARVEST)}
+
 @item @emph{Description}:
 For @code{REAL} argument, returns a single pseudorandom number or an
 array of pseudorandom numbers from the uniform distribution over the
@@ -12151,9 +12154,6 @@ integers})
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL RANDOM_NUMBER(HARVEST)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{HARVEST} @tab Shall be a scalar or an array of type @code{REAL}.
@@ -12181,6 +12181,9 @@ end program
 @cindex seeding a random number generator
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL RANDOM_SEED([SIZE, PUT, GET])}
+
 @item @emph{Description}:
 Restarts or queries the state of the pseudorandom number generator used by 
 @code{RANDOM_NUMBER}.
@@ -12206,9 +12209,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL RANDOM_SEED([SIZE, PUT, GET])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SIZE} @tab (Optional) Shall be a scalar and of type default 
@@ -12251,6 +12251,9 @@ end program test_random_seed
 @cindex model representation, range
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RANGE(X)}
+
 @item @emph{Description}:
 @code{RANGE(X)} returns the decimal exponent range in the model of the
 type of @code{X}.
@@ -12262,9 +12265,6 @@ integers})
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = RANGE(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{INTEGER}, @code{REAL},
@@ -12291,6 +12291,9 @@ See @code{PRECISION} for an example.
 @cindex rank
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RANK(A)}
+
 @item @emph{Description}:
 @code{RANK(A)} returns the rank of a scalar or array data object.
 
@@ -12300,9 +12303,6 @@ Technical Specification (TS) 29113
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = RANK(A)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab can be of any type
@@ -12340,6 +12340,12 @@ end program test_rank
 @cindex complex numbers, real part
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = REAL(A [, KIND])}
+@item @code{RESULT = REALPART(Z)}
+@end multitable
+
 @item @emph{Description}:
 @code{REAL(A [, KIND])} converts its argument @var{A} to a real type.  The
 @code{REALPART} function is provided for compatibility with @command{g77},
@@ -12353,12 +12359,6 @@ integers}).
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = REAL(A [, KIND])}
-@item @code{RESULT = REALPART(Z)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab Shall be @code{INTEGER}, @code{REAL},
@@ -12416,6 +12416,12 @@ end program test_real
 @cindex file system, rename file
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL RENAME(PATH1, PATH2 [, STATUS])}
+@item @code{STATUS = RENAME(PATH1, PATH2)}
+@end multitable
+
 @item @emph{Description}:
 Renames a file from file @var{PATH1} to @var{PATH2}. A null
 character (@code{CHAR(0)}) can be used to mark the end of the names in
@@ -12433,12 +12439,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL RENAME(PATH1, PATH2 [, STATUS])}
-@item @code{STATUS = RENAME(PATH1, PATH2)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{PATH1} @tab Shall be of default @code{CHARACTER} type.
@@ -12460,6 +12460,9 @@ Subroutine, function
 @cindex string, concatenate
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = REPEAT(STRING, NCOPIES)}
+
 @item @emph{Description}:
 Concatenates @var{NCOPIES} copies of a string.
 
@@ -12469,9 +12472,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = REPEAT(STRING, NCOPIES)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING}  @tab Shall be scalar and of type @code{CHARACTER}.
@@ -12499,6 +12499,9 @@ end program
 @cindex array, transmogrify
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])}
+
 @item @emph{Description}:
 Reshapes @var{SOURCE} to correspond to @var{SHAPE}. If necessary,
 the new array may be padded with elements from @var{PAD} or permuted
@@ -12510,9 +12513,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SOURCE} @tab Shall be an array of any type.
@@ -12554,6 +12554,9 @@ END PROGRAM
 
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RRSPACING(X)}
+
 @item @emph{Description}:
 @code{RRSPACING(X)} returns the  reciprocal of the relative spacing of
 model numbers near @var{X}.
@@ -12564,9 +12567,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = RRSPACING(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}.
@@ -12589,6 +12589,9 @@ The value returned is equal to
 @cindex bits, shift right
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RSHIFT(I, SHIFT)}
+
 @item @emph{Description}:
 @code{RSHIFT} returns a value corresponding to @var{I} with all of the
 bits shifted right by @var{SHIFT} places.  @var{SHIFT} shall be
@@ -12607,9 +12610,6 @@ GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = RSHIFT(I, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER}.
@@ -12637,6 +12637,9 @@ The return value is of type @code{INTEGER} and of the same kind as
 @fnindex SAME_TYPE_AS
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SAME_TYPE_AS(A, B)}
+
 @item @emph{Description}:
 Query dynamic types for equality.
 
@@ -12646,9 +12649,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = SAME_TYPE_AS(A, B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab Shall be an object of extensible declared type or
@@ -12675,6 +12675,9 @@ only if the dynamic type of A is the same as the dynamic type of B.
 @cindex floating point, scale
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SCALE(X, I)}
+
 @item @emph{Description}:
 @code{SCALE(X,I)} returns @code{X * RADIX(X)**I}.
 
@@ -12684,9 +12687,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SCALE(X, I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type of the argument shall be a @code{REAL}.
@@ -12716,6 +12716,9 @@ end program test_scale
 @cindex string, find subset
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SCAN(STRING, SET[, BACK [, KIND]])}
+
 @item @emph{Description}:
 Scans a @var{STRING} for any of the characters in a @var{SET} 
 of characters.
@@ -12732,9 +12735,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SCAN(STRING, SET[, BACK [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab Shall be of type @code{CHARACTER}.
@@ -12771,6 +12771,9 @@ END PROGRAM
 @cindex elapsed time
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SECNDS (X)}
+
 @item @emph{Description}:
 @code{SECNDS(X)} gets the time in seconds from the real-time system clock.
 @var{X} is a reference time, also in seconds. If this is zero, the time in
@@ -12783,9 +12786,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = SECNDS (X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{T}     @tab Shall be of type @code{REAL(4)}.
@@ -12819,6 +12819,12 @@ end program test_secnds
 @cindex elapsed time
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SECOND(TIME)}
+@item @code{TIME = SECOND()}
+@end multitable
+
 @item @emph{Description}:
 Returns a @code{REAL(4)} value representing the elapsed CPU time in
 seconds.  This provides the same functionality as the standard
@@ -12834,12 +12840,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SECOND(TIME)}
-@item @code{TIME = SECOND()}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{TIME}  @tab Shall be of type @code{REAL(4)}.
@@ -12863,6 +12863,9 @@ seconds.
 @cindex kind, character
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_CHAR_KIND(NAME)}
+
 @item @emph{Description}:
 
 @code{SELECTED_CHAR_KIND(NAME)} returns the kind value for the character
@@ -12877,9 +12880,6 @@ Fortran 2003 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_CHAR_KIND(NAME)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NAME} @tab Shall be a scalar and of the default character type.
@@ -12918,6 +12918,9 @@ end program character_kind
 @cindex kind, integer
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_INT_KIND(R)}
+
 @item @emph{Description}:
 @code{SELECTED_INT_KIND(R)} return the kind value of the smallest integer
 type that can represent all values ranging from @math{-10^R} (exclusive)
@@ -12930,9 +12933,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_INT_KIND(R)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{R} @tab Shall be a scalar and of type @code{INTEGER}.
@@ -12964,6 +12964,9 @@ end program large_integers
 @cindex kind, logical
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_LOGICAL_KIND(BITS)}
+
 @item @emph{Description}:
 @code{SELECTED_LOGICAL_KIND(BITS)} return the kind value of the smallest
 logical type whose storage size in bits is at least @var{BITS}. If there
@@ -12975,9 +12978,6 @@ Fortran 2023 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_LOGICAL_KIND(BITS)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{BITS} @tab Shall be a scalar and of type @code{INTEGER}.
@@ -13007,6 +13007,9 @@ end program logical_kinds
 @cindex radix, real
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_REAL_KIND([P, R, RADIX])}
+
 @item @emph{Description}:
 @code{SELECTED_REAL_KIND(P,R)} returns the kind value of a real data type
 with decimal precision of at least @code{P} digits, exponent range of
@@ -13018,9 +13021,6 @@ Fortran 90 and later, with @code{RADIX} Fortran 2008 or later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_REAL_KIND([P, R, RADIX])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{P} @tab (Optional) shall be a scalar and of type @code{INTEGER}.
@@ -13082,6 +13082,9 @@ end program real_kinds
 @cindex kind, unsigned
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_UNSIGNED_KIND(R)}
+
 @item @emph{Description}:
 @code{SELECTED_UNSIGNED_KIND(R)} return the kind value of the smallest
 integer type that can represent all values ranging from 0 to
@@ -13094,9 +13097,6 @@ Extension for @code{UNSIGNED} (@pxref{Unsigned integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_UNSIGNED_KIND(R)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{R} @tab Shall be a scalar and of type @code{INTEGER}.
@@ -13123,6 +13123,9 @@ end program large_unsigned
 @cindex floating point, set exponent
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SET_EXPONENT(X, I)}
+
 @item @emph{Description}:
 @code{SET_EXPONENT(X, I)} returns the real number whose fractional part
 is that of @var{X} and whose exponent part is @var{I}.
@@ -13133,9 +13136,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SET_EXPONENT(X, I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}.
@@ -13167,6 +13167,9 @@ END PROGRAM
 @cindex array, shape
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHAPE(SOURCE [, KIND])}
+
 @item @emph{Description}:
 Determines the shape of an array.
 
@@ -13176,9 +13179,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = SHAPE(SOURCE [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SOURCE} @tab Shall be an array or scalar of any type. 
@@ -13218,6 +13218,9 @@ END PROGRAM
 @cindex shift, right with fill
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHIFTA(I, SHIFT)}
+
 @item @emph{Description}:
 @code{SHIFTA} returns a value corresponding to @var{I} with all of the
 bits shifted right by @var{SHIFT} places.  @var{SHIFT} that be
@@ -13234,9 +13237,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SHIFTA(I, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -13260,6 +13260,9 @@ The return value is of the same type and kind as @var{I}.
 @cindex shift, left
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHIFTL(I, SHIFT)}
+
 @item @emph{Description}:
 @code{SHIFTL} returns a value corresponding to @var{I} with all of the
 bits shifted left by @var{SHIFT} places.  @var{SHIFT} shall be
@@ -13274,9 +13277,6 @@ integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SHIFTL(I, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@@ -13300,6 +13300,9 @@ The return value is of the same type and kind as @var{I}.
 @cindex shift, right
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHIFTR(I, SHIFT)}
+
 @item @emph{Description}:
 @code{SHIFTR} returns a value corresponding to @var{I} with all of the
 bits shifted right by @var{SHIFT} places.  @var{SHIFT} shall be
@@ -13313,9 +13316,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SHIFTR(I, SHIFT)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be @code{INTEGER}.
@@ -13341,6 +13341,9 @@ The return value is of type @code{INTEGER} and of the same kind as
 @cindex sign copying
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIGN(A, B)}
+
 @item @emph{Description}:
 @code{SIGN(A,B)} returns the value of @var{A} with the sign of @var{B}.
 
@@ -13350,9 +13353,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SIGN(A, B)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab Shall be of type @code{INTEGER} or @code{REAL}
@@ -13394,6 +13394,12 @@ end program test_sign
 @cindex system, signal handling
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SIGNAL(NUMBER, HANDLER [, STATUS])}
+@item @code{STATUS = SIGNAL(NUMBER, HANDLER)}
+@end multitable
+
 @item @emph{Description}:
 @code{SIGNAL(NUMBER, HANDLER [, STATUS])} causes external subroutine
 @var{HANDLER} to be executed with a single integer argument passed by
@@ -13410,12 +13416,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SIGNAL(NUMBER, HANDLER [, STATUS])}
-@item @code{STATUS = SIGNAL(NUMBER, HANDLER)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NUMBER} @tab Shall be a scalar integer, with @code{INTENT(IN)}
@@ -13464,6 +13464,9 @@ end program test_signal
 @cindex sine
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIN(X)}
+
 @item @emph{Description}:
 @code{SIN(X)} computes the sine of @var{X}.
 
@@ -13473,9 +13476,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SIN(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or
@@ -13523,6 +13523,9 @@ Degrees function: @*
 @cindex sine, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIND(X)}
+
 @item @emph{Description}:
 @code{SIND(X)} computes the sine of @var{X} in degrees.
 
@@ -13532,9 +13535,6 @@ Fortran 2023
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SIND(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -13577,6 +13577,9 @@ Radians function: @*
 @cindex sine, hyperbolic
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SINH(X)}
+
 @item @emph{Description}:
 @code{SINH(X)} computes the hyperbolic sine of @var{X}.
 
@@ -13587,9 +13590,6 @@ a GNU extension
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SINH(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -13626,6 +13626,9 @@ end program test_sinh
 @cindex array, count elements
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIZE(ARRAY[, DIM [, KIND]])}
+
 @item @emph{Description}:
 Determine the extent of @var{ARRAY} along a specified dimension @var{DIM},
 or the total number of elements in @var{ARRAY} if @var{DIM} is absent.
@@ -13636,9 +13639,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = SIZE(ARRAY[, DIM [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of any type. If @var{ARRAY} is
@@ -13674,6 +13674,9 @@ END PROGRAM
 @cindex size of an expression
 
 @table @asis
+@item @emph{Synopsis}:
+@code{N = SIZEOF(X)}
+
 @item @emph{Description}:
 @code{SIZEOF(X)} calculates the number of bytes of storage the
 expression @code{X} occupies.
@@ -13684,9 +13687,6 @@ GNU extension
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{N = SIZEOF(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The argument shall be of any type, rank or shape.
@@ -13727,6 +13727,9 @@ where default @code{REAL} variables are unusually padded.
 @cindex delayed execution
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL SLEEP(SECONDS)}
+
 @item @emph{Description}:
 Calling this subroutine causes the process to pause for @var{SECONDS} seconds.
 
@@ -13736,9 +13739,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL SLEEP(SECONDS)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SECONDS} @tab The type shall be of default @code{INTEGER}.
@@ -13761,6 +13761,9 @@ end
 @cindex floating point, relative spacing
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SPACING(X)}
+
 @item @emph{Description}:
 Determines the distance between the argument @var{X} and the nearest 
 adjacent number of the same type.
@@ -13771,9 +13774,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SPACING(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}.
@@ -13807,6 +13807,9 @@ END PROGRAM
 @cindex array, duplicate dimensions
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SPREAD(SOURCE, DIM, NCOPIES)}
+
 @item @emph{Description}:
 Replicates a @var{SOURCE} array @var{NCOPIES} times along a specified 
 dimension @var{DIM}.
@@ -13817,9 +13820,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = SPREAD(SOURCE, DIM, NCOPIES)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SOURCE}  @tab Shall be a scalar or an array of any type and 
@@ -13859,6 +13859,9 @@ END PROGRAM
 @cindex square-root
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SQRT(X)}
+
 @item @emph{Description}:
 @code{SQRT(X)} computes the square root of @var{X}.
 
@@ -13868,9 +13871,6 @@ Fortran 77 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = SQRT(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or
@@ -13911,6 +13911,9 @@ end program test_sqrt
 @cindex seeding a random number generator
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL SRAND(SEED)}
+
 @item @emph{Description}:
 @code{SRAND} reinitializes the pseudo-random number generator
 called by @code{RAND} and @code{IRAND}. The new seed used by the
@@ -13922,9 +13925,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL SRAND(SEED)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SEED} @tab Shall be a scalar @code{INTEGER(kind=4)}.
@@ -13961,6 +13961,12 @@ pseudo-random number generators.
 @cindex file system, file status
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL STAT(NAME, VALUES [, STATUS])}
+@item @code{STATUS = STAT(NAME, VALUES)}
+@end multitable
+
 @item @emph{Description}:
 This function returns information about a file. No permissions are required on 
 the file itself, but execute (search) permission is required on all of the 
@@ -13995,12 +14001,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL STAT(NAME, VALUES [, STATUS])}
-@item @code{STATUS = STAT(NAME, VALUES)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{NAME}   @tab The type shall be @code{CHARACTER}, of the
@@ -14051,6 +14051,9 @@ To stat a link: @*
 @cindex storage size
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = STORAGE_SIZE(A [, KIND])}
+
 @item @emph{Description}:
 Returns the storage size of argument @var{A} in bits.
 
@@ -14060,9 +14063,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = STORAGE_SIZE(A [, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A} @tab Shall be a scalar or array of any type.
@@ -14091,6 +14091,12 @@ parameters of A.
 @cindex sum array elements
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = SUM(ARRAY[, MASK])}
+@item @code{RESULT = SUM(ARRAY, DIM[, MASK])}
+@end multitable
+
 @item @emph{Description}:
 Adds the elements of @var{ARRAY} along dimension @var{DIM} if
 the corresponding element in @var{MASK} is @code{TRUE}.
@@ -14102,12 +14108,6 @@ integers})
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = SUM(ARRAY[, MASK])}
-@item @code{RESULT = SUM(ARRAY, DIM[, MASK])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array of type @code{INTEGER}, 
@@ -14149,6 +14149,12 @@ END PROGRAM
 @cindex file system, soft link
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SYMLNK(PATH1, PATH2 [, STATUS])}
+@item @code{STATUS = SYMLNK(PATH1, PATH2)}
+@end multitable
+
 @item @emph{Description}:
 Makes a symbolic link from file @var{PATH1} to @var{PATH2}. A null
 character (@code{CHAR(0)}) can be used to mark the end of the names in
@@ -14167,12 +14173,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SYMLNK(PATH1, PATH2 [, STATUS])}
-@item @code{STATUS = SYMLNK(PATH1, PATH2)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{PATH1} @tab Shall be of default @code{CHARACTER} type.
@@ -14193,6 +14193,12 @@ Subroutine, function
 @cindex system, system call
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SYSTEM(COMMAND [, STATUS])}
+@item @code{STATUS = SYSTEM(COMMAND)}
+@end multitable
+
 @item @emph{Description}:
 Passes the command @var{COMMAND} to a shell (see @code{system(3)}). If
 argument @var{STATUS} is present, it contains the value returned by
@@ -14213,12 +14219,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SYSTEM(COMMAND [, STATUS])}
-@item @code{STATUS = SYSTEM(COMMAND)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{COMMAND} @tab Shall be of default @code{CHARACTER} type.
@@ -14239,6 +14239,9 @@ and should considered in new code for future portability.
 @cindex clock ticks
 
 @table @asis
+@item @emph{Synopsis}:
+@code{CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])}
+
 @item @emph{Description}:
 Determines the @var{COUNT} of a processor clock since an unspecified
 time in the past modulo @var{COUNT_MAX}, @var{COUNT_RATE} determines
@@ -14281,9 +14284,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Subroutine
 
-@item @emph{Syntax}:
-@code{CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .20 .65
 @item @var{COUNT}      @tab (Optional) shall be a scalar of type 
@@ -14318,6 +14318,9 @@ END PROGRAM
 @cindex tangent
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TAN(X)}
+
 @item @emph{Description}:
 @code{TAN(X)} computes the tangent of @var{X}.
 
@@ -14327,9 +14330,6 @@ Fortran 77 and later, for a complex argument Fortran 2008 or later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = TAN(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -14370,6 +14370,9 @@ Degrees function: @*
 @cindex tangent, degrees
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TAND(X)}
+
 @item @emph{Description}:
 @code{TAND(X)} computes the tangent of @var{X} in degrees.
 
@@ -14379,9 +14382,6 @@ Fortran 2023
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = TAND(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL}.
@@ -14423,6 +14423,9 @@ Radians function: @*
 @cindex tangent, hyperbolic
 
 @table @asis
+@item @emph{Synopsis}:
+@code{X = TANH(X)}
+
 @item @emph{Description}:
 @code{TANH(X)} computes the hyperbolic tangent of @var{X}.
 
@@ -14432,9 +14435,6 @@ Fortran 77 and later, for a complex argument Fortran 2008 or later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{X = TANH(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@@ -14474,6 +14474,13 @@ end program test_tanh
 @cindex images, index of this image
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = THIS_IMAGE()}
+@item @code{RESULT = THIS_IMAGE(DISTANCE)}
+@item @code{RESULT = THIS_IMAGE(COARRAY [, DIM])}
+@end multitable
+
 @item @emph{Description}:
 Returns the cosubscript for this image.
 
@@ -14484,13 +14491,6 @@ Technical Specification (TS) 18508 or later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = THIS_IMAGE()}
-@item @code{RESULT = THIS_IMAGE(DISTANCE)}
-@item @code{RESULT = THIS_IMAGE(COARRAY [, DIM])}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{DISTANCE} @tab (optional, intent(in)) Nonnegative scalar integer
@@ -14545,6 +14545,9 @@ IF (THIS_IMAGE(HUGE(1)) /= THIS_IMAGE())
 @cindex current time
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TIME()}
+
 @item @emph{Description}:
 Returns the current time encoded as an integer (in the manner of the
 function @code{time(3)} in the C standard library). This value is
@@ -14566,9 +14569,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = TIME()}
-
 @item @emph{Return value}:
 The return value is a scalar of type @code{INTEGER(4)}.
 
@@ -14590,6 +14590,9 @@ The return value is a scalar of type @code{INTEGER(4)}.
 @cindex current time
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TIME8()}
+
 @item @emph{Description}:
 Returns the current time encoded as an integer (in the manner of the
 function @code{time(3)} in the C standard library). This value is
@@ -14609,9 +14612,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = TIME8()}
-
 @item @emph{Return value}:
 The return value is a scalar of type @code{INTEGER(8)}.
 
@@ -14633,6 +14633,9 @@ The return value is a scalar of type @code{INTEGER(8)}.
 @cindex model representation, smallest number
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TINY(X)}
+
 @item @emph{Description}:
 @code{TINY(X)} returns the smallest positive (non zero) number
 in the model of the type of @code{X}.
@@ -14643,9 +14646,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = TINY(X)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{X} @tab Shall be of type @code{REAL}.
@@ -14666,6 +14666,9 @@ See @code{HUGE} for an example.
 @cindex zero bits
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRAILZ(I)}
+
 @item @emph{Description}:
 @code{TRAILZ} returns the number of trailing zero bits of an integer.
 
@@ -14675,9 +14678,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = TRAILZ(I)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{INTEGER}.
@@ -14710,6 +14710,9 @@ END PROGRAM
 @cindex type cast
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRANSFER(SOURCE, MOLD[, SIZE])}
+
 @item @emph{Description}:
 Interprets the bitwise representation of @var{SOURCE} in memory as if it
 is the representation of a variable or array of the same type and type
@@ -14724,9 +14727,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = TRANSFER(SOURCE, MOLD[, SIZE])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{SOURCE} @tab Shall be a scalar or an array of any type.
@@ -14774,6 +14774,9 @@ END PROGRAM
 @cindex transpose
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRANSPOSE(MATRIX)}
+
 @item @emph{Description}:
 Transpose an array of rank two. Element (i, j) of the result has the value 
 @code{MATRIX(j, i)}, for all i, j.
@@ -14784,9 +14787,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = TRANSPOSE(MATRIX)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{MATRIX} @tab Shall be an array of any type and have a rank of two.
@@ -14805,6 +14805,9 @@ The result has the same type as @var{MATRIX}, and has shape
 @cindex string, remove trailing whitespace
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRIM(STRING)}
+
 @item @emph{Description}:
 Removes trailing blank characters of a string.
 
@@ -14814,9 +14817,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = TRIM(STRING)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER}.
@@ -14847,6 +14847,12 @@ END PROGRAM
 @cindex system, terminal
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL TTYNAM(UNIT, NAME)}
+@item @code{NAME = TTYNAM(UNIT)}
+@end multitable
+
 @item @emph{Description}:
 Get the name of a terminal device. For more information, 
 see @code{ttyname(3)}.
@@ -14860,12 +14866,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL TTYNAM(UNIT, NAME)}
-@item @code{NAME = TTYNAM(UNIT)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{UNIT} @tab Shall be a scalar @code{INTEGER}.
@@ -14894,6 +14894,9 @@ END PROGRAM
 @cindex array, upper bound
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UBOUND(ARRAY [, DIM [, KIND]])}
+
 @item @emph{Description}:
 Returns the upper bounds of an array, or a single upper bound
 along the @var{DIM} dimension.
@@ -14904,9 +14907,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = UBOUND(ARRAY [, DIM [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an array, of any type.
@@ -14939,6 +14939,9 @@ the relevant dimension.
 @cindex coarray, upper bound
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UCOBOUND(COARRAY [, DIM [, KIND]])}
+
 @item @emph{Description}:
 Returns the upper cobounds of a coarray, or a single upper cobound
 along the @var{DIM} codimension.
@@ -14949,9 +14952,6 @@ Fortran 2008 and later
 @item @emph{Class}:
 Inquiry function
 
-@item @emph{Syntax}:
-@code{RESULT = UCOBOUND(COARRAY [, DIM [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{ARRAY} @tab Shall be an coarray, of any type.
@@ -14978,6 +14978,9 @@ corresponding to the lower cobound of the array along that codimension.
 @cindex, conversion, to unsigned
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UINT(A [, KIND))}
+
 @item @emph{Description}:
 Convert to unsigned type
 
@@ -14987,9 +14990,6 @@ Extension.
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = UINT(A [, KIND))}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{A}    @tab Shall be of type @code{INTEGER},
@@ -15005,6 +15005,12 @@ expression indicating the kind parameter of the result.
 @cindex file system, file creation mask
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL UMASK(MASK [, OLD])}
+@item @code{OLD = UMASK(MASK)}
+@end multitable
+
 @item @emph{Description}:
 Sets the file creation mask to @var{MASK}. If called as a function, it
 returns the old value. If called as a subroutine and argument @var{OLD}
@@ -15016,12 +15022,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL UMASK(MASK [, OLD])}
-@item @code{OLD = UMASK(MASK)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{MASK} @tab Shall be a scalar of type @code{INTEGER}.
@@ -15037,6 +15037,9 @@ Subroutine, function
 @cindex mask, left justified
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UMASKL(I[, KIND])}
+
 @item @emph{Description}:
 @code{UMASKL(I[, KIND])} has its leftmost @var{I} bits set to 1, and the
 remaining bits set to 0.
@@ -15047,9 +15050,6 @@ Extension (@pxref{Unsigned integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = UMASKL(I[, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{UNSIGNED}.
@@ -15074,6 +15074,9 @@ default unsigned kind.
 @cindex mask, right justified
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MASKR(I[, KIND])}
+
 @item @emph{Description}:
 @code{UMASKL(I[, KIND])} has its rightmost @var{I} bits set to 1, and the
 remaining bits set to 0.
@@ -15084,9 +15087,6 @@ Extension (@pxref{Unsigned integers})
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = MASKR(I[, KIND])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab Shall be of type @code{UNSIGNED}.
@@ -15112,6 +15112,12 @@ default integer kind.
 @cindex file system, remove file
 
 @table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL UNLINK(PATH [, STATUS])}
+@item @code{STATUS = UNLINK(PATH)}
+@end multitable
+
 @item @emph{Description}:
 Unlinks the file @var{PATH}. A null character (@code{CHAR(0)}) can be
 used to mark the end of the name in @var{PATH}; otherwise, trailing
@@ -15128,12 +15134,6 @@ GNU extension
 @item @emph{Class}:
 Subroutine, function
 
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL UNLINK(PATH [, STATUS])}
-@item @code{STATUS = UNLINK(PATH)}
-@end multitable
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{PATH} @tab Shall be of default @code{CHARACTER} type.
@@ -15155,6 +15155,9 @@ Subroutine, function
 @cindex array, scatter elements
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UNPACK(VECTOR, MASK, FIELD)}
+
 @item @emph{Description}:
 Store the elements of @var{VECTOR} in an array of higher rank.
 
@@ -15164,9 +15167,6 @@ Fortran 90 and later
 @item @emph{Class}:
 Transformational function
 
-@item @emph{Syntax}:
-@code{RESULT = UNPACK(VECTOR, MASK, FIELD)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{VECTOR} @tab Shall be an array of any type and rank one. It 
@@ -15205,6 +15205,9 @@ END PROGRAM
 @cindex string, find missing set
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = VERIFY(STRING, SET[, BACK [, KIND]])}
+
 @item @emph{Description}:
 Verifies that all the characters in @var{STRING} belong to the set of
 characters in @var{SET}.
@@ -15221,9 +15224,6 @@ Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
 @item @emph{Class}:
 Elemental function
 
-@item @emph{Syntax}:
-@code{RESULT = VERIFY(STRING, SET[, BACK [, KIND]])}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{STRING} @tab Shall be of type @code{CHARACTER}.
@@ -15262,6 +15262,9 @@ END PROGRAM
 @cindex logical exclusive or, bitwise
 
 @table @asis
+@item @emph{Synopsis}:
+@code{RESULT = XOR(I, J)}
+
 @item @emph{Description}:
 Bitwise logical exclusive or. 
 
@@ -15276,9 +15279,6 @@ GNU extension
 @item @emph{Class}:
 Function
 
-@item @emph{Syntax}:
-@code{RESULT = XOR(I, J)}
-
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .70
 @item @var{I} @tab The type shall be either a scalar @code{INTEGER}