.TITLE DEXP(X)
	.GLOBL DEXP,EXP,.DA,.RDA,.DC,.ER,.DF
	.GLOBL .AA,.AB,.T1,.XA,.AS,ONE,TWO
	.GLOBL .AV,.AW,.AI,.AR,.SET,.AG
.XX=.XA
DEXP	0
	LAC	.-1
	JMS*	.SET
EXP	0
	JMS*	.DA
	JMP	.+2
ARG	0
	JMS*	.AG	/.AO IF DOUBLE
		ARG+400000
	JMS	.DF
	JMP*	EXP
.DF	0
	JMS*	.RDA	/REDUCE ARG
		HILN2
	JMP	TOOBIG
	DAC	ARG	/I RETURNED
	JMS*	.DC
		ETERM
	JMS*	.AS	/*X**2
		.T1+400000
	JMS*	.AR	/-X
		.XX+400000
	JMS*	.AI	/+2.0
		TWO
	JMS*	.AV	/RDIV X
		.XX+400000
	ISZ*	.AA	/*2
	JMS*	.AI	/+1.0
		ONE
	LAC*	.AA	/INCR ANS
	TAD	ARG	/BY 2**I
	DAC*	.AA
	JMP*	.DF	/EXIT
ERR	JMS*	.ER
	400016		/EXP OV
	JMP	.	/IDLE
TOOBIG	LAC*	.AB
	SMA!CLA		/IS I +?
	JMP	ERR	/YES, OV
	JMS*	.AW	/FLOAT 0
	JMP*	.DF
TWO	2; 200000
ONE	1; 200000
HILN2	0; 261344; 137676
LOLN2	-23; 277575; 071736
ETERM	-2
/ C3=.6565539368D-4
	-15; 211644; 354743
/ C2=-.2777733222D-2
	-10; 666025; 511206
/ C1=.16666666541D0
	-2; 252525; 252351
	.END