code 35130;
real procedure LOG ONE PLUS X(X); value X; real X;
comment COMPUTES LN(1+X) FOR X > -1;
if X = 0 then LOG ONE PLUS X:= 0 else
if X < -0.2928 or X > 0.4142 then LOG ONE PLUS X:= LN(1+X) else
begin real Y,Z;
Z:= X/(X+2); Y:= Z*Z;
LOG ONE PLUS X:= Z*(2+ Y*
( .66666 66666 63366 + Y*
( .40000 00012 06045 + Y*
( .28571 40915 90488 + Y*
( .22223 82333 2791 + Y*
( .18111 36267 967 + Y*
.16948 21248 8))))))
end LOG ONE PLUS X;
eop