.TITLE .DPHYP / / DOUBLE PRECISION HYPERBOLIC FUNCTIONS / .GLOBL DSINH,DCOSH,DTANH,.DSINH,.DCOSH .GLOBL .DBLE,.DEXP,.DPRST,.DPRLD,.LODBD,.DPRML,.DPRDV,.DPADD .GLOBL .LDPT5,.ADDR1,.EXPB,.EXPA,.CMPLA,.LOAD1,.MODEA,.SIGNA .GLOBL .GRAB / DSINH XX JMS* .GRAB JMS .DSINH JMP* DSINH / DCOSH XX JMS* .GRAB JMS .DCOSH JMP* DCOSH / .DSINH XX JMS* .DBLE /SET MODE LAC (400000 DAC SIGN /SET SIGN TO MINUS HYPTIE LAC* .MODEA JMS* .DEXP /E**X LAC .ADDR1 JMS* .DPRST JMS* .LODBD /ACC A TO ACC B JMS* .DPRML /E**2*X LAC SIGN JMS* .LDPT5 ISZ* .EXPB /+ OR - 1.0 JMS* .DPADD LAC .ADDR1 JMS* .DPRLD ISZ* .EXPB /2*E**X JMS* .DPRDV JMP* .DSINH / .DCOSH XX JMS* .DBLE /SET MODE DZM SIGN /SET SIGN TO POSITIVE LAC .DCOSH DAC .DSINH /SET UP RETURN JMP HYPTIE / DTANH XX JMS* .GRAB JMS* .DBLE /SET MODE LAW -6 TAD* .EXPA SMA JMP TANH1 /ANSWER IS 1.0D0 ISZ* .EXPA /MULTIPLY X BY 2 SKP JMP .-2 /-0 TO + 0 TRY AGAIN LAC (300000 /MODE INTO AC JMS* .DEXP /CALCULATE E**2*X CLA JMS* .LDPT5 ISZ* .EXPB /LOAD 1.0 JMS* .DPADD JMS* .LODBD /ACC A TO ACC B JMS* .LOAD1 ISZ* .EXPA /ACC A =2.0D0 JMS* .DPRDV CLA JMS* .LDPT5 ISZ* .EXPB /ACC B=1.0D0 JMS* .CMPLA JMS* .DPADD JMP* DTANH / TANH1 LAC* .SIGNA DAC SIGN JMS* .LOAD1 LAC SIGN DAC* .SIGNA JMP* DTANH / SIGN / .END