NUMAL Section 6.4.3
BEGIN SECTION : 6.4.3 (December, 1978)
AUTHOR : N.M. TEMME.
CONTRIBUTOR : R. MONTIJN.
INSTITUTE : MATHEMATICAL CENTRE.
RECEIVED : 780801.
BRIEF DESCRIPTION :
THIS SECTION CONTAINS THE PROCEDURE LOG ONE PLUS X FOR
THE COMPUTATION OF LN(1+X) FOR X > -1.
KEYWORDS : LOGARITHMIC FUNCTION.
CALLING SEQUENCE :
THE HEADING OF THE PROCEDURE READS :
"REAL" "PROCEDURE" LOG ONE PLUS X(X); "VALUE" X; "REAL" X;
"CODE" 35130;
LOG ONE PLUS X : DELIVERS THE VALUE OF LN(1+X);
THE MEANING OF THE FORMAL PARAMETER IS :
X: <ARITHMETIC EXPRESSION>;
ENTRY : THE ARGUMENT OF LN(1+X), X > -1.
PROCEDURES USED : NONE.
RUNNING TIME : THE ALGORITHM NEEDS 9 MULTIPLICATIONS.
METHOD AND PERFORMANCE :
FOR X < -0.2928 OR X > 0.4142 THE PROCEDURE USES
THE STANDARD FUNCTION LN, FOR -0.2928 <= X <= 0.4142 A
POLYNOMIAL APPROXIMATION IS USED.
WE USE AN APPROXIMATION BASED ON THE BEST APPROXIMATON FOR
THE INTERVAL 1/SQRT(2)-1 <= X <= SQRT(2)-1, OF WHICH THE
COEFFICIENTS ARE GIVEN IN HART (1968); CF. P. 111, INDEX 2665.
THE PROCEDURE LOG ONE PLUS X COMPUTES LN(1+X) WITH RELATIVE
ACCURACY COMPARABLE WITH THE MACHINE ACCURACY.
AS IS WELL KNOWN, FOR SMALL ABS(X) RELATIVE ACCURACY IS LOST
WHEN COMPUTING LN(1+X) BY USING THE STANDARD FUNCTION LN.
THE PROCEDURE IS USED IN THE PROCEDURES ARCSINH AND ARCTANH,
SECTION 6.4.2.
REFERENCES : HART, J.F. CS. (1968), COMPUTER APPROXIMATIONS,
WILEY, NEW YORK.
EXAMPLE OF USE :
WE COMPUTE LN(EXP(X)) FOR SMALL POSITIVE X. IN ORDER TO
PRESERVE RELATIVE ACCURACY WE WRITE
LN ( EXP(X) ) = LN ( 1+ EXP(X)-1 )
= LN ( 1+ 2* EXP(X/2)* SINH(X/2) ).
THE FOLOWING PROGRAM
"BEGIN" "REAL" X,Y;
"FOR" X:= "-1, "-10, "-50, "-100, "-250 "DO"
"BEGIN" Y:= LOG ONE PLUS X( 2*EXP(X/2)*SINH(X/2) );
OUTPUT(61,"("N,/")",Y)
"END"
"END"
PRINTS THE FOLOWING RESULTS :
+1.0000000000000"-001
+1.0000000000000"-010
+1.0000000000000"-050
+1.0000000000000"-100
+1.0000000000000"-250
SOURCE TEXT :
"CODE" 35130;