	.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
