Index: doc/LaTeXmacros/common.tex
===================================================================
--- doc/LaTeXmacros/common.tex	(revision b72bad4f321cdf95d1b8160445956596cf80e191)
+++ doc/LaTeXmacros/common.tex	(revision 8bc4ef87e90fcb9fc6232c6c4e9d2137b79d50b0)
@@ -11,6 +11,6 @@
 %% Created On       : Sat Apr  9 10:06:17 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Sat Apr  9 10:06:39 2016
-%% Update Count     : 1
+%% Last Modified On : Thu Apr 28 14:41:09 2016
+%% Update Count     : 5
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -66,6 +66,6 @@
     \vskip 50\p@
   }}
-\renewcommand\section{\@startsection{section}{1}{\z@}{-3.0ex \@plus -1ex \@minus -.2ex}{1.0ex \@plus .2ex}{\normalfont\large\bfseries}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}{-2.5ex \@plus -1ex \@minus -.2ex}{1.0ex \@plus .2ex}{\normalfont\normalsize\bfseries}}
+\renewcommand\section{\@startsection{section}{1}{\z@}{-3.5ex \@plus -1ex \@minus -.2ex}{2.3ex \@plus .2ex}{\normalfont\large\bfseries}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex \@plus -1ex \@minus -.2ex}{1.5ex \@plus .2ex}{\normalfont\normalsize\bfseries}}
 \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}{-2.5ex \@plus -1ex \@minus -.2ex}{1.0ex \@plus .2ex}{\normalfont\normalsize\bfseries}}
 \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}{-2.0ex \@plus -1ex \@minus -.2ex}{-1em}{\normalfont\normalsize\bfseries}}
@@ -108,4 +108,5 @@
 \newcommand{\@Index}[2][\@empty]{\lowercase{\def\temp{#2}}#2\ifx#1\@empty\index{\temp}\else\index{#1@{\protect#2}}\fi}
 \newcommand{\@sIndex}[2][\@empty]{#2\ifx#1\@empty\index{#2}\else\index{#1@{\protect#2}}\fi}
+\newcommand{\indexc}[1]{\index{#1@\lstinline$#1$}}
 
 \newcommand{\newtermFontInline}{\emph}
@@ -179,5 +180,4 @@
 		fallthru,finally,forall,ftype,_Generic,_Imaginary,inline,__label__,lvalue,_Noreturn,otype,restrict,_Static_assert,
 		_Thread_local,throw,throwResume,trait,try,typeof,__typeof,__typeof__,},
-	moredelim=**[is][\color{red}]{`}{`}, % red highlighting of program text
 }%
 
@@ -186,4 +186,5 @@
 columns=flexible,
 basicstyle=\sf\relsize{-1},
+stringstyle=\tt,
 tabsize=4,
 xleftmargin=\parindent,
@@ -193,6 +194,7 @@
 showstringspaces=false,
 showlines=true,
-aboveskip=6pt,
-belowskip=4pt,
+aboveskip=4pt,
+belowskip=2pt,
+moredelim=**[is][\color{red}]{`}{`}, % red highlighting of program text
 literate={\\`}{\raisebox{0.3ex}{\ttfamily\upshape \hspace*{-2pt}`}}1, % escape \`, otherwise used for red highlighting
 }%
Index: doc/user/user.tex
===================================================================
--- doc/user/user.tex	(revision b72bad4f321cdf95d1b8160445956596cf80e191)
+++ doc/user/user.tex	(revision 8bc4ef87e90fcb9fc6232c6c4e9d2137b79d50b0)
@@ -11,6 +11,6 @@
 %% Created On       : Wed Apr  6 14:53:29 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Wed Apr 27 22:39:40 2016
-%% Update Count     : 160
+%% Last Modified On : Thu Apr 28 14:45:07 2016
+%% Update Count     : 181
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -233,14 +233,14 @@
 cfa [ gcc-options ] C/@{\CFA}@-files [ assembler/loader-files ]
 \end{lstlisting}
-\index{cfa@\lstinline$cfa$}\index{compilation!cfa@\lstinline$cfa$}
+\indexc{cfa}\index{compilation!cfa@\lstinline$cfa$}
 By default, \CFA programs having the following \lstinline@gcc@ flags turned on:
 \begin{description}
 \item
 \hspace*{-4pt}\lstinline@-std=gnu99@
-\index{-std=gnu99@{\lstinline$-std=gnu99$}}\index{compilation option!-std=gnu99@{\lstinline$-std=gnu99$}}
+\indexc{-std=gnu99}\index{compilation option!-std=gnu99@{\lstinline$-std=gnu99$}}
 The 1999 C standard plus GNU extensions.
 \item
 \hspace*{-4pt}\lstinline@-fgnu89-inline@
-\index{-fgnu89-inline@{\lstinline$-fgnu89-inline$}}\index{compilation option!-fgnu89-inline@{\lstinline$-fgnu89-inline$}}
+\indexc{-fgnu89-inline}\index{compilation option!-fgnu89-inline@{\lstinline$-fgnu89-inline$}}
 Use the traditional GNU semantics for inline routines in C99 mode.
 \end{description}
@@ -249,5 +249,5 @@
 \item
 \hspace*{-4pt}\lstinline@-CFA@
-\index{-CFA@{\lstinline$-CFA$}}\index{compilation option!-CFA@{\lstinline$-CFA$}}
+\indexc{-CFA}\index{compilation option!-CFA@{\lstinline$-CFA$}}
 Only the C preprocessor and the \CFA translator steps are performed and the transformed program is written to standard output, which makes it possible to examine the code generated by the \CFA translator.
 \end{description}
@@ -257,5 +257,5 @@
 \item
 \hspace*{-4pt}\lstinline$__CFA__$
-\index{__CFA__@{\lstinline$__CFA__$}}\index{preprocessor variables!__CFA__@{\lstinline$__CFA__$}}
+\indexc{__CFA__}\index{preprocessor variables!__CFA__@{\lstinline$__CFA__$}}
 is always available during preprocessing and its value is the current major \Index{version number} of \CFA.\footnote{
 The C preprocessor allows only integer values in a preprocessor variable so a value like ``\Version'' is not allowed.
@@ -264,15 +264,15 @@
 \item
 \hspace*{-4pt}\lstinline$__CFA_MINOR__$
-\index{__CFA_MINOR__@{\lstinline$__CFA_MINOR__$}}\index{preprocessor variables!__CFA_MINOR__@{\lstinline$__CFA_MINOR__$}}
+\indexc{__CFA_MINOR__}\index{preprocessor variables!__CFA_MINOR__@{\lstinline$__CFA_MINOR__$}}
 is always available during preprocessing and its value is the current minor \Index{version number} of \CFA.
 
 \item
 \hspace*{-4pt}\lstinline$__CFA_PATCH__$
-\index{__CFA_PATCH__@\lstinline$__CFA_PATCH__$)}\index{preprocessor variables!__CFA_PATCH__@\lstinline$__CFA_PATCH__$}
+\indexc{__CFA_PATCH__}\index{preprocessor variables!__CFA_PATCH__@\lstinline$__CFA_PATCH__$}
 is always available during preprocessing and its value is the current patch \Index{version number} of \CFA.
 
 \item
 \hspace*{-4pt}\lstinline$__CFORALL__$
-\index{__CFORALL__@\lstinline$__CFORALL__$}\index{preprocessor variables!__CFORALL__@\lstinline$__CFORALL__$}
+\indexc{__CFORALL__}\index{preprocessor variables!__CFORALL__@\lstinline$__CFORALL__$}
 is always available during preprocessing and it has no value.
 \end{description}
@@ -505,5 +505,5 @@
 in both cases the type is assumed to be void as opposed to old style C defaults of int return type and unknown parameter types, respectively, as in:
 \begin{lstlisting}
-[@\,@] g(@\,@);				// no input or output parameters
+[@\,@] g();						// no input or output parameters
 [ void ] g( void );			// no input or output parameters
 \end{lstlisting}
@@ -4193,5 +4193,5 @@
 \begin{lstlisting}[belowskip=0pt]
 sout | 1 | ", x" | 2 | ". x" | 3 | ": x" | 4 | "; x" | 5 | "! x" | 6 | "? x" | 7 | ") x" | 8 | "] x" | 9 | "} x"
-	 | 10 | "% x" | 11 | L"¢ x" | 12 | L"» x" | endl;
+	 | 10 | "% x" | 11 | "¢ x" | 12 | "» x" | endl;
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
@@ -4262,5 +4262,5 @@
 	sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x $" | 4 | "x £" | 5 | "x ¥" | 6 | "x ¿" | 7 | "x «" | 8 | endl;
 	sout | 1 | ", x" | 2 | ". x" | 3 | ": x" | 4 | "; x" | 5 | "! x" | 6 | "? x" | 7 | ") x" | 8 | "] x" | 9 | "} x"
-		 | 10 | "% x" | 11 | L"¢ x" | 12 | L"» x" | endl;
+		 | 10 | "% x" | 11 | "¢ x" | 12 | "» x" | endl;
 	sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x" | "x " | 4 | " x" | endl;
 	sout | "x\t" | 1 | "\tx" | endl;
@@ -4290,14 +4290,14 @@
 \subsection{malloc}
 
-\begin{lstlisting}
-forall( otype T ) T * malloc( void );
+\begin{lstlisting}[escapechar=^]
+forall( otype T ) T * malloc( void );^\indexc{malloc}^
 forall( otype T ) T * malloc( char fill );
 forall( otype T ) T * malloc( T * ptr, size_t size );
 forall( otype T ) T * malloc( T * ptr, size_t size, unsigned char fill );
-forall( otype T ) T * calloc( size_t nmemb );
-forall( otype T ) T * realloc( T * ptr, size_t size );
+forall( otype T ) T * calloc( size_t nmemb );^\indexc{calloc}^
+forall( otype T ) T * realloc( T * ptr, size_t size );^\indexc{ato}^
 forall( otype T ) T * realloc( T * ptr, size_t size, unsigned char fill );
 
-forall( otype T ) T * aligned_alloc( size_t alignment );
+forall( otype T ) T * aligned_alloc( size_t alignment );^\indexc{ato}^
 forall( otype T ) T * memalign( size_t alignment );		// deprecated
 forall( otype T ) int posix_memalign( T ** ptr, size_t alignment );
@@ -4310,6 +4310,6 @@
 \subsection{ato / strto}
 
-\begin{lstlisting}
-int ato( const char * ptr );
+\begin{lstlisting}[escapechar=^]
+int ato( const char * ptr );^\indexc{ato}^
 unsigned int ato( const char * ptr );
 long int ato( const char * ptr );
@@ -4341,10 +4341,10 @@
 \subsection{bsearch / qsort}
 
-\begin{lstlisting}
+\begin{lstlisting}[escapechar=^]
 forall( otype T | { int ?<?( T, T ); } )
-T * bsearch( const T key, const T * arr, size_t dimension );
+T * bsearch( const T key, const T * arr, size_t dimension );^\indexc{bsearch}^
 
 forall( otype T | { int ?<?( T, T ); } )
-void qsort( const T * arr, size_t dimension );
+void qsort( const T * arr, size_t dimension );^\indexc{qsort}^
 \end{lstlisting}
 
@@ -4352,6 +4352,6 @@
 \subsection{abs}
 
-\begin{lstlisting}
-char abs( char );
+\begin{lstlisting}[escapechar=^]
+char abs( char );^\indexc{abs}^
 int abs( int );
 long int abs( long int );
@@ -4368,7 +4368,7 @@
 \subsection{random}
 
-\begin{lstlisting}
-void rand48seed( long int s );
-char rand48();
+\begin{lstlisting}[escapechar=^]
+void rand48seed( long int s );^\indexc{rand48seed}^
+char rand48();^\indexc{rand48}^
 int rand48();
 unsigned int rand48();
@@ -4385,13 +4385,13 @@
 \subsection{min / max / swap}
 
-\begin{lstlisting}
+\begin{lstlisting}[escapechar=^]
 forall( otype T | { int ?<?( T, T ); } )
-T min( const T t1, const T t2 );
+T min( const T t1, const T t2 );^\indexc{min}^
 
 forall( otype T | { int ?>?( T, T ); } )
-T max( const T t1, const T t2 );
+T max( const T t1, const T t2 );^\indexc{max}^
 
 forall( otype T )
-void swap( T * t1, T * t2 );
+void swap( T * t1, T * t2 );^\indexc{swap}^
 \end{lstlisting}
 
@@ -4405,6 +4405,6 @@
 \subsection{General}
 
-\begin{lstlisting}
-float fabs( float );
+\begin{lstlisting}[escapechar=^]
+float fabs( float );^\indexc{fabs}^
 double fabs( double );
 long double fabs( long double );
@@ -4413,5 +4413,5 @@
 long double cabs( long double _Complex );
 
-float ?%?( float, float );
+float ?%?( float, float );^\indexc{fmod}^
 float fmod( float, float );
 double ?%?( double, double );
@@ -4420,9 +4420,9 @@
 long double fmod( long double, long double );
 
-float remainder( float, float );
+float remainder( float, float );^\indexc{remainder}^
 double remainder( double, double );
 long double remainder( long double, long double );
 
-[ int, float ] remquo( float, float );
+[ int, float ] remquo( float, float );^\indexc{remquo}^
 float remquo( float, float, int * );
 [ int, double ] remquo( double, double );
@@ -4432,5 +4432,5 @@
 
 [ int, float ] div( float, float );						// alternative name for remquo
-float div( float, float, int * );
+float div( float, float, int * );^\indexc{div}^
 [ int, double ] div( double, double );
 double div( double, double, int * );
@@ -4438,13 +4438,13 @@
 long double div( long double, long double, int * );
 
-float fma( float, float, float );
+float fma( float, float, float );^\indexc{fma}^
 double fma( double, double, double );
 long double fma( long double, long double, long double );
 
-float fdim( float, float );
+float fdim( float, float );^\indexc{fdim}^
 double fdim( double, double );
 long double fdim( long double, long double );
 
-float nan( const char * );
+float nan( const char * );^\indexc{nan}^
 double nan( const char * );
 long double nan( const char * );
@@ -4454,6 +4454,6 @@
 \subsection{Exponential}
 
-\begin{lstlisting}
-float exp( float );
+\begin{lstlisting}[escapechar=^]
+float exp( float );^\indexc{exp}^
 double exp( double );
 long double exp( long double );
@@ -4462,16 +4462,16 @@
 long double _Complex exp( long double _Complex );
 
-float exp2( float );
+float exp2( float );^\indexc{exp2}^
 double exp2( double );
 long double exp2( long double );
-// float _Complex exp2( float _Complex );
-// double _Complex exp2( double _Complex );
-// long double _Complex exp2( long double _Complex );
-
-float expm1( float );
+float _Complex exp2( float _Complex );
+double _Complex exp2( double _Complex );
+long double _Complex exp2( long double _Complex );
+
+float expm1( float );^\indexc{expm1}^
 double expm1( double );
 long double expm1( long double );
 
-float log( float );
+float log( float );^\indexc{log}^
 double log( double );
 long double log( long double );
@@ -4480,27 +4480,27 @@
 long double _Complex log( long double _Complex );
 
-float log2( float );
+float log2( float );^\indexc{log2}^
 double log2( double );
 long double log2( long double );
-// float _Complex log2( float _Complex );
-// double _Complex log2( double _Complex );
-// long double _Complex log2( long double _Complex );
-
-float log10( float );
+float _Complex log2( float _Complex );
+double _Complex log2( double _Complex );
+long double _Complex log2( long double _Complex );
+
+float log10( float );^\indexc{log10}^
 double log10( double );
 long double log10( long double );
-// float _Complex log10( float _Complex );
-// double _Complex log10( double _Complex );
-// long double _Complex log10( long double _Complex );
-
-float log1p( float );
+float _Complex log10( float _Complex );
+double _Complex log10( double _Complex );
+long double _Complex log10( long double _Complex );
+
+float log1p( float );^\indexc{log1p}^
 double log1p( double );
 long double log1p( long double );
 
-int ilogb( float );
+int ilogb( float );^\indexc{ilogb}^
 int ilogb( double );
 int ilogb( long double );
 
-float logb( float );
+float logb( float );^\indexc{logb}^
 double logb( double );
 long double logb( long double );
@@ -4510,6 +4510,6 @@
 \subsection{Power}
 
-\begin{lstlisting}
-float sqrt( float );
+\begin{lstlisting}[escapechar=^]
+float sqrt( float );^\indexc{sqrt}^
 double sqrt( double );
 long double sqrt( long double );
@@ -4518,13 +4518,13 @@
 long double _Complex sqrt( long double _Complex );
 
-float cbrt( float );
+float cbrt( float );^\indexc{cbrt}^
 double cbrt( double );
 long double cbrt( long double );
 
-float hypot( float, float );
+float hypot( float, float );^\indexc{hypot}^
 double hypot( double, double );
 long double hypot( long double, long double );
 
-float pow( float, float );
+float pow( float, float );^\indexc{pow}^
 double pow( double, double );
 long double pow( long double, long double );
@@ -4537,6 +4537,6 @@
 \subsection{Trigonometric}
 
-\begin{lstlisting}
-float sin( float );
+\begin{lstlisting}[escapechar=^]
+float sin( float );^\indexc{sin}^
 double sin( double );
 long double sin( long double );
@@ -4545,5 +4545,5 @@
 long double _Complex sin( long double _Complex );
 
-float cos( float );
+float cos( float );^\indexc{cos}^
 double cos( double );
 long double cos( long double );
@@ -4552,5 +4552,5 @@
 long double _Complex cos( long double _Complex );
 
-float tan( float );
+float tan( float );^\indexc{tan}^
 double tan( double );
 long double tan( long double );
@@ -4559,5 +4559,5 @@
 long double _Complex tan( long double _Complex );
 
-float asin( float );
+float asin( float );^\indexc{asin}^
 double asin( double );
 long double asin( long double );
@@ -4566,5 +4566,5 @@
 long double _Complex asin( long double _Complex );
 
-float acos( float );
+float acos( float );^\indexc{acos}^
 double acos( double );
 long double acos( long double );
@@ -4573,5 +4573,5 @@
 long double _Complex acos( long double _Complex );
 
-float atan( float );
+float atan( float );^\indexc{atan}^
 double atan( double );
 long double atan( long double );
@@ -4580,10 +4580,10 @@
 long double _Complex atan( long double _Complex );
 
-float atan2( float, float );
+float atan2( float, float );^\indexc{atan2}^
 double atan2( double, double );
 long double atan2( long double, long double );
 
 float atan( float, float );								// alternative name for atan2
-double atan( double, double );
+double atan( double, double );^\indexc{atan}^
 long double atan( long double, long double );
 \end{lstlisting}
@@ -4592,6 +4592,6 @@
 \subsection{Hyperbolic}
 
-\begin{lstlisting}
-float sinh( float );
+\begin{lstlisting}[escapechar=^]
+float sinh( float );^\indexc{sinh}^
 double sinh( double );
 long double sinh( long double );
@@ -4600,5 +4600,5 @@
 long double _Complex sinh( long double _Complex );
 
-float cosh( float );
+float cosh( float );^\indexc{cosh}^
 double cosh( double );
 long double cosh( long double );
@@ -4607,5 +4607,5 @@
 long double _Complex cosh( long double _Complex );
 
-float tanh( float );
+float tanh( float );^\indexc{tanh}^
 double tanh( double );
 long double tanh( long double );
@@ -4614,5 +4614,5 @@
 long double _Complex tanh( long double _Complex );
 
-float asinh( float );
+float asinh( float );^\indexc{asinh}^
 double asinh( double );
 long double asinh( long double );
@@ -4621,5 +4621,5 @@
 long double _Complex asinh( long double _Complex );
 
-float acosh( float );
+float acosh( float );^\indexc{acosh}^
 double acosh( double );
 long double acosh( long double );
@@ -4628,5 +4628,5 @@
 long double _Complex acosh( long double _Complex );
 
-float atanh( float );
+float atanh( float );^\indexc{atanh}^
 double atanh( double );
 long double atanh( long double );
@@ -4639,20 +4639,20 @@
 \subsection{Error / Gamma}
 
-\begin{lstlisting}
-float erf( float );
+\begin{lstlisting}[escapechar=^]
+float erf( float );^\indexc{erf}^
 double erf( double );
 long double erf( long double );
-// float _Complex erf( float _Complex );
-// double _Complex erf( double _Complex );
-// long double _Complex erf( long double _Complex );
-
-float erfc( float );
+float _Complex erf( float _Complex );
+double _Complex erf( double _Complex );
+long double _Complex erf( long double _Complex );
+
+float erfc( float );^\indexc{erfc}^
 double erfc( double );
 long double erfc( long double );
-// float _Complex erfc( float _Complex );
-// double _Complex erfc( double _Complex );
-// long double _Complex erfc( long double _Complex );
-
-float lgamma( float );
+float _Complex erfc( float _Complex );
+double _Complex erfc( double _Complex );
+long double _Complex erfc( long double _Complex );
+
+float lgamma( float );^\indexc{lgamma}^
 double lgamma( double );
 long double lgamma( long double );
@@ -4661,5 +4661,5 @@
 long double lgamma( long double, int * );
 
-float tgamma( float );
+float tgamma( float );^\indexc{tgamma}^
 double tgamma( double );
 long double tgamma( long double );
@@ -4670,17 +4670,17 @@
 
 \begin{lstlisting}[escapechar=^]
-float floor( float );^\index{floor@\lstinline$floor$}^
+float floor( float );^\indexc{floor}^
 double floor( double );
 long double floor( long double );
 
-float ceil( float );^\index{ceil@\lstinline$ceil$}^
+float ceil( float );^\indexc{ceil}^
 double ceil( double );
 long double ceil( long double );
 
-float trunc( float );^\index{trunc@\lstinline$trunc$}^
+float trunc( float );^\indexc{trunc}^
 double trunc( double );
 long double trunc( long double );
 
-float rint( float );^\index{rint@\lstinline$rint$}^
+float rint( float );^\indexc{rint}^
 long double rint( long double );
 long int rint( float );
@@ -4691,5 +4691,5 @@
 long long int rint( long double );
 
-long int lrint( float );^\index{lrint@\lstinline$lrint$}^
+long int lrint( float );^\indexc{lrint}^
 long int lrint( double );
 long int lrint( long double );
@@ -4698,9 +4698,9 @@
 long long int llrint( long double );
 
-float nearbyint( float );^\index{nearbyint@\lstinline$nearbyint$}^
+float nearbyint( float );^\indexc{nearbyint}^
 double nearbyint( double );
 long double nearbyint( long double );
 
-float round( float );^\index{round@\lstinline$round$}^
+float round( float );^\indexc{round}^
 long double round( long double );
 long int round( float );
@@ -4711,5 +4711,5 @@
 long long int round( long double );
 
-long int lround( float );^\index{lround@\lstinline$lround$}^
+long int lround( float );^\indexc{lround}^
 long int lround( double );
 long int lround( long double );
@@ -4723,17 +4723,17 @@
 
 \begin{lstlisting}[escapechar=^]
-float copysign( float, float );^\index{copysign@\lstinline$copysign$}^
+float copysign( float, float );^\indexc{copysign}^
 double copysign( double, double );
 long double copysign( long double, long double );
 
-float frexp( float, int * );^\index{frexp@\lstinline$frexp$}^
+float frexp( float, int * );^\indexc{frexp}^
 double frexp( double, int * );
 long double frexp( long double, int * );
 
-float ldexp( float, int );^\index{ldexp@\lstinline$ldexp$}^
+float ldexp( float, int );^\indexc{ldexp}^
 double ldexp( double, int );
 long double ldexp( long double, int );
 
-[ float, float ] modf( float );^\index{modf@\lstinline$modf$}^
+[ float, float ] modf( float );^\indexc{modf}^
 float modf( float, float * );
 [ double, double ] modf( double );
@@ -4742,17 +4742,17 @@
 long double modf( long double, long double * );
 
-float nextafter( float, float );^\index{nextafter@\lstinline$nextafter$}^
+float nextafter( float, float );^\indexc{nextafter}^
 double nextafter( double, double );
 long double nextafter( long double, long double );
 
-float nexttoward( float, long double );^\index{nexttoward@\lstinline$nexttoward$}^
+float nexttoward( float, long double );^\indexc{nexttoward}^
 double nexttoward( double, long double );
 long double nexttoward( long double, long double );
 
-float scalbn( float, int );^\index{scalbn@\lstinline$scalbn$}^
+float scalbn( float, int );^\indexc{scalbn}^
 double scalbn( double, int );
 long double scalbn( long double, int );
 
-float scalbln( float, long int );^\index{scalbln@\lstinline$scalbln$}^
+float scalbln( float, long int );^\indexc{scalbln}^
 double scalbln( double, long int );
 long double scalbln( long double, long int );
@@ -4766,7 +4766,7 @@
 When creating and computing with rational numbers, results are constantly reduced to keep the numerator and denominator as small as possible.
 
-\begin{lstlisting}
+\begin{lstlisting}[escapechar=^]
 // implementation
-struct Rational {
+struct Rational {^\indexc{Rational}^
 	long int numerator, denominator;					// invariant: denominator > 0
 }; // Rational
