File: COSH.RA of Tape: Sources/Fortran/os8-f4-3
(Source file text) 

/R=COSH(R) SINGLE PREC. HYPERBOLIC COSINE
/
/
/ VERSION 40A 26-MAY-80 WVDM
/
/
	SECT	COSH
	JA	#COSH
	EXTERN	#ARGER
COSHE,	TRAP4	#ARGER
	TEXT	+COSH  +
COSHXR,	SETX	XRCOSH
	SETB	BPCOSH
BPCOSH,	FNOP
	0
	0
XRCOSH,	F 0.0
COSH7,	F 0.0
COSH8,	F 0.0
F1COSH,	F 1.
F2COSH,	F 2.
COSHLG,	F 0.6931472		/LN(2)
COSH1,	F 87.337		/LIMIT FACTOR. LN(2^126)
	ORG	10*3+BPCOSH
	FNOP
	JA	COSHXR
	0
CSHRTN,	JA	.
/
	BASE	0
#COSH,	STARTD
	FLDA	10*3
	FSTA	CSHRTN
	FLDA	0
	SETX	XRCOSH
	SETB	BPCOSH
	BASE	BPCOSH
	LDX	1,1
	FSTA	BPCOSH
	FLDA%	BPCOSH,1	/ADDR OF X
	FSTA	BPCOSH
	STARTF
	FLDA%	BPCOSH		/GET X
	FSTA	COSH8		/SAVE ARGUMENT
	JGE	.+3		/ABS(X)
	FNEG
	FSTA	COSH7
	FSUB	COSH1		/TEST FOR LIMITS.
	JGE	COSHBG
	EXTERN	EXP
	JSR	EXP		/EXP(X)
	JA	.+4
	JA	COSH8
	FSTA	COSH7
	FLDA	F1COSH		/1.
	FDIV	COSH7		/ 1./EXP(X)
	FADD	COSH7		/ EXP(X)+1./EXP(X)
	FDIV	F2COSH		/ (EXP(X)+1./EXP(X))/2.
	JA	CSHRTN		/AND THAT IS THE DEFINITION OF COSH.
/
COSHBG,	FLDA	COSH7		/GET BACK ARGUMENT (ABS)
	FSUB	COSHLG		/READ IN SUBTRACTION FACTOR.
	FSTA	COSH8		/ EXP(ABS(X)-LN(2))
	EXTERN	EXP
	JSR	EXP
	JA	.+4
	JA	COSH8
	JA	CSHRTN		/ A VERY GOOD APPROXIMATION.