|
|
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: ..
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.