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