\documentclass[nocolor,memo]{j3}
\renewcommand{\hdate}{18 September 2004}
\renewcommand{\vers}{J3/04-388}
\usepackage{lineno}
\usepackage{longtable}
\usepackage{xr}
\externaldocument{007}
\input pdftest
\begin{document}
\vspace{-10pt}
\begin{tabbing}
Subject: \hspace*{0.25in}\=More mathematical functions\\
From: \>Van Snyder\\
Reference: \>03-258r1, section 2.4.4.3, 04-184r1\\
\end{tabbing}
\pagewiselinenumbers
\leftlinenumbers
\linenumbers*
\section{Number}
TBD
\section{Title}
More mathematical functions.
\section{Submitted By}
J3
\section{Status}
For consideration.
\section{Basic Functionality}
More mathematical functions.
\section{Rationale}
Mathematical functions for complex type are occasionally needed. The
only ones that are available for complex type are ABS, COS, EXP, LOG and
SIN. The other mathematical functions that are provided for real type are
useful in practice for complex type as well. Inverse hyperbolic
functions and other functions are useful. Simple identities for complex
argument exist, but it is a burden to expect users to look them up, and
processors might be able to produce more efficient implementations. For
inverse hyperbolic functions, there are simple identities involving
square root and logarithm, but these can have substantial cancellation
error for some ranges of values, so it is important to be careful in
their implementation. Processors would presumably include careful
intrinsic implementations of these functions.
\section{Estimated Impact}
Minor but tedious. Estimated at meeting 169 to be 4 on the JKR scale.
\section{Detailed Specification}
Provide ACOS, ASIN, ATAN, COSH, SINH, TAN and TANH for complex type.
Provide inverse hyperbolic functions, including for complex type. In the
case of TAN, specify that the real part of the argument is regarded as a
value in radians.
It is proposed at this time that only the above named existing intrinsic
functions be extended to complex type, that inverse hyperbolic functions
be provided for real and complex arguments, and that no additional new
functions be introduced, at last not in the context of this proposal. The
following two paragraphs are included from 04-184r1 for reference purposes
only.
The following also appear in applications, and have better round-off
characteristics for $x$ near zero when implemented directly rather than
as written here: $e^x-1$, $\log(x+1)$, $x-\log(x+1)$,
$(x-\sin(x))/x^3$, $(1-\cos(x))/x^2$, $(\sinh(x)-x)/x^3$,
$(\cosh(x)-1)/x^2$ and $1/\Gamma(x+1)-1$. The function $x-1-\log(x)$ has
better round-off characteristics for $x$ near one when implemented
directly rather than as written here. These should be provided for both
real and complex arguments. The first two are the ones most commonly
found in applications.
A few other functions are useful, especially $\Gamma(x)$, erf$(x)$,
erfc$(x)$ and $\exp(x^2)$ erfc$(x)$. These are sufficiently difficult to
do well for complex arguments that the standard should not require it.
\subsection{Suggested edits}
The following edits are proposed for the purpose of indicating the scope
of the project.
\sep\begin{insum}
\item[{ACOSH(X)}]\mgpar{294:25+}Inverse hyperbolic cosine
\end{insum}
\sep\begin{insum}
\item[{ASINH(X)}]\mgpar{294:26+}Inverse hyperbolic sine
\end{insum}
\sep\begin{insum}
\item[{ATANH(X)}]\mgpar{294:27+}Inverse hyperbolic tangent
\end{insum}
\sep\mgpar{298:16}[Editor: Add the following three items to the list in
alphabetical order:]
\begin{threecol}
& ACOSH & ACOSH & default real\\
& ASINH & ASINH & default real\\
& ATANH & ATANH & default real\\
\end{threecol}
\sep\mgpar{301:10}[Editor: after ``1'' insert ``, or of type complex''.]
\sep\mgpar{301:14+}{\bfseries\sffamily 13.7.3$\frac12$ ACOSH ( X )}
\desc{Inverse hyperbolic cosine function.}
\class{Elemental function.}
\argument{ X shall be of type real or complex. }
\reschar{Same as X.}
\resvalue{The result has a value equal to a processor-dependent
approximation to the inverse hyperbolic cosine function of X.}
\example{ ACOSH~(1.5430806) has the value 1.0 (approximately).}
\sep\mgpar{304:14}[Editor: after ``1'' insert ``, or of type complex''.]
\sep\mgpar{304:18+}{\bfseries\sffamily 13.7.12$\frac12$ ASINH ( X )}
\desc{Inverse hyperbolic sine function.}
\class{Elemental function.}
\argument{ X shall be of type real or complex. }
\reschar{Same as X.}
\resvalue{The result has a value equal to a processor-dependent
approximation to the inverse hyperbolic sine function of X.}
\example{ ASINH~(1.1752012) has the value 1.0 (approximately).}
\sep\mgpar{305:31}[Editor: after ``real'' insert ``or complex''.]
\sep\mgpar{306:13+}{\bfseries\sffamily 13.7.15$\frac12$ ATANH ( X )}
\desc{Inverse hyperbolic tangent function.}
\class{Elemental function.}
\argument{ X shall be of type real or complex. }
\reschar{Same as X.}
\resvalue{The result has a value equal to a processor-dependent
approximation to the inverse hyperbolic tangent function of X.}
\example{ ATANH~(0.76159416) has the value 1.0 (approximately).}
\sep\mgpar{309:7}[Editor: after ``real'' insert ``or complex''.]
\sep\mgpar{352:15}[Editor: after ``real'' insert ``or complex''.]
\sep\mgpar{355:16}[Editor: after ``real'' insert ``or complex''.]
\sep\mgpar{355:18-19}[Editor: ``, with X \dots\ radians'' $\Rightarrow$
``. If X is of type real, it is regarded as a value in radians. If X is
of type complex, its real part is regarded as a value in radians''.]
\sep\mgpar{355:24}[Editor: after ``real'' insert ``or complex''.]
\section{History}
\label{lastpage}
\end{document}