Announcement

Collapse
No announcement yet.

PB function notes: Powers of ten

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PB function notes: Powers of ten

    Question: If A## should equal B##, when is A##/B## >> one googol?
    Answer: A=10^4932 and B=Val("1E4932")
    Although B is less than the extended-precision maximum of approximately 1.2E4932, it is erroneously evaluated (in PBCC Version 5) as 2^127. Support has been notified and issue sent to R&D.

    There are four distinct ways in PowerBASIC to compute powers of ten. The methodologies were found by trial and error and are listed in order of increasing accuracy:
    (a) For non-integer powers two methods are used. Both PB implementations return zero rather than a denormal for x<=-4933. They are:
    (a1) 10^x (only if x is not an integer) is evaluated as
    Exp(x*Log(10))
    (a2) Exp10(x) (whether or not x is an integer) is evaluated as
    Exp2(x*Log2(10)).
    (b) For integer powers two methods are also used, each involving factors of the form 10^(2^i) (0<=i<=12). If n is negative, the reciprical is taken at the end. Note that
    10^27 < 2^63*2^27 < 10^28
    So for 0<=n<=27, the exact powers can be generated. The two methods are:
    (b1) 10^n, with n being an integer, is calculated by generating a table using:
    10^(2^(0))=10, 10^(2^(i+1))=(10^(2^(i)))*(10^(2^(i)))
    Then multiplication begins with the most significant bit of |n|. Multiplying in this order adds rounding error as more multiplications cannot be performed exactly.
    (b2) 1En (as a literal) always equals (as long as no compile-time error occurs) Val("1E"+Format$(n)). It is calculated using a precomputed table of the accurate approximations of
    10^(2^i), 0<=i<=12
    Then the multiplication starting with the least significant bit of |n|. An erroneous result occurs for n=4932 or greater where 2^127 is returned. Also the compiler will generate Error 473 if a literal evaluates to less than 1E-4933 or to equal or greater than 1E+4932.

    Code:
     
    Maximum absolute errors in the significand (treating it as quad integer):
     
    Maximum absolute integer power of ten: 30 100 300 1000 Limit---v 
    Method
    (a1) Exp(n*Log(10)) = lim(x->n)(10^x)  45 164 678 3823 16637 4932
    (a2) Exp10(n) = Exp2(n*Log2(10))       56 236 459 2060  8989 4932
    (b1) 10^n (n=integer)                   1   2   8   35   143 4932
    (b2) 1En = Val("1E"+Format$(n))         1   1   2    3     4 4931
    A little bit of algorithm analysis for those interested. Given:
    y = 10^x
    By elementary calculus:
    (dy/y) = (x*ln(10))*(dx/x)
    Thus the relative error in x is increased by a factor of approximately 2.3*x which partly explains the errors for non-integer values of x in the above table. If x is a rational number or can be given to higher accuracy by other means, it is best to convert it to the sum of an integer and a floating point number. Note that
    x = Fix(x)+Float(x)
    for all x of interest here and |Float(x)|<1. Alternatively, use CLng(x) to get a floating point term of absolute value under 0.5. In the allowed ranges, the Floating Point Unit (FPU) command !f2xm1 was designed to produce results accurate to 1.5 bits so, if x can be well-defined, splitting the agument should give excellent accuracy.

    For the error analysis above, a table of the best values for powers of ten was created. As this involves almost ten thousand lines, a shorter function that gives the same results is given below:

    Code:
    Function bestPowerOfTen(ByVal n As Long) As Ext
        ' Returns most accurate 10^n approximations.
        Static LSNibble As String ' Least significant nibble (4 bits)
        Local x As Ext ' Result
        Dim d(0) As Dword At VarPtr(x) ' Least significant DWord
        Local t As Dword ' Copy of d(0)
        '
        ' 1E-4951 = Zero; 1E+4933 = Infinity
        ' 1E0 thru 1E+27 are exact.
        '
    ' Least significant nibbles of extended-precision significands:
    If LSNibble="" Then LSNibble= _
    "2B279D6CD3252CAB0401D23B5EA864A9FCA1938D86386CD9BF"+ _' -4950 to -4901
    "2F1A8FF782BF6CB64EA9F3860C38E15A8711D4519856FAC38E"+ _' -4900 to -4851
    "125ADAD449049B7564055E215F97D9B2B15E793089268BA456"+ _' -4850 to -4801
    "7EEAADC727838ED41FEA64D45AA9FBADE572FF2FB2B230C68A"+ _' -4800 to -4751
    "55EAA832EAC79DDCF5783CBFB9E57A11E602238ED08A649F40"+ _' -4750 to -4701
    "D8EDCF7DC7C30C7934D4948271EE2D8EFB96B2BEE3F76498ED"+ _' -4700 to -4651
    "6825AD879F71598ED040087D852F53B300022F16B52BF6C079"+ _' -4650 to -4601
    "A41B6FDD4600819874982AA5271644A8EDCCA5AC40157D0671"+ _' -4600 to -4551
    "7012799414AC7D91E174E1DC38E963C7DCA089B2DD06CED4D2"+ _' -4550 to -4501
    "3006B2D195749FB70C049FFB7525E68152578BE1FBDC3C2EA6"+ _' -4500 to -4451
    "890C3ED8BB94C7516B1D478E345BE13B60048AD49F78A5F3F2"+ _' -4450 to -4401
    "A0E26CFBF64A1D64D89B25BD2BAC7D000ADCBE66FB15ED45A6"+ _' -4400 to -4351
    "C74D127D2741D89BACFBFB98A04BD94415EE3F764D6085AC8E"+ _' -4350 to -4301
    "94D495BD4A06BA271015DC73715E57D4DC71EA0EE1303C798D"+ _' -4300 to -4251
    "D8A59F3679EDC32B9A4DEE512E3443FB711111704DC3022363"+ _' -4250 to -4201
    "4CC22636868DD49B11A6FBE111DC7AD4D8608D645D41156411"+ _' -4200 to -4151
    "AEDD08AE2E30C38230CCF2DDCBEE745700068E9F29CF1ACF7D"+ _' -4150 to -4101
    "2FAFE66F70EACE93A568AC5B9638D0D41D6CB9701E266C682F"+ _' -4100 to -4051
    "BACA825B5BE66791ACB7932AD645F376CF98256C03023B641D"+ _' -4050 to -4001
    "00CE56C304D8F379F6CFB5266CE2F38D4D2375AC6BA2B1BA42"+ _' -4000 to -3951
    "304979A49401230E5349BBD9B2FD9322FF38AA1DCFFD8F3081"+ _' -3950 to -3901
    "5A46F716538D00C5FED0C008D829308A1BD0CBE193E2A0498F"+ _' -3900 to -3851
    "74FADCBE3FFF3C4C0CF6C386949E15F7971AA93ED0A52B6C16"+ _' -3850 to -3801
    "7519BBA0275BE59B29C7AD89FFDD0E5BD2BE56FF302BDA1DEE"+ _' -3800 to -3751
    "1D8A08EF3BA6C3A8A4A4CC267D4D879FD5A641C4CC71DE6B3C"+ _' -3750 to -3701
    "B7C4A19411608D86E5BEC8DEA9BE23C38A4FA9FBA4D5B6F3CB"+ _' -3700 to -3651
    "A2E23864566755A92E29BA08E3CB5BEA6C6452571042FB9CFF"+ _' -3650 to -3601
    "FBE4A044ACCE6ED85FE7D4A56223CF3C23ED56A8A2B66B2979"+ _' -3600 to -3551
    "8ACED8FBAA4256C76C7C79C3368138EEEAE12D832ACC5B5349"+ _' -3550 to -3501
    "CB1119004271C34B5F3CFBE2A41A04557CE159C3079AC7522B"+ _' -3500 to -3451
    "E2A64519C53BB2A0D46CBD045229C68E63C3C12E1978FACB6E"+ _' -3450 to -3401
    "9856C5FA8E2F5E23CF98A04DEE5F3879F71D2B672B6634A1DE"+ _' -3400 to -3351
    "67230A4A6FF894AD0CFF3C37B19419AC742EBD95308ACC6089"+ _' -3350 to -3301
    "F386F8A08A8578D05FBD608F3BF3715A9570682F30008FA5D4"+ _' -3300 to -3251
    "6BA15A49675797AD8300CB2308F3B1D9D1579387D8111D08B6"+ _' -3250 to -3201
    "7A1171538AC348A5A05A2B178B1974D9FFB93CC68BE129F7C3"+ _' -3200 to -3151
    "C452349E9F982B26C757D0A8B19F30815E2D45300008930860"+ _' -3150 to -3101
    "E16FF308E671A270C3815B15ED008A49345756CA1F232E25A1"+ _' -3100 to -3051
    "D8A45A3BA23BE30C38279F8ED60715A8E234DEE19A0493C986"+ _' -3050 to -3001
    "5B29713F742230C75F3CB2D0C82ACBE7564153040CB7D8F793"+ _' -3000 to -2951
    "048711197D0082E7D0CB6386A0DC30F0C28DD22322782BFFAC"+ _' -2950 to -2901
    "CEBA08E223453C7C406006FB153C7027C452ED4137156FCFAE"+ _' -2900 to -2851
    "2E1D9D5EFE6E1D4986C37B5AFEA2B9675FBE7451634D0C3C79"+ _' -2850 to -2801
    "34045900AC386B19852B9F7A56BDC7749A82D5686F1E1B940D"+ _' -2800 to -2751
    "4E26CFFF7164C38E2194C3871D8A5DCFF6FB78E9306CE9F304"+ _' -2750 to -2701
    "96BA607700EACF487682FB9E5B3798A00C7645FF7C08238E97"+ _' -2700 to -2651
    "4D8A45B970A1534DC302EE51A81DD4D8F34000234A192A53CE"+ _' -2650 to -2601
    "6E19A876C2CA15E5D9BF68B2A2F74D9326C75663433CC3B3CF"+ _' -2600 to -2551
    "19C300CFB29FB5AD045B220B2B2B115386E9898A4F2742AEA0"+ _' -2550 to -2501
    "41D68EFEEBD9222908AA11682DD0A4DA52570E6B52FFB2A97C"+ _' -2500 to -2451
    "E97FEAE6F90400164DA5E3BEB5F3A08568979CA5D8B9BD083A"+ _' -2450 to -2401
    "C341DC4D460CD5A00430F22B9B13CA5E9F49B3FF1EDA9F1A0E"+ _' -2400 to -2351
    "636FF853A8ED0CB198B123825A1938D45BE98E55B9364D041B"+ _' -2350 to -2301
    "9B7DCE52345FBE1DC07179B53CF0BE111F373759BE1D00C715"+ _' -2300 to -2251
    "2ABD456B5A5BA47C8563CB2D11A9BA238F27A9B308D4DEE553"+ _' -2250 to -2201
    "F5793C79B16ED83413757194D8DC3AC79BE64D4119863AC7F6"+ _' -2200 to -2151
    "8B6727D23F34D641B989826E9CB2367156B756E93864A93CF7"+ _' -2150 to -2101
    "5BE6D1119F949941ADC2E2F787EE9671F2FD5EB526FBB90ED5"+ _' -2100 to -2051
    "1D4FA153C30866F3CFE308FFEB2A0C3A9B9CBE4E9E9B308BE5"+ _' -2050 to -2001
    "11A456A093C341D975F1D55EE7CFA4515FDCC1A89BA59F78A9"+ _' -2000 to -1951
    "A0C9089BA237F23ED5D49ED00416890CFBB9819B5A5115B23A"+ _' -1950 to -1901
    "416F75574F64A9F4C8FEA27145BD49F94DA42386CE27D81E9C"+ _' -1900 to -1851
    "2F5FA379EDC7B5F15FBA02BE4E9C74B16BE230829CEFB6BA1D"+ _' -1850 to -1801
    "4DE9404DE270457194152711D089F7FA53C382ED492ACA0085"+ _' -1800 to -1751
    "A51DD0CF75BBD579F3C7868D000C71B5FD118FE9BA641EE130"+ _' -1750 to -1701
    "0C74B9CB3B29C7CBEFEA2FB704D8A415982A6087D04D875E33"+ _' -1700 to -1651
    "C2E667D82E523E5AD0866BED8AC71D8AC34FA916FE11279704"+ _' -1650 to -1601
    "53004D16008A0649A8A497DA151ACD5216B385574FEEB22B63"+ _' -1600 to -1551
    "0CB68E133C49BF2F38A0D482FFF7C3CFE5E9BA00C2AD8A8B2F"+ _' -1550 to -1501
    "DC7197608BE9770497515AFE60F30CB38E19B9BED0C7156ED4"+ _' -1500 to -1451
    "D49CEAE6BD08756AC07D417498A0049CF641D4DDCB967D8E6F"+ _' -1450 to -1401
    "63CB646CF71134D6B6000E1A08EE87CC336B64DC6711970C3A"+ _' -1400 to -1351
    "93863E1A4B5B9B238A233E5BF27093E1D498AC7D23B11A2AD0"+ _' -1350 to -1301
    "823C32FA87C6B6CE6082E75EB9B3C700515E341A11338A68ED"+ _' -1300 to -1251
    "4DA5E334B94E6BF74F70A11DE22D5ED8E56BBED8A5DC7D86FF"+ _' -1250 to -1201
    "7B5EE3FB11A41119FA0C9860CE157C30CB60671DC72793CBD0"+ _' -1200 to -1151
    "8533CB6A86CBDDA83E9B97D608B674160FBD8A119BD8A042DC"+ _' -1150 to -1101
    "300045E52F300ED1D08E463CFA56F790A82D932A9ACB97515F"+ _' -1100 to -1051
    "AA19004608B26E9BBAC0CF7DC8ED8979CF2BA90BE3459FF53B"+ _' -1050 to -1001
    "711D82D8E6CBD68EB9CF389F7AD04532E5B230C781A89B62E2"+ _' -1000 to  -951
    "7DC07D000EEDCF79089C3CD5AA9B197EA18A5930A115E52E5A"+ _'  -950 to  -901
    "CFF8D9B2F7159497989B2FF74D08D4DE632E2DD856C533ED9E"+ _'  -900 to  -851
    "D815F66BA01D8A85F68A8715382F79A041DCFD5E70086C5741"+ _'  -850 to  -801
    "1D23300C411D082D1D8A0CFF1AC826C3B3C386FD115300EA4B"+ _'  -800 to  -751
    "D4D49A002F6227E63CF30C7C63063894816B5A5FFEB6345230"+ _'  -750 to  -701
    "86A45B232AD6F3ADCF389FB381D0CB52F3C7C8DA5E30482BB1"+ _'  -700 to  -651
    "E56719F5FADE229B275F5EACBED8E5A12FF7D8E75A045DD48E"+ _'  -650 to  -601
    "A0825389BA0047864A1DEACC78B6BBA85F6260041D416004EE"+ _'  -600 to  -551
    "E119FB600C382D5E1D8BA0EA0CA8A045D5ED04C4C0CBD08D0C"+ _'  -550 to  -501
    "0F719F7C7D8A930CE52C642B641D2EAA1D4F6830CD52564FA1"+ _'  -500 to  -451
    "EA5B672FFD46B9FFFBE522F34FEAADCF7D6042FEDCF3CBEB94"+ _'  -450 to  -401
    "A978E626441A86838D45FB11DA934D0493A4E4ED23B5602ADE"+ _'  -400 to  -351
    "A085A9CEA8644A8304649C68D8A2F7123CD97ADC3CFC7C6FBF"+ _'  -350 to  -301
    "ADE2AADCF1E575A7CF98AEE9CBD271823264E2F253BBA853BF"+ _'  -300 to  -251
    "75389ED9D9760C7D932A1874B1E745F3CDD8197DC7086640C4"+ _'  -250 to  -201
    "DC575F3768AEE1FF6ACBBAC00CBFA9A825E66BAC383042F367"+ _'  -200 to  -151
    "1563049BD8686F0C60860414E5BE9CFE793811DEA85B5FBE74"+ _'  -150 to  -101
    "D645B225F20BAD644DC36F3CF3A82F75B67B5F9B626CFDD0C7"+ _'  -100 to   -51
    "DE90E163C368653852A52EE8B1371FB579B9F3CFF7DC63CBAD"+ _'   -50 to    -1
    "000000000000000000000000008A45F6E57C3041DEE90CF57C"+ _'     0 to    49
    "04812608A856C75B7C7974BD5D82B6CDDCB2786CFBA10936F7"+ _'    50 to    99
    "8EAC71D8A2F6E67EAC3EE5F7530008E375D4DA9323FF715EDD"+ _'   100 to   149
    "8E1345307FA5DC3EA478275FDC38B6C90F45A8E215B3BA2B27"+ _'   150 to   199
    "D8D45E116CEEF6C81A08A4D90BA86CE1941DC6F36FF904C75D"+ _'   200 to   249
    "87A191E1F7CC33879B93022367D2B1307B9400C86F5711279E"+ _'   250 to   299
    "D8BEDEE5F302649B19306382949345D1981A6089B644A6F719"+ _'   300 to   349
    "712791632743759389C6E1ED49F755F6897D2B156B97193C98"+ _'   350 to   399
    "6FBA68ED8221ED4D975FD8B93FE9FACBD8622F5B94E26E5349"+ _'   400 to   449
    "BD4D45A0DC34DAD0000CD15F34004F2BD49415B2E3867D970C"+ _'   450 to   499
    "770452E7DC9C7C3CA8EF60A9F386FEDC2EA27C86B111330C38"+ _'   500 to   549
    "B2E152701168E15641597534DADCD97E681560671B16CA1B90"+ _'   550 to   599
    "82E56CDC0E155742198197C07BD5975D822E175ED4DC9CBD08"+ _'   600 to   649
    "9F78EE9B607119793FA0C34DDC7D675BA95B94113792687560"+ _'   650 to   699
    "F306CF711F27CF7379E1DCB608EBD971638638EDEEE01DE1A2"+ _'   700 to   749
    "B98ACC74193C1E5527C0B5E25BD4D971EA9F007FA936BE9BE1"+ _'   750 to   799
    "D004982AA198225702B1EE68371BACFBE934CF77CF0BED04DE"+ _'   800 to   849
    "A830871552B5E65F341142A4D51D86E5BB1AC340566FF1A4E2"+ _'   850 to   899
    "38E90FBED049FACCA5264115A0860EDD8ED2381197115FBE52"+ _'   900 to   949
    "AA93E5782326830B238ABD49B29F768AAD4D86CE2BE6B711C8"+ _'   950 to   999
    "534DEE15E6CEED496BEB90E97D2F3ACBD4D6CBB16C2B1D4338"+ _'  1000 to  1049
    "382EF38B5300893C90F863AC3CFB3C2CA562AD4113CFF3C981"+ _'  1050 to  1099
    "BEDCB21E90304DC382E7151D990CB2BD8E33C75B17DC756E2E"+ _'  1100 to  1149
    "D41D82D49E16B23C7149CB330CB64DC3CB56830CB60A41BD52"+ _'  1150 to  1199
    "BA12FF30C5FB741564AD4C48FBEF238B944E55232A5B26A8AF"+ _'  1200 to  1249
    "ADE162E63E5367DA8345A689CFBFA5BED2FFA416867CF3AD89"+ _'  1250 to  1299
    "346C74DDCF3E15949F38A8EEF27A1D4DD6FFACBFB1B1225F6E"+ _'  1300 to  1349
    "D1F2BB53086DD87D0E5349F986F1A433CF34BD10C8D4D45A2F"+ _'  1350 to  1399
    "38AC79785681D5BA89B6ED1EE530456B79B2BAC8AC4055A12B"+ _'  1400 to  1449
    "60BE7113BA4D9BF23ED55EA60893C1E193711D0419A4638E38"+ _'  1450 to  1499
    "AADCF3468A4121532E6634D49708326B34174DA5279BDC08ED"+ _'  1500 to  1549
    "08A1334A9FC2F341BE1D4D8A81E5D41E3F7463634334749822"+ _'  1550 to  1599
    "FFBB22F7DC57D000268FF29C3ED4334D0CFB27415D938A0A5A"+ _'  1600 to  1649
    "864E2AF2BD8A45E9793C3CFBE38DEA97528DD2AD082B686CFE"+ _'  1650 to  1699
    "7D87970455B9638D045671566FFF97967D6040C3CB62EA08A2"+ _'  1700 to  1749
    "B648FEBA0C75FB9EDD822B23AC7FE6089838579C57C8E94C81"+ _'  1750 to  1799
    "19AC3045BA000CB194E2E30C30852BD4D23FE97BD52D4594DA"+ _'  1800 to  1849
    "0812E56F82E1D0497B902A93A451A0A5AC757930C7EE9A821A"+ _'  1850 to  1899
    "4512E19BB2ACB600C9CBD08BE5194DC30867D0C3CBD4D682D4"+ _'  1900 to  1949
    "D0112BE5E5A7823C386C5F25FE9BED000C300829F3E1293CCB"+ _'  1950 to  1999
    "1303A9FD9F9FBBAC2EAC442F7CC3345A9FEF7474DC4C4D8E5E"+ _'  2000 to  2049
    "51E5F712306F7AD4B5F79B15B9F749FEFBDE2FB6327CCBD412"+ _'  2050 to  2099
    "5A90F75B26689A82A82756086C37E27A5A04983F79B94D8D41"+ _'  2100 to  2149
    "F3709F79B3868A00C3482FDD85640C71159F32F604153CF7DC"+ _'  2150 to  2199
    "2A912E15A78A279D1986B75E9ED02375677C3CB29B2941CCA9"+ _'  2200 to  2249
    "FE66BA64DC38BD971279B9BAEE9A004F68B2E5E275ED864151"+ _'  2250 to  2299
    "9756F67D4DCFF71567970453A4D274FEED081907522308715D"+ _'  2300 to  2349
    "56419986E1DC794D00004A972B23CFDD0826C389BAC3CF7DC0"+ _'  2350 to  2399
    "862A049C9402BEEEE78EFF298A87D8930CF3A0838649BBD5B2"+ _'  2400 to  2449
    "E1D4F6451985E6D97A9770004DEAC41D04D8190C3819723819"+ _'  2450 to  2499
    "3EA0A193CF26F6B67522349E1A419A86CF76CF9343FF30CF75"+ _'  2500 to  2549
    "E1159821D16042344E944E9CEA64D45E52341D63CA08300411"+ _'  2550 to  2599
    "DC7D86BBACE1982E79B783CEE9716CBE5E19719B9AC7FE2797"+ _'  2600 to  2649
    "E2BD8AE6B152B797E262604157D8D0DC7DE981DCB1D99CBBD5"+ _'  2650 to  2699
    "F7064D26C7D1C8534DEA4598EFA5F70A1D8A9F3CE52F79044E"+ _'  2700 to  2749
    "A5A2BA6829B6E9CFBE5A0C34EEA83C30CBD04A5257C497CF70"+ _'  2750 to  2799
    "566710DC70C7E2B7CF8ED6449F7457A9B7C03A9FDD06BA64D6"+ _'  2800 to  2849
    "44701AD00862A98DD4B9FCB949300875E70C8223083C70A5A4"+ _'  2850 to  2899
    "987467D9386A01A5AA9FEDCB930C3879386FD1D2F6EDD8A8FB"+ _'  2900 to  2949
    "25A97371D86C2F3CF85F1A0E22F7994113759BE115B2BD86AC"+ _'  2950 to  2999
    "3497338FF64DC77C3A5AA97C3838E371DC782741E9C37B5F75"+ _'  3000 to  3049
    "A8EA4D95FA6008ADC344DCB7DC345FB2934FEA2BDA5A46B9B2"+ _'  3050 to  3099
    "A00164D45AD491674A4E2786CB60468E1151D9DDC1E98E986B"+ _'  3100 to  3149
    "BE17CBB6F30455AD64556445BD0049367575EAEA02F2A4D86C"+ _'  3150 to  3199
    "D93223ED89F382B5DD8D045A0274D0404A4DC82649F16FF7DC"+ _'  3200 to  3249
    "63C1E1D8E33CA45F34EE9E53F898FBDC71111704D8E70DC702"+ _'  3250 to  3299
    "FB3711FB9268BE9A008A4D8EB57457604D223AC3C344166B62"+ _'  3300 to  3349
    "27EA45266343F302A9638D0423C12AEEDE2B115F30FA455A9A"+ _'  3350 to  3399
    "4D4908E5DC89F7A52F38E193000227EA08646490B66FF6F3CB"+ _'  3400 to  3449
    "1AE908E579FEDCEDC049BE6A82D522B230457523866F786CBA"+ _'  3450 to  3499
    "D41594DE90C3C3A8ED86E9067DEAC081FFA83F386F483E1D82"+ _'  3500 to  3549
    "F98E970A9708240972FA74D0000CF6F7498B908268E1DCF386"+ _'  3550 to  3599
    "FBA945607111DAD00825B534DC826E5B970600A043B66341D4"+ _'  3600 to  3649
    "F2F90349BACFB5E1B2EF230C3E97B160FF363045EB2608AAD8"+ _'  3650 to  3699
    "797C34B5BBD11238300A8ED45B2267D493A87A19716B1D43F3"+ _'  3700 to  3749
    "A52D04F378373796FBDC3CD1938E111F78574193049BA1DCB7"+ _'  3750 to  3799
    "CFB345971B1AA0DA82AC78A9CEE523B194E63EE9E9B1538DD2"+ _'  3800 to  3849
    "B9ED415689FB56F6BAE2E7D83B2FF76457979FA515BB5FF306"+ _'  3850 to  3899
    "B2BA1A97974B53C745BE6E97933C71FE2756EDD2A156FD9799"+ _'  3900 to  3949
    "08BE59B6C7D0453CB5225B653CE3C7A15FBE6000C3C795B1BE"+ _'  3950 to  3999
    "1DC7EA49E121DD8A8B2E5E2D4EE2B3F36BEEBD99416C3A8A1D"+ _'  4000 to  4049
    "CD97CFF630CB53A49E9C71D82BD453CF5F2FFFD9764525B11D"+ _'  4050 to  4099
    "0A5A860E16A413F34155BD556CD5A086863A46304193E678A5"+ _'  4100 to  4149
    "D0462E9CFBB530B6A8F7D4B151A8752B115FF36FF715DD02E6"+ _'  4150 to  4199
    "2EE37597D5527E268A049000C75E7DCB2FBA93827CB253F2E1"+ _'  4200 to  4249
    "386DD8116E1538E52EEFA13F363493C3004115AD8A478A37DC"+ _'  4250 to  4299
    "483675523E9B5E6E5B970049A0CCBE25606F345A0C8FAD8A91"+ _'  4300 to  4349
    "2A42A0AD8564A5EF7C6F76825AD2702373FF38E9223497E2A8"+ _'  4350 to  4399
    "FE119A8649B300086349F267B5326CFFFBA55A556CFF385E17"+ _'  4400 to  4449
    "11271C41EA41DC63C5743B27ADCA4926F67D0040118BD8602E"+ _'  4450 to  4499
    "642F26B6487CB6041C34934CFB79BF60CE192EAC3CB2FBA9FF"+ _'  4500 to  4549
    "3008D49C745341FEE5EE64D8A142663004986F163CDD897575"+ _'  4550 to  4599
    "68EDC3C40D45AEA89C2B797CFF16B7D000468A0C04195F3FAC"+ _'  4600 to  4649
    "30CBBD97902E23410110199459FB23413FFF387523C78332EE"+ _'  4650 to  4699
    "74E11DCD9B9FF7DC86B15B15AA5A274526EA49894C8DAD4782"+ _'  4700 to  4749
    "DD415AEE1BD10D493C7704704BDD4D0CB2981386982D860E6F"+ _'  4750 to  4799
    "57C6381D149CF79456E5E119837D2FFD4E4E1B902AD0C7645F"+ _'  4800 to  4849
    "B636753C386F67D4DCACBBA0E5B97D8E94641D04E6FE52DD87"+ _'  4850 to  4899
    "1174D2B1BE5290C3413B2B2FF3CF71D4D"                    '  4900 to  4932
     
        Select Case n
            Case <-4931
                ' Except for n=-4933 squaring 10^(n/2) is OK.
                x=10^(n/2) ' To create denormals
                If n=-4933 Then x=x+6E-2483 ' Only adjustment needed
                x=x*x
                If n<-4950 Then Function=x: Exit Function ' Zero
            Case -4931 To +4931
                x=Val("1E"+Format$(n)) ' Maximum significand error = 4
            Case >+4931
                x=1E+4096*10^(n-4096)
                If n>+4932 Then Function=x: Exit Function ' Infinity
        End Select
        t=d(0) ' Least significant 32 bits of significand
        d(0)=Val("&H"+Left$(Hex$(t,8),7)+Mid$(LSNibble,n+4951,1))
        If Abs(d(0)-t)=>8 Then d(0)=d(0)-&H10*Sgn(d(0)-t) ' If carry/borrow
        Function=x
    End Function
    Below is a function Val1E() that provides a run-time evaluation of integer powers of ten using the same methodology as
    Val("1E"+Format$(n)) = 1En
    but is considerably faster. A table of powers of five rather than ten was used so that extreme negative powers remained within extended-precision limits with just the delay of a !fscale command at the end. Please note the following (timings based on Pentium 4):
    Avoids compile-time error #473 (Ivalid numeric format).
    Methodology is equivalent to PB when PB gives valid results.
    Takes up about 300 bytes.
    Significand accuracy +/- 4 over entire range.
    Up to 4000+ times more accurate and 75% faster than Exp(n*Log(10)).
    Up to 2000+ times more accurate and 25% faster than Exp10(n).
    Up to 36 times more accurate and four times as fast as 10^n.
    Same accuracy and eleven times faster than Val("1E"+Format$(n)).
    Returns zero if n<=-4951; infinity if n=>+4933.
    Returns denormals for -4950 <= n <= -4932.
    Equals 1En and Val("1E"+Format$(n)) for -4932 <= n <= 4931
    Corrects PB error where Val("1E4932")=2^127.
    Best values for -29 <= n <= +32 and exact for 0 <= n <= +27.
    Use in combination with Exp10_() (see below) as:
    Val1E(Fix(x))*Exp10_(Float(x)) or (perhaps better)
    Val1E(CLng(x))*Exp10_(x-CLng(x)).

    Code:
    Function Val1E(ByVal n As Long) As Ext
        ' Calculates 1En = Val("1E"+Format$(n)).
        !mov eax,n     ' eax=n
        !mov edx,eax   ' If n<0:              If n=>0:
        !sar edx,31    ' edx=-1=(n<0)         edx=0=(n<0)
        !xor eax,edx   ' eax=Not(n)           eax=n
        !sub eax,edx   ' eax=Not(n)-(-1)=|n|  eax=n-0=|n|
        !jz Zero       ' Jump if n=0
        !test eax,&HFFFFE000 ' Check if |n| greater than &H1FFF=8191
        !db &H3E       ' Branch taken hint
        !jz PrepareFPU ' Jump if |n| within bounds
        !mov eax,&H00001FFF ' eax=Min&(|n|,8191)
        PrepareFPU:
        !fild n         ' ST(0)=n ' For !fscale at end
        !fld1          ' ST(0)=1 ST(1)=n
        !lea ebx,SelectedPowers_Table ' ebx=pointer to next factor
        !jmp LoopEntry ' Skip over initial !add
            #Align 16    ' Frequent jumps to here; Needs current version.
            LoopHead:
            !add ebx,10  ' Pointer to next potential factor
            LoopEntry:
            !shr eax,1   ' CF=next bit
            !ja LoopHead ' Jump if CF=0 and ZF=0
            ' Here if:
            ' CF=1 and ZF=0 so multiply and loop
            ' CF=1 and ZF=1 so multiply and exit loop
            ' CF=0 and ZF=1 This cannot happen as n<>0.
            !fld TByte [ebx]   ' ST(0)=Factor ST(1)=Product ST(2)=n
            !fmulp ST(1),ST(0) ' ST(0)=New_Product ST(1)=n
            !jnz LoopHead
        ' ST(0)=Product           If n<0:      If n>0:
        !or edx,edx             ' edx=-1 ZF=0  edx=0 ZF=1
        !jz AllDone             ' Don't jump   Jump
            Zero:               ' Here if n=0 with ZF=1 and empty FPU
            !fld1               ' ST(0)=1.0 ST(1)=Product ST(2)=n
            !jz Last            ' Jump if zero
            !fdivrp ST(1),ST(0) ' After pop, ST(0)=1.0/Product ST(1)=n
        AllDone:    ' Now ST(0)=5^n
        !fscale     ' ST(0)=10^n ST(1)=n
        !fstp ST(1) ' After pop ST(0)=10^n
        Last:
        !fstp Function ' Needs current PB version.
        Exit Function
    #Align 2
    SelectedPowers_Table:
        !dw &H0000,&H0000,&H0000,&HA000, &H4001 ' 1E1/2^1=5^(2^0)  Exact
        !dw &H0000,&H0000,&H0000,&HC800, &H4003 ' 1E2/2^2=5^(2^1)  Exact
        !dw &H0000,&H0000,&H0000,&H9C40, &H4008 ' 1E4/2^4=5^(2^2)  Exact
        !dw &H0000,&H0000,&H2000,&HBEBC, &H4011 ' 1E8/2^8=5^(2^3)  Exact
        !dw &H0000,&H0400,&HC9BF,&H8E1B, &H4024 ' 1E16/2^16=5^(2^4) Exact
        ' The rest of the table was calculated to high precision first.
        !dw &HB59E,&H2B70,&HADA8,&H9DC5, &H4049 ' 1E32/2^32=5^(2^5)
        !dw &HA6D5,&HFFCF,&H1F49,&HC278, &H4093 ' 1E64/2^64=5^(2^6)
        !dw &H8CE0,&H80E9,&H47C9,&H93BA, &H4128 ' 1E128/2^128=5^(2^7)
        !dw &HDE8E,&H9DF9,&HEBFB,&HAA7E, &H4251 ' 1E256/2^256=5^(2^8)
        !dw &H91C7,&HA60E,&HA0AE,&HE319, &H44A3 ' 1E512/2^512=5^(2^9)
        !dw &H0C17,&H8175,&H7586,&HC976, &H4948 ' 1E1024/2^1024=5^(2^10)
        !dw &H5DE5,&HC53D,&H3B5D,&H9E8B, &H5292 ' 1E2048/2^2048=5^(2^11)
        !dw &H979B,&H8A20,&H5202,&HC460, &H6525 ' 1E4096/2^4096=5^(2^12)
    End Function
    Lastly an assembly version for Exp10() that (perhaps because it uses !fldl2t to load Log2(10)) runs twice as fast as the PB version is given. The FPU command for raising a number to a power is !f2xm1 that returns 2^x-1 (|x|<=0.5 or 1.0 depending on the coprocessor in use). In order to use this, the following transformation is used where i is an integer and d=x*Log2(10)-i (|d|<=0.5):
    10^x = 2^(x*Log2(10)) = 2^i*2^d = ((2^d-1)+1) * 2^i

    Code:
    Function Exp10_(ByVal x As Ext) As Ext
        ' Runs about twice as fast as Exp10(x).
        !fldl2t            ' ST(0)=Log2(10)
        !fld x             ' ST(0)=x ST(1)=Log2(10)
        !fmulp ST(1),ST(0) ' ST(0)=x*Log2(10)
        !fld ST(0)         ' ST(0)=x*Log2(10) ST(1)=x*Log2(10)
        !frndint           ' ST(0)=i (integer) ST(1)=x*Log2(10)
        !fsub ST(1),ST(0)  ' ST(0)=i ST(1)=d where |d|<=0.5
        !fxch ST(1)        ' ST(0)=d ST(1)=i
        !f2xm1             ' ST(0)=2^d-1 ST(1)=i
        !fld1              ' ST(0)=1.0 ST(1)=2^d-1 ST(2)=i
        !faddp ST(1),ST(0) ' ST(0)=2^d ST(1)=i
        !fscale            ' ST(0)=2^i*2^d=2^x ST(1)=i
        !fstp ST(1)        ' ST(0)=2^x
        !fstp Function
    End Function
    Conclusions for raising ten to the power of x:

    1. If just double-precision accuracy is desired, any method will work, and Exp10_(x) is the fastest.

    2. If x ia an integer use Val1E(x) for its speed and accuracy. If maximum accuracy is desired and size is not a concern create a constant array within the code (using !dw pseudo-ops). The latter method, with a complete table, requires almost 97 kilobytes. A BASIC array (including zero and infinity extremes) can be dimensioned thus:
    Dim MyArray(-4951 To 4933) As Static Ext At CodePtr(MyLabel)
    In assembly, the starting address of the table can be accessed with:
    !lea ebx,MyLabel ' Load register with equivalent address.

    3. If x is not an integer but is of small maqnitude (less than 5, but preferably less than 2) use Exp10_(x).

    4. If x can be split into an integer (integer) and a fractional part (delta) where the latter is more accurate than using x alone (say, x is a rational fraction or a number with known additional digits), use the product of Val1E(integer) and Exp10_(delta).

    5. If x may or may not be an integer, use 10^x. Recognize however this is the least accurate method if x is a non-integer but a fairly accurate method otherwise. The compiled program makes the decision.

    6. Always remember that as |x| gets larger, the relative error increases proportionately unless the programmer can use some means to circumvent it.

    Note added in 1/2/09 edit:
    The use of Exp2() (and probably all other power functions with a non-integer exponent) has an issue in and of itself. It appears that although PBCC is written for 32-bit machines, the Exp2() function used by PB uses a form of the FPU command f2xm1 that was written for 16-bit machines. This form limits the ST(0) value to 0<=ST(0)<=0.5. For further details see my post below and Intel, "IA-32 Intel Architecture Software Developer's Manual", Volume 3, Section 18.14.7.10.

    _______________
    Mark Longley-Cook
    Last edited by Mark Longley-Cook; 2 Jan 2009, 12:33 PM. Reason: Note on Exp2()

  • #2
    PB function notes: Powers of two

    The two methods in BASIC to raise two to a powrer are 2^x and Exp2(x). For integer n, 2^n and Exp2(n) always return the exact results as long as Abs(n) <= 16383=&H3FFF. If n <= -16384, both return +Zero; if n => +16384, both return +Infinity.

    If 0<=x<=0.5 then Exp2(x) is calculated by adding one to the result of the FPU command f2xm1. This was the allowable range in FPU's for 16-bit machines (Intel, "IA-32 Intel Architecture Software Developer's Manual", Volume 3, Section 18.14.7.10 in my set. An on-line version is linked at http://users.ece.utexas.edu/~patt/06s.382N/handouts/). If x<0 then Exp2(x) is calculated as the reciprical of Exp2(-x). (I have not discovered by trial and error how Exp2() is calculated for other values, particularly 0.5<x<1. None of the more obvious identities 2/Exp2(1-x) nor Exp2(x/2)*Exp2(x/2) nor Exp2(1/2)*Exp2(x-1/2) for this range are used.) Below is a function that gives somewhat better results:

    Code:
    Function Exp2_(ByVal x As Ext) As Ext
        ' Exp2_(x)=2^x
        ' Split x into rounded integer (i) and difference (d)
        ' Although fx2m1 only requires |ST(0)|<=1.0, here |d|<=0.5
        ' 2^x=2^i*2^d=2^i*((2^d-1)+1)
        !fld x             ' ST(0)=x
        !fld ST(0)         ' ST(0)=x ST(1)=x
        !frndint           ' ST(0)=i (integer) ST(1)=x
        !fsub ST(1),ST(0)  ' ST(0)=i ST(1)=d
        !fxch ST(1)        ' ST(0)=d ST(1)=i
        !f2xm1             ' ST(0)=2^d-1 ST(1)=i
        !fld1              ' ST(0)=1.0 ST(1)=2^d-1 ST(2)=i
        !faddp ST(1),ST(0) ' ST(0)=2^d ST(1)=i
        !fscale            ' ST(0)=2^i*2^d=2^x ST(1)=i
        !fstp ST(1)        ' ST(0)=2^x
        !fstp Function     ' Return 2^x
    End Function
    An error analysis was done of the accuracy of three methods with arguments 0.50 to 0.99 in steps of 0.01. (Read the table as 8 or 16% occurances of all three methods giving the correct result.)
    Code:
     
    Magnitude of error in significand 
    EXP2_(x)  2^x  EXP2(x)       Occurances 
       0       0      0               8
       0       1      0               2
       0       2      0               4
       0       1      1              20
       0       2      1               2
       0       2      2               1
       1       0      0               4
       1       1      1               4
       1       2      0               1
       1       2      1               1
       1       2      2               3
                                     --
                               Total 50
    In only five cases (10%) was Exp2(x) more accurate than Exp2_(), while in 26 cases (52%) Exp2_() was the more accurate.

    With a non-integer x, 2^x, like 10^x, is calculated as Exp(x*Log(2)). As seen in the above table, 2^x and Exp2(x) do not necessarily produce the same result. With more oportunities for rounding error, 2^x is more likely than Exp2(x) to produce inaccurate results. Note that, if i and j are integers, (2^(i/j))^j and (Exp2(i/j))^j should be each be integers. Using this as a testing criterion and letting x=i/j (0 < (|i|,|j|) <= 10000), then, when 2^x<>Exp2(x), the latter gives better results about 87% of the time.

    As discussed in the above post, 2^x, Exp2(x) and Exp2_(x) accuracy must degrade as |x| increases. Just as with powers of 10, if possible, x should be split into an integer and fractional part between 0.0 and +0.5. For example, the cube root of 2^11 is best calculated as either 2^4/Exp2(1/3) (because of 16-bit limits of 0.0<=ST(0)<=0.5) or 2^4*Exp2_(-1/3).

    Multiplying or dividing an integer by an integer power of two is just doing a shift operation, either in BASIC or assembly. For division one should be aware that shifting truncates towards zero.

    Multiplying or dividing a floating point number by an integer power of two provides an example of how a utility macro can distinguish between single, double and extended precision and operate on a floating-point variable (not an array element) in situ accordingly.

    This macro uses general registers eax and edx and does not test to see if the result is outside the data magnitude allowed. A very similar method can use two FPU registers with the fscale FPU command that does check the limits and returns zero and infinity. Referenced macros, of course, must come first, and they can also be used individually. "X2A" was intended to suggest ...*2^.... If use is restricted to, say, single-precision, all one needs is Macro_X2A_single, and if x in the lea command is replaced with x!, the compiler will create an error if, for example, a long integer (also of length 4) is used instead of a single-precision floating point. In all cases n must be one of the signed or (if n>=0) unsigned integers of any size. (Even byte datatype for n should work as long as byte data is word-aligned with zero fill, which appears to be standard in PBCC.) Lastly, x's address (not just a pointer) must be accessible by the lea assembly command (e.g., Local or passed ByVal) unless other code is used.

    Code:
     
    Macro Macro_X2A_single(x,n) 
        #Register None
        !lea eax,x ' Effective address of x
        !mov edx,n ' Least significant 8 bits in dl
        !add [eax+3],dl
    End Macro
    Macro Macro_X2A_double(x,n) 
        #Register None
        !lea eax,x ' Effective address of x
        !mov edx,n ' Least significant 16 bits in dx
        !shl dx,4  ' Align bits to sign/exponent
        !add [eax+6],dx
    End Macro
    Macro Macro_X2A_extended(x,n) 
        #Register None
        !lea eax,x ' Effective address of x
        !mov edx,n ' Least significant 16 bits in dx
        !add [eax+8],dx
    End Macro
    Macro Macro_X2A(x,n)
        #Register None
        MacroTemp v,label1,label2,label3
        Dim v AS DWord
        v=Len(x)    ' No documented assembly equivalent
        !mov eax,v  ' v should equal 4 or 8 or 10
        !shl eax,28 ' Single     Double     Extended
        '     EFLAGS: CF=0,ZF=0  CF=1,ZF=1  ZF=0,CF=1
        !jna label1 ' Jump if double or extended
        v=n ' Convert n to long integer
        Macro_X2A_single(x,v)
        !jmp label3
        label1:
        !jnz label2 ' Jump if extended
        v=n ' Convert n to long integer
        Macro_X2A_double(x,v)
        !jmp label3
        label2:
        v=n ' Convert n to long integer
        Macro_X2A_extended(x,v)
        label3:
    End Macro
    As a BASIC function:
    Code:
    Function X2A(ByVal x As Ext, n As Integer) As Ext
        ' A BASIC version of multiplying x by the nth power of two.
        Poke Integer,VarPtr(x)+8,Peek(Integer,VarPtr(x)+8)+n
        Function=x
    End Function
    Conclusions:

    1. As with powers of ten, if possible separate the argument into an integer and a more accurate floating point.

    2. Exp2_(x) gives better results than Exp2(x) if |x|>0.5, but not by very much. Also Exp2_() is a true 32-bit algorithm.

    3. 2^x gives the least accurate results (for non-integers) of all and probably should never be used unless the base (2) may vary from one calculation to the next.

    _______________
    Mark Longley-Cook
    Last edited by Mark Longley-Cook; 5 Jan 2009, 12:19 PM.

    Comment


    • #3
      >The two methods ...
      3.
      Code:
         LOCAL integerVar AS any_integer_class
         BIT SET integerVar,  power
      (Power=integer, 0<=power<32)

      MCM
      Michael Mattias
      Tal Systems (retired)
      Port Washington WI USA
      [email protected]
      http://www.talsystems.com

      Comment


      • #4
        Hiatus -- Floating Point Formats.

        Thanks, Michael, for another way. Certainly, any corrections or additions are appreciated. As an aside, I am not a professional programmer, and so I may miss many alternatives. But I have been doing application programming off and on for a half century mostly as an aid to other work in the mathematics, physics and engineering fields. I find PBCC the best language around for number crunching. Hence my semi-academic interest in PB functions, especially numeric ones.

        First, here is a little utility subroutine to put an extended-precision array in machine language on the clipboard. From there it can be pasted elsewhere, perhaps as the elements of a constant array that do not have to be crecalculated each time the program is run. It will be used below. As written, it uses PBCC5 for #Align, +=, Clipboard.

        Code:
        Sub ClipboardSetExt(a() As Ext, Opt ByVal b As String)
            ' Puts a##() elements on clipboard in pastable syntax:
            '     !dw &Hxxxx,&Hxxxx,&Hxxxx,&Hxxxx, &Hxxxx [' b(...)]
            '     ...
            ' The optional b string is the name of array.
            Local e,i,j,m,n As Long
            Local d As DWord
            Local s,t As String
            m=ArrayAttr(a(),3) ' Number of dimensions
            n=ArrayAttr(a(),4) ' Number of elements
            Dim k(1 To m) As Long
            For j=1 To m
                k(j)=LBound(a(),j)
            Next j
            b=Trim$(b)
            ' As neither of the following is a PB-documented procedure to
            '     find the location of the first array element, both are given.
            d=VarPtr(a(LBound(a()))) ' Valid for any number of dimensions as
            '     omitted subscripts after the first default to their lower bounds:
            ' d=Peek(DWord,VarPtr(a())) ' Alternate statement (current ADT).
            ' s="Exit ..."+$CrLf+"#Align 2"+$CrLf+"...:" ' Optional prefix
            For e=1 To n
                s+="    !dw &H"+Hex$(Peek(Word,d  ),4)+"," + _ ' Significand
                           "&H"+Hex$(Peek(Word,d+2),4)+"," + _ ' Significand
                           "&H"+Hex$(Peek(Word,d+4),4)+"," + _ ' Significand
                           "&H"+Hex$(Peek(Word,d+6),4)+", "+ _ ' Significand
                           "&H"+Hex$(Peek(Word,d+8),4) ' Sign & biased exponent
                t=")"+$CrLf
                For j=m To 1 Step -1
                    t=Format$(k(j))+t
                    If j>1 Then t=","+t
                Next j
                If b<>"" Then s+=" ' "+b+"("+t ' Comment if b<>""
                d+=10
                For j=1 To m
                    Incr k(j)
                    If k(j)<=UBound(a(),j) Then Exit For
                    k(j)=LBound(a(),j)
                Next j
            Next e
            ' s+="End ..."+$CrLf ' Optional suffix
            Clipboard Set Text s ' Reset not needed; Opt. 2d operand in PBCC5.01
            ? "Array ";b;"() now on clipboard."
        End Sub
        While working on these posts, it occurred to me that some readers may not be fully familiar with floating point formats, especially as the very helpful description that comes with PBDOS was, for some reason, omitted from the PBCC documentation. Following is transcribed and adapted from PowerBASIC manual for PBDOS, "PowerBASIC Compiler Version 3.5 User's Guide", Chapter 10, pages 172f. It also appears on the User.pdf file that comes with PBDOS3.5.

        Code:
        Single (!), double (#) and extended precision (##) floating point formats:
            Bit positions (from high
            to low memory locations):
            Single  Double  Extended   Meaning:
            31      63      79         Sign bit (0=positive; 1=negative)
            30-23   62-52   78-64      Two's exponent + Bias
            --      --      63         One* (implicit in Single & Double)
            --      --      --         Implicit binary point
            22-0    51-0    62-0       Rest of significand
            &H7F    &H3FF   &H3FFF     Value of exponent bias
        * Zero for extended-precision zeroes and denormals (certain
              small numbers very near, but not quite, zero).
        Following is a program that demonstrates PowerBASIC's internal single- and extended-precision formats:

        Code:
        Function PBMain ' Added for PBCC. If #Dim All declare variables.
            a! = 167.25!
            address??? = VarPtr(a!)
            ' segmnt = VarSeg(a!) ' Deleted for PBCC
            ' Def Seg = segmnt    ' Deleted for PBCC
            For n% = 0 To 3
                bytevalue? = Peek(address??? + n%)
                Print Hex$(bytevalue?); " ";
            Next n%
            Print
            ' Rest added for extension of discussion and PBCC5:
            Dim b##(0) At CodePtr(label) ' Constants in protected memory.
            ? b##(0);" =167.25##"
            Call ClipboardSetExt(b##()) ' Subroutine listed above
            WaitKey$
            Exit Function
        #Align 2 ' Optional metastatement speeds access.
        label: ' Dump of 167.25##           sign&exp
            !dw &H0000,&H0000,&H0000,&HA740, &H4006 ' b##(0)=167.25##
        End Function
        The program's first line of output looks like this:
        ' 0 40 27 43
        Let's decode these 4-byte values that supposedly represent 167.25 into single precision form. First rearrange them so that the most significant byte comes first from Intel's little-endian to big-endian:
        ' 43 27 40 00
        Now break them into binary and break that into sign bit, exponent, and normalized mantissa:

        Code:
                   +------+------+------+------+------+------+------+------+
            Hex:   |   4  |   3  |   2  |   7  |   4  |   0  |   0  |   0  |
            Binary | 0100 | 0011 | 0010 | 0111 | 0100 | 0000 | 0000 | 0000 |
                   +------+------+------+------+------+------+------+------+
         
                   sign   exponent              mantissa
                   +---+------------+------------------------------+
            Binary | 0 | 100 0011 0 | 010 0111 0100 0000 0000 0000 |
                   +---+------------+------------------------------+
        Subtract the &H7F bias from the exponent:
        ' &H86 - &H7F = true binary exponent of &H07=7E0
        A normalizedsingle-precision mantissa has an assumed 1 and a binary point at the extreme left, so the mantissa is really:
        ' 1.01001110100000000000000
        Shifting the binary point right seven places to adjust for the exponent bias results in:
        ' 10100111.0100000000000000 = 167.25

        To continue the manual's discussion, if this were to be converted to extended-precision, one can take the above value as exactly:
        1.010011101 (binary) * 2^7 (2^hexadecimal)
        Adding the &H3FFF extended-precision bias to the exponent gives &H4006 and keeping the initial 1 in the extended-precision significand gives:

        Code:
                   sign       exponent        1     part of significand
                   +---+--------------------+---+-------------------------
            Binary | 0 | 100 0000 0000 0110 | 1 | 010 0111 0100 0000 0000 
                   +---+--------------------+---+-------------------------
                                  remainder of significand
                  --------------------------------------------------------+
                   0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 |
                  --------------------------------------------------------+
        Which in hexadecimal is: &H4006A740000000000000
        Splitting this into bytes and reversing the order to little-endian:
        &H00, &H00, &H00, &H00, &H00, &H00, &H40, &HA7, &H06, &H40
        which is how 167.25## appears in memory. This can also be written as (allowing a shorter line length):
        &H0000, &H0000, &H0000, &HA740, &H4006
        (The byte order now appears as 8 9 6 7 4 5 2 3 0 1.) The result is confirmed by the second line of the above program's output.

        A final part of the program calls the above subroutine to place an array on the clipboard for pasting elsewhere.

        A few sample extended-precision numbers are:

        Code:
            !dw &H0000,&H0000,&H0000,&HC000, &HFFFF ' NaN (not-a-number)
            !dw &H0000,&H0000,&H0000,&H8000, &HFFFF ' -Infinity
            !dw &H0000,&H0000,&H0000,&H8000, &HBFFF ' -One
            !dw &H0000,&H0000,&H0000,&H0000, &H8000 ' -Zero
            !dw &H0000,&H0000,&H0000,&H0000, &H0000 ' +Zero
            !dw &H0001,&H0000,&H0000,&H0000, &H0000 ' Smallest positive denormal
            !dw &HFFFF,&HFFFF,&HFFFF,&H7FFF, &H0000 ' Largest positive denormal
            !dw &H0000,&H0000,&H0000,&H8000, &H0001 ' Smallest positive finite normal
            !dw &H0000,&H0000,&H0000,&H8000, &H3FFF ' +One
            !dw &HFFFF,&HFFFF,&HFFFF,&HFFFF, &H7FFE ' Largest positive finite normal
            !dw &H0000,&H0000,&H0000,&H8000, &H7FFF ' +Infinity
        These can be created, respectively, in PB by:
        (0/0), (-1/0), (-1), (-0), 0, (2^-63*2^-16382), ((1-2^-63)*2^-16382), 2^-16382, 1, ((2^64-1)*2^16320), (1/0)
        Depending on usage, the outer parentheses may be dropped. Though ((0.5*2^-63)*2^-1.6382) does not round to the smsllest denormal, ((0.51*2^-63)*2^-1.6382) will. In PB, NaN's can also be created by (1/0)/(1/0), 1/0-1/0, and 0*(1/0) but not by 0^0 (perhaps because the last is calculated by a more complex algorithm than simple FPU op-codes). A NaN with any relational operator (e.g., (0/0)=1) is always true in PB.

        A more complete description, including denormals and NaN's, is available from "IA-32 Intel Architecture Software Developer's Manual", three volumes, 2003. A link to an on-line copy is provided in my previous post. Refer to Volume 1, Section 4.8. Note that what PB calls extended-precision, Intel calls double extended.

        If writing assembly code, a handy trick for locating an extended-precision array element and loading it into the FPU is to use (assume eax=address of array's zeroth element, ecx=element number=n):
        !lea ecx,[ecx+4*ecx] ' ecx=5*n
        !fld TByte [eax+2*ecx] ' ST(0)=extended-precision at eax+10*n

        ________________
        Mark Longley-Cook
        Last edited by Mark Longley-Cook; 16 Jan 2009, 11:39 AM. Reason: Info on NaN's & a PB5.01 revision.

        Comment


        • #5
          Is PBCC safe for astronomy calculations?

          I am not a mathematician (far from it -- I'm not good at it at all), and I started to go googoly-eyed halfway through reading all this. However, I do have an interest in positional astronomy and I occasionally use PBCC (3.04) to do astronomical calculations. I have a basic (no pun) question for you: Is it safe to use PBCC for those kinds of mathematics?

          Comment


          • #6
            Extraordinarily so.

            Bob Zale
            PowerBASIC Inc.

            Comment


            • #7
              The compiler will "do the math" correctly; however the programmer must select the correct data types, form expressions so as to have rounding (which occurs with any floating point type) occur when wanted, and be aware of the number of significant digits both in 'finished' calculations and in intermediate results.
              Michael Mattias
              Tal Systems (retired)
              Port Washington WI USA
              [email protected]
              http://www.talsystems.com

              Comment


              • #8
                Besides the care Mr. Mattias above, I recommend reading a good textbook, as the "Astronomical Algorithms" by Jean Meeus (ISBN 0-943396-35-2) - there you will find various formulas and ways of treatment of astronomical values/constants applied to programming in micro computers.
                "The trouble with quotes on the Internet is that you can never know if they are genuine." - Abraham Lincoln.

                Comment


                • #9
                  Astronomy

                  Being more concerned in PB algorithms in this thread, I had not planned on mentioning the work by Jean Meeus which is very well-written. But since it has been brought up, be advised that there are a few typographical errors in his book. For example regarding position of the moon in Table 45.A there are missing perturbations of
                  -1419*cos(3*D)
                  +1066*cos(2*M)
                  above his cutoff of 1 km. In the same chapter the additive planetary latitude term of
                  +382*sin(A3)
                  is erroneous. For these see the works by M. Chapront-Touze and J. Chapront (especially "Lunar Tables and Programs from 4000 B.C. to A.D. 8000") and their ELP on-line files. You may want to add a linear distance term. For the rest of the solar system check out the VSOP on-line files developed from the work by P. Bretagnon et al. to save a lot of typing.

                  If one is seriously interested in astrophysics algorithms, I strongly suggest that you become familiar with spherical trigonometry and also check data against peer-reviewed journal articles. Since Sputnik and small computers, the field has advanced greatly. A university with a good physics or astronomy department should have a copy of the needed academic journals; some of the more significant articles are also available on-line.

                  _________________
                  Mark Longley-Cook

                  Comment


                  • #10
                    > cutoff of 1 km.

                    Well, there may be errors, but perhaps he did not want to hit on the fly ...
                    "The trouble with quotes on the Internet is that you can never know if they are genuine." - Abraham Lincoln.

                    Comment


                    • #11
                      Correction: BestPowerOfTen() function

                      There was an error in rounding denormals that led to the wrong least significant nibble values used in my BestPowerOfTen() function that appeared in the first post of this thread. The error was for
                      1E-4950, 1E-4943, 1E-4938, 1E-4936, and 1E-4933. The first line of data should be changed, but it is too late to edit my post. No other change (other than capitalizing the typo "b" in the function's title) is needed.

                      Code:
                      "2B279D6CD3252CAB0401D23B5EA864A9FCA1938D86386CD9BF"+ _' -4950 to -4901 Posted
                       X      X    X X  X                                    ' Errors. Corrected line:
                      "3B279D6DD3253CBB0501D23B5EA864A9FCA1938D86386CD9BF"+ _' -4950 to -4901
                      It turns out that PowerBASIC always truncates denormals if the excess is exactly one half (perhaps Intel in their Pentium 4 FPU does this). This led to my erroneous assumption that denormals were always truncated no matter the excess.

                      I expect to be posting later today or tomorrow a suite of functions that do arithmetic to 96 significant bits to avoid accumulation of rounding errors, and testing these functions led to the discovery of this error. The post will be in the Source Code forum as which is probably the correct place. I hope the suite will be useful to some of you.

                      Sorry for any inconvenience.

                      ________________
                      Mark Longley-Cook
                      Last edited by Mark Longley-Cook; 26 Jan 2009, 12:35 PM.

                      Comment


                      • #12
                        Correction: Floating Point Formats

                        In the subroutine ClipboardSetExt() please change the third line from the end:

                        Code:
                            Clipboard Set Text s ' Reset not needed; Opt. 2d operand in PBCC5.01
                        to:

                        Code:
                            Clipboard Reset i: Clipboard Set Text s,i
                        This assures that the clipboard is loaded correctly. Sorry for any inconvenience.

                        ________________
                        Mark Longley-Cook

                        Comment


                        • #13
                          PB functions -- Log() etc. bug &amp; note on Hex$().

                          Edit of 4/13: PB advises it will be fixed in PBCC5.02. It has been around a long time (presumably since 32-bit compiler was first marketed). It does not occur in PBDOS because Error 5 catches the invalid argument. It can also occur with infinite x and/or y in x^y [calculated as Exp(y*Log(x))] even though the logarithm of y is not needed (may require a second iteration of the do loop.) If both x and y are finite, it appears there is no problem. I have checked all the other numeric functions with potentially unexpected arguments and found them to work OK. Without using assembly code, you can see the bug in the following:
                          Code:
                          Sub LogBug
                              #Register None
                              Local i As Long
                              Local x As Ext
                              For i=1 To 6 ' At least six iterations
                                  x=Log(0) ' For example
                              Next i
                              x=1
                              ? x
                          End Sub
                          Now the original post:--

                          This is one post I did not expect to write.

                          While testing a pair of functions to compute the Gamma and the Log Gamma functions, I discovered a bug that appears when any of the three PB Log functions (Log, Log2, and Log10) computes a result that should be infinite. For example, Log(0), Log2(-1), or Log10(1/0). I am using PBCC5.01 with a Pentium 4 processor, but the problem is not with Intel's FYL2X opcode. It is apparently the case when such arguments are used, the FPU stack is not properly cleaned up. This is besides the less critical error of returning a result that prints as zero.

                          To verify this problem is in your compiler, call the subroutine CheckFPU.

                          Code:
                          Sub CheckFPU
                              ' Checks for untidy FPU.
                              #Register None
                              Local x,pi As Ext
                              !fldpi ' ST(0)=pi
                              !fstp pi ' p=pi
                              Do
                                  ? "Break to exit."
                                  ? "Input a number to test FPU. ";
                                  ? "Zero or negative or 1E5000 (infinity) shows bug. ";
                                  Input x
                                  !fldpi ' ST(0)=pi
                                  ' Insert any Log function in next statement.
                                  x=Log(x) ' Including this causes erroneous print below.
                                  ' For Log(x) and Log10(x) prints: 9.22337203685478
                                  ' For Log2(x) prints: 92.2337203685478
                                  !fstp x ' x would be pi if FPU were cleaned up.
                                  ? x;" This should be pi."
                                  If x<>pi Then
                                      !fstp x ' x=ST(0) that was left in error.
                                      ? x;" If not, then this is pi."
                                  End If
                              Loop
                          End Sub
                          It is suggested, if any of your programs could encounter this problem, that you change Log(), Log2(), and Log10() to XLog(), XLog2(), and XLog10(), respectively, and add the following code. If you are using PBCC4.xx replace "!fstp Function" with the statement pair:
                          !fstp x
                          Function=x

                          Code:
                          Function XLog(ByVal x As Ext) As Ext
                              ' Correctly calculates Log(x) and leaves FPU tidy.
                              #Register None
                              !fldln2 ' ST(0)=Log(2)=1/Log2(e)
                              !fld x ' ST(0)=x; ST(1)=1/Log2(e)
                              !fyl2x ' ST(0)=Log2(x)/Log2(e)=Log(x)
                              !fstp Function ' FPU cleared
                          End Function
                           
                          Function XLog2(ByVal x As Ext) As Ext
                              ' Correctly calculates Log2(x) and leaves FPU tidy.
                              #Register None
                              !fld1 ' ST(0)=1
                              !fld x ' ST(0)=x; ST(1)=1
                              !fyl2x ' ST(0)=Log2(x)
                              !fstp Function ' FPU cleared
                          End Function
                           
                          Function XLog10(ByVal x As Ext) As Ext
                              ' Correctly calculates Log10(x) and leaves FPU tidy.
                              #Register None
                              !fldlg2 ' ST(0)=Log10(2)=1/Log2(10)
                              !fld x ' ST(0)=x; ST(1)=1/Log2(10)
                              !fyl2x ' ST(0)=Log2(x)/Log2(10)=Log10(x)
                              !fstp Function ' FPU cleared
                          End Function
                          PowerBASIC support has been notified of this bug.

                          On quite a different subject too minor for a post, if you are using the Hex$() function to get the hex value of a quad integer using the recommended expression published by PowerBASIC prior to PBCC5.01, see the current on-line manual under the Hex$() function for corrected advice.

                          ________________
                          Mark Longley-Cook
                          Last edited by Mark Longley-Cook; 13 Apr 2009, 12:09 PM. Reason: See first paragraph.

                          Comment


                          • #14
                            CAUTION: Use of #Debug Display On

                            Edit of 4/20: If you might be using the debugger, be aware that an extra byte is added to each line. To avoid problems, put "#Debug Code Off" between "Exit Function" and "#Align 2". This turns off the debugger adding that extra byte until the end of the function.

                            This applies to PBCC5.xx, and presumably PBWin9.xx. I make extensive use of storing constants inside code. This is fine unless you use #Debug Display On. This metastatement causes 14 bytes (with PBCC5) of code to be immediately inserted after every label. The code stores the 8 bytes of the label name with $Spc fill to be included in the stack. It also plays havoc with data alignment. If you are likely to use this option with my functions, please add to your template something like:
                            Code:
                            #If -1 ' Change to #If 0 when appropriate.
                                #Debug Display On
                                %Debug_Display=14
                            #Else
                                #Debug Display Off
                                %Debug_Display=0
                            #EndIf
                            And then you must add %Debug_Display to CodePtr(...) when you dimension the array. For assembly functions, insert !add ...,%Debug_Display after the !lea statement. Also confirm in later versions there is no change to the number 14 by checking the difference in CodePtr() results of two labels with nothing between them.

                            ________________
                            Mark Longley-Cook
                            Last edited by Mark Longley-Cook; 20 Apr 2009, 11:21 AM. Reason: See first paragraph.

                            Comment


                            • #15
                              Factorial function (non-negative integer argument)

                              Edit of 5/6: The !fld statement in the original post read:
                              !fld Tbyte Factorial_Table[eax+eax+%Debug_Display]
                              This operation can be written several ways, and the current statement may be clearer. The machine code is different, but the timing and space are the same. If the location of the array data needs to be in a register, one can use the statement pair
                              !lea edx,Factorial_Table[%Debug_Display]
                              !fld [edx+2*eax]
                              to accomplish it. Edit of 5/8: The following, or something like it, can be used to create a compile-time error unless %Debug_Display equals 0 or 14:
                              %Debug_Display = %Debug_Display+(%Debug_Display<>0 And %Debug_Display<>14)

                              Although not a PB function, this factorial function provides a quick summary of effective addressing an extended precision value in a constant array including handling of extra code inserted with some #Debug metastatements. (To my knowledge only #Align ..., #Optimize Speed, #Debug Code ..., and #Debug Display ... cause extra code to be added and only the last two would be applicable here.) For convenience, this version is limited to non-negative integer arguments; see a later post on the Gamma function for non-integer and negative arguments. Extended-precision can be used for 0! through 1754!, and the values were first computed to a higher precision using techniques discussed in my thread on 96-bit significand arithmetic and string arithmetic:
                              PowerBASIC and related source code. Please do not post questions or discussions, just source code.

                              As written, the function is intended for PBCC5.01 with at least a P6-family processor. It has intentionally been made as concise as possible using one general register and one FPU register. It can easily be converted to a GoSub if speed is very critical to avoid the time spent in setting up a Function stack. The #If metastatement must be switched between "#If 0" and "#If -1" since #Debug Display ... cannot be turned on and off like #Debug Code ... can. Here is the code:

                              Code:
                              #If -1 ' -1 for testing; 0 for final.
                                  #Debug Display On
                                  %Debug_Display=14
                              #Else    
                                  #Debug Display Off
                                  %Debug_Display=0
                              #EndIf    
                              ' Insert other metastatements, PBMain, functions, subroutines, etc.
                              Function Factorial(ByVal n As Long) As Ext
                                  ' Returns n! for integer n (0<=n<=1754, else infinity)
                                  !mov eax,1755 ' 1755! above limit of extended-precision
                                  !cmp eax,n ' Testing CF also will check for negative n
                                  !cmova eax,n ' P6-family CPU's added conditional moves 
                                  !lea eax,[eax+4*eax] ' eax=5*eax shortcut
                                  !fld Tbyte Factorial_Table[%Debug_Display][2*eax]
                                  !fstp Function
                                  Exit Function
                                  #Debug Code Off ' In case there was a #Debug Code On
                                  #Align 2 ' Entries are 2*5 bytes each
                                  Factorial_Table:
                                  ' First table entry is 0!
                                  #Include "..\Data\Data64\Factorial64.txt" ' Modify path as desired
                                  ' Last table entry (following 1754!) is infinity
                              End Function
                              The #Include file is as follows. Note the final infinity for out-of-bounds arguments.
                              Code:
                              ' Extended-precision factorials 0! to 1754! and +infinity.
                              !dw &H0000,&H0000,&H0000,&H8000, &H3FFF ' 0!
                              !dw &H0000,&H0000,&H0000,&H8000, &H3FFF ' 1!
                              !dw &H0000,&H0000,&H0000,&H8000, &H4000 ' 2!
                              !dw &H0000,&H0000,&H0000,&HC000, &H4001 ' 3!
                              !dw &H0000,&H0000,&H0000,&HC000, &H4003 ' 4!
                              !dw &H0000,&H0000,&H0000,&HF000, &H4005 ' 5!
                              ' Limit of byte.
                              !dw &H0000,&H0000,&H0000,&HB400, &H4008 ' 6!
                              !dw &H0000,&H0000,&H0000,&H9D80, &H400B ' 7!
                              ' Limit of integer.
                              !dw &H0000,&H0000,&H0000,&H9D80, &H400E ' 8!
                              ' Limit of word.
                              !dw &H0000,&H0000,&H0000,&HB130, &H4011 ' 9!
                              !dw &H0000,&H0000,&H0000,&HDD7C, &H4014 ' 10!
                              !dw &H0000,&H0000,&H4000,&H9845, &H4018 ' 11!
                              !dw &H0000,&H0000,&HE000,&HE467, &H401B ' 12!
                              ' Limit of long-integer and double-word.
                              !dw &H0000,&H0000,&H6600,&HB994, &H401F ' 13!
                              !dw &H0000,&H0000,&HD940,&HA261, &H4023 ' 14!
                              !dw &H0000,&H0000,&HBBAC,&H983B, &H4027 ' 15!
                              !dw &H0000,&H0000,&HBBAC,&H983B, &H402B ' 16!
                              !dw &H0000,&HC000,&H7766,&HA1BF, &H402F ' 17!
                              !dw &H0000,&H9800,&H6653,&HB5F7, &H4033 ' 18!
                              !dw &H0000,&H4480,&HC983,&HD815, &H4037 ' 19!
                              !dw &H0000,&H0AD0,&H9DF2,&H870D, &H403C ' 20!
                              ' Limit of quad-integer.
                              !dw &H0000,&HAE31,&HDF4D,&HB141, &H4040 ' 21!
                              !dw &H6000,&HCF83,&H930A,&HF3BA, &H4044 ' 22!
                              !dw &H6D00,&HC526,&H19AF,&HAF2E, &H4049 ' 23!
                              !dw &HD1C0,&HD3DC,&H9343,&H8362, &H404E ' 24!
                              !dw &H07BC,&HFB09,&H0619,&HCD4A, &H4052 ' 25!
                              ' Limit of exact extended-precision.
                              !dw &H5649,&H1BF7,&H24F5,&HA6CC, &H4057 ' 26!
                              !dw &HB0CD,&HCF98,&H3F2E,&H8CBC, &H405C ' 27!
                              !dw &H3567,&HEB4B,&H6E91,&HF649, &H4060 ' 28!
                              !dw &H2866,&H3D3C,&H8C34,&HDF32, &H4065 ' 29!
                              !dw &H65DF,&HF968,&H6370,&HD13F, &H406A ' 30!
                              !dw &H22B0,&H719D,&H6855,&HCAB5, &H406F ' 31!
                              !dw &H22B0,&H719D,&H6855,&HCAB5, &H4074 ' 32!
                              !dw &H0BC6,&H1D2A,&H1398,&HD10B, &H4079 ' 33!
                              !dw &HAC82,&H9EFC,&HC4D1,&HDE1B, &H407E ' 34!
                              ' Limit of single-precision.
                              !dw &H5CAE,&H45E4,&H5F45,&HF2EE, &H4083 ' 35!
                              !dw &H7422,&HF750,&H1596,&H88A6, &H4089 ' 36!
                              !dw &H0647,&H8DF5,&H08F6,&H9E00, &H408E ' 37!
                              !dw &HF775,&HC892,&H0AA4,&HBBA0, &H4093 ' 38!
                              !dw &H1D96,&HD473,&H0CF8,&HE4AB, &H4098 ' 39!
                              !dw &HF27E,&H84C7,&HE81B,&H8EEA, &H409E ' 40!
                              !dw &H2EB1,&H4220,&HF963,&HB71C, &H40A3 ' 41!
                              !dw &H3D49,&H46CA,&H0752,&HF056, &H40A8 ' 42!
                              !dw &HE12D,&H478F,&HCCEB,&HA179, &H40AE ' 43!
                              !dw &HD59E,&H8265,&H79C3,&HDE07, &H40B3 ' 44!
                              !dw &H9A33,&H77AF,&H419D,&H9C1D, &H40B9 ' 45!
                              !dw &H6DA9,&H5C0C,&H0E52,&HE06A, &H40BE ' 46!
                              !dw &H2088,&H7B99,&HE284,&HA4CD, &H40C4 ' 47!
                              !dw &HB0CD,&HB965,&HD3C6,&HF734, &H40C9 ' 48!
                              !dw &HDB5D,&H25F1,&H7224,&HBD44, &H40CF ' 49!
                              !dw &HF360,&H3DA4,&H792C,&H93DD, &H40D5 ' 50!
                              !dw &HE3E2,&H823E,&HF91E,&HEBA8, &H40DA ' 51!
                              !dw &H1927,&HC9D3,&H4A68,&HBF79, &H40E0 ' 52!
                              !dw &HD0D5,&HC722,&H719E,&H9E90, &H40E6 ' 53!
                              !dw &H6033,&HF805,&HDFDD,&H85C9, &H40EC ' 54!
                              !dw &H3D58,&H8249,&HF8C5,&HE5F2, &H40F1 ' 55!
                              !dw &H15AD,&HD200,&H99AC,&HC934, &H40F7 ' 56!
                              !dw &H134E,&HEB08,&HD8DD,&HB332, &H40FD ' 57!
                              !dw &H517F,&H1CFF,&H1489,&HA266, &H4103 ' 58!
                              !dw &H5F21,&H66BB,&H1AEE,&H95B6, &H4109 ' 59!
                              !dw &HA92F,&H804F,&HB93F,&H8C5A, &H410F ' 60!
                              !dw &HED41,&H864B,&H7890,&H85C6, &H4115 ' 61!
                              !dw &H8DD7,&H0219,&H44CC,&H8198, &H411B ' 62!
                              !dw &H4F3F,&HA422,&HC771,&HFF23, &H4120 ' 63!
                              !dw &H4F3F,&HA422,&HC771,&HFF23, &H4126 ' 64!
                              !dw &H6C3E,&HB559,&H2B47,&H8190, &H412D ' 65!
                              !dw &H37A0,&HF304,&HACA1,&H859C, &H4133 ' 66!
                              !dw &H6A3B,&H8A68,&H04B9,&H8BE0, &H4139 ' 67!
                              !dw &HF0DF,&H230E,&H0505,&H949E, &H413F ' 68!
                              !dw &H1BB0,&H89CC,&H5D69,&HA03A, &H4145 ' 69!
                              !dw &H3E49,&H6EB7,&HD62B,&HAF3F, &H414B ' 70!
                              !dw &H4919,&H2ED3,&HD198,&HC26A, &H4151 ' 71!
                              !dw &HB23C,&H34AD,&H2BCB,&HDAB8, &H4157 ' 72!
                              !dw &H1F4C,&HC816,&H11F3,&HF97A, &H415D ' 73!
                              !dw &HCA18,&HEFAC,&H9260,&H903A, &H4164 ' 74!
                              !dw &H7CD4,&H98DE,&HA389,&HA904, &H416A ' 75!
                              !dw &H343C,&H6588,&H8233,&HC8B5, &H4170 ' 76!
                              !dw &HDED8,&HD627,&H60A5,&HF17A, &H4176 ' 77!
                              !dw &H4BCC,&H0E80,&H92E5,&H9326, &H417D ' 78!
                              !dw &H5D90,&HBDE6,&H9D52,&HB5A3, &H4183 ' 79!
                              !dw &HF4F4,&H6D5F,&H84A7,&HE30C, &H4189 ' 80!
                              !dw &HB902,&HF336,&HEBF1,&H8FAD, &H4190 ' 81!
                              !dw &H1D0B,&HFF9E,&HD64D,&HB816, &H4196 ' 82!
                              !dw &H0DAA,&H2781,&H9DED,&HEEBD, &H419C ' 83!
                              !dw &HB0F7,&HA1EC,&H6FA3,&H9CAC, &H41A3 ' 84!
                              !dw &H5B09,&H530E,&H0445,&HD015, &H41A9 ' 85!
                              !dw &HA52A,&H93CD,&H1EDE,&H8BCE, &H41B0 ' 86!
                              !dw &H8C85,&H90EB,&H31F6,&HBE0C, &H41B6 ' 87!
                              !dw &HF09B,&H83A1,&H6259,&H82A8, &H41BD ' 88!
                              !dw &H3298,&H7B0D,&H28C4,&HB5B2, &H41C3 ' 89!
                              !dw &H8F26,&H4D0A,&H8954,&HFF82, &H41C9 ' 90!
                              !dw &H81C5,&HEEC5,&HCDA1,&HB5A6, &H41D0 ' 91!
                              !dw &HF545,&H639D,&HE3CC,&H828F, &H41D7 ' 92!
                              !dw &H8869,&H00C1,&H1705,&HBDB9, &H41DD ' 93!
                              !dw &H202D,&HAC8E,&HECE7,&H8B53, &H41E4 ' 94!
                              !dw &HF7C3,&HE422,&H93A7,&HCED0, &H41EA ' 95!
                              !dw &H39D2,&HEB1A,&H6EBD,&H9B1C, &H41F1 ' 96!
                              !dw &HBFA3,&HD853,&H17D7,&HEB17, &H41F7 ' 97!
                              !dw &H1EB8,&H41A0,&HAE41,&HB3FD, &H41FE ' 98!
                              !dw &HD7C3,&H78C1,&H34C6,&H8B36, &H4205 ' 99!
                              !dw &HE120,&H1CAE,&HB276,&HD984, &H420B ' 100!
                              !dw &HFDA3,&H32A1,&HB4D1,&HABA2, &H4212 ' 101!
                              !dw &H161E,&HB459,&HA816,&H88C5, &H4219 ' 102!
                              !dw &H5F99,&H8A3F,&H1A84,&HDC1E, &H421F ' 103!
                              !dw &H7DAC,&HB053,&H758B,&HB2D8, &H4226 ' 104!
                              !dw &H7D17,&H96A4,&H906C,&H92B5, &H422D ' 105!
                              !dw &H6F2E,&HD980,&HB733,&HF2FC, &H4233 ' 106!
                              !dw &H5CF1,&H57D1,&H4125,&HCB1F, &H423A ' 107!
                              !dw &HA66B,&H8218,&H5EF7,&HAB62, &H4241 ' 108!
                              !dw &HFDB7,&HC4C8,&HC4DE,&H91F1, &H4248 ' 109!
                              !dw &H7413,&HE239,&H8A5E,&HFAD7, &H424E ' 110!
                              !dw &HD2A8,&H482D,&HE9FE,&HD986, &H4255 ' 111!
                              !dw &H1853,&H7F28,&H0CBE,&HBE56, &H425C ' 112!
                              !dw &H657A,&H2C41,&HF740,&HA807, &H4263 ' 113!
                              !dw &H3E60,&H276A,&H1835,&H95A7, &H426A ' 114!
                              !dw &H740A,&HC169,&H1FBF,&H8674, &H4271 ' 115!
                              !dw &H2253,&H8E8F,&H798B,&HF3B2, &H4277 ' 116!
                              !dw &HD560,&H904E,&H2319,&HDEC1, &H427E ' 117!
                              !dw &HACB4,&H9108,&H0C5B,&HCD5A, &H4285 ' 118!
                              !dw &H1090,&H20D6,&HB77D,&HBEE9, &H428C ' 119!
                              !dw &HAF87,&H4EC8,&H1C05,&HB2FB, &H4293 ' 120!
                              !dw &HB5ED,&H0479,&H607D,&HA931, &H429A ' 121!
                              !dw &H0166,&H2844,&H0FF7,&HA143, &H42A1 ' 122!
                              !dw &H5958,&H80B1,&H7157,&H9AF6, &H42A8 ' 123!
                              !dw &HCE8D,&HC4AB,&HBDCC,&H961E, &H42AF ' 124!
                              !dw &HC7B6,&HF80F,&H0559,&H929A, &H42B6 ' 125!
                              !dw &H8897,&H902F,&H9D44,&H904F, &H42BD ' 126!
                              !dw &H2986,&H070F,&HFE0A,&H8F2E, &H42C4 ' 127!
                              !dw &H2986,&H070F,&HFE0A,&H8F2E, &H42CB ' 128!
                              !dw &H47D9,&H1B1D,&H5C06,&H904D, &H42D2 ' 129!
                              !dw &HBCF9,&H3389,&H9176,&H928E, &H42D9 ' 130!
                              !dw &HF766,&HF8BE,&HE8DE,&H95FD, &H42E0 ' 131!
                              !dw &HEF22,&HF084,&HD825,&H9AAD, &H42E7 ' 132!
                              !dw &H2079,&H6BEA,&HA297,&HA0B8, &H42EE ' 133!
                              !dw &H19FF,&H84F9,&H4A36,&HA841, &H42F5 ' 134!
                              !dw &HB96A,&H803E,&HDC45,&HB174, &H42FC ' 135!
                              !dw &HA501,&HD842,&H2A09,&HBC8C, &H4303 ' 136!
                              !dw &H549B,&H8977,&H04FE,&HC9CE, &H430A ' 137!
                              !dw &HA737,&H6C34,&H1D62,&HD992, &H4311 ' 138!
                              !dw &H2D96,&HE181,&HABE8,&HEC44, &H4318 ' 139!
                              !dw &HA4EE,&H5B52,&H8E03,&H8135, &H4320 ' 140!
                              !dw &H09AE,&HB299,&HFE6F,&H8E54, &H4327 ' 141!
                              !dw &HC6BD,&HEA21,&H4A43,&H9DE6, &H432E ' 142!
                              !dw &HBC08,&HDF91,&H46F7,&HB067, &H4335 ' 143!
                              !dw &HF388,&HDB83,&H2FD6,&HC674, &H433C ' 144!
                              !dw &H79E1,&H64AB,&H9E31,&HE0CF, &H4343 ' 145!
                              !dw &HCB82,&H2B69,&H6838,&H8036, &H434B ' 146!
                              !dw &H7FB7,&H81DB,&H7BB0,&H933E, &H4352 ' 147!
                              !dw &HCBAC,&H1625,&H3F04,&HAA40, &H4359 ' 148!
                              !dw &HFF16,&HC1C7,&HC95A,&HC62E, &H4360 ' 149!
                              !dw &H5EEE,&H5B16,&HD3F6,&HE83E, &H4367 ' 150!
                              !dw &H31FE,&H4FBA,&H0F06,&H88FD, &H436F ' 151!
                              !dw &H1B5E,&H7EAD,&H81D7,&HA2AC, &H4376 ' 152!
                              !dw &HEAB7,&H956A,&H3333,&HC272, &H437D ' 153!
                              !dw &HA264,&H0FC4,&H659A,&HE9F1, &H4384 ' 154!
                              !dw &H0E52,&H478C,&H2884,&H8DA5, &H438C ' 155!
                              !dw &HB174,&H3732,&H4961,&HACA1, &H4393 ' 156!
                              !dw &H2DA9,&H3DB4,&HD401,&HD3BD, &H439A ' 157!
                              !dw &H342E,&HC415,&H28D8,&H82AF, &H43A2 ' 158!
                              !dw &H56D1,&H4392,&H94BD,&HA255, &H43A9 ' 159!
                              !dw &HEC86,&H9476,&HF9EC,&HCAEA, &H43B0 ' 160!
                              !dw &H9580,&H92BD,&H8E5B,&HFF3B, &H43B7 ' 161!
                              !dw &HF89B,&HF2DB,&HB015,&HA183, &H43BF ' 162!
                              !dw &H1E95,&HF344,&HB23B,&HCDAD, &H43C6 ' 163!
                              !dw &HA398,&H67D7,&H462E,&H83C3, &H43CE ' 164!
                              !dw &HF8E2,&HD1DB,&HB877,&HA9D9, &H43D5 ' 165!
                              !dw &H46C5,&H6429,&H5B3B,&HDC46, &H43DC ' 166!
                              !dw &HED2A,&HBE56,&HE583,&H8FB1, &H43E4 ' 167!
                              !dw &H1747,&HE9D2,&H7D3C,&HBC99, &H43EB ' 168!
                              !dw &H62BC,&H6CB7,&HA75A,&HF902, &H43F2 ' 169!
                              !dw &HC791,&H0C31,&HC322,&HA55B, &H43FA ' 170!
                              ' Limit of double-precision
                              !dw &H809C,&H7C4A,&H96AF,&HDCE8, &H4401 ' 171!
                              !dw &H0E69,&HE782,&H453D,&H946C, &H4409 ' 172!
                              !dw &HC779,&HAAE5,&H5595,&HC89A, &H4410 ' 173!
                              !dw &H2D95,&HBA28,&HE62B,&H8858, &H4418 ' 174!
                              !dw &HEE51,&HC882,&H8AAF,&HBA69, &H441F ' 175!
                              !dw &H03D8,&HD9DA,&H8F58,&H8028, &H4427 ' 176!
                              !dw &H7950,&HDD3F,&H1638,&HB138, &H442E ' 177!
                              !dw &H44B4,&H13AC,&HFEE7,&HF671, &H4435 ' 178!
                              !dw &H740A,&H92C1,&HB53B,&HAC51, &H443D ' 179!
                              !dw &H0B2E,&HC660,&HE6DB,&HF252, &H4444 ' 180!
                              !dw &HE7E7,&H6341,&H9D39,&HAB54, &H444C ' 181!
                              !dw &HB5BD,&H9921,&H4F8D,&HF39C, &H4453 ' 182!
                              !dw &H18EA,&H3877,&HBCDE,&HAE24, &H445B ' 183!
                              !dw &H33D0,&H712B,&HCF7F,&HFA54, &H4462 ' 184!
                              !dw &H3872,&H18C8,&H49F3,&HB4E7, &H446A ' 185!
                              !dw &H7902,&HA001,&H0BBA,&H8370, &H4472 ' 186!
                              !dw &H26CA,&HA5C2,&HB122,&HC005, &H4479 ' 187!
                              !dw &H947C,&H71BA,&H2E15,&H8D04, &H4481 ' 188!
                              !dw &H7F3F,&HA9ED,&H2C0B,&HD038, &H4488 ' 189!
                              !dw &H4471,&HA81E,&HB0B0,&H9A89, &H4490 ' 190!
                              !dw &H2A20,&H9ADD,&H75A7,&HE699, &H4497 ' 191!
                              !dw &HDF98,&HB425,&H183D,&HACF3, &H449F ' 192!
                              !dw &H8D92,&H84D0,&H4546,&H8263, &H44A7 ' 193!
                              !dw &H1691,&HE14C,&H74FE,&HC59E, &H44AE ' 194!
                              !dw &HF530,&H259C,&HB31E,&H9687, &H44B6 ' 195!
                              !dw &H5772,&H2998,&HCA46,&HE67F, &H44BD ' 196!
                              !dw &H3B4B,&HFE02,&H56A7,&HB160, &H44C5 ' 197!
                              !dw &HB9DC,&HEE75,&H8305,&H8930, &H44CD ' 198!
                              !dw &H06F4,&H38BB,&H6BB3,&HD549, &H44D4 ' 199!
                              !dw &H1D6F,&H0452,&H5C24,&HA6A1, &H44DC ' 200!
                              !dw &H791C,&H4764,&HB158,&H82D4, &H44E4 ' 201!
                              !dw &H8F20,&H50AA,&HA7DF,&HCE77, &H44EB ' 202!
                              !dw &H3F7E,&H14F7,&HE21E,&HA3B8, &H44F3 ' 203!
                              !dw &H0699,&HF8B5,&H542F,&H8277, &H44FB ' 204!
                              !dw &HEC90,&HD451,&H1CD4,&HD0F3, &H4502 ' 205!
                              !dw &HEC5C,&H42D9,&HA133,&HA823, &H450A ' 206!
                              !dw &H361F,&H730E,&HCF58,&H87F4, &H4512 ' 207!
                              !dw &H17F2,&HBAF7,&HD0EF,&HDCED, &H4519 ' 208!
                              !dw &HBA8C,&HB7A3,&H2793,&HB45E, &H4521 ' 209!
                              !dw &H4F07,&H2CA4,&H3C77,&H93F5, &H4529 ' 210!
                              !dw &HDA46,&H7396,&H41AC,&HF3E6, &H4530 ' 211!
                              !dw &HECC2,&HCFB8,&HAE62,&HC9FA, &H4538 ' 212!
                              !dw &HDCFD,&H36D4,&H9318,&HA80D, &H4540 ' 213!
                              !dw &HF0BC,&H3DD5,&H58F6,&H8C7B, &H4548 ' 214!
                              !dw &H5A5B,&H9BDD,&H2F6D,&HEBF7, &H454F ' 215!
                              !dw &HC43D,&H7B82,&H9004,&HC718, &H4557 ' 216!
                              !dw &HD858,&HCCB1,&HD213,&HA8C3, &H455F ' 217!
                              !dw &H723B,&HDC4F,&HC0E4,&H8FB6, &H4567 ' 218!
                              !dw &HED70,&H90EF,&HAE07,&HF5E2, &H456E ' 219!
                              !dw &H300D,&H808E,&HCD8E,&HD34E, &H4576 ' 220!
                              !dw &HBF7B,&H04FA,&H0774,&HB66B, &H457E ' 221!
                              !dw &H720D,&H9C51,&HD076,&H9E30, &H4586 ' 222!
                              !dw &HF259,&H522A,&H8597,&H89CC, &H458E ' 223!
                              !dw &H281C,&HCFCB,&HE9C8,&HF125, &H4595 ' 224!
                              !dw &H8E40,&H7EA1,&H5279,&HD3F2, &H459D ' 225!
                              !dw &H9F95,&H41CA,&HECCF,&HBB1B, &H45A5 ' 226!
                              !dw &HAB81,&HC756,&HC2FB,&HA5E9, &H45AD ' 227!
                              !dw &H30BF,&H3D89,&H31A8,&H93C4, &H45B5 ' 228!
                              !dw &HB89B,&H7F0B,&H806B,&H842E, &H45BD ' 229!
                              !dw &H0FB6,&H2849,&H8EC1,&HED83, &H45C4 ' 230!
                              !dw &HED2D,&H4B59,&HB5D0,&HD651, &H45CC ' 231!
                              !dw &H7EF1,&HC449,&H0CC4,&HC23A, &H45D4 ' 232!
                              !dw &HE489,&H16A6,&HD59F,&HB0C6, &H45DC ' 233!
                              !dw &H8CE5,&H6AB4,&HBF43,&HA195, &H45E4 ' 234!
                              !dw &HBD57,&HE2F3,&H7692,&H9454, &H45EC ' 235!
                              !dw &HB28C,&H6938,&HDD4F,&H88BD, &H45F4 ' 236!
                              !dw &HFA97,&H08D2,&H8BC5,&HFD2F, &H45FB ' 237!
                              !dw &H24F8,&H2E34,&H33F1,&HEB62, &H4603 ' 238!
                              !dw &HAE84,&H2A22,&HAE7E,&HDBC0, &H460B ' 239!
                              !dw &H839C,&H4780,&HA396,&HCE04, &H4613 ' 240!
                              !dw &HFBE6,&H794F,&H5E00,&HC1F2, &H461B ' 241!
                              !dw &H9C1F,&H72AD,&H1CDC,&HB757, &H4623 ' 242!
                              !dw &HCB31,&H40DA,&HB065,&HAE07, &H462B ' 243!
                              !dw &H89AB,&H81D0,&H5420,&HA5DF, &H4633 ' 244!
                              !dw &H93C1,&H1C3C,&HBB83,&H9EBE, &H463B ' 245!
                              !dw &H35FB,&HFD22,&H482F,&H988B, &H4643 ' 246!
                              !dw &H0215,&H4D3C,&H62A6,&H932E, &H464B ' 247!
                              !dw &H2205,&H1AD2,&HEF91,&H8E94, &H4653 ' 248!
                              !dw &H6317,&H2316,&HDD04,&H8AAE, &H465B ' 249!
                              !dw &HDCC4,&H0A43,&HC3D6,&H876E, &H4663 ' 250!
                              !dw &H8974,&HDC10,&H9A02,&H84C9, &H466B ' 251!
                              !dw &H474E,&HD0A0,&H739A,&H82B6, &H4673 ' 252!
                              !dw &H6678,&H002E,&H5040,&H812E, &H467B ' 253!
                              !dw &H09AC,&H802E,&HF39F,&H802B, &H4683 ' 254!
                              !dw &HB744,&HC15B,&H8F57,&HFF57, &H468A ' 255!
                              !dw &HB744,&HC15B,&H8F57,&HFF57, &H4692 ' 256!
                              !dw &H897E,&H8C8E,&H7373,&H802B, &H469B ' 257!
                              !dw &HA690,&H73A7,&HCA5A,&H812B, &H46A3 ' 258!
                              !dw &H9D84,&H8302,&H4DB9,&H82AF, &H46AB ' 259!
                              !dw &HA7FA,&H690E,&H0AF0,&H84BA, &H46B3 ' 260!
                              !dw &HF142,&H1B1B,&HAD27,&H8751, &H46BB ' 261!
                              !dw &H98EA,&H05BE,&H9736,&H8A7D, &H46C3 ' 262!
                              !dw &HCF18,&H7FE6,&H0658,&H8E47, &H46CB ' 263!
                              !dw &H0591,&H43E6,&H3E8B,&H92B9, &H46D3 ' 264!
                              !dw &H1BC3,&H2949,&HC1BE,&H97E1, &H46DB ' 265!
                              !dw &HF6D9,&H96E5,&H934F,&H9DD0, &H46E3 ' 266!
                              !dw &HD874,&H0261,&H89A4,&HA498, &H46EB ' 267!
                              !dw &H6E99,&HB27E,&HB017,&HAC4F, &H46F3 ' 268!
                              !dw &HDA37,&HE68E,&HBC08,&HB50F, &H46FB ' 269!
                              !dw &HAA26,&H632A,&H9851,&HBEF6, &H4703 ' 270!
                              !dw &H2A1E,&H27FA,&H0B3E,&HCA27, &H470B ' 271!
                              !dw &HCCC0,&H0A79,&H7BF2,&HD6C9, &H4713 ' 272!
                              !dw &HE359,&H1D2B,&HDD2D,&HE50C, &H471B ' 273!
                              !dw &HF955,&H4938,&HC4BA,&HF527, &H4723 ' 274!
                              !dw &H19EB,&H0E54,&HDC2A,&H83AC, &H472C ' 275!
                              !dw &HABF2,&H5772,&H5D5D,&H8DF6, &H4734 ' 276!
                              !dw &H140C,&HFF9F,&H9305,&H999B, &H473C ' 277!
                              !dw &HBFC6,&H8396,&HF1A8,&HA6CE, &H4744 ' 278!
                              !dw &H4B00,&HA769,&H895E,&HB5CB, &H474C ' 279!
                              !dw &H2A08,&H871B,&H9E3F,&HC6D6, &H4754 ' 280!
                              !dw &HD123,&HBB4C,&H93B3,&HDA41, &H475C ' 281!
                              !dw &H9E61,&HFC52,&H3CB3,&HF06C, &H4764 ' 282!
                              !dw &HAA8A,&H7BF7,&HD38D,&H84E3, &H476D ' 283!
                              !dw &HC132,&HF586,&HBEB0,&H936C, &H4775 ' 284!
                              !dw &H0514,&H0157,&H104B,&HA420, &H477D ' 285!
                              !dw &H37AD,&HCB7F,&HD233,&HB75B, &H4785 ' 286!
                              !dw &H9F6A,&H1123,&HF0A8,&HCD8F, &H478D ' 287!
                              !dw &H1358,&H1348,&HEEBD,&HE741, &H4795 ' 288!
                              !dw &H2EEB,&HB962,&HB741,&H8288, &H479E ' 289!
                              !dw &H3926,&H7401,&HDF98,&H93DE, &H47A6 ' 290!
                              !dw &H63F6,&H4BDD,&H582A,&HA816, &H47AE ' 291!
                              !dw &H8605,&H3E88,&H7C90,&HBFB9, &H47B6 ' 292!
                              !dw &H4164,&H1792,&H4B91,&HDB6F, &H47BE ' 293!
                              !dw &HF719,&HA111,&HD0C8,&HFC01, &H47C6 ' 294!
                              !dw &HD9DF,&H98CD,&H0BCB,&H9133, &H47CF ' 295!
                              !dw &H03EA,&H68AE,&H05A3,&HA7E3, &H47D7 ' 296!
                              !dw &HE28A,&H9471,&H618A,&HC2C6, &H47DF ' 297!
                              !dw &H91B5,&H50CC,&HED8B,&HE2BA, &H47E7 ' 298!
                              !dw &H7717,&HDBAF,&H29B8,&H8468, &H47F0 ' 299!
                              !dw &H9F8F,&HA171,&H10E4,&H9B2A, &H47F8 ' 300!
                              !dw &H989B,&HD1D2,&H75DC,&HB670, &H4800 ' 301!
                              !dw &H7007,&H7F86,&HAB0A,&HD738, &H4808 ' 302!
                              !dw &H1E98,&H6CF0,&H1271,&HFEBC, &H4810 ' 303!
                              !dw &H922A,&H58AE,&HAAF3,&H973F, &H4819 ' 304!
                              !dw &HFC24,&HECA7,&HDAAB,&HB432, &H4821 ' 305!
                              !dw &HCB64,&H80E0,&HC961,&HD764, &H4829 ' 306!
                              !dw &HC9F4,&HF6C6,&HEEBF,&H8126, &H4832 ' 307!
                              !dw &H2AFA,&HF4E7,&HD73E,&H9B62, &H483A ' 308!
                              !dw &H06E0,&HFD9B,&H4DCE,&HBB8E, &H4842 ' 309!
                              !dw &HBA53,&HA719,&H5238,&HE31E, &H484A ' 310!
                              !dw &H20AD,&H6980,&HEAF1,&H89F4, &H4853 ' 311!
                              !dw &H27D3,&H3894,&H7E56,&HA822, &H485B ' 312!
                              !dw &H24B1,&H6B2D,&H2C77,&HCD92, &H4863 ' 313!
                              !dw &H5F01,&H7975,&H4A8A,&HFC25, &H486B ' 314!
                              !dw &HB5F3,&H31B9,&HF15C,&H9B20, &H4874 ' 315!
                              !dw &H3C98,&HCD61,&HA9ED,&HBF7C, &H487C ' 316!
                              !dw &H6809,&H7751,&H5E6B,&HED1D, &H4884 ' 317!
                              !dw &H8F9D,&HBF1B,&H3DA4,&H9345, &H488D ' 318!
                              !dw &H57F5,&H4A23,&H47D0,&HB783, &H4895 ' 319!
                              !dw &H2DF2,&H5CAC,&H19C4,&HE564, &H489D ' 320!
                              !dw &HF2CE,&H9C19,&H4227,&H8FD1, &H48A6 ' 321!
                              !dw &HA368,&HD258,&H3535,&HB4E5, &H48AE ' 322!
                              !dw &HD62C,&HE865,&H3222,&HE43D, &H48B6 ' 323!
                              !dw &H7188,&H1710,&HB9BA,&H906E, &H48BF ' 324!
                              !dw &HE021,&H3F47,&H91C9,&HB75C, &H48C7 ' 325!
                              !dw &H876A,&H4695,&HE1A6,&HE97F, &H48CF ' 326!
                              !dw &H7FFC,&HB214,&H2C9D,&H9521, &H48D8 ' 327!
                              !dw &H43FB,&H0C2A,&H812A,&HBF12, &H48E0 ' 328!
                              !dw &H515E,&H09A2,&HC7FF,&HF58E, &H48E8 ' 329!
                              !dw &H9E72,&H6135,&H06E7,&H9E45, &H48F1 ' 330!
                              !dw &H53DD,&H2AB0,&H3FED,&HCCA3, &H48F9 ' 331!
                              !dw &H5661,&HC9AE,&HDB73,&H84B1, &H4902 ' 332!
                              !dw &HC65D,&H9D57,&H5A75,&HAC9B, &H490A ' 333!
                              !dw &H84CD,&H7348,&HB005,&HE132, &H4912 ' 334!
                              !dw &HF2E4,&H90ED,&HAA2B,&H9358, &H491B ' 335!
                              !dw &H4ECB,&H2E38,&H5F59,&HC164, &H4923 ' 336!
                              !dw &H1FB9,&H65D8,&H2184,&HFE95, &H492B ' 337!
                              !dw &HACF1,&H673B,&H7320,&HA810, &H4934 ' 338!
                              !dw &H0604,&HE8B4,&HC873,&HDE8D, &H493C ' 339!
                              !dw &H8BFE,&HF887,&H271C,&H93CA, &H4945 ' 340!
                              !dw &H8D7A,&H970C,&H4619,&HC4DC, &H494D ' 341!
                              !dw &H6280,&H17E5,&H22D3,&H837F, &H4956 ' 342!
                              !dw &H56FA,&HD504,&H57A8,&HB02F, &H495E ' 343!
                              !dw &HD4E0,&HDE3D,&H9DCA,&HECBF, &H4966 ' 344!
                              !dw &HA9F1,&H32C0,&H1DD3,&H9F87, &H496F ' 345!
                              !dw &H65B0,&H7298,&H9E4F,&HD79C, &H4977 ' 346!
                              !dw &H48EB,&HD82A,&HA54A,&H9220, &H4980 ' 347!
                              !dw &H7B1F,&HBDD9,&H60B1,&HC6A4, &H4988 ' 348!
                              !dw &HBE6D,&H27E8,&H0BE9,&H8767, &H4991 ' 349!
                              !dw &H3458,&HC490,&HE248,&HB91E, &H4999 ' 350!
                              !dw &HB7C5,&HC581,&H5841,&HFDD1, &H49A1 ' 351!
                              !dw &H2E58,&H37C9,&HECAD,&HAE7F, &H49AA ' 352!
                              !dw &H68E7,&HD9EC,&H655A,&HF09E, &H49B2 ' 353!
                              !dw &H7488,&HD0AC,&H8413,&HA65D, &H49BB ' 354!
                              !dw &H2598,&H7A5F,&HAE27,&HE6B3, &H49C3 ' 355!
                              !dw &H2824,&H7316,&HEF17,&HA068, &H49CC ' 356!
                              !dw &HE5FA,&HB37D,&H556B,&HDFB2, &H49D4 ' 357!
                              !dw &H07CE,&H4E81,&HB1BA,&H9C69, &H49DD ' 358!
                              !dw &HF1F1,&H4416,&H383C,&HDB58, &H49E5 ' 359!
                              !dw &H221E,&H5FE0,&H078A,&H9A3A, &H49EE ' 360!
                              !dw &H101C,&H2133,&HD4A2,&HD97B, &H49F6 ' 361!
                              !dw &H1A64,&HA179,&H8D56,&H99C4, &H49FF ' 362!
                              !dw &HB86B,&HD6F6,&HB469,&HDA09, &H4A07 ' 363!
                              !dw &H671C,&H3ED3,&HE643,&H9B02, &H4A10 ' 364!
                              !dw &H6A03,&HE093,&H224D,&HDD03, &H4A18 ' 365!
                              !dw &H60C8,&HAB89,&H3D85,&H9DFD, &H4A21 ' 366!
                              !dw &HF1BF,&HA0E9,&H0B32,&HE27E, &H4A29 ' 367!
                              !dw &H25C2,&H63A8,&H980C,&HA2CA, &H4A32 ' 368!
                              !dw &H5E6C,&HDBA5,&H0529,&HEAA6, &H4A3A ' 369!
                              !dw &H813C,&H3FBA,&HF9BB,&HA991, &H4A43 ' 370!
                              !dw &H494A,&H5D5B,&H8CEA,&HF5BE, &H4A4B ' 371!
                              !dw &H5340,&H47D4,&H7262,&HB28C, &H4A54 ' 372!
                              !dw &H2EA6,&H9954,&H5154,&H8213, &H4A5D ' 373!
                              !dw &HFC26,&H9800,&H38D1,&HBE08, &H4A65 ' 374!
                              !dw &HB8AE,&H82D4,&H059D,&H8B2F, &H4A6E ' 375!
                              !dw &H6F40,&H5828,&H103F,&HCC6D, &H4A76 ' 376!
                              !dw &HC5EA,&HA469,&H4E76,&H9686, &H4A7F ' 377!
                              !dw &H2E3C,&H2EC4,&H4FDB,&HDE42, &H4A87 ' 378!
                              !dw &H383A,&HBF1E,&H161C,&HA486, &H4A90 ' 379!
                              !dw &HDB75,&HABB0,&H08D2,&HF437, &H4A98 ' 380!
                              !dw &H1B4F,&HC4C3,&HF410,&HB5BA, &H4AA1 ' 381!
                              !dw &H9160,&H82CD,&H7C18,&H8796, &H4AAA ' 382!
                              !dw &H8C7E,&HABB1,&H23A8,&HCADA, &H4AB2 ' 383!
                              !dw &H295F,&H80C5,&H9ABE,&H9823, &H4ABB ' 384!
                              !dw &H8338,&H7FA8,&H8BB8,&HE4CD, &H4AC3 ' 385!
                              !dw &H0AED,&H183E,&HF656,&HAC7E, &H4ACC ' 386!
                              !dw &HE542,&H1352,&HF732,&H8261, &H4AD5 ' 387!
                              !dw &HA378,&HE549,&H7AA7,&HC59C, &H4ADD ' 388!
                              !dw &H72B3,&H8FB4,&H6330,&H9623, &H4AE6 ' 389!
                              !dw &HE6BC,&HFAEC,&HE91B,&HE4B9, &H4AEE ' 390!
                              !dw &HEA35,&HDE1F,&HF984,&HAEAB, &H4AF7 ' 391!
                              !dw &H6F50,&HBA10,&HAB09,&H85BB, &H4B00 ' 392!
                              !dw &H3AE3,&HEEA3,&H1991,&HCD4D, &H4B08 ' 393!
                              !dw &H9C50,&H4CA3,&H54AD,&H9DFC, &H4B11 ' 394!
                              !dw &H7230,&H6540,&H56A7,&HF3C4, &H4B19 ' 395!
                              !dw &HD851,&H784F,&HDB05,&HBC89, &H4B22 ' 396!
                              !dw &HE93B,&HBDC9,&HE453,&H9230, &H4B2B ' 397!
                              !dw &HE89A,&H310F,&H02FA,&HE348, &H4B33 ' 398!
                              !dw &HE5C4,&HF93B,&H9E51,&HB11E, &H4B3C ' 399!
                              !dw &HCB81,&H0AB6,&HEBB0,&H8A5F, &H4B45 ' 400!
                              !dw &H54C5,&HC0C8,&H402E,&HD8C0, &H4B4D ' 401!
                              !dw &H4A8F,&HB55D,&HF264,&HAA2E, &H4B56 ' 402!
                              !dw &HEE2F,&H44C0,&HF3CA,&H85F3, &H4B5F ' 403!
                              !dw &H77E2,&H3480,&HFCBB,&HD364, &H4B67 ' 404!
                              !dw &H9ED5,&H1507,&H61EA,&HA737, &H4B70 ' 405!
                              !dw &H0AF3,&H9EAD,&HEAA4,&H8498, &H4B79 ' 406!
                              !dw &H1C68,&HB845,&H1D0B,&HD2CF, &H4B81 ' 407!
                              !dw &H12A3,&H56D7,&H0B25,&HA7FD, &H4B8A ' 408!
                              !dw &HCE63,&H53DE,&HA367,&H8631, &H4B93 ' 409!
                              !dw &HD68A,&H7C52,&H7FB3,&HD6EB, &H4B9B ' 410!
                              !dw &H7F38,&H944C,&H0B02,&HAC86, &H4BA4 ' 411!
                              !dw &H8E5F,&H1355,&HDCDC,&H8AD3, &H4BAD ' 412!
                              !dw &H06B0,&H0B31,&HCB4F,&HDFF7, &H4BB5 ' 413!
                              !dw &HA468,&HEA0C,&H5D64,&HB519, &H4BBE ' 414!
                              !dw &H3F42,&H4BB5,&H0F33,&H92CA, &H4BC7 ' 415!
                              !dw &H86CC,&H5B06,&H58B3,&HEE88, &H4BCF ' 416!
                              !dw &HD0C9,&H13A2,&H0C3E,&HC246, &H4BD8 ' 417!
                              !dw &HEC74,&HAE07,&H2FFE,&H9E9B, &H4BE1 ' 418!
                              !dw &H7C01,&HEB6B,&HFFC6,&H81CB, &H4BEA ' 419!
                              !dw &H5772,&H5A3C,&HAFA2,&HD4F2, &H4BF2 ' 420!
                              !dw &H9DE7,&HFF32,&H8D6A,&HAF19, &H4BFB ' 421!
                              !dw &HB825,&H3056,&H0F8F,&H9052, &H4C04 ' 422!
                              !dw &H4A46,&H98DF,&H97B5,&HEE77, &H4C0C ' 423!
                              !dw &HE982,&H6298,&H09A2,&HC57B, &H4C15 ' 424!
                              !dw &HEDD4,&H4AD7,&HA17F,&HA3EC, &H4C1E ' 425!
                              !dw &HA8E1,&HE945,&HE25E,&H8863, &H4C27 ' 426!
                              !dw &H30B0,&H4F17,&H9A94,&HE37E, &H4C2F ' 427!
                              !dw &H62B3,&HFA1D,&HD537,&HBE2B, &H4C38 ' 428!
                              !dw &H9F33,&H6711,&HBA27,&H9F57, &H4C41 ' 429!
                              !dw &HCCB4,&H178F,&HAD57,&H85D2, &H4C4A ' 430!
                              !dw &H19A3,&HA0AB,&HB1D5,&HE14D, &H4C52 ' 431!
                              !dw &H5DA2,&H3F90,&H8E0C,&HBE19, &H4C5B ' 432!
                              !dw &H972F,&H5BC1,&H9CA1,&HA0C4, &H4C64 ' 433!
                              !dw &H1927,&HC6C7,&HA8C4,&H8846, &H4C6D ' 434!
                              !dw &H4FBD,&H5DC4,&H10C6,&HE790, &H4C75 ' 435!
                              !dw &H2BE7,&HEBD9,&HAE48,&HC530, &H4C7E ' 436!
                              !dw &HDBF9,&H3D4C,&H0CC1,&HA84E, &H4C87 ' 437!
                              !dw &HC02E,&H4F70,&HC4E9,&H8FFA, &H4C90 ' 438!
                              !dw &H598E,&H173A,&H07AC,&HF6E7, &H4C98 ' 439!
                              !dw &H24F6,&HE3F6,&H8A97,&HD42E, &H4CA1 ' 440!
                              !dw &H82D6,&HD3D9,&H165F,&HB6C2, &H4CAA ' 441!
                              !dw &HC5F3,&HB9E2,&H8D50,&H9DC5, &H4CB3 ' 442!
                              !dw &HB646,&H58D5,&H6DC5,&H8882, &H4CBC ' 443!
                              !dw &HA821,&H4612,&H3662,&HECC2, &H4CC4 ' 444!
                              !dw &H3721,&H69E7,&HCC44,&HCDC6, &H4CCD ' 445!
                              !dw &H6905,&H9840,&H2BEF,&HB340, &H4CD6 ' 446!
                              !dw &H3BB0,&HAD6C,&H865B,&H9C7E, &H4CDF ' 447!
                              !dw &HB43A,&H37BE,&HB590,&H88EE, &H4CE8 ' 448!
                              !dw &H7A1A,&HF1C5,&HAC71,&HF02A, &H4CF0 ' 449!
                              !dw &H9051,&H257E,&H8190,&HD315, &H4CF9 ' 450!
                              !dw &HFC1F,&H7906,&H71A0,&HB9EF, &H4D02 ' 451!
                              !dw &H2A94,&HAAD8,&H624F,&HA425, &H4D0B ' 452!
                              !dw &H41AC,&H7CA8,&H137B,&H913B, &H4D14 ' 453!
                              !dw &H323B,&H7F89,&H6246,&H80C7, &H4D1D ' 454!
                              !dw &HD847,&H4CAC,&H5FAB,&HE4E2, &H4D25 ' 455!
                              !dw &HF09F,&H9049,&H9D34,&HCBD9, &H4D2E ' 456!
                              !dw &HFF46,&H6AC9,&HBCD1,&HB5F3, &H4D37 ' 457!
                              !dw &HB15A,&H5486,&H07E7,&HA2C3, &H4D40 ' 458!
                              !dw &HBFFE,&HE246,&HD795,&H91E9, &H4D49 ' 459!
                              !dw &H907E,&HA94B,&H17B0,&H8318, &H4D52 ' 460!
                              !dw &H1333,&H20DD,&H62A9,&HEC12, &H4D5A ' 461!
                              !dw &H7C53,&H9CA7,&H9706,&HD504, &H4D63 ' 462!
                              !dw &H74ED,&H7AA9,&HA692,&HC0A1, &H4D6C ' 463!
                              !dw &H91F7,&HBF29,&H7EF4,&HAE92, &H4D75 ' 464!
                              !dw &H4111,&H479D,&H0C4D,&H9E8C, &H4D7E ' 465!
                              !dw &H2038,&H562E,&H7732,&H904D, &H4D87 ' 466!
                              !dw &H1263,&H699B,&HA838,&H839E, &H4D90 ' 467!
                              !dw &H7D9E,&H210F,&H0B87,&HF09E, &H4D98 ' 468!
                              !dw &HB091,&H47C8,&HC58F,&HDC68, &H4DA1 ' 469!
                              !dw &H3A15,&H86E5,&H2D5A,&HCA54, &H4DAA ' 470!
                              !dw &HDEEE,&HC717,&H6FB8,&HBA20, &H4DB3 ' 471!
                              !dw &H0184,&H578A,&HE6FE,&HAB95, &H4DBC ' 472!
                              !dw &HFE66,&HF7DE,&HFBE5,&H9E83, &H4DC5 ' 473!
                              !dw &H7185,&HE679,&H3033,&H92C0, &H4DCE ' 474!
                              !dw &HAAD1,&H2651,&H4CB8,&H8825, &H4DD7 ' 475!
                              !dw &HD99C,&H673F,&H5AA6,&HFD25, &H4DDF ' 476!
                              !dw &HFC3C,&H0730,&H4CF4,&HEBD7, &H4DE8 ' 477!
                              !dw &HBB7C,&HD2B6,&H00D7,&HDC2E, &H4DF1 ' 478!
                              !dw &HF466,&HE9A1,&H09C9,&HCDFD, &H4DFA ' 479!
                              !dw &HD520,&H4B07,&H392D,&HC11D, &H4E03 ' 480!
                              !dw &HDBB8,&H0CFC,&HF437,&HB56B, &H4E0C ' 481!
                              !dw &H0AD9,&HD33A,&HA0E7,&HAACA, &H4E15 ' 482!
                              !dw &H413B,&HB1C3,&H26CA,&HA11E, &H4E1E ' 483!
                              !dw &H93AA,&H9C0A,&H80AB,&H984E, &H4E27 ' 484!
                              !dw &H04E1,&H8F50,&H5CE2,&H9046, &H4E30 ' 485!
                              !dw &HF4A1,&H0E08,&HCA2B,&H88F2, &H4E39 ' 486!
                              !dw &H84AF,&HF3D9,&HEF4B,&H8242, &H4E42 ' 487!
                              !dw &HA4EE,&HC8D6,&H9828,&HF84F, &H4E4A ' 488!
                              !dw &H0086,&HF3D1,&H04D2,&HED28, &H4E53 ' 489!
                              !dw &H0580,&HE357,&H4C9D,&HE2F7, &H4E5C ' 490!
                              !dw &HF3C6,&H6983,&H27F9,&HD9A8, &H4E65 ' 491!
                              !dw &HCC40,&HAB64,&H9669,&HD127, &H4E6E ' 492!
                              !dw &H8EAC,&HBF88,&H9E54,&HC964, &H4E77 ' 493!
                              !dw &HC1A8,&HC4CC,&H14C3,&HC250, &H4E80 ' 494!
                              !dw &HF53A,&H44C3,&H6C13,&HBBDC, &H4E89 ' 495!
                              !dw &HD590,&HAA9D,&H88B2,&HB5FD, &H4E92 ' 496!
                              !dw &H35CE,&H6E9E,&H9B31,&HB0A8, &H4E9B ' 497!
                              !dw &HE256,&H1497,&HFEF3,&HABD3, &H4EA4 ' 498!
                              !dw &H0717,&HE892,&H1CF9,&HA777, &H4EAD ' 499!
                              !dw &H9AEC,&H0D1E,&H524C,&HA38A, &H4EB6 ' 500!
                              !dw &H7298,&H6AD6,&HD987,&HA006, &H4EBF ' 501!
                              !dw &H425B,&HC5C0,&HB747,&H9CE6, &H4EC8 ' 502!
                              !dw &H6130,&H02C6,&HA90F,&H9A24, &H4ED1 ' 503!
                              !dw &H47AC,&HC6BB,&H166A,&H97BC, &H4EDA ' 504!
                              !dw &HB831,&H5103,&H041C,&H95A9, &H4EE3 ' 505!
                              !dw &HAD08,&HFC10,&H090F,&H93E8, &H4EEC ' 506!
                              !dw &H8358,&H541A,&H44F9,&H9276, &H4EF5 ' 507!
                              !dw &H4E51,&H6172,&H586F,&H9151, &H4EFE ' 508!
                              !dw &H22DB,&HBA60,&H5E6A,&H9077, &H4F07 ' 509!
                              !dw &HC2B9,&H4FA5,&HE70C,&H8FE6, &H4F10 ' 510!
                              !dw &HEFD7,&HC97D,&HF398,&H8F9E, &H4F19 ' 511!
                              !dw &HEFD7,&HC97D,&HF398,&H8F9E, &H4F22 ' 512!
                              !dw &HAECF,&H95E2,&HC312,&H8FE6, &H4F2B ' 513!
                              !dw &H917E,&HA878,&HA9D5,&H9076, &H4F34 ' 514!
                              !dw &H4658,&H68F5,&H5BD4,&H914F, &H4F3D ' 515!
                              !dw &H30E5,&H11C7,&HFA8C,&H9271, &H4F46 ' 516!
                              !dw &HA2DF,&H6FF3,&H177E,&H93E0, &H4F4F ' 517!
                              !dw &H7DC8,&HEB43,&HB7C4,&H959B, &H4F58 ' 518!
                              !dw &HEA00,&H1C7A,&H58C8,&H97A7, &H4F61 ' 519!
                              !dw &HD5A8,&H3CEC,&HF62B,&H9A05, &H4F6A ' 520!
                              !dw &HFF69,&HFF7E,&H10FE,&H9CBB, &H4F73 ' 521!
                              !dw &H7A66,&HFA7C,&HB853,&H9FCA, &H4F7C ' 522!
                              !dw &H2708,&HC85E,&H9349,&HA339, &H4F85 ' 523!
                              !dw &H5BF2,&H8310,&HECBD,&HA70C, &H4F8E ' 524!
                              !dw &H4647,&H52E4,&HC0C0,&HAB4A, &H4F97 ' 525!
                              !dw &H8433,&H9528,&HCC05,&HAFF9, &H4FA0 ' 526!
                              !dw &H3413,&HBF07,&H9D7F,&HB521, &H4FA9 ' 527!
                              !dw &H6DB4,&HBCFF,&HAA6B,&HBACA, &H4FB2 ' 528!
                              !dw &HE8D8,&H50C5,&H6514,&HC0FE, &H4FBB ' 529!
                              !dw &HDE08,&H079C,&H56A2,&HC7C7, &H4FC4 ' 530!
                              !dw &H3045,&H0AE5,&H3C59,&HCF31, &H4FCD ' 531!
                              !dw &H2428,&H8552,&H28B4,&HD749, &H4FD6 ' 532!
                              !dw &H02A3,&HECCA,&HA8DF,&HE01D, &H4FDF ' 533!
                              !dw &HB0C0,&H8BF6,&HEF21,&HE9BE, &H4FE8 ' 534!
                              !dw &H45B1,&H8DC0,&H02DF,&HF43F, &H4FF1 ' 535!
                              !dw &H48F5,&H0865,&HF702,&HFFB1, &H4FFA ' 536!
                              !dw &H1D83,&HD0E7,&H13C8,&H8617, &H5004 ' 537!
                              !dw &HDA02,&H0382,&H3FCA,&H8CE6, &H500D ' 538!
                              !dw &H4081,&H2AB2,&H6427,&H9454, &H5016 ' 539!
                              !dw &H0008,&H4F08,&H01A1,&H9C71, &H501F ' 540!
                              !dw &HF409,&HF201,&H6838,&HA54D, &H5028 ' 541!
                              !dw &H1155,&H4830,&HF154,&HAEFC, &H5031 ' 542!
                              !dw &HFA62,&HE28E,&H41F0,&HB995, &H503A ' 543!
                              !dw &HEA08,&HF0B7,&H960F,&HC52E, &H5043 ' 544!
                              !dw &HC49E,&HF7BB,&H16BB,&HD1E4, &H504C ' 545!
                              !dw &H3CAC,&H732F,&H3C3E,&HDFD4, &H5055 ' 546!
                              !dw &HF752,&HB80E,&H3E5C,&HEF21, &H505E ' 547!
                              !dw &H04B6,&H3D00,&H94BF,&HFFF1, &H5067 ' 548!
                              !dw &H4286,&H8774,&H44FF,&H8938, &H5071 ' 549!
                              !dw &HE376,&H7E81,&H721E,&H9367, &H507A ' 550!
                              !dw &HC84A,&HD124,&HD34F,&H9EA1, &H5083 ' 551!
                              !dw &HA7F0,&H0D7B,&H77D2,&HAB06, &H508C ' 552!
                              !dw &H0EE2,&H5F90,&H7C6A,&HB8B8, &H5095 ' 553!
                              !dw &HE01B,&H1966,&H9E9F,&HC7DF, &H509E ' 554!
                              !dw &H03ED,&H7609,&HE671,&HD8A8, &H50A7 ' 555!
                              !dw &HCA44,&H362D,&H6A3F,&HEB47, &H50B0 ' 556!
                              !dw &HD08A,&HC470,&H3115,&HFFF5, &H50B9 ' 557!
                              !dw &H79A3,&H5C8B,&H1C3F,&H8B7A, &H50C3 ' 558!
                              !dw &H474E,&H2D8A,&HD1D7,&H9847, &H50CC ' 559!
                              !dw &H3DFD,&H59CF,&H8D83,&HA68E, &H50D5 ' 560!
                              !dw &H936C,&H6BE7,&H320E,&HB67F, &H50DE ' 561!
                              !dw &H30D2,&HD471,&H9DF1,&HC851, &H50E7 ' 562!
                              !dw &H772E,&H6B1A,&HBF2D,&HDC45, &H50F0 ' 563!
                              !dw &H2749,&H07FB,&HD498,&HF2A4, &H50F9 ' 564!
                              !dw &H536D,&HE267,&H724C,&H85E1, &H5103 ' 565!
                              !dw &H393A,&HFE48,&H395A,&H9400, &H510C ' 566!
                              !dw &HFB5F,&H4498,&H3F84,&HA3E6, &H5115 ' 567!
                              !dw &HB6DE,&HBC19,&H6E76,&HB5D3, &H511E ' 568!
                              !dw &H93B9,&HF40A,&H7842,&HCA11, &H5127 ' 569!
                              !dw &HC675,&H89AF,&H72E2,&HE0F5, &H5130 ' 570!
                              !dw &H87D4,&HA48D,&HBB9F,&HFAE1, &H5139 ' 571!
                              !dw &H0EDF,&H2CEB,&H17CE,&H8C24, &H5143 ' 572!
                              !dw &H1025,&H3D45,&H64A4,&H9CD6, &H514C ' 573!
                              !dw &H6D1A,&H20B0,&H5AD4,&HAFD4, &H5155 ' 574!
                              !dw &H2286,&H3AB6,&HFC01,&HC576, &H515E ' 575!
                              !dw &HE6D7,&H620C,&HDB81,&HDE25, &H5167 ' 576!
                              !dw &H8A25,&H4EFF,&HA9DF,&HFA59, &H5170 ' 577!
                              !dw &H3D7A,&H8C17,&H9C62,&H8D4F, &H517A ' 578!
                              !dw &H4805,&H716C,&H8759,&H9FCD, &H5183 ' 579!
                              !dw &HA996,&H527C,&HD353,&HB506, &H518C ' 580!
                              !dw &H7671,&H0D1A,&H3ECE,&HCD6C, &H5195 ' 581!
                              !dw &H14A2,&H38E5,&H0B64,&HE982, &H519E ' 582!
                              !dw &H6C7F,&H4F64,&HC9FC,&H84F1, &H51A8 ' 583!
                              !dw &H8BC1,&HCA8E,&HCA63,&H97A3, &H51B1 ' 584!
                              !dw &HDEAE,&H04EF,&HA4BF,&HAD42, &H51BA ' 585!
                              !dw &H89DE,&HA0A6,&H468E,&HC64D, &H51C3 ' 586!
                              !dw &HEF10,&H852E,&H9864,&HE359, &H51CC ' 587!
                              !dw &HF346,&HB879,&H7281,&H828C, &H51D6 ' 588!
                              !dw &H4A5C,&H3AB8,&H91BA,&H962E, &H51DF ' 589!
                              !dw &H5DB0,&H99AA,&HA9ED,&HAD0F, &H51E8 ' 590!
                              !dw &H2725,&HC2E0,&H94A5,&HC7C3, &H51F1 ' 591!
                              !dw &H2D42,&HA953,&H23DF,&HE6FA, &H51FA ' 592!
                              !dw &H6AF6,&H45CE,&H5B46,&H85C2, &H5204 ' 593!
                              !dw &H7A17,&H86FC,&H7BE4,&H9B2E, &H520D ' 594!
                              !dw &H67E2,&H12DE,&H84FA,&HB456, &H5216 ' 595!
                              !dw &HE4ED,&H19F6,&HB6CB,&HD1EC, &H521F ' 596!
                              !dw &H61EE,&HD1C6,&H8323,&HF4C6, &H5228 ' 597!
                              !dw &H5A31,&H6B01,&HED95,&H8EF1, &H5232 ' 598!
                              !dw &H1504,&H4EB0,&H0974,&HA73C, &H523B ' 599!
                              !dw &H58A0,&H4C36,&H5B14,&HC3FA, &H5244 ' 600!
                              !dw &HCB08,&H5375,&H5FE9,&HE60B, &H524D ' 601!
                              !dw &HBFDC,&HAB90,&HAFE2,&H873D, &H5257 ' 602!
                              !dw &HF9F6,&H750E,&H26A5,&H9F47, &H5260 ' 603!
                              !dw &HAAE0,&H3017,&HEF97,&HBBE5, &H5269 ' 604!
                              !dw &HF76A,&H2653,&H339C,&HDE07, &H5272 ' 605!
                              !dw &HB0EB,&HE8AE,&H430A,&H8365, &H527C ' 606!
                              !dw &H1ABF,&H6EDB,&H8CFB,&H9BC6, &H5285 ' 607!
                              !dw &H2FC3,&H93A4,&HC76A,&HB8FB, &H528E ' 608!
                              !dw &HCACF,&H449C,&H7AB2,&HDC07, &H5297 ' 609!
                              !dw &H66D0,&H31DF,&H7497,&H8312, &H52A1 ' 610!
                              !dw &H1932,&H6E04,&H8622,&H9C6A, &H52AA ' 611!
                              !dw &HE61D,&H2780,&H5455,&HBAF7, &H52B3 ' 612!
                              !dw &HD382,&HF3CB,&H1E77,&HDFD9, &H52BC ' 613!
                              !dw &HB753,&HECAE,&HAFC4,&H8638, &H52C6 ' 614!
                              !dw &HDD34,&H0A4B,&H1721,&HA139, &H52CF ' 615!
                              !dw &H4622,&HC063,&HAFD3,&HC1F8, &H52D8 ' 616!
                              !dw &HA204,&HAD57,&H2FE2,&HE9C0, &H52E1 ' 617!
                              !dw &H6347,&H4D9D,&H7CE6,&H8D12, &H52EB ' 618!
                              !dw &HC787,&H6ED5,&HDA00,&HAA8D, &H52F4 ' 619!
                              !dw &HDF9D,&H8636,&HC5FC,&HCE87, &H52FD ' 620!
                              !dw &H8E38,&HC8C9,&HADA2,&HFA7F, &H5306 ' 621!
                              !dw &H6DE3,&H60F6,&H8DF8,&H9828, &H5310 ' 622!
                              !dw &HDAB6,&HB9FB,&H58BF,&HB925, &H5319 ' 623!
                              !dw &HF28E,&HAAAA,&H8429,&HE1A5, &H5322 ' 624!
                              !dw &HD68B,&H6E6A,&H45EA,&H89B9, &H532C ' 625!
                              !dw &HA050,&HA100,&H867B,&HA863, &H5335 ' 626!
                              !dw &H4452,&H65AA,&HE130,&HCE35, &H533E ' 627!
                              !dw &HD7CD,&H5CB2,&H1635,&HFCEE, &H5347 ' 628!
                              !dw &HDB0E,&H4730,&H3F24,&H9B5D, &H5351 ' 629!
                              !dw &H1D8B,&HA399,&HBCB1,&HBF2B, &H535A ' 630!
                              !dw &H33E9,&HED1F,&H670C,&HEB9A, &H5363 ' 631!
                              !dw &H420A,&HFA59,&H4B99,&H9169, &H536D ' 632!
                              !dw &H5A25,&HDE03,&HADF7,&HB3C6, &H5376 ' 633!
                              !dw &H26A0,&HEDEA,&H056B,&HDE9D, &H537F ' 634!
                              !dw &HF373,&HADC8,&HDF1C,&H8A0B, &H5389 ' 635!
                              !dw &H9E69,&H9FDF,&HBF25,&HAB7A, &H5392 ' 636!
                              !dw &HB696,&H4F67,&H36D0,&HD558, &H539B ' 637!
                              !dw &H1E43,&HC979,&H7626,&H84EC, &H53A5 ' 638!
                              !dw &HA944,&H6872,&H1D75,&HA5E5, &H53AE ' 639!
                              !dw &H5395,&HC28F,&H64D2,&HCF5E, &H53B7 ' 640!
                              !dw &H3812,&HEE4A,&HD69C,&H81CE, &H53C1 ' 641!
                              !dw &H104F,&HC6CB,&H5B1A,&HA2C4, &H53CA ' 642!
                              !dw &H04FB,&H20A8,&H986A,&HCC69, &H53D3 ' 643!
                              !dw &HAB22,&HBE89,&H68DA,&H808E, &H53DD ' 644!
                              !dw &H6E16,&H9108,&H6717,&HA1F3, &H53E6 ' 645!
                              !dw &HA2E6,&HBBFD,&H1B12,&HCC56, &H53EF ' 646!
                              !dw &H81AD,&H1647,&H679B,&H811B, &H53F9 ' 647!
                              !dw &H801E,&H4832,&HAF20,&HA366, &H5402 ' 648!
                              !dw &H0367,&H6B84,&HA8FC,&HCF1F, &H540B ' 649!
                              !dw &H4C29,&H3A3F,&H98C4,&H8379, &H5415 ' 650!
                              !dw &H7B56,&H800F,&H1BBD,&HA72B, &H541E ' 651!
                              !dw &HB70F,&H5113,&HE553,&HD4E0, &H5427 ' 652!
                              !dw &HD27C,&H6173,&H6A3D,&H87C0, &H5431 ' 653!
                              !dw &HF1DD,&H677A,&HC7B4,&HAD66, &H543A ' 654!
                              !dw &HC86A,&H4A61,&HFC7B,&HDDD4, &H5443 ' 655!
                              !dw &HA464,&HFBA6,&H71BE,&H8E1C, &H544D ' 656!
                              !dw &H55F2,&H91EB,&H7FF5,&HB65B, &H5456 ' 657!
                              !dw &H7174,&H9887,&H9772,&HEA5B, &H545F ' 658!
                              !dw &H2A44,&HFFA9,&H71B6,&H96D2, &H5469 ' 659!
                              !dw &H107B,&HE590,&H4695,&HC26B, &H5472 ' 660!
                              !dw &H7D47,&H84DE,&H7EA0,&HFAFF, &H547B ' 661!
                              !dw &HD5FD,&HC5E5,&H2C5C,&HA244, &H5485 ' 662!
                              !dw &H1E9A,&H2243,&H4772,&HD21F, &H548E ' 663!
                              !dw &H85D8,&H0237,&H4854,&H8840, &H5498 ' 664!
                              !dw &H1D57,&H1CE1,&H7DF1,&HB0F7, &H54A1 ' 665!
                              !dw &HD32A,&HA290,&HEED2,&HE631, &H54AA ' 666!
                              !dw &HD58B,&HB363,&H064F,&H95F1, &H54B4 ' 667!
                              !dw &H409C,&HFC0C,&H763B,&HC3A0, &H54BD ' 668!
                              !dw &H026C,&H60D6,&H2A7D,&HFF9D, &H54C6 ' 669!
                              !dw &H0695,&H08DC,&H554D,&HA73F, &H54D0 ' 670!
                              !dw &H5AA1,&H751C,&H804A,&HDB2F, &H54D9 ' 671!
                              !dw &H9B7A,&HDCDA,&H2C30,&H8FD7, &H54E3 ' 672!
                              !dw &H595D,&H3A4D,&H5596,&HBD12, &H54EC ' 673!
                              !dw &HD2A4,&HC2BF,&H22AA,&HF8E5, &H54F5 ' 674!
                              !dw &HF219,&H0FDF,&H0A9A,&HA411, &H54FF ' 675!
                              !dw &HADA6,&H68F5,&H7FFF,&HD89E, &H5508 ' 676!
                              !dw &H6D0E,&H9C24,&HCA1F,&H8F36, &H5512 ' 677!
                              !dw &H3C69,&HDBC4,&H8DA7,&HBDA5, &H551B ' 678!
                              !dw &HBE1D,&H1BF2,&H0D5C,&HFB81, &H5524 ' 679!
                              !dw &H3240,&H2A8F,&HB2DF,&HA703, &H552E ' 680!
                              !dw &H7656,&HD41B,&H6B69,&HDE24, &H5537 ' 681!
                              !dw &H4A50,&HFBC4,&H4189,&H93F3, &H5541 ' 682!
                              !dw &H5922,&H915A,&HFFED,&HC55C, &H554A ' 683!
                              !dw &H5989,&HB017,&H1EF3,&H83D5, &H5554 ' 684!
                              !dw &H3D4A,&H0717,&HA1E9,&HB060, &H555D ' 685!
                              !dw &H231F,&H3880,&H78EF,&HEC51, &H5566 ' 686!
                              !dw &HF790,&H7E27,&HA8E2,&H9E8B, &H5570 ' 687!
                              !dw &HB4A9,&H5985,&HAAF0,&HD50B, &H5579 ' 688!
                              !dw &H36CF,&H383C,&H19C4,&H8F59, &H5583 ' 689!
                              !dw &H25DD,&H6FC9,&H13B9,&HC12F, &H558C ' 690!
                              !dw &HFC4D,&H622E,&H848F,&H825C, &H5596 ' 691!
                              !dw &H8100,&HCAB3,&H0B29,&HB031, &H559F ' 692!
                              !dw &HF61A,&H10DB,&H619C,&HEE7A, &H55A8 ' 693!
                              !dw &H134B,&H456D,&HF127,&HA19F, &H55B2 ' 694!
                              !dw &H8FB0,&HCEBD,&H9BD8,&HDB64, &H55BB ' 695!
                              !dw &HD7AA,&H5C84,&H61ED,&H951E, &H55C5 ' 696!
                              !dw &HD796,&HA072,&HDC4F,&HCAFF, &H55CE ' 697!
                              !dw &H47F4,&H46DE,&H67AC,&H8A5F, &H55D8 ' 698!
                              !dw &H773C,&HB2C0,&H4009,&HBCE9, &H55E1 ' 699!
                              !dw &H9182,&HA131,&H72C6,&H8123, &H55EB ' 700!
                              !dw &H5DB8,&HF3B2,&H08A4,&HB0CF, &H55F4 ' 701!
                              !dw &H8E80,&H2A21,&HDCDA,&HF26B, &H55FD ' 702!
                              !dw &H8994,&HC66C,&H8CDE,&HA66D, &H5607 ' 703!
                              !dw &H3D2C,&H50D5,&HA1B2,&HE4D6, &H5610 ' 704!
                              !dw &HCF5D,&H0426,&HC4D3,&H9D8C, &H561A ' 705!
                              !dw &H83F0,&HF8B9,&H1B66,&HD93F, &H5623 ' 706!
                              !dw &H15D8,&H583A,&H522B,&H95FE, &H562D ' 707!
                              !dw &H5234,&HF000,&HAD9F,&HCF69, &H5636 ' 708!
                              !dw &H38EB,&HFCEC,&HEB76,&H8F9B, &H5640 ' 709!
                              !dw &H92ED,&H00BB,&H3786,&HC725, &H5649 ' 710!
                              !dw &H3D44,&H4B02,&H174D,&H8A46, &H5653 ' 711!
                              !dw &H1D33,&H7C4F,&H7867,&HC049, &H565C ' 712!
                              !dw &H1615,&H0E4E,&H2816,&H85E3, &H5666 ' 713!
                              !dw &HE4CB,&HC1F2,&HC6E6,&HBAB5, &H566F ' 714!
                              !dw &H5941,&H9FEC,&H6CA1,&H825E, &H5679 ' 715!
                              !dw &H84D1,&H05A4,&H0BEA,&HB650, &H5682 ' 716!
                              !dw &HE3FE,&H38E6,&H18AF,&HFF4F, &H568B ' 717!
                              !dw &HE4DD,&HDC65,&HF5CE,&HB303, &H5695 ' 718!
                              !dw &H16E4,&HFE81,&H0FAF,&HFB64, &H569E ' 719!
                              !dw &HC418,&HBEF2,&H5B07,&HB0C2, &H56A8 ' 720!
                              !dw &HDD24,&H6864,&HB130,&HF8E9, &H56B1 ' 721!
                              !dw &H1DEC,&HA19B,&HC56E,&HAF80, &H56BB ' 722!
                              !dw &H8AC1,&HB934,&H56CB,&HF7D4, &H56C4 ' 723!
                              !dw &H261A,&H09F2,&H215E,&HAF39, &H56CE ' 724!
                              !dw &H62F4,&HA915,&H65BF,&HF81E, &H56D7 ' 725!
                              !dw &HA9A8,&H6260,&H8D23,&HAFE9, &H56E1 ' 726!
                              !dw &H40E6,&HBE30,&H1FE7,&HF9C8, &H56EA ' 727!
                              !dw &H4E24,&HC136,&H46AE,&HB194, &H56F4 ' 728!
                              !dw &HD242,&HD219,&H9EA3,&HFCD7, &H56FD ' 729!
                              !dw &H6864,&HC947,&HB697,&HB43F, &H5707 ' 730!
                              !dw &HB9C5,&HDAEF,&H7B98,&H80AC, &H5711 ' 731!
                              !dw &HBB98,&H8902,&H98B4,&HB7F6, &H571A ' 732!
                              !dw &H34C9,&H3B13,&H44CF,&H83AF, &H5724 ' 733!
                              !dw &H88AC,&H15B0,&H43A5,&HBCC8, &H572D ' 734!
                              !dw &H7619,&HBE51,&HBE8D,&H8780, &H5737 ' 735!
                              !dw &H19C4,&HC195,&H11EB,&HC2C9, &H5740 ' 736!
                              !dw &H8FCB,&HEE13,&H3725,&H8C31, &H574A ' 737!
                              !dw &H3244,&HAC2A,&HF07D,&HCA12, &H5753 ' 738!
                              !dw &H73C7,&HB1FF,&H2B0E,&H91D5, &H575D ' 739!
                              !dw &H3555,&H3D43,&H183B,&HD2C6, &H5766 ' 740!
                              !dw &HE258,&HDE14,&HD908,&H9885, &H5770 ' 741!
                              !dw &H4405,&HD9D8,&HF987,&HDD09, &H5779 ' 742!
                              !dw &HAB5B,&H5250,&HFCCE,&HA061, &H5783 ' 743!
                              !dw &H3900,&HCF9D,&H635B,&HE90E, &H578C ' 744!
                              !dw &H22B8,&H8BCC,&HB7C9,&HA98E, &H5796 ' 745!
                              !dw &H6E97,&HA8B0,&HF1C8,&HF70C, &H579F ' 746!
                              !dw &HB4AC,&H210E,&HB161,&HB438, &H57A9 ' 747!
                              !dw &HBDFA,&HF325,&H6991,&H83A5, &H57B3 ' 748!
                              !dw &HB66A,&H0232,&H7AF0,&HC095, &H57BC ' 749!
                              !dw &H249B,&HC99C,&H7B8A,&H8D0D, &H57C6 ' 750!
                              !dw &H87B1,&H12B8,&H46B6,&HCEE5, &H57CF ' 751!
                              !dw &H83A6,&HB5BF,&H5FED,&H97F0, &H57D9 ' 752!
                              !dw &H291E,&H19CC,&H0515,&HDF75, &H57E2 ' 753!
                              !dw &HD446,&H097E,&HAA3E,&HA489, &H57EC ' 754!
                              !dw &H8606,&H7B00,&H008A,&HF2A1, &H57F5 ' 755!
                              !dw &H62F2,&H3CCF,&HDD66,&HB320, &H57FF ' 756!
                              !dw &H4FE5,&HD474,&H0BAB,&H846C, &H5809 ' 757!
                              !dw &H3249,&H6388,&HF547,&HC40B, &H5812 ' 758!
                              !dw &H3345,&HAA06,&HDD0D,&H914F, &H581C ' 759!
                              !dw &H341B,&H4861,&H8C20,&HD7B2, &H5825 ' 760!
                              !dw &H3CF9,&HFDCA,&H70A2,&HA04C, &H582F ' 761!
                              !dw &HFCBF,&H93B5,&HC3A2,&HEE91, &H5838 ' 762!
                              !dw &HDA13,&H638F,&H1C85,&HB1C3, &H5842 ' 763!
                              !dw &H53B4,&H8548,&H9247,&H84A0, &H584C ' 764!
                              !dw &H9111,&HDCA4,&HEA8F,&HC629, &H5855 ' 765!
                              !dw &H1A84,&H9D8D,&H5AF6,&H943C, &H585F ' 766!
                              !dw &HE139,&H7104,&H6A44,&HDE10, &H5868 ' 767!
                              !dw &HA8EB,&H54C3,&H4FB3,&HA68C, &H5872 ' 768!
                              !dw &HDF34,&HD8CF,&HBDB4,&HFA25, &H587B ' 769!
                              !dw &H4F57,&H7D08,&H6126,&HBC19, &H5885 ' 770!
                              !dw &H01BD,&HBAA4,&H1BE5,&H8DA0, &H588F ' 771!
                              !dw &H4A9F,&H636B,&H6A10,&HD58B, &H5898 ' 772!
                              !dw &HBE14,&HDF0C,&H7DD0,&HA133, &H58A2 ' 773!
                              !dw &H4358,&HC130,&HD732,&HF3B0, &H58AB ' 774!
                              !dw &H46F8,&HA9B6,&H16DE,&HB86F, &H58B5 ' 775!
                              !dw &H21C8,&HBC9C,&H2F54,&H8BC4, &H58BF ' 776!
                              !dw &HF144,&H183A,&H39D4,&HD41B, &H58C8 ' 777!
                              !dw &HC84E,&HA468,&HAF6F,&HA126, &H58D2 ' 778!
                              !dw &H6CC3,&H5CA5,&H5BEC,&HF530, &H58DB ' 779!
                              !dw &H01D9,&H0A92,&HD605,&HBAC3, &H58E5 ' 780!
                              !dw &HDBE8,&H584F,&HDCFB,&H8E71, &H58EF ' 781!
                              !dw &HF8E0,&HE3E1,&HE883,&HD98F, &H58F8 ' 782!
                              !dw &H0A0D,&HD980,&HCA0A,&HA65B, &H5902 ' 783!
                              !dw &H0F64,&H9D0C,&H8D60,&HFEBC, &H590B ' 784!
                              !dw &H7ECD,&H5064,&H0B61,&HC348, &H5915 ' 785!
                              !dw &H2354,&H3235,&HCCBC,&H95E4, &H591F ' 786!
                              !dw &HADCE,&H472C,&H30B3,&HE667, &H5928 ' 787!
                              !dw &H61BF,&HF5C5,&H6879,&HB14D, &H5932 ' 788!
                              !dw &H5591,&HF89E,&HE4BF,&H889C, &H593C ' 789!
                              !dw &H4E06,&H349C,&H14F4,&HD2CA, &H5945 ' 790!
                              !dw &HBD45,&HA3A3,&H99AF,&HA2D3, &H594F ' 791!
                              !dw &H48C7,&HB121,&H51BB,&HFBDF, &H5958 ' 792!
                              !dw &H069C,&H99EC,&HB10B,&HC30D, &H5962 ' 793!
                              !dw &H8320,&H7ED9,&H1DC7,&H973E, &H596C ' 794!
                              !dw &HBD1B,&H4376,&HF33D,&HEAD6, &H5975 ' 795!
                              !dw &H4D00,&H9F71,&H1714,&HB68D, &H597F ' 796!
                              !dw &HEF2E,&HCD18,&H5036,&H8E15, &H5989 ' 797!
                              !dw &HDCC9,&H69A9,&H3805,&HDD73, &H5992 ' 798!
                              !dw &H4A06,&H3932,&HA6F6,&HACCA, &H599C ' 799!
                              !dw &H49D4,&H5CAF,&H5270,&H86FE, &H59A6 ' 800!
                              !dw &H3B01,&HC900,&HDFF8,&HD330, &H59AF ' 801!
                              !dw &HAE36,&H596C,&HC76A,&HA567, &H59B9 ' 802!
                              !dw &HF99D,&HA59F,&H21A0,&H81B5, &H59C3 ' 803!
                              !dw &H35F8,&H4415,&H6ECE,&HCBAE, &H59CC ' 804!
                              !dw &HACAD,&HA705,&HE09B,&HA01E, &H59D6 ' 805!
                              !dw &HEED5,&H07ED,&H9B95,&HFC10, &H59DF ' 806!
                              !dw &HC2F8,&HB2FF,&H169C,&HC6A6, &H59E9 ' 807!
                              !dw &HCFD8,&HA53D,&H0DD7,&H9CBF, &H59F3 ' 808!
                              !dw &H2AE9,&H3C98,&HE15F,&HF7AB, &H59FC ' 809!
                              !dw &H5DF1,&HD56E,&H75C5,&HC3E9, &H5A06 ' 810!
                              !dw &H28E7,&H6EC9,&H2606,&H9B29, &H5A10 ' 811!
                              !dw &H06DE,&H33B3,&H424E,&HF613, &H5A19 ' 812!
                              !dw &HE334,&H968B,&HCA64,&HC35E, &H5A23 ' 813!
                              !dw &H331C,&HF5AC,&HD9E2,&H9B4D, &H5A2D ' 814!
                              !dw &H9B5B,&HC60F,&H6C54,&HF736, &H5A36 ' 815!
                              !dw &H6FCC,&H8DD4,&H5E53,&HC4FF, &H5A40 ' 816!
                              !dw &HBE33,&H29E8,&HBF02,&H9D2C, &H5A4A ' 817!
                              !dw &HD7DF,&H74F4,&H7D2A,&HFB1C, &H5A53 ' 818!
                              !dw &HD3A7,&HB50A,&H091B,&HC8D7, &H5A5D ' 819!
                              !dw &HAB7D,&H2FF9,&H324B,&HA0D4, &H5A67 ' 820!
                              !dw &HECBE,&HC836,&H2152,&H80F2, &H5A71 ' 821!
                              !dw &H2E15,&HE770,&HBB7F,&HCF04, &H5A7A ' 822!
                              !dw &H6909,&H0C42,&H0DB2,&HA662, &H5A84 ' 823!
                              !dw &H7086,&H45DD,&HE705,&H85E2, &H5A8E ' 824!
                              !dw &H4FCF,&HFF13,&H1D3F,&HD7BC, &H5A97 ' 825!
                              !dw &H13E1,&H1F41,&H3D98,&HAE05, &H5AA1 ' 826!
                              !dw &HCECE,&H9B3D,&HBB7E,&H8C8A, &H5AAB ' 827!
                              !dw &HF471,&HBF0D,&H5B36,&HE348, &H5AB4 ' 828!
                              !dw &H0C24,&H122C,&H53D8,&HB800, &H5ABE ' 829!
                              !dw &HB3D7,&HA2BA,&H43F5,&H9524, &H5AC8 ' 830!
                              !dw &H06E4,&H2D9E,&H5C4D,&HF210, &H5AD1 ' 831!
                              !dw &H6599,&HB510,&H4AFE,&HC4AD, &H5ADB ' 832!
                              !dw &H96A6,&HB2CA,&HF841,&H9FFD, &H5AE5 ' 833!
                              !dw &HFFB2,&H821D,&H58B1,&H824E, &H5AEF ' 834!
                              !dw &HEC81,&H7DB3,&HC5A5,&HD482, &H5AF8 ' 835!
                              !dw &HE415,&H1B9F,&HC35C,&HAD7E, &H5B02 ' 836!
                              !dw &H712E,&H0994,&HDD2F,&H8DCF, &H5B0C ' 837!
                              !dw &HF53F,&HFCAD,&H3703,&HE81B, &H5B15 ' 838!
                              !dw &H87B0,&H8447,&H4C53,&HBE2C, &H5B1F ' 839!
                              !dw &HAD4F,&H8282,&H569C,&H9C00, &H5B29 ' 840!
                              !dw &HD2D6,&H0A2F,&H4722,&H801F, &H5B33 ' 841!
                              !dw &HA5BA,&HFAC0,&H6FFA,&HD2B3, &H5B3C ' 842!
                              !dw &H186F,&HDDEE,&H386F,&HAD75, &H5B46 ' 843!
                              !dw &H3E23,&H33EB,&H9D84,&H8EF7, &H5B50 ' 844!
                              !dw &HBE0D,&HAFAF,&HA976,&HEBF3, &H5B59 ' 845!
                              !dw &HB184,&H8E25,&HCE81,&HC2EF, &H5B63 ' 846!
                              !dw &HAD95,&HA953,&HDB0F,&HA13D, &H5B6D ' 847!
                              !dw &H4BBF,&HF839,&H3968,&H8587, &H5B77 ' 848!
                              !dw &H021B,&H8F9B,&HBAB2,&HDD6A, &H5B80 ' 849!
                              !dw &H2B3F,&H3834,&H17F9,&HB7CB, &H5B8A ' 850!
                              !dw &H5AF1,&H5D75,&H082C,&H98BE, &H5B94 ' 851!
                              !dw &H4955,&HD385,&H3999,&HFE2C, &H5B9D ' 852!
                              !dw &HC756,&H6372,&H56FB,&HD3BA, &H5BA7 ' 853!
                              !dw &H393E,&HA770,&HE78A,&HB093, &H5BB1 ' 854!
                              !dw &HF3CB,&H054D,&H7E94,&H936F, &H5BBB ' 855!
                              !dw &H5398,&H78DE,&H679F,&HF67E, &H5BC4 ' 856!
                              !dw &H1176,&H36E8,&H4A39,&HCE4B, &H5BCE ' 857!
                              !dw &H72A1,&HF081,&H15B0,&HACDA, &H5BD8 ' 858!
                              !dw &H96E9,&H2DC0,&HF1B2,&H90FF, &H5BE2 ' 859!
                              !dw &H7D7B,&H48D9,&HE7F9,&HF38D, &H5BEB ' 860!
                              !dw &HDEC2,&H5A80,&H114C,&HCCC9, &H5BF5 ' 861!
                              !dw &H7B84,&HC62F,&H420F,&HAC63, &H5BFF ' 862!
                              !dw &H8459,&HCB46,&HA6EC,&H9148, &H5C09 ' 863!
                              !dw &HFF56,&H9706,&H99AF,&HF52A, &H5C12 ' 864!
                              !dw &HA930,&H9353,&H3C52,&HCF19, &H5C1C ' 865!
                              !dw &H4095,&HD598,&HD783,&HAF24, &H5C26 ' 866!
                              !dw &HA8AE,&HDF18,&H7178,&H944A, &H5C30 ' 867!
                              !dw &HCDF8,&HEA37,&H345E,&HFB66, &H5C39 ' 868!
                              !dw &HDB8A,&H8C43,&H7BF1,&HD558, &H5C43 ' 869!
                              !dw &HA706,&HB8AB,&HAD4D,&HB542, &H5C4D ' 870!
                              !dw &H0151,&HDBD4,&H76E8,&H9A2D, &H5C57 ' 871!
                              !dw &H891F,&H4B32,&HB742,&H834A, &H5C61 ' 872!
                              !dw &HAACE,&H8937,&HE578,&HDFDC, &H5C6A ' 873!
                              !dw &H0349,&H611E,&H09DB,&HBF12, &H5C74 ' 874!
                              !dw &H654E,&H353C,&HA9EC,&HA344, &H5C7E ' 875!
                              !dw &HAAAA,&H118A,&HBD5D,&H8BAB, &H5C88 ' 876!
                              !dw &H0554,&HEA8C,&HABDB,&HEF3D, &H5C91 ' 877!
                              !dw &H0E92,&H0F9B,&H60DB,&HCD21, &H5C9B ' 878!
                              !dw &H59C2,&H0AA5,&H66E4,&HB015, &H5CA5 ' 879!
                              !dw &H1922,&HF926,&H646B,&H9752, &H5CAF ' 880!
                              !dw &H0720,&HE51B,&HA2E5,&H8230, &H5CB9 ' 881!
                              !dw &H8F46,&H07AB,&HC89E,&HE045, &H5CC2 ' 882!
                              !dw &H2FCB,&H451D,&H2CBE,&HC164, &H5CCC ' 883!
                              !dw &H3243,&H41AA,&H7AA0,&HA6F3, &H5CD6 ' 884!
                              !dw &H57F0,&H00C0,&HEDBB,&H9049, &H5CE0 ' 885!
                              !dw &HD82C,&H9A4C,&HEE62,&HF9AF, &H5CE9 ' 886!
                              !dw &H1041,&HE928,&H24BD,&HD848, &H5CF3 ' 887!
                              !dw &HBE18,&HB030,&H8FDC,&HBB8E, &H5CFD ' 888!
                              !dw &H5108,&H57F6,&H8465,&HA2D4, &H5D07 ' 889!
                              !dw &H956E,&H14F3,&HB512,&H8D85, &H5D11 ' 890!
                              !dw &HE48A,&HF775,&H2E9A,&HF648, &H5D1A ' 891!
                              !dw &HB215,&HFD8F,&HE098,&HD688, &H5D24 ' 892!
                              !dw &H900C,&H6B1F,&HDDDD,&HBB16, &H5D2E ' 893!
                              !dw &H0E43,&HCF06,&H76B2,&HA356, &H5D38 ' 894!
                              !dw &H8AF7,&HC871,&HD23E,&H8EC2, &H5D42 ' 895!
                              !dw &HB330,&HDEC6,&HEFED,&HF9D4, &H5D4B ' 896!
                              !dw &H8E77,&H1E65,&HC72C,&HDAD8, &H5D55 ' 897!
                              !dw &H0F6F,&H30A8,&H1AAA,&HBFEB, &H5D5F ' 898!
                              !dw &H8B8D,&HEA37,&HA7A8,&HA87D, &H5D69 ' 899!
                              !dw &HD1A7,&H75DA,&H705B,&H9416, &H5D73 ' 900!
                              !dw &HC8F8,&H7972,&HBE5C,&H824C, &H5D7D ' 901!
                              !dw &H380D,&HE9F5,&H335C,&HE58D, &H5D86 ' 902!
                              !dw &HFE2E,&H2F4F,&H440B,&HCA6D, &H5D90 ' 903!
                              !dw &H9E64,&HDFC4,&H7611,&HB2B4, &H5D9A ' 904!
                              !dw &H84FC,&H4C03,&HFD59,&H9DEF, &H5DA4 ' 905!
                              !dw &H1D29,&H81C1,&HD5A7,&H8BBC, &H5DAE ' 906!
                              !dw &H9928,&H3C5B,&H047C,&HF78B, &H5DB7 ' 907!
                              !dw &H38CF,&H2985,&H44FA,&HDB80, &H5DC1 ' 908!
                              !dw &H82AD,&H115B,&H9D3B,&HC2D9, &H5DCB ' 909!
                              !dw &HD2A1,&HFDEC,&H6339,&HAD28, &H5DD5 ' 910!
                              !dw &H7063,&HD7A7,&HAE46,&H9A0C, &H5DDF ' 911!
                              !dw &H2018,&H1811,&H4B37,&H8933, &H5DE9 ' 912!
                              !dw &H89BB,&HBE6A,&HF79F,&HF4A7, &H5DF2 ' 913!
                              !dw &H17EF,&H1576,&HEC86,&HDA5F, &H5DFC ' 914!
                              !dw &H45E3,&HCFAD,&H3698,&HC321, &H5E06 ' 915!
                              !dw &HFF84,&HB1C5,&HB5D6,&HAE8C, &H5E10 ' 916!
                              !dw &H8F11,&H82B2,&H81D6,&H9C4F, &H5E1A ' 917!
                              !dw &H1342,&HCE2B,&H46E5,&H8C21, &H5E24 ' 918!
                              !dw &H5111,&H7B8E,&HBAC1,&HFB85, &H5E2D ' 919!
                              !dw &HDCD5,&HD501,&H25C9,&HE1FA, &H5E37 ' 920!
                              !dw &HECDE,&HC7D4,&H3C7C,&HCB3F, &H5E41 ' 921!
                              !dw &H3746,&H59ED,&H6FF6,&HB700, &H5E4B ' 922!
                              !dw &H9193,&H4D8E,&HA4EB,&HA4F3, &H5E55 ' 923!
                              !dw &HA55B,&H52FB,&HD9D0,&H94D7, &H5E5F ' 924!
                              !dw &HD11F,&H6EF5,&HFB81,&H8673, &H5E69 ' 925!
                              !dw &H9537,&H17AE,&HC3DF,&HF32B, &H5E72 ' 926!
                              !dw &H4B94,&H35B0,&HDE91,&HDC22, &H5E7C ' 927!
                              !dw &HC47E,&H98A7,&H99B3,&HC77F, &H5E86 ' 928!
                              !dw &H3404,&H2F3E,&H8331,&HB4FD, &H5E90 ' 929!
                              !dw &HFE3D,&H2B67,&H3DA6,&HA460, &H5E9A ' 930!
                              !dw &HCC66,&HD3F6,&H800C,&H9572, &H5EA4 ' 931!
                              !dw &HA009,&HACEB,&H368B,&H8805, &H5EAE ' 932!
                              !dw &H5F20,&H869B,&H7FE5,&HF7DD, &H5EB7 ' 933!
                              !dw &HB744,&HDA46,&H8827,&HE214, &H5EC1 ' 934!
                              !dw &H11D6,&H638E,&H3F52,&HCE6E, &H5ECB ' 935!
                              !dw &HDC4E,&H4EFF,&HC5E1,&HBCB0, &H5ED5 ' 936!
                              !dw &H9F56,&H6A89,&HC111,&HACA8, &H5EDF ' 937!
                              !dw &H1075,&H7417,&H94DA,&H9E28, &H5EE9 ' 938!
                              !dw &H2657,&H51F4,&HB67F,&H9107, &H5EF3 ' 939!
                              !dw &H1F32,&HE03B,&H1486,&H8522, &H5EFD ' 940!
                              !dw &HA8D5,&HE31C,&H22B9,&HF4AF, &H5F06 ' 941!
                              !dw &HDD50,&H006C,&H1C72,&HE117, &H5F10 ' 942!
                              !dw &H40CE,&HFBE4,&H0871,&HCF49, &H5F1A ' 943!
                              !dw &H6BBE,&H1436,&H53C9,&HBF17, &H5F24 ' 944!
                              !dw &H38EE,&H50E7,&H4712,&HB059, &H5F2E ' 945!
                              !dw &H9C18,&H6BBD,&H7A28,&HA2EA, &H5F38 ' 946!
                              !dw &H9A1B,&HE1A3,&H5878,&H96AA, &H5F42 ' 947!
                              !dw &H75AB,&HE8E4,&HB3E7,&H8B7B, &H5F4C ' 948!
                              !dw &HBA0D,&HAC95,&H647A,&H8144, &H5F56 ' 949!
                              !dw &HD036,&H9E39,&HE66F,&HEFD9, &H5F5F ' 950!
                              !dw &H311E,&H2932,&H9DC2,&HDEC0, &H5F69 ' 951!
                              !dw &HA9AA,&H824C,&H12AA,&HCF17, &H5F73 ' 952!
                              !dw &HD8E7,&H2FC3,&H391F,&HC0BB, &H5F7D ' 953!
                              !dw &HF593,&H8DFF,&H6CB7,&HB38E, &H5F87 ' 954!
                              !dw &H7647,&H2FAE,&H13E4,&HA775, &H5F91 ' 955!
                              !dw &HE06C,&H0883,&H4D92,&H9C56, &H5F9B ' 956!
                              !dw &H3F7D,&HBA75,&HA7FE,&H921B, &H5FA5 ' 957!
                              !dw &HB0E5,&HCF70,&HDFAA,&H88B0, &H5FAF ' 958!
                              !dw &HC9AB,&H37C5,&HA578,&H8003, &H5FB9 ' 959!
                              !dw &HDA20,&H6892,&HD641,&HF006, &H5FC2 ' 960!
                              !dw &HD135,&HE263,&H6A92,&HE142, &H5FCC ' 961!
                              !dw &HC60A,&HFDAE,&HE51E,&HD39E, &H5FD6 ' 962!
                              !dw &H1CBE,&HE512,&HADF8,&HC703, &H5FE0 ' 963!
                              !dw &H0D0F,&H4FA6,&H76C7,&HBB5A, &H5FEA ' 964!
                              !dw &H3BCE,&H53CF,&H006F,&HB08F, &H5FF4 ' 965!
                              !dw &HFEEB,&H058F,&HE6E9,&HA68E, &H5FFE ' 966!
                              !dw &HBAFA,&H8D00,&H728E,&H9D49, &H6008 ' 967!
                              !dw &HB0C1,&HC14A,&H6E4A,&H94AF, &H6012 ' 968!
                              !dw &HEDC2,&H3D68,&H021E,&H8CB3, &H601C ' 969!
                              !dw &HE539,&HA52B,&H9181,&H8547, &H6026 ' 970!
                              !dw &HBF37,&H5EBE,&H3A73,&HFCC3, &H602F ' 971!
                              !dw &H0F81,&H82EF,&H507B,&HEFED, &H6039 ' 972!
                              !dw &HA77C,&H5C29,&H3EB9,&HE3FA, &H6043 ' 973!
                              !dw &H9ECE,&H4F29,&H86A9,&HD8D8, &H604D ' 974!
                              !dw &HE0F5,&HB51F,&H2A37,&HCE78, &H6057 ' 975!
                              !dw &H6269,&H18A2,&H883D,&HC4CA, &H6061 ' 976!
                              !dw &HEE65,&H4AC0,&H3C7C,&HBBC2, &H606B ' 977!
                              !dw &H43AF,&HB565,&H02C4,&HB353, &H6075 ' 978!
                              !dw &H9076,&H906C,&H9CE5,&HAB71, &H607F ' 979!
                              !dw &HE641,&HB337,&HBB27,&HA413, &H6089 ' 980!
                              !dw &H4D56,&HC871,&HE70B,&H9D2F, &H6093 ' 981!
                              !dw &HA7AA,&HCCB8,&H7011,&H96BD, &H609D ' 982!
                              !dw &H42F3,&H1646,&H5A55,&H90B4, &H60A7 ' 983!
                              !dw &H8456,&HC367,&H4ECD,&H8B0D, &H60B1 ' 984!
                              !dw &H530B,&H6D36,&H8D0D,&H85C1, &H60BB ' 985!
                              !dw &HCEF6,&H6DA8,&HDE51,&H80CA, &H60C5 ' 986!
                              !dw &HEAF8,&HF8E4,&H1391,&HF847, &H60CE ' 987!
                              !dw &HDEB5,&HD724,&H93E1,&HEF8C, &H60D8 ' 988!
                              !dw &H5C18,&HDF0A,&H85D3,&HE75C, &H60E2 ' 989!
                              !dw &H840A,&H5622,&HF362,&HDFAD, &H60EC ' 990!
                              !dw &HE748,&H6ADB,&H984A,&HD878, &H60F6 ' 991!
                              !dw &H080E,&H1785,&HD388,&HD1B4, &H6100 ' 992!
                              !dw &HC110,&HB8CE,&H9A20,&HCB5B, &H610A ' 993!
                              !dw &HB268,&HC364,&H6B1C,&HC566, &H6114 ' 994!
                              !dw &H185A,&H32DC,&H4494,&HBFCF, &H611E ' 995!
                              !dw &H13B0,&H2578,&H99B4,&HBA90, &H6128 ' 996!
                              !dw &H292B,&HA57B,&H49A6,&HB5A5, &H6132 ' 997!
                              !dw &H889F,&HEA47,&H9747,&HB108, &H613C ' 998!
                              !dw &H4989,&H68CF,&H2196,&HACB6, &H6146 ' 999!
                              !dw &H6DD0,&HE25A,&HDCCC,&HA8A9, &H6150 ' 1000!
                              !dw &HE5D9,&H4844,&H0C17,&HA4E0, &H615A ' 1001!
                              !dw &H6AE9,&HC837,&H3BD4,&HA155, &H6164 ' 1002!
                              !dw &H47F7,&HAB1C,&H3C5A,&H9E06, &H616E ' 1003!
                              !dw &HBA90,&HE5C4,&H1D2C,&H9AF0, &H6178 ' 1004!
                              !dw &H5419,&H5081,&H28A2,&H9810, &H6182 ' 1005!
                              !dw &H0E1F,&H7617,&HDFEB,&H9563, &H618C ' 1006!
                              !dw &H2C23,&HCD61,&HF773,&H92E8, &H6196 ' 1007!
                              !dw &HA772,&HFE2B,&H5395,&H909D, &H61A0 ' 1008!
                              !dw &H83BE,&H8BB2,&H059C,&H8E7F, &H61AA ' 1009!
                              !dw &H92F1,&HE7C9,&H4908,&H8C8C, &H61B4 ' 1010!
                              !dw &H43D4,&H8AD8,&H811B,&H8AC3, &H61BE ' 1011!
                              !dw &HBB08,&H3837,&H3698,&H8923, &H61C8 ' 1012!
                              !dw &H21C6,&H159D,&H15C2,&H87AA, &H61D2 ' 1013!
                              !dw &H18F2,&HB067,&HEC8B,&H8656, &H61DC ' 1014!
                              !dw &H30F9,&H761A,&HA8F7,&H8528, &H61E6 ' 1015!
                              !dw &HFC97,&H872D,&H57A5,&H841E, &H61F0 ' 1016!
                              !dw &H6C1D,&H2581,&H228C,&H8337, &H61FA ' 1017!
                              !dw &H29FB,&H5349,&H4FD8,&H8272, &H6204 ' 1018!
                              !dw &H0E87,&H84E1,&H40F4,&H81CF, &H620E ' 1019!
                              !dw &H2D78,&H905C,&H71B3,&H814D, &H6218 ' 1020!
                              !dw &HE856,&H49AF,&H779E,&H80EC, &H6222 ' 1021!
                              !dw &H1062,&H7A8B,&H0162,&H80AC, &H622C ' 1022!
                              !dw &H6D9E,&H21EC,&HD662,&H808B, &H6236 ' 1023!
                              !dw &H6D9E,&H21EC,&HD662,&H808B, &H6240 ' 1024!
                              !dw &HE8B9,&HBA74,&HF957,&H80AB, &H624A ' 1025!
                              !dw &H232E,&H6652,&H4F54,&H80EC, &H6254 ' 1026!
                              !dw &HE0C8,&HE59E,&H008F,&H814D, &H625E ' 1027!
                              !dw &H7FA9,&H7584,&H4D90,&H81CE, &H6268 ' 1028!
                              !dw &H6548,&H6A17,&H8F71,&H8270, &H6272 ' 1029!
                              !dw &H8860,&H9436,&H3848,&H8334, &H627C ' 1030!
                              !dw &HE7CF,&H1339,&HD3AB,&H8419, &H6286 ' 1031!
                              !dw &H5B9F,&H6960,&H0752,&H8522, &H6290 ' 1032!
                              !dw &H746D,&HE2CD,&H93E2,&H864D, &H629A ' 1033!
                              !dw &H7610,&H9A04,&H55D4,&H879D, &H62A4 ' 1034!
                              !dw &H0254,&HA2AC,&H4680,&H8912, &H62AE ' 1035!
                              !dw &H065B,&H2494,&H7D54,&H8AAD, &H62B8 ' 1036!
                              !dw &HE770,&H760A,&H312B,&H8C70, &H62C2 ' 1037!
                              !dw &H0D9A,&H8E28,&HB9D7,&H8E5B, &H62CC ' 1038!
                              !dw &H23CD,&H767D,&H91D0,&H9071, &H62D6 ' 1039!
                              !dw &H185C,&HB857,&H5817,&H92B3, &H62E0 ' 1040!
                              !dw &H8A84,&H1D26,&HD24E,&H9522, &H62EA ' 1041!
                              !dw &HB7F3,&H7CA9,&HEF00,&H97C1, &H62F4 ' 1042!
                              !dw &HDE1D,&HBEF9,&HC82F,&H9A92, &H62FE ' 1043!
                              !dw &HBF74,&HADB4,&HA618,&H9D97, &H6308 ' 1044!
                              !dw &HB461,&HAF44,&H0240,&HA0D3, &H6312 ' 1045!
                              !dw &HAE41,&H1308,&H8ACD,&HA447, &H631C ' 1046!
                              !dw &H202B,&H2E36,&H262B,&HA7F8, &H6326 ' 1047!
                              !dw &H64EC,&H314B,&HF710,&HABE7, &H6330 ' 1048!
                              !dw &H7C22,&H567F,&H60D8,&HB01A, &H633A ' 1049!
                              !dw &HB8C9,&HD4B1,&H0C4D,&HB493, &H6344 ' 1050!
                              !dw &H6869,&HE20D,&HECE0,&HB955, &H634E ' 1051!
                              !dw &HC643,&H083B,&H465B,&HBE67, &H6358 ' 1052!
                              !dw &H77A1,&H1C37,&HB319,&HC3CB, &H6362 ' 1053!
                              !dw &H17A2,&H588B,&H2AD8,&HC988, &H636C ' 1054!
                              !dw &H4D99,&H6539,&H0A24,&HCFA2, &H6376 ' 1055!
                              !dw &H1806,&H8863,&H1A75,&HD61F, &H6380 ' 1056!
                              !dw &H498C,&HD208,&H9B0F,&HDD05, &H638A ' 1057!
                              !dw &H8FFD,&HD881,&H4AB5,&HE45C, &H6394 ' 1058!
                              !dw &HFDA9,&H8FA7,&H7243,&HEC2A, &H639E ' 1059!
                              !dw &HE594,&HEFB4,&HF047,&HF477, &H63A8 ' 1060!
                              !dw &H2EE0,&H891E,&H45B6,&HFD4D, &H63B2 ' 1061!
                              !dw &H66CF,&H679A,&HD1E6,&H8359, &H63BD ' 1062!
                              !dw &H8839,&HEE0C,&H7DA4,&H885A, &H63C7 ' 1063!
                              !dw &H058B,&H5F59,&H068D,&H8DAE, &H63D1 ' 1064!
                              !dw &H5604,&H886A,&H3E50,&H935A, &H63DB ' 1065!
                              !dw &HB28B,&HD602,&H71DE,&H9965, &H63E5 ' 1066!
                              !dw &H4F8B,&HF17F,&H7466,&H9FD6, &H63EF ' 1067!
                              !dw &HC7F5,&H5DDF,&HAB67,&HA6B4, &H63F9 ' 1068!
                              !dw &HDD7F,&HA8BF,&H1BEF,&HAE08, &H6403 ' 1069!
                              !dw &H7BF2,&HECD4,&H7930,&HB5D9, &H640D ' 1070!
                              !dw &H3CA3,&HEBB3,&H3480,&HBE32, &H6417 ' 1071!
                              !dw &HA37A,&HF6BF,&H8EF6,&HC71C, &H6421 ' 1072!
                              !dw &H4F0D,&H480E,&HACCE,&HD0A3, &H642B ' 1073!
                              !dw &H01E9,&H5A93,&HAABE,&HDAD3, &H6435 ' 1074!
                              !dw &HD441,&H5595,&HB57F,&HE5B9, &H643F ' 1075!
                              !dw &H7009,&HCCEE,&H23B6,&HF164, &H6449 ' 1076!
                              !dw &HC755,&H0309,&H9290,&HFDE2, &H6453 ' 1077!
                              !dw &H65AC,&H4D99,&H02A5,&H85A3, &H645E ' 1078!
                              !dw &H62E2,&HAE84,&H8409,&H8CD0, &H6468 ' 1079!
                              !dw &HA04A,&H360F,&HEB42,&H9483, &H6472 ' 1080!
                              !dw &HFEF6,&HA591,&H431A,&H9CC8, &H647C ' 1081!
                              !dw &HC3E7,&HA7F2,&H9AE7,&HA5A9, &H6486 ' 1082!
                              !dw &H00B1,&H80E0,&H2094,&HAF35, &H6490 ' 1083!
                              !dw &H20BB,&H346D,&H3D7D,&HB979, &H649A ' 1084!
                              !dw &HA0EF,&HE9CC,&HB666,&HC485, &H64A4 ' 1085!
                              !dw &H84AD,&H24F4,&HCEF2,&HD06B, &H64AE ' 1086!
                              !dw &H8FD7,&H8ABA,&H70ED,&HDD3E, &H64B8 ' 1087!
                              !dw &H38D4,&H6366,&H57FC,&HEB12, &H64C2 ' 1088!
                              !dw &H75F0,&H28B5,&H4212,&HF9FE, &H64CC ' 1089!
                              !dw &H9405,&H2A2A,&H92AA,&H850D, &H64D7 ' 1090!
                              !dw &HDD34,&HCC6C,&H3602,&H8DC2, &H64E1 ' 1091!
                              !dw &H17E5,&HFC00,&H1B98,&H972C, &H64EB ' 1092!
                              !dw &H1981,&H0AFB,&HD475,&HA15B, &H64F5 ' 1093!
                              !dw &H43BF,&H0B3B,&H9B7B,&HAC63, &H64FF ' 1094!
                              !dw &H9FB1,&HD342,&H8382,&HB857, &H6509 ' 1095!
                              !dw &H4EEC,&H061D,&HAAC2,&HC54D, &H6513 ' 1096!
                              !dw &HE5CC,&H5B0C,&H742E,&HD35E, &H651D ' 1097!
                              !dw &H5467,&HB4A1,&HC793,&HE2A4, &H6527 ' 1098!
                              !dw &H2556,&HC61C,&H5931,&HF33E, &H6531 ' 1099!
                              !dw &H1E0E,&H3BE8,&HFCE8,&H82A5, &H653C ' 1100!
                              !dw &H5250,&HB269,&HF82C,&H8C78, &H6546 ' 1101!
                              !dw &H5815,&H1A00,&H2F14,&H972C, &H6550 ' 1102!
                              !dw &HDEE1,&HE701,&HD7B5,&HA2D5, &H655A ' 1103!
                              !dw &H044B,&H1D0E,&H8C90,&HAF8E, &H6564 ' 1104!
                              !dw &H6021,&H835A,&H932E,&HBD71, &H656E ' 1105!
                              !dw &H1CD4,&HBCDF,&H2B77,&HCC9D, &H6578 ' 1106!
                              !dw &H326A,&HB16E,&HE8BD,&HDD32, &H6582 ' 1107!
                              !dw &H3C8D,&H40FC,&H15D5,&HEF58, &H658C ' 1108!
                              !dw &H964A,&H9A50,&H12D2,&H819B, &H6597 ' 1109!
                              !dw &H5AE9,&H4A46,&H98E7,&H8C7D, &H65A1 ' 1110!
                              !dw &HD522,&HF0D5,&H44A4,&H986D, &H65AB ' 1111!
                              !dw &H3573,&H1D88,&HA88B,&HA586, &H65B5 ' 1112!
                              !dw &H4C19,&H34D9,&H9CB1,&HB3E9, &H65BF ' 1113!
                              !dw &H6549,&HC7FE,&HA4F6,&HC3B9, &H65C9 ' 1114!
                              !dw &H40C9,&HB644,&H645F,&HD51E, &H65D3 ' 1115!
                              !dw &H629B,&H4FA4,&H1F64,&HE844, &H65DD ' 1116!
                              !dw &H1090,&H2BE0,&H4F3E,&HFD5C, &H65E7 ' 1117!
                              !dw &H910A,&H3073,&H2442,&H8A4F, &H65F2 ' 1118!
                              !dw &H49BF,&H5472,&HFBDF,&H9723, &H65FC ' 1119!
                              !dw &H00A9,&H445D,&H5B7C,&HA54F, &H6606 ' 1120!
                              !dw &HCFF9,&HC9D6,&H1FE6,&HB4F8, &H6610 ' 1121!
                              !dw &HDEE0,&H6027,&HDEF4,&HC649, &H661A ' 1122!
                              !dw &HB9AD,&H8073,&H8342,&HD975, &H6624 ' 1123!
                              !dw &H06CF,&HFEFF,&HFD13,&HEEB1, &H662E ' 1124!
                              !dw &HD71D,&H1BF2,&H85A5,&H831E, &H6639 ' 1125!
                              !dw &H878B,&H0E3B,&H0FF5,&H902E, &H6643 ' 1126!
                              !dw &H046D,&HF46A,&HB20F,&H9EAE, &H664D ' 1127!
                              !dw &HC8E0,&H933C,&H7025,&HAECC, &H6657 ' 1128!
                              !dw &HC479,&H6D95,&HE6A5,&HC0B8, &H6661 ' 1129!
                              !dw &HC54F,&H8D6D,&H0A85,&HD4AC, &H666B ' 1130!
                              !dw &HFDAD,&H01F4,&H049F,&HEAE5, &H6675 ' 1131!
                              !dw &HEA37,&HE394,&H960D,&H81D5, &H6680 ' 1132!
                              !dw &H8426,&HDE0E,&H9246,&H8FA7, &H668A ' 1133!
                              !dw &H1358,&H7AE9,&H127D,&H9F16, &H6694 ' 1134!
                              !dw &HD730,&H94FB,&HB6FE,&HB054, &H669E ' 1135!
                              !dw &H62BA,&H6D47,&HFB02,&HC39D, &H66A8 ' 1136!
                              !dw &H835F,&H71D6,&H29F5,&HD934, &H66B2 ' 1137!
                              !dw &HE4FF,&H4502,&H78A1,&HF162, &H66BC ' 1138!
                              !dw &H7C1B,&HB0C1,&H23D6,&H863F, &H66C7 ' 1139!
                              !dw &H672A,&H02C7,&H4AE6,&H9574, &H66D1 ' 1140!
                              !dw &HAFB4,&HCA98,&HD474,&HA687, &H66DB ' 1141!
                              !dw &H47F3,&H3FF1,&H7B70,&HB9B8, &H66E5 ' 1142!
                              !dw &H9210,&H8B5F,&HABC8,&HCF4D, &H66EF ' 1143!
                              !dw &HC52D,&H0BB4,&HC5EA,&HE798, &H66F9 ' 1144!
                              !dw &H70BD,&H79CB,&H49A6,&H817B, &H6704 ' 1145!
                              !dw &H2DAC,&HCF4E,&H79EC,&H90E8, &H670E ' 1146!
                              !dw &HD1A8,&H0134,&H6692,&HA250, &H6718 ' 1147!
                              !dw &H370B,&HAF5A,&H22FD,&HB5F8, &H6722 ' 1148!
                              !dw &HFA43,&H2701,&HAD43,&HCC2E, &H672C ' 1149!
                              !dw &HB88F,&HEA4E,&H6B94,&HE54E, &H6736 ' 1150!
                              !dw &HFDF9,&H512E,&H72B6,&H80DF, &H6741 ' 1151!
                              !dw &HDDB8,&H1B54,&H610D,&H90FB, &H674B ' 1152!
                              !dw &H4EA7,&H0206,&H0C07,&HA33F, &H6755 ' 1153!
                              !dw &H1BA3,&HE5C8,&H8D0D,&HB7F8, &H675F ' 1154!
                              !dw &H752C,&H6CED,&H9919,&HCF81, &H6769 ' 1155!
                              !dw &H1147,&HB3F8,&H4DD5,&HEA41, &H6773 ' 1156!
                              !dw &H04C3,&HDACC,&H2498,&H8457, &H677E ' 1157!
                              !dw &HB762,&HDB6D,&H8BE2,&H95A8, &H6788 ' 1158!
                              !dw &H6E4F,&H03DB,&H8454,&HA963, &H6792 ' 1159!
                              !dw &H92F6,&H2C5E,&HBBE7,&HBFE2, &H679C ' 1160!
                              !dw &H3A1F,&HDA0E,&HD18A,&HD98E, &H67A6 ' 1161!
                              !dw &H24F4,&H1071,&H90C8,&HF6E0, &H67B0 ' 1162!
                              !dw &H405C,&H9C56,&HC637,&H8C31, &H67BB ' 1163!
                              !dw &H0B29,&H36B6,&H9451,&H9F5C, &H67C5 ' 1164!
                              !dw &H9C32,&H657E,&H13BD,&HB54E, &H67CF ' 1165!
                              !dw &HAADB,&H2911,&H677A,&HCE72, &H67D9 ' 1166!
                              !dw &HE277,&H784D,&HE16D,&HEB46, &H67E3 ' 1167!
                              !dw &H6B28,&H6E9C,&H6C90,&H862E, &H67EE ' 1168!
                              !dw &H1154,&HE246,&H7F6F,&H992E, &H67F8 ' 1169!
                              !dw &H0ECD,&H5609,&HA09B,&HAF05, &H6802 ' 1170!
                              !dw &HDBAD,&HA2A2,&HAF69,&HC825, &H680C ' 1171!
                              !dw &H656D,&HE724,&H21C3,&HE513, &H6816 ' 1172!
                              !dw &H3898,&HD443,&H1536,&H8334, &H6821 ' 1173!
                              !dw &H1162,&H5C5B,&H3652,&H966C, &H682B ' 1174!
                              !dw &H7F32,&H0179,&HAB55,&HAC9A, &H6835 ' 1175!
                              !dw &H8813,&H9FB1,&HA0C3,&HC639, &H683F ' 1176!
                              !dw &HCEA8,&HDA4D,&HBD08,&HE3D7, &H6849 ' 1177!
                              !dw &H411E,&H5791,&HD77B,&H830D, &H6854 ' 1178!
                              !dw &H7DBA,&H4312,&H2FD9,&H96E4, &H685E ' 1179!
                              !dw &H4EE1,&H5C4A,&HF323,&HADE0, &H6868 ' 1180!
                              !dw &HB379,&H8830,&HB06A,&HC889, &H6872 ' 1181!
                              !dw &H372A,&HF834,&HEF22,&HE77A, &H687C ' 1182!
                              !dw &H295D,&H531F,&H22E2,&H85B6, &H6887 ' 1183!
                              !dw &H07D4,&HB01C,&H9855,&H9A9A, &H6891 ' 1184!
                              !dw &H700F,&H290C,&H66C9,&HB2E9, &H689B ' 1185!
                              !dw &HE7C9,&HFC0A,&H538B,&HCF37, &H68A5 ' 1186!
                              !dw &HA42F,&H8469,&H6218,&HF033, &H68AF ' 1187!
                              !dw &H47BD,&H38CF,&HCE67,&H8B55, &H68BA ' 1188!
                              !dw &HAE0C,&H5AB6,&H61E9,&HA1C9, &H68C4 ' 1189!
                              !dw &H4B43,&HAEEB,&H8748,&HBC03, &H68CE ' 1190!
                              !dw &H2ACA,&HC972,&H1A98,&HDAAD, &H68D8 ' 1191!
                              !dw &HE5CF,&HDA7E,&H80F5,&HFE8D, &H68E2 ' 1192!
                              !dw &H2B9E,&H36E7,&H2DBF,&H9448, &H68ED ' 1193!
                              !dw &H8C5C,&H7584,&H2957,&HACE6, &H68F7 ' 1194!
                              !dw &H6ECC,&HD064,&H98BE,&HC9C5, &H6901 ' 1195!
                              !dw &H4D68,&HDD65,&HC966,&HEBA9, &H690B ' 1196!
                              !dw &H555E,&HBF26,&H1C56,&H89BD, &H6916 ' 1197!
                              !dw &H58E0,&H7CA1,&HBEA7,&HA124, &H6920 ' 1198!
                              !dw &HEBD0,&H9C2D,&HC63C,&HBCAE, &H692A ' 1199!
                              !dw &HD057,&H0705,&HD04F,&HDD1C, &H6934 ' 1200!
                              !dw &H48CD,&H57FE,&H85A8,&H81AA, &H693F ' 1201!
                              !dw &HFC75,&H1B49,&HA9E4,&H9834, &H6949 ' 1202!
                              !dw &H2B56,&HBB0F,&HDE96,&HB2CF, &H6953 ' 1203!
                              !dw &HD5F5,&H39F0,&H68B7,&HD23E, &H695D ' 1204!
                              !dw &HA7C6,&H9CEE,&HF0B9,&HF767, &H6967 ' 1205!
                              !dw &H894C,&H4D29,&H7501,&H91B0, &H6972 ' 1206!
                              !dw &HB595,&H48B3,&HBDEA,&HABB9, &H697C ' 1207!
                              !dw &H0036,&H61C4,&H1E0A,&HCA95, &H6986 ' 1208!
                              !dw &HA940,&HC1ED,&H8EB7,&HEF2E, &H6990 ' 1209!
                              !dw &HAA3F,&H1153,&H41D2,&H8D50, &H699B ' 1210!
                              !dw &HB196,&H2DFD,&HA9D7,&HA71E, &H69A5 ' 1211!
                              !dw &H4530,&HAF6F,&H4B05,&HC5CD, &H69AF ' 1212!
                              !dw &H8EB6,&H7C10,&H6F1E,&HEA4F, &H69B9 ' 1213!
                              !dw &HD098,&H520A,&H961E,&H8AE4, &H69C4 ' 1214!
                              !dw &H5501,&H79D8,&HB91E,&HA4CC, &H69CE ' 1215!
                              !dw &HE4F1,&H30B0,&H1BD4,&HC3B3, &H69D8 ' 1216!
                              !dw &H3C17,&HEEDE,&H9DD2,&HE895, &H69E2 ' 1217!
                              !dw &HAB3D,&HB28F,&HFB1C,&H8A52, &H69ED ' 1218!
                              !dw &H8719,&H6990,&H486E,&HA4AA, &H69F7 ' 1219!
                              !dw &H30F4,&H8BC5,&HE04B,&HC42E, &H6A01 ' 1220!
                              !dw &HE09F,&H1468,&HE4F2,&HE9EC, &H6A0B ' 1221!
                              !dw &H9407,&H71AD,&H199B,&H8B94, &H6A16 ' 1222!
                              !dw &H0F8B,&H6705,&H2195,&HA6B4, &H6A20 ' 1223!
                              !dw &H0C95,&H9524,&H5024,&HC743, &H6A2A ' 1224!
                              !dw &H600D,&HC36A,&H469F,&HEE60, &H6A34 ' 1225!
                              !dw &H6E00,&H23BB,&H2247,&H8EB3, &H6A3F ' 1226!
                              !dw &HD60E,&HBE10,&H2552,&HAAFD, &H6A49 ' 1227!
                              !dw &H30B3,&H39EE,&H93C2,&HCD0D, &H6A53 ' 1228!
                              !dw &H1FF3,&HDC07,&H8B96,&HF61A, &H6A5D ' 1229!
                              !dw &H4770,&HDAA5,&H7155,&H93CE, &H6A68 ' 1230!
                              !dw &H30A1,&HF598,&H6CBE,&HB1AF, &H6A72 ' 1231!
                              !dw &H1A82,&HBF7B,&H0ED5,&HD5C7, &H6A7C ' 1232!
                              !dw &HFD55,&H6FE7,&H77CE,&H80B4, &H6A87 ' 1233!
                              !dw &H10C9,&H45DB,&H7A60,&H9B19, &H6A91 ' 1234!
                              !dw &HF47F,&H9C3F,&HFA57,&HBB0E, &H6A9B ' 1235!
                              !dw &H321D,&HBF99,&H142B,&HE1C9, &H6AA5 ' 1236!
                              !dw &HE7E5,&HEC99,&H13CE,&H8860, &H6AB0 ' 1237!
                              !dw &H11DB,&HAB0C,&H27F2,&HA4E0, &H6ABA ' 1238!
                              !dw &HDA9B,&HDE75,&H3855,&HC77E, &H6AC4 ' 1239!
                              !dw &HB6B7,&HFB62,&HD837,&HF192, &H6ACE ' 1240!
                              !dw &H30F8,&HEC34,&H1B44,&H9262, &H6AD9 ' 1241!
                              !dw &H4D65,&H187D,&HFE13,&HB18B, &H6AE3 ' 1242!
                              !dw &H19B2,&HADFA,&HAEA9,&HD784, &H6AED ' 1243!
                              !dw &H6A9C,&H112D,&H1818,&H82E9, &H6AF8 ' 1244!
                              !dw &H77DE,&H42E2,&HE68B,&H9F29, &H6B02 ' 1245!
                              !dw &H90DA,&H73E2,&H7C06,&HC1AB, &H6B0C ' 1246!
                              !dw &H27E6,&HDB9F,&H9448,&HEBD8, &H6B16 ' 1247!
                              !dw &HFC50,&H65D4,&HFA5C,&H8FB7, &H6B21 ' 1248!
                              !dw &H08C1,&H3335,&H271F,&HAF4C, &H6B2B ' 1249!
                              !dw &H3D2F,&H9602,&H75C1,&HD5FC, &H6B35 ' 1250!
                              !dw &H9E20,&H2001,&H166E,&H82B6, &H6B40 ' 1251!
                              !dw &HFA55,&HA521,&HA16C,&H9FD0, &H6B4A ' 1252!
                              !dw &HD390,&H310F,&H0986,&HC38E, &H6B54 ' 1253!
                              !dw &HE195,&HD514,&H70A9,&HEF7A, &H6B5E ' 1254!
                              !dw &H2BBC,&H1273,&H27CA,&H92C0, &H6B69 ' 1255!
                              !dw &H43A5,&HDAA1,&HB0CD,&HB3FF, &H6B73 ' 1256!
                              !dw &H7549,&HB1A0,&H9EC8,&HDCF4, &H6B7D ' 1257!
                              !dw &HD00B,&HC71B,&H4288,&H87B9, &H6B88 ' 1258!
                              !dw &H720A,&HAACD,&H068D,&HA6DF, &H6B92 ' 1259!
                              !dw &HCB52,&H512A,&H6D10,&HCD54, &H6B9C ' 1260!
                              !dw &HF2E1,&H57F3,&H374E,&HFCDA, &H6BA6 ' 1261!
                              !dw &H92EA,&H86B2,&H7794,&H9BCF, &H6BB1 ' 1262!
                              !dw &HC0B4,&H7122,&H23BD,&HC02D, &H6BBB ' 1263!
                              !dw &HE5DE,&HD7A6,&HB81D,&HED37, &H6BC5 ' 1264!
                              !dw &HF6BC,&H6ED3,&H0A99,&H9286, &H6BD0 ' 1265!
                              !dw &H0E8B,&HB185,&HB81A,&HB526, &H6BDA ' 1266!
                              !dw &H61BF,&H0725,&HA84B,&HE023, &H6BE4 ' 1267!
                              !dw &HA505,&H73EC,&H13B2,&H8AC6, &H6BEF ' 1268!
                              !dw &H0380,&HE629,&HF7E8,&HABF9, &H6BF9 ' 1269!
                              !dw &HDDD7,&H5973,&H84F7,&HD54A, &H6C03 ' 1270!
                              !dw &HC84D,&H01A3,&H9F45,&H845E, &H6C0E ' 1271!
                              !dw &H72D0,&HB809,&H89D7,&HA46D, &H6C18 ' 1272!
                              !dw &HBEFB,&H6C89,&H2C9C,&HCC69, &H6C22 ' 1273!
                              !dw &H601B,&H9D09,&HDA00,&HFE50, &H6C2C ' 1274!
                              !dw &HB635,&H21C3,&H95B8,&H9E53, &H6C37 ' 1275!
                              !dw &HE00C,&H7212,&H2790,&HC54A, &H6C41 ' 1276!
                              !dw &H09E6,&HE242,&HB9D6,&HF608, &H6C4B ' 1277!
                              !dw &HB5AE,&HD7B0,&HF1F7,&H9987, &H6C56 ' 1278!
                              !dw &HF6EC,&H4FA6,&H8C79,&HBFC3, &H6C60 ' 1279!
                              !dw &HB4A6,&HA390,&H6F97,&HEFB4, &H6C6A ' 1280!
                              !dw &HE2FF,&HB92E,&HBC4C,&H95EE, &H6C75 ' 1281!
                              !dw &H3330,&H0DD7,&H62BE,&HBBB5, &H6C7F ' 1282!
                              !dw &H6162,&H9FD7,&H8377,&HEB2F, &H6C89 ' 1283!
                              !dw &H888E,&H7FB6,&H49EC,&H9373, &H6C94 ' 1284!
                              !dw &HCEDC,&H0743,&H6C84,&HB908, &H6C9E ' 1285!
                              !dw &HA849,&HCF1F,&H1447,&HE860, &H6CA8 ' 1286!
                              !dw &H04E1,&HA049,&H60BE,&H9207, &H6CB3 ' 1287!
                              !dw &HD823,&HC59B,&H47AF,&HB7AD, &H6CBD ' 1288!
                              !dw &H6CD2,&H027F,&HDF7D,&HE735, &H6CC7 ' 1289!
                              !dw &HC34C,&H7DD2,&HAF05,&H91A2, &H6CD2 ' 1290!
                              !dw &H77B7,&H2C61,&HDA28,&HB79B, &H6CDC ' 1291!
                              !dw &HFA0C,&HAFFE,&HA440,&HE7A9, &H6CE6 ' 1292!
                              !dw &H5A9E,&H571D,&H7A53,&H9242, &H6CF1 ' 1293!
                              !dw &H9803,&H5095,&H0194,&HB8D3, &H6CFB ' 1294!
                              !dw &H2EFE,&H50E9,&HD93F,&HE9BC, &H6D05 ' 1295!
                              !dw &H8FBC,&H1133,&H817A,&H93E9, &H6D10 ' 1296!
                              !dw &H8ECE,&HDC49,&H823E,&HBB58, &H6D1A ' 1297!
                              !dw &H3D85,&HAE3B,&HB118,&HED79, &H6D24 ' 1298!
                              !dw &HD325,&H0782,&H0FB4,&H96A0, &H6D2F ' 1299!
                              !dw &H160E,&H8D89,&H33EF,&HBF39, &H6D39 ' 1300!
                              !dw &H6B45,&H1A92,&H6D3C,&HF2F3, &H6D43 ' 1301!
                              !dw &H95B2,&HF5E4,&H41B1,&H9A74, &H6D4E ' 1302!
                              !dw &H9D7C,&H32A3,&H6E98,&HC489, &H6D58 ' 1303!
                              !dw &H5A8B,&HD07C,&H02D5,&HFA47, &H6D62 ' 1304!
                              !dw &H3D32,&H7E79,&H7FAE,&H9F7A, &H6D6D ' 1305!
                              !dw &HA08C,&H0C4D,&HBBD8,&HCB65, &H6D77 ' 1306!
                              !dw &H0A56,&H00DA,&H0CC1,&H81CE, &H6D82 ' 1307!
                              !dw &H8333,&H8816,&H324A,&HA5CE, &H6D8C ' 1308!
                              !dw &HC737,&HC676,&HD5C9,&HD3F3, &H6D96 ' 1309!
                              !dw &H79EE,&HD0B2,&H37FF,&H8793, &H6DA1 ' 1310!
                              !dw &H7F9A,&HC370,&HBAF1,&HAD92, &H6DAB ' 1311!
                              !dw &H237D,&HC268,&HFF85,&HDE63, &H6DB5 ' 1312!
                              !dw &H03C1,&HA143,&HDC31,&H8E93, &H6DC0 ' 1313!
                              !dw &H7E51,&HAF6E,&HBC0D,&HB6F4, &H6DCA ' 1314!
                              !dw &H24B6,&H9309,&HC87E,&HEAF2, &H6DD4 ' 1315!
                              !dw &H6017,&H557B,&H01D5,&H96F9, &H6DDF ' 1316!
                              !dw &HED56,&HA030,&HC19B,&HC22B, &H6DE9 ' 1317!
                              !dw &HF97A,&HCEAE,&H51B1,&HF9EB, &H6DF3 ' 1318!
                              !dw &HF0EC,&H63FC,&H6E3D,&HA0F5, &H6DFE ' 1319!
                              !dw &H0E91,&H22E4,&H601B,&HCF7C, &H6E08 ' 1320!
                              !dw &H59E5,&H80E1,&H197D,&H85D5, &H6E13 ' 1321!
                              !dw &HEE8E,&H86E2,&H9D68,&HACC7, &H6E1D ' 1322!
                              !dw &HB1B6,&HCC45,&HE69E,&HDF3A, &H6E27 ' 1323!
                              !dw &H0E63,&HA90F,&H9417,&H9050, &H6E32 ' 1324!
                              !dw &HBB5E,&H9D80,&H439F,&HBABC, &H6E3C ' 1325!
                              !dw &H32A0,&H3074,&HC991,&HF1CE, &H6E46 ' 1326!
                              !dw &H4A4E,&HF345,&HDCDA,&H9CAD, &H6E51 ' 1327!
                              !dw &HDC5D,&HF37D,&H7A6B,&HCB31, &H6E5B ' 1328!
                              !dw &H0CA0,&H4D62,&H7B91,&H83DB, &H6E66 ' 1329!
                              !dw &HD965,&H3901,&H91FE,&HAB42, &H6E70 ' 1330!
                              !dw &H2752,&H3099,&HC743,&HDE9A, &H6E7A ' 1331!
                              !dw &H9C13,&H331B,&HAA99,&H90C7, &H6E85 ' 1332!
                              !dw &HB0EC,&HEDC7,&HEAD3,&HBC77, &H6E8F ' 1333!
                              !dw &HA4FB,&H1643,&H386B,&HF586, &H6E99 ' 1334!
                              !dw &H582B,&HCE23,&HDE06,&HA00B, &H6EA4 ' 1335!
                              !dw &H1D09,&HE0F2,&H7BAC,&HD0CF, &H6EAE ' 1336!
                              !dw &H0F34,&H3C5A,&H739D,&H8851, &H6EB9 ' 1337!
                              !dw &HACDE,&HF35B,&H6D90,&HB21E, &H6EC3 ' 1338!
                              !dw &H204B,&H4A38,&H49C5,&HE8E9, &H6ECD ' 1339!
                              !dw &HB921,&H960F,&HA3C4,&H9864, &H6ED8 ' 1340!
                              !dw &H1730,&H3184,&HCB77,&HC791, &H6EE2 ' 1341!
                              !dw &H4E32,&H5AB2,&HC913,&H82C5, &H6EED ' 1342!
                              !dw &H5A0E,&H2233,&HE677,&HAB82, &H6EF7 ' 1343!
                              !dw &H6632,&H5CE3,&HCE7C,&HE11B, &H6F01 ' 1344!
                              !dw &HD77E,&H6C80,&H62FB,&H93D6, &H6F0C ' 1345!
                              !dw &H5B41,&H7C1F,&H4D1B,&HC253, &H6F16 ' 1346!
                              !dw &H3F4A,&HE786,&H13AD,&HFF9F, &H6F20 ' 1347!
                              !dw &HDCA8,&HF6E3,&H3473,&HA840, &H6F2B ' 1348!
                              !dw &HAE70,&HC4FF,&H9519,&HDDA6, &H6F35 ' 1349!
                              !dw &H8A3D,&HBC9B,&H8EC8,&H921B, &H6F40 ' 1350!
                              !dw &H35A1,&H56D6,&HDBA1,&HC0C3, &H6F4A ' 1351!
                              !dw &HD2CF,&H04A6,&H97FB,&HFE82, &H6F54 ' 1352!
                              !dw &HB605,&HB572,&H06A7,&HA824, &H6F5F ' 1353!
                              !dw &H2DAE,&HC16C,&HA2CC,&HDE53, &H6F69 ' 1354!
                              !dw &HF2B9,&H3878,&H95D6,&H9318, &H6F74 ' 1355!
                              !dw &H296B,&HACC8,&H8E6A,&HC2C9, &H6F7E ' 1356!
                              !dw &H2071,&H6EBC,&HCCFD,&H8110, &H6F89 ' 1357!
                              !dw &H7D06,&H185A,&HC7DA,&HAB29, &H6F93 ' 1358!
                              !dw &H176D,&HB1D2,&HB2FB,&HE328, &H6F9D ' 1359!
                              !dw &H838E,&H2415,&H06DB,&H96D9, &H6FA8 ' 1360!
                              !dw &H981A,&HC2B5,&HF35C,&HC87D, &H6FB2 ' 1361!
                              !dw &H4467,&H707D,&HC318,&H8555, &H6FBD ' 1362!
                              !dw &HBCCD,&HC7BA,&HE76E,&HB179, &H6FC7 ' 1363!
                              !dw &HBD7D,&H900B,&H6146,&HEC67, &H6FD1 ' 1364!
                              !dw &HD32B,&HA7C1,&H6735,&H9D90, &H6FDC ' 1365!
                              !dw &H0F32,&H1349,&H21AE,&HD230, &H6FE6 ' 1366!
                              !dw &H6405,&H111F,&HE07B,&H8C4B, &H6FF1 ' 1367!
                              !dw &HEF9E,&H68DF,&H5DE4,&HBB6D, &H6FFB ' 1368!
                              !dw &H6219,&H9D35,&HF6C6,&HFA92, &H7005 ' 1369!
                              !dw &HF5DF,&H5CA9,&HCF94,&HA79E, &H7010 ' 1370!
                              !dw &H8DF1,&HE310,&HE06B,&HE06B, &H701A ' 1371!
                              !dw &H9717,&H469D,&H44D8,&H9658, &H7025 ' 1372!
                              !dw &HCCD5,&HFCAE,&HDA4E,&HC995, &H702F ' 1373!
                              !dw &H45EC,&H7E06,&H4936,&H873E, &H703A ' 1374!
                              !dw &HEC64,&HEBB8,&HE2CE,&HB599, &H7044 ' 1375!
                              !dw &H7DA6,&H0CC0,&HC8C6,&HF406, &H704E ' 1376!
                              !dw &HEC7B,&H2952,&H0FBE,&HA413, &H7059 ' 1377!
                              !dw &H173C,&H669C,&HA6AF,&HDCCB, &H7063 ' 1378!
                              !dw &H5A25,&H5AB7,&HA05C,&H94AB, &H706E ' 1379!
                              !dw &H187C,&H7641,&H4B1C,&HC85B, &H7078 ' 1380!
                              !dw &HA522,&H113D,&H8F86,&H871A, &H7083 ' 1381!
                              !dw &HB25E,&H7044,&H58B3,&HB656, &H708D ' 1382!
                              !dw &HC7E6,&H58E0,&H1E4C,&HF643, &H7097 ' 1383!
                              !dw &HE717,&H980F,&H5B79,&HA66B, &H70A2 ' 1384!
                              !dw &H824E,&H35EB,&HB479,&HE116, &H70AC ' 1385!
                              !dw &HA1F0,&H07BD,&H9DA3,&H9854, &H70B7 ' 1386!
                              !dw &H1B17,&H92BC,&H9C84,&HCE54, &H70C1 ' 1387!
                              !dw &H7C5C,&HD972,&H5813,&H8BD6, &H70CC ' 1388!
                              !dw &H8B30,&HECB4,&H7EF8,&HBDAE, &H70D6 ' 1389!
                              !dw &H8978,&H72A7,&H2EAD,&H80BD, &H70E1 ' 1390!
                              !dw &H14FD,&H1C7F,&HFC28,&HAEE0, &H70EB ' 1391!
                              !dw &HC087,&H86BC,&HD6C6,&HEDB9, &H70F5 ' 1392!
                              !dw &H2274,&HC865,&H0735,&HA1B2, &H7100 ' 1393!
                              !dw &HAD67,&HB74D,&HDAD0,&HDC1E, &H710A ' 1394!
                              !dw &H88FD,&HEADB,&H844B,&H95EF, &H7115 ' 1395!
                              !dw &H49C1,&H7F2D,&H875B,&HCC67, &H711F ' 1396!
                              !dw &H446F,&HC9A0,&H1EB4,&H8B6E, &H712A ' 1397!
                              !dw &H4D6E,&HD144,&HD6EB,&HBE5A, &H7134 ' 1398!
                              !dw &H8864,&H5693,&H4D90,&H8208, &H713F ' 1399!
                              !dw &HB479,&H565D,&H5A0B,&HB1C7, &H7149 ' 1400!
                              !dw &HB42B,&H02E9,&HFEF2,&HF33A, &H7153 ' 1401!
                              !dw &H7C96,&H2C7E,&H2307,&HA682, &H715E ' 1402!
                              !dw &H4D33,&H1436,&HCD7E,&HE422, &H7168 ' 1403!
                              !dw &H39ED,&HEEDB,&HDBDF,&H9C65, &H7173 ' 1404!
                              !dw &H4B3A,&H007A,&HC1EF,&HD696, &H717D ' 1405!
                              !dw &HF525,&HD493,&HFFA3,&H9351, &H7188 ' 1406!
                              !dw &H4C16,&H5B56,&HEB01,&HCA6B, &H7192 ' 1407!
                              !dw &H544F,&HEECB,&H3190,&H8B2A, &H719D ' 1408!
                              !dw &H46C1,&HAC93,&HCEB3,&HBF7C, &H71A7 ' 1409!
                              !dw &H6577,&H3390,&HAD4F,&H83D5, &H71B2 ' 1410!
                              !dw &H37CF,&HE24D,&HAE8E,&HB5A8, &H71BC ' 1411!
                              !dw &H79F5,&H060C,&H98B3,&HFA7D, &H71C6 ' 1412!
                              !dw &H5BA5,&H840C,&HE77A,&HACD2, &H71D1 ' 1413!
                              !dw &H108C,&HAD57,&H3AA3,&HEEA5, &H71DB ' 1414!
                              !dw &H878F,&HD663,&H68E3,&HA4E2, &H71E6 ' 1415!
                              !dw &HA173,&H0E75,&H150B,&HE401, &H71F0 ' 1416!
                              !dw &H2355,&H4661,&H3FAF,&H9DC1, &H71FB ' 1417!
                              !dw &H836D,&H36F5,&H1AB0,&HDA74, &H7205 ' 1418!
                              !dw &H5BF0,&HD814,&H31FD,&H975C, &H7210 ' 1419!
                              !dw &H3B7D,&H02A4,&HD953,&HD1E4, &H721A ' 1420!
                              !dw &H33C7,&H38B5,&H694A,&H91A2, &H7225 ' 1421!
                              !dw &HA167,&H91BF,&H0936,&HCA3D, &H722F ' 1422!
                              !dw &H0645,&HCA85,&H28C6,&H8C85, &H723A ' 1423!
                              !dw &HFCB8,&H71A0,&H2CB4,&HC369, &H7244 ' 1424!
                              !dw &H23D8,&H0D90,&H8E3B,&H87F7, &H724F ' 1425!
                              !dw &H39EA,&H3C63,&H3D91,&HBD58, &H7259 ' 1426!
                              !dw &HA37A,&H1273,&H5BE6,&H83EE, &H7264 ' 1427!
                              !dw &H42F9,&HD7BB,&H6627,&HB7FB, &H726E ' 1428!
                              !dw &H099B,&H8CE7,&HCA27,&H805F, &H7279 ' 1429!
                              !dw &HA3EA,&H3B44,&HC4CE,&HB345, &H7283 ' 1430!
                              !dw &H2C11,&H3353,&HBFC7,&HFA86, &H728D ' 1431!
                              !dw &H27D0,&H48E3,&H3818,&HAF2C, &H7298 ' 1432!
                              !dw &HE276,&HFBFF,&HA17F,&HF523, &H72A2 ' 1433!
                              !dw &HEB51,&HDD32,&H32D4,&HABA5, &H72AD ' 1434!
                              !dw &H1B44,&HCCFB,&HC0FB,&HF089, &H72B7 ' 1435!
                              !dw &H119E,&H8E3A,&H96D0,&HA8A8, &H72C2 ' 1436!
                              !dw &HFD3A,&H2B96,&H95A4,&HECAE, &H72CC ' 1437!
                              !dw &H444D,&H059B,&H9592,&HA62F, &H72D7 ' 1438!
                              !dw &HF13B,&HF360,&H5E6F,&HE989, &H72E1 ' 1439!
                              !dw &H299E,&HB720,&H9666,&HA434, &H72EC ' 1440!
                              !dw &H0290,&H0B33,&H00A6,&HE713, &H72F6 ' 1441!
                              !dw &HAA8E,&HE962,&H2134,&HA2B3, &H7301 ' 1442!
                              !dw &HC9D8,&H4FE1,&HED0B,&HE545, &H730B ' 1443!
                              !dw &HB2D1,&H79D2,&HCDA2,&HA1A7, &H7316 ' 1444!
                              !dw &H92D5,&H8668,&H0AED,&HE41E, &H7320 ' 1445!
                              !dw &H55AC,&H34A6,&H3637,&HA110, &H732B ' 1446!
                              !dw &H0B90,&H82A6,&HA89C,&HE398, &H7335 ' 1447!
                              !dw &H662D,&HA85F,&HEF36,&HA0EA, &H7340 ' 1448!
                              !dw &HFE55,&H17C0,&H70FF,&HE3B4, &H734A ' 1449!
                              !dw &H6411,&H9B91,&H8100,&HA137, &H7355 ' 1450!
                              !dw &H448C,&H9C70,&H660B,&HE471, &H735F ' 1451!
                              !dw &H9899,&H3B69,&H65D9,&HA1F6, &H736A ' 1452!
                              !dw &H95C7,&H7D8D,&HE004,&HE5D0, &H7374 ' 1453!
                              !dw &H4516,&H3023,&H0B0B,&HA329, &H737F ' 1454!
                              !dw &H1D6A,&H25A6,&H9171,&HE7D5, &H7389 ' 1455!
                              !dw &H18E9,&H70C4,&HD566,&HA4D1, &H7394 ' 1456!
                              !dw &H0472,&H01F3,&H8FE3,&HEA83, &H739E ' 1457!
                              !dw &H41EA,&H5C23,&H292F,&HA6F4, &H73A9 ' 1458!
                              !dw &H3C2A,&H3A87,&H61AE,&HEDE0, &H73B3 ' 1459!
                              !dw &H6864,&HB4B9,&H75A2,&HA994, &H73BE ' 1460!
                              !dw &H8831,&H6459,&H10D6,&HF1F3, &H73C8 ' 1461!
                              !dw &HE9F9,&H0C22,&H4445,&HACB8, &H73D3 ' 1462!
                              !dw &HE1C8,&HA616,&H4389,&HF6C4, &H73DD ' 1463!
                              !dw &H5B66,&H65BA,&H4C47,&HB066, &H73E8 ' 1464!
                              !dw &HDD42,&H2549,&H5AA1,&HFC5E, &H73F2 ' 1465!
                              !dw &H1FA2,&HD9F1,&H8A5F,&HB4A6, &H73FD ' 1466!
                              !dw &H1808,&H68BD,&HCB5E,&H8166, &H7408 ' 1467!
                              !dw &H1574,&H5827,&H5D8C,&HB982, &H7412 ' 1468!
                              !dw &H08C3,&HCABB,&H2259,&H8510, &H741D ' 1469!
                              !dw &H7F14,&HE687,&HA94F,&HBF04, &H7427 ' 1470!
                              !dw &H9267,&H43B4,&H791C,&H8933, &H7432 ' 1471!
                              !dw &H9274,&HA153,&HFE18,&HC539, &H743C ' 1472!
                              !dw &H3BB6,&H7708,&H55E1,&H8DDA, &H7447 ' 1473!
                              !dw &H59F3,&H0BD7,&HC89F,&HCC30, &H7451 ' 1474!
                              !dw &H3968,&H8C27,&HA27D,&H930F, &H745C ' 1475!
                              !dw &H89BF,&HF704,&H8936,&HD3F9, &H7466 ' 1476!
                              !dw &HA5D8,&H43E5,&HD695,&H98DF, &H7471 ' 1477!
                              !dw &HF6DF,&H717F,&H1438,&HDCA7, &H747B ' 1478!
                              !dw &H4968,&H42F7,&H28BA,&H9F59, &H7486 ' 1479!
                              !dw &H6818,&H34C9,&HDCDD,&HE64E, &H7490 ' 1480!
                              !dw &H2567,&H76CC,&HC777,&HA68B, &H749B ' 1481!
                              !dw &H7421,&H656E,&H4C2E,&HF109, &H74A5 ' 1482!
                              !dw &HDB57,&H18B2,&H1B8A,&HAE8A, &H74B0 ' 1483!
                              !dw &H33E0,&H21CB,&H25E9,&HFCF2, &H74BA ' 1484!
                              !dw &HF77D,&H2B20,&H14BD,&HB769, &H74C5 ' 1485!
                              !dw &H2B93,&H420B,&H7ECC,&H8514, &H74D0 ' 1486!
                              !dw &HB887,&H1CE7,&H8321,&HC140, &H74DA ' 1487!
                              !dw &H5C12,&H0F00,&HDF46,&H8C68, &H74E5 ' 1488!
                              !dw &H45E1,&H9F50,&H7EA9,&HCC2B, &H74EF ' 1489!
                              !dw &H26D7,&HE828,&HA4E6,&H948A, &H74FA ' 1490!
                              !dw &H768D,&H3688,&HDF9B,&HD848, &H7504 ' 1491!
                              !dw &H6A5E,&H933A,&H16E6,&H9D91, &H750F ' 1492!
                              !dw &HEB96,&HAE28,&HCAA3,&HE5BB, &H7519 ' 1493!
                              !dw &H59DB,&HE74C,&HBE12,&HA796, &H7524 ' 1494!
                              !dw &HB830,&H192F,&H5400,&HF4AC, &H752E ' 1495!
                              !dw &HDB8B,&H1265,&HE15C,&HB2B9, &H7539 ' 1496!
                              !dw &HB41A,&H6CF2,&H1EDA,&H82A4, &H7544 ' 1497!
                              !dw &H0C78,&H8861,&H1722,&HBF1D, &H754E ' 1498!
                              !dw &H0880,&HE692,&HEACE,&H8BE1, &H7559 ' 1499!
                              !dw &HEA74,&H13BF,&HEEF5,&HCCE7, &H7563 ' 1500!
                              !dw &H8835,&H5E99,&H7C82,&H962D, &H756E ' 1501!
                              !dw &H334A,&H39C2,&HB821,&HDC47, &H7578 ' 1502!
                              !dw &H6564,&H6243,&H2241,&HA1A9, &H7583 ' 1503!
                              !dw &HFCEB,&H0852,&H6A50,&HED70, &H758D ' 1504!
                              !dw &HFC1C,&H101D,&H3C20,&HAE7C, &H7598 ' 1505!
                              !dw &H0CA4,&H93DA,&HDB36,&H804E, &H75A3 ' 1506!
                              !dw &H261A,&H9217,&H0D1C,&HBCD4, &H75AD ' 1507!
                              !dw &H0B8E,&H8992,&H23A7,&H8B0A, &H75B8 ' 1508!
                              !dw &H7787,&HA37A,&HB10A,&HCCE4, &H75C2 ' 1509!
                              !dw &H8BA1,&H9808,&H9D88,&H9711, &H75CD ' 1510!
                              !dw &H9C09,&H4E56,&H3E34,&HDEEA, &H75D7 ' 1511!
                              !dw &HF132,&H9DD5,&HEFEC,&HA492, &H75E2 ' 1512!
                              !dw &H5BA1,&H5C35,&H1AFF,&HF32A, &H75EC ' 1513!
                              !dw &H71FD,&H46EA,&HE075,&HB3C2, &H75F7 ' 1514!
                              !dw &HAE12,&HC155,&H48CA,&H84FA, &H7602 ' 1515!
                              !dw &HD8B5,&H2C39,&H89C4,&HC4DE, &H760C ' 1516!
                              !dw &H5925,&HEF42,&H56CB,&H91D3, &H7617 ' 1517!
                              !dw &HDB26,&H512E,&HCB2B,&HD82C, &H7621 ' 1518!
                              !dw &HA0CB,&HC0D6,&H3930,&HA056, &H762C ' 1519!
                              !dw &H96AE,&H5E3E,&HFCE4,&HEDFF, &H7636 ' 1520!
                              !dw &H3BA8,&H1A7E,&HBDB1,&HB0C1, &H7641 ' 1521!
                              !dw &H4FD5,&HDDF0,&HFB38,&H835B, &H764C ' 1522!
                              !dw &H2ABD,&HD417,&H0DE4,&HC35F, &H7656 ' 1523!
                              !dw &H3D4D,&HC7D3,&H3BD6,&H9162, &H7661 ' 1524!
                              !dw &H570B,&H9D17,&H8B9D,&HD883, &H766B ' 1525!
                              !dw &H241C,&HB0CD,&H0447,&HA154, &H7676 ' 1526!
                              !dw &HE898,&HE7E5,&H0961,&HF093, &H7680 ' 1527!
                              !dw &H888A,&H0C04,&HB400,&HB37D, &H768B ' 1528!
                              !dw &HE270,&H88F8,&H3902,&H8601, &H7696 ' 1529!
                              !dw &HDE54,&H49A7,&HD3AE,&HC838, &H76A0 ' 1530!
                              !dw &HDDD4,&H6A4F,&H7B3E,&H95AD, &H76AB ' 1531!
                              !dw &H7CE0,&H610D,&H8B62,&HDFEE, &H76B5 ' 1532!
                              !dw &HB899,&H83E5,&HEF15,&HA79E, &H76C0 ' 1533!
                              !dw &HA20A,&HBB16,&H9728,&HFB1A, &H76CA ' 1534!
                              !dw &H96B3,&HA739,&H8E0B,&HBC34, &H76D5 ' 1535!
                              !dw &H3106,&HBD6B,&H6A88,&H8D27, &H76E0 ' 1536!
                              !dw &H2456,&HBE50,&H69A7,&HD3DE, &H76EA ' 1537!
                              !dw &HAF49,&H38AB,&HC6D8,&H9F1B, &H76F5 ' 1538!
                              !dw &H07B2,&H772C,&HFF19,&HEF20, &H76FF ' 1539!
                              !dw &H9BC9,&HA61C,&H4FD2,&HB3D0, &H770A ' 1540!
                              !dw &H46B8,&HE03D,&H9E0F,&H874C, &H7715 ' 1541!
                              !dw &H45FE,&HE82C,&HE004,&HCBBD, &H771F ' 1542!
                              !dw &H5B3C,&HB26C,&HAE27,&H9980, &H772A ' 1543!
                              !dw &H6190,&HDB07,&H0697,&HE774, &H7734 ' 1544!
                              !dw &HF17A,&H4F1B,&H6779,&HAE9B, &H773F ' 1545!
                              !dw &HD809,&H52F7,&HCFDC,&H83CE, &H774A ' 1546!
                              !dw &HEDA0,&H1A57,&HB086,&HC720, &H7754 ' 1547!
                              !dw &H761D,&H5CE9,&H356D,&H9683, &H775F ' 1548!
                              !dw &H27EB,&HAECC,&HFA91,&HE3AD, &H7769 ' 1549!
                              !dw &H0336,&HC20B,&HEC63,&HAC50, &H7774 ' 1550!
                              !dw &H170E,&H0C94,&HC906,&H827F, &H777F ' 1551!
                              !dw &H72F2,&H2B10,&HACAD,&HC5C9, &H7789 ' 1552!
                              !dw &HD92A,&HD047,&H8E10,&H95FB, &H7794 ' 1553!
                              !dw &H0910,&H8415,&H4118,&HE39C, &H779E ' 1554!
                              !dw &H78C1,&HFD49,&HC3EC,&HACD1, &H77A9 ' 1555!
                              !dw &H523F,&H8E70,&H5F5B,&H834D, &H77B4 ' 1556!
                              !dw &H490E,&HF654,&H653D,&HC7A5, &H77BE ' 1557!
                              !dw &H9E93,&HE324,&H12C4,&H97E1, &H77C9 ' 1558!
                              !dw &H006D,&H40D1,&HEA53,&HE73A, &H77D3 ' 1559!
                              !dw &H3353,&H6A5F,&HE07D,&HB021, &H77DE ' 1560!
                              !dw &HCFFF,&H97B3,&HD23B,&H863F, &H77E9 ' 1561!
                              !dw &HC8C6,&HE6E7,&H5A2F,&HCCC8, &H77F3 ' 1562!
                              !dw &H24DA,&H4ED9,&H67D4,&H9C49, &H77FE ' 1563!
                              !dw &HA749,&H446D,&H1D95,&HEEB4, &H7808 ' 1564!
                              !dw &H4AF5,&H306A,&H631B,&HB668, &H7813 ' 1565!
                              !dw &H46D1,&H0A45,&H51C8,&H8B7A, &H781E ' 1566!
                              !dw &H831E,&HDDB7,&H6EA5,&HD570, &H7828 ' 1567!
                              !dw &H8063,&HFDC0,&H14B6,&HA36A, &H7833 ' 1568!
                              !dw &H34B8,&H624E,&H4A3D,&HFA63, &H783D ' 1569!
                              !dw &H73EA,&H8E9C,&H9DA9,&HBFF2, &H7848 ' 1570!
                              !dw &H436B,&HF0C5,&HBBB0,&H933D, &H7853 ' 1571!
                              !dw &HD47F,&HA19E,&HC522,&HE209, &H785D ' 1572!
                              !dw &H9DF6,&HB962,&HC109,&HAD9C, &H7868 ' 1573!
                              !dw &H8AE7,&H393A,&H395C,&H856E, &H7873 ' 1574!
                              !dw &HCB24,&H9905,&H48B9,&HCD3A, &H787D ' 1575!
                              !dw &H7553,&HD2C1,&HD9F6,&H9DED, &H7888 ' 1576!
                              !dw &H6EEF,&H5E12,&H8CEC,&HF337, &H7892 ' 1577!
                              !dw &HB3FA,&H1F7B,&H8D55,&HBB66, &H789D ' 1578!
                              !dw &HFFE3,&H8125,&H3137,&H907C, &H78A8 ' 1579!
                              !dw &HA1D3,&HA445,&H9FF0,&HDEEF, &H78B2 ' 1580!
                              !dw &H410C,&H24D0,&HBBD8,&HAC19, &H78BD ' 1581!
                              !dw &HDE3F,&H366F,&HE0DA,&H84F0, &H78C8 ' 1582!
                              !dw &H6FD2,&H55A7,&H5F99,&HCD83, &H78D2 ' 1583!
                              !dw &H807D,&H983F,&H9BF0,&H9EF3, &H78DD ' 1584!
                              !dw &H4AA1,&H27A8,&H921F,&HF608, &H78E7 ' 1585!
                              !dw &H13CB,&HA076,&H2328,&HBE88, &H78F2 ' 1586!
                              !dw &H7F96,&H9B57,&HBE3E,&H93A4, &H78FD ' 1587!
                              !dw &HB0DC,&H16E6,&H7B07,&HE4F6, &H7907 ' 1588!
                              !dw &HBCF9,&H6024,&HBD34,&HB1A5, &H7912 ' 1589!
                              !dw &H85B6,&H69A4,&H6CA4,&H89EB, &H791D ' 1590!
                              !dw &H5EC0,&H7323,&H880C,&HD649, &H7927 ' 1591!
                              !dw &H7EA7,&HAD80,&H28C1,&HA693, &H7932 ' 1592!
                              !dw &H9284,&HA614,&H3713,&H8191, &H793D ' 1593!
                              !dw &H0612,&H1607,&H8C3C,&HC9B0, &H7947 ' 1594!
                              !dw &HB85A,&H4BA7,&HDF37,&H9D13, &H7952 ' 1595!
                              !dw &H6855,&H2EEA,&HF8E7,&HF4D1, &H795C ' 1596!
                              !dw &H899B,&H45F5,&H3BB7,&HBEE8, &H7967 ' 1597!
                              !dw &H561F,&H40D6,&HB498,&H94F5, &H7972 ' 1598!
                              !dw &HB0FB,&HBF3E,&HACC0,&HE89A, &H797C ' 1599!
                              !dw &HFA44,&H9568,&HD6F6,&HB5B8, &H7987 ' 1600!
                              !dw &HB0A4,&H838C,&H1F0B,&H8E0F, &H7992 ' 1601!
                              !dw &H9A59,&H834D,&HA811,&HDE3E, &H799C ' 1602!
                              !dw &HDDAF,&HB525,&H4ACC,&HADF4, &H79A7 ' 1603!
                              !dw &H2820,&H53E0,&HD495,&H883D, &H79B2 ' 1604!
                              !dw &H16E4,&H0DB7,&HE973,&HD58A, &H79BC ' 1605!
                              !dw &H5333,&HF901,&HAE90,&HA774, &H79C7 ' 1606!
                              !dw &HEA29,&H0162,&HAE7A,&H8365, &H79D2 ' 1607!
                              !dw &H53B4,&H962D,&HABFB,&HCE55, &H79DC ' 1608!
                              !dw &H5C63,&H085C,&H0EBE,&HA21B, &H79E7 ' 1609!
                              !dw &H3742,&HC825,&H8AAD,&HFEDF, &H79F1 ' 1610!
                              !dw &H4657,&H7350,&H17B6,&HC87D, &H79FC ' 1611!
                              !dw &HAF5E,&H1BC3,&H762A,&H9DCE, &H7A07 ' 1612!
                              !dw &HFDFC,&HD43B,&H77A1,&HF893, &H7A11 ' 1613!
                              !dw &H476A,&HC902,&H3787,&HC3E6, &H7A1C ' 1614!
                              !dw &HAC10,&H33A2,&H2B0A,&H9A7B, &H7A27 ' 1615!
                              !dw &HB78A,&H197C,&H5FEC,&HF3CA, &H7A31 ' 1616!
                              !dw &H986A,&H499F,&H28FC,&HC07C, &H7A3C ' 1617!
                              !dw &H562A,&H512A,&H1761,&H9812, &H7A47 ' 1618!
                              !dw &HAFBA,&H1D13,&H9A77,&HF06E, &H7A51 ' 1619!
                              !dw &H1281,&H3880,&H7D2F,&HBE2F, &H7A5C ' 1620!
                              !dw &H5EA5,&H8018,&H5675,&H9688, &H7A67 ' 1621!
                              !dw &H99EB,&H1E66,&HF4F3,&HEE70, &H7A71 ' 1622!
                              !dw &H8F3A,&H2AB7,&HC41E,&HBCF5, &H7A7C ' 1623!
                              !dw &H8E93,&HEBDF,&HE283,&H95D6, &H7A87 ' 1624!
                              !dw &H8401,&HD90F,&H40F5,&HEDC8, &H7A91 ' 1625!
                              !dw &H918D,&H3095,&H3D93,&HBCC9, &H7A9C ' 1626!
                              !dw &HD282,&HCEB8,&H5F4A,&H95FA, &H7AA7 ' 1627!
                              !dw &HD6AC,&HEEA7,&H0D7F,&HEE71, &H7AB1 ' 1628!
                              !dw &H4021,&HE234,&HAC5C,&HBDA8, &H7ABC ' 1629!
                              !dw &H160A,&HED09,&HFF2E,&H96F2, &H7AC7 ' 1630!
                              !dw &H38DB,&HFE0B,&H89F2,&HF06D, &H7AD1 ' 1631!
                              !dw &HF14E,&HA270,&H49ED,&HBF97, &H7ADC ' 1632!
                              !dw &H4E68,&H9B26,&H81D2,&H98C4, &H7AE7 ' 1633!
                              !dw &HA01E,&H9092,&H9128,&HF3C5, &H7AF1 ' 1634!
                              !dw &H0E94,&HC26B,&HD9C2,&HC29C, &H7AFC ' 1635!
                              !dw &H8525,&H144E,&H4BF4,&H9B76, &H7B07 ' 1636!
                              !dw &H8659,&HF176,&HDCEB,&HF886, &H7B11 ' 1637!
                              !dw &H8BF4,&HB55F,&HDD31,&HC6C5, &H7B1C ' 1638!
                              !dw &HD721,&H2806,&H9965,&H9F13, &H7B27 ' 1639!
                              !dw &HF48B,&H021A,&H63AC,&HFEC5, &H7B31 ' 1640!
                              !dw &HD932,&H332F,&HE97D,&HCC23, &H7B3C ' 1641!
                              !dw &H1CE3,&HA14A,&HCAF3,&HA3AB, &H7B47 ' 1642!
                              !dw &HD4ED,&H3384,&HF1F1,&H834D, &H7B52 ' 1643!
                              !dw &H41D8,&H3DB6,&H236E,&HD2CE, &H7B5C ' 1644!
                              !dw &H84A3,&H6C51,&HD335,&HA952, &H7B67 ' 1645!
                              !dw &H845A,&H2FCE,&H5140,&H8816, &H7B72 ' 1646!
                              !dw &H6960,&HFCE4,&HE52E,&HDAE1, &H7B7C ' 1647!
                              !dw &HCCCB,&HCF7F,&HC66B,&HB021, &H7B87 ' 1648!
                              !dw &HC6C5,&H8E72,&H31E3,&H8DD1, &H7B92 ' 1649!
                              !dw &HF148,&H2B07,&H94E3,&HE483, &H7B9C ' 1650!
                              !dw &H8723,&HA1D0,&H9326,&HB837, &H7BA7 ' 1651!
                              !dw &HB502,&HA986,&HD432,&H9498, &H7BB2 ' 1652!
                              !dw &HB3B1,&HC828,&HB48A,&HEFDF, &H7BBC ' 1653!
                              !dw &HDF1F,&H1526,&HEB0F,&HC1B9, &H7BC7 ' 1654!
                              !dw &HC98E,&HD037,&H1DD3,&H9C8D, &H7BD2 ' 1655!
                              !dw &H37F4,&H8ABA,&H363C,&HFD2C, &H7BDC ' 1656!
                              !dw &HEA85,&HBBBD,&H6561,&HCCD6, &H7BE7 ' 1657!
                              !dw &H801C,&H5F3D,&H9193,&HA5D4, &H7BF2 ' 1658!
                              !dw &H71A7,&HC146,&H116C,&H8655, &H7BFD ' 1659!
                              !dw &H323E,&H4D51,&HE73F,&HD9C3, &H7C07 ' 1660!
                              !dw &HFA5F,&HB714,&H826C,&HB09D, &H7C12 ' 1661!
                              !dw &H462F,&HB993,&HD297,&H8F53, &H7C1D ' 1662!
                              !dw &HED3B,&HE7A0,&H6141,&HE8C4, &H7C27 ' 1663!
                              !dw &HC0C0,&H8C32,&H8F05,&HBD1F, &H7C32 ' 1664!
                              !dw &HC2F4,&H629A,&H4826,&H99C1, &H7C3D ' 1665!
                              !dw &HCA2E,&H736C,&HF5E2,&HFA26, &H7C47 ' 1666!
                              !dw &HAD11,&H32B3,&H7664,&HCB9D, &H7C52 ' 1667!
                              !dw &H5674,&H9B4B,&HBEEC,&HA5D5, &H7C5D ' 1668!
                              !dw &H4554,&H920E,&H50B7,&H8725, &H7C68 ' 1669!
                              !dw &H4611,&H60B2,&H5B23,&HDC67, &H7C72 ' 1670!
                              !dw &H74EB,&H7D85,&HD47C,&HB3D4, &H7C7D ' 1671!
                              !dw &HF474,&HA279,&HC179,&H92D0, &H7C88 ' 1672!
                              !dw &HBFA3,&HF9B3,&H9018,&HEFDD, &H7C92 ' 1673!
                              !dw &H2C64,&H6A1A,&HDA08,&HC40F, &H7C9D ' 1674!
                              !dw &H280E,&HA1C7,&H76F2,&HA05A, &H7CA8 ' 1675!
                              !dw &H7B47,&H8F64,&H0857,&H833A, &H7CB3 ' 1676!
                              !dw &H4EE5,&H6595,&HCA29,&HD6E8, &H7CBD ' 1677!
                              !dw &H1564,&H6AFB,&H3BA3,&HB015, &H7CC8 ' 1678!
                              !dw &H9829,&H9954,&H6844,&H905B, &H7CD3 ' 1679!
                              !dw &HC9A4,&H8B8E,&HF710,&HECD5, &H7CDD ' 1680!
                              !dw &H9342,&H748C,&H1F6A,&HC265, &H7CE8 ' 1681!
                              !dw &H73F1,&H2E38,&H8D0D,&H9FA7, &H7CF3 ' 1682!
                              !dw &HA447,&HB4DB,&H5089,&H8333, &H7CFE ' 1683!
                              !dw &H3529,&H766D,&H6372,&HD7C3, &H7D08 ' 1684!
                              !dw &H99DC,&H0CAF,&H21B2,&HB185, &H7D13 ' 1685!
                              !dw &H8FEA,&H53F1,&H597D,&H9224, &H7D1E ' 1686!
                              !dw &H36D8,&H390B,&H626E,&HF0C3, &H7D28 ' 1687!
                              !dw &H3E34,&HD904,&H0A20,&HC671, &H7D33 ' 1688!
                              !dw &H9FCD,&H56F9,&HF97A,&HA3A7, &H7D3E ' 1689!
                              !dw &H7D1E,&H3445,&H5C9E,&H870C, &H7D49 ' 1690!
                              !dw &HC05D,&H40D1,&HA9F2,&HDF03, &H7D53 ' 1691!
                              !dw &H4A6D,&HA48D,&H86E7,&HB83F, &H7D5E ' 1692!
                              !dw &H4CA6,&H3D67,&H83E5,&H984F, &H7D69 ' 1693!
                              !dw &H634D,&HBB14,&H8AB1,&HFBF7, &H7D73 ' 1694!
                              !dw &H7FAF,&HD8B5,&H7FE9,&HD089, &H7D7E ' 1695!
                              !dw &H4DBD,&HA776,&HDDED,&HACB1, &H7D89 ' 1696!
                              !dw &HE72A,&H8C62,&HE204,&H8F18, &H7D94 ' 1697!
                              !dw &H0052,&H8ACA,&HC2C8,&HED48, &H7D9E ' 1698!
                              !dw &H5404,&H1E23,&H3C97,&HC4D9, &H7DA9 ' 1699!
                              !dw &H533D,&H7084,&H52CB,&HA366, &H7DB4 ' 1700!
                              !dw &HE7A3,&H3853,&HDC84,&H87B6, &H7DBF ' 1701!
                              !dw &H7581,&HC39F,&H6F85,&HE192, &H7DC9 ' 1702!
                              !dw &H38D5,&H5B0B,&HA47C,&HBB92, &H7DD4 ' 1703!
                              !dw &H564A,&H77C0,&H02DB,&H9C11, &H7DDF ' 1704!
                              !dw &HFFD6,&HF611,&HA980,&H81ED, &H7DEA ' 1705!
                              !dw &HFCBA,&H59F4,&H72E5,&HD876, &H7DF4 ' 1706!
                              !dw &H9226,&HE9DA,&HBA03,&HB46B, &H7DFF ' 1707!
                              !dw &HC8E2,&H4387,&HD7A2,&H9677, &H7E0A ' 1708!
                              !dw &H5E04,&H8F34,&H82A1,&HFB1F, &H7E14 ' 1709!
                              !dw &HF980,&H6551,&H8F52,&HD1AD, &H7E1F ' 1710!
                              !dw &HDC52,&HF665,&HE01C,&HAF2C, &H7E2A ' 1711!
                              !dw &H262C,&H35F9,&H8358,&H926F, &H7E35 ' 1712!
                              !dw &H0A1B,&H504A,&H0B78,&HF4F7, &H7E3F ' 1713!
                              !dw &HF6F5,&H7131,&HC159,&HCD03, &H7E4A ' 1714!
                              !dw &H372E,&H462A,&H0509,&HABAE, &H7E55 ' 1715!
                              !dw &H5F3C,&H454A,&H4F38,&H8FD9, &H7E60 ' 1716!
                              !dw &HF42F,&H1A2E,&H2015,&HF133, &H7E6A ' 1717!
                              !dw &HE357,&HB3B6,&HA329,&HCA55, &H7E75 ' 1718!
                              !dw &H2211,&HA0B8,&HA153,&HA9D4, &H7E80 ' 1719!
                              !dw &HA49C,&H3BFA,&H937D,&H8EA1, &H7E8B ' 1720!
                              !dw &HFF28,&H3A0D,&H0E21,&HEFB7, &H7E95 ' 1721!
                              !dw &H44CA,&H7010,&HAAA1,&HC98E, &H7EA0 ' 1722!
                              !dw &HAFE0,&H91A7,&H66CD,&HA992, &H7EAB ' 1723!
                              !dw &HA88D,&H0C1C,&HBD8A,&H8EBE, &H7EB6 ' 1724!
                              !dw &H46EF,&HCCE7,&HD0CA,&HF076, &H7EC0 ' 1725!
                              !dw &HEA08,&HEA2F,&H2276,&HCAA8, &H7ECB ' 1726!
                              !dw &H277A,&H06BB,&H8810,&HAAE4, &H7ED6 ' 1727!
                              !dw &HE94F,&H85AD,&HD2CD,&H9030, &H7EE1 ' 1728!
                              !dw &HE52F,&H84F6,&H6FEF,&HF376, &H7EEB ' 1729!
                              !dw &H8F19,&H1411,&HCC0E,&HCDA8, &H7EF6 ' 1730!
                              !dw &H5753,&H6636,&H8B78,&HADD3, &H7F01 ' 1731!
                              !dw &HF4D9,&H5270,&H6773,&H9301, &H7F0C ' 1732!
                              !dw &HAA61,&HEB45,&H2053,&HF8CA, &H7F16 ' 1733!
                              !dw &H3C02,&H0D73,&H22DF,&HD2A5, &H7F21 ' 1734!
                              !dw &HFF76,&HB684,&HA5EA,&HB273, &H7F2C ' 1735!
                              !dw &HBC8B,&HF4B6,&H07A3,&H9744, &H7F37 ' 1736!
                              !dw &H7CA9,&HEEED,&H92FA,&H804B, &H7F42 ' 1737!
                              !dw &H1415,&HE686,&H44F6,&HD9C0, &H7F4C ' 1738!
                              !dw &H194E,&H25FE,&HA28F,&HB8E5, &H7F57 ' 1739!
                              !dw &H627F,&H9EC7,&H199C,&H9D17, &H7F62 ' 1740!
                              !dw &H3F1C,&HC47A,&HC325,&H858A, &H7F6D ' 1741!
                              !dw &HF65C,&HBFBD,&H8EFA,&HE32D, &H7F77 ' 1742!
                              !dw &HCC0B,&HA7EF,&H660F,&HC158, &H7F82 ' 1743!
                              !dw &H33C1,&H5502,&H46E9,&HA4A5, &H7F8D ' 1744!
                              !dw &H8059,&H8F8E,&H530B,&H8C49, &H7F98 ' 1745!
                              !dw &H79D8,&H3646,&H0619,&HEF33, &H7FA2 ' 1746!
                              !dw &H5E30,&HC1AC,&H2653,&HCC0B, &H7FAD ' 1747!
                              !dw &H9E64,&H7CCD,&H8436,&HAE27, &H7FB8 ' 1748!
                              !dw &H1964,&H0855,&H7F49,&H94BA, &H7FC3 ' 1749!
                              !dw &H6EE4,&H4FBD,&HB887,&HFE2C, &H7FCD ' 1750!
                              !dw &H162F,&HB04D,&H7C44,&HD950, &H7FD8 ' 1751!
                              !dw &HF1FB,&HC2D1,&HDA4E,&HB9E7, &H7FE3 ' 1752!
                              !dw &HF440,&HAA81,&H94BC,&H9F20, &H7FEE ' 1753!
                              !dw &HCC6F,&H9507,&HA762,&H8848, &H7FF9 ' 1754!
                              ' Limit of extended-precision.
                              !dw &H0000,&H0000,&H0000,&H8000, &H7FFF ' Infinity
                              Hope this is helpful.

                              ________________
                              Mark Longley-Cook
                              Last edited by Mark Longley-Cook; 8 May 2009, 12:44 PM. Reason: See first paragraph.

                              Comment


                              • #16
                                IsMissing()

                                The preferred way of testing optional ByRef/ByVal parameters is by using the IsMissing() function. Not using this with #Debug Display On can point out an untrapped error. Appropriate changes should be made to the code to use IsMissing() for testing optional parameters.

                                Comment

                                Working...
                                X