÷ƒ’À;è TeX output 1995.03.25:2323‹ÿÿÿÿ í ’‰d ó2Ù“ Rj~cmr7ÝA–´-torture“test“for“T‘ü±ˆŸ¿ÐEŽ‘–PXŽŸ’¾+óKñ`y cmr10«bš¸ãy–UUDonald“E.“Kn˜uthŽ¤ ’À HStanford‘UUUniv•¸ãersit“yŽŸ’±÷ (ó!p®0J cmsl10ÌV‘ÿ*ªersion–UU3,“Jan¸ãuary“1990‘ËÜ«)Ž FºŸè‘ZVgPrograms–·ÿthat“claim“to“bšGe“implemen¸ãtations“of“T‘þU>Ÿ'EŽ‘ãxX82“are“supp˜osedŽ¡‘ZVgto–ïÀbšGe“able“to“pro˜cess“the“test“routine“con¸ãtained“in“this“rep˜ort,Ž¡‘ZVgprošGducing–UUthe“outputs“con¸ãtained“in“this“rep˜ort.ŽŽŽŸ#ó|{Ycmr8­The–preparation“of“this“repšhthe“goal“is“to“mak˜e“it“fail“(un˜til“the“bugs“ha˜v˜e“allŽ¡bGeen‘UUfound).Ž¦‘T‘ÿ*ªo–S…write“sucš¸ãh“a“ endish“test“routine,‘‡one“simply“gets“in˜to“a“nast˜y“frame“of“mind“and“tries“to“do“ev˜erythingŽ¡in–_cthe“unexpšGected“w•¸ãa“y‘ÿ*ª.‘ðP“arameters–_cthat“are“normally“p˜ositivš¸ãe“are“set“negativ˜e“or“zero;‘dibGorderline“cases“areŽ¡pushed–«Þto“the“limit;‘ä[delibšGerate“errors“are“made“in“hop˜es“that“the“compiler“will“not“b˜e“able“to“reco•¸ãv“er‘«Þprop˜erlyŽ¡from‘UUthem.Ž¦‘A‘ýuser's–ŽNapplication“tends“to“exercise“50%“of“a“compiler's“logic,‘Ü‹but“m¸ãy“ rst“ endish“tests“tend“toŽ¡impro•¸ãv“e– this“to“abGout“90%.‘X²As“the“next“step“I‘ generally“makš¸ãe“use“of“frequency-coun˜ting“soft˜w˜are“to“iden˜tifyŽ¡the–Binstructions“that“ha•¸ãv“e–Bstill“not“bšGeen“called“up˜on.‘k_Then“I‘Badd“ev¸ãer“more“ endishness“to“the“test“routine,Ž¡un¸ãtil–+Ómore“than“99%“of“the“cošGde“has“b˜een“used“at“least“once.‘cñ(The“remaining“bits“are“things“that“can“o˜ccurŽ¡only–u™if“the“source“program“is“really“h¸ãuge,‘}ªor“if“certain“fatal“errors“are“detected;‘…¼or“they“are“cases“so“similarŽ¡to–UUother“wš¸ãell-tested“things“that“there“can“bGe“little“doubt“of“their“v‘ÿqÇalidit˜y‘ÿ*ª.)Ž¦‘Of–"icourse,‘,™this“is“not“guaranš¸ãteed“to“w˜ork.‘`ÎBut“m˜y“expGerience“in“1960“w˜as“that“only“t˜w˜o“bugs“w˜ere“ev˜erŽ¡found–in“that“­ALGOL‘q«compiler“after“it“correctly“translated“that“original“ endish“test.‘\ÖAnd“one“of“those“bugsŽ¡wš¸ãas–±¨actually“presen˜t“in“the“results“of“the“test;‘ßÑI‘±simply“had“failed“to“notice“that“the“output“w˜as“incorrect.Ž¡Similar–híexpšGeriences“o˜ccurred“later“during“the“60s“and“70s,‘mÓwith“resp˜ect“to“a“few“assem¸ãblers,–mÓcompilers,“andŽ¡sim¸ãulators–UUthat“I“wrote.Ž¦‘This–ç´methošGd“of“debugging,‘ Kcom¸ãbined“with“the“metho˜dology“of“structured“programming“and“informalŽ¡proGofs–Ü¥(otherwise“knoš¸ãwn“as“careful“desk“c˜hec˜king),‘þxleads“to“greater“reliabilit˜y“of“proGduction“soft˜w˜are“thanŽ¡anš¸ãy–•¥other“methoGd“I‘•”kno˜w.‘2¶Therefore“I‘•”ha˜v˜e“used“it“in“dev˜eloping“T‘þU>Ÿ'EŽ‘ãxX82,‘¥¸and“the“main“bulk“of“this“repGortŽ¡is–UUsimply“a“presenš¸ãtation“of“the“test“program“that“w˜as“used“to“get“the“bugs“out“of“T‘þU>Ÿ'EŽ‘ãxX.Ž¦‘Suc¸ãh–=Üa“test“ le“is“useful“also“after“a“program“has“bšGeen“debugged,‘wýsince“it“can“b˜e“used“to“giv¸ãe“someŽ¡assurance–UUthat“subsequen¸ãt“moGdi cations“don't“mess“things“up.Ž¦‘The–¹þtest“ le“is“called“óßêŸ'EŽ‘ãxX“is“pronounced“\tec˜hhh",Ž¡so–the“name“reminded“me“of“a“tript•¸ãyc“h–(and“bGesides,‘EI‘îw•¸ãan“ted–to“tak¸ãe“a“trip“through“the“program“whileŽ¡tripping–UUit“up,“etc.).Ž¦‘The›#žcon•¸ãten“ts˜of˜this˜test˜ le˜are˜so˜remote˜from˜what˜p•Geople˜actually˜do˜with˜T‘þU>Ÿ'EŽ‘ãxX,˜I‘#‘feel˜ap“ologetic˜if˜IŽ¡ha•¸ãv“e–#to“explain“the“correct“translation“of“ÈTRIP.TEXŽ‘- «;‘)4nob•Go“dy–#really“cares“abGout“most“of“the“nitt•¸ãy-gritt“y‘#rulesŽŽŒ‹‚Ÿ€«2’ÄFç­INTRÃŽODUCTIONŽ ³Ú ý†Ì&«that–Ç“are“in•¸ãv“olv“ed.‘È€Y‘ÿ*ªet›Ç“I‘ÇubGeliev“e˜ÈTRIPŽ‘«exempli es˜the˜sort˜of˜test˜program˜that˜has˜outstanding˜diagnosticŽ¤ abilitš¸ãy‘ÿ*ª,–UUas“explained“abGo˜v˜e.Ž©‘If›Æsomeb•Go“dy˜claims˜to˜ha•¸ãv“e˜a˜correct˜implemen“tation˜of˜T‘þU>Ÿ'EŽ‘ãxX,˜I‘Å©will˜not˜bGeliev“e˜it˜un“til˜I‘Å©see˜thatŽ¡ÈTRIP.TEXŽ‘.œ«is–´translated“prop•Gerly‘ÿ*ª.‘ÍäI‘€prop“ose,–Q in›´fact,“that˜a˜program˜m•¸ãust˜meet˜t“w“o˜criteria˜bGefore˜it˜canŽ¡justi ably–²ÙbšGe“called“T‘þU>Ÿ'EŽ‘ãxX:“(1)“The“p˜erson“who“wrote“it“m¸ãust“b˜e“happš¸ãy“with“the“w˜a˜y“it“w˜orks“at“his“or“herŽ¡installation;–UUand“(2)“the“program“m¸ãust“proGduce“the“correct“results“from“ÈTRIP.TEXŽ‘-U=«.Ž¦‘T‘þU>Ÿ'EŽ‘ãxX– óis“in“the“public“domain,‘9šand“its“algorithms“are“published;‘gBI'vš¸ãe“done“this“since“I‘ Ädo“not“w˜an˜t“toŽ¡discourage–•¹its“use“bš¸ãy“placing“proprietary“restrictions“on“the“soft˜w˜are.‘1éHo˜w˜ev˜er,‘¼ I‘•ˆdon't“w˜an˜t“fault˜y“imitationsŽ¡to–’ømasquerade“as“T‘þU>Ÿ'EŽ›ãxX“proGcessors,‘¢asince“users“w•¸ãan“t–’øT‘þU>Ÿ'EŽ˜X“to“proGduce“idenš¸ãtical“results“on“di eren˜t“mac˜hines.Ž¡Hence–¸“I›¸kam“planning“to“do“whatev¸ãer“I˜can“to“suppress“anš¸ãy“systems“that“call“themselv˜es“T‘þU>Ÿ'EŽ‘ãxX“without“meetingŽ¡conditions–_Þ(1)“and“(2).‘‘cI‘_Üha•¸ãv“e›_Þcop“yrigh“ted˜the˜programs˜so˜that˜I‘_Üha“v“e˜some˜c“hance˜to˜forbid˜unauthorizedŽ¡copies;–UUI“explicitly“authorize“copš¸ãying“of“correct“T‘þU>Ÿ'EŽ‘ãxX“implemen˜tations,“and“not“of“incorrect“ones!Ž¦‘The–O¤remainder“of“this“repšGort“consists“of“app˜endices,‘PÇwhose“con•¸ãten“ts›O¤ough“t˜to˜b•Ge˜describ“ed˜brie y˜here:Ž¦‘AppGendix–kA‘kexplains“in“detail“hoš¸ãw“to“carry“out“a“test“of“T‘þU>Ÿ'EŽ‘ãxX,“giv˜en“a“tapGe“that“con˜tains“copies“of“theŽ¡other‘UUappGendices.Ž¦‘AppšGendix–!¹B‘!¬is“ÈTRIP.TEXŽ‘-!¡«,‘, the“ endish“test“ le“that“has“already“b˜een“men•¸ãtioned.‘`“P“eople–!¹who“think“thatŽ¡they–ˆÝunderstand“T‘þU>Ÿ'EŽ‘ãxX“are“cš¸ãhallenged“to“see“if“they“kno˜w“what“T‘þU>Ÿ'EŽ‘ãxX“is“suppGosed“to“do“with“this“ le.‘ _P˜eopleŽ¡who–sµknoš¸ãw“only“a“little“abGout“T‘þU>Ÿ'EŽ‘ãxX“migh˜t“still“ nd“it“in˜teresting“to“study“AppGendix“B,“just“to“get“someŽ¡insigh•¸ãts›UUin“to˜the˜methoGdology˜adv“oGcated˜here.Ž¦‘AppšGendix–ùC‘èis“ÈTRIP.PLŽ‘'Ñä«,‘rthe“prop˜ert¸ãy-list“description“of“a“sp˜ecial“fonš¸ãt“called“ÈtripŽ‘í«.‘[SThis“is“the“only“fon˜tŽ¡used–/bš¸ãy“ÈTRIP.TEXŽ‘.«.‘‡UThere“are“no“graphic“c˜haracters“assošGciated“with“ÈtripŽ‘R«that“could“p˜ossibly“b˜e“prin¸ãted;Ž¡indeed,‘É‹ÈTRIP.PLŽ‘*0«describšGes–¦˜the“prop˜erties“of“a“fonš¸ãt“that“is“as“w˜eird“as“the“\doGcumen˜t"“describGed“b˜y“ÈTRIP.TEXŽ‘,¦€«.Ž¦‘AppGendix–ßzD‘ßis“ÈTRIPIN.LOGŽ‘9_\«,‘Ba“correct“transcript“ le“ÈTRIP.LOGŽ‘3¾Ü«that“results“if“ÈINITEXŽ‘)>â«is“applied“toŽ¡ÈTRIP.TEXŽ‘)ÿè«.‘d³(ÈINITEXŽ‘"®«is–.the“name“of“a“v¸ãersion“of“T‘þU>Ÿ'EŽ‘ãxX“that“doGes“certain“initializations;‘;-this“run“of“ÈINITEXŽ‘%Ü «alsoŽ¡creates–UUa“binary“format“ le“called“ÈTRIP.FMTŽ‘-U=«.)Ž¦‘AppGendix–¤mE‘¤Yis“a“correct“transcript“ le“ÈTRIP.LOGŽ‘1H«that“results“if“ÈINITEXŽ‘&ÈÈ«or“anš¸ãy“other“v˜ersion“of“T‘þU>Ÿ'EŽ‘ãxX“isŽ¡applied–UUto“ÈTRIP.TEXŽ‘0ª’«with“format“ÈTRIP.FMTŽ‘-U=«.Ž¦‘AppšGendix–|ÍF‘|Âis“ÈTRIP.TYPŽ‘-|µ«,‘†ªthe“sym¸ãb˜olic“vš¸ãersion“of“a“correct“output“ le“ÈTRIP.DVIŽ‘0ù‚«that“w˜as“proGduced“atŽ¡the–UUsame“time“as“the“ÈTRIP.LOGŽ‘0ª’« le“of“AppGendix“E.Ž¦‘AppšGendix–UUG“is“ÈTRIPOS.TEXŽ‘7Õ7«,“a“short“ le“written“out“and“read“in“b¸ãy“T‘þU>Ÿ'EŽ‘ãxX“when“it“pro˜cesses“ÈTRIP.TEXŽ‘-U=«.Ž¦‘AppšGendix–)H‘üis“ÈTRIP.FOTŽ‘.«,‘2^an“abbreviated“v¸ãersion“of“App˜endix“E‘üthat“app˜ears“on“the“user's“terminalŽ¡during–UUthe“run“that“proGduces“ÈTRIP.LOGŽ‘0ª’«and“ÈTRIP.DVIŽ‘-U=«.Ž¦‘The–Ä­debugging“of“T‘þU>Ÿ'EŽ‘ãxX“and“the“testing“of“the“adequacy“of“ÈTRIP.TEXŽ‘1‰B«could“not“ha•¸ãv“e–Ä­bGeen“done“nearlyŽ¡as–Hwš¸ãell“as“repGorted“here“except“for“the“magni cen˜t“soft˜w˜are“suppGort“pro˜vided“b˜y“m˜y“colleague“Da˜vid“R.Ž¡F‘ÿ*ªucš¸ãhs.‘èIn–'iparticular,‘[îhe“extended“our“loGcal“P˜ascal“compiler“so“that“frequency“coun˜ting“and“a“n˜um˜bGer“ofŽ¡other–UUimpGortanš¸ãt“features“w˜ere“added“to“its“online“debugging“abilities.Ž¦‘The–ÆXmethošGd“of“testing“adv¸ão˜cated“here“has“one“cš¸ãhief“dicult˜y“that“deserv˜es“commen˜t:‘SÍI‘Æ;had“to“v˜erifyŽ¡bš¸ãy–;hand“that“T‘þU>Ÿ'EŽ‘ãxX“did“the“righ˜t“things“to“ÈTRIP.TEXŽ‘.:ú«.‘"ýThis“toGok“man˜y“hours,‘t€and“pGerhaps“I‘:Öha˜v˜e“missedŽ¡something–¡û(as“I›¡çdid“in“1960);‘ÈNI˜m¸ãust“confess“that“I˜ha•¸ãv“e–¡ûnot“c•¸ãhec“k“ed›¡ûev“ery˜single˜n“um“b•Ger˜in˜App“endices˜EŽ¡and–Ñ5F.“Ho•¸ãw“ev“er,‘ð-I'm–Ñ5willing“to“paš¸ãy“$327.68“to“the“ rst“ nder“of“an˜y“remaining“bug“in“T‘þU>Ÿ'EŽ‘ãxX,“and“I‘Ñwill“bGeŽ¡surprised–ý¯if“that“bug“došGesn't“sho¸ãw“up“also“in“App˜endix“E.“(I‘ý™plan“to“write“a“tec¸ãhnical“rep˜ort“ab˜out“all“of“theŽ¡errors–Á½ultimately“found“in“T‘þU>Ÿ'EŽ‘ãxX;“that“repGort“will“tell“whether“anš¸ãy“bugs“are“disco˜v˜ered“bGet˜w˜een“no˜w“and“then!)ŽŽŒ‹©Ÿ€’ ­APPENDIX–ÕXA:“HOÃŽW“TO“TEST“T‘þ•AŸ¸ãEŽ‘MX’¢ò_«3Ž ³Ú ý†Ì&ÂAppQÇendix–ÕTA:“Ho®9w“to“test“T‘þ<Ÿ8ãEŽ‘3sX.Ž©O³‘8â«0.Ž‘Let's–¸xassume“that“yš¸ãou“ha˜v˜e“a“tapGe“con˜taining“ÈTRIP.TEXŽ‘-¸`«,‘Ñ@ÈTRIP.PLŽ‘(‘+«,‘Ñ@ÈTRIPIN.LOGŽ‘8Q"«,‘Ñ@ÈTRIP.LOGŽ–-Ñ(«,‘Ñ@ÈTRIP.TYPŽ“«,Ž¤ ñ‘and‘FüÈTRIP.FOTŽ‘.Fä«,›ƒeas–Füin“AppGendices“B,“C,“D,“E,“F,“and“G.“F‘ÿ*ªurthermore,˜let's“suppGose“that“yš¸ãou“ha˜v˜e“aŽ¡‘wš¸ãorking‘ðìÈWEBŽ‘¡Ï«system,‘Ñand–ðìthat“y˜ou“ha˜v˜e“w˜orking“programs“ÈTFtoPLŽ‘#pÚ«,‘ÑÈPLtoTFŽ‘#—¿«,‘ÑÈDVItypeŽ‘(×¼«,‘Ñas“describGed“inŽ¡‘the–UUT‘þU>Ÿ'EŽ‘ãxXw¸ãare“repGort.Ž¦‘8â1.Ž‘Use‘$ÈPLtoTFŽ‘'É«to›$con•¸ãv“ert˜ÈTRIP.PLŽ‘- «in“to˜ÈTRIP.TFMŽ‘.$u«.‘ßnThen˜use˜ÈTFtoPLŽ‘'É«to˜con“v“ert˜ÈTRIP.TFMŽ‘2I«in“to˜ÈTMP.PLŽ‘#¤{«.Ž¡‘Checš¸ãk–x±that“ÈTMP.PLŽ‘$qP«is“iden˜tical“to“ÈTRIP.PLŽ‘)±M«(this“is“a“partial“test“of“ÈPLtoTFŽ‘$qP«and“ÈTFtoPLŽ‘!øŸ«).‘(Ÿ'EŽ‘ãxX“fon¸ãt“metric“ les.Ž¦‘8â2.Ž‘Prepare–œ#a“spGecial“vš¸ãersion“of“ÈINITEXŽ‘#«.‘F1(This“means“that“y˜our“ÈWEBŽ‘ø=«c˜hange“ le“should“ha˜v˜e“Âinit“«and“ÂtiniŽ¡‘«de ned–>8to“bšGe“n¸ãull.)‘jThe“Âstat“«and“Âtats“«macros“should“also“b˜e“nš¸ãull,‘BØso“that“statistics“are“k˜ept“and“otherŽ¡‘spGecial–µ{features“are“enabled.‘’9Set“ó$ý': cmti10Ïmem‘‰ffŽ‘®minŽ‘22µ«and“Ïmem‘‰ffŽ‘®b‘ÿ}'otŽ‘.û«equal“to“1,‘Í„and“set“Ïmem‘‰ffŽ‘®topŽ‘.½m«and“Ïmem‘‰ffŽ‘®maxŽŽ¡‘«equal–Pgto“3000,›+for“purpGoses“of“this“test“v¸ãersion.‘býAlso“set“Ïerr‘ÿ}'or‘‰ffŽ‘®lineŽ‘3\ì«=–i‰64,˜Ïhalf‘‰ffŽ–®err‘ÿ}'or‘‰ffŽ“lineŽ‘G!ë«=“32,˜andŽ¡‘Ïmax‘‰ffŽ–®print‘‰ffŽ“lineŽ‘W;ø«=‘€A72;‘ûûthese–Änparameters“a ect“manš¸ãy“of“the“lines“of“the“test“output,‘à4so“y˜our“job“will“bGeŽ¡‘m•¸ãuc“h–fÆeasier“if“yš¸ãou“use“the“same“settings“that“w˜ere“used“to“prošGduce“App˜endix“E.“Y‘ÿ*ªou“probably“should“alsoŽ¡‘use–Ìthe“\normal"“settings“of“other“parameters“found“in“ÈTEX.WEBŽ‘*ル(e.g.,‘NÏstack‘‰ffŽ‘®sizeŽ‘0h®«=–Ç200,‘NÏfont‘‰ffŽ‘®maxŽ‘.XW«=“75,Ž¡‘etc.),‘4Zsince–¿these“shoš¸ãw“up“in“a“few“lines“of“the“test“output.‘‰Y‘ÿ*ªour“test“v˜ersion“should“not“c˜hange“theŽ¡‘default–UUde nition“of“unprinš¸ãtable“c˜haracters“(ó !",š cmsy10·xŽ‘qÉ«49“of“the“program).Ž¦‘8â3.Ž‘Run–9the“ÈINITEXŽ‘#ò«prepared“in“step“2.‘ In“respšGonse“to“the“ rst“`È**Ž‘ ú«'“prompt,‘qòt¸ãyp˜e“carriage“return“(th¸ãus“gettingŽ¡‘another–œ `È**Ž‘ ú«').›F)Then“t¸ãypGe“`È\input‘?ýtripŽ‘9¿ß«'.˜Y‘ÿ*ªou“should“get“an“output“that“matc¸ãhes“the“ le“ÈTRIPIN.LOGŽŽ¡‘«(AppšGendix–½D).“Don't“b˜e“alarmed“bš¸ãy“the“error“messages“that“y˜ou“see,‘Û{unless“they“are“di eren˜t“from“thoseŽ¡‘in–UUAppGendix“D.Ž¦‘8â4.Ž‘Run‘ÖçÈINITEXŽ‘'-¼«again.›ö|This–Öçtime“t¸ãypGe“`È &trip trip Ž‘D?Ù«'.˜(The“spaces“in“this“input“help“to“c•¸ãhec“k‘ÖçcertainŽ¡‘parts–p¹of“T‘þU>Ÿ'EŽ‘ãxX“that“aren't“otherwise“used.)‘%“Y‘ÿ*ªou“should“get“outputs“ÈTRIP.LOGŽ‘,p¡«,‘žrÈTRIP.DVIŽ‘,žZ«,‘žrand“ÈTRIPOS.TEXŽ‘6ð›«;Ž¡‘there– õwill“also“bGe“an“emptš¸ãy“ le“È8TERMINAL.TEXŽ‘GMΫ.‘YüF‘ÿ*ªurthermore,‘;y˜our“terminal“should“receiv˜e“output“thatŽ¡‘matcš¸ãhes‘üÈTRIP.FOTŽ‘/ø«(AppGendix–üH).“During“the“middle“part“of“this“test,– ëho˜w˜ev˜er,“the–üterminal“will“not“bGeŽ¡‘getting–†,output,‘’abšGecause“È\batchmodeŽ‘;Œ:«is“b˜eing“tested;‘ž—don't“w¸ãorry“if“nothing“seems“to“b˜e“happ˜ening“forŽ¡‘a–UUwhile|nothing“is“suppGosed“to.Ž¦‘8â5.Ž‘Compare–Mthe“ÈTRIP.LOGŽ›0›"« le“from“step“4“with“the“\master"“ÈTRIP.LOGŽ˜« le“of“step“0.‘o4(Let's“hopGe“y¸ãou“putŽ¡‘that–Óämaster“ le“in“a“safe“place“so“that“it“w¸ãouldn't“bšGe“clobb˜ered.)‘íuThere“should“b˜e“p˜erfect“agreemen¸ãtŽ¡‘bšGet•¸ãw“een–UUthese“ les“except“in“the“follo¸ãwing“resp˜ects:Ž¦‘pa)Ž‘(The–UUdates“and“pšGossibly“the“ le“names“will“naturally“b˜e“di eren¸ãt.Ž¦‘Ž7b)Ž‘(Glue–f"settings“in“the“displaš¸ãys“of“T‘þU>Ÿ'EŽ‘ãxX“bGo˜xes“are“sub‘Ž8ject“to“system-depGenden˜t“rounding,‘ªUso“sligh˜tŽ¡‘(deviations– Åare“pGermissible.‘THo•¸ãw“ev“er,‘ó suc“h– Ådeviations“apply“only“to“the“`Èglue‘?ýsetŽ‘)ÿè«'“v‘ÿqÇalues“thatŽ¡‘(appGear– ·at“the“end“of“an“È\hboxŽ› W_«or“È\vboxŽ˜«line;‘$Aall“other“n•¸ãum“bGers– ·should“agree“exactly‘ÿ*ª,‘psince“they“areŽ¡‘(computed–UUwith“in¸ãteger“arithmetic“in“a“prescribšGed“system-indep˜enden¸ãt“manner.Ž¦‘ªªc)Ž‘(The–åìamounš¸ãt“of“space“in“k˜erns“that“are“mark˜ed“\for“accen˜t"“are,–Jsimilarly‘ÿ*ª,“sub‘Ž8ject–åìto“system-Ž¡‘(depGenden¸ãt‘UUrounding.Ž¦‘Ž7d)Ž‘(If–Ê£yš¸ãou“had“di eren˜t“v‘ÿqÇalues“for“Ïstack‘‰ffŽ‘®sizeŽ‘.Lë«,‘çöÏbuf‘‰ffŽ‘®sizeŽ‘%¹è«,–çöetc.,“the–Ê£correspGonding“capacit˜y“v‘ÿqÇalues“will“bGeŽ¡‘(di erenš¸ãt–UUwhen“they“are“prin˜ted“out“at“the“end.Ž¦‘ªªe)Ž‘(Help–9[messages“maš¸ãy“bGe“di eren˜t;‘˜indeed,‘r'the“author“encourages“non-English“help“messages“in“v˜ersionsŽ¡‘(of–UUT‘þU>Ÿ'EŽ‘ãxX“for“pGeople“who“don't“understand“English“as“w¸ãell“as“some“other“language.Ž¦‘Gf‘Ç)Ž‘(The–UUtotal“n•¸ãum“bGer–UUand“length“of“strings“at“the“end“maš¸ãy“w˜ell“bGe“di eren˜t.Ž¦‘pg)Ž‘(If–Lyš¸ãour“T‘þU>Ÿ'EŽ‘ãxX“uses“a“di eren˜t“memory“alloGcation“or“pac˜king“sc˜heme“or“ÈDVIŽ‘Ü«output“logic,‘the“memoryŽ¡‘(usage–UUstatistics“maš¸ãy“c˜hange.Ž¦‘8â6.Ž‘Use‘Ë×ÈDVItypeŽ‘*W™«to›Ë×con•¸ãv“ert˜y“our˜ le˜ÈTRIP.DVIŽ‘/—–«to˜a˜ le˜ÈTRIP.TYPŽ‘,Ë¿«.‘CóThe˜follo“wing˜options˜should˜bGe˜set˜whenŽ¡‘using‘UUÈDVItypeŽ‘(@«:ŽŸ:éòŸÐ‘l@´Output–UUlev¸ãel“=“2ŽŽ¤ ‘l@´Starting–UUpage“=“È*.*.*.*.*.*.*.*.*.*ŽŽŽ¡‘l@´«Num¸ãbGer–UUof“pages“=“1000000Ž’(«4(this–UUis“the“default)ŽŽ¡‘l@´Resolution–UU=“7227/100Ž’\÷(this–UUis“one“pšGoin¸ãt“p˜er“pixel)ŽŽ¡‘l@´New–UUmagni cation“=“0Ž’(«4(this–UUis“the“default)ŽŽŽŽŽŒ‹0?Ÿ€«4’ ­APPENDIX–ÕXA:“HOÃŽW“TO“TEST“T‘þ•AŸ¸ãEŽ‘MXŽ ³Ú ý†Ì&‘«The–}ìresulting“ le“should“agree“with“the“master“ÈTRIP.TYPŽ‘0ûÀ« le“of“step“0,‘ˆexcept“that“some“of“the“v‘ÿqÇaluesŽ¤ ‘migh¸ãt–!®bšGe“a“little“o “due“to“ oating-p˜oinš¸ãt“rounding“discrepancies.‘`F‘ÿ*ªurthermore“there“ma˜y“bGe“di erencesŽ¡‘bšGet•¸ãw“een–Ù.`ÏrightŽ‘ƹ«'“and“`ÏwŽ‘;_«'“and“`ÏxŽ‘Z««'“commands,‘òand“b˜et•¸ãw“een–Ù.`ÏdownŽ‘Ä]«'“and“`ÏyŽ‘@Z«'“and“`ÏzŽ‘ÔE«';‘‘the“k¸ãey“thing“is“that“allŽ¡‘c¸ãharacters–oöand“rules“and“ÏxxxŽ‘»«'s“should“bšGe“in“almost“the“same“p˜ositions“as“sp˜eci ed“in“App˜endix“F.“(If“y¸ãourŽ¡‘ÈDVIŽ‘#¿÷«-writing–®Aroutines“di er“substanš¸ãtially“from“those“in“ÈTEX.WEBŽ‘(n,«,‘Ä|y˜ou“ma˜y“w˜an˜t“to“write“a“ÈDVIcompareŽŽ¡‘«program–aóthat“detects“anš¸ãy“substan˜tiv˜e“di erences“bGet˜w˜een“t˜w˜o“giv˜en“ÈDVIŽ‘ƒÝ« les.‘— Suc˜h“a“routine“w˜ould“bGeŽ¡‘of–6general“use“bGesides.‘g[On“the“other“hand,‘Ÿ'EŽ‘ãxX“(i.e.,‘élÈVIRTEXŽ‘)õ«or“a“proGduction“v˜ersionŽ¡‘with–ß¡other“fonš¸ãts“and“macros“preloaded).‘ªIt“should“w˜ork“unless“T‘þU>Ÿ'EŽ‘ãxX's“primitiv˜es“ha˜v˜e“bGeen“rede ned.Ž¡‘Ho•¸ãw“ev“er,›±sthis–Ÿstep“isn't“essen¸ãtial,˜since“all“the“cošGde“of“ÈVIRTEXŽ‘&½ü«app˜ears“in“ÈINITEXŽ‘#õ«;‘Ãàyš¸ãou“probably“w˜on'tŽ¡‘catc•¸ãh›k¿an“y˜more˜errors˜this˜w“a“y‘ÿ*ª,‘šwunless˜they˜w“ould˜already˜bGecome˜ob“vious˜from˜normal˜use˜of˜the˜system.ŽŽŒ‹H;Ÿ€’žZ­APPENDIX–ÕXB:“THE“ÈTRIP.TEXŽ‘/ª˜­FILE’ ó²«5Ž ³Ú ý†Ì&ÂAppQÇendix–10\else\dimen5=\count4ptŽ¡‘£Š®86Ž‘3îÈ\advance\dimen5–?ýby“10ptŽ¡‘£Š®87Ž‘3îÈ\xdef\a{\a\the\count4pt‘?ý\the\dimen5}Ž¡‘£Š®88Ž‘3îÈ\advance\count4–?ýby“1“\sh\fi}Ž¡‘£Š®89Ž‘úÈ\count4=1–?ý\def\a{}“\sh“%“\def\a{1pt“11pt“2pt“12pt“...“10pt“20pt}Ž¡‘£Š®90Ž‘úÈ\let\next=\dump‘?ý\everyjob{\message{#}}Ž¡‘£Š®91Ž‘È\else\let\next=\relax\fiŽ¡‘£Š®92Ž‘È\next–?ý%“if“no“format“was“preloaded,“this“will“dump“the“trip.fmt“file“and“haltŽ¡‘£Š®93Ž‘È\tracingcommands2\tracingrestores+2\write-1{log–?ýfile“only\the\prevgraf}Ž¡‘£Š®94Ž‘È\openout-'78terminal–?ý\openout10=tr\romannumeral1“\gobble\newcs“posŽ¡‘£Š®95Ž‘È\write10{}–?ý%“writing“three“lines“on“tripos.tex“(the“first“line“is“empty)Ž¡‘£Š®96Ž‘È\write10{\uppercase{\number{\outputpenalty}}}–?ý%“0{\outputpenalty}“+“errorŽ¡‘£Š®97Ž‘È\write10{[\uppercase{\romannumeral-\the\outputpenalty}[}–?ý%“"mmmmmmmmmm"“(-10000)Ž¡‘£Š®98Ž‘È\vsize‘?ý2000ptŽ¡‘£Š®99Ž‘È\vbadness=1Ž¡‘§®100Ž‘È\topskip–?ý20pt“plus“1filŽ¡‘§®101Ž‘È\penalty–?ý-12345“%“this“will“be“ignored“since“the“page“is“still“emptyŽ¡‘§®102Ž‘È\maxdepth=2ptŽ¡‘§®103Ž‘È\tracingoutput\onŽŽŒ‹^‰Ÿ€œ•ú­APPENDIX–ÕXB:“ÈTRIP.TEXŽ‘/ª˜­(CONTINUED)˜«7Ž ³Ú ý†Ì&‘§®104Ž‘È\moveleft20pt\copy200Ž¤ -N‘§®105Ž‘È\moveright20pt\hbox{\vrule–?ýdepth20pt“height-19pt“width1pt}Ž¡‘§®106Ž‘È\penalty-10000–?ý%“now“we'll“compute“silently“for“awhile,“after“default“outputŽ¡‘§®107Ž‘È\batchmode\output={\tracingcommands0\showthe\outputpenaltyŽ¡‘§®108Ž‘úÈ\showboxbreadth–?ý9999“\showboxdepth“9999“\hoffset1spŽ¡‘§®109Ž‘úÈ{\setbox–?ý254=\box255\shipout\ifvbox2\ifhbox254“\error\fi54\copy25\fi4}Ž¡‘§®110Ž‘úÈ\ifvoid‘?ý254\relax\else\error\fiŽ¡‘§®111Ž‘úÈ}Ž¡‘§®112Ž‘È\setbox255\vbox{}Ž¡‘§®113Ž‘È\dimen200=10000ptŽ¡‘§®114Ž‘È{\output{\dimen‘?ý9=\ht200\count5=\dimen9\global\countz=\outputpenaltyŽ¡‘§®115Ž‘(ÿôÈ\ifnum\holdinginserts>0\global\holdinginserts0\unvbox255\penalty\countzŽ¡‘§®116Ž‘(ÿôÈ\else\setbox255\copy255–?ý%“at“end“of“group,“\box255“reverts“to“former“valueŽ¡‘§®117Ž‘(ÿôÈ\shipout\hbox{\box100\box200\vsplit–?ý255“to“55pt}Ž¡‘§®118Ž‘(ÿôÈ\unvcopy255\showlists\showthe\insertpenalties\showthe\pageshrinkŽ¡‘§®119Ž‘(ÿôÈ\globaldefs1\halign{#\tabskip\lineskip\cr}Ž¡‘§®120Ž‘(ÿôÈ\showboxdepth1\showboxbreadth2\fiŽ¡‘§®121Ž‘(ÿôÈ\message{\topmark:\firstmark:\botmark:\splitfirstmark:\splitbotmark}}Ž¡‘§®122Ž‘úÈ\insert100{\def\box{\vbox–?ýto“267.7pt{}}“\vskip0pt“plus“1filŽ¡‘§®123Ž‘(ÿôÈ\baselineskip–?ý0pt“\lineskip“0pt“minus“.4ptŽ¡‘§®124Ž‘(ÿôÈ\box–?ý\penalty-101“\box“\penalty-100“\box“\penalty-1000Ž¡‘§®125Ž‘(ÿôÈ}–?ý%“since“\dimen100=803pt<3*267.7pt,“the“insertion“splits;Ž¡‘§®126Ž‘úÈ%–?ýand“the“natural“height+depth“of“the“split-off“part“is“267.7pt;Ž¡‘§®127Ž‘úÈ%–?ýnow“since“\count100=2000,Ž¡‘§®128Ž‘úÈ%–?ýthis“insertion“adds“about“535.4pt“to“the“current“pageŽ¡‘§®129Ž‘úÈ\topskip1pt–?ýplus“44ptŽ¡‘§®130Ž‘úÈ\vbox–?ýspread“1000pt{}“%“beginning“of“new“pageŽ¡‘§®131Ž‘úÈ\insertpenalties=-50\penalty12345Ž¡‘§®132Ž‘úÈ\cleaders\hbox{\lower2pt\vbox–?ýto“17pt{}Ž¡‘§®133Ž‘(ÿôÈ\leaders\hrule\hskip10ptŽ¡‘§®134Ž‘(ÿôÈ\cleaders\hbox{A}\hskip–?ý9pt“%“the“A“is“2pt“wideŽ¡‘§®135Ž‘(ÿôÈ\leaders\hbox{A}\hskip‘?ý9ptŽ¡‘§®136Ž‘(ÿôÈ\xleaders\hbox{A}\hskip‘?ý9ptŽ¡‘§®137Ž‘(ÿôÈ\write111{\help}–?ý%“\write“will“be“ignored“in“leadersŽ¡‘§®138Ž‘(ÿôÈ}\vskip50pt–?ýminus“10ptŽ¡‘§®139Ž‘úÈ\mark{alpha}Ž¡‘§®140Ž‘úÈAAA\everypar=\errhelp–?ý%“because“of“previous“\everypar,“this“makes“3“paragraphsŽ¡‘§®141Ž‘úÈ%–?ýand“each“paragraph“consists“of“A\insert“200{400pt“of“stuff}\mark{n}Ž¡‘§®142Ž‘úÈ%–?ýbut“\count200=500“so“the“inserts“are“rated“200pt“eachŽ¡‘§®143Ž‘úÈ%–?ýso“the“third“insertion“will“be“splitŽ¡‘§®144Ž‘úÈ\kern-50ptŽ¡‘§®145Ž‘úÈA\hfill\vadjust{\newlinechar128\special{^^80\the\prevdepth}\penalty-5000}%Ž¡‘§®146Ž‘úÈ\penalty-1000000000–?ý%“forces“line“break“in“paragraphŽ¡‘§®147Ž‘úÈ%–?ýthis“is“not“the“end“of“paragraphŽ¡‘§®148Ž‘úÈA\par\insert200{\vskip10000pt\floatingpenalty3}%–?ýthis“insert“will“be“held“overŽ¡‘§®149Ž‘úÈ\pagefilstretch-1pt\showthe\insertpenalties\penalty99999999\showlistsŽ¡‘§®150Ž‘úÈ\showthe\pagefilllstretch\vskip–?ý1000pt\penalty-333\hbox“to“23pt{}“%“output“nowŽ¡‘§®151Ž‘úÈ\vsize.pt\global\vsize=16383.99999237060546875pt–?ý%“page“size“\approx“infinityŽ¡‘§®152Ž‘úÈ}–?ý%“now“we“revert“to“the“former“output“routineŽ¡‘§®153Ž‘È{\tracingoutput-2\tracingstats1\shipout\hbox{\closeout10\closeout-10}}Ž¡‘§®154Ž‘È\showthe\everyparŽ¡‘§®155Ž‘È\everypar{}\showthe\everyparŽ¡‘§®156Ž‘È\def\showlonglists{{\tracingcommands0\pagefillstretch-1\dimen100ŽŽŒ‹mKŸ€«8’•ú­APPENDIX–ÕXB:“ÈTRIP.TEXŽ‘/ª˜­(CONTINUED)Ž ³Ú ý†Ì&‘§®157Ž‘(ÿôÈ\showboxbreadth–?ý9999“\showboxdepth“9999“\showlists“\pagegoal=10000pt}}Ž¤ -N‘§®158Ž‘È\tracingmacros=1Ž¡‘§®159Ž‘È\def\t12#101001#{-.#1pt}‘?ý\let\T=\tŽ¡‘§®160Ž‘È\dimendef\varunit=222\varunit=+1,001\ifdim.5\mag>0cc0\fi1ptŽ¡‘§®161Ž‘È\ifdim‘?ý-0.01001\varunit=\t120100101001001{\relax}\else\error\fiŽ¡‘§®162Ž‘È\countz=-1Ž¡‘§®163Ž‘È\ifodd\count0\advance\countz–?ýby“-1\fiŽ¡‘§®164Ž‘È\penalty–?ý-12345“%“output“the“remaining“stuffŽ¡‘§®165Ž‘È\tracingmacros\tracingstats–?ý%“the“next“part“tests“line-break“computationsŽ¡‘§®166Ž‘È%–?ýthe“two“competing“ways“to“set“the“paragraph“have“respective“demeritsŽ¡‘§®167Ž‘È%–?ý(30+l)^2+(30+l)^2+a“and“(51+l)^2+l^2,“where“a=adjdemerits,“l=linepenaltyŽ¡‘§®168Ž‘È\adjdemerits=782Ž¡‘§®169Ž‘È\linepenalty=1Ž¡‘§®170Ž‘È\def\1#1{\hbox‘?ýto#1pt{}}Ž¡‘§®171Ž‘È\valign{\baselineskip20ptplus1pt\global\parfillskip0ptŽ¡‘§®172Ž‘úÈ\global\global\leftskip4ptŽ¡‘§®173Ž‘úÈ\rightskip-1ptŽ¡‘§®174Ž‘úÈ\global\hsize13ptŽ¡‘§®175Ž‘úÈ\setbox2\12Ž¡‘§®176Ž‘úÈ\noindent\copy2\hskip2pt–?ýplus5pt“minus1ptŽ¡‘§®177Ž‘úÈ\copy2\hskip5pt‘?ýminus2ptŽ¡‘§®178Ž‘úÈ\lower2pt\11\hskip3pt–?ý%“this“affects“depth“of“the“second“lineŽ¡‘§®179Ž‘úÈ\copy2–?ý\hskip2pt“plus.5pcŽ¡‘§®180Ž‘úÈ\box2#\crŽ¡‘§®181Ž‘úÈ\noalign{\spacefactor=2000\global\xspaceskip=-1pt}Ž¡‘§®182Ž‘úÈ\noalign{–?ý\vrule“width0pt{“}}Ž¡‘§®183Ž‘úÈ\cr–?ý%“set“that“paragraph“with“a=782,“l=1“(demerits“2704“vs“2705)Ž¡‘§®184Ž‘úÈ\adjdemerits=784–?ý\cr“%“increase“a,“so“the“second“alternative“is“betterŽ¡‘§®185Ž‘úÈ\linepenalty=2\hbadness=51\cr–?ý%“increase“l“by“1,“suppress“diagnostic“typeoutŽ¡‘§®186Ž‘úÈ\noalign{‘?ý\spacefactor=1}}\message{\the\spacefactor}Ž¡‘§®187Ž‘È{\hsize1000pt\par\parindent1pt\indent}\leftskip3pt\def\?{\vrule‘?ýwidth-2ptŽ¡‘§®188Ž‘úÈ\hbox–?ýspread2pt{}}\noindent\indent\hbox“spread2pt{\hskip0pt“plus-1bp}%Ž¡‘§®189Ž‘È\discretionary{\?AAAB}{\?B-}{\?/A\kern2pt}\unkern–?ý%“the“widths“are“7pt,“4pt,“6ptŽ¡‘§®190Ž‘È\showthe\lastkern\vbox{\hrule–?ýwidth“6pt}“\par“%“should“set“with“nothing“overfullŽ¡‘§®191Ž‘È\penalty-22222–?ý%“end“of“demerits“test,“hyphenation“is“nextŽ¡‘§®192Ž‘È\looseness-10Ž¡‘§®193Ž‘È\uchyph=1Ž¡‘§®194Ž‘È\hsize‘?ý100ptŽ¡‘§®195Ž‘ÈA–?ý/A\char`A“BBBBCACAC//%“that“becomes“/k[AA]k[BB]k[BB][CA][CA][C/]/,Ž¡‘§®196Ž‘?ýÈ%–?ýwhere“[]“means“a“ligature“and“k“means“a“kern.Ž¡‘§®197Ž‘?ýÈ%–?ýthe“word“"aabbbbcaca"“should“be“hyphenated“to“"aa1b3b2b2b1c1aca",Ž¡‘§®198Ž‘?ýÈ%–?ýwhich“becomes“{[AA]k-||[AA]k}{B-|[BB]kBk|[BB][BB]}{-||}{C-|A|[CA]}[CA]Ž¡‘§®199Ž‘?ýÈ%–?ýif“I“use“the“notation“{x|y|z}“for“\discretionary{x}{y}{z}.Ž¡‘§®200Ž‘È\vadjust{\uchyph=0\–?ýBBBBBB}%“underfull“box“will“show“no“hyphensŽ¡‘§®201Ž‘È\vadjust{\–?ý\closeout1BBBBBB}{\hyphenchar\trip`C}%“this“time“we“get“hyphensŽ¡‘§®202Ž‘È\hyphenation{BbB-BbB}\vadjust{\–?ýBBBBBB\kern0ptB}%“different“hyphensŽ¡‘§®203Ž‘È\hyphenchar\rip`-\vadjust{\def\B{B}\–?ý\pretolerance10000“B\B“BBBB}“%“no“hyphensŽ¡‘§®204ŽŽ¡‘§205Ž‘È\hbox{\sfcode`B=1234AB–?ýaB“}\noindent“\scriptscriptfont3“\smalltripŽ¡‘§®206Ž‘È$$\eqno^{}$\scriptfont3=\rip\fontdimen2\smalltrip=0ptŽ¡‘§®207Ž‘È{\rightskip0pt–?ýplus“104pt“minus“100filŽ¡‘§®208Ž‘úÈ\looseness–?ý5“\spaceskip“4pt“plus“2pt“minus“1filŽ¡‘§®209Ž‘úÈA\spacefactor32767\discretionary{}{\kern2pt-}{B\kern2pt}–?ýC$“\scriptfont2=\tripŽŽŒ‹ {®Ÿ€œ•ú­APPENDIX–ÕXB:“ÈTRIP.TEXŽ‘/ª˜­(CONTINUED)˜«9Ž ³Ú ý†Ì&‘§®210Ž‘úÈ\mathsurround143pt$–?ýC“$\mathsurround40pt$$\mathsurround60pt\hbox{$$}$\par}Ž¤ -N‘§®211Ž‘È\uccode`m=`A\font\mumble=mumble\input–?ýtripos“%“"AAAAAAAAAA"+errorsŽ¡‘§®212Ž‘È\par\penalty-33333–?ý%“end“hyphenation,“math“is“nextŽ¡‘§®213Ž‘È{\catcode`?=13–?ý\font?xyzzy“at0pt\font“?“xyzzy“scaled1?}“%“nonexistentŽ¡‘§®214Ž‘È\font\enorm=trip–?ýat“2047.999992370605468749999“ptŽ¡‘§®215Ž‘È\font\ip–?ýtrip“at“-10pt“%“through“the“looking“glassŽ¡‘§®216Ž‘È\showthe$Ž¡‘§®217Ž‘È\showthe\fontŽ¡‘§®218Ž‘È\message{\fontname\ip}Ž¡‘§®219Ž‘È\ripŽ¡‘§®220Ž‘È\textfont1=\font–?ý\scriptfont1=\smalltrip“\scriptscriptfont1=\bigtr^^@p“%“[sick]Ž¡‘§®221Ž‘È\def\symbolpar–?ý#1*#2*#3*{\global\fontdimen#1\smalltrip“=“#3“pt}Ž¡‘§®222Ž‘È{\tracingmacros-1Ž¡‘§®223Ž‘úÈ\symbolpar8–?ýnum1“9.1Ž¡‘§®224Ž‘úÈ\symbolpar9–?ýnum2“9.2Ž¡‘§®225Ž‘úÈ\symbolpar10‘?ýnum3‘ ú9.3Ž¡‘§®226Ž‘úÈ\symbolpar11–?ýdenom1“3.1Ž¡‘§®227Ž‘úÈ\symbolpar12–?ýdenom2“3.2Ž¡‘§®228Ž‘úÈ\symbolpar13–?ýsup1“8.1Ž¡‘§®229Ž‘úÈ\symbolpar"E–?ýsup2“8.2Ž¡‘§®230Ž‘úÈ\symbolpar15–?ýsup3“8.3Ž¡‘§®231Ž‘úÈ\symbolpar16–?ýsub1“4.1Ž¡‘§®232Ž‘úÈ\symbolpar17–?ýsub2“4.2Ž¡‘§®233Ž‘úÈ\symbolpar18–?ýsupdrop“0.3Ž¡‘§®234Ž‘úÈ\symbolpar19–?ýsubdrop“0.4Ž¡‘§®235Ž‘úÈ\symbolpar20–?ýdelim1“10Ž¡‘§®236Ž‘úÈ\symbolpar21–?ýdelim2“20Ž¡‘§®237Ž‘úÈ}Ž¡‘§®238Ž‘È\mathcode`+='20457–?ý%“mathbin,“family“1,“character“'57“(/)Ž¡‘§®239Ž‘È\mathcode`=="322D–?ý%“mathrel,“family“2,“character“"2D“(-)Ž¡‘§®240Ž‘È\delcode`["161361–?ý%“small“(family“1,“character“"61“(a)),“large“(3,"61)Ž¡‘§®241Ž‘È\catcode`(=13–?ý\catcode`(=13“\mathcode`y"7320\mathcode`z"8000Ž¡‘§®242Ž‘È\def({\delimiter"4162362–?ý}{\catcode`z=13\global\let“z=(}Ž¡‘§®243Ž‘È\parshape–?ý10“\a“\chardef\x200Ž¡‘§®244Ž‘È\hangindent-–?ý\parshape“pt\hangafter-12%“\parshape“will“take“precedenceŽ¡‘§®245Ž‘È\begingroupŽ¡‘§®246Ž‘È\looseness‘?ý2Ž¡‘§®247Ž‘È\rightskip–?ý0pt“plus“10fil“minus“1spŽ¡‘§®248Ž‘È\--\--\char-0-A\-–?ý%“this“makes“lines“1“to“3Ž¡‘§®249Ž‘È$$\number\the\delcode`\relax\over{{{}}}}\pagestretch=-1\pagetotal\showlistsŽ¡‘§®250Ž‘È\begingroup\halign–?ýto\the\displaywidth{#&#\crcr\crcr\cr}“%“makes“lines“4--6Ž¡‘§®251Ž‘È\global\count6=\displayindentŽ¡‘§®252Ž‘È\predisplaypenalty=101Ž¡‘§®253Ž‘È\global\postdisplaypenalty-\predisplaysize*‘?ý\global\setbox=Ž¡‘§®254Ž‘È\eqno–?ý%“another“error“(actually“causes“two“error“messages“and“inserts“$$)Ž¡‘§®255Ž‘È\looseness-2Ž¡‘§®256Ž‘È$\right\relax\mathchardef\minus="322D–?ý%“locally“\minus“is“the“same“as“=Ž¡‘§®257Ž‘È\left.A\over‘?ýA\abovewithdelims.?\right(+\mskip1A\minus=A+\penalty+1000AŽ¡‘§®258Ž‘È\relpenalty-2222Ž¡‘§®259Ž‘È\binoppenalty-3333Ž¡‘§®260Ž‘È\mathsurround.11em$\x–?ý%“this“formula“goes“on“line“7Ž¡‘§®261Ž‘È$$–?ý%“here“we“begin“a“hairy“display“that“covers“lines“8“to“10Ž¡‘§®262Ž‘È\vadjust{\penalty7}\mkern-9mu\the\prevgraf–?ý\prevgraf=8“\insert255{\penalty999}ŽŽŒ‹ Š Ÿ€«10’“z­APPENDIX–ÕXB:“ÈTRIP.TEXŽ‘/ª˜­(CONTINUED)Ž ³Ú ý†Ì&‘§®263Ž‘È\x\vcenter–?ýspread-2pt{}“{\mathaccent"32D“{A}}|-Ž¤ -N‘§®264Ž‘È^{\raise‘?ý2pt\hbox{a}\displaystyle\char`+\textstyle}Ž¡‘§®265Ž‘È\overline{^A‘?ýA|\minus\mathinner{}^Ž¡‘§®266Ž‘úÈ{A–?ý\mathchar"141“\char`B^^A{\mathaccent"7161Ž¡‘§®267Ž‘3îÈ{\mathop–?ýA“\mathbin“A“\mathopen“A“\mathpunct“A\mathclose“A“\mathrel“AŽ¡‘§®268Ž‘=ÿèÈ\global\scriptscriptfont0=\tripŽ¡‘§®269Ž‘=ÿèÈ\mathaccent"161‘?ý{\fam13A9\the\scriptscriptfont-1}}}}}Ž¡‘§®270Ž‘È\mathop\char`B^\mathchar"143Ž¡‘§®271Ž‘È\mathop‘?ýb\nolimits\limits|CŽ¡‘§®272Ž‘È\mathord–?ý\radical"161“%“missing“{“will“be“insertedŽ¡‘§®273Ž‘úÈ{\textstyle\radical"282382{\left(\scriptscriptstyle\mathop{\underline{Ž¡‘§®274Ž‘HâÈA\atop\displaystyle–?ýA|{A\hfil\over“B\nonscript\kern1pt}^=}}Ž¡‘§®275Ž‘3îÈ\nolimits|{\mathop–?ýy\nonscript\textstyle\nonscript\mskip9mu“minus1filŽ¡‘§®276Ž‘=ÿèÈ\showthe\lastskip‘?ýB\abovewithdelims(.2pt\displaylimits}^zŽ¡‘§®277Ž‘3îÈ\discretionary{\showthe\spacefactor-}{\smalltrip–?ýA\hss}{\smalltrip“A}Ž¡‘§®278Ž‘3îÈ\right[A}}}Ž¡‘§®279Ž‘È\let\penalty=\minus‘?ý\aftergroup\expandafterŽ¡‘§®280Ž‘È\eqno\aftergroup\relax\scriptstyle\penalty–?ý%“reader,“be“alertŽ¡‘§®281Ž‘È(\mathpunct{AA}Ž¡‘§®282Ž‘È|{B\fam1-}^{\hbox{A}}{\above9pt{v\overwithdelims..Ž¡‘§®283Ž‘(ÿôÈ\displaystyle{pq\atopwithdelims((\vrule–?ýheight“9pt}}Ž¡‘§®284Ž‘úÈ\show\penalty‘?ý\showlonglistsŽ¡‘§®285Ž‘úÈ$\expandafter$\csname!\endcsname–?ý%“end“of“hairy“display,“missing“}“insertedŽ¡‘§®286Ž‘È\parshape=-1–?ý%“now“the“hanging“indentation“is“relevantŽ¡‘§®287Ž‘È\leftskip–?ý\parshape“pt“plus“-10filŽ¡‘§®288Ž‘È\spacefactor1\raise1pt\hbox{\special{\the\hangafter}–?ý}“\penalty-10000Ž¡‘§®289Ž‘È\showbox0\spacefactor=0Ž¡‘§®290Ž‘È\write10{\the\spacefactor}\par–?ý%“it's“illegal“to“\write“the“space“factorŽ¡‘§®291Ž‘È}–?ý%“this“fails“to“match“\begingroupŽ¡‘§®292Ž‘È\aftergroup\lccode\aftergroup`\endgroup–?ýA`a“%“this“restores“\parshapeŽ¡‘§®293Ž‘È\mark{\the\spacefactor}–?ý%“\spacefactor:“not“in“vertical“modeŽ¡‘§®294Ž‘È$$\global\count7=\predisplaysizeŽ¡‘§®295Ž‘È\mskip18mu–?ýminus“18mu“\catcode`J=13“\catcode`j=\the\catcode`J“\def“j{\relax}Ž¡‘§®296Ž‘È\vtop–?ýto\displaywidth{\everydisplay{\global}\vbox“to“-1sp{}\noindent$$Ž¡‘§®297Ž‘úÈ\count9=\predisplaysize\lowercase{AaJ}$\ifvmode$\fi}\hssŽ¡‘§®298Ž‘È\leqno\mathchardef‘?ýA\/\left(\over\left(\global\errorcontextlines5$$Ž¡‘§®299ŽŽ¡‘§300Ž‘È\hangindent1pt\par\showthe\hangindent\hangindent‘?ý254cmŽ¡‘§®301Ž‘È\parfillskip–?ý0pt“plus“100pt“\fontdimen6\the\scriptfont2=-19spŽ¡‘§®302Ž‘È\the\fam–?ý%“begins“a“paragraph,“but“there's“no“0“in“the“fontŽ¡‘§®303Ž‘ÈA‘?ý\char'202$$\global\count8=\predisplaysize\leqno\kern1009pt$\parŽ¡‘§®304Ž‘È\showlists‘?ý{\catcode`!13\global\everyhbox{\def!{}}}Ž¡‘§®305Ž‘È\count5=\lastskip–?ý%“\lastskip=3pt“(\belowdisplayskip)Ž¡‘§®306Ž‘È\baselineskip‘?ý10ptŽ¡‘§®307Ž‘È{\sfcode`A=500\vfuzz18pt\everyvbox{–?ý}%“overfull“\vbox“won't“be“shown:“37-8=11+18Ž¡‘§®308Ž‘úÈ\vbox–?ýto“11pt{\hsize“10pt\tolerance“1“A“A“A“A“A\clubpenalty10000\parŽ¡‘§®309Ž‘(ÿôÈ\hbadness100\hfuzz–?ý3pt“A“A“A“A“A\leaders\vrule\hskip5pt\par}Ž¡‘§®310Ž‘úÈ\message{\the\badness}}Ž¡‘§®311Ž‘È\vbox–?ýto“10pt{\hbadness“99\hfuzz1pt\hbox“to“0pt{\hskip“10pt“minus“9pt}Ž¡‘§®312Ž‘úÈ\hbadness100\hbox–?ýto“10bp{\hskip“0pt“plus“10pt}\tracingcommands1Ž¡‘§®313Ž‘úÈ\if\the\badness\fi\message{\the\badness}}\lineskiplimit-1pt\everyhbox{}Ž¡‘§®314Ž‘È\def\space{–?ý}“\dimendef\df=188“\dimen188=1ptŽ¡‘§®315Ž‘È\vbox–?ýto“11pt{\tracinglostchars-9“A\/\space\space\ignorespaces\space\space“JŽŽŒ‹ –ÒŸ€œ“z­APPENDIX–ÕXB:“ÈTRIP.TEXŽ‘/ª˜­(CONTINUED)˜«11Ž ³Ú ý†Ì&‘§®316Ž‘úÈ\vskip2pt\moveleft1pt\vbox‘?ýto10pt{\boxmaxdepth=-1pt\mark{vii}}\vskip3ptŽ¤ -N‘§®317Ž‘úÈ\unskip\setbox22=\lastbox\showthe\lastskip–?ý%“\lastskip=-1pt“(\baselineskip)Ž¡‘§®318Ž‘úÈ\unskip\vskip-\lastskip\kern\lastkern\penalty\lastkern\showbox22}Ž¡‘§®319Ž‘È\showbox22\kern3pt\message{\the\lastkern}\unkernŽ¡‘§®320Ž‘È\show\botmark–?ý\catcode`;13\def;{\setbox`;“}Ž¡‘§®321Ž‘È\lineskiplimit-0.9999–?ý\space\df\space\count9“0Ž¡‘§®322Ž‘È\vbox\space–?ýto“11pt{\accent\x\space\accent\space"42“\def\^^M{\‘ ú}“;“\char'101Ž¡‘§®323Ž‘úÈA\›?ñ\fontdimen‘¿÷4‘?ý\trip–ÿô=“88“pt\˜\spaceskip“2“pt‘î\Ž¡‘§®324Ž‘úÈ\vskip–?ý10pt“minus“10pt}Ž¡‘§®325Ž‘È\penalty-2147483647–?ý%“that's“the“largest“value“TeX“will“scanŽ¡‘§®326Ž‘È\penalty-2147483648–?ý%“see?Ž¡‘§®327Ž‘È\tabskip–?ý1009.9sp“minus“.25cc“%“and“now“for“alignment“testsŽ¡‘§®328Ž‘È\let\A=\relax\count1=2{\errhelp{all–?ýis“lost}\errmessage{}}Ž¡‘§®329Ž‘È\def\d#1\d{#1#1}‘?ý\looseness-1Ž¡‘§®330Ž‘È\setbox3=\vtop{\vskip-3mm}–?ý%“this“box“has“a“depth“of“-3mmŽ¡‘§®331Ž‘È\halign‘?ýspread-12.truedd{&#\span\iftrue\A\span\else\span\fi\span&Ž¡‘§®332Ž‘úÈ\vbox{\halign–?ýto“0pt{\t2\dp3\A\crcr}#A}Ž¡‘§®333Ž‘úÈ&\hss\tabskip1ex–?ýplus7200bp“minus“4\wd4\d#\d\cr“%“\d#\d“becomes“(erroneous)“##Ž¡‘§®334Ž‘úÈ\global\let\t=\tabskip–?ý\spaceskip=4pt“minus“1spŽ¡‘§®335Ž‘úÈ\def\A{B}\def\xx{\global\gdef\A{\global\count\count1=####\crŽ¡‘§®336Ž‘(ÿôÈ\omit\cr\tabskip}}\expandafter\xx\span–?ý%“please“don't“ask“what“this“doesŽ¡‘§®337Ž‘úÈA&\omit\valign–?ýto“-5pt{#&#\cr“A\char`}\span\cr{“}\span\cr}\crŽ¡‘§®338Ž‘úÈ\global\edef\A{\uppercase{Ž¡‘§®339Ž‘3îÈ\message{\fontname\smalltrip\the\font\romannumeral1009}\lowercase{vq}}‘?ý}Ž¡‘§®340Ž‘úÈ\lccode`Q=`b‘?ý\span\omit$$\span\A&\show\cr\omit\crŽ¡‘§®341Ž‘úÈ\noalign{\global\prevdepth20pt\errmessage{\count2=\the\count2}}Ž¡‘§®342Ž‘úÈ\omit\mark{a}&\omit\mark{b}\cr}–?ý%“\count2“was“set“to“-6mm=-1118806spŽ¡‘§®343Ž‘È\errmessage{\prevdepth=\the\prevdepth}Ž¡‘§®344Ž‘È\penalty-88888–?ý%“end“alignment“test,“now“miscellaneous“error“messagesŽ¡‘§®345Ž‘È\newlinechar`Y\global\unskip\show^^Y\newlinechar\lastpenalty\unpenalty\unkernŽ¡‘§®346Ž‘È\lastbox\penalty5\message{\the\lastpenalty\the\newlinechar}\textfont16=\relaxŽ¡‘§®347Ž‘È\outer\def{}?Ž¡‘§®348Ž‘È\dimen5=-'7777777777sp\showthe\dimen5–?ý%“this“should“be“OKŽ¡‘§®349Ž‘È\dimen6=-'40000pt\showthe\dimen6–?ý%“this“should“overflowŽ¡‘§®350Ž‘È\dimen7=.51\dimen5\showthe\dimen7–?ý\multiply\dimen7“2\showthe\dimen7Ž¡‘§®351Ž‘È\a^^@^^@a@–?ý%“an“undefined“control“sequence“followed“by“invalid“characterŽ¡‘§®352Ž‘È{\aftergroup\gobble\aftergroup\c\gdef\b{\c}–?ý\def\c{}“\b}“%“\c“undefinedŽ¡‘§®353Ž‘È\def\b#1\par{}Ž¡‘§®354Ž‘È\outer\gdef\a^^@^^@a#1\par#2{}\tokens{\a^^@^^@a\par!Ž¡‘§®355Ž‘È\long\gdef\l#1{}Ž¡‘§®356Ž‘È\outer\global\long\edef\lo#1#2U3#4#5#6#7#8#8#9#{\relax}Ž¡‘§®357Ž‘È\ifcase–?ý1“\undefined\or\l\par\b{\par“%“occurrence“of“\par“aborts“\bŽ¡‘§®358Ž‘È\b{\l\undefined}\par\else\b{\par}\fi–?ý%“but“not“there!Ž¡‘§®359Ž‘È\ifcase\iftrue-1a\else\fi‘?ý\ifcase0\fi\else\ifcase5\fi\fiŽ¡‘§®360Ž‘È\catcode`^^C–?ý=“6“%“another“parameter“symbolŽ¡‘§®361Ž‘È\let\^^C=\halignŽ¡‘§®362Ž‘È\def\^^@^^C{}Ž¡‘§®363Ž‘È\^^C{{\span\ifcase3–?ý\lo#\cr............89{}\cr}“%“runaway“preamble?Ž¡‘§®364Ž‘È\def\a^^C1{\d#1\d\l{#2}\l#1\par\a^^@^^@a#1\par#–?ý%“runaway“in“definition;“#2“badŽ¡‘§®365Ž‘È\xdef\a^^C1{\d#1\d\l{#2}\l#1\par\a^^@^^@a#1\par#–?ý%“runaway“in“definition;“#2“OK!Ž¡‘§®366Ž‘È\T^^?a^^@^^@a\par{\lo\par–?ý%“runaway“in“useŽ¡‘§®367Ž‘È\lo\par\par\par– úP“\par\par\par\par\par\par89{}‘?ý\muskip3=-\thickmuskipŽ¡‘§®368Ž‘È\muskipdef\shmip=3–?ý\shmip=5mu“plus“\muskip3minus.5\shmip“\showthe\shmipŽŽŒ‹ ¦Ÿ€«12’“z­APPENDIX–ÕXB:“ÈTRIP.TEXŽ‘/ª˜­(CONTINUED)Ž ³Ú ý†Ì&‘§®369Ž‘È{\advance\shmip–?ýby“\shkip\endlinechar-1Ž¤ -N‘§®370Ž‘È\divide\shmip–?ýby“\shkip\endlinechar`}Ž¡‘§®371Ž‘È\global\multiply\shmip–?ýby“2Ž¡‘§®372Ž‘È\showthe\shmipŽ¡‘§®373Ž‘È\div^^)de\count88Ž¡‘§®374Ž‘ÈBy–?ý^^p“\toks1={\a\test}Ž¡‘§®375Ž‘È^\leaders\vrule\mskip\shmip‘?ýM\leaders\hrule\nonscript\hskip\thinmuskipŽ¡‘§®376ŽŽ¡‘§377Ž‘È{\setbox3\hbox{\vfill\vsplit–?ý3“0pt}Ž¡‘§®378Ž‘È\def\a#2{}Ž¡‘§®379Ž‘È\show‘?ýAŽ¡‘§®380Ž‘È\show\a^^@^^@aŽ¡‘§®381Ž‘È\show‘?ý(Ž¡‘§®382Ž‘È\message{\meaning\lo\noexpand\lo}Ž¡‘§®383Ž‘È\show\^^CŽ¡‘§®384Ž‘È\show\batchmodeŽ¡‘§®385Ž‘È\show\errorŽ¡‘§®386Ž‘È\showthe\outputŽ¡‘§®387Ž‘È\showthe\thinmuskipŽ¡‘§®388Ž‘È\showthe\fontdimen1\enormŽ¡‘§®389Ž‘È\ifx‘?ýT\span\else\par\if\span\else\else\else\fi\fiŽ¡‘§®390Ž‘È\ifdim72p\iftrue–?ýt1i\fi“n\fi\fi“\message{\jobname\ifx\lo\lo“OK}\fiŽ¡‘§®391Ž‘È\hangindent‘?ý2ptŽ¡‘§®392Ž‘È{\if–?ý11“\prevgraf=-1\if“0123\error\else\relax\fi\else\error\fiŽ¡‘§®393Ž‘úÈ\prevgraf1\global\hangafter=2}\showthe\hangafter\showthe\prevgrafŽ¡‘§®394Ž‘È\char'203\showthe\prevgraf$\indent\mark{twain}Ž¡‘§®395Ž‘È\setbox3\hbox{\vrule}&\moveleft\lastbox–?ý%“can't“do“that“in“math“modeŽ¡‘§®396Ž‘È\unhbox234\unhcopy3\accent\x\vfill\vfil\vfilneg\vss–?ý%“\vfill“exits,“\vss“badŽ¡‘§®397Ž‘È\def\a}{\let\a\xyzzy\csname‘?ýa\endcsname}Ž¡‘§®398Ž‘È\def\a{abŽ¡‘§®399ŽŽ¡‘§400Ž‘úÈ\c}\def\b{ab*\par\c}\let\c\b–?ý\def\b{\a\c}“\ifx\a\ifx“\.Ž¡‘§®401Ž‘È\else\expandafter\ifx\b‘?ý\ifinner\error\else\relax\fi\else\error\fi\fiŽ¡‘§®402Ž‘È\ifvmode$\ifmmode\hbox–?ýtt\ifhmode\hfilneg\else\error\fi}$\fi\fi“%“missing“{Ž¡‘§®403Ž‘È\noalign\omit\endcsname–?ý%“these“are“extraŽ¡‘§®404Ž‘È\fontdimen‘?ý1000=20\varunit\showthe\fontdimen1000\trip\let\PAR=\parŽ¡‘§®405Ž‘È\gdef\par{\relax\PAR}\expandafter\ifx\csname–?ýxyzzy\endcsname\relax“\mag=1999Ž¡‘§®406ŽŽ¡‘§407Ž‘È\fi\noindent{\halign–?ýto“1truemm\expandafter{\csname#\endcsname#&#&\l{#}\crŽ¡‘§®408Ž‘úÈ\global\let\endt=&\endt&$&&&.}Ž¡‘§®409ŽŽ¡‘§410Ž‘È\hbox{\/\hrule\textfont3=\enorm\prevdepth\advance\xspaceskip‘?ýby-\xspaceskipŽ¡‘§®411Ž‘úÈ\spacefactor2000{‘?ý}\everymath{\radical"3}\fontdimen2\rip=0ptŽ¡‘§®412Ž‘úÈ$62{}\delimiterfactor1600\left(Aa\right\delimiter"300$AA\/}Ž¡‘§®413Ž‘È\openin–?ý15“tripos\closein“15\iftrue{\ifeof“15\openin“100“triposŽ¡‘§®414Ž‘úÈ\def\loop{\ifeof–?ý0\let\loop=\relax\else{\global\read0to“\a}\show\a\fi\loop}Ž¡‘§®415Ž‘úÈ\catcode`015\catcode`[1\outer\def\uppercase{}\loop}\else\fiŽ¡‘§®416Ž‘È\endt\def\test#1{\let\test=–?ý}\test.“\show\testŽ¡‘§®417Ž‘È\def\a#1{\ifcat#1–?ý\message\ifx#1“{\iffalse\fi\the\tokens\fi\fi}}Ž¡‘§®418Ž‘È\pretolerance-1\tokens\toks1\unhbox16\par\everycr{\noalign{\penalty97}}Ž¡‘§®419Ž‘È\the\tokens\ifcase1\or\ifeof\fi\def\stopinput{\error\let\input\die}Ž¡‘§®420Ž‘È\let\lb={\let\rb=}\halign\relax{\span\iffalse}\fi\cr#&\ifnum0=`{\fi\cr\cr}Ž¡‘§®421Ž‘È\def\trap#1{\def#1{danger}\global\let\trap#1\show#1\trap}\def\unbalancedŽŽŒ‹ ¶ Ÿ€œ“z­APPENDIX–ÕXB:“ÈTRIP.TEXŽ‘/ª˜­(CONTINUED)˜«13Ž ³Ú ý†Ì&‘§®422Ž‘úÈ{\halign\lb}\unbalanced#\cr\relax\expandafter\trap\cr\show\cr\trap}Ž¤ ‘§®423ŽŽ¡‘§424Ž‘È\expandafter\stopinput\input–?ýtripos\endinput\input“%“one“line“of“triposŽ¡‘§®425Ž‘È\setbox10=\vbox‘?ýto8192pt{\hbox{\hbox{\vadjust{A}}}}\vrule\unhbox10\hruleŽ¡‘§®426Ž‘È\output{\showthe\deadcycles\global\advance\countz‘?ýby1\global\globaldefs-1Ž¡‘§®427Ž‘úÈ\gdef\local{}\unvbox255\end\rb}\futurelet\dump\maxdeadcycles=3\show\dumpŽ¡‘§®428Ž‘È\catcode`q=7–?ý\catcode`\qqM=0“\expandafter\let\csname^^Mendcsname=\^^@\relaxŽ¡‘§®429Ž‘È\relax\catcode`\qq1qM=13‘?ý\defqqM{\relax}#\begingroup{\showboxdepth=4\showbox10}Ž¡‘§®430ŽŽ¡‘§431Ž‘È\long\def\l#1\l{#1}\immediate\write10{\string\caution–?ý\l}“%“living“dangerouslyŽ¡‘§®432Ž‘È\escapechar`|\tracingoutput0\shipout\vbox{\copy10qq5e^5cbox10}Ž¡‘§®433Ž‘È\setbox9\hbox{\fontdimen8\rip–?ý0pt“%“\over“becomes“\atop“in“\scriptstyleŽ¡‘§®434Ž‘úÈ\afterassignment\relax\advance\prevdepth\afterassignment\relax\futurelet\xŽ¡‘§®435Ž‘úÈ\message{\noexpand\l\meaning\l\the\skewchar\ip}\vbox{\hyphenchar\ip-1%Ž¡‘§®436Ž‘úÈ\-\–?ýBBBBBB\par\hyphenchar\ip`?\-\“BBBBBB}\if$\expandafter\noexpand\dol\fi%Ž¡‘§®437Ž‘úÈ\expandafter\expandafter\noexpand\undefined\noexpand\expandafter%Ž¡‘§®438Ž‘úÈ$\begingroup\mathop{\vbox{\vss}}\limits^\mathchoice{}a}{A|{}}{\mathchoice}Ž¡‘§®439Ž‘úÈ{}{\relax{}{B\over}\endgroup\showlonglists$}\showboxbreadth9\showboxdepth9Ž¡‘§®440Ž‘È\showbox9\PAR{\output{}\penalty-10001\deadcycles=2}\scrollmode%Ž¡‘§®441Ž‘È\hbox{\write-100000{\if01{\else‘?ýunbal}\fi}\showlists\tracingonline1%Ž¡‘§®442Ž‘È\escapechar127\global\tracingoutput1\global\escapechar256\endŽ¡‘§®443Ž‘È%–?ýthings“not“tested:Ž¡‘§®444Ž‘È%–?ýinteraction“(error“insertion/deletion,“interrupts,“\pausing,“files“not“there)Ž¡‘§®445Ž‘È%–?ýsystem-dependent“parsing“of“file“names,“areas,“extensionsŽ¡‘§®446Ž‘È%–?ýcertain“error“messages,“especially“fatal“onesŽ¡‘§®447Ž‘È%–?ýthings“that“can't“happen“in“INITEXŽ¡‘§®448Ž‘È%–?ýunusual“cases“of“fixed-point“arithmeticŽŽŒøÃ’À;蛳ÚÕÁGó2Ù“ Rj~cmr7ó$ý': cmti10ó!p®0J cmsl10óßê