code 35113;
real procedure TANH(X); value X; real X;
begin real AX; AX:= ABS(X);
if AX < 0.005 then
begin real Y; Y:= X*X; TANH:= X * ( 1 - Y *
(.33333333333333 - Y *
(.13333333333333 - Y *
.05396825396825 )))
end else if AX < 0.3 then
begin real SH;
SH:= SINH(X);
TANH:= SH/SQRT(1+SH*SH)
end else
if AX > 17.5 then TANH:= SIGN(X) else
begin AX:= EXP(-2*AX); TANH:= SIGN(X)*(1-AX)/(1+AX) end
end
eop