diff options
Diffstat (limited to 'private/crt32/misc/alpha/divdat.s')
-rw-r--r-- | private/crt32/misc/alpha/divdat.s | 597 |
1 files changed, 597 insertions, 0 deletions
diff --git a/private/crt32/misc/alpha/divdat.s b/private/crt32/misc/alpha/divdat.s new file mode 100644 index 000000000..543d6237b --- /dev/null +++ b/private/crt32/misc/alpha/divdat.s @@ -0,0 +1,597 @@ + + # Copyright 1992,1993, Digital Equipment Corporation + # + # This software is furnished under a license and may be used and copied + # only in accordance with the terms of such license and with the + # inclusion of the above copyright notice. This software or any other + # copies thereof may not be provided or otherwise made available to any + # other person. No title to and ownership of the software is hereby + # transferred. + # + # The information in this software is subject to change without notice + # and should not be construed as a commitment by Digital Equipment + # Corporation. + # + # Digital assumes no responsibility for the use or reliability of its + # software on equipment which is not supplied by Digital. + # + # 009 15 Jul 1992 KDG - Can't have .end for Alpha/OSF - use + # new ots_data_end macro + # - Need .data for OSF + # + # 010 4 Sep 1992 KDG Switch PSECT from ots_div_data to ots_lit + # + # 011 26 Jan 1993 KDG Add underscore, OSF uses CS name + # + # 012 5 Apr 1993 WBN Use 16-byte entries, up to 512, and + # support computing 1/(a+x). + +#include "ots_defs.hs" + + # Data area description + # + # The data area "ots_div_data" is an array of structures, indexed + # by the divisor value, with each array entry being 16 bytes in size + # formatted as follows: + # + # 6 1 1 + # 3 6 5 6 5 0 + # +-------+-------+-------+-------+-------+-------+-------+-------+ + # | 32 bit reciprocal (48 bits) | recip^2 |shift| + # +-------+-------+-------+-------+-------+-------+-------+-------+ + # | 64 bit reciprocal | + # +---------------------------------------------------------------+ + # + # The 64-bit reciprocal has the leading '1' bit omitted, so it provides + # 65 bits of precision -- enough to handle unsigned 64-bit dividends. + # + # The first quadword contains the 6-bit shift amount needed to handle + # 64-bit cases and powers of two. For divisors between 256 and 512, + # this quadword also contains a 10-bit coefficient for linearly + # approximating larger reciprocals (1/(a+x) = 1/a - x/a^2 + ...). + # + # The 32-bit reciprocal has the shift count built in, so a UMULH gives + # the correct quotient without shifting. The reciprocal needs 33 bits + # of precision. The 10-bit reciprocal-squared, and 6-bit shift amount, + # are noise in the reciprocal that can be ignored for divisors less than + # 512. (The only possible exception is for 1/257, and it checks out OK.) + # + # Powers of two are flagged with a 32-bit reciprocal that is negative, + # and a 64-bit reciprocal that is zero. + + # OTS division data table + # + +#ifdef VMS + .psect ots_lit + .align 4 # octaword alignment +ots_div_data:: +#endif +#ifdef OSF + .globl _OtsDivData + .data + .align 4 +_OtsDivData: +#endif +#ifdef WNT + .globl _OtsDivData + .data + .align 4 +_OtsDivData: +#endif + # recip^2--. .-shift + #32b recip / \| 64 bit reciprocal divisor + .quad 0x0000000000000000, 0x0000000000000000 # 0 + .quad 0x8000000000000000, 0x0000000000000000 # 1 + .quad 0x8000000000000001, 0x0000000000000000 # 2 + .quad 0x5555555555560002, 0x5555555555555556 # 3 + .quad 0x8000000000000002, 0x0000000000000000 # 4 + .quad 0x3333333333340003, 0x999999999999999A # 5 + .quad 0x2AAAAAAAAAAB0003, 0x5555555555555556 # 6 + .quad 0x24924924924A0003, 0x2492492492492493 # 7 + .quad 0x8000000000000003, 0x0000000000000000 # 8 + .quad 0x1C71C71C71C80004, 0xC71C71C71C71C71D # 9 + .quad 0x19999999999A0004, 0x999999999999999A # 10 + .quad 0x1745D1745D180004, 0x745D1745D1745D18 # 11 + .quad 0x1555555555560004, 0x5555555555555556 # 12 + .quad 0x13B13B13B13C0004, 0x3B13B13B13B13B14 # 13 + .quad 0x1249249249250004, 0x2492492492492493 # 14 + .quad 0x1111111111120004, 0x1111111111111112 # 15 + .quad 0x8000000000000004, 0x0000000000000000 # 16 + .quad 0x0F0F0F0F0F100005, 0xE1E1E1E1E1E1E1E2 # 17 + .quad 0x0E38E38E38E40005, 0xC71C71C71C71C71D # 18 + .quad 0x0D79435E50D80005, 0xAF286BCA1AF286BD # 19 + .quad 0x0CCCCCCCCCCD0005, 0x999999999999999A # 20 + .quad 0x0C30C30C30C40005, 0x8618618618618619 # 21 + .quad 0x0BA2E8BA2E8C0005, 0x745D1745D1745D18 # 22 + .quad 0x0B21642C85910005, 0x642C8590B21642C9 # 23 + .quad 0x0AAAAAAAAAAB0005, 0x5555555555555556 # 24 + .quad 0x0A3D70A3D70B0005, 0x47AE147AE147AE15 # 25 + .quad 0x09D89D89D89E0005, 0x3B13B13B13B13B14 # 26 + .quad 0x097B425ED0980005, 0x2F684BDA12F684BE # 27 + .quad 0x0924924924930005, 0x2492492492492493 # 28 + .quad 0x08D3DCB08D3E0005, 0x1A7B9611A7B9611B # 29 + .quad 0x0888888888890005, 0x1111111111111112 # 30 + .quad 0x0842108421090005, 0x0842108421084211 # 31 + .quad 0x8000000000000005, 0x0000000000000000 # 32 + .quad 0x07C1F07C1F080006, 0xF07C1F07C1F07C20 # 33 + .quad 0x0787878787880006, 0xE1E1E1E1E1E1E1E2 # 34 + .quad 0x0750750750760006, 0xD41D41D41D41D41E # 35 + .quad 0x071C71C71C720006, 0xC71C71C71C71C71D # 36 + .quad 0x06EB3E45306F0006, 0xBACF914C1BACF915 # 37 + .quad 0x06BCA1AF286C0006, 0xAF286BCA1AF286BD # 38 + .quad 0x06906906906A0006, 0xA41A41A41A41A41B # 39 + .quad 0x0666666666670006, 0x999999999999999A # 40 + .quad 0x063E7063E7070006, 0x8F9C18F9C18F9C19 # 41 + .quad 0x0618618618620006, 0x8618618618618619 # 42 + .quad 0x05F417D05F420006, 0x7D05F417D05F417E # 43 + .quad 0x05D1745D17460006, 0x745D1745D1745D18 # 44 + .quad 0x05B05B05B05C0006, 0x6C16C16C16C16C17 # 45 + .quad 0x0590B21642C90006, 0x642C8590B21642C9 # 46 + .quad 0x0572620AE4C50006, 0x5C9882B931057263 # 47 + .quad 0x0555555555560006, 0x5555555555555556 # 48 + .quad 0x05397829CBC20006, 0x4E5E0A72F0539783 # 49 + .quad 0x051EB851EB860006, 0x47AE147AE147AE15 # 50 + .quad 0x0505050505060006, 0x4141414141414142 # 51 + .quad 0x04EC4EC4EC4F0006, 0x3B13B13B13B13B14 # 52 + .quad 0x04D4873ECADF0006, 0x3521CFB2B78C1353 # 53 + .quad 0x04BDA12F684C0006, 0x2F684BDA12F684BE # 54 + .quad 0x04A7904A79050006, 0x29E4129E4129E413 # 55 + .quad 0x04924924924A0006, 0x2492492492492493 # 56 + .quad 0x047DC11F70480006, 0x1F7047DC11F7047E # 57 + .quad 0x0469EE58469F0006, 0x1A7B9611A7B9611B # 58 + .quad 0x0456C797DD4A0006, 0x15B1E5F75270D046 # 59 + .quad 0x0444444444450006, 0x1111111111111112 # 60 + .quad 0x04325C53EF370006, 0x0C9714FBCDA3AC11 # 61 + .quad 0x0421084210850006, 0x0842108421084211 # 62 + .quad 0x0410410410420006, 0x0410410410410411 # 63 + .quad 0x8000000000000006, 0x0000000000000000 # 64 + .quad 0x03F03F03F0400007, 0xF81F81F81F81F820 # 65 + .quad 0x03E0F83E0F840007, 0xF07C1F07C1F07C20 # 66 + .quad 0x03D226357E170007, 0xE9131ABF0B7672A1 # 67 + .quad 0x03C3C3C3C3C40007, 0xE1E1E1E1E1E1E1E2 # 68 + .quad 0x03B5CC0ED7310007, 0xDAE6076B981DAE61 # 69 + .quad 0x03A83A83A83B0007, 0xD41D41D41D41D41E # 70 + .quad 0x039B0AD120740007, 0xCD85689039B0AD13 # 71 + .quad 0x038E38E38E390007, 0xC71C71C71C71C71D # 72 + .quad 0x0381C0E070390007, 0xC0E070381C0E0704 # 73 + .quad 0x03759F2298380007, 0xBACF914C1BACF915 # 74 + .quad 0x0369D0369D040007, 0xB4E81B4E81B4E81C # 75 + .quad 0x035E50D794360007, 0xAF286BCA1AF286BD # 76 + .quad 0x03531DEC0D4D0007, 0xA98EF606A63BD81B # 77 + .quad 0x0348348348350007, 0xA41A41A41A41A41B # 78 + .quad 0x033D91D2A2070007, 0x9EC8E951033D91D3 # 79 + .quad 0x0333333333340007, 0x999999999999999A # 80 + .quad 0x0329161F9ADE0007, 0x948B0FCD6E9E0653 # 81 + .quad 0x031F3831F3840007, 0x8F9C18F9C18F9C19 # 82 + .quad 0x03159721ED7F0007, 0x8ACB90F6BF3A9A38 # 83 + .quad 0x030C30C30C310007, 0x8618618618618619 # 84 + .quad 0x0303030303040007, 0x8181818181818182 # 85 + .quad 0x02FA0BE82FA10007, 0x7D05F417D05F417E # 86 + .quad 0x02F149902F150007, 0x78A4C8178A4C8179 # 87 + .quad 0x02E8BA2E8BA30007, 0x745D1745D1745D18 # 88 + .quad 0x02E05C0B81710007, 0x702E05C0B81702E1 # 89 + .quad 0x02D82D82D82E0007, 0x6C16C16C16C16C17 # 90 + .quad 0x02D02D02D02E0007, 0x6816816816816817 # 91 + .quad 0x02C8590B21650007, 0x642C8590B21642C9 # 92 + .quad 0x02C0B02C0B030007, 0x6058160581605817 # 93 + .quad 0x02B9310572630007, 0x5C9882B931057263 # 94 + .quad 0x02B1DA46102C0007, 0x58ED2308158ED231 # 95 + .quad 0x02AAAAAAAAAB0007, 0x5555555555555556 # 96 + .quad 0x02A3A0FD5C600007, 0x51D07EAE2F8151D1 # 97 + .quad 0x029CBC14E5E10007, 0x4E5E0A72F0539783 # 98 + .quad 0x0295FAD40A580007, 0x4AFD6A052BF5A815 # 99 + .quad 0x028F5C28F5C30007, 0x47AE147AE147AE15 # 100 + .quad 0x0288DF0CAC5C0007, 0x446F86562D9FAEE5 # 101 + .quad 0x0282828282830007, 0x4141414141414142 # 102 + .quad 0x027C45979C960007, 0x3E22CBCE4A9027C5 # 103 + .quad 0x0276276276280007, 0x3B13B13B13B13B14 # 104 + .quad 0x0270270270280007, 0x3813813813813814 # 105 + .quad 0x026A439F65700007, 0x3521CFB2B78C1353 # 106 + .quad 0x02647C6945630007, 0x323E34A2B10BF66F # 107 + .quad 0x025ED097B4260007, 0x2F684BDA12F684BE # 108 + .quad 0x02593F69B0260007, 0x2C9FB4D812C9FB4E # 109 + .quad 0x0253C8253C830007, 0x29E4129E4129E413 # 110 + .quad 0x024E6A1710250007, 0x27350B88127350B9 # 111 + .quad 0x0249249249250007, 0x2492492492492493 # 112 + .quad 0x0243F6F024400007, 0x21FB78121FB78122 # 113 + .quad 0x023EE08FB8240007, 0x1F7047DC11F7047E # 114 + .quad 0x0239E0D5B4510007, 0x1CF06ADA2811CF07 # 115 + .quad 0x0234F72C23500007, 0x1A7B9611A7B9611B # 116 + .quad 0x0230230230240007, 0x1811811811811812 # 117 + .quad 0x022B63CBEEA50007, 0x15B1E5F75270D046 # 118 + .quad 0x0226B90226BA0007, 0x135C81135C81135D # 119 + .quad 0x0222222222230007, 0x1111111111111112 # 120 + .quad 0x021D9EAD7CD40007, 0x0ECF56BE69C8FDE3 # 121 + .quad 0x02192E29F79C0007, 0x0C9714FBCDA3AC11 # 122 + .quad 0x0214D0214D030007, 0x0A6810A6810A6811 # 123 + .quad 0x0210842108430007, 0x0842108421084211 # 124 + .quad 0x020C49BA5E360007, 0x0624DD2F1A9FBE77 # 125 + .quad 0x0208208208210007, 0x0410410410410411 # 126 + .quad 0x0204081020410007, 0x0204081020408103 # 127 + .quad 0x8000000000000007, 0x0000000000000000 # 128 + .quad 0x01FC07F01FC10008, 0xFC07F01FC07F01FD # 129 + .quad 0x01F81F81F8200008, 0xF81F81F81F81F820 # 130 + .quad 0x01F44659E4A50008, 0xF44659E4A4271580 # 131 + .quad 0x01F07C1F07C20008, 0xF07C1F07C1F07C20 # 132 + .quad 0x01ECC07B301F0008, 0xECC07B301ECC07B4 # 133 + .quad 0x01E9131ABF0C0008, 0xE9131ABF0B7672A1 # 134 + .quad 0x01E573AC901F0008, 0xE573AC901E573ACA # 135 + .quad 0x01E1E1E1E1E20008, 0xE1E1E1E1E1E1E1E2 # 136 + .quad 0x01DE5D6E3F890008, 0xDE5D6E3F8868A471 # 137 + .quad 0x01DAE6076B990008, 0xDAE6076B981DAE61 # 138 + .quad 0x01D77B654B830008, 0xD77B654B82C33918 # 139 + .quad 0x01D41D41D41E0008, 0xD41D41D41D41D41E # 140 + .quad 0x01D0CB58F6ED0008, 0xD0CB58F6EC07432E # 141 + .quad 0x01CD8568903A0008, 0xCD85689039B0AD13 # 142 + .quad 0x01CA4B3055EF0008, 0xCA4B3055EE19101D # 143 + .quad 0x01C71C71C71D0008, 0xC71C71C71C71C71D # 144 + .quad 0x01C3F8F01C400008, 0xC3F8F01C3F8F01C4 # 145 + .quad 0x01C0E070381D0008, 0xC0E070381C0E0704 # 146 + .quad 0x01BDD2B899410008, 0xBDD2B899406F74AF # 147 + .quad 0x01BACF914C1C0008, 0xBACF914C1BACF915 # 148 + .quad 0x01B7D6C3DDA40008, 0xB7D6C3DDA338B2B0 # 149 + .quad 0x01B4E81B4E820008, 0xB4E81B4E81B4E81C # 150 + .quad 0x01B2036406C90008, 0xB2036406C80D901C # 151 + .quad 0x01AF286BCA1B0008, 0xAF286BCA1AF286BD # 152 + .quad 0x01AC5701AC580008, 0xAC5701AC5701AC58 # 153 + .quad 0x01A98EF606A70008, 0xA98EF606A63BD81B # 154 + .quad 0x01A6D01A6D020008, 0xA6D01A6D01A6D01B # 155 + .quad 0x01A41A41A41B0008, 0xA41A41A41A41A41B # 156 + .quad 0x01A16D3F97A50008, 0xA16D3F97A4B01A17 # 157 + .quad 0x019EC8E951040008, 0x9EC8E951033D91D3 # 158 + .quad 0x019C2D14EE4B0008, 0x9C2D14EE4A1019C3 # 159 + .quad 0x01999999999A0008, 0x999999999999999A # 160 + .quad 0x01970E4F80CC0008, 0x970E4F80CB8727C1 # 161 + .quad 0x01948B0FCD6F0008, 0x948B0FCD6E9E0653 # 162 + .quad 0x01920FB49D0F0008, 0x920FB49D0E228D5A # 163 + .quad 0x018F9C18F9C20008, 0x8F9C18F9C18F9C19 # 164 + .quad 0x018D3018D3020008, 0x8D3018D3018D3019 # 165 + .quad 0x018ACB90F6C00008, 0x8ACB90F6BF3A9A38 # 166 + .quad 0x01886E5F0ABC0008, 0x886E5F0ABB04994C # 167 + .quad 0x0186186186190008, 0x8618618618618619 # 168 + .quad 0x0183C977AB2C0008, 0x83C977AB2BEDD28F # 169 + .quad 0x0181818181820008, 0x8181818181818182 # 170 + .quad 0x017F405FD0180008, 0x7F405FD017F405FE # 171 + .quad 0x017D05F417D10008, 0x7D05F417D05F417E # 172 + .quad 0x017AD2208E0F0008, 0x7AD2208E0ECC3546 # 173 + .quad 0x0178A4C8178B0008, 0x78A4C8178A4C8179 # 174 + .quad 0x01767DCE434B0008, 0x767DCE434A9B1018 # 175 + .quad 0x01745D1745D20008, 0x745D1745D1745D18 # 176 + .quad 0x01724287F46E0008, 0x724287F46DEBC05D # 177 + .quad 0x01702E05C0B90008, 0x702E05C0B81702E1 # 178 + .quad 0x016E1F76B4340008, 0x6E1F76B4337C6CB2 # 179 + .quad 0x016C16C16C170008, 0x6C16C16C16C16C17 # 180 + .quad 0x016A13CD15380008, 0x6A13CD153729043F # 181 + .quad 0x0168168168170008, 0x6816816816816817 # 182 + .quad 0x01661EC6A5130008, 0x661EC6A5122F9017 # 183 + .quad 0x01642C8590B30008, 0x642C8590B21642C9 # 184 + .quad 0x01623FA770170008, 0x623FA7701623FA78 # 185 + .quad 0x0160581605820008, 0x6058160581605817 # 186 + .quad 0x015E75BB8D020008, 0x5E75BB8D015E75BC # 187 + .quad 0x015C9882B9320008, 0x5C9882B931057263 # 188 + .quad 0x015AC056B0160008, 0x5AC056B015AC056C # 189 + .quad 0x0158ED2308160008, 0x58ED2308158ED231 # 190 + .quad 0x01571ED3C5070008, 0x571ED3C506B39A23 # 191 + .quad 0x0155555555560008, 0x5555555555555556 # 192 + .quad 0x015390948F410008, 0x5390948F40FEAC70 # 193 + .quad 0x0151D07EAE300008, 0x51D07EAE2F8151D1 # 194 + .quad 0x0150150150160008, 0x5015015015015016 # 195 + .quad 0x014E5E0A72F10008, 0x4E5E0A72F0539783 # 196 + .quad 0x014CAB88725B0008, 0x4CAB88725AF6E750 # 197 + .quad 0x014AFD6A052C0008, 0x4AFD6A052BF5A815 # 198 + .quad 0x0149539E3B2E0008, 0x49539E3B2D066EA3 # 199 + .quad 0x0147AE147AE20008, 0x47AE147AE147AE15 # 200 + .quad 0x01460CBC7F5D0008, 0x460CBC7F5CF9A1C1 # 201 + .quad 0x01446F86562E0008, 0x446F86562D9FAEE5 # 202 + .quad 0x0142D6625D520008, 0x42D6625D51F86EFA # 203 + .quad 0x0141414141420008, 0x4141414141414142 # 204 + .quad 0x013FB013FB020008, 0x3FB013FB013FB014 # 205 + .quad 0x013E22CBCE4B0008, 0x3E22CBCE4A9027C5 # 206 + .quad 0x013C995A47BB0008, 0x3C995A47BABE7441 # 207 + .quad 0x013B13B13B140008, 0x3B13B13B13B13B14 # 208 + .quad 0x013991C2C1880008, 0x3991C2C187F63372 # 209 + .quad 0x0138138138140008, 0x3813813813813814 # 210 + .quad 0x013698DF3DE10008, 0x3698DF3DE0747954 # 211 + .quad 0x013521CFB2B80008, 0x3521CFB2B78C1353 # 212 + .quad 0x0133AE45B57C0008, 0x33AE45B57BCB1E0D # 213 + .quad 0x01323E34A2B20008, 0x323E34A2B10BF66F # 214 + .quad 0x0130D190130E0008, 0x30D190130D190131 # 215 + .quad 0x012F684BDA130008, 0x2F684BDA12F684BE # 216 + .quad 0x012E025C04B90008, 0x2E025C04B8097013 # 217 + .quad 0x012C9FB4D8130008, 0x2C9FB4D812C9FB4E # 218 + .quad 0x012B404AD0130008, 0x2B404AD012B404AE # 219 + .quad 0x0129E4129E420008, 0x29E4129E4129E413 # 220 + .quad 0x01288B01288C0008, 0x288B01288B01288C # 221 + .quad 0x0127350B88130008, 0x27350B88127350B9 # 222 + .quad 0x0125E227080A0008, 0x25E22708092F1139 # 223 + .quad 0x0124924924930008, 0x2492492492492493 # 224 + .quad 0x0123456789AC0008, 0x23456789ABCDF013 # 225 + .quad 0x0121FB7812200008, 0x21FB78121FB78122 # 226 + .quad 0x0120B470C67D0008, 0x20B470C67C0D8876 # 227 + .quad 0x011F7047DC120008, 0x1F7047DC11F7047E # 228 + .quad 0x011E2EF3B3FC0008, 0x1E2EF3B3FB874432 # 229 + .quad 0x011CF06ADA290008, 0x1CF06ADA2811CF07 # 230 + .quad 0x011BB4A4046F0008, 0x1BB4A4046ED29012 # 231 + .quad 0x011A7B9611A80008, 0x1A7B9611A7B9611B # 232 + .quad 0x0119453808CB0008, 0x19453808CA29C047 # 233 + .quad 0x0118118118120008, 0x1811811811811812 # 234 + .quad 0x0116E06894280008, 0x16E0689427378EB5 # 235 + .quad 0x0115B1E5F7530008, 0x15B1E5F75270D046 # 236 + .quad 0x011485F0E0AD0008, 0x1485F0E0ACD3B68D # 237 + .quad 0x01135C81135D0008, 0x135C81135C81135D # 238 + .quad 0x0112358E75D40008, 0x12358E75D30336A1 # 239 + .quad 0x0111111111120008, 0x1111111111111112 # 240 + .quad 0x010FEF010FF00008, 0x0FEF010FEF010FF0 # 241 + .quad 0x010ECF56BE6A0008, 0x0ECF56BE69C8FDE3 # 242 + .quad 0x010DB20A88F50008, 0x0DB20A88F469598D # 243 + .quad 0x010C9714FBCE0008, 0x0C9714FBCDA3AC11 # 244 + .quad 0x010B7E6EC25A0008, 0x0B7E6EC259DC7936 # 245 + .quad 0x010A6810A6820008, 0x0A6810A6810A6811 # 246 + .quad 0x010953F390110008, 0x0953F39010953F3A # 247 + .quad 0x0108421084220008, 0x0842108421084211 # 248 + .quad 0x01073260A4800008, 0x073260A47F7C66D0 # 249 + .quad 0x010624DD2F1B0008, 0x0624DD2F1A9FBE77 # 250 + .quad 0x0105197F7D740008, 0x05197F7D73404147 # 251 + .quad 0x0104104104110008, 0x0410410410410411 # 252 + .quad 0x0103091B51F60008, 0x03091B51F5E1A4EF # 253 + .quad 0x0102040810210008, 0x0204081020408103 # 254 + .quad 0x0101010101020008, 0x0101010101010102 # 255 + .quad 0x800000000000FFC8, 0x0000000000000000 # 256 + .quad 0x00FF00FF0100FE09, 0xFE01FE01FE01FE02 # 257 + .quad 0x00FE03F80FE1FC09, 0xFC07F01FC07F01FD # 258 + .quad 0x00FD08E55010FA09, 0xFA11CAA01FA11CAB # 259 + .quad 0x00FC0FC0FC10F849, 0xF81F81F81F81F820 # 260 + .quad 0x00FB18856507F649, 0xF6310ACA0DBB574C # 261 + .quad 0x00FA232CF253F489, 0xF44659E4A4271580 # 262 + .quad 0x00F92FB22119F289, 0xF25F644230AB50CB # 263 + .quad 0x00F83E0F83E1F0C9, 0xF07C1F07C1F07C20 # 264 + .quad 0x00F74E3FC22DEF09, 0xEE9C7F8458E01EEA # 265 + .quad 0x00F6603D9810ED09, 0xECC07B301ECC07B4 # 266 + .quad 0x00F57403D5D1EB49, 0xEAE807ABA01EAE81 # 267 + .quad 0x00F4898D5F86E989, 0xE9131ABF0B7672A1 # 268 + .quad 0x00F3A0D52CBBE7C9, 0xE741AA59750E466D # 269 + .quad 0x00F2B9D64810E649, 0xE573AC901E573ACA # 270 + .quad 0x00F1D48BCEE1E489, 0xE3A9179DC1A733F5 # 271 + .quad 0x00F0F0F0F0F1E2C9, 0xE1E1E1E1E1E1E1E2 # 272 + .quad 0x00F00F00F010E109, 0xE01E01E01E01E01F # 273 + .quad 0x00EF2EB71FC5DF89, 0xDE5D6E3F8868A471 # 274 + .quad 0x00EE500EE501DDC9, 0xDCA01DCA01DCA01E # 275 + .quad 0x00ED7303B5CDDC49, 0xDAE6076B981DAE61 # 276 + .quad 0x00EC979118F4DAC9, 0xD92F2231E7F89B44 # 277 + .quad 0x00EBBDB2A5C2D909, 0xD77B654B82C33918 # 278 + .quad 0x00EAE56403ACD789, 0xD5CAC807572B201E # 279 + .quad 0x00EA0EA0EA0FD609, 0xD41D41D41D41D41E # 280 + .quad 0x00E939651FE3D489, 0xD272CA3FC5B1A6B9 # 281 + .quad 0x00E865AC7B77D309, 0xD0CB58F6EC07432E # 282 + .quad 0x00E79372E226D189, 0xCF26E5C44BFC61B3 # 283 + .quad 0x00E6C2B4481DD009, 0xCD85689039B0AD13 # 284 + .quad 0x00E5F36CB00FCE89, 0xCBE6D9601CBE6D97 # 285 + .quad 0x00E525982AF8CD09, 0xCA4B3055EE19101D # 286 + .quad 0x00E45932D7DDCBC9, 0xC8B265AFB8A4201D # 287 + .quad 0x00E38E38E38FCA49, 0xC71C71C71C71C71D # 288 + .quad 0x00E2C4A6886BC8C9, 0xC5894D10D4985C20 # 289 + .quad 0x00E1FC780E20C789, 0xC3F8F01C3F8F01C4 # 290 + .quad 0x00E135A9C976C609, 0xC26B5392EA01C26C # 291 + .quad 0x00E070381C0FC4C9, 0xC0E070381C0E0704 # 292 + .quad 0x00DFAC1F7435C389, 0xBF583EE868D8AEBF # 293 + .quad 0x00DEE95C4CA1C209, 0xBDD2B899406F74AF # 294 + .quad 0x00DE27EB2C42C0C9, 0xBC4FD65883E7B3A3 # 295 + .quad 0x00DD67C8A60EBF89, 0xBACF914C1BACF915 # 296 + .quad 0x00DCA8F158C8BE49, 0xB951E2B18FF23571 # 297 + .quad 0x00DBEB61EED2BD09, 0xB7D6C3DDA338B2B0 # 298 + .quad 0x00DB2F171DF8BBC9, 0xB65E2E3BEEE05232 # 299 + .quad 0x00DA740DA741BA89, 0xB4E81B4E81B4E81C # 300 + .quad 0x00D9BA4256C1B949, 0xB37484AD806CDD22 # 301 + .quad 0x00D901B20365B809, 0xB2036406C80D901C # 302 + .quad 0x00D84A598ECAB6C9, 0xB094B31D922A3E86 # 303 + .quad 0x00D79435E50EB589, 0xAF286BCA1AF286BD # 304 + .quad 0x00D6DF43FCA5B449, 0xADBE87F94905E01B # 305 + .quad 0x00D62B80D62CB349, 0xAC5701AC5701AC58 # 306 + .quad 0x00D578E97C40B209, 0xAAF1D2F87EBFCAA2 # 307 + .quad 0x00D4C77B0354B0C9, 0xA98EF606A63BD81B # 308 + .quad 0x00D417328988AFC9, 0xA82E65130E158A5C # 309 + .quad 0x00D3680D3681AE89, 0xA6D01A6D01A6D01B # 310 + .quad 0x00D2BA083B45AD89, 0xA574107688A4A157 # 311 + .quad 0x00D20D20D20EAC49, 0xA41A41A41A41A41B # 312 + .quad 0x00D161543E29AB49, 0xA2C2A87C51CA04E9 # 313 + .quad 0x00D0B69FCBD3AA49, 0xA16D3F97A4B01A17 # 314 + .quad 0x00D00D00D00EA909, 0xA01A01A01A01A01B # 315 + .quad 0x00CF6474A882A809, 0x9EC8E951033D91D3 # 316 + .quad 0x00CEBCF8BB5CA709, 0x9D79F176B682D396 # 317 + .quad 0x00CE168A7726A609, 0x9C2D14EE4A1019C3 # 318 + .quad 0x00CD712752A9A4C9, 0x9AE24EA5510DA484 # 319 + .quad 0x00CCCCCCCCCDA3C9, 0x999999999999999A # 320 + .quad 0x00CC29786C77A2C9, 0x9852F0D8EC0FF33E # 321 + .quad 0x00CB8727C066A1C9, 0x970E4F80CB8727C1 # 322 + .quad 0x00CAE5D85F1CA0C9, 0x95CBB0BE377AD92B # 323 + .quad 0x00CA4587E6B89FC9, 0x948B0FCD6E9E0653 # 324 + .quad 0x00C9A633FCDA9EC9, 0x934C67F9B2CE601A # 325 + .quad 0x00C907DA4E889DC9, 0x920FB49D0E228D5A # 326 + .quad 0x00C86A78900D9D09, 0x90D4F120190D4F13 # 327 + .quad 0x00C7CE0C7CE19C09, 0x8F9C18F9C18F9C19 # 328 + .quad 0x00C73293D78A9B09, 0x8E6527AF1373F071 # 329 + .quad 0x00C6980C69819A09, 0x8D3018D3018D3019 # 330 + .quad 0x00C5FE7403189949, 0x8BFCE8062FF3A019 # 331 + .quad 0x00C565C87B609849, 0x8ACB90F6BF3A9A38 # 332 + .quad 0x00C4CE07B00D9749, 0x899C0F601899C0F7 # 333 + .quad 0x00C4372F855E9689, 0x886E5F0ABB04994C # 334 + .quad 0x00C3A13DE6059589, 0x87427BCC092B8EE7 # 335 + .quad 0x00C30C30C30D9489, 0x8618618618618619 # 336 + .quad 0x00C2780613C193C9, 0x84F00C2780613C04 # 337 + .quad 0x00C1E4BBD59692C9, 0x83C977AB2BEDD28F # 338 + .quad 0x00C152500C169209, 0x82A4A0182A4A0183 # 339 + .quad 0x00C0C0C0C0C19149, 0x8181818181818182 # 340 + .quad 0x00C0300C03019049, 0x8060180601806019 # 341 + .quad 0x00BFA02FE80C8F89, 0x7F405FD017F405FE # 342 + .quad 0x00BF112A8AD38E89, 0x7E225515A4F1D1BA # 343 + .quad 0x00BE82FA0BE98DC9, 0x7D05F417D05F417E # 344 + .quad 0x00BDF59C91718D09, 0x7BEB3922E017BEB4 # 345 + .quad 0x00BD691047088C49, 0x7AD2208E0ECC3546 # 346 + .quad 0x00BCDD535DB28B49, 0x79BAA6BB6398B6F7 # 347 + .quad 0x00BC52640BC68A89, 0x78A4C8178A4C8179 # 348 + .quad 0x00BBC8408CD789C9, 0x77908119AC60D342 # 349 + .quad 0x00BB3EE721A68909, 0x767DCE434A9B1018 # 350 + .quad 0x00BAB656100C8849, 0x756CAC201756CAC3 # 351 + .quad 0x00BA2E8BA2E98789, 0x745D1745D1745D18 # 352 + .quad 0x00B9A7862A1086C9, 0x734F0C541FE8CB10 # 353 + .quad 0x00B92143FA378609, 0x724287F46DEBC05D # 354 + .quad 0x00B89BC36CE48549, 0x713786D9C7C08A75 # 355 + .quad 0x00B81702E05D8489, 0x702E05C0B81702E1 # 356 + .quad 0x00B79300B79483C9, 0x6F26016F26016F27 # 357 + .quad 0x00B70FBB5A1A8309, 0x6E1F76B4337C6CB2 # 358 + .quad 0x00B68D31340F8249, 0x6D1A62681C860FB1 # 359 + .quad 0x00B60B60B60C8189, 0x6C16C16C16C16C17 # 360 + .quad 0x00B58A48551980C9, 0x6B1490AA31A3CFC8 # 361 + .quad 0x00B509E68A9C8009, 0x6A13CD153729043F # 362 + .quad 0x00B48A39D4477F49, 0x691473A88D0BFD2E # 363 + .quad 0x00B40B40B40C7E89, 0x6816816816816817 # 364 + .quad 0x00B38CF9B00C7E09, 0x6719F36016719F37 # 365 + .quad 0x00B30F63528A7D49, 0x661EC6A5122F9017 # 366 + .quad 0x00B2927C29DB7C89, 0x6524F853B4AA339F # 367 + .quad 0x00B21642C85A7C09, 0x642C8590B21642C9 # 368 + .quad 0x00B19AB5C4577B49, 0x63356B88AC0DE017 # 369 + .quad 0x00B11FD3B80C7A89, 0x623FA7701623FA78 # 370 + .quad 0x00B0A59B418E7A09, 0x614B36831AE93AA7 # 371 + .quad 0x00B02C0B02C17949, 0x6058160581605817 # 372 + .quad 0x00AFB321A14A7889, 0x5F66434292DFBE1D # 373 + .quad 0x00AF3ADDC6817809, 0x5E75BB8D015E75BC # 374 + .quad 0x00AEC33E1F687749, 0x5D867C3ECE2A534A # 375 + .quad 0x00AE4C415C9976C9, 0x5C9882B931057263 # 376 + .quad 0x00ADD5E632407609, 0x5BABCC647FA9150D # 377 + .quad 0x00AD602B580B7589, 0x5AC056B015AC056C # 378 + .quad 0x00ACEB0F891F74C9, 0x59D61F123CCAA377 # 379 + .quad 0x00AC7691840B7449, 0x58ED2308158ED231 # 380 + .quad 0x00AC02B00AC17389, 0x5805601580560159 # 381 + .quad 0x00AB8F69E2847309, 0x571ED3C506B39A23 # 382 + .quad 0x00AB1CBDD3E37249, 0x56397BA7C52E1EC0 # 383 + .quad 0x00AAAAAAAAAB71C9, 0x5555555555555556 # 384 + .quad 0x00AA392F35DD7149, 0x54725E6BB82FE016 # 385 + .quad 0x00A9C84A47A17089, 0x5390948F40FEAC70 # 386 + .quad 0x00A957FAB5417009, 0x52AFF56A8054ABFE # 387 + .quad 0x00A8E83F57186F89, 0x51D07EAE2F8151D1 # 388 + .quad 0x00A87917088F6EC9, 0x50F22E111C4C56DF # 389 + .quad 0x00A80A80A80B6E49, 0x5015015015015016 # 390 + .quad 0x00A79C7B16EB6DC9, 0x4F38F62DD4C9A845 # 391 + .quad 0x00A72F0539796D49, 0x4E5E0A72F0539783 # 392 + .quad 0x00A6C21DF6E26CC9, 0x4D843BEDC2C4B900 # 393 + .quad 0x00A655C4392E6C09, 0x4CAB88725AF6E750 # 394 + .quad 0x00A5E9F6ED356B89, 0x4BD3EDDA68FE0E43 # 395 + .quad 0x00A57EB502966B09, 0x4AFD6A052BF5A815 # 396 + .quad 0x00A513FD6BB16A89, 0x4A27FAD76014A280 # 397 + .quad 0x00A4A9CF1D976A09, 0x49539E3B2D066EA3 # 398 + .quad 0x00A44029100B6989, 0x4880522014880523 # 399 + .quad 0x00A3D70A3D7168C9, 0x47AE147AE147AE15 # 400 + .quad 0x00A36E71A2CC6849, 0x46DCE34596066251 # 401 + .quad 0x00A3065E3FAF67C9, 0x460CBC7F5CF9A1C1 # 402 + .quad 0x00A29ECF163C6749, 0x453D9E2C776CA015 # 403 + .quad 0x00A237C32B1766C9, 0x446F86562D9FAEE5 # 404 + .quad 0x00A1D13985606649, 0x43A2730ABEE4D1DC # 405 + .quad 0x00A16B312EA965C9, 0x42D6625D51F86EFA # 406 + .quad 0x00A105A932F36549, 0x420B5265E595123E # 407 + .quad 0x00A0A0A0A0A164C9, 0x4141414141414142 # 408 + .quad 0x00A03C1688746449, 0x40782D10E6566065 # 409 + .quad 0x009FD809FD8163C9, 0x3FB013FB013FB014 # 410 + .quad 0x009F747A152E6349, 0x3EE8F42A5AF06DA1 # 411 + .quad 0x009F1165E72662C9, 0x3E22CBCE4A9027C5 # 412 + .quad 0x009EAECC8D546249, 0x3D5D991AA75C5BBE # 413 + .quad 0x009E4CAD23DE6209, 0x3C995A47BABE7441 # 414 + .quad 0x009DEB06C91A6189, 0x3BD60D923295482D # 415 + .quad 0x009D89D89D8A6109, 0x3B13B13B13B13B14 # 416 + .quad 0x009D2921C3D76089, 0x3A524387AC822610 # 417 + .quad 0x009CC8E160C46009, 0x3991C2C187F63372 # 418 + .quad 0x009C69169B315F89, 0x38D22D366088DBF4 # 419 + .quad 0x009C09C09C0A5F09, 0x3813813813813814 # 420 + .quad 0x009BAADE8E4B5EC9, 0x3755BD1C945EDC20 # 421 + .quad 0x009B4C6F9EF15E49, 0x3698DF3DE0747954 # 422 + .quad 0x009AEE72FCFA5DC9, 0x35DCE5F9F2AF821F # 423 + .quad 0x009A90E7D95C5D49, 0x3521CFB2B78C1353 # 424 + .quad 0x009A33CD67015D09, 0x34679ACE0134679B # 425 + .quad 0x0099D722DABE5C89, 0x33AE45B57BCB1E0D # 426 + .quad 0x00997AE76B515C09, 0x32F5CED6A1DFA014 # 427 + .quad 0x00991F1A51595B89, 0x323E34A2B10BF66F # 428 + .quad 0x0098C3BAC7505B49, 0x3187758E9EBB6014 # 429 + .quad 0x009868C809875AC9, 0x30D190130D190131 # 430 + .quad 0x00980E4156215A49, 0x301C82AC40260391 # 431 + .quad 0x0097B425ED0A5A09, 0x2F684BDA12F684BE # 432 + .quad 0x00975A750FF75989, 0x2EB4EA1FED14B15F # 433 + .quad 0x0097012E025D5909, 0x2E025C04B8097013 # 434 + .quad 0x0096A850096B58C9, 0x2D50A012D50A012E # 435 + .quad 0x00964FDA6C0A5849, 0x2C9FB4D812C9FB4E # 436 + .quad 0x0095F7CC72D257C9, 0x2BEF98E5A3710FD2 # 437 + .quad 0x0095A025680A5789, 0x2B404AD012B404AE # 438 + .quad 0x009548E4979F5709, 0x2A91C92F3C1053FA # 439 + .quad 0x0094F2094F2156C9, 0x29E4129E4129E413 # 440 + .quad 0x00949B92DDC15649, 0x293725BB804A4DCA # 441 + .quad 0x0094458094465609, 0x288B01288B01288C # 442 + .quad 0x0093EFD1C50F5589, 0x27DFA38A1CE4D6F9 # 443 + .quad 0x00939A85C40A5509, 0x27350B88127350B9 # 444 + .quad 0x0093459BE6B154C9, 0x268B37CD601268B4 # 445 + .quad 0x0092F11384055449, 0x25E22708092F1139 # 446 + .quad 0x00929CEBF48C5409, 0x2539D7E9177B21CB # 447 + .quad 0x00924924924A5389, 0x2492492492492493 # 448 + .quad 0x0091F5BCB8BC5349, 0x23EB79717605B39A # 449 + .quad 0x0091A2B3C4D652C9, 0x23456789ABCDF013 # 450 + .quad 0x0091500915015289, 0x22A0122A0122A013 # 451 + .quad 0x0090FDBC09105209, 0x21FB78121FB78122 # 452 + .quad 0x0090ABCC024351C9, 0x21579804855E6013 # 453 + .quad 0x00905A38633F5189, 0x20B470C67C0D8876 # 454 + .quad 0x00900900900A5109, 0x2012012012012013 # 455 + .quad 0x008FB823EE0950C9, 0x1F7047DC11F7047E # 456 + .quad 0x008F67A1E3FE5049, 0x1ECF43C7FB84C2F1 # 457 + .quad 0x008F1779D9FE5009, 0x1E2EF3B3FB874432 # 458 + .quad 0x008EC7AB39734FC9, 0x1D8F5672E4ABC83B # 459 + .quad 0x008E78356D154F49, 0x1CF06ADA2811CF07 # 460 + .quad 0x008E2917E0E84F09, 0x1C522FC1CE058D9B # 461 + .quad 0x008DDA5202384E89, 0x1BB4A4046ED29012 # 462 + .quad 0x008D8BE33F964E49, 0x1B17C67F2BAE2B21 # 463 + .quad 0x008D3DCB08D44E09, 0x1A7B9611A7B9611B # 464 + .quad 0x008CF008CF014D89, 0x19E0119E0119E012 # 465 + .quad 0x008CA29C04664D49, 0x19453808CA29C047 # 466 + .quad 0x008C55841C824D09, 0x18AB083902BDAB95 # 467 + .quad 0x008C08C08C094C89, 0x1811811811811812 # 468 + .quad 0x008BBC50C8DF4C49, 0x1778A191BD684181 # 469 + .quad 0x008B70344A144C09, 0x16E0689427378EB5 # 470 + .quad 0x008B246A87E24BC9, 0x1648D50FC3201165 # 471 + .quad 0x008AD8F2FBAA4B49, 0x15B1E5F75270D046 # 472 + .quad 0x008A8DCD1FEF4B09, 0x151B9A3FDD5C8CB9 # 473 + .quad 0x008A42F870574AC9, 0x1485F0E0ACD3B68D # 474 + .quad 0x0089F87469A34A49, 0x13F0E8D3447241C1 # 475 + .quad 0x0089AE4089AF4A09, 0x135C81135C81135D # 476 + .quad 0x0089645C4F6F49C9, 0x12C8B89EDC0ABBD8 # 477 + .quad 0x00891AC73AEA4989, 0x12358E75D30336A1 # 478 + .quad 0x0088D180CD3B4909, 0x11A3019A748267AF # 479 + .quad 0x00888888888948C9, 0x1111111111111112 # 480 + .quad 0x00883FDDF0094889, 0x107FBBE01107FBBF # 481 + .quad 0x0087F78087F84849, 0x0FEF010FEF010FF0 # 482 + .quad 0x0087AF6FD59A4809, 0x0F5EDFAB325A1A81 # 483 + .quad 0x008767AB5F354789, 0x0ECF56BE69C8FDE3 # 484 + .quad 0x00872032AC144749, 0x0E40655826010E41 # 485 + .quad 0x0086D905447B4709, 0x0DB20A88F469598D # 486 + .quad 0x00869222B1AD46C9, 0x0D24456359E39D2D # 487 + .quad 0x00864B8A7DE74689, 0x0C9714FBCDA3AC11 # 488 + .quad 0x0086053C345B4649, 0x0C0A7868B41708E7 # 489 + .quad 0x0085BF37612D4609, 0x0B7E6EC259DC7936 # 490 + .quad 0x0085797B91784589, 0x0AF2F722EECB5713 # 491 + .quad 0x0085340853414549, 0x0A6810A6810A6811 # 492 + .quad 0x0084EEDD357D4509, 0x09DDBA6AF836010A # 493 + .quad 0x0084A9F9C80944C9, 0x0953F39010953F3A # 494 + .quad 0x0084655D9BAC4489, 0x08CABB37565E2011 # 495 + .quad 0x0084210842114449, 0x0842108421084211 # 496 + .quad 0x0083DCF94DC84409, 0x07B9F29B8EAE19C2 # 497 + .quad 0x00839930524043C9, 0x073260A47F7C66D0 # 498 + .quad 0x008355ACE3C94389, 0x06AB59C7912FB620 # 499 + .quad 0x0083126E978E4309, 0x0624DD2F1A9FBE77 # 500 + .quad 0x0082CF75039442C9, 0x059EEA0727586633 # 501 + .quad 0x00828CBFBEBA4289, 0x05197F7D73404147 # 502 + .quad 0x00824A4E60B44249, 0x04949CC1664C578A # 503 + .quad 0x0082082082094209, 0x0410410410410411 # 504 + .quad 0x0081C635BC1341C9, 0x038C6B78247FBF1D # 505 + .quad 0x0081848DA8FB4189, 0x03091B51F5E1A4EF # 506 + .quad 0x00814327E3BA4149, 0x02864FC7729E8C5F # 507 + .quad 0x0081020408114109, 0x0204081020408103 # 508 + .quad 0x0080C121B28C40C9, 0x0182436517A37530 # 509 + .quad 0x0080808080814089, 0x0101010101010102 # 510 + .quad 0x0080402010094049, 0x0080402010080403 # 511 + .quad 0x8000000000004009, 0x0000000000000000 # 512 + |