Source Code

These source-code files are part of a reconstructed copy of Corona 261, the final, flown release of the Block I Command Module (CM) Apollo Guidance Computer (AGC) software for the AS-202 mission.

They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on the mission, part numbers 1003733-171, 1003733-241, 1003733-191, 1003733-211, 1003733-221, and 1003733-241. The source code for the Apollo 4 and 6 software, Solarium 55, was used as a starting point, since it was directly derived from Corona and (at least in theory) only minimally modified.

Since only binary dumps (rather than listings) of Corona are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

002670,000002:                                                                                                  ## Copyright:   Public domain.
002671,000003:                                                                                                  ## Filename:    BANK_03_INTERPRETER_SECTION.agc
002672,000004:                                                                                                  ## Purpose:     A section of Corona revision 261.
002673,000005:                                                                                                  ##              It is part of the source code for the Apollo Guidance Computer
002674,000006:                                                                                                  ##              (AGC) for AS-202. No original listings of this software are
002675,000007:                                                                                                  ##              available; instead, this file was created via disassembly of
002676,000008:                                                                                                  ##              the core rope modules actually flown on the mission.
002677,000009:                                                                                                  ## Assembler:   yaYUL
002678,000010:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
002679,000011:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
002680,000012:                                                                                                  ## Mod history: 2023-05-27 MAS  Created from Solarium 55.
002681,000013: 
002682,000014: 03,6000                                           SETLOC   6000                                  
002683,000015: 
002684,000016: 03,6000           06021        BMN1               TC       BRANCH                                #  BRANCH MINUS
002685,000017: 03,6001           04703                           TC       RE-ENTER                              
002686,000018: 03,6002           04703                           TC       RE-ENTER                              
002687,000019: 03,6003           04567                           TC       DOBR                                  
002688,000020: 
002689,000021: 03,6004           06021        BPL1               TC       BRANCH                                #  BRANCH PLUS
002690,000022: 03,6005           04567                           TC       DOBR                                  
002691,000023: 03,6006           04567                           TC       DOBR                                  
002692,000024: 03,6007           04703                           TC       RE-ENTER                              
002693,000025: 
002694,000026: 03,6010           06021        BZE1               TC       BRANCH                                #  BRANCH ZERO
002695,000027: 03,6011           04703                           TC       RE-ENTER                              
002696,000028: 03,6012           04567                           TC       DOBR                                  
002697,000029: 03,6013           04703                           TC       RE-ENTER                              
002698,000030: 
002699,000031: 03,6014           10115        BHIZ1              CCS      MPAC                                  #  BRANCH ON HIGH ORDER ZERO
002700,000032: 03,6015           04703                           TC       RE-ENTER                              #  PNZ
002701,000033: 03,6016           04567                           TC       DOBR                                  
002702,000034: 03,6017           04703                           TC       RE-ENTER                              
002703,000035: 03,6020           04567                           TC       DOBR                                  
002704,000036: 
002705,000037: 03,6021           30001        BRANCH             XCH      Q                                     
002706,000038: 03,6022           50111                           TS       BRANCHQ                               
002707,000039: 03,6023           10115                           CCS      MPAC                                  
002708,000040: 03,6024           00111                           TC       BRANCHQ                               
002709,000041: 03,6025           06027                           TC       +2                                    
002710,000042: 03,6026           06036                           TC       MINUS                                 
002711,000043: 
002712,000044: 03,6027           10116                           CCS      MPAC       +1                         
002713,000045: 03,6030           00111                           TC       BRANCHQ                               
002714,000046: 03,6031           06033                           TC       +2                                    
002715,000047: 03,6032           06036                           TC       MINUS                                 
002716,000048: 
002717,000049: 03,6033           10117                           CCS      MPAC       +2                         
002718,000050: 03,6034           00111                           TC       BRANCHQ                               
002719,000051: 03,6035           06037                           TC       +2                                    
002720,000052: 03,6036           34516        MINUS              CAF      ONE                                   
002721,000053: 03,6037           64516                           AD       ONE                                   
002722,000054: 03,6040           60111                           AD       BRANCHQ                               
002723,000055: 03,6041           00000                           XAQ                                            
002724,000056: 
002725,000057: 
002726,000058: 03,6042           40067        TRUE2              CS       FIXLOC                                #  RESTORES INTEGER ADDRESSES
002727,000059: 03,6043           60062                           AD       ADDRWD                                
002728,000060: 03,6044           50062                           TS       ADDRWD                                
002729,000061: 03,6045           10000                           CCS      A                                     #  WE MUST ELIMINATE THE MINUS ZERO CASE
002730,000062: 03,6046           00001                           TC       Q                                     #  OK HERE
002731,000063: 03,6047           03070                           TC       CCSHOLE                               
002732,000064: 03,6050           06052                           TC       +2                                    #  IF ADDRESS WAS NEGATIVE
002733,000065: 03,6051           04024                           TC       DANZIG                                #  FAST EXIT FOR ZERO SHIFT COUNTS
002734,000066: 03,6052           20065                           INDEX    MODE                                  #  RIGHT SHIFT INSTEAD OF A LEFT ONE
002735,000067: 03,6053           06056                           TC       +3                                    #  CCS  FOLLOWED BY ADD LEFT THE COUNT POS.
002736,000068: 03,6054           05100                           TC       SHIFTR1    +3                         #  SO WE NEED ONLY CALL THE APPROPRIATE
002737,000069: 03,6055           05100                           TC       SHIFTR1    +3                         #  SHIFT RIGHT INSTRUCTION.
002738,000070: 03,6056           40062                           CS       ADDRWD                                #  PUT POSITIVE COUNT IN ADDRWD.
002739,000071: 03,6057           50062                           TS       ADDRWD                                
002740,000072: 03,6060           64335                           AD       NEG1                                  #  DECREMENT LIKE CCS BEFORE RETURNING.
002741,000073: 03,6061           05637                           TC       VSRT1      +4                         
002742,000074: 
002743,000075: 03,6062           04722        AST                TC       TAG                                   
002744,000076: 03,6063           40076                           CS       POLISH                                
002745,000077: 03,6064           20075        SSTORE             INDEX    TAG1                                  
002746,000078: 03,6065           30050                           XCH      40D                                   #  STEP REGISTER
002747,000079: 03,6066           04703                           TC       RE-ENTER                              
002748,000080: 
002749,000081: 03,6067           04722        AXC                TC       TAG                                   #  ADDRESS TO INDEX COMPLEMENTED
002750,000082: 03,6070           30076                           XCH      POLISH                                
002751,000083: 03,6071           06074                           TC       XSTORE                                
002752,000084: 
002753,000085: 03,6072           04722        AXT                TC       TAG                                   
002754,000086: 03,6073           40076                           CS       POLISH                                
002755,000087: 03,6074           20075        XSTORE             INDEX    TAG1                                  
002756,000088: 03,6075           30046                           XCH      38D                                   #  MAY HAVE OVERFLOWED
002757,000089: 03,6076           04703                           TC       RE-ENTER                              
002758,000090: 
002759,000091: 03,6077           04722        LXA                TC       TAG                                   
002760,000092: 03,6100           20062                           INDEX    ADDRWD                                #  MUST BE ERASABLE - NOT NEEDED OTHERWISE
002761,000093: 03,6101           40000                           CS       0                                     
002762,000094: 03,6102           40000                 +3        CS       A                                     
002763,000095: 03,6103           06074                           TC       XSTORE                                
002764,000096: 
002765,000097: 03,6104           04722        LXC                TC       TAG                                   #  LOAD INDEX FROM ADDRESS COMPLEMENTED
002766,000098: 03,6105           20062                           INDEX    ADDRWD                                
002767,000099: 03,6106           40000                           CS       0                                     
002768,000100: 03,6107           06074                           TC       XSTORE                                
002769,000101: 
002770,000102: 03,6110           04722        SXA                TC       TAG                                   
002771,000103: 03,6111           20075                           INDEX    TAG1                                  
002772,000104: 03,6112           40046                           CS       38D                                   #  GET INDEX
002773,000105: 03,6113           40000                           CS       A                                     
002774,000106: 03,6114           04701                           TC       STOR1                                 
002775,000107: 
002776,000108: 
002777,000109: 03,6115           04722        TIX                TC       TAG                                   
002778,000110: 03,6116           20075                           INDEX    TAG1                                  #  GET APPROPRIATE STEP REGISTER
002779,000111: 03,6117           40050                           CS       40D                                   #  STEP REGISTER
002780,000112: 03,6120           20075                           INDEX    TAG1                                  
002781,000113: 03,6121           60046                           AD       38D                                   
002782,000114: 03,6122           50102                           TS       TEM2                                  #  TO TEMPORARY
002783,000115: 03,6123           10000                           CCS      A                                     
002784,000116: 03,6124           30102                           XCH      TEM2                                  #  DECREMENT INDEX AND BRANCH
002785,000117: 03,6125           06130                           TC       TIXBR                                 
002786,000118: 03,6126           04703                           TC       RE-ENTER                              #  INDEX LEFT ALONE AND NO BRANCH
002787,000119: 03,6127           04703        LNOBR              TC       RE-ENTER                              
002788,000120: 
002789,000121: 03,6130           20075        TIXBR              INDEX    TAG1                                  
002790,000122: 03,6131           50046                           TS       38D                                   
002791,000123: 03,6132           40076                           CS       POLISH                                
002792,000124: 03,6133           04602                           TC       DOBR2                                 
002793,000125: 
002794,000126: 03,6134           04722        INCR               TC       TAG                                   
002795,000127: 03,6135           40076                           CS       POLISH                                
002796,000128: 03,6136           20075                           INDEX    TAG1                                  
002797,000129: 03,6137           60046                           AD       38D                                   
002798,000130: 03,6140           06074                           TC       XSTORE                                
002799,000131: 
002800,000132: 03,6141           04722        XCHX               TC       TAG                                   
002801,000133: 03,6142           20062                           INDEX    ADDRWD                                
002802,000134: 03,6143           30000                           XCH      0                                     
002803,000135: 03,6144           20075                           INDEX    TAG1                                  
002804,000136: 03,6145           30046                           XCH      38D                                   
002805,000137: 03,6146           04701                           TC       STOR1                                 
002806,000138: 
002807,000139: 03,6147           04722        XSU                TC       TAG                                   #  INDEX REGISTER SUBTRACT FROM ERASABLE
002808,000140: 03,6150           20062                           INDEX    ADDRWD                                
002809,000141: 03,6151           40000                           CS       0                                     
002810,000142: 03,6152           06136                           TC       INCR       +2                         
002811,000143: 
002812,000144: 03,6153           04722        XAD                TC       TAG                                   #  INDEX REGISTER ADD FROM ERASABLE
002813,000145: 03,6154           20062                           INDEX    ADDRWD                                
002814,000146: 03,6155           40000                           CS       0                                     
002815,000147: 03,6156           40000                           COM                                            
002816,000148: 03,6157           06136                           TC       INCR       +2                         
002817,000149: 
002818,000150: 
002819,000151: 03,6160           35501        VDEF               CAF      ZERO                                  
002820,000152: 03,6161           60070                           AD       VACLOC                                #  USES MPAC AS V0, PUSHES UP FOR V1, AND
002821,000153: 03,6162           50102                           TS       TEM2                                  #  PUSHES UP AGAIN FOR V2. THE RESULTING
002822,000154: 03,6163           34772                           CAF      DAD2       +4                         #  VECTOR IS LEFT IN VAC
002823,000155: 03,6164           05041                           TC       8TO2                                  
002824,000156: 03,6165           05412                           TC       INCRT2                                
002825,000157: 03,6166           04326                           TC       PUSHUP1                               
002826,000158: 03,6167           05041                           TC       8TO2                                  
002827,000159: 03,6170           05412                           TC       INCRT2                                
002828,000160: 03,6171           04326                           TC       PUSHUP1                               
002829,000161: 03,6172           05041                           TC       8TO2                                  
002830,000162: 03,6173           05410                           TC       ZEROEXIT                              #  T0 DECLAIN MO45 IS VECTOR
002831,000163: 
002832,000164: 03,6174           10020        ITA1               CCS      CYR                                   
002833,000165: 03,6175           06203                           TC       +6                                    #  FOR ITA
002834,000166: 03,6176           03070                           TC       CCSHOLE                               
002835,000167: 03,6177           20062                           INDEX    ADDRWD                                #  PICK UP ADDRESS
002836,000168: 03,6200           40000                           CS       0                                     
002837,000169: 03,6201           40000                           COM                                            
002838,000170: 03,6202           04602                           TC       DOBR2                                 #  AND DO THE BRANCH
002839,000171: 
002840,000172: 03,6203           20067                 +6        INDEX    FIXLOC                                
002841,000173: 03,6204           40052                           CS       QPRET                                 
002842,000174: 03,6205           06113                           TC       SXA        +3                         #  COMPLEMENT AND DEPOSIT
002843,000175: 
002844,000176: 03,6206           10020        EXIT               CCS      CYR                                   #  RETURN TO BASIC
002845,000177: 03,6207           04571                           TC       EXIT2                                 #  EXIT.
002846,000178: 
002847,000179: 03,6210           03070                           TC       CCSHOLE                               
002848,000180: 
002849,000181: 03,6211           40076                           CS       POLISH                                #  HERE TO RETURN TO BASIC AT X
002850,000182: 03,6212           05662                           TC       SWCALL                                
002851,000183: 
002852,000184: 03,6213           20062        SIGN               INDEX    ADDRWD                                #  AFFIX SIGN OF X TO MPAC OR VAC
002853,000185: 03,6214           10000                           CCS      0                                     #  MUST BE NON-ZERO
002854,000186: 03,6215           04024                           TC       DANZIG                                
002855,000187: 03,6216           06220                           TC       +2                                    #  EXAMINE MINOR PART
002856,000188: 03,6217           06325                           TC       COMP                                  #  COMPLEMENT VECTOR OR SCALAR.
002857,000189: 
002858,000190: 03,6220           20062                           INDEX    ADDRWD                                
002859,000191: 03,6221           10001                           CCS      1                                     
002860,000192: 03,6222           04024                           TC       DANZIG                                
002861,000193: 03,6223           04024                           TC       DANZIG                                #  NO OPERATION IF C(ADDRWD,ADDRWD+1) = 0
002862,000194: 03,6224           06325                           TC       COMP                                  
002863,000195: 03,6225           04024                           TC       DANZIG                                
002864,000196: 
002865,000197: 
002866,000198: 03,6226           40070        VSQ                CS       VACLOC                                #  TAKE SQUARE OF LENGTH OF VECTOR IN VAC.
002867,000199: 03,6227           40000                           COM                                            
002868,000200: 03,6230           50062                           TS       ADDRWD                                
002869,000201: 03,6231           05235                           TC       DOT1       +1                         #  FINISH IN DOT PRODUCT ROUTINE.
002870,000202: 
002871,000203: 03,6232           64516                           AD       ONE                                   #  FROM TRUE2
002872,000204: 
002873,000205: 03,6233           30001        SHIFTR             XCH      Q                                     
002874,000206: 03,6234           50104                           TS       TEM5                                  #  SHIFT TP MPAC RIGHT ACCORDING TO INTEGER
002875,000207: 03,6235           10001                           CCS      Q                                     #  PICK UP COUNT, SUBTRACTING ONE
002876,000208: 03,6236           65363                 +3        AD       NEG13                                 #  RETURNS HERE FROM SR14
002877,000209: 03,6237           10000                           CCS      A                                     
002878,000210: 03,6240           64516                           AD       ONE                                   #  SHIFT COUNT MORE THAN 14 - DECREMENT BY
002879,000211: 03,6241           06251                           TC       SR14                                  #  14 AND EXCHANGE
002880,000212: 03,6242           06244                           TC       +2                                    #  REMAINING SHIFT COUNT BETWEEN 1 AND 13
002881,000213: 03,6243           06251                           TC       SR14                                  #  MULTIPLES OF 14 END UP HERE
002882,000214: 03,6244           40000                           COM                                            
002883,000215: 03,6245           20000                           INDEX    A                                     #  PICK UP PROPER SHIFTING BIT
002884,000216: 03,6246           34515                           CAF      BIT2                                  
002885,000217: 03,6247           05416                           TC       SHORTMP                               #  DO SHIFT BY MULTIPLICATION
002886,000218: 03,6250           00104                           TC       TEM5                                  #  (TEM5 CONTAINS SQRT RETURN IF SQRT CALL)
002887,000219: 
002888,000220: 03,6251           30115        SR14               XCH      MPAC                                  #  SAVE REDUCED COUNT
002889,000221: 03,6252           30116                           XCH      MPAC       +1                         
002890,000222: 03,6253           30117                           XCH      MPAC       +2                         
002891,000223: 03,6254           35501                           CAF      ZERO                                  
002892,000224: 03,6255           30115                           XCH      MPAC                                  #  NOW BRING IT BACK
002893,000225: 03,6256           10000                           CCS      A                                     #  SEE IF REMAINING COUNT IS ZERO
002894,000226: 03,6257           06236                           TC       SHIFTR     +3                         #  NON-ZERO - BACK TO SHIFT LOOP
002895,000227: 03,6260           00104                           TC       TEM5                                  #  FINISHED
002896,000228: 
002897,000229: 
002898,000230: 03,6261           06263        ABVAL1             TC       ABVAL                                 
002899,000231: 03,6262           05237                           TC       DPEXIT                                #  MODE IS NOW DP
002900,000232: 
002901,000233: 03,6263           30001        ABVAL              XCH      Q                                     #  TAKES HALF THE LENGTH OF THE VECTOR IN
002902,000234: 03,6264           50107                           TS       TEM10                                 #  VAC
002903,000235: 03,6265           06275                           TC       VSR1                                  #  SHIFT VECTOR RIGHT ONE
002904,000236: 03,6266           05246                           TC       DOT2                                  #  TAKE THE SQUARE OF ITS LENGTH
002905,000237: 03,6267           45502                           CS       FOUR                                  #  STORE SQUARE OF LENGTH IN REGISTERS 28
002906,000238: 03,6270           60070                           AD       VACLOC                                #  AND 29 OF VAC AREA.
002907,000239: 03,6271           05347                           TC       STORDAC                               
002908,000240: 03,6272           04740                           TC       MPACCOM                               
002909,000241: 03,6273           07322                           TC       SQRT3                                 #  TAKE A TRIPLE-PRECISION SQRT (DP ANSWER)
002910,000242: 03,6274           00107                           TC       TEM10                                 #  AND EXIT
002911,000243: 
002912,000244: 03,6275           30001        VSR1               XCH      Q                                     #  SUBROUTINE WHICH SHIFTS VECTOR IN VAC
002913,000245: 03,6276           50106                           TS       TEM9                                  #  RIGHT ONE PLACE, USED BY ABVAL AND UNIT
002914,000246: 03,6277           35502                           CAF      FOUR                                  
002915,000247: 03,6300           60070                           AD       VACLOC                                #  USED BY ABVAL AND UNIT
002916,000248: 03,6301           07301                           TC       SR1                                   #  VECTOR IS SHIFTED RIGHT SO DOT PRODUCT
002917,000249: 03,6302           30064                           XCH      TEM11                                 #  WONT OVERFLOW.
002918,000250: 03,6303           64340                           AD       MINUS2                                
002919,000251: 03,6304           07301                           TC       SR1                                   
002920,000252: 03,6305           30064                           XCH      TEM11                                 
002921,000253: 03,6306           64340                           AD       MINUS2                                
002922,000254: 03,6307           50062                           TS       ADDRWD                                #  FOR THE DOT ROUTINE.
002923,000255: 03,6310           07301                           TC       SR1                                   #  VECTOR IS NOW SHIFTED RIGHT
002924,000256: 
002925,000257: 03,6311           00106                           TC       TEM9                                  
002926,000258: 
002927,000259: 03,6312           06021        SSM                TC       BRANCH                                #  SET SIGN OF MPAC,MPAC+1 MINUS, USED BY
002928,000260: 03,6313           04740                           TC       MPACCOM                               #  SIGN INSTRUCTION
002929,000261: 03,6314           04024                           TC       DANZIG                                
002930,000262: 03,6315           04024                           TC       DANZIG                                
002931,000263: 
002932,000264: 03,6316           06021        SSP                TC       BRANCH                                
002933,000265: 03,6317           04024                           TC       DANZIG                                
002934,000266: 03,6320           04024                           TC       DANZIG                                
002935,000267: 03,6321           04740                           TC       MPACCOM                               
002936,000268: 03,6322           04024                           TC       DANZIG                                
002937,000269: 
002938,000270: 
002939,000271: 03,6323           34231        SQUARE             CAF      BUGMPAC                               #  SQUARE MPAC AND LEAVE RESULT IN MPAC, +2
002940,000272: 03,6324           05064                           TC       DSQ2                                  #  CONTINUE AS IN DMP.
002941,000273: 
002942,000274: 03,6325           40065        COMP               CS       MODE                                  
002943,000275: 03,6326           60000                           DOUBLE                                         
002944,000276: 03,6327           20000                           INDEX    A                                     
002945,000277: 03,6330           06331                           TC       +1                                    
002946,000278: 03,6331           05202                           TC       VACCOM                                
002947,000279: 03,6332           04024                           TC       DANZIG                                
002948,000280: 03,6333           04740                           TC       MPACCOM                               #  FOR TP
002949,000281: 03,6334           04024                           TC       DANZIG                                
002950,000282: 03,6335           06333                           TC       -2                                    
002951,000283: 
002952,000284: 03,6336           35501        SMOVE              CAF      ZERO                                  
002953,000285: 03,6337           50116                           TS       MPAC       +1                         
002954,000286: 03,6340           04024                           TC       DANZIG                                
002955,000287: 
002956,000288: 03,6341           10020        NEXT               CCS      CYR                                   #  NEXT AND ITCQ OPERATORS
002957,000289: 03,6342           10121                           CCS      ADRLOC                                #  NEXT - KNOCK DOWN ADRLOC BY ONE
002958,000290: 03,6343           06347                           TC       +4                                    #  AND BEGIN NEXT EQUN IMMEDIATELY
002959,000291: 03,6344           20067                           INDEX    FIXLOC                                #  ITCQ - PICK UP QPRET AND BRANCH
002960,000292: 03,6345           30052                           XCH      QPRET                                 
002961,000293: 03,6346           04602                           TC       DOBR2                                 
002962,000294: 
002963,000295: 03,6347           50121                 +4        TS       ADRLOC                                
002964,000296: 03,6350           34516                           CAF      ONE                                   #  TURN ON LOAD INDICATOR
002965,000297: 03,6351           06362                           TC       SWLODIND                              
002966,000298: 
002967,000299: 03,6352           10121        NOLOAD             CCS      ADRLOC                                #  NOLOD AND ROUND OPERATORS. DECREMENT
002968,000300: 03,6353           50121                           TS       ADRLOC                                #  ADRLOC SINCE WE SHOULDNT HAVE TAKEN AN
002969,000301: 03,6354           10020                           CCS      CYR                                   #  ADDRESS. SEE IF NOLOD OR ROUND
002970,000302: 03,6355           35501                           CAF      ZERO                                  #  NOLOD - SET NEWEQIND TO ZERO
002971,000303: 03,6356           06362                           TC       +4                                    
002972,000304: 03,6357           44516                           CS       ONE                                   #  MODE IS NOW DP
002973,000305: 03,6360           50065                           TS       MODE                                  
002974,000306: 03,6361           05072                           TC       MPACRND                               #  GO ROUND MPAC AND RETURN TO DANZIG
002975,000307: 
002976,000308: 03,6362           50066        SWLODIND           TS       NEWEQIND                              
002977,000309: 03,6363           04024                           TC       DANZIG                                
002978,000310: 
002979,000311: 
002980,000312: 03,6364           30117        SL1                XCH      MPAC       +2                         #  ROUTINE WHICH SHIFTS TRIPLE ACCUMULATOR
002981,000313: 03,6365           60000                           DOUBLE                                         #  LEFT ONE PLACE. IT IS USED BY TSLT AND
002982,000314: 03,6366           50117                           TS       MPAC       +2                         #  TSLC
002983,000315: 03,6367           35501                           CAF      ZERO                                  
002984,000316: 03,6370           60116                           AD       MPAC       +1                         
002985,000317: 03,6371           60116                           AD       MPAC       +1                         
002986,000318: 03,6372           50116                           TS       MPAC       +1                         
002987,000319: 03,6373           35501                           CAF      ZERO                                  
002988,000320: 03,6374           60115                           AD       MPAC                                  
002989,000321: 03,6375           60115                           AD       MPAC                                  
002990,000322: 03,6376           50115                           TS       MPAC                                  
002991,000323: 03,6377           00001                           TC       Q                                     
002992,000324: 03,6400           50122                           TS       OVFIND                                #  SET OVFIND IF ENTIRE WORD OVERFLOWS
002993,000325: 03,6401           00001                           TC       Q                                     
002994,000326: 
002995,000327: 03,6402           06042        SHIFTL             TC       TRUE2                                 #  TP LEFT SHIFT - GET INTEGER ADDRESS
002996,000328: 03,6403           06406                           TC       +3                                    
002997,000329: 03,6404           50062        LEFTLOOP           TS       ADDRWD                                
002998,000330: 03,6405           06364                           TC       SL1                                   
002999,000331: 03,6406           10062                 +3        CCS      ADDRWD                                
003000,000332: 03,6407           06404                           TC       LEFTLOOP                              
003001,000333: 03,6410           04024                           TC       DANZIG                                
003002,000334: 
003003,000335: 03,6411           35501        TSLC               CAF      ZERO                                  #  NORMALIZATION - START BY SETTING COUNT
003004,000336: 03,6412           50102                           TS       TEM2                                  #  TO ZERO
003005,000337: 03,6413           06021                           TC       BRANCH                                
003006,000338: 03,6414           06416                           TC       +2                                    
003007,000339: 03,6415           06430                           TC       SLCANS                                
003008,000340: 
003009,000341: 03,6416           40115        RETRN              CS       MPAC                                  #  HERE FOR NON-ZERO
003010,000342: 03,6417           60000                           DOUBLE                                         
003011,000343: 03,6420           50000                           OVSK                                           #  SKIP ON OVERFLOW
003012,000344: 03,6421           06423                           TC       +2                                    #  NO OVERFLOW - SHIFT AGAIN
003013,000345: 03,6422           06430                           TC       SLCANS                                #  DONE - WE OVERFLOWED
003014,000346: 03,6423           30102                           XCH      TEM2                                  
003015,000347: 03,6424           64516                           AD       ONE                                   
003016,000348: 03,6425           50102                           TS       TEM2                                  
003017,000349: 03,6426           06364                           TC       SL1                                   #  DO THE SHIFT
003018,000350: 03,6427           06416                           TC       RETRN                                 #  AND LOOP
003019,000351: 
003020,000352: 03,6430           40102        SLCANS             CS       TEM2                                  #  STORE COMPLEMENT OF COUNT
003021,000353: 03,6431           20062                           INDEX    ADDRWD                                
003022,000354: 03,6432           50000                           TS       0                                     
003023,000355: 03,6433           04024                           TC       DANZIG                                
003024,000356: 
003025,000357: 
003026,000358: 03,6434           40076        SWITCHEM           CS       POLISH                                #  SWITCH AND TEST INSTRUCTIONS.
003027,000359: 03,6435           50062                           TS       ADDRWD                                #  DECOMPOSE ADDRESS INTO SWITCH WORD AND
003028,000360: 03,6436           77210                           MASK     SBITMASK                              #  BIT. MULTIPLES OF 16 ARE EXCLUDED.
003029,000361: 03,6437           30062                           XCH      ADDRWD                                
003030,000362: 03,6440           25777                           EXTEND                                         
003031,000363: 03,6441           44504                           MP       BIT11                                 
003032,000364: 03,6442           50105                           TS       TEM8                                  #  0, 1, OR 2.
003033,000365: 
003034,000366: 03,6443           20062                           INDEX    ADDRWD                                #  PICK UP A 1 IN SPECIFIED SWITCH POS.
003035,000367: 03,6444           34477                           CAF      BIT15      -1                         #  SWITCHES ARE NUMBERED 1 - 15 D.
003036,000368: 03,6445           50103                           TS       TEM4                                  
003037,000369: 03,6446           20017                           INHINT                                         
003038,000370: 03,6447           20105                           INDEX    TEM8                                  
003039,000371: 03,6450           70645                           MASK     STATE                                 #  GET BS WHERE B IS BIT AND S IS *STATE*
003040,000372: 03,6451           50104                           TS       TEM5                                  #   - THE WORD CONTAINING THE 15 SWITCHES
003041,000373: 
003042,000374: 03,6452           10020                           CCS      CYR                                   #  DECIDE WHETHER INST. IS *SWITCH* OR TEST
003043,000375: 03,6453           04364                           TC       INCADR                                #  TO PICK UP NEXT ADDRESS
003044,000376: 03,6454           06457                           TC       +3                                    
003045,000377: 03,6455           40103                           CS       TEM4                                  
003046,000378: 03,6456           06464                           TC       SWITCHIT                              #  SWITCH BIT.
003047,000379: 
003048,000380: 03,6457           20016                           RELINT                                         
003049,000381: 03,6460           10104                           CCS      TEM5                                  #  TEST SWITCH
003050,000382: 03,6461           04703                           TC       RE-ENTER                              #  IT WAS ON - DONT BRANCH
003051,000383: 03,6462           04574                           TC       SWF/F                                 #  OFF - GO TO FIXED-FIXED TO PICK UP ADR.
003052,000384: 03,6463           04703                           TC       RE-ENTER                              #  COMES HERE IF BIT 15 WAS ON
003053,000385: 
003054,000386: 03,6464           20105        SWITCHIT           INDEX    TEM8                                  #  WE DESIRE THE LOGICAL EXCLUSIVE OR OF B
003055,000387: 03,6465           70645                           MASK     STATE                                 
003056,000388: 03,6466           50001                           TS       Q                                     #  SET THIS BIT TO OSO AD IS OR.
003057,000389: 03,6467           20105                           INDEX    TEM8                                  
003058,000390: 03,6470           40645                           CS       STATE                                 
003059,000391: 03,6471           70103                           MASK     TEM4                                  #  COMPLEMENT OF SWITCH BIT.
003060,000392: 03,6472           60001                           AD       Q                                     #  OR
003061,000393: 03,6473           20105                           INDEX    TEM8                                  
003062,000394: 03,6474           50645                           TS       STATE                                 
003063,000395: 03,6475           20016                           RELINT                                         
003064,000396: 03,6476           04703                           TC       RE-ENTER                              #  DONT PUSH-DOWN IF AT END.
003065,000397: 
003066,000398: 
003067,000399: 03,6477           50116        VSLT2              TS       MPAC       +1                         #  SET TO ZERO IN CASE OF RIGHT SHIFT.
003068,000400: 03,6500           06042                           TC       TRUE2                                 #  RETURNS TO CALLER IF COUNT PNZ.
003069,000401: 
003070,000402: 03,6501           06513                           TC       VSLTEST                               
003071,000403: 03,6502           50062        VSLTLOOP           TS       ADDRWD                                
003072,000404: 03,6503           35501                           CAF      ZERO                                  
003073,000405: 03,6504           60070                           AD       VACLOC                                
003074,000406: 03,6505           50102                           TS       TEM2                                  
003075,000407: 03,6506           06516                           TC       VSL1                                  
003076,000408: 03,6507           05412                           TC       INCRT2                                
003077,000409: 03,6510           06516                           TC       VSL1                                  
003078,000410: 03,6511           05412                           TC       INCRT2                                
003079,000411: 03,6512           06516                           TC       VSL1                                  
003080,000412: 03,6513           10062        VSLTEST            CCS      ADDRWD                                
003081,000413: 03,6514           06502                           TC       VSLTLOOP                              
003082,000414: 03,6515           04024                           TC       DANZIG                                
003083,000415: 
003084,000416: 03,6516           20102        VSL1               INDEX    TEM2                                  
003085,000417: 03,6517           30001                           XCH      1                                     
003086,000418: 03,6520           60000                           DOUBLE                                         
003087,000419: 03,6521           20102                           INDEX    TEM2                                  
003088,000420: 03,6522           50001                           TS       1                                     
003089,000421: 03,6523           35501                           CAF      ZERO                                  
003090,000422: 03,6524           20102                           INDEX    TEM2                                  
003091,000423: 03,6525           60000                           AD       0                                     
003092,000424: 03,6526           20102                           INDEX    TEM2                                  
003093,000425: 03,6527           60000                           AD       0                                     
003094,000426: 03,6530           20102                           INDEX    TEM2                                  
003095,000427: 03,6531           50000                           TS       0                                     
003096,000428: 03,6532           00001                           TC       Q                                     
003097,000429: 03,6533           50122                           TS       OVFIND                                
003098,000430: 03,6534           00001                           TC       Q                                     
003099,000431: 
003100,000432: 
003101,000433:                                                                                                  #  DOUBLE-PRECISION SINE-COSINE ROUTINES.
003102,000434: 
003103,000435:                                                                                                  #  THESE PROGRAMS ARE ENTERED AND EXIT IN THE INTERPRETIVE MODE, WITH
003104,000436:                                                                                                  #  THE ARGUMENT IN MPAC AT ENTRY AND THE ANSWER IN MPAC AT EXIT.  THEY
003105,000437:                                                                                                  #  COMPUTE, RESPECTIVELY, (1/2) COS (PI X)  AND  (1/2) SIN (PI X) WHERE
003106,000438:                                                                                                  #  X = C(MPAC) RANGES OVER THE INTERVAL (-1, +1).
003107,000439: 
003108,000440:                                                                                                  #  PROGRAM USES THE SERIES
003109,000441:                                                                                                  #                              3       5       7        9
003110,000442:                                                                                                  #  (1/2) SIN(PI X) = C X + 4C X + 16C X + 64C X + 256C X .
003111,000443:                                                                                                  #                     1      3       5       7        9
003112,000444:                                                                                                  #  WHERE THE C COEFFICIENTS ARE FROM HASTINGS SERIES
003113,000445:                                                                                                  #                         3     5     7     9
003114,000446:                                                                                                  #  SIN(PI X/2) = C X + C X + C X + C X + C X .
003115,000447:                                                                                                  #                 1     3     5     7     9
003116,000448: 
003117,000449: 03,6535           30001        COSINE             XCH      Q                                     #  CLOSED COSINE ROUTINE
003118,000450: 03,6536           50105                           TS       TEM8                                  
003119,000451: 03,6537           07143                           TC       TSGNABS                               #  FORM 1/2 - (ABS(X)) AND COMPUTE SINE
003120,000452: 03,6540           06761                           TC       DACCOM+                               
003121,000453: 03,6541           06544                           TC       SINE       +2                         
003122,000454: 
003123,000455: 03,6542           30001        SINE               XCH      Q                                     #  CLOSED SINE ROUTINE
003124,000456: 03,6543           50105                           TS       TEM8                                  
003125,000457: 03,6544           06731                           TC       PARTSL1                               #  DOUBLE ARGUMENT
003126,000458: 03,6545           50115                           TS       MPAC                                  
003127,000459: 03,6546           06550                           TC       +2                                    #  IF DIDNT SKIP
003128,000460: 03,6547           04742                           TC       DACCOM                                #  IF SO, WE WANT -SIN(X) = SIN(-X)
003129,000461: 
003130,000462: 03,6550           40115                           CS       MPAC                                  
003131,000463: 03,6551           50073                           TS       VBUF       +2                         #  SAVE NEGATIVE OF ARGUMENT
003132,000464: 03,6552           50102                           TS       TEM2                                  
003133,000465: 03,6553           60000                           DOUBLE                                         
003134,000466: 03,6554           50001                           TS       Q                                     
003135,000467: 03,6555           06570                           TC       SN1                                   #  IF ABS(X) LESS THAN 1/2
003136,000468: 
003137,000469: 03,6556           20000                           INDEX    A                                     #  CONTAINS +-1
003138,000470: 03,6557           44521                           CS       NEG1/2     +1                         
003139,000471: 03,6560           30102                           XCH      TEM2                                  
003140,000472: 03,6561           60102                           AD       TEM2                                  
003141,000473: 03,6562           60102                           AD       TEM2                                  #  (ADD +-1/2 TWICE TO MAKE +-1.0)
003142,000474: 03,6563           50115                           TS       MPAC                                  
003143,000475: 03,6564           40116                           CS       MPAC       +1                         
003144,000476: 03,6565           50116                           TS       MPAC       +1                         
003145,000477: 03,6566           40115                           CS       MPAC                                  
003146,000478: 03,6567           50073                           TS       VBUF       +2                         
003147,000479: 
003148,000480: 
003149,000481: 03,6570           40116        SN1                CS       MPAC       +1                         #  SAVE REST OF ARGUMENT
003150,000482: 03,6571           50074                           TS       VBUF       +3                         
003151,000483: 03,6572           34231                           CAF      BUGMPAC                               #  ADDRESS OF MPAC WITH MP BITS
003152,000484: 03,6573           50103                           TS       TEM4                                  
003153,000485: 03,6574           34772                           CAF      DAD2       +4                         #  SQUARE MPAC
003154,000486: 03,6575           05102                           TC       DMP1                                  
003155,000487: 03,6576           04526                           TC       TCS1       +2                         
003156,000488: 
003157,000489: 03,6577           05554                           TC       POLY                                  
003158,000490: 03,6600           00010                           DEC      8          B-14                       
003159,000491: 03,6601           63336 40452                     2DEC     -0.3926990796                            #        (   C /4)
003160,000492:                                                                                                  #             1
003161,000493: 
003162,000494: 03,6603           24527 17013                     2DEC     +0.6459637111                            #        (  4C /4)
003163,000495:                                                                                                  #             3
003164,000496: 
003165,000497: 03,6605           65631 56501                     2DEC     -0.318758717                            #        ( 16C /4)
003166,000498:                                                                                                  #             5
003167,000499: 
003168,000500: 03,6607           02311 06306                     2DEC     +0.074780249                            #        ( 64C /4)
003169,000501:                                                                                                  #             7
003170,000502: 
003171,000503: 03,6611           77541 45020                     2DEC     -0.009694988                            #        (256C /4)
003172,000504:                                                                                                  #             9
003173,000505: 
003174,000506: 03,6613           05157                           TC       DMP                                   #  DMP BY X
003175,000507: 03,6614           50072                           XCADR    VBUF       +2                         
003176,000508: 03,6615           06364                           TC       SL1                                   #  AND SHIFT LEFT 2
003177,000509: 03,6616           06364                           TC       SL1                                   
003178,000510: 03,6617           00105                           TC       TEM8                                  #  DONE
003179,000511: 
003180,000512: 03,6620           06542        SIN1               TC       SINE                                  #  INTERPRETER LINKAGE
003181,000513: 03,6621           04024                           TC       DANZIG                                
003182,000514: 
003183,000515: 03,6622           06535        COS1               TC       COSINE                                
003184,000516: 03,6623           04024                           TC       DANZIG                                
003185,000517: 
003186,000518: 
003187,000519: 03,6624           36753        ARCSIN             CAF      TCTAG+1                               #  PICK UP ARCSIN BRANCH
003188,000520: 03,6625           64476                           AD       POSMAX                                #  TO FORCE OVERFLOW
003189,000521: 03,6626           50000                           OVSK                                           #  SKIP AND RESTORE NON-OVERFLOW
003190,000522: 
003191,000523: 03,6627           36753        ARCCOS             CAF      TCEX                                  #  SET ARCCOS SWITCH
003192,000524: 03,6630           30114                           XCH      ESCAPE                                #  NO SKIP, PLEASE
003193,000525: 03,6631           30001                           XCH      Q                                     #  ONLY HAVE TO SAVE Q IN ONE PLACE
003194,000526: 03,6632           50113                           TS       ARETURN                               
003195,000527: 03,6633           07154                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT SO WE CAN CHECK
003196,000528: 03,6634           10000                           CCS      A                                     #  SIZE OF ARGUMENT (SIGNUM RETURNS IN A).
003197,000529: 03,6635           06643                           TC       ACOSST                                #  POSITIVE
003198,000530: 03,6636           06640                           TC       +2                                    #  ARCCOS = PI/2
003199,000531: 03,6637           06740                           TC       NEGARGU                               
003200,000532: 
003201,000533: 03,6640           34502                           CAF      QUARTER                               #  ARCCOS(0) = .25(2PI).
003202,000534: 03,6641           50115                           TS       MPAC                                  #   (MPAC +1 IS ALREADY ZERO).
003203,000535: 03,6642           00114                           TC       ESCAPE                                
003204,000536: 
003205,000537: 03,6643           06731        ACOSST             TC       PARTSL1                               #  DOUBLE ARGUMENT
003206,000538: 03,6644           30115                           XCH      MPAC                                  #  NO SKIP, BUT EXAMINE ORIGINAL MPAC
003207,000539: 03,6645           64520                           AD       NEG1/2                                #  MUST BE LESS THAN OR EQUAL TO 1/2
003208,000540: 03,6646           10000                           CCS      A                                     
003209,000541: 03,6647           03052                           TC       ABORT                                 #  MAJOR PART GREATER THAN 1/2. NOTE THAT
003210,000542: 03,6650           01301                           OCT      01301                                 #  MPAC+1 IS NOT CHECKED SO A MARGIN EXISTS
003211,000543: 
003212,000544: 03,6651           06655                           TC       +4                                    #  NORMAL CASE
003213,000545: 03,6652           50115                           TS       MPAC                                  #  ARGUMENT WAS 1 (SCALED). LEAVE ZERO
003214,000546: 03,6653           50116                           TS       MPAC       +1                         #  AS RESULT AND EXIT
003215,000547: 03,6654           00114                           TC       ESCAPE                                
003216,000548: 
003217,000549: 
003218,000550: 03,6655           40116                 +4        CS       MPAC       +1                         
003219,000551: 03,6656           50116                           TS       MPAC       +1                         
003220,000552: 03,6657           50074                           TS       B          +1                         
003221,000553: 03,6660           40115                           CS       MPAC                                  
003222,000554: 03,6661           50073                           TS       B                                     
003223,000555: 03,6662           64522                           AD       HALF                                  
003224,000556: 03,6663           64522                           AD       HALF                                  
003225,000557: 03,6664           50115                           TS       MPAC                                  #  SQRT ARGUMENT IS NOW READY
003226,000558: 
003227,000559: 03,6665           06673                           TC       +6                                    #  NORMAL PATH.
003228,000560: 
003229,000561: 03,6666           34476                           CAF      POSMAX                                #  WE HAVE FALSE OVERFLOW PRESENT AND IT
003230,000562: 03,6667           50115                           TS       MPAC                                  #   MUST BE CORRECTED. MAJOR PART WAS ZERO
003231,000563: 03,6670           60116                           AD       MPAC       +1                         #   AND MINOR PART PNZ, SO FORM 1.0 - MPAC
003232,000564: 03,6671           64516                           AD       ONE                                   #   PROPERLY FOR THIS CASE.
003233,000565: 03,6672           50116                           TS       MPAC       +1                         #  GUARANTEED NO OVERFLOW.
003234,000566: 
003235,000567: 03,6673           07320                 +6        TC       SQRT2                                 #  GO TAKE THE SQUARE ROOT.
003236,000568: 
003237,000569: 03,6674           40074                           CS       B          +1                         
003238,000570: 03,6675           30116                           XCH      MPAC       +1                         
003239,000571: 03,6676           50074                           TS       B          +1                         
003240,000572: 03,6677           40073                           CS       B                                     
003241,000573: 03,6700           30115                           XCH      MPAC                                  
003242,000574: 03,6701           50073                           TS       B                                     
003243,000575: 03,6702           05554                           TC       POLY                                  #  EVALUATE HASTINGS POLYNOMIAL/2PI
003244,000576: 03,6703           00016                           DEC      14         B-14                       
003245,000577: 03,6704           07777 37777                     2DEC*    .4999999920 B-1*                       #  HASTINGS COEFFICIENTS/2PI
003246,000578: 03,6706           76720 55163                     2DEC*    -.0683089201 B-1*                       
003247,000579: 03,6710           00350 00532                     2DEC*    .0283228913 B-1*                       
003248,000580: 03,6712           77575 45233                     2DEC*    -.0159709772 B-1*                       
003249,000581: 03,6714           00120 21555                     2DEC*    .0098331911 B-1*                       
003250,000582: 03,6716           77723 56072                     2DEC*    -.0054393193 B-1*                       
003251,000583: 03,6720           00021 14445                     2DEC*    .0021231556 B-1*                       
003252,000584: 03,6722           77774 66516                     2DEC*    -.0004018634 B-1*                       
003253,000585: 
003254,000586: 03,6724           05157                           TC       DMP                                   #  INTERPRETER SUBROUTINE ONLY
003255,000587: 03,6725           50072                           XCADR    B                                     
003256,000588: 03,6726           00114                           TC       ESCAPE                                #  GO TO ARCSIN/ARCCOS SWITCH (OR NEGARGU)
003257,000589: 
003258,000590: 03,6727           06761        TAGIT              TC       DACCOM+                               
003259,000591: 03,6730           00113                           TC       ARETURN                               
003260,000592: 03,6731           30116        PARTSL1            XCH      MPAC       +1                         #  DOES A DOUBLE SHIFT LEFT EXCEPT FOR THE
003261,000593: 03,6732           60000                           DOUBLE                                         #  FINAL TS. USED BY SIN, COS, ASIN, AND
003262,000594: 03,6733           50116                           TS       MPAC       +1                         #  ACOS.
003263,000595: 03,6734           35501                           CAF      ZERO                                  
003264,000596: 03,6735           60115                           AD       MPAC                                  
003265,000597: 03,6736           60115                           AD       MPAC                                  
003266,000598: 03,6737           00001                           TC       Q                                     #  POSSIBLY WITH OVERLOW PRESENT
003267,000599: 
003268,000600: 03,6740           04742        NEGARGU            TC       DACCOM                                #  ARCCOS(-X)=PI-ARCCOS(X)
003269,000601: 03,6741           36754                           CAF      TCSUBTR                               #  SET SWITCH TO PERFORM ABOVE
003270,000602: 03,6742           30114                           XCH      ESCAPE                                
003271,000603: 03,6743           50075                           TS       ESCAPE2                               #  ADDITIONAL SWITCH HERE.
003272,000604: 03,6744           06643                           TC       ACOSST                                
003273,000605: 
003274,000606: 
003275,000607: 03,6745           40115        SUBTR              CS       MPAC                                  
003276,000608: 03,6746           64522                           AD       HALF                                  
003277,000609: 03,6747           50115                           TS       MPAC                                  
003278,000610: 03,6750           40116                           CS       MPAC       +1                         
003279,000611: 03,6751           50116                           TS       MPAC       +1                         
003280,000612: 03,6752           00075                           TC       ESCAPE2                               #  THIS IS NOW THE ARCSIN/ARCCOS SWITCH
003281,000613: 
003282,000614: 
003283,000615: 
003284,000616: 03,6753           06730        TCTAG+1            TC       TAGIT      +1                         
003285,000617: 03,6754  03,6753               TCEX               EQUALS   TCTAG+1                               
003286,000618: 03,6754           06745        TCSUBTR            TC       SUBTR                                 
003287,000619: 
003288,000620: 03,6755           06624        ARCSIN1            TC       ARCSIN                                
003289,000621: 03,6756           04024                           TC       DANZIG                                
003290,000622: 
003291,000623: 03,6757           06627        ARCCOS1            TC       ARCCOS                                
003292,000624: 03,6760           04024                           TC       DANZIG                                
003293,000625: 
003294,000626: 03,6761           40116        DACCOM+            CS       MPAC       +1                         #  USED BY SIN-COS AND ARCSIN-ARCCOS
003295,000627: 03,6762           50116                           TS       MPAC       +1                         
003296,000628: 03,6763           40115                           CS       MPAC                                  
003297,000629: 03,6764           64502                           AD       QUARTER                               
003298,000630: 03,6765           50115                           TS       MPAC                                  
003299,000631: 03,6766           00001                           TC       Q                                     
003300,000632: 
003301,000633: 
003302,000634: 03,6767           30077        MBXCH              XCH      BUF                                   #  TO EXCHANGE MPAC AND BUF
003303,000635: 03,6770           30115                           XCH      MPAC                                  
003304,000636: 03,6771           50077                           TS       BUF                                   
003305,000637: 03,6772           30100                           XCH      BUF        +1                         
003306,000638: 03,6773           30116                           XCH      MPAC       +1                         
003307,000639: 03,6774           50100                           TS       BUF        +1                         
003308,000640: 03,6775           00001                           TC       Q                                     
003309,000641: 
003310,000642: 03,6776           50117        DDV0               TS       MPAC       +2                         #  SET MPAC+2 TO ZERO TO RESUME DDV
003311,000643: 03,6777           07143                           TC       TSGNABS                               #  SIGN AGGREMENT ETC
003312,000644: 03,7000           50102                           TS       TEM2                                  #  SAVE SGN
003313,000645: 03,7001           06767                           TC       MBXCH                                 #  SWITCH CONTENTS
003314,000646: 03,7002           07143                           TC       TSGNABS                               #  SAME FOR ARGUMENT
003315,000647: 03,7003           60102                           AD       TEM2                                  
003316,000648: 03,7004           10000                           CCS      A                                     #  TO GET SIGN OF RESULT
003317,000649: 03,7005           07010                           TC       +3                                    
003318,000650: 03,7006           07133                           TC       DPDOFLO    +1                         #  HERE FOR 0/0 CASE
003319,000651: 03,7007           07010                           TC       +1                                    
003320,000652: 03,7010           50102                           TS       TEM2                                  
003321,000653: 03,7011           10110                           CCS      DVSW                                  
003322,000654: 03,7012           06767                           TC       MBXCH                                 #  INTERCHANGE OLD DIVISOR AND DIVIDEND
003323,000655: 
003324,000656: 03,7013           40077                           CS       BUF                                   #  CHECK TO SEE IF C(BUF,BUF+1) LESS
003325,000657: 03,7014           60115                           AD       MPAC                                  #  THAN C(MPAC,MPAC+1). OVERFLOW CONDITION
003326,000658: 03,7015           10000                           CCS      A                                     #  IF NOT
003327,000659: 03,7016           07030                           TC       DDVOK                                 #  SCALING OK
003328,000660: 03,7017           03070                           TC       CCSHOLE                               
003329,000661: 03,7020           07132                           TC       DPDOFLO                               #  TROUBLE HERE
003330,000662: 03,7021           40100                           CS       BUF        +1                         #  CHECK MINOR PARTS IF MAJORS EQUAL
003331,000663: 03,7022           60116                           AD       MPAC       +1                         
003332,000664: 03,7023           10000                           CCS      A                                     
003333,000665: 03,7024           07030                           TC       DDVOK                                 
003334,000666: 03,7025           03070                           TC       CCSHOLE                               
003335,000667: 03,7026           07132                           TC       DPDOFLO                               #  TROUBLE HERE
003336,000668: 03,7027           07132                           TC       DPDOFLO                               #  AS WELL AS WHEN C(BUF,BUF+1)=C(MPAC,+1)
003337,000669: 
003338,000670: 03,7030           35501        DDVOK              CAF      ZERO                                  
003339,000671: 03,7031           60115                           AD       MPAC                                  
003340,000672: 03,7032           07046                           TC       DPDNORT                               #  TO NORMALIZE
003341,000673: 
003342,000674: 
003343,000675: 03,7033           30001        SQRTDIV            XCH      Q                                     #  ENTRY FROM SQRT ROUTINE
003344,000676: 03,7034           50076                           TS       TEMQ3                                 
003345,000677: 03,7035           07060                           TC       DVSTART                               
003346,000678: 
003347,000679: 03,7036           30100        DPDNORM            XCH      BUF        +1                         
003348,000680: 03,7037           60000                           DOUBLE                                         
003349,000681: 03,7040           50100                           TS       BUF        +1                         
003350,000682: 03,7041           35501                           CAF      ZERO                                  
003351,000683: 03,7042           60077                           AD       BUF                                   
003352,000684: 03,7043           60077                           AD       BUF                                   
003353,000685: 03,7044           50077                           TS       BUF                                   
003354,000686: 03,7045           06367                           TC       SL1        +3                         #  TO DOUBLE MPAC
003355,000687: 
003356,000688: 03,7046           50022        DPDNORT            TS       CYL                                   #  TO LOOK AT BIT 14
003357,000689: 03,7047           10022                           CCS      CYL                                   
003358,000690: 03,7050           07036                           TC       DPDNORM                               
003359,000691: 03,7051           07053                           TC       +2                                    
003360,000692: 03,7052           07060                           TC       DVSTART                               
003361,000693: 03,7053           30100                           XCH      BUF        +1                         #  HIGH ORDER ZERO
003362,000694: 03,7054           30077                           XCH      BUF                                   
003363,000695: 03,7055           30116                           XCH      MPAC       +1                         #  SET MPAC +1 TO ZERO
003364,000696: 03,7056           50115                           TS       MPAC                                  
003365,000697: 03,7057           07046                           TC       DPDNORT                               #  AND TRY AGAIN
003366,000698: 
003367,000699: 
003368,000700: 03,7060           30077        DVSTART            XCH      BUF                                   #  OK
003369,000701: 03,7061           25777                           INDEX    OPOVF                                 
003370,000702: 03,7062           50115                           DV       MPAC                                  
003371,000703: 03,7063           50034                           TS       OVCTR                                 
003372,000704: 03,7064           25777                           INDEX    OPOVF                                 
003373,000705: 03,7065           40116                           MP       MPAC       +1                         
003374,000706: 03,7066           60001        -1/2+2             AD       Q                                     #  COMPLIMENT OF REMAINDER.
003375,000707: 03,7067           40000                           CS       A                                     
003376,000708: 03,7070           60100                           AD       BUF        +1                         
003377,000709: 03,7071           50000                           OVSK                                           
003378,000710: 03,7072           07075                           TC       +3                                    #  IF NOT
003379,000711: 03,7073           25777                           INDEX    OPOVF                                 #  IF OVERFLEW
003380,000712: 03,7074           60115                           SU       MPAC                                  
003381,000713: 03,7075           50077                 +3        TS       BUF                                   
003382,000714: 03,7076           10000                           CCS      A                                     
003383,000715: 03,7077           64516                           AD       ONE                                   
003384,000716: 03,7100           07102                           TC       +2                                    
003385,000717: 03,7101           64516                           AD       ONE                                   
003386,000718: 03,7102           25777                 +2        EXTEND                                         #  WE NOW HAVE ABS(CORRECT BUF)
003387,000719: 03,7103           60115                           SU       MPAC                                  
003388,000720: 03,7104           10000                           CCS      A                                     
003389,000721: 03,7105           64516                           AD       ONE                                   
003390,000722: 03,7106           07110                           TC       +2                                    
003391,000723: 03,7107           07113                           TC       +4                                    
003392,000724: 03,7110           30077                 +2        XCH      BUF                                   
003393,000725: 03,7111           60000                           DOUBLE                                         
003394,000726: 03,7112           10000                           CCS      A                                     
003395,000727: 03,7113           30077                 +4        XCH      BUF                                   
003396,000728: 03,7114           07116                           TC       +2                                    
003397,000729: 03,7115           40077                           CS       BUF                                   
003398,000730: 03,7116           25777                           INDEX    OPOVF                                 
003399,000731: 03,7117           50115                           DV       MPAC                                  
003400,000732: 
003401,000733: 
003402,000734: 03,7120           50116        DPDSGNT            TS       MPAC       +1                         
003403,000735: 03,7121           10102                           CCS      TEM2                                  
003404,000736: 03,7122           07130                           TC       POSQUOT                               
003405,000737: 03,7123           40116                           CS       MPAC       +1                         
003406,000738: 03,7124           50116                           TS       MPAC       +1                         
003407,000739: 03,7125           40034                           CS       OVCTR                                 
003408,000740: 03,7126           50115                           TS       MPAC                                  
003409,000741: 03,7127           00076                           TC       TEMQ3                                 
003410,000742: 
003411,000743: 03,7130           30034        POSQUOT            XCH      OVCTR                                 
003412,000744: 03,7131           07126                           TC       -3                                    
003413,000745: 
003414,000746: 03,7132           10102        DPDOFLO            CCS      TEM2                                  
003415,000747: 03,7133           35503                           CAF      TWO                                   
003416,000748: 03,7134           64335                           AD       NEG1                                  
003417,000749: 03,7135           50122                           TS       OVFIND                                
003418,000750: 03,7136           25777                           EXTEND                                         #  SET MPAC = +- POSMAX
003419,000751: 03,7137           44476                           MP       POSMAX                                
003420,000752: 03,7140           30003                           XCH      LP                                    
003421,000753: 03,7141           50116                           TS       MPAC       +1                         
003422,000754: 03,7142           07126                           TC       POSQUOT    -2                         
003423,000755: 
003424,000756: 
003425,000757: 03,7143           30001        TSGNABS            XCH      Q                                     #  SIGNUM AND ABSOLUTE VALUE
003426,000758: 03,7144           50104                           TS       TEMQ2                                 
003427,000759: 03,7145           07154                           TC       TPAGREE                               
003428,000760: 
003429,000761: 03,7146           10000                           CCS      A                                     #  TEST SIGNUM
003430,000762: 03,7147           64516                           AD       ONE                                   
003431,000763: 03,7150           00104                           TC       TEMQ2                                 
003432,000764: 
003433,000765: 03,7151           04740                           TC       MPACCOM                               #  COMPLEMENT IF NEGATIVE
003434,000766: 03,7152           44516                           CS       ONE                                   
003435,000767: 03,7153           00104                           TC       TEMQ2                                 
003436,000768: 
003437,000769: 03,7154           30001        TPAGREE            XCH      Q                                     #  FORCE SIGN AGREEMENT IN TP WORD IN MPAC
003438,000770: 03,7155           50103                           TS       TEMQ                                  
003439,000771: 03,7156           06021                           TC       BRANCH                                
003440,000772: 03,7157           07172                           TC       SGN=+                                 
003441,000773: 03,7160           07165                           TC       SGN=0                                 
003442,000774: 
003443,000775: 03,7161           44476                           CS       POSMAX                                
003444,000776: 03,7162           50101                           TS       SGNDMAX                               
003445,000777: 03,7163           44516                           CS       ONE                                   
003446,000778: 03,7164           07175                           TC       SGFORCE                               
003447,000779: 
003448,000780: 03,7165           35501        SGN=0              CAF      ZERO                                  
003449,000781: 03,7166           50115                           TS       MPAC                                  
003450,000782: 03,7167           50116                           TS       MPAC       +1                         
003451,000783: 03,7170           50117                           TS       MPAC       +2                         
003452,000784: 03,7171           00103                           TC       TEMQ                                  
003453,000785: 
003454,000786: 03,7172           34476        SGN=+              CAF      POSMAX                                
003455,000787: 03,7173           50101                           TS       SGNDMAX                               
003456,000788: 03,7174           34516                           CAF      ONE                                   
003457,000789: 
003458,000790: 
003459,000791: 03,7175           60117        SGFORCE            AD       MPAC       +2                         
003460,000792: 03,7176           60101                           AD       SGNDMAX                               
003461,000793: 03,7177           50117                           TS       MPAC       +2                         
003462,000794: 03,7200           35501                           CAF      ZERO                                  
003463,000795: 
003464,000796: 03,7201           60116                           AD       MPAC       +1                         
003465,000797: 03,7202           60101                           AD       SGNDMAX                               
003466,000798: 03,7203           50116                           TS       MPAC       +1                         
003467,000799: 03,7204           35501                           CAF      ZERO                                  
003468,000800: 
003469,000801: 03,7205           60115                           AD       MPAC                                  
003470,000802: 03,7206           60101                           AD       SGNDMAX                               
003471,000803: 03,7207           50115                           TS       MPAC                                  
003472,000804: 03,7210           00017        SBITMASK           OCT      17                                    
003473,000805: 03,7211           00103                           TC       TEMQ                                  
003474,000806: 
003475,000807: 
003476,000808: 03,7212           06263        UNIT               TC       ABVAL                                 #  UNIT VECTOR ROUTINE - START BY GETTING
003477,000809:                                                                                                  #  LENGTH
003478,000810: 03,7213           06275                           TC       VSR1                                  #  LEAVES 1/2 UNIT VECTORS
003479,000811: 
003480,000812: 03,7214           10215                           CCS      NEWJOB                                #  ALLOW FOR INTERRUPTS
003481,000813: 03,7215           07263                           TC       UNITRUPT                              #  SO WE CAN RETURN IN BASIC
003482,000814: 
003483,000815: 03,7216           60070        UNITRSM            AD       VACLOC                                #  RETURNS HERE FROM BREAKPOINT IF CALLED.
003484,000816: 03,7217           50062                           TS       ADDRWD                                
003485,000817: 03,7220           35503                           CAF      TWO                                   
003486,000818: 03,7221           50110                           TS       DVSW                                  #  NON-ZERO FOR BACKWARDS DIVIDE
003487,000819: 03,7222           50112        UNITLOOP           TS       COMPON                                
003488,000820: 03,7223           40115                           CS       MPAC                                  
003489,000821: 03,7224           40000                           CS       A                                     
003490,000822: 03,7225           20062                           INDEX    ADDRWD                                
003491,000823: 03,7226           30000                           XCH      0                                     #  LENGTH TO COMPONENT AND COMPONENT TO BUF
003492,000824: 03,7227           50077                           TS       BUF                                   
003493,000825: 03,7230           40116                           CS       MPAC       +1                         
003494,000826: 03,7231           40000                           CS       A                                     
003495,000827: 03,7232           20062                           INDEX    ADDRWD                                
003496,000828: 03,7233           30001                           XCH      1                                     
003497,000829: 03,7234           50100                           TS       BUF        +1                         
003498,000830: 
003499,000831: 03,7235           37241                           CAF      +4                                    #  CALL BACKWARDS DIVIDE
003500,000832: 03,7236           50076                           TS       TEMQ3                                 
003501,000833: 03,7237           35501                           CAF      ZERO                                  
003502,000834: 03,7240           06776                           TC       DDV0                                  
003503,000835: 03,7241           07242                           TC       +1                                    
003504,000836: 
003505,000837: 03,7242           30115                           XCH      MPAC                                  #  RESULT BACK TO COMPONENT BRINGING BACK
003506,000838: 03,7243           20062                           INDEX    ADDRWD                                #  LENGTH
003507,000839: 03,7244           30000                           XCH      0                                     
003508,000840: 03,7245           50115                           TS       MPAC                                  
003509,000841: 03,7246           30116                           XCH      MPAC       +1                         
003510,000842: 03,7247           20062                           INDEX    ADDRWD                                
003511,000843: 03,7250           30001                           XCH      1                                     
003512,000844: 03,7251           50116                           TS       MPAC       +1                         
003513,000845: 
003514,000846: 03,7252           05242                           TC       AD2                                   #  INCREMENT ADDRWD
003515,000847: 03,7253           10112                           CCS      COMPON                                
003516,000848: 03,7254           07222                           TC       UNITLOOP                              
003517,000849: 03,7255           45503                           CS       TWO                                   #  STORE LENGTH OF ARGUMENT IN REGISTERS 30
003518,000850: 03,7256           60070                           AD       VACLOC                                
003519,000851: 03,7257           50102                           TS       TEM2                                  #  AND 31 OF VAC AREA.
003520,000852: 03,7260           34772                           CAF      DAD2       +4                         
003521,000853: 03,7261           05041                           TC       8TO2                                  
003522,000854: 03,7262           04024                           TC       DANZIG                                
003523,000855: 
003524,000856: 
003525,000857: 03,7263           40061        UNITRUPT           CS       BANKSET                               #  REQUESTS FOR INTERPRETIVE INTERRUPT
003526,000858: 03,7264           50117                           TS       MPAC       +2                         #  COME HERE DURING THE UNIT OPERATION.
003527,000859: 03,7265           30120                           XCH      LOC                                   #  SINCE WE DESIRE TO RETURN IN BASIC BUT
003528,000860: 03,7266           20067                           INDEX    FIXLOC                                #  BUT STILL SAVE THE INTERPRETER CENTRALS
003529,000861: 03,7267           50036                           TS       30D                                   #  (BANKSET AND LOC)
003530,000862: 03,7270           02101                           TC       CHANG1                                
003531,000863: 
003532,000864: 03,7271           40117                           CS       MPAC       +2                         #  ON RETURN, RESTORE AS BEFORE
003533,000865: 03,7272           50061                           TS       BANKSET                               
003534,000866: 03,7273           20067                           INDEX    FIXLOC                                
003535,000867: 03,7274           30036                           XCH      30D                                   
003536,000868: 03,7275           50120                           TS       LOC                                   
003537,000869: 03,7276           35501                           CAF      ZERO                                  
003538,000870: 03,7277           07216                           TC       UNITRSM                               #  ENTER UNIT DIVIDE LOOP.
003539,000871: 03,7300           34772        MPACSR1            CAF      DAD2       +4                         
003540,000872: 
003541,000873: 03,7301           50064        SR1                TS       TEM11                                 #  SHIFTS RIGHT ONE USING ADDRESS IN A
003542,000874: 03,7302           20000                           INDEX    A                                     
003543,000875: 03,7303           30000                           XCH      0                                     
003544,000876: 03,7304           25777                           INDEX    OPOVF                                 
003545,000877: 03,7305           44522                           MP       HALF                                  
003546,000878: 03,7306           20064                           INDEX    TEM11                                 
003547,000879: 03,7307           50000                           TS       0                                     
003548,000880: 03,7310           20064                           INDEX    TEM11                                 
003549,000881: 03,7311           30001                           XCH      1                                     
003550,000882: 03,7312           50021                           TS       SR                                    
003551,000883: 03,7313           30021                           XCH      SR                                    
003552,000884: 03,7314           60003                           AD       LP                                    
003553,000885: 03,7315           20064                           INDEX    TEM11                                 
003554,000886: 03,7316           50001                           TS       1                                     
003555,000887: 03,7317           00001                           TC       Q                                     
003556,000888: 
003557,000889: 
003558,000890: 03,7320           35501        SQRT2              CAF      ZERO                                  #  ENTRY TO IGNORE C(MPAC+2)
003559,000891: 03,7321           50117                           TS       MPAC       +2                         
003560,000892: 
003561,000893: 03,7322           30001        SQRT3              XCH      Q                                     #  HERE TO TREAT TRIPLE-PRECISION CASES
003562,000894: 03,7323           50104                           TS       TEMQ2                                 
003563,000895: 03,7324           07154                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT
003564,000896: 03,7325           10000                           CCS      A                                     #  TEST SIGNUM
003565,000897: 03,7326           07336                           TC       SETNORM                               #  PNZ - OK.
003566,000898: 03,7327           00104                           TC       TEMQ2                                 #  FAST EXIT FOR ZERO ARGUMENT
003567,000899: 03,7330           10115                           CCS      MPAC                                  #  IF ARGUMENT WAS NEGATIVE BUT MAJOR PART
003568,000900: 
003569,000901: 03,7331           03052                           TC       ABORT                                 #  (MPAC IS NEGATIVE) IS ZERO, ANSWER IS 
003570,000902: 03,7332           01302                           OCT      01302                                 #  TAKEN AS ZERO WITH NO FURTHER ACTION.
003571,000903: 03,7333           07331                           TC       -2                                    #  IF NON-ZERO, IT IS ASSUMED A TRANSIENT
003572,000904:                                                                                                  #  ERROR HAS PRODUCED THE BAD DATA.
003573,000905: 
003574,000906: 03,7334           50116                           TS       MPAC       +1                         #  ARGUMENT NEGATIVE BUT MORE THAN -10-4.
003575,000907: 03,7335           00104                           TC       TEMQ2                                 #  SET MPAC,+1 TO ZERO AND EXIT.
003576,000908: 
003577,000909: 03,7336           50062        SETNORM            TS       ADDRWD                                #  SET NORMALIZATION COUNT TO ZERO
003578,000910: 03,7337           40115                           CS       MPAC                                  
003579,000911: 03,7340           50022                           TS       CYL                                   #  WE WILL USE A/2, SO MUST CHECK FOR
003580,000912: 03,7341           10022                           CCS      CYL                                   #  NORMALIZATION FIRST
003581,000913: 03,7342           07300                           TC       MPACSR1                               #  NORMALIZED - SHIFT RIGHT ONE.
003582,000914: 03,7343           07405                           TC       ARGHI                                 
003583,000915: 
003584,000916: 03,7344           07346                           TC       SRTEST                                #  LESS THAN 1/2 - SEE IF AT LEAST 1/8.
003585,000917: 
003586,000918: 03,7345           07353                           TC       A0=0                                  #  MAJOR PART (POSSIBLY MINOR PART) = 0.
003587,000919: 
003588,000920: 03,7346           67066        SRTEST             AD       -1/2+2                                #  SEE IF ARG GREATER THAN OR EQUAL TO 1/4.
003589,000921: 03,7347           10000                           CCS      A                                     
003590,000922: 03,7350           07300                           TC       MPACSR1                               #  IT IS - SHIFT RIGHT ONE AND GO TO ARGLO.
003591,000923: 03,7351           07374                           TC       ARGLO                                 #  (+0 WAS IMPOSSIBLE THIS CCS.)
003592,000924: 
003593,000925: 03,7352           07362                           TC       SQRTNORM   +1                         #  LESS THAN 1/4 - PUT IN EFFECTIVE RIGHT
003594,000926:                                                                                                  #  BY SHIFTING LEFT ONLY ONCE WHEN ADDING
003595,000927:                                                                                                  #  ONE TO THE RIGHT SHIFT COUNT.
003596,000928: 
003597,000929: 
003598,000930: 03,7353           30117        A0=0               XCH      MPAC       +2                         #  MOVE ARGUMENT UP
003599,000931: 03,7354           30116                           XCH      MPAC       +1                         
003600,000932: 03,7355           30115                           XCH      MPAC                                  
003601,000933: 03,7356           60062                           AD       ADDRWD                                
003602,000934: 03,7357           65362                           AD       SEVEN                                 #  INCREASE SHIFT COUNT BY 14/2 = 7
003603,000935: 03,7360           07336                           TC       SETNORM                               
003604,000936: 
003605,000937: 03,7361           06364        SQRTNORM           TC       SL1                                   
003606,000938: 03,7362           34516                           CAF      ONE                                   #  ARGUMENT LESS THAN 1/8, SO SHIFT IT LEFT
003607,000939: 03,7363           60062                           AD       ADDRWD                                #  TWO PLACES AND INCREASE SHIFT COUNT FOR
003608,000940: 03,7364           50062                           TS       ADDRWD                                #  RESULT
003609,000941: 03,7365           06364                           TC       SL1                                   
003610,000942: 03,7366           50022                           TS       CYL                                   
003611,000943: 03,7367           40022                           CS       CYL                                   
003612,000944: 
003613,000945: 
003614,000946: 03,7370           10022        NORMTEST           CCS      CYL                                   
003615,000947: 03,7371           10022                           CCS      CYL                                   
003616,000948: 03,7372           07361                           TC       SQRTNORM                              #  HERE IF LESS THAN 1/8
003617,000949: 03,7373           07405                           TC       ARGHI                                 #  HERE IF AT LEAST 1/4, LESS THAN 1/2
003618,000950: 
003619,000951: 03,7374           37401        ARGLO              CAF      SLOPELO                               #  HERE IF AT LEAST 1/8, LESS THAN 1/4
003620,000952: 03,7375           25777                           INDEX    OPOVF                                 
003621,000953: 03,7376           40115                           MP       MPAC                                  
003622,000954: 03,7377           67402                           AD       BIASLO                                #  X0/2 = .8324(A0/2) + .2974/2
003623,000955: 03,7400           07411                           TC       ARGHI      +4                         
003624,000956: 
003625,000957: 03,7401           32506        SLOPELO            DEC      .8324                                 
003626,000958: 03,7402           04604        BIASLO             DEC      .2974      B-1                        
003627,000959: 03,7403           22650        SLOPEHI            DEC      .5884                                 
003628,000960: 03,7404           06552        BIASHI             DEC      .4192      B-1                        
003629,000961: 
003630,000962: 03,7405           37403        ARGHI              CAF      SLOPEHI                               
003631,000963: 03,7406           25777                           INDEX    OPOVF                                 
003632,000964: 03,7407           40115                           MP       MPAC                                  
003633,000965: 03,7410           67404                           AD       BIASHI                                
003634,000966: 03,7411           30115                 +4        XCH      MPAC                                  #  X0/2 TO MPAC
003635,000967: 03,7412           50077                           TS       BUF                                   #  A0/2 TO BUF
003636,000968: 03,7413           50102                           TS       TEM2                                  #  SET UP POSITIVE QUOTIENT SIGNAL AND
003637,000969: 03,7414           35501                           CAF      ZERO                                  
003638,000970: 03,7415           30116                           XCH      MPAC       +1                         #  ZERO LOW-ORDER DIVIDEND FOR DP DIVIDE
003639,000971: 03,7416           50100                           TS       BUF        +1                         #  A1/2 TO BUF+1. A2 NOW DISCARDED
003640,000972: 03,7417           40077                           CS       BUF                                   
003641,000973: 03,7420           25777                           INDEX    OPOVF                                 
003642,000974: 03,7421           50115                           DV       MPAC                                  #  -(A0/2)/(X0/2).
003643,000975: 03,7422           50021                           TS       SR                                    
003644,000976: 03,7423           40021                           CS       SR                                    
003645,000977: 03,7424           60115                           AD       MPAC                                  #  X1 IS GOOD TO 14 BITS
003646,000978: 03,7425           50115                           TS       MPAC                                  #  X1 = X0/2 + ((A0/2)/(X0/2))/2
003647,000979: 03,7426           50101                           TS       TEM3                                  #  SAVE X1 FOR ADDITION
003648,000980: 03,7427           07033                           TC       SQRTDIV                               #  GO TO FORM DP QUOTIENT OF A0/2, A1/2
003649,000981: 03,7430           30101                           XCH      TEM3                                  #  OVER X1, 0. RESULT IN MPAC, MPAC +1
003650,000982: 03,7431           25777                           INDEX    OPOVF                                 
003651,000983: 03,7432           44522                           MP       HALF                                  
003652,000984: 03,7433           60115                           AD       MPAC                                  
003653,000985: 03,7434           50034                           TS       OVCTR                                 #  AND MAYBE SKIP, IF ARG WAS NEAR POSMAX
003654,000986: 03,7435           07441                           TC       +4                                    #  IF NO OVERFLOW
003655,000987: 03,7436           34476                           CAF      POSMAX                                
003656,000988: 03,7437           50116                           TS       MPAC       +1                         
003657,000989: 03,7440           07445                           TC       +5                                    
003658,000990: 
003659,000991: 03,7441           30003                 +4        XCH      LP                                    #  FOR NORMAL CASES
003660,000992: 03,7442           60116                           AD       MPAC       +1                         #  ABOVE AND X1/2
003661,000993: 03,7443           30116                           XCH      MPAC       +1                         
003662,000994: 03,7444           30034                           XCH      OVCTR                                 
003663,000995: 03,7445           50115                 +5        TS       MPAC                                  
003664,000996: 
003665,000997: 03,7446           35501                           CAF      ZERO                                  #  ZERO MPAC+2 SO SHIFT LEFT MAKES SENSE.
003666,000998: 03,7447           50117                           TS       MPAC       +2                         
003667,000999: 
003668,001000: 03,7450           10062                           CCS      ADDRWD                                #  RE-NORMALIZE IF COUNT NON-ZERO
003669,001001: 03,7451           06236                           TC       SHIFTR     +3                         #  FITS IN WITH MAIN SHIFT LOOP
003670,001002: 03,7452           00104                           TC       TEMQ2                                 #  NO RE-SCALING REQUIRED
003671,001003: 
003672,001004: 03,7453           40065        SQRTS              CS       MODE                                  #  INTERPRETER LINKAGE
003673,001005: 03,7454           60000                           DOUBLE                                         #  TAKE APPROPRIATE SQRT
003674,001006: 03,7455           20000                           INDEX    A                                     
003675,001007: 03,7456           07455                           TC       -1                                    
003676,001008: 
003677,001009: 03,7457           07320                           TC       SQRT2                                 #  FOR DP
003678,001010: 03,7460           04024                           TC       DANZIG                                
003679,001011: 
003680,001012: 03,7461           07322                           TC       SQRT3                                 
003681,001013: 03,7462           04024                           TC       DANZIG                                
003682,001014: 
003683,001015: 03,7463     5363               NEG13              EQUALS   MINUS13                               
003684,001016: 03,7463     4024               DMOVE              EQUALS   DANZIG                                #  LOADING ONLY
003685,001017: 03,7463     4024               VMOVE              EQUALS   DANZIG                                
003686,001018: 03,7463           45503        TMOVE              CS       TWO                                   #  SET MODE TO TRIPLE FOR TP OPERATIONS
003687,001019: 03,7464           05240                           TC       DPEXIT     +1                         

End of include-file BANK_03_INTERPRETER_SECTION.agc.  Parent file is MAIN.agc