Annotation of cci/usr/src/usr.lib/tmac/tmac.s, revision 1.1

1.1     ! root        1: .nr TN 0
        !             2: .\"    RT -  reset everything to normal state
        !             3: .de RT
        !             4: .if !\\n(1T .BG
        !             5: .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
        !             6: .ce 0
        !             7: .ul 0
        !             8: .if \\n(NX<=1 .if \\n(AJ=0 .ll \\n(LLu
        !             9: .if \\n(IF=0 \{\
        !            10: .      ps \\n(PS
        !            11: .      if \\n(VS>=40 .vs \\n(VSu
        !            12: .      if \\n(VS<=39 .vs \\n(VSp\}
        !            13: .if \\n(IP .in -\\n(I\\n(IRu
        !            14: .if \\n(IP=0 .nr I0 \\n(PIu
        !            15: .if \\n(IP .nr IP -1
        !            16: .if \\n(QP \{\
        !            17: .      ll +\\n(QIu
        !            18: .      in -\\n(QIu
        !            19: .      nr QP -1\}
        !            20: .ft 1
        !            21: .bd 1
        !            22: .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
        !            23: .fi
        !            24: ..
        !            25: .      \"IZ - initialization
        !            26: .de IZ
        !            27: .if \\n(FM=0 .nr FM 1i
        !            28: .nr YY -\\n(FMu
        !            29: .nr XX 0 1
        !            30: .nr IP 0
        !            31: .nr PI 5n
        !            32: .nr QI 5n
        !            33: .nr I0 \\n(PIu
        !            34: .nr PS 10
        !            35: .nr VS 12
        !            36: .if !\\n(PD .if n .nr PD 1v
        !            37: .if !\\n(PD .if t .nr PD 0.3v
        !            38: .nr ML 3v
        !            39: .ps \\n(PS
        !            40: .if \\n(VS>40 .vs \\n(VSu
        !            41: .if \\n(VS<=39 .vs \\n(VSp
        !            42: .nr IR 0
        !            43: .nr TB 0
        !            44: .nr SJ \\n(.j
        !            45: .nr LL 6i
        !            46: .ll \\n(LLu
        !            47: .nr LT \\n(.l
        !            48: .lt \\n(LTu
        !            49: .ev 1
        !            50: .nr FL \\n(LLu*11u/12u
        !            51: .ll \\n(FLu
        !            52: .ps 8
        !            53: .vs 10p
        !            54: .ev
        !            55: .if \\*(CH .ds CH "\(hy \\\\n(PN \(hy
        !            56: .if n .ds CF "\\*(DY
        !            57: .wh 0 NP
        !            58: .wh -\\n(FMu FO
        !            59: .ch FO 16i
        !            60: .wh -\\n(FMu FX
        !            61: .ch FO -\\n(FMu
        !            62: .wh -\\n(FMu/2u BT
        !            63: ..
        !            64: .de TM
        !            65: .if \\n(IM=0 .if \\n(MN=0 .pn 0
        !            66: .so /usr/lib/tmac/tmac.scover
        !            67: .if \\n(IM=0 .if \\n(MN=0 .rm IM
        !            68: .if \\n(IM=0 .if \\n(MN=0 .rm MF
        !            69: .if \\n(IM=0 .if \\n(MN=0 .rm MR
        !            70: .if \\n(.T=0 .pi /usr/bin/col
        !            71: .nr ST 1
        !            72: .ds QF MEMORANDUM FOR FILE
        !            73: .br
        !            74: .ds MN \\$1
        !            75: .if !"\\$1"" .nr MM 1
        !            76: .if !"\\$2"" .nr MC 1
        !            77: .if !"\\$3"" .nr MG 1
        !            78: .nr TN 1
        !            79: .if \\n(.$-1 .ds CA \\$2
        !            80: .if \\n(.$-2 .ds CC \\$3
        !            81: .rm RP
        !            82: .rm S0
        !            83: .rm S2
        !            84: .rm AX
        !            85: ..
        !            86: .              \" IM - internal memorandum
        !            87: .de IM
        !            88: .nr IM 1
        !            89: .TM "\\$1" "\\$2" "\\$3"
        !            90: .rm QF
        !            91: .RA
        !            92: .rm RA
        !            93: .rm RP
        !            94: .rm MF
        !            95: .rm MR
        !            96: ..
        !            97: .              \" MF - memorandum for file.
        !            98: .de MF
        !            99: .nr MN 1
        !           100: .TM "\\$1" "\\$2" "\\$3"
        !           101: .rm MR
        !           102: .rm IM
        !           103: .RA
        !           104: .rm RA
        !           105: .rm RP
        !           106: .rm TM
        !           107: ..
        !           108: .              \" MR - memo for record
        !           109: .de MR
        !           110: .nr MN 2
        !           111: .TM "\\$1" "\\$2" "\\$3"
        !           112: .ds QF MEMORANDUM FOR RECORD
        !           113: .rm MF
        !           114: .RA
        !           115: .rm RA
        !           116: .rm RP
        !           117: .rm IM
        !           118: .rm TM
        !           119: ..
        !           120: .de EG
        !           121: .nr MN 3
        !           122: .TM "\\$1" "\\$2" "\\$3"
        !           123: .ds QF ENGINEER'S NOTES
        !           124: .rm MF
        !           125: .rm RP
        !           126: .rm IM
        !           127: .RA
        !           128: .rm RA
        !           129: .rm TM
        !           130: ..
        !           131: .de OK
        !           132: .br
        !           133: .di
        !           134: .di OD
        !           135: ..
        !           136: .de RP
        !           137: .nr ST 2
        !           138: .pn 0
        !           139: .rm SG
        !           140: .rm CS
        !           141: .rm TM
        !           142: .rm QF
        !           143: .rm IM
        !           144: .rm MR
        !           145: .rm MF
        !           146: .rm EG
        !           147: .br
        !           148: ..
        !           149: .de TR \" Comp. Sci. Tech Rept series.
        !           150: .nr ST 3
        !           151: .pn 0
        !           152: .ds MN \\$1
        !           153: .rm SG
        !           154: .rm CS
        !           155: .rm TM
        !           156: .rm QF
        !           157: .rm IM
        !           158: .rm MR
        !           159: .rm MF
        !           160: .rm EG
        !           161: .br
        !           162: ..
        !           163: .      \"TL - title and initialization
        !           164: .de TL
        !           165: .br
        !           166: .nr TV 1
        !           167: .if \\n(IM>0 .rm CS
        !           168: .if \\n(MN>0 .rm CS
        !           169: .ME
        !           170: .rm ME
        !           171: .di WT
        !           172: .nr SJ \\n(.j
        !           173: .na
        !           174: .fi
        !           175: .ll 5.0i
        !           176: .if n .if \\n(TN .ll 30
        !           177: .if t .if \\n(TN .ll 3.5i
        !           178: .ft 3
        !           179: .ps 10
        !           180: .if !\\n(TN .ps 12
        !           181: .if !\\n(TN .rm CS
        !           182: .hy 0
        !           183: ..
        !           184: .de TX
        !           185: .rs
        !           186: .sp .5i
        !           187: .ce 1000
        !           188: .if n .ul 1000
        !           189: .ps 12
        !           190: .ft 3
        !           191: .vs 15p
        !           192: .ne 4
        !           193: .hy 0
        !           194: .WT
        !           195: .hy 14
        !           196: .ce 0
        !           197: .ul 0
        !           198: ..
        !           199: .      \"      AU - author(s)
        !           200: .de AU
        !           201: .nr AV 1
        !           202: .ad \\n(SJ
        !           203: .br
        !           204: .di
        !           205: .br
        !           206: .nf
        !           207: .nr NA +1
        !           208: .ds R\\n(NA \\$1
        !           209: .ds E\\n(NA \\$2
        !           210: .di A\\n(NA
        !           211: .ll \\n(LLu
        !           212: .if \\n(TN=0 .if t .ft 2
        !           213: .if \\n(TN=0 .if n .ft 1
        !           214: .if \\n(TN>0 .ft 3
        !           215: .if \\n(TN .if n .ll 16
        !           216: .if \\n(TN .if t .ll 1.4i
        !           217: .ps 10
        !           218: ..
        !           219: .de AX
        !           220: .ft 1
        !           221: .rs
        !           222: .ce 1000
        !           223: .if n .ul 0
        !           224: .ps 10
        !           225: .vs 12p
        !           226: .if n .sp 2
        !           227: .if t .sp
        !           228: .A1
        !           229: .if n .sp 
        !           230: .if t .sp 0.5
        !           231: .ns
        !           232: .I1
        !           233: .if \\n(NA-1 .if n .sp 2
        !           234: .if \\n(NA-1 .if t .sp
        !           235: .A2
        !           236: .if \\n(NA-1 .if n .sp
        !           237: .if \\n(NA-1 .if t .sp 0.5
        !           238: .ns
        !           239: .I2
        !           240: .if \\n(NA-2 .if t .sp
        !           241: .if \\n(NA-2 .if n .sp 2
        !           242: .A3
        !           243: .if \\n(NA-2 .if t .sp 0.5
        !           244: .if \\n(NA-2 .if n .sp
        !           245: .ns
        !           246: .I3
        !           247: .if \\n(NA-3 .if t .sp
        !           248: .if \\n(NA-3 .if n .sp 2
        !           249: .A4
        !           250: .if \\n(NA-3 .if t .sp 0.5
        !           251: .if \\n(NA-3 .if n .sp
        !           252: .ns
        !           253: .I4
        !           254: .if \\n(NA-4 .if t .sp
        !           255: .if \\n(NA-4 .if n .sp 2
        !           256: .A5
        !           257: .if \\n(NA-4 .if n .sp
        !           258: .if \\n(NA-4 .if t .sp 0.5
        !           259: .ns
        !           260: .I5
        !           261: .if \\n(NA-5 .if t .sp
        !           262: .if \\n(NA-5 .if n .sp 2
        !           263: .A6
        !           264: .if \\n(NA-5 .if n .sp
        !           265: .if \\n(NA-5 .if t .sp 0.5
        !           266: .ns
        !           267: .I6
        !           268: .if \\n(NA-6 .if t .sp
        !           269: .if \\n(NA-6 .if n .sp 2
        !           270: .A7
        !           271: .if \\n(NA-6 .if n .sp
        !           272: .if \\n(NA-6 .if t .sp 0.5
        !           273: .ns
        !           274: .I7
        !           275: .if \\n(NA-7 .if t .sp
        !           276: .if \\n(NA-7 .if n .sp 2
        !           277: .A8
        !           278: .if \\n(NA-7 .if n .sp
        !           279: .if \\n(NA-7 .if t .sp 0.5
        !           280: .ns
        !           281: .I8
        !           282: .if \\n(NA-8 .if t .sp
        !           283: .if \\n(NA-8 .if n .sp 2
        !           284: .A9
        !           285: .if \\n(NA-8 .if n .sp
        !           286: .if \\n(NA-8 .if t .sp 0.5
        !           287: .ns
        !           288: .I9
        !           289: ..
        !           290: .      \"AI - authors institution
        !           291: .de AI
        !           292: .br
        !           293: .ft 1
        !           294: .di
        !           295: .di I\\n(NA
        !           296: .nf
        !           297: ..
        !           298: .      \"AB - begin an abstract
        !           299: .de AB
        !           300: .br
        !           301: .di
        !           302: .ul 0
        !           303: .ce 0
        !           304: .nr 1T 1
        !           305: .nr IK 1
        !           306: .nr KI 1
        !           307: .di WB
        !           308: .rs
        !           309: .nr AJ 1
        !           310: .ce 1
        !           311: .ft 2
        !           312: .if n .ul
        !           313: .ll \\n(LLu
        !           314: .if \\n(.$=0 ABSTRACT
        !           315: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no"  \\$1
        !           316: .if \\n(.$=0 .sp
        !           317: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no" .sp
        !           318: .hy 14
        !           319: .ul 0
        !           320: .ce 0
        !           321: .fi
        !           322: .ft 1
        !           323: .nr OJ \\n(.i
        !           324: .in +\\n(.lu/12u
        !           325: .ll -\\n(.lu/12u
        !           326: .br
        !           327: .ps \\n(PS
        !           328: .if \\n(VS>40 .vs \\n(VSu
        !           329: .if \\n(VS<=39 .vs \\n(VSp
        !           330: .ti +\\n(PIu
        !           331: ..
        !           332: .      \"AE - end of an abstract
        !           333: .de AE
        !           334: .br
        !           335: .di
        !           336: .ll \\n(LLu
        !           337: .ps \\n(PS
        !           338: .if \\n(VS>40 .vs \\n(VSu
        !           339: .if \\n(VS<=39 .vs \\n(VSp
        !           340: .nr 1T 0
        !           341: .nr IK 0
        !           342: .in \\n(OJu
        !           343: .nr AJ 0
        !           344: .di
        !           345: .ce 0
        !           346: .if \\n(ST=2 .SY
        !           347: .if \\n(ST<3 .rm SY
        !           348: ..
        !           349: .      \"S2 - release paper style
        !           350: .      \"SY - cover sheet of released paper
        !           351: .de SY
        !           352: .ll \\n(LLu
        !           353: .ns
        !           354: .if \\n(TV .TX
        !           355: .if \\n(AV .AX
        !           356: .rs
        !           357: .ce 0
        !           358: .nf
        !           359: .sp 3
        !           360: .ls 1
        !           361: .WB
        !           362: .ls 
        !           363: .sp 3v
        !           364: \\*(DY
        !           365: .sp |9i
        !           366: .if \\n(FP>0 .FA
        !           367: .FG
        !           368: .if \\n(GA=1 .nr GA 2
        !           369: .fi
        !           370: ..
        !           371: .      \"S2 - first text page, released paper format
        !           372: .de S2
        !           373: .ce 0
        !           374: .br
        !           375: .SY
        !           376: .rm SY
        !           377: .bp 1
        !           378: .if \\n(TV .TX
        !           379: .if \\n(AV .AX
        !           380: .rs
        !           381: .ce 0
        !           382: .ft 1
        !           383: .ad \\n(SJ
        !           384: ..
        !           385: .      \"S0- mike lesk conserve paper style
        !           386: .de S0
        !           387: .ce 0
        !           388: .br
        !           389: .ll \\n(LLu
        !           390: .if \\n(TV+\\n(AV>0 .ns
        !           391: .if \\n(TV .TX
        !           392: .if \\n(AV .AX
        !           393: .if \\n(TV+\\n(AV>0 .rs
        !           394: .ce 0
        !           395: .if \\n(TV>0 .sp 2
        !           396: .ls 1
        !           397: .if \\n(FP>0 \{\
        !           398: .      FJ
        !           399: .      nf
        !           400: .      FG
        !           401: .      fi
        !           402: .      FK
        !           403: .      nr FP 0\}
        !           404: .nf
        !           405: .WB
        !           406: .ls
        !           407: .fi
        !           408: .ad \\n(SJ
        !           409: ..
        !           410: .      \"S3 - CSTR style
        !           411: .de S3
        !           412: .rs
        !           413: .sp |2.25i
        !           414: .ce 1000
        !           415: .I1
        !           416: .if \\n(NA>1 .sp .5
        !           417: .if \\n(NA>1 .I2
        !           418: .if \\n(NA>2 .sp .5
        !           419: .if \\n(NA>2 .I3
        !           420: .if \\n(NA>3 .sp .5
        !           421: .if \\n(NA>3 .I4
        !           422: .if \\n(NA>4 .sp .5
        !           423: .if \\n(NA>4 .I5
        !           424: .if \\n(NA>5 .sp .5
        !           425: .if \\n(NA>5 .I6
        !           426: .if \\n(NA>6 .sp .5
        !           427: .if \\n(NA>6 .I7
        !           428: .if \\n(NA>7 .sp .5
        !           429: .if \\n(NA>7 .I8
        !           430: .if \\n(NA>8 .sp .5
        !           431: .if \\n(NA>8 .I9
        !           432: .sp |4i
        !           433: .      \"check how long title is: can space extra .25 inch if short
        !           434: .di EZ
        !           435: .WT
        !           436: .di
        !           437: .if \\n(dn<1.5v .if \\n(NA=1 .sp .25i
        !           438: .ft 1
        !           439: Computing Science Technical Report No. \\*(MN
        !           440: .sp
        !           441: .if t .ft 3
        !           442: .if n .ul 100
        !           443: .ps 12
        !           444: .vs 15p
        !           445: .hy 0
        !           446: .WT
        !           447: .hy 14
        !           448: .ft 1
        !           449: .if n .ul 0
        !           450: .ps 10
        !           451: .vs 12p
        !           452: .sp
        !           453: .ft 1
        !           454: .A1
        !           455: .A2
        !           456: .A3
        !           457: .A4
        !           458: .A5
        !           459: .A6
        !           460: .A7
        !           461: .A8
        !           462: .A9
        !           463: .ce 0
        !           464: .sp |8.5i
        !           465: .ce 0
        !           466: \\*(DY
        !           467: .bp 0
        !           468: .ft 1
        !           469: .S2
        !           470: ..
        !           471: .      \"SG - signature
        !           472: .de SG
        !           473: .br
        !           474: .KS
        !           475: .in +2u*\\n(.lu/3u
        !           476: .sp 2
        !           477: .A1
        !           478: .if \\n(NA-1 .sp 2
        !           479: .A2
        !           480: .if \\n(NA-2 .sp 2
        !           481: .A3
        !           482: .if \\n(NA-3 .sp 2
        !           483: .A4
        !           484: .if \\n(NA-4 .sp 2
        !           485: .A5
        !           486: .if \\n(NA>5 .sp 2
        !           487: .A6
        !           488: .if \\n(NA>6 .sp 2
        !           489: .A7
        !           490: .if \\n(NA>7 .sp 2
        !           491: .A8
        !           492: .if \\n(NA>8 .sp 2
        !           493: .A9
        !           494: .in
        !           495: .nf
        !           496: .sp -1
        !           497: .if \\n(.$>=1 \\$1
        !           498: .if \\n(.$>=2 \\$2
        !           499: .if \\n(.$>=3 \\$3
        !           500: .if \\n(.$>=4 \\$4
        !           501: .if \\n(.$>=5 \\$5
        !           502: .if \\n(.$>=6 \\$6
        !           503: .if \\n(.$>=7 \\$7
        !           504: .if \\n(.$>=8 \\$8
        !           505: .if \\n(.$>=9 \\$9
        !           506: .fi
        !           507: .br
        !           508: .KE
        !           509: ..
        !           510: .      \"Tables.  TS - table start, TE - table end
        !           511: .de TS
        !           512: .br
        !           513: .if !\\n(1T .RT
        !           514: .ul 0
        !           515: .ti \\n(.iu
        !           516: .if t .sp 0.5
        !           517: .if n .sp
        !           518: .if \\$1H .TQ
        !           519: .nr IX 1
        !           520: ..
        !           521: .de TQ
        !           522: .di TT
        !           523: .nr IT 1
        !           524: ..
        !           525: .de TH
        !           526: .if \\n(.d>0.5v .nr T. 0
        !           527: .if \\n(.d>0.5v .T# 0
        !           528: .di
        !           529: .nr TQ \\n(.i
        !           530: .nr HT 1
        !           531: .in 0
        !           532: .TT
        !           533: .in \\n(TQu
        !           534: .mk #T
        !           535: ..
        !           536: .de TE
        !           537: .nr IX 0
        !           538: .if \\n(IT>0 .if \\n(HT=0 .di
        !           539: .if \\n(IT>0 .if \\n(HT=0 .nr EF \\n(.u
        !           540: .if \\n(IT>0 .if \\n(HT=0 .nf
        !           541: .if \\n(IT>0 .if \\n(HT=0 .TT
        !           542: .if \\n(IT>0 .if \\n(HT=0 .if \\n(EF>0 .fi
        !           543: .nr IT 0
        !           544: .nr HT 0
        !           545: .if n .sp 1
        !           546: .if t .sp 0.5
        !           547: .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
        !           548: .rr 32 33 34 35 36 37 38 40 79 80 81 82
        !           549: .rr a| b| c| d| e| f| g| h| i| j| k| l| m|
        !           550: .rr a- b- c- d- e- f- g- h- i- j- k- l- m-
        !           551: ..
        !           552: .      \"DS - display.  If .DS C, center; L, left-adjust; I, indent.
        !           553: .de DS
        !           554: .XD
        !           555: .KS
        !           556: .nf
        !           557: .\\$1D \\$2 \\$1
        !           558: .ft 1
        !           559: .ps \\n(PS
        !           560: .if \\n(VS>40 .vs \\n(VSu
        !           561: .if \\n(VS<=39 .vs \\n(VSp
        !           562: ..
        !           563: .de D
        !           564: .ID \\$1
        !           565: ..
        !           566: .de CD
        !           567: .ce 1000
        !           568: ..
        !           569: .de ID
        !           570: .if t .in +0.5i
        !           571: .if n .in +8
        !           572: .if \\n(.$ .if !"\\$1"I" .in \\n(OIu
        !           573: .if \\n(.$ .if !"\\$1"I" .in +\\$1n
        !           574: ..
        !           575: .de LD
        !           576: ..
        !           577: .de XD
        !           578: .nf
        !           579: .nr OI \\n(.i
        !           580: .if t .sp 0.5
        !           581: .if n .sp 1
        !           582: ..
        !           583: .de BD \" block display: save everything, then center it.
        !           584: .nr BD 1
        !           585: .nf
        !           586: .di DD
        !           587: ..
        !           588: .      \"DE - display end
        !           589: .de DE
        !           590: .ce 0
        !           591: .if \\n(BD>0 .DF
        !           592: .nr BD 0
        !           593: .KE
        !           594: .in \\n(OIu
        !           595: .if t .sp 0.5
        !           596: .if n .sp 1
        !           597: .fi
        !           598: ..
        !           599: .de DF \" finish a block display to be recentered.
        !           600: .di
        !           601: .if \\n(dl>\\n(BD .nr BD \\n(dl
        !           602: .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
        !           603: .nr EI \\n(.l-\\n(.i
        !           604: .ta \\n(EIuR
        !           605: .DD
        !           606: .in \\n(OIu
        !           607: ..
        !           608: .      \"KS keep - for keep release features. As in IFM
        !           609: .de KS
        !           610: .nr KN \\n(.u
        !           611: .if \\n(IK=0 .if \\n(IF=0 .KQ
        !           612: .nr IK +1
        !           613: ..
        !           614: .      \"KQ - real keep processor
        !           615: .de KQ
        !           616: .br
        !           617: .nr KI \\n(.i
        !           618: .ev 2
        !           619: .br
        !           620: .in \\n(KIu
        !           621: .ps \\n(PS
        !           622: .if \\n(VS>40 .vs \\n(VSu
        !           623: .if \\n(VS<=39 .vs \\n(VSp
        !           624: .ll \\n(LLu
        !           625: .lt \\n(LTu
        !           626: .if \\n(NX>1 .ll \\n(CWu
        !           627: .if \\n(NX>1 .lt \\n(CWu
        !           628: .di KK
        !           629: .nr TB 0
        !           630: ..
        !           631: .      \"KF - floating keep
        !           632: .de KF
        !           633: .nr KN \\n(.u
        !           634: .if !\\n(IK .FQ
        !           635: .nr IK +1
        !           636: ..
        !           637: .      \"FQ real floating keep processor
        !           638: .de FQ
        !           639: .nr KI \\n(.i
        !           640: .ev 2
        !           641: .br
        !           642: .in \\n(KIu
        !           643: .ps \\n(PS
        !           644: .if \\n(VS>40 .vs \\n(VSu
        !           645: .if \\n(VS<=39 .vs \\n(VSp
        !           646: .ll \\n(LLu
        !           647: .lt \\n(LTu
        !           648: .if \\n(NX>1 .ll \\n(CWu
        !           649: .if \\n(NX>1 .lt \\n(CWu
        !           650: .di KK
        !           651: .nr TB 1
        !           652: ..
        !           653: .      \"KE release - everything between keep and release is together
        !           654: .de KE
        !           655: .if \\n(IK .if !\\n(IK-1 .if \\n(IF=0 .RQ
        !           656: .if \\n(IK .nr IK -1
        !           657: ..
        !           658: .      \"RQ real release
        !           659: .de RQ
        !           660: .br
        !           661: .di
        !           662: .nr NF 0
        !           663: .if \\n(dn-\\n(.t .nr NF 1
        !           664: .if \\n(TC .nr NF 1
        !           665: .if \\n(NF .if !\\n(TB .sp 200
        !           666: .if !\\n(NF .if \\n(TB .nr TB 0
        !           667: .nf
        !           668: .rs
        !           669: .nr TC 5
        !           670: .in 0
        !           671: .ls 1
        !           672: .if \\n(TB=0 .ev
        !           673: .if \\n(TB=0 .br
        !           674: .if \\n(TB=0 .ev 2
        !           675: .if \\n(TB=0 .KK
        !           676: .ls
        !           677: .ce 0
        !           678: .if \\n(TB=0 .rm KK
        !           679: .if \\n(TB .da KJ
        !           680: .if \\n(TB \!.KD \\n(dn
        !           681: .if \\n(TB .KK
        !           682: .if \\n(TB .di
        !           683: .nr TC \\n(TB
        !           684: .if \\n(KN .fi
        !           685: .in
        !           686: .ev
        !           687: ..
        !           688: .de EQ  \"equation, breakout and display
        !           689: .nr EF \\n(.u
        !           690: .rm EE
        !           691: .nr LE 1       \" 1 is center
        !           692: .ds EL \\$1
        !           693: .if "\\$1"L" .ds EL \\$2
        !           694: .if "\\$1"L" .nr LE 0
        !           695: .if "\\$1"C" .ds EL \\$2
        !           696: .if "\\$1"I" .nr LE 0
        !           697: .if "\\$1"I" .ds EE \\h'|10n'
        !           698: .if "\\$1"I" .if !"\\$3"" .ds EE \\h'\\$3'
        !           699: .if "\\$1"I" .ds EL \\$2
        !           700: .if \\n(YE>0 .nf
        !           701: .di EZ
        !           702: ..
        !           703: .de EN  \" end of a displayed equation
        !           704: .br
        !           705: .di
        !           706: .rm EZ
        !           707: .nr ZN \\n(dn
        !           708: .if \\n(ZN>0 .if \\n(YE=0 .LP
        !           709: .if \\n(ZN=0 .if !"\\*(EL"" .nr ZN 1
        !           710: .if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if t .sp .5
        !           711: .if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if n .sp 1
        !           712: .if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if t .sp .5
        !           713: .if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if n .sp 1
        !           714: .pc
        !           715: .if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
        !           716: .if \\n(MK>0 .if \\n(LE=1 .ds EE \\h'|10n'
        !           717: .if \\n(MK>0 .nr LE 0 \" don't center if mark/lineup
        !           718: .lt \\n(.lu
        !           719: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
        !           720: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
        !           721: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
        !           722: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\t\\*(EL
        !           723: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
        !           724: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
        !           725: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
        !           726: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10
        !           727: .\".di EZ \" GCOS patch
        !           728: .\"\\*(10 \" GCOS patch
        !           729: .\".br \" GCOS patch
        !           730: .\".di \" GCOS patch
        !           731: .\".rm EZ \" GCOS patch
        !           732: .lt \\n(LLu
        !           733: .pc %
        !           734: .if \\n(YE>0 .if \\n(EF>0 .fi
        !           735: .rm EL 10 11 12 13 14 15 16 17 18 19 20 21 22 23
        !           736: .rr 10 11 12 13 14 15 16 17 18 19 20 21 22 23
        !           737: .if \\n(ZN>0 .if t .sp .5
        !           738: .if \\n(ZN>0 .if n .sp
        !           739: .if "\\n(.z"" .nr PE \\n(nl
        !           740: .if !"\\n(.z"" .nr PE \\n(.d
        !           741: ..
        !           742: .de ME
        !           743: .nr SJ \\n(.j
        !           744: .if \\n(LL>0 .nr LT \\n(LL
        !           745: .nr YE 1
        !           746: .if \\n(PO=0 .nr PO \\n(.o
        !           747: ..
        !           748: .      \"EM end up macro - process left over keep-release
        !           749: .de EM
        !           750: .br
        !           751: .if \\n(TB=0 .if t .wh -1p CM
        !           752: .if \\n(TB \&\c
        !           753: .if \\n(TB 'bp
        !           754: .if \\n(TB .NP
        !           755: .if \\n(TB .ch CM 160
        !           756: ..
        !           757: .      \"NP new page
        !           758: .de NP
        !           759: .if \\n(FM+\\n(HM>=\\n(.p .tm Margins bigger than page length.
        !           760: .if \\n(FM+\\n(HM>=\\n(.p .ab
        !           761: .if \\n(FM+\\n(HM>=\\n(.p .ex
        !           762: .nr PX \\n(.s
        !           763: .nr PF \\n(.f
        !           764: .if t .CM
        !           765: .if \\n(HM=0 .nr HM 1i
        !           766: 'sp \\n(HMu/2u
        !           767: .lt \\n(LTu
        !           768: .ps \\n(PS
        !           769: .ft 1
        !           770: .if \\n(PO>0 .po \\n(POu
        !           771: .PT
        !           772: .ps \\n(PX
        !           773: .ft \\n(PF
        !           774: 'sp |\\n(HMu
        !           775: .nr XX 0 1
        !           776: .nr YY 0-\\n(FMu
        !           777: .ch FO 16i
        !           778: .ch FX 17i
        !           779: .ch FO -\\n(FMu
        !           780: .ch FX \\n(.pu-\\n(FMu
        !           781: .if \\n(MF .FV
        !           782: .nr MF 0
        !           783: .mk
        !           784: .os
        !           785: .ev 1
        !           786: .if \\n(TD=0 .if \\n(TC<5  .XK
        !           787: .nr TC 0
        !           788: .ns
        !           789: .ev
        !           790: .nr TQ \\n(.i
        !           791: .nr TK \\n(.u
        !           792: .if \\n(IT>0 \{\
        !           793: .      in 0
        !           794: .      nf
        !           795: .      TT
        !           796: .      in \\n(TQu
        !           797: .      if \\n(TK .fi\
        !           798: \}
        !           799: .mk #T
        !           800: .if t .if \\n(.o+\\n(LL>7.75i .tm Offset + line length exceeds 7.75 inches, too wide
        !           801: ..
        !           802: .de XK
        !           803: .nr TD 1
        !           804: .nf
        !           805: .ls 1
        !           806: .in 0
        !           807: .rn KJ KL
        !           808: .KL
        !           809: .rm KL
        !           810: .if "\\n(.z"KJ" .di
        !           811: .nr TB 0
        !           812: .if "\\n(.z"KJ" .nr TB 1
        !           813: .br
        !           814: .in
        !           815: .ls
        !           816: .fi
        !           817: .nr TD 0
        !           818: ..
        !           819: .de KD
        !           820: .nr KM 0
        !           821: .if "\\n(.z"KJ" .nr KM 1 \" KM is 1 if in a rediversion of keeps
        !           822: .if \\n(KM>0 \!.KD \\$1
        !           823: .if \\n(KM=0 .if \\n(.t<\\$1 .di KJ
        !           824: ..
        !           825: .de PT
        !           826: .lt \\n(LLu
        !           827: .pc %
        !           828: .nr PN \\n%
        !           829: .if \\n%-1 .tl '\\*(LH'\\*(CH'\\*(RH'
        !           830: .lt \\n(.lu
        !           831: ..
        !           832: .      \"FO - footer of page
        !           833: .de FO
        !           834: .rn FO FZ
        !           835: .if \\n(K1>0 .tm This memo has a multi-page cover sheet.  You are
        !           836: .if \\n(K1>0 .tm rebuked in the name of the Committee on Technical Memoranda.
        !           837: .if \\n(IT>0 .nr T. 1
        !           838: .if \\n(IT>0 .if \\n(FC=0  .T# 1
        !           839: .if \\n(IT>0 .br
        !           840: .nr FC +1
        !           841: .if \\n(NX<2 .nr WF 0
        !           842: .nr dn 0
        !           843: .if \\n(FC<=1 .if \\n(XX .XF
        !           844: .rn FZ FO
        !           845: .nr MF 0
        !           846: .if \\n(dn  .nr MF 1
        !           847: .if !\\n(WF .nr YY 0-\\n(FMu
        !           848: .if !\\n(WF .ch FO \\n(YYu
        !           849: .if !\\n(dn .nr WF 0
        !           850: .if \\n(FC<=1 .if \\n(XX=0  .if \\n(NX>1 .RC
        !           851: .if \\n(FC<=1 .if \\n(XX=0  .if \\n(NX<1 'bp
        !           852: .nr FC -1
        !           853: .if \\n(ML>0 .ne \\n(MLu
        !           854: ..
        !           855: .      \"2C - begin double column
        !           856: .de 2C
        !           857: .MC \" default MC is double column
        !           858: ..
        !           859: .de MC \" multiple columns- arg is line length
        !           860: .nr L1 \\n(LL*7/15
        !           861: .if \\n(.$>0 .nr L1 \\$1n
        !           862: .nr GW 0-1
        !           863: .if \\n(.$>1 .nr GW \\$1n
        !           864: .nr NQ \\n(LL/\\n(L1
        !           865: .if \\n(NQ<1 .nr NQ 1
        !           866: .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
        !           867: .if \\n(1T=0 \{\
        !           868: .      BG
        !           869: .      if n .sp 4
        !           870: .      if t .sp 2\}
        !           871: .if \\n(NX=0 .nr NX 1
        !           872: .if !\\n(NX=\\n(NQ \{\
        !           873: .      RT
        !           874: .      if \\n(NX>1 .bp
        !           875: .      mk
        !           876: .      nr NC 1
        !           877: .      po \\n(POu\}
        !           878: .if \\n(NQ>1 .hy 12
        !           879: .nr NX \\n(NQ
        !           880: .nr CW \\n(L1
        !           881: .ll \\n(CWu
        !           882: .nr FL \\n(CWu*11u/12u
        !           883: .if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
        !           884: .nr RO \\n(CW+\\n(GW
        !           885: .ns
        !           886: ..
        !           887: .de RC
        !           888: .if \\n(NC>=\\n(NX .C2
        !           889: .if \\n(NC<\\n(NX .C1
        !           890: .nr NC \\n(ND
        !           891: ..
        !           892: .de C1
        !           893: .rt
        !           894: .po +\\n(ROu
        !           895: .nr ND \\n(NC+1
        !           896: .nr XX 0 1
        !           897: .if \\n(MF .FV
        !           898: .ch FX \\n(.pu-\\n(FMu
        !           899: .ev 1
        !           900: .if \\n(TB .XK
        !           901: .nr TC 0
        !           902: .ev
        !           903: .nr TQ \\n(.i
        !           904: .if \\n(IT>0 .in 0
        !           905: .if \\n(IT>0 .TT
        !           906: .if \\n(IT>0 .in \\n(TQu
        !           907: .mk #T
        !           908: .ns
        !           909: ..
        !           910: .ch FO \\n(YYu
        !           911: .de C2
        !           912: .po \\n(POu
        !           913: 'bp
        !           914: .nr ND 1
        !           915: ..
        !           916: .      \"1C - return to single column format
        !           917: .de 1C
        !           918: .MC \\n(LLu
        !           919: .hy 14
        !           920: ..
        !           921: .      \".de R3
        !           922: .      \".pl 102
        !           923: .      \".nr LT \\n(.l
        !           924: .      \"..
        !           925: .de MH
        !           926: Bell Laboratories
        !           927: Murray Hill, New Jersey 07974
        !           928: ..
        !           929: .de PY
        !           930: Bell Laboratories
        !           931: Piscataway, New Jersey 08854
        !           932: ..
        !           933: .de BT
        !           934: .nr PX \\n(.s
        !           935: .nr PF \\n(.f
        !           936: .ft 1
        !           937: .ps \\n(PS
        !           938: 'lt \\n(LTu
        !           939: .po \\n(POu
        !           940: .if \\n%>0 .tl '\\*(LF'\\*(CF'\\*(RF'
        !           941: .ft \\n(PF
        !           942: .ps \\n(PX
        !           943: ..
        !           944: .      \"PP - paragraph
        !           945: .de PP
        !           946: .RT
        !           947: .ne 1.1
        !           948: .if \\n(1T .sp \\n(PDu
        !           949: .ti +\\n(PIu
        !           950: ..
        !           951: .      \"SH - (unnumbered) section heading
        !           952: .de SH
        !           953: .ti \\n(.iu
        !           954: .RT
        !           955: .if \\n(1T .sp 1
        !           956: .if !\\n(1T .BG
        !           957: .RT
        !           958: .ne 4
        !           959: .ft 3
        !           960: .if n .ul 1000
        !           961: ..
        !           962: .      \"NH - numbered heading
        !           963: .de NH
        !           964: .RT
        !           965: .if \\n(1T .sp 1
        !           966: .if !\\n(1T .BG
        !           967: .RT
        !           968: .ne 4
        !           969: .ft 3
        !           970: .if n .ul 1000
        !           971: .nr NS \\$1
        !           972: .if !\\n(.$ .nr NS 1
        !           973: .if !\\n(NS .nr NS 1
        !           974: .nr H\\n(NS +1
        !           975: .if !\\n(NS-4 .nr H5 0
        !           976: .if !\\n(NS-3 .nr H4 0
        !           977: .if !\\n(NS-2 .nr H3 0
        !           978: .if !\\n(NS-1 .nr H2 0
        !           979: .if !\\$1 .if \\n(.$ .nr H1 1
        !           980: .ds SN \\n(H1.
        !           981: .ti \\n(.iu
        !           982: .if \\n(NS-1 .as SN \\n(H2.
        !           983: .if \\n(NS-2 .as SN \\n(H3.
        !           984: .if \\n(NS-3 .as SN \\n(H4.
        !           985: .if \\n(NS-4 .as SN \\n(H5.
        !           986: \\*(SN
        !           987: ..
        !           988: .      \"BG - begin, execute at first PP
        !           989: .de BG
        !           990: .br
        !           991: .ME
        !           992: .rm ME
        !           993: .di
        !           994: .ce 0
        !           995: .nr KI 0
        !           996: .hy 14
        !           997: .nr 1T 1
        !           998: .S\\n(ST
        !           999: .rm S0
        !          1000: .rm S1
        !          1001: .rm S2
        !          1002: .rm S3
        !          1003: .rm OD
        !          1004: .rm OK
        !          1005: .rm TX
        !          1006: .rm AX
        !          1007: .rm WT
        !          1008: .rm CS
        !          1009: .rm TM
        !          1010: .rm IM
        !          1011: .rm MF
        !          1012: .rm MR
        !          1013: .rm RP
        !          1014: .rm I1
        !          1015: .rm I2
        !          1016: .rm I3
        !          1017: .rm I4
        !          1018: .rm I5
        !          1019: .rm CB
        !          1020: .rm E1
        !          1021: .rm E2
        !          1022: .de TL
        !          1023: .ft 3
        !          1024: .sp
        !          1025: .if n .ul 100
        !          1026: .ce 100
        !          1027: .LG
        !          1028: \\..
        !          1029: .de AU
        !          1030: .ft 2
        !          1031: .if n .ul 0
        !          1032: .ce 100
        !          1033: .sp
        !          1034: .NL
        !          1035: \\..
        !          1036: .de AI
        !          1037: .ft 1
        !          1038: .ce 100
        !          1039: .if n .ul 0
        !          1040: .if n .sp
        !          1041: .if t .sp .5
        !          1042: .NL
        !          1043: \\..
        !          1044: .RA
        !          1045: .rm RA
        !          1046: .rn FJ FS
        !          1047: .rn FK FE
        !          1048: .nf
        !          1049: .ev 1
        !          1050: .ps \\n(PS-2
        !          1051: .vs \\n(.s+2p
        !          1052: .ev
        !          1053: .if \\n(KG=0 .nr FP 0 
        !          1054: .if \\n(GA>1 .if \\n(KG=0 .nr GA 0 \" next UNIX must be flagged.
        !          1055: .nr KG 0 
        !          1056: .if \\n(FP>0 .FS
        !          1057: .if \\n(FP>0 .FG
        !          1058: .if \\n(FP>0 .FE
        !          1059: .br
        !          1060: .if \\n(TV>0 .if n .sp 2
        !          1061: .if \\n(TV>0 .if t .sp 1
        !          1062: .fi
        !          1063: .ll \\n(LLu
        !          1064: ..
        !          1065: .de RA \"redefine abstract macros
        !          1066: .de AB
        !          1067: .br
        !          1068: .if !\\n(1T .BG
        !          1069: .ce 1
        !          1070: .sp 1
        !          1071: .if \\n(.$=0 ABSTRACT
        !          1072: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no"  \\$1
        !          1073: .if \\n(.$=0 .sp
        !          1074: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no" .sp
        !          1075: .sp 1
        !          1076: .nr AJ 1
        !          1077: .in +\\n(.lu/12u
        !          1078: .ll -\\n(.lu/12u
        !          1079: .RT
        !          1080: \\..
        !          1081: .de AE
        !          1082: .nr AJ 0
        !          1083: .br
        !          1084: .in 0
        !          1085: .ll \\n(LLu
        !          1086: .if \\n(VS>40 .vs \\n(VSu
        !          1087: .if \\n(VS<=39 .vs \\n(VSp
        !          1088: \\..
        !          1089: ..
        !          1090: .      \"IP - indented paragraph
        !          1091: .de IP
        !          1092: .RT
        !          1093: .if !\\n(IP .nr IP +1
        !          1094: .sp \\n(PDu
        !          1095: .ne 3v
        !          1096: .if \\n(.$-1 .nr I\\n(IR \\$2n
        !          1097: .in +\\n(I\\n(IRu
        !          1098: .nr TY \\n(TZ-\\n(.i
        !          1099: .ta \\n(I\\n(IRu \\n(TYuR
        !          1100: .if \\n(.$>0 \{\
        !          1101: .ti -\\n(I\\n(IRu
        !          1102: \&\\$1\t\c\}
        !          1103: ..
        !          1104: .      \"LP - left aligned (block) paragraph
        !          1105: .de LP
        !          1106: .ti \\n(.iu
        !          1107: .RT
        !          1108: .if \\n(1T .sp \\n(PDu
        !          1109: .ne 1.1
        !          1110: ..
        !          1111: .de QP
        !          1112: .ti \\n(.iu
        !          1113: .RT
        !          1114: .if \\n(1T .sp \\n(PDu
        !          1115: .ne 1.1
        !          1116: .nr QP 1
        !          1117: .in +\\n(QIu
        !          1118: .ll -\\n(QIu
        !          1119: .ti \\n(.iu
        !          1120: ..
        !          1121: .      \"IE - synonym for .LP
        !          1122: .de IE
        !          1123: .LP
        !          1124: ..
        !          1125: .      \"LB - label paragraph
        !          1126: .de LB
        !          1127: .in +\\n(I\\n(IRu
        !          1128: .ta \\n(I\\n(IRu
        !          1129: .if \\n(.$ .ti -\\n(I\\n(IRu
        !          1130: .if \\n(.$ \&\\$1\t\c
        !          1131: ..
        !          1132: .de XP
        !          1133: .RT
        !          1134: .if !\\n(IP .nr IP +1
        !          1135: .sp \\n(PDu
        !          1136: .ne 3
        !          1137: .if \\n(.$-2 .nr I\\n(IR \\$3n
        !          1138: .in +\\n(I\\n(IRu
        !          1139: .ta \\n(I\\n(IRu/2u \\n(I\\n(IRu
        !          1140: .ti -\\n(I\\n(IRu
        !          1141: \0\\$1\t\\$2\t\c
        !          1142: ..
        !          1143: .      \"RS - prepare for double indenting
        !          1144: .de RS
        !          1145: .nr IS \\n(IP
        !          1146: .RT
        !          1147: .nr IP \\n(IS
        !          1148: .if \\n(IP>0 .in +\\n(I\\n(IRu
        !          1149: .nr IR +1
        !          1150: .nr I\\n(IR \\n(PIu
        !          1151: .in +\\n(I\\n(IRu
        !          1152: .nr TY \\n(TZ-\\n(.i
        !          1153: .ta \\n(TYuR
        !          1154: ..
        !          1155: .      \"RE - retreat to the left
        !          1156: .de RE
        !          1157: .nr IS \\n(IP
        !          1158: .RT
        !          1159: .nr IP \\n(IS
        !          1160: .nr IR -1
        !          1161: .if \\n(IP<=0 .in -\\n(I\\n(IRu
        !          1162: ..
        !          1163: .de TC
        !          1164: .nr TZ \\n(.lu
        !          1165: .if \\n(.$ .nr TZ \\$1n
        !          1166: .ta \\n(TZuR
        !          1167: ..
        !          1168: .de TD
        !          1169: .LP
        !          1170: .nr TZ 0
        !          1171: ..
        !          1172: .      \"CM - cut mark
        !          1173: .de CM
        !          1174: .po 0
        !          1175: .lt 7.6i
        !          1176: .ft 1
        !          1177: .ps 10
        !          1178: .vs 4p
        !          1179: .tl '--''--'
        !          1180: .po
        !          1181: .vs
        !          1182: .lt
        !          1183: .ps
        !          1184: .ft
        !          1185: ..
        !          1186: .      \"B - bold font
        !          1187: .de B
        !          1188: .nr PQ \\n(.f
        !          1189: .if t .ft 3
        !          1190: .if "\\$1"" .if n .ul 1000
        !          1191: .if !"\\$1"" .if n .ul 1
        !          1192: .if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
        !          1193: .if n .if \\n(.$=1 \&\\$1
        !          1194: .if n .if \\n(.$>1 \&\\$1\\c
        !          1195: .if n .if \\n(.$>1 \\&\\$2
        !          1196: ..
        !          1197: .      \"R - Roman font
        !          1198: .de R
        !          1199: .if n .ul 0
        !          1200: .ft 1
        !          1201: ..
        !          1202: .      \"I - italic font
        !          1203: .de I
        !          1204: .nr PQ \\n(.f
        !          1205: .if t .ft 2
        !          1206: .if "\\$1"" .if n .ul 1000
        !          1207: .if !"\\$1"" .if n .ul 1
        !          1208: .if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
        !          1209: .if n .if \\n(.$=1 \&\\$1
        !          1210: .if n .if \\n(.$>1 \&\\$1\\c
        !          1211: .if n .if \\n(.$>1 \\&\\$2
        !          1212: ..
        !          1213: .      \"TA - tabs set in ens or chars
        !          1214: .de TA
        !          1215: .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
        !          1216: ..
        !          1217: .      \"SM - make smaller size
        !          1218: .de SM
        !          1219: .ps -2
        !          1220: ..
        !          1221: .      \"LG - make larger size
        !          1222: .de LG
        !          1223: .ps +2
        !          1224: ..
        !          1225: .      \"NL - return to normal size
        !          1226: .de NL
        !          1227: .ps \\n(PS
        !          1228: ..
        !          1229: .      \"DA - force date; ND - no date or new date.
        !          1230: .de DA
        !          1231: .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
        !          1232: .ds CF \\*(DY
        !          1233: ..
        !          1234: .de ND
        !          1235: .ds DY \\$1 \\$2 \\$3 \\$4
        !          1236: .rm CF
        !          1237: ..
        !          1238: .if \n(mo-0 .ds MO January
        !          1239: .if \n(mo-1 .ds MO February
        !          1240: .if \n(mo-2 .ds MO March
        !          1241: .if \n(mo-3 .ds MO April
        !          1242: .if \n(mo-4 .ds MO May
        !          1243: .if \n(mo-5 .ds MO June
        !          1244: .if \n(mo-6 .ds MO July
        !          1245: .if \n(mo-7 .ds MO August
        !          1246: .if \n(mo-8 .ds MO September
        !          1247: .if \n(mo-9 .ds MO October
        !          1248: .if \n(mo-10 .ds MO November
        !          1249: .if \n(mo-11 .ds MO December
        !          1250: .if \n(dw-0 .ds DW Sunday
        !          1251: .if \n(dw-1 .ds DW Monday
        !          1252: .if \n(dw-2 .ds DW Tuesday
        !          1253: .if \n(dw-3 .ds DW Wednesday
        !          1254: .if \n(dw-4 .ds DW Thursday
        !          1255: .if \n(dw-5 .ds DW Friday
        !          1256: .if \n(dw-6 .ds DW Saturday
        !          1257: .ds DY \*(MO \n(dy, 19\n(yr
        !          1258: .IZ
        !          1259: .rm IZ
        !          1260: .rm MO
        !          1261: .de FN
        !          1262: .FS
        !          1263: ..
        !          1264: .      \"FS - begin footnote
        !          1265: .de FJ
        !          1266: 'ce 0
        !          1267: .ev1
        !          1268: .ll \\n(FLu
        !          1269: .da FF
        !          1270: .br
        !          1271: .if \\n(IF>0 .tm Footnote within footnote-illegal.
        !          1272: .nr IF 1
        !          1273: .if !\\n+(XX-1 .FA
        !          1274: ..
        !          1275: .      \"FE - footnote end
        !          1276: .de FK
        !          1277: .br
        !          1278: .in 0
        !          1279: .nr IF 0
        !          1280: .di
        !          1281: .ev
        !          1282: .if !\\n(XX-1 .nr dn +\\n(.v
        !          1283: .nr YY -\\n(dn
        !          1284: .if \\n(NX=0 .nr WF 1
        !          1285: .if \\n(dl>\\n(CW .nr WF 1
        !          1286: .if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
        !          1287: .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
        !          1288: .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
        !          1289: .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
        !          1290: ..
        !          1291: .\"    First page footer.
        !          1292: .de FS
        !          1293: .ev1
        !          1294: .br
        !          1295: .ll \\n(FLu
        !          1296: .da FG
        !          1297: ..
        !          1298: .de FE
        !          1299: .br
        !          1300: .di
        !          1301: .nr FP \\n(dn
        !          1302: .if \\n(1T=0 .nr KG 1 \"not in abstract repeat next page.
        !          1303: .if "\\n(.z"OD" .nr KG 0 \" if in OK, don't repeat.
        !          1304: .ev
        !          1305: ..
        !          1306: .de FA
        !          1307: .if n __________________________
        !          1308: .if t \l'1i'
        !          1309: .br
        !          1310: ..
        !          1311: .de FV
        !          1312: .FS
        !          1313: .nf
        !          1314: .ls 1
        !          1315: .FY
        !          1316: .ls
        !          1317: .fi
        !          1318: .FE
        !          1319: ..
        !          1320: .de FX
        !          1321: .if \\n(XX>0 .di FY
        !          1322: .if \\n(XX>0 .ns
        !          1323: ..
        !          1324: .de XF
        !          1325: .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
        !          1326: .ev1
        !          1327: .nf
        !          1328: .ls 1
        !          1329: .FF
        !          1330: .rm FF
        !          1331: .nr XX 0 1
        !          1332: .br
        !          1333: .ls
        !          1334: .di
        !          1335: .fi
        !          1336: .ev
        !          1337: ..
        !          1338: .de FL
        !          1339: .ev1
        !          1340: .nr FL \\$1n
        !          1341: .ll \\$1
        !          1342: .ev
        !          1343: ..
        !          1344: .de HO
        !          1345: Bell Laboratories
        !          1346: Holmdel, New Jersey 07733
        !          1347: ..
        !          1348: .de WH
        !          1349: Bell Laboratories
        !          1350: Whippany, New Jersey 07981
        !          1351: ..
        !          1352: .de IH
        !          1353: Bell Laboratories
        !          1354: Naperville, Illinois 60540
        !          1355: ..
        !          1356: .de UL \" underline argument, don't italicize
        !          1357: .if t \\$1\l'|0\(ul'\\$2
        !          1358: .if n .I \\$1 \\$2
        !          1359: ..
        !          1360: .em EM
        !          1361: . \"  ACCENTS  say \*'e or \*`e to get e acute or e grave
        !          1362: .ds ' \h'\w'e'u*4/10'\z\(aa\h'-\w'e'u*4/10'
        !          1363: .ds ` \h'\w'e'u*4/10'\z\(ga\h'-\w'e'u*4/10'
        !          1364: . \"  UMLAUT  \*:u, etc.
        !          1365: .ds : \v'-0.6m'\h'(1u-(\\n(.fu%2u))*0.13m+0.06m'\z.\h'0.2m'\z.\h'-((1u-(\\n(.fu%2u))*0.13m+0.26m)'\v'0.6m'
        !          1366: . \" TILDE and CIRCUMFLEX
        !          1367: .ds ^ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z^\h'|\\n:u'
        !          1368: .ds ~ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z~\h'|\\n:u'
        !          1369: .      \" czech v symbol
        !          1370: .ds C \\k:\\h'+\\w'e'u/4u'\\v'-0.6m'\\s6v\\s0\\v'0.6m'\\h'|\\n:u'
        !          1371: .ds v \\k:\\h'+\\w'e'u/4u'\\v'-0.6m'\\s6v\\s0\\v'0.6m'\\h'|\\n:u'
        !          1372: .              \" cedilla
        !          1373: .ds , \\k:\\h'\\w'c'u*0.4u'\\z,\\h'|\\n:u'
        !          1374: .de []
        !          1375: .][ \\$1
        !          1376: ..
        !          1377: .de ][
        !          1378: .if \\$1>5 .tm Bad arg to []
        !          1379: .[\\$1
        !          1380: ..
        !          1381: .if n .ds [. [
        !          1382: .if t .ds [. \s-2\v'-.4m'\f1
        !          1383: .if n .ds .] ]
        !          1384: .if t .ds .] \v'.4m'\s+2\fP
        !          1385: .if n .ds [o ""
        !          1386: .if n .ds [c ""
        !          1387: .if t .ds [o ``
        !          1388: .if t .ds [c ''
        !          1389: .de [5 \" tm style
        !          1390: .FS
        !          1391: .IP "\\*([F.\0"
        !          1392: \\*([A, \\f2\\*([T\\f1,
        !          1393: .ie \\n(TN \\*([M.
        !          1394: .el Bell Laboratories internal memorandum (\\*([D).
        !          1395: .RT
        !          1396: .FE
        !          1397: ..
        !          1398: .de [0 \" other
        !          1399: .FS
        !          1400: .IP "\\*([F.\0"
        !          1401: .if !"\\*([A"" \\*([A,
        !          1402: .if !"\\*([T"" \\f2\\*([T\\f1\c
        !          1403: .if !"\\*([T"" .if !"\\*([O"" ,\ 
        !          1404: .ie !"\\*([O"" \\*([O
        !          1405: .el .if !"\\*([T"" \&.
        !          1406: .if !"\\*([D"" \\*([D.
        !          1407: .RT
        !          1408: .FE
        !          1409: ..
        !          1410: .de [1 \" journal article
        !          1411: .FS
        !          1412: .IP "\\*([F.\0"
        !          1413: \\*([A,
        !          1414: .if !"\\*([T"" \\*([o\\*([T,\\*([c
        !          1415: .if "\\*([V"" \\f2\\*([J\\f1,
        !          1416: .if !"\\*([V"" \\f2\\*([J\\f1
        !          1417: .if !"\\*([V"" \{.if n Vol.\&
        !          1418: \\f3\\*([V\\f1\c\}
        !          1419: .if !"\\*([N"" (\\*([N)\c
        !          1420: .if !"\\*([P"" \{\
        !          1421: .ie \\n([P>0 \ pp.\&
        !          1422: .el \ p.\&
        !          1423: \\*([P\}
        !          1424: .if !"\\*([I"" .if "\\*([R"" \\*([I,
        !          1425: (\\*([D).
        !          1426: .if !"\\*([O"" \\*([O
        !          1427: .RT
        !          1428: .FE
        !          1429: ..
        !          1430: .de [2 \" book
        !          1431: .FS
        !          1432: .IP "\\*([F.\0"
        !          1433: \\*([A, \\f2\\*([T,\\f1
        !          1434: \\*([I\c
        !          1435: .if !"\\*([C"" , \\*([C\c
        !          1436:  (\\*([D).
        !          1437: .if !"\\*([G"" Gov't. ordering no. \\*([G
        !          1438: .if !"\\*([O"" \\*([O
        !          1439: .RT
        !          1440: .FE
        !          1441: ..
        !          1442: .de [4 \" report
        !          1443: .FS
        !          1444: .IP "\\*([F.\0"
        !          1445: \\*([A, \\*([o\\*([T,\\*([c
        !          1446: \\*([R\c
        !          1447: .if !"\\*([G"" \& (\\*([G)\c
        !          1448: .if !"\\*([I"" ,  \\*([I\c
        !          1449: .if !"\\*([C"" ,  \\*([C\c
        !          1450:  (\\*([D).
        !          1451: .if !"\\*([O"" \\*([O
        !          1452: .RT
        !          1453: .FE
        !          1454: ..
        !          1455: .de [3 \" article in book
        !          1456: .FS
        !          1457: .IP "\\*([F.\0"
        !          1458: \\*([A, \\*([o\\*([T,\\*([c
        !          1459: .if !"\\*([P"" pp. \\*([P
        !          1460: in \\f2\\*([B\\f1, \c
        !          1461: .if !"\\*([E"" ed. \\*([E,\c
        !          1462: .if !"\\*([I"" \\*([I\c
        !          1463: .if !"\\*([C"" ,  \\*([C\c
        !          1464:  (\\*([D).
        !          1465: .if !"\\*([O"" \\*([O
        !          1466: .RT
        !          1467: .FE
        !          1468: ..
        !          1469: .de [<
        !          1470: .]<
        !          1471: ..
        !          1472: .de ]<
        !          1473: .SH
        !          1474: References
        !          1475: .LP
        !          1476: .rm FS FE
        !          1477: ..
        !          1478: .de [>
        !          1479: .]>
        !          1480: ..
        !          1481: .de ]>
        !          1482: .sp
        !          1483: ..
        !          1484: .de [-
        !          1485: .]-
        !          1486: ..
        !          1487: .de ]-
        !          1488: .rm [V [P [A [T [N [C [B [O [R [I [E [D
        !          1489: ..
        !          1490: .de UX
        !          1491: .ie \\n(GA>0 \\$2\s-2UNIX\s0\\$1
        !          1492: .el \{\
        !          1493: .if n \\$2UNIX\\$1*
        !          1494: .if t \\$2\s-2UNIX\\s0\\$1\\f1\(dg\\fP
        !          1495: .FS
        !          1496: .if n *UNIX
        !          1497: .if t \(dgUNIX
        !          1498: .ie \\$3=1 is a Footnote of Bell Laboratories.
        !          1499: .el is a Trademark of Bell Laboratories.
        !          1500: .FE
        !          1501: .nr GA 1\}
        !          1502: ..
        !          1503: .de US
        !          1504: the
        !          1505: .UX
        !          1506: operating system
        !          1507: ..
        !          1508: .de QS
        !          1509: .br
        !          1510: .in +\\n(QIu
        !          1511: .ll -\\n(QIu
        !          1512: .LP
        !          1513: ..
        !          1514: .de QE
        !          1515: .br
        !          1516: .ll +\\n(QIu
        !          1517: .in -\\n(QIu
        !          1518: .LP
        !          1519: ..
        !          1520: .de B1 \" begin boxed stuff
        !          1521: .br
        !          1522: .di BB
        !          1523: .nr BC 0
        !          1524: .if "\\$1"C" .nr BC 1
        !          1525: .nr BE 1
        !          1526: ..
        !          1527: .de B2 \" end boxed stuff
        !          1528: .br
        !          1529: .nr BI 1n
        !          1530: .if \\n(.$>0 .nr BI \\$1n
        !          1531: .di
        !          1532: .nr BE 0
        !          1533: .nr BW \\n(dl
        !          1534: .nr BH \\n(dn
        !          1535: .ne \\n(BHu+\\n(.Vu
        !          1536: .nr BQ \\n(.j
        !          1537: .nf
        !          1538: .ti 0
        !          1539: .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
        !          1540: .in +\\n(BIu
        !          1541: .BB
        !          1542: .in -\\n(BIu
        !          1543: .nr BW +2*\\n(BI
        !          1544: .sp -1
        !          1545: \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
        !          1546: .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
        !          1547: .if \\n(BQ .fi
        !          1548: .br
        !          1549: ..
        !          1550: .de AT
        !          1551: .nf
        !          1552: .sp
        !          1553: .ne 2
        !          1554: Attached:
        !          1555: ..
        !          1556: .de CT
        !          1557: .nf
        !          1558: .sp
        !          1559: .ne 2
        !          1560: .ie \\n(.$ Copy to \\$1:
        !          1561: .el Copy to:
        !          1562: ..
        !          1563: .de BX
        !          1564: .if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
        !          1565: .if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
        !          1566: ..

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.