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

/R=EXP3(B,E) INTERNAL FUNCTION CALLED BY EXPIR FOR R=B**E
/
/
/ VERSION 40A 27-MAY-80 WVDM
/
/
	SECT	EXP3
	JA	#EXP3
	EXTERN	#ARGER
EXP3ER,	TRAP4	#ARGER
	TEXT	+EXP3  +
EXP3XR,	SETX	XREXP3
	SETB	BPEXP3
BPEXP3,	FNOP
	0
	0
XREXP3,	F 0.0
EXP31,	F 0.0
EXP32,	F 0.0
FP1XP3,	F 1.
	ORG	10*3+BPEXP3
	FNOP
	JA	EXP3XR
	0
XP3RTN,	JA	.
/
	BASE	0
#EXP3,	STARTD
	FLDA	10*3
	FSTA	XP3RTN
	FLDA	0
	SETX	XREXP3
	SETB	BPEXP3
	BASE	BPEXP3
	LDX	1,1
	FSTA	BPEXP3
	FLDA%	BPEXP3,1	/ADDR OF B
	FSTA	EXP31
	FLDA%	BPEXP3,1+	/ADDR OF E
	FSTA	EXP32
	STARTF
	FLDA%	EXP31		/GET B
	JEQ	XP3RTN		/0 ^ X = 0
	FSTA	EXP31		/SAVE BASE
	FLDA%	EXP32		/GET E
	JEQ	EXP3ON		/X ^ 0 = 1
	FSTA	EXP32		/SAVE EXPONENT
	FLDA	EXP31
	JLT	EXP3ER		/ALL IS NOT WELL
	EXTERN	ALOG
	JSR	ALOG		/CALL LOG
	JA	.+4		/TAKE LOG (B)
	JA	EXP31
	FMUL	EXP32		/MULT BY EXPONENT-E
	FSTA	EXP31
	EXTERN	EXP
	JSR	EXP		/CALL EXP.
	JA	.+4
	JA	EXP31
	JA	XP3RTN
/
EXP3ON,	FLDA	FP1XP3		/X^0 = 1
	JA	XP3RTN