| 1 | / |
| 2 | / |
| 3 | / E X P |
| 4 | / - - - |
| 5 | / |
| 6 | /SUBROUTINE EXP(X) |
| 7 | / |
| 8 | / VERSION 5A 4-27-77 PT |
| 9 | / |
| 10 | SECT EXP |
| 11 | JA #EXP |
| 12 | 0 |
| 13 | EXPFUD, 0 |
| 14 | 0 |
| 15 | 0 |
| 16 | / |
| 17 | EXTERN #ARGER |
| 18 | EXPER, TRAP4 #ARGER |
| 19 | TEXT +EXP + |
| 20 | EXPXR, SETX XREXP |
| 21 | SETB BPEXP |
| 22 | BPEXP, F 0.0 |
| 23 | XREXP, F 0.0 |
| 24 | EXP1, F 0.0 |
| 25 | EXP2, F 0.0 |
| 26 | EXP33, F 0.0 |
| 27 | EXP4, F 0.0 |
| 28 | F1EXP, F 1. |
| 29 | F2EXP, F 2. |
| 30 | ORG 10*3+BPEXP |
| 31 | FNOP |
| 32 | JA EXPXR |
| 33 | 0 |
| 34 | EXPRTN, JA . |
| 35 | / |
| 36 | EXPAF, 4 |
| 37 | 2372 |
| 38 | 1402 |
| 39 | / |
| 40 | EXPBF, 7774 |
| 41 | 2157 |
| 42 | 5157 |
| 43 | / |
| 44 | EXPCF, 12 |
| 45 | 5454 |
| 46 | 343 |
| 47 | / |
| 48 | EXPDF, 7 |
| 49 | 2566 |
| 50 | 5341 |
| 51 | / |
| 52 | EXP2E, 1 |
| 53 | 2705 |
| 54 | 2435 |
| 55 | BASE 0 |
| 56 | #EXP, STARTD |
| 57 | FLDA 10*3 |
| 58 | FSTA EXPRTN |
| 59 | FLDA 0 |
| 60 | SETX XREXP |
| 61 | SETB BPEXP |
| 62 | BASE BPEXP |
| 63 | LDX 1,1 |
| 64 | FSTA BPEXP |
| 65 | FLDA% BPEXP,1 /ADDR OF X |
| 66 | FSTA BPEXP |
| 67 | STARTF |
| 68 | FLDA% BPEXP /GET X |
| 69 | LDX -1,0 /PRESERVE SIGN. |
| 70 | JGE .+5 |
| 71 | FNEG /IF NEGATIVE NEGATE IT. |
| 72 | LDX 0,0 /AND REMEMBER IT,BUBBY. |
| 73 | FMUL EXP2E /MULTIPLY TO BINARY TYPE. |
| 74 | FSTA EXP1 /AND SAVE IT AWAY. |
| 75 | JAL EXPER /CAN T FIX IT, ERROR. |
| 76 | ALN 0 /FIX IT UP. |
| 77 | FSTA EXP33 /AND SAVE IT. |
| 78 | FNORM /NOW NORMALIZE FOR OUR COMPUTATIONS. |
| 79 | FNEG /NEGATE THE FAC |
| 80 | FADD EXP1 /ADD IN BEFORE NORMAL. |
| 81 | FSTA EXP1 /AND STORE BACK. NO FADDM |
| 82 | FMUL EXP1 /NOW SQUARE IT. |
| 83 | FSTA EXP2 /AND SAVE IT. |
| 84 | FADD EXPDF /START THE ITERATION. |
| 85 | FSTA EXP4 /SAVE IN ANOTHER TEMP. |
| 86 | FLDA EXPCF /NEXT CONSTANT. |
| 87 | FDIV EXP4 /AND DIVIDE INTO IT. |
| 88 | FSUB EXP1 /SUBTRACT BACK NOW. |
| 89 | FADD EXPAF /NEXT CONSTANT. |
| 90 | FSTA EXP4 /AND SAVE AGAIN. KEEP THIS UP. |
| 91 | FLDA EXPBF |
| 92 | FMUL EXP2 |
| 93 | FADDM EXP4 |
| 94 | FLDA EXP1 |
| 95 | FDIV EXP4 |
| 96 | FMUL F2EXP |
| 97 | FADD F1EXP |
| 98 | FSTA EXPFUD /NOW FIDDLE THE EXPONENT. |
| 99 | STARTD |
| 100 | FLDA EXP33 |
| 101 | FADDM EXPFUD-1 /EXPONENT UPDATE. |
| 102 | STARTF |
| 103 | JXN EXPP,0 /NO INVERSION NECESSARY. RETURN. |
| 104 | FLDA F1EXP /INVERT IT |
| 105 | FDIV EXPFUD |
| 106 | JA EXPRTN |
| 107 | EXPP, FLDA EXPFUD /AN EXIT. |
| 108 | JA EXPRTN |
| 109 | \f |