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