--- /dev/null
+/
+/
+/
+/ 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
+\f