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