	SECT	#EXPII
/	B**E
/	WHERE E IS INTEGER
/	AND B IS REAL OR INTEGER
/
/ VERSION 5A 4/26/77 MH
/
	BASE	0
	JA	.
	FSTA	SIGN		/SAVE SIGN OF EXPONENT
	JGE	POSINT		/ITS POSITIVE
	FNEG
POSINT,	FSTA	3		/PUT IT INTO 3
	XTA	1		/SAVE XR 1
	FSTA	XR1
	LDX	-27,1		/BIT COUNT
	FLDA	ONE		/START WITH ONE
	FSTA	PROD
	FLDA	3		/GET EXPONENT
LOOP,	JEQ	YES		/DONE IF ITS ZERO
	FDIV	TWO		/DIVIDE BY TWO
	ALN	0		/INTEGERIZE
	FNORM
	FSTA	TEMP		/SAVE AT
	FMUL	TWO		/IS EXPONENT ODD ?
	FSUB	3
	JLT	ODD		/YES, JUMP
	FLDA	0		/SQUARE BASE
SQUARE,	FMULM	0
	FLDA	TEMP		/EXPONENT OVER 2
	FSTA	3
	JXN	LOOP,1+		/LOOP IF MORE BITS
YES,	FLDA	XR1		/DONE, RESTORE XR 1
	ATX	1
	FLDA	SIGN		/CHECK SIGN OF EXPONENT
	JLT	INVERT		/IT WS NEGATIVE, INVERT RESULT
	FLDA	PROD		/RETURN ANSWER
	JA	#EXPII
INVERT,	FLDA	ONE		/RETURN 1/PROD
	FDIV	PROD
	JA	#EXPII
ODD,	FLDA	0		/MULT PROD BY BASE
	FMULM	PROD
	JA	SQUARE		/GO SQUARE THE BASE
ONE,	F	1.0
TWO,	F	2.0
PROD,	F	0.0
SIGN,	F	0.0
TEMP,	F	0.0
XR1,	F	0.0
	END
