code 35111;
real procedure SINH(X); value X; real X;
begin real AX,Y;
AX:= ABS(X);
if AX < 0.3 then
begin Y:= if AX < 0.1 then X*X else X*X/9;
X:= ((( 0.0001984540 * Y +
0.0083333331783 )* Y +
0.16666666666675)* Y +
1.0 )* X ;
SINH:= if AX < 0.1 then X else
X * ( 1.0 + 0.14814814814815 * X * X )
end else if AX < 17.5 then
begin AX:= EXP( AX ); SINH:= SIGN(X) * .5 * ( AX -1/AX ) end
else if AX > 742.36063037970 then
begin
SINH:= SIGN(X)*GIANT
end else
SINH:= SIGN(X)*EXP(AX- .69314 71805 59945)
end SINH;
eop