      \fitem{approx}(x:numeric, y:numeric), \vListable. The function call
      can also be written with the special syntax \code{(x ~ y)} (the
      parenthesis are mandatory).

      This predicate returns true if
      \begin{lstlisting}
            abs((x - y)/max(x, y)) <  $APPROX_RATIO
      \end{lstlisting} %$
      The variable \varAPPROX is initalized to \code{0.1} so
      \code{(x ~ y)} means \code{x} and \code{y} differ by less than
      10\%. By changing the value of the variable \varAPPROX, one changes
      the level of approximation for the following calls to
      \code{@approx}. 
      %%
      Notice that using this function to check if a number is near zero is a
      bad idea: \code{(x ~ 0)} returns always $1$ if $x$ is null. 

      If one argument is a tab, the other argument $u$ is extended to tab
      if it is scalar (all elements of the extension is equal to $u$) and
      the predicate returns true if it hold point-wise for all element of
      the tabs. For example \code{(tab[1, 2] ~ 1.02)} returns \code{false}
      because we don't have \code{(2 ~ 1.02)}.



      %%% -------------------------------------------------------

