/
/
/
/	E  X  P  I  D  2
/	-  -  -  -  -  -
/
/SUBROUTINE	EXPID2(B,E)
/WHERE B IS INTEGER AND E IS DOUBLE
/
/ VERSION 5A 4-26-77 MH
/
	SECT	EXPID2
	JA	#EXID2
	EXTERN	#ARGER
EXP3ER,	TRAP4	#ARGER
	TEXT	+EXPID2+
EXP3XR,	SETX	XREXP3
	SETB	BPEXP3
BPEXP3,	FNOP
	0
	0
XREXP3,	F 0.0
EXP31,	F 0.0
	F 0.0
EXP32,	F 0.0
FP1XP3,	F 1.
	F 0.0
	ORG	10*3+BPEXP3
	FNOP
	JA	EXP3XR
	0
XP3RTN,	JA	.
	BASE		0
#EXID2,	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
	JLT	EXP3ER
	FSTA	EXP31	/SAVE BASE
	FCLA
	FSTA	EXP31+3
	STARTE
	LDX	73,1
	EXTERN	DLOG
	JSR	DLOG	/CALL LOG
	JA	.+4	/TAKE LOG (B)
	JA	EXP31
	FSTA	EXP31
	FLDA%	EXP32		/GET EXPONENT
	JEQ	EXP3ON		/X^0=1
	FMULM	EXP31
	EXTERN	DEXP
	JSR	DEXP	/CALL EXP.
	JA	XP3RTN
	JA	EXP31
EXP3ON,	STARTE
	FLDA	FP1XP3
	JA	XP3RTN
