/* mp_bases -- Structure for conversion between internal binary format and strings in base 2..256. The fields are explained in gmp-impl.h. Copyright 1991, 1993, 1994, 1996, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. The GNU MP Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU MP Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU MP Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #if GENERATE_TABLE /* This is for the code at the end, for generating these tables. */ #include #include /* for atoi */ #include #endif #include "gmp.h" #include "gmp-impl.h" #if ! GENERATE_TABLE #if GMP_NUMB_BITS == 4 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {4, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {2, 0.6309297535714574, 0x9, 0xc}, /* 4 */ {2, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {1, 0.4306765580733931, 0x5, 0x9}, /* 6 */ {1, 0.3868528072345416, 0x6, 0x5}, /* 7 */ {1, 0.3562071871080222, 0x7, 0x2}, /* 8 */ {1, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {1, 0.3154648767857287, 0x9, 0xc}, /* 10 */ {1, 0.3010299956639812, 0xa, 0x9}, /* 11 */ {1, 0.2890648263178878, 0xb, 0x7}, /* 12 */ {1, 0.2789429456511298, 0xc, 0x5}, /* 13 */ {1, 0.2702381544273197, 0xd, 0x3}, /* 14 */ {1, 0.2626495350371935, 0xe, 0x2}, /* 15 */ {1, 0.2559580248098155, 0xf, 0x1}, /* 16 */ {1, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {0, 0.2446505421182260, 0x1, 0x10}, /* 18 */ {0, 0.2398124665681314, 0x1, 0x10}, /* 19 */ {0, 0.2354089133666382, 0x1, 0x10}, /* 20 */ {0, 0.2313782131597592, 0x1, 0x10}, /* 21 */ {0, 0.2276702486969530, 0x1, 0x10}, /* 22 */ {0, 0.2242438242175754, 0x1, 0x10}, /* 23 */ {0, 0.2210647294575037, 0x1, 0x10}, /* 24 */ {0, 0.2181042919855316, 0x1, 0x10}, /* 25 */ {0, 0.2153382790366965, 0x1, 0x10}, /* 26 */ {0, 0.2127460535533632, 0x1, 0x10}, /* 27 */ {0, 0.2103099178571525, 0x1, 0x10}, /* 28 */ {0, 0.2080145976765095, 0x1, 0x10}, /* 29 */ {0, 0.2058468324604344, 0x1, 0x10}, /* 30 */ {0, 0.2037950470905062, 0x1, 0x10}, /* 31 */ {0, 0.2018490865820999, 0x1, 0x10}, /* 32 */ {0, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {0, 0.1982398631705605, 0x1, 0x10}, /* 34 */ {0, 0.1965616322328226, 0x1, 0x10}, /* 35 */ {0, 0.1949590218937863, 0x1, 0x10}, /* 36 */ {0, 0.1934264036172708, 0x1, 0x10}, /* 37 */ {0, 0.1919587200065601, 0x1, 0x10}, /* 38 */ {0, 0.1905514124267734, 0x1, 0x10}, /* 39 */ {0, 0.1892003595168700, 0x1, 0x10}, /* 40 */ {0, 0.1879018247091076, 0x1, 0x10}, /* 41 */ {0, 0.1866524112389434, 0x1, 0x10}, /* 42 */ {0, 0.1854490234153689, 0x1, 0x10}, /* 43 */ {0, 0.1842888331487062, 0x1, 0x10}, /* 44 */ {0, 0.1831692509136336, 0x1, 0x10}, /* 45 */ {0, 0.1820879004699383, 0x1, 0x10}, /* 46 */ {0, 0.1810425967800402, 0x1, 0x10}, /* 47 */ {0, 0.1800313266566926, 0x1, 0x10}, /* 48 */ {0, 0.1790522317510414, 0x1, 0x10}, /* 49 */ {0, 0.1781035935540111, 0x1, 0x10}, /* 50 */ {0, 0.1771838201355579, 0x1, 0x10}, /* 51 */ {0, 0.1762914343888821, 0x1, 0x10}, /* 52 */ {0, 0.1754250635819545, 0x1, 0x10}, /* 53 */ {0, 0.1745834300480449, 0x1, 0x10}, /* 54 */ {0, 0.1737653428714400, 0x1, 0x10}, /* 55 */ {0, 0.1729696904450771, 0x1, 0x10}, /* 56 */ {0, 0.1721954337940981, 0x1, 0x10}, /* 57 */ {0, 0.1714416005739134, 0x1, 0x10}, /* 58 */ {0, 0.1707072796637201, 0x1, 0x10}, /* 59 */ {0, 0.1699916162869140, 0x1, 0x10}, /* 60 */ {0, 0.1692938075987814, 0x1, 0x10}, /* 61 */ {0, 0.1686130986895011, 0x1, 0x10}, /* 62 */ {0, 0.1679487789570419, 0x1, 0x10}, /* 63 */ {0, 0.1673001788101741, 0x1, 0x10}, /* 64 */ {0, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {0, 0.1660476462159378, 0x1, 0x10}, /* 66 */ {0, 0.1654425539190583, 0x1, 0x10}, /* 67 */ {0, 0.1648508567221603, 0x1, 0x10}, /* 68 */ {0, 0.1642720499620502, 0x1, 0x10}, /* 69 */ {0, 0.1637056554452156, 0x1, 0x10}, /* 70 */ {0, 0.1631512196835108, 0x1, 0x10}, /* 71 */ {0, 0.1626083122716342, 0x1, 0x10}, /* 72 */ {0, 0.1620765243931223, 0x1, 0x10}, /* 73 */ {0, 0.1615554674429964, 0x1, 0x10}, /* 74 */ {0, 0.1610447717564444, 0x1, 0x10}, /* 75 */ {0, 0.1605440854340214, 0x1, 0x10}, /* 76 */ {0, 0.1600530732548213, 0x1, 0x10}, /* 77 */ {0, 0.1595714156699382, 0x1, 0x10}, /* 78 */ {0, 0.1590988078692941, 0x1, 0x10}, /* 79 */ {0, 0.1586349589155960, 0x1, 0x10}, /* 80 */ {0, 0.1581795909397823, 0x1, 0x10}, /* 81 */ {0, 0.1577324383928644, 0x1, 0x10}, /* 82 */ {0, 0.1572932473495469, 0x1, 0x10}, /* 83 */ {0, 0.1568617748594410, 0x1, 0x10}, /* 84 */ {0, 0.1564377883420715, 0x1, 0x10}, /* 85 */ {0, 0.1560210650222250, 0x1, 0x10}, /* 86 */ {0, 0.1556113914024939, 0x1, 0x10}, /* 87 */ {0, 0.1552085627701551, 0x1, 0x10}, /* 88 */ {0, 0.1548123827357682, 0x1, 0x10}, /* 89 */ {0, 0.1544226628011101, 0x1, 0x10}, /* 90 */ {0, 0.1540392219542636, 0x1, 0x10}, /* 91 */ {0, 0.1536618862898642, 0x1, 0x10}, /* 92 */ {0, 0.1532904886526781, 0x1, 0x10}, /* 93 */ {0, 0.1529248683028321, 0x1, 0x10}, /* 94 */ {0, 0.1525648706011593, 0x1, 0x10}, /* 95 */ {0, 0.1522103467132434, 0x1, 0x10}, /* 96 */ {0, 0.1518611533308632, 0x1, 0x10}, /* 97 */ {0, 0.1515171524096389, 0x1, 0x10}, /* 98 */ {0, 0.1511782109217764, 0x1, 0x10}, /* 99 */ {0, 0.1508442006228941, 0x1, 0x10}, /* 100 */ {0, 0.1505149978319906, 0x1, 0x10}, /* 101 */ {0, 0.1501904832236880, 0x1, 0x10}, /* 102 */ {0, 0.1498705416319474, 0x1, 0x10}, /* 103 */ {0, 0.1495550618645152, 0x1, 0x10}, /* 104 */ {0, 0.1492439365274121, 0x1, 0x10}, /* 105 */ {0, 0.1489370618588283, 0x1, 0x10}, /* 106 */ {0, 0.1486343375718350, 0x1, 0x10}, /* 107 */ {0, 0.1483356667053617, 0x1, 0x10}, /* 108 */ {0, 0.1480409554829326, 0x1, 0x10}, /* 109 */ {0, 0.1477501131786861, 0x1, 0x10}, /* 110 */ {0, 0.1474630519902391, 0x1, 0x10}, /* 111 */ {0, 0.1471796869179852, 0x1, 0x10}, /* 112 */ {0, 0.1468999356504447, 0x1, 0x10}, /* 113 */ {0, 0.1466237184553111, 0x1, 0x10}, /* 114 */ {0, 0.1463509580758620, 0x1, 0x10}, /* 115 */ {0, 0.1460815796324244, 0x1, 0x10}, /* 116 */ {0, 0.1458155105286054, 0x1, 0x10}, /* 117 */ {0, 0.1455526803620167, 0x1, 0x10}, /* 118 */ {0, 0.1452930208392429, 0x1, 0x10}, /* 119 */ {0, 0.1450364656948130, 0x1, 0x10}, /* 120 */ {0, 0.1447829506139581, 0x1, 0x10}, /* 121 */ {0, 0.1445324131589439, 0x1, 0x10}, /* 122 */ {0, 0.1442847926987864, 0x1, 0x10}, /* 123 */ {0, 0.1440400303421672, 0x1, 0x10}, /* 124 */ {0, 0.1437980688733776, 0x1, 0x10}, /* 125 */ {0, 0.1435588526911310, 0x1, 0x10}, /* 126 */ {0, 0.1433223277500932, 0x1, 0x10}, /* 127 */ {0, 0.1430884415049874, 0x1, 0x10}, /* 128 */ {0, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {0, 0.1426283821033600, 0x1, 0x10}, /* 130 */ {0, 0.1424021108869747, 0x1, 0x10}, /* 131 */ {0, 0.1421782821510107, 0x1, 0x10}, /* 132 */ {0, 0.1419568500933153, 0x1, 0x10}, /* 133 */ {0, 0.1417377701235801, 0x1, 0x10}, /* 134 */ {0, 0.1415209988221527, 0x1, 0x10}, /* 135 */ {0, 0.1413064939005528, 0x1, 0x10}, /* 136 */ {0, 0.1410942141636095, 0x1, 0x10}, /* 137 */ {0, 0.1408841194731412, 0x1, 0x10}, /* 138 */ {0, 0.1406761707131039, 0x1, 0x10}, /* 139 */ {0, 0.1404703297561400, 0x1, 0x10}, /* 140 */ {0, 0.1402665594314587, 0x1, 0x10}, /* 141 */ {0, 0.1400648234939879, 0x1, 0x10}, /* 142 */ {0, 0.1398650865947379, 0x1, 0x10}, /* 143 */ {0, 0.1396673142523192, 0x1, 0x10}, /* 144 */ {0, 0.1394714728255649, 0x1, 0x10}, /* 145 */ {0, 0.1392775294872041, 0x1, 0x10}, /* 146 */ {0, 0.1390854521985406, 0x1, 0x10}, /* 147 */ {0, 0.1388952096850913, 0x1, 0x10}, /* 148 */ {0, 0.1387067714131417, 0x1, 0x10}, /* 149 */ {0, 0.1385201075671774, 0x1, 0x10}, /* 150 */ {0, 0.1383351890281539, 0x1, 0x10}, /* 151 */ {0, 0.1381519873525671, 0x1, 0x10}, /* 152 */ {0, 0.1379704747522905, 0x1, 0x10}, /* 153 */ {0, 0.1377906240751463, 0x1, 0x10}, /* 154 */ {0, 0.1376124087861776, 0x1, 0x10}, /* 155 */ {0, 0.1374358029495937, 0x1, 0x10}, /* 156 */ {0, 0.1372607812113589, 0x1, 0x10}, /* 157 */ {0, 0.1370873187823978, 0x1, 0x10}, /* 158 */ {0, 0.1369153914223921, 0x1, 0x10}, /* 159 */ {0, 0.1367449754241439, 0x1, 0x10}, /* 160 */ {0, 0.1365760475984821, 0x1, 0x10}, /* 161 */ {0, 0.1364085852596902, 0x1, 0x10}, /* 162 */ {0, 0.1362425662114337, 0x1, 0x10}, /* 163 */ {0, 0.1360779687331669, 0x1, 0x10}, /* 164 */ {0, 0.1359147715670014, 0x1, 0x10}, /* 165 */ {0, 0.1357529539050150, 0x1, 0x10}, /* 166 */ {0, 0.1355924953769864, 0x1, 0x10}, /* 167 */ {0, 0.1354333760385373, 0x1, 0x10}, /* 168 */ {0, 0.1352755763596663, 0x1, 0x10}, /* 169 */ {0, 0.1351190772136599, 0x1, 0x10}, /* 170 */ {0, 0.1349638598663645, 0x1, 0x10}, /* 171 */ {0, 0.1348099059658080, 0x1, 0x10}, /* 172 */ {0, 0.1346571975321549, 0x1, 0x10}, /* 173 */ {0, 0.1345057169479844, 0x1, 0x10}, /* 174 */ {0, 0.1343554469488779, 0x1, 0x10}, /* 175 */ {0, 0.1342063706143054, 0x1, 0x10}, /* 176 */ {0, 0.1340584713587979, 0x1, 0x10}, /* 177 */ {0, 0.1339117329233981, 0x1, 0x10}, /* 178 */ {0, 0.1337661393673756, 0x1, 0x10}, /* 179 */ {0, 0.1336216750601996, 0x1, 0x10}, /* 180 */ {0, 0.1334783246737591, 0x1, 0x10}, /* 181 */ {0, 0.1333360731748201, 0x1, 0x10}, /* 182 */ {0, 0.1331949058177136, 0x1, 0x10}, /* 183 */ {0, 0.1330548081372441, 0x1, 0x10}, /* 184 */ {0, 0.1329157659418126, 0x1, 0x10}, /* 185 */ {0, 0.1327777653067443, 0x1, 0x10}, /* 186 */ {0, 0.1326407925678156, 0x1, 0x10}, /* 187 */ {0, 0.1325048343149731, 0x1, 0x10}, /* 188 */ {0, 0.1323698773862368, 0x1, 0x10}, /* 189 */ {0, 0.1322359088617821, 0x1, 0x10}, /* 190 */ {0, 0.1321029160581950, 0x1, 0x10}, /* 191 */ {0, 0.1319708865228925, 0x1, 0x10}, /* 192 */ {0, 0.1318398080287045, 0x1, 0x10}, /* 193 */ {0, 0.1317096685686114, 0x1, 0x10}, /* 194 */ {0, 0.1315804563506306, 0x1, 0x10}, /* 195 */ {0, 0.1314521597928493, 0x1, 0x10}, /* 196 */ {0, 0.1313247675185968, 0x1, 0x10}, /* 197 */ {0, 0.1311982683517524, 0x1, 0x10}, /* 198 */ {0, 0.1310726513121843, 0x1, 0x10}, /* 199 */ {0, 0.1309479056113158, 0x1, 0x10}, /* 200 */ {0, 0.1308240206478128, 0x1, 0x10}, /* 201 */ {0, 0.1307009860033912, 0x1, 0x10}, /* 202 */ {0, 0.1305787914387386, 0x1, 0x10}, /* 203 */ {0, 0.1304574268895465, 0x1, 0x10}, /* 204 */ {0, 0.1303368824626505, 0x1, 0x10}, /* 205 */ {0, 0.1302171484322746, 0x1, 0x10}, /* 206 */ {0, 0.1300982152363760, 0x1, 0x10}, /* 207 */ {0, 0.1299800734730872, 0x1, 0x10}, /* 208 */ {0, 0.1298627138972530, 0x1, 0x10}, /* 209 */ {0, 0.1297461274170591, 0x1, 0x10}, /* 210 */ {0, 0.1296303050907487, 0x1, 0x10}, /* 211 */ {0, 0.1295152381234257, 0x1, 0x10}, /* 212 */ {0, 0.1294009178639407, 0x1, 0x10}, /* 213 */ {0, 0.1292873358018581, 0x1, 0x10}, /* 214 */ {0, 0.1291744835645007, 0x1, 0x10}, /* 215 */ {0, 0.1290623529140715, 0x1, 0x10}, /* 216 */ {0, 0.1289509357448472, 0x1, 0x10}, /* 217 */ {0, 0.1288402240804449, 0x1, 0x10}, /* 218 */ {0, 0.1287302100711566, 0x1, 0x10}, /* 219 */ {0, 0.1286208859913518, 0x1, 0x10}, /* 220 */ {0, 0.1285122442369443, 0x1, 0x10}, /* 221 */ {0, 0.1284042773229231, 0x1, 0x10}, /* 222 */ {0, 0.1282969778809442, 0x1, 0x10}, /* 223 */ {0, 0.1281903386569819, 0x1, 0x10}, /* 224 */ {0, 0.1280843525090381, 0x1, 0x10}, /* 225 */ {0, 0.1279790124049077, 0x1, 0x10}, /* 226 */ {0, 0.1278743114199984, 0x1, 0x10}, /* 227 */ {0, 0.1277702427352035, 0x1, 0x10}, /* 228 */ {0, 0.1276667996348261, 0x1, 0x10}, /* 229 */ {0, 0.1275639755045533, 0x1, 0x10}, /* 230 */ {0, 0.1274617638294791, 0x1, 0x10}, /* 231 */ {0, 0.1273601581921740, 0x1, 0x10}, /* 232 */ {0, 0.1272591522708010, 0x1, 0x10}, /* 233 */ {0, 0.1271587398372755, 0x1, 0x10}, /* 234 */ {0, 0.1270589147554692, 0x1, 0x10}, /* 235 */ {0, 0.1269596709794558, 0x1, 0x10}, /* 236 */ {0, 0.1268610025517973, 0x1, 0x10}, /* 237 */ {0, 0.1267629036018709, 0x1, 0x10}, /* 238 */ {0, 0.1266653683442337, 0x1, 0x10}, /* 239 */ {0, 0.1265683910770258, 0x1, 0x10}, /* 240 */ {0, 0.1264719661804097, 0x1, 0x10}, /* 241 */ {0, 0.1263760881150453, 0x1, 0x10}, /* 242 */ {0, 0.1262807514205999, 0x1, 0x10}, /* 243 */ {0, 0.1261859507142915, 0x1, 0x10}, /* 244 */ {0, 0.1260916806894653, 0x1, 0x10}, /* 245 */ {0, 0.1259979361142023, 0x1, 0x10}, /* 246 */ {0, 0.1259047118299582, 0x1, 0x10}, /* 247 */ {0, 0.1258120027502338, 0x1, 0x10}, /* 248 */ {0, 0.1257198038592741, 0x1, 0x10}, /* 249 */ {0, 0.1256281102107963, 0x1, 0x10}, /* 250 */ {0, 0.1255369169267456, 0x1, 0x10}, /* 251 */ {0, 0.1254462191960791, 0x1, 0x10}, /* 252 */ {0, 0.1253560122735751, 0x1, 0x10}, /* 253 */ {0, 0.1252662914786691, 0x1, 0x10}, /* 254 */ {0, 0.1251770521943144, 0x1, 0x10}, /* 255 */ {0, 0.1250882898658681, 0x1, 0x10}, /* 256 */ {0, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 4 */ #if GMP_NUMB_BITS == 8 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {8, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {5, 0.6309297535714574, 0xf3, 0xd}, /* 4 */ {4, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {3, 0.4306765580733931, 0x7d, 0x6}, /* 6 */ {3, 0.3868528072345416, 0xd8, 0x2f}, /* 7 */ {2, 0.3562071871080222, 0x31, 0x4e}, /* 8 */ {2, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {2, 0.3154648767857287, 0x51, 0x94}, /* 10 */ {2, 0.3010299956639812, 0x64, 0x47}, /* 11 */ {2, 0.2890648263178878, 0x79, 0xe}, /* 12 */ {2, 0.2789429456511298, 0x90, 0xc7}, /* 13 */ {2, 0.2702381544273197, 0xa9, 0x83}, /* 14 */ {2, 0.2626495350371935, 0xc4, 0x4e}, /* 15 */ {2, 0.2559580248098155, 0xe1, 0x23}, /* 16 */ {2, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {1, 0.2446505421182260, 0x11, 0xe1}, /* 18 */ {1, 0.2398124665681314, 0x12, 0xc7}, /* 19 */ {1, 0.2354089133666382, 0x13, 0xaf}, /* 20 */ {1, 0.2313782131597592, 0x14, 0x99}, /* 21 */ {1, 0.2276702486969530, 0x15, 0x86}, /* 22 */ {1, 0.2242438242175754, 0x16, 0x74}, /* 23 */ {1, 0.2210647294575037, 0x17, 0x64}, /* 24 */ {1, 0.2181042919855316, 0x18, 0x55}, /* 25 */ {1, 0.2153382790366965, 0x19, 0x47}, /* 26 */ {1, 0.2127460535533632, 0x1a, 0x3b}, /* 27 */ {1, 0.2103099178571525, 0x1b, 0x2f}, /* 28 */ {1, 0.2080145976765095, 0x1c, 0x24}, /* 29 */ {1, 0.2058468324604344, 0x1d, 0x1a}, /* 30 */ {1, 0.2037950470905062, 0x1e, 0x11}, /* 31 */ {1, 0.2018490865820999, 0x1f, 0x8}, /* 32 */ {1, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {1, 0.1982398631705605, 0x21, 0xf0}, /* 34 */ {1, 0.1965616322328226, 0x22, 0xe1}, /* 35 */ {1, 0.1949590218937863, 0x23, 0xd4}, /* 36 */ {1, 0.1934264036172708, 0x24, 0xc7}, /* 37 */ {1, 0.1919587200065601, 0x25, 0xba}, /* 38 */ {1, 0.1905514124267734, 0x26, 0xaf}, /* 39 */ {1, 0.1892003595168700, 0x27, 0xa4}, /* 40 */ {1, 0.1879018247091076, 0x28, 0x99}, /* 41 */ {1, 0.1866524112389434, 0x29, 0x8f}, /* 42 */ {1, 0.1854490234153689, 0x2a, 0x86}, /* 43 */ {1, 0.1842888331487062, 0x2b, 0x7d}, /* 44 */ {1, 0.1831692509136336, 0x2c, 0x74}, /* 45 */ {1, 0.1820879004699383, 0x2d, 0x6c}, /* 46 */ {1, 0.1810425967800402, 0x2e, 0x64}, /* 47 */ {1, 0.1800313266566926, 0x2f, 0x5c}, /* 48 */ {1, 0.1790522317510414, 0x30, 0x55}, /* 49 */ {1, 0.1781035935540111, 0x31, 0x4e}, /* 50 */ {1, 0.1771838201355579, 0x32, 0x47}, /* 51 */ {1, 0.1762914343888821, 0x33, 0x41}, /* 52 */ {1, 0.1754250635819545, 0x34, 0x3b}, /* 53 */ {1, 0.1745834300480449, 0x35, 0x35}, /* 54 */ {1, 0.1737653428714400, 0x36, 0x2f}, /* 55 */ {1, 0.1729696904450771, 0x37, 0x29}, /* 56 */ {1, 0.1721954337940981, 0x38, 0x24}, /* 57 */ {1, 0.1714416005739134, 0x39, 0x1f}, /* 58 */ {1, 0.1707072796637201, 0x3a, 0x1a}, /* 59 */ {1, 0.1699916162869140, 0x3b, 0x15}, /* 60 */ {1, 0.1692938075987814, 0x3c, 0x11}, /* 61 */ {1, 0.1686130986895011, 0x3d, 0xc}, /* 62 */ {1, 0.1679487789570419, 0x3e, 0x8}, /* 63 */ {1, 0.1673001788101741, 0x3f, 0x4}, /* 64 */ {1, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {1, 0.1660476462159378, 0x41, 0xf8}, /* 66 */ {1, 0.1654425539190583, 0x42, 0xf0}, /* 67 */ {1, 0.1648508567221603, 0x43, 0xe9}, /* 68 */ {1, 0.1642720499620502, 0x44, 0xe1}, /* 69 */ {1, 0.1637056554452156, 0x45, 0xda}, /* 70 */ {1, 0.1631512196835108, 0x46, 0xd4}, /* 71 */ {1, 0.1626083122716342, 0x47, 0xcd}, /* 72 */ {1, 0.1620765243931223, 0x48, 0xc7}, /* 73 */ {1, 0.1615554674429964, 0x49, 0xc0}, /* 74 */ {1, 0.1610447717564444, 0x4a, 0xba}, /* 75 */ {1, 0.1605440854340214, 0x4b, 0xb4}, /* 76 */ {1, 0.1600530732548213, 0x4c, 0xaf}, /* 77 */ {1, 0.1595714156699382, 0x4d, 0xa9}, /* 78 */ {1, 0.1590988078692941, 0x4e, 0xa4}, /* 79 */ {1, 0.1586349589155960, 0x4f, 0x9e}, /* 80 */ {1, 0.1581795909397823, 0x50, 0x99}, /* 81 */ {1, 0.1577324383928644, 0x51, 0x94}, /* 82 */ {1, 0.1572932473495469, 0x52, 0x8f}, /* 83 */ {1, 0.1568617748594410, 0x53, 0x8a}, /* 84 */ {1, 0.1564377883420715, 0x54, 0x86}, /* 85 */ {1, 0.1560210650222250, 0x55, 0x81}, /* 86 */ {1, 0.1556113914024939, 0x56, 0x7d}, /* 87 */ {1, 0.1552085627701551, 0x57, 0x78}, /* 88 */ {1, 0.1548123827357682, 0x58, 0x74}, /* 89 */ {1, 0.1544226628011101, 0x59, 0x70}, /* 90 */ {1, 0.1540392219542636, 0x5a, 0x6c}, /* 91 */ {1, 0.1536618862898642, 0x5b, 0x68}, /* 92 */ {1, 0.1532904886526781, 0x5c, 0x64}, /* 93 */ {1, 0.1529248683028321, 0x5d, 0x60}, /* 94 */ {1, 0.1525648706011593, 0x5e, 0x5c}, /* 95 */ {1, 0.1522103467132434, 0x5f, 0x58}, /* 96 */ {1, 0.1518611533308632, 0x60, 0x55}, /* 97 */ {1, 0.1515171524096389, 0x61, 0x51}, /* 98 */ {1, 0.1511782109217764, 0x62, 0x4e}, /* 99 */ {1, 0.1508442006228941, 0x63, 0x4a}, /* 100 */ {1, 0.1505149978319906, 0x64, 0x47}, /* 101 */ {1, 0.1501904832236880, 0x65, 0x44}, /* 102 */ {1, 0.1498705416319474, 0x66, 0x41}, /* 103 */ {1, 0.1495550618645152, 0x67, 0x3e}, /* 104 */ {1, 0.1492439365274121, 0x68, 0x3b}, /* 105 */ {1, 0.1489370618588283, 0x69, 0x38}, /* 106 */ {1, 0.1486343375718350, 0x6a, 0x35}, /* 107 */ {1, 0.1483356667053617, 0x6b, 0x32}, /* 108 */ {1, 0.1480409554829326, 0x6c, 0x2f}, /* 109 */ {1, 0.1477501131786861, 0x6d, 0x2c}, /* 110 */ {1, 0.1474630519902391, 0x6e, 0x29}, /* 111 */ {1, 0.1471796869179852, 0x6f, 0x27}, /* 112 */ {1, 0.1468999356504447, 0x70, 0x24}, /* 113 */ {1, 0.1466237184553111, 0x71, 0x21}, /* 114 */ {1, 0.1463509580758620, 0x72, 0x1f}, /* 115 */ {1, 0.1460815796324244, 0x73, 0x1c}, /* 116 */ {1, 0.1458155105286054, 0x74, 0x1a}, /* 117 */ {1, 0.1455526803620167, 0x75, 0x18}, /* 118 */ {1, 0.1452930208392429, 0x76, 0x15}, /* 119 */ {1, 0.1450364656948130, 0x77, 0x13}, /* 120 */ {1, 0.1447829506139581, 0x78, 0x11}, /* 121 */ {1, 0.1445324131589439, 0x79, 0xe}, /* 122 */ {1, 0.1442847926987864, 0x7a, 0xc}, /* 123 */ {1, 0.1440400303421672, 0x7b, 0xa}, /* 124 */ {1, 0.1437980688733776, 0x7c, 0x8}, /* 125 */ {1, 0.1435588526911310, 0x7d, 0x6}, /* 126 */ {1, 0.1433223277500932, 0x7e, 0x4}, /* 127 */ {1, 0.1430884415049874, 0x7f, 0x2}, /* 128 */ {1, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {1, 0.1426283821033600, 0x81, 0xfc}, /* 130 */ {1, 0.1424021108869747, 0x82, 0xf8}, /* 131 */ {1, 0.1421782821510107, 0x83, 0xf4}, /* 132 */ {1, 0.1419568500933153, 0x84, 0xf0}, /* 133 */ {1, 0.1417377701235801, 0x85, 0xec}, /* 134 */ {1, 0.1415209988221527, 0x86, 0xe9}, /* 135 */ {1, 0.1413064939005528, 0x87, 0xe5}, /* 136 */ {1, 0.1410942141636095, 0x88, 0xe1}, /* 137 */ {1, 0.1408841194731412, 0x89, 0xde}, /* 138 */ {1, 0.1406761707131039, 0x8a, 0xda}, /* 139 */ {1, 0.1404703297561400, 0x8b, 0xd7}, /* 140 */ {1, 0.1402665594314587, 0x8c, 0xd4}, /* 141 */ {1, 0.1400648234939879, 0x8d, 0xd0}, /* 142 */ {1, 0.1398650865947379, 0x8e, 0xcd}, /* 143 */ {1, 0.1396673142523192, 0x8f, 0xca}, /* 144 */ {1, 0.1394714728255649, 0x90, 0xc7}, /* 145 */ {1, 0.1392775294872041, 0x91, 0xc3}, /* 146 */ {1, 0.1390854521985406, 0x92, 0xc0}, /* 147 */ {1, 0.1388952096850913, 0x93, 0xbd}, /* 148 */ {1, 0.1387067714131417, 0x94, 0xba}, /* 149 */ {1, 0.1385201075671774, 0x95, 0xb7}, /* 150 */ {1, 0.1383351890281539, 0x96, 0xb4}, /* 151 */ {1, 0.1381519873525671, 0x97, 0xb2}, /* 152 */ {1, 0.1379704747522905, 0x98, 0xaf}, /* 153 */ {1, 0.1377906240751463, 0x99, 0xac}, /* 154 */ {1, 0.1376124087861776, 0x9a, 0xa9}, /* 155 */ {1, 0.1374358029495937, 0x9b, 0xa6}, /* 156 */ {1, 0.1372607812113589, 0x9c, 0xa4}, /* 157 */ {1, 0.1370873187823978, 0x9d, 0xa1}, /* 158 */ {1, 0.1369153914223921, 0x9e, 0x9e}, /* 159 */ {1, 0.1367449754241439, 0x9f, 0x9c}, /* 160 */ {1, 0.1365760475984821, 0xa0, 0x99}, /* 161 */ {1, 0.1364085852596902, 0xa1, 0x97}, /* 162 */ {1, 0.1362425662114337, 0xa2, 0x94}, /* 163 */ {1, 0.1360779687331669, 0xa3, 0x92}, /* 164 */ {1, 0.1359147715670014, 0xa4, 0x8f}, /* 165 */ {1, 0.1357529539050150, 0xa5, 0x8d}, /* 166 */ {1, 0.1355924953769864, 0xa6, 0x8a}, /* 167 */ {1, 0.1354333760385373, 0xa7, 0x88}, /* 168 */ {1, 0.1352755763596663, 0xa8, 0x86}, /* 169 */ {1, 0.1351190772136599, 0xa9, 0x83}, /* 170 */ {1, 0.1349638598663645, 0xaa, 0x81}, /* 171 */ {1, 0.1348099059658080, 0xab, 0x7f}, /* 172 */ {1, 0.1346571975321549, 0xac, 0x7d}, /* 173 */ {1, 0.1345057169479844, 0xad, 0x7a}, /* 174 */ {1, 0.1343554469488779, 0xae, 0x78}, /* 175 */ {1, 0.1342063706143054, 0xaf, 0x76}, /* 176 */ {1, 0.1340584713587979, 0xb0, 0x74}, /* 177 */ {1, 0.1339117329233981, 0xb1, 0x72}, /* 178 */ {1, 0.1337661393673756, 0xb2, 0x70}, /* 179 */ {1, 0.1336216750601996, 0xb3, 0x6e}, /* 180 */ {1, 0.1334783246737591, 0xb4, 0x6c}, /* 181 */ {1, 0.1333360731748201, 0xb5, 0x6a}, /* 182 */ {1, 0.1331949058177136, 0xb6, 0x68}, /* 183 */ {1, 0.1330548081372441, 0xb7, 0x66}, /* 184 */ {1, 0.1329157659418126, 0xb8, 0x64}, /* 185 */ {1, 0.1327777653067443, 0xb9, 0x62}, /* 186 */ {1, 0.1326407925678156, 0xba, 0x60}, /* 187 */ {1, 0.1325048343149731, 0xbb, 0x5e}, /* 188 */ {1, 0.1323698773862368, 0xbc, 0x5c}, /* 189 */ {1, 0.1322359088617821, 0xbd, 0x5a}, /* 190 */ {1, 0.1321029160581950, 0xbe, 0x58}, /* 191 */ {1, 0.1319708865228925, 0xbf, 0x57}, /* 192 */ {1, 0.1318398080287045, 0xc0, 0x55}, /* 193 */ {1, 0.1317096685686114, 0xc1, 0x53}, /* 194 */ {1, 0.1315804563506306, 0xc2, 0x51}, /* 195 */ {1, 0.1314521597928493, 0xc3, 0x50}, /* 196 */ {1, 0.1313247675185968, 0xc4, 0x4e}, /* 197 */ {1, 0.1311982683517524, 0xc5, 0x4c}, /* 198 */ {1, 0.1310726513121843, 0xc6, 0x4a}, /* 199 */ {1, 0.1309479056113158, 0xc7, 0x49}, /* 200 */ {1, 0.1308240206478128, 0xc8, 0x47}, /* 201 */ {1, 0.1307009860033912, 0xc9, 0x46}, /* 202 */ {1, 0.1305787914387386, 0xca, 0x44}, /* 203 */ {1, 0.1304574268895465, 0xcb, 0x42}, /* 204 */ {1, 0.1303368824626505, 0xcc, 0x41}, /* 205 */ {1, 0.1302171484322746, 0xcd, 0x3f}, /* 206 */ {1, 0.1300982152363760, 0xce, 0x3e}, /* 207 */ {1, 0.1299800734730872, 0xcf, 0x3c}, /* 208 */ {1, 0.1298627138972530, 0xd0, 0x3b}, /* 209 */ {1, 0.1297461274170591, 0xd1, 0x39}, /* 210 */ {1, 0.1296303050907487, 0xd2, 0x38}, /* 211 */ {1, 0.1295152381234257, 0xd3, 0x36}, /* 212 */ {1, 0.1294009178639407, 0xd4, 0x35}, /* 213 */ {1, 0.1292873358018581, 0xd5, 0x33}, /* 214 */ {1, 0.1291744835645007, 0xd6, 0x32}, /* 215 */ {1, 0.1290623529140715, 0xd7, 0x30}, /* 216 */ {1, 0.1289509357448472, 0xd8, 0x2f}, /* 217 */ {1, 0.1288402240804449, 0xd9, 0x2e}, /* 218 */ {1, 0.1287302100711566, 0xda, 0x2c}, /* 219 */ {1, 0.1286208859913518, 0xdb, 0x2b}, /* 220 */ {1, 0.1285122442369443, 0xdc, 0x29}, /* 221 */ {1, 0.1284042773229231, 0xdd, 0x28}, /* 222 */ {1, 0.1282969778809442, 0xde, 0x27}, /* 223 */ {1, 0.1281903386569819, 0xdf, 0x25}, /* 224 */ {1, 0.1280843525090381, 0xe0, 0x24}, /* 225 */ {1, 0.1279790124049077, 0xe1, 0x23}, /* 226 */ {1, 0.1278743114199984, 0xe2, 0x21}, /* 227 */ {1, 0.1277702427352035, 0xe3, 0x20}, /* 228 */ {1, 0.1276667996348261, 0xe4, 0x1f}, /* 229 */ {1, 0.1275639755045533, 0xe5, 0x1e}, /* 230 */ {1, 0.1274617638294791, 0xe6, 0x1c}, /* 231 */ {1, 0.1273601581921740, 0xe7, 0x1b}, /* 232 */ {1, 0.1272591522708010, 0xe8, 0x1a}, /* 233 */ {1, 0.1271587398372755, 0xe9, 0x19}, /* 234 */ {1, 0.1270589147554692, 0xea, 0x18}, /* 235 */ {1, 0.1269596709794558, 0xeb, 0x16}, /* 236 */ {1, 0.1268610025517973, 0xec, 0x15}, /* 237 */ {1, 0.1267629036018709, 0xed, 0x14}, /* 238 */ {1, 0.1266653683442337, 0xee, 0x13}, /* 239 */ {1, 0.1265683910770258, 0xef, 0x12}, /* 240 */ {1, 0.1264719661804097, 0xf0, 0x11}, /* 241 */ {1, 0.1263760881150453, 0xf1, 0xf}, /* 242 */ {1, 0.1262807514205999, 0xf2, 0xe}, /* 243 */ {1, 0.1261859507142915, 0xf3, 0xd}, /* 244 */ {1, 0.1260916806894653, 0xf4, 0xc}, /* 245 */ {1, 0.1259979361142023, 0xf5, 0xb}, /* 246 */ {1, 0.1259047118299582, 0xf6, 0xa}, /* 247 */ {1, 0.1258120027502338, 0xf7, 0x9}, /* 248 */ {1, 0.1257198038592741, 0xf8, 0x8}, /* 249 */ {1, 0.1256281102107963, 0xf9, 0x7}, /* 250 */ {1, 0.1255369169267456, 0xfa, 0x6}, /* 251 */ {1, 0.1254462191960791, 0xfb, 0x5}, /* 252 */ {1, 0.1253560122735751, 0xfc, 0x4}, /* 253 */ {1, 0.1252662914786691, 0xfd, 0x3}, /* 254 */ {1, 0.1251770521943144, 0xfe, 0x2}, /* 255 */ {1, 0.1250882898658681, 0xff, 0x1}, /* 256 */ {1, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 8 */ #if GMP_NUMB_BITS == 16 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {16, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {10, 0.6309297535714574, 0xe6a9, 0x1c1f}, /* 4 */ {8, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {6, 0.4306765580733931, 0x3d09, 0xc6f}, /* 6 */ {6, 0.3868528072345416, 0xb640, 0x6798}, /* 7 */ {5, 0.3562071871080222, 0x41a7, 0xf31d}, /* 8 */ {5, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {5, 0.3154648767857287, 0xe6a9, 0x1c1f}, /* 10 */ {4, 0.3010299956639812, 0x2710, 0xa36e}, /* 11 */ {4, 0.2890648263178878, 0x3931, 0x1e7a}, /* 12 */ {4, 0.2789429456511298, 0x5100, 0x948b}, /* 13 */ {4, 0.2702381544273197, 0x6f91, 0x25b5}, /* 14 */ {4, 0.2626495350371935, 0x9610, 0xb4b9}, /* 15 */ {4, 0.2559580248098155, 0xc5c1, 0x4b66}, /* 16 */ {4, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {3, 0.2446505421182260, 0x1331, 0xaadb}, /* 18 */ {3, 0.2398124665681314, 0x16c8, 0x6798}, /* 19 */ {3, 0.2354089133666382, 0x1acb, 0x31c0}, /* 20 */ {3, 0.2313782131597592, 0x1f40, 0x624}, /* 21 */ {3, 0.2276702486969530, 0x242d, 0xc4e6}, /* 22 */ {3, 0.2242438242175754, 0x2998, 0x89e7}, /* 23 */ {3, 0.2210647294575037, 0x2f87, 0x58ba}, /* 24 */ {3, 0.2181042919855316, 0x3600, 0x2f68}, /* 25 */ {3, 0.2153382790366965, 0x3d09, 0xc6f}, /* 26 */ {3, 0.2127460535533632, 0x44a8, 0xdd46}, /* 27 */ {3, 0.2103099178571525, 0x4ce3, 0xaa2f}, /* 28 */ {3, 0.2080145976765095, 0x55c0, 0x7e22}, /* 29 */ {3, 0.2058468324604344, 0x5f45, 0x57f3}, /* 30 */ {3, 0.2037950470905062, 0x6978, 0x36b0}, /* 31 */ {3, 0.2018490865820999, 0x745f, 0x1994}, /* 32 */ {3, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {3, 0.1982398631705605, 0x8c61, 0xd2d9}, /* 34 */ {3, 0.1965616322328226, 0x9988, 0xaadb}, /* 35 */ {3, 0.1949590218937863, 0xa77b, 0x874e}, /* 36 */ {3, 0.1934264036172708, 0xb640, 0x6798}, /* 37 */ {3, 0.1919587200065601, 0xc5dd, 0x4b37}, /* 38 */ {3, 0.1905514124267734, 0xd658, 0x31c0}, /* 39 */ {3, 0.1892003595168700, 0xe7b7, 0x1ad4}, /* 40 */ {3, 0.1879018247091076, 0xfa00, 0x624}, /* 41 */ {2, 0.1866524112389434, 0x691, 0x37e3}, /* 42 */ {2, 0.1854490234153689, 0x6e4, 0x2937}, /* 43 */ {2, 0.1842888331487062, 0x739, 0x1b8d}, /* 44 */ {2, 0.1831692509136336, 0x790, 0xecf}, /* 45 */ {2, 0.1820879004699383, 0x7e9, 0x2e8}, /* 46 */ {2, 0.1810425967800402, 0x844, 0xef8b}, /* 47 */ {2, 0.1800313266566926, 0x8a1, 0xdaae}, /* 48 */ {2, 0.1790522317510414, 0x900, 0xc71c}, /* 49 */ {2, 0.1781035935540111, 0x961, 0xb4b9}, /* 50 */ {2, 0.1771838201355579, 0x9c4, 0xa36e}, /* 51 */ {2, 0.1762914343888821, 0xa29, 0x9324}, /* 52 */ {2, 0.1754250635819545, 0xa90, 0x83c9}, /* 53 */ {2, 0.1745834300480449, 0xaf9, 0x754a}, /* 54 */ {2, 0.1737653428714400, 0xb64, 0x6798}, /* 55 */ {2, 0.1729696904450771, 0xbd1, 0x5aa2}, /* 56 */ {2, 0.1721954337940981, 0xc40, 0x4e5e}, /* 57 */ {2, 0.1714416005739134, 0xcb1, 0x42bc}, /* 58 */ {2, 0.1707072796637201, 0xd24, 0x37b4}, /* 59 */ {2, 0.1699916162869140, 0xd99, 0x2d3a}, /* 60 */ {2, 0.1692938075987814, 0xe10, 0x2345}, /* 61 */ {2, 0.1686130986895011, 0xe89, 0x19cc}, /* 62 */ {2, 0.1679487789570419, 0xf04, 0x10c8}, /* 63 */ {2, 0.1673001788101741, 0xf81, 0x831}, /* 64 */ {2, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {2, 0.1660476462159378, 0x1081, 0xf05e}, /* 66 */ {2, 0.1654425539190583, 0x1104, 0xe170}, /* 67 */ {2, 0.1648508567221603, 0x1189, 0xd32c}, /* 68 */ {2, 0.1642720499620502, 0x1210, 0xc589}, /* 69 */ {2, 0.1637056554452156, 0x1299, 0xb87c}, /* 70 */ {2, 0.1631512196835108, 0x1324, 0xabfd}, /* 71 */ {2, 0.1626083122716342, 0x13b1, 0xa004}, /* 72 */ {2, 0.1620765243931223, 0x1440, 0x948b}, /* 73 */ {2, 0.1615554674429964, 0x14d1, 0x8989}, /* 74 */ {2, 0.1610447717564444, 0x1564, 0x7ef8}, /* 75 */ {2, 0.1605440854340214, 0x15f9, 0x74d3}, /* 76 */ {2, 0.1600530732548213, 0x1690, 0x6b14}, /* 77 */ {2, 0.1595714156699382, 0x1729, 0x61b5}, /* 78 */ {2, 0.1590988078692941, 0x17c4, 0x58b3}, /* 79 */ {2, 0.1586349589155960, 0x1861, 0x5007}, /* 80 */ {2, 0.1581795909397823, 0x1900, 0x47ae}, /* 81 */ {2, 0.1577324383928644, 0x19a1, 0x3fa3}, /* 82 */ {2, 0.1572932473495469, 0x1a44, 0x37e3}, /* 83 */ {2, 0.1568617748594410, 0x1ae9, 0x306b}, /* 84 */ {2, 0.1564377883420715, 0x1b90, 0x2937}, /* 85 */ {2, 0.1560210650222250, 0x1c39, 0x2243}, /* 86 */ {2, 0.1556113914024939, 0x1ce4, 0x1b8d}, /* 87 */ {2, 0.1552085627701551, 0x1d91, 0x1512}, /* 88 */ {2, 0.1548123827357682, 0x1e40, 0xecf}, /* 89 */ {2, 0.1544226628011101, 0x1ef1, 0x8c2}, /* 90 */ {2, 0.1540392219542636, 0x1fa4, 0x2e8}, /* 91 */ {2, 0.1536618862898642, 0x2059, 0xfa7f}, /* 92 */ {2, 0.1532904886526781, 0x2110, 0xef8b}, /* 93 */ {2, 0.1529248683028321, 0x21c9, 0xe4f2}, /* 94 */ {2, 0.1525648706011593, 0x2284, 0xdaae}, /* 95 */ {2, 0.1522103467132434, 0x2341, 0xd0be}, /* 96 */ {2, 0.1518611533308632, 0x2400, 0xc71c}, /* 97 */ {2, 0.1515171524096389, 0x24c1, 0xbdc6}, /* 98 */ {2, 0.1511782109217764, 0x2584, 0xb4b9}, /* 99 */ {2, 0.1508442006228941, 0x2649, 0xabf2}, /* 100 */ {2, 0.1505149978319906, 0x2710, 0xa36e}, /* 101 */ {2, 0.1501904832236880, 0x27d9, 0x9b2a}, /* 102 */ {2, 0.1498705416319474, 0x28a4, 0x9324}, /* 103 */ {2, 0.1495550618645152, 0x2971, 0x8b5a}, /* 104 */ {2, 0.1492439365274121, 0x2a40, 0x83c9}, /* 105 */ {2, 0.1489370618588283, 0x2b11, 0x7c6f}, /* 106 */ {2, 0.1486343375718350, 0x2be4, 0x754a}, /* 107 */ {2, 0.1483356667053617, 0x2cb9, 0x6e58}, /* 108 */ {2, 0.1480409554829326, 0x2d90, 0x6798}, /* 109 */ {2, 0.1477501131786861, 0x2e69, 0x6106}, /* 110 */ {2, 0.1474630519902391, 0x2f44, 0x5aa2}, /* 111 */ {2, 0.1471796869179852, 0x3021, 0x546b}, /* 112 */ {2, 0.1468999356504447, 0x3100, 0x4e5e}, /* 113 */ {2, 0.1466237184553111, 0x31e1, 0x4879}, /* 114 */ {2, 0.1463509580758620, 0x32c4, 0x42bc}, /* 115 */ {2, 0.1460815796324244, 0x33a9, 0x3d26}, /* 116 */ {2, 0.1458155105286054, 0x3490, 0x37b4}, /* 117 */ {2, 0.1455526803620167, 0x3579, 0x3266}, /* 118 */ {2, 0.1452930208392429, 0x3664, 0x2d3a}, /* 119 */ {2, 0.1450364656948130, 0x3751, 0x282f}, /* 120 */ {2, 0.1447829506139581, 0x3840, 0x2345}, /* 121 */ {2, 0.1445324131589439, 0x3931, 0x1e7a}, /* 122 */ {2, 0.1442847926987864, 0x3a24, 0x19cc}, /* 123 */ {2, 0.1440400303421672, 0x3b19, 0x153c}, /* 124 */ {2, 0.1437980688733776, 0x3c10, 0x10c8}, /* 125 */ {2, 0.1435588526911310, 0x3d09, 0xc6f}, /* 126 */ {2, 0.1433223277500932, 0x3e04, 0x831}, /* 127 */ {2, 0.1430884415049874, 0x3f01, 0x40c}, /* 128 */ {2, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {2, 0.1426283821033600, 0x4101, 0xf817}, /* 130 */ {2, 0.1424021108869747, 0x4204, 0xf05e}, /* 131 */ {2, 0.1421782821510107, 0x4309, 0xe8d1}, /* 132 */ {2, 0.1419568500933153, 0x4410, 0xe170}, /* 133 */ {2, 0.1417377701235801, 0x4519, 0xda3a}, /* 134 */ {2, 0.1415209988221527, 0x4624, 0xd32c}, /* 135 */ {2, 0.1413064939005528, 0x4731, 0xcc47}, /* 136 */ {2, 0.1410942141636095, 0x4840, 0xc589}, /* 137 */ {2, 0.1408841194731412, 0x4951, 0xbef0}, /* 138 */ {2, 0.1406761707131039, 0x4a64, 0xb87c}, /* 139 */ {2, 0.1404703297561400, 0x4b79, 0xb22b}, /* 140 */ {2, 0.1402665594314587, 0x4c90, 0xabfd}, /* 141 */ {2, 0.1400648234939879, 0x4da9, 0xa5f0}, /* 142 */ {2, 0.1398650865947379, 0x4ec4, 0xa004}, /* 143 */ {2, 0.1396673142523192, 0x4fe1, 0x9a38}, /* 144 */ {2, 0.1394714728255649, 0x5100, 0x948b}, /* 145 */ {2, 0.1392775294872041, 0x5221, 0x8efb}, /* 146 */ {2, 0.1390854521985406, 0x5344, 0x8989}, /* 147 */ {2, 0.1388952096850913, 0x5469, 0x8433}, /* 148 */ {2, 0.1387067714131417, 0x5590, 0x7ef8}, /* 149 */ {2, 0.1385201075671774, 0x56b9, 0x79d9}, /* 150 */ {2, 0.1383351890281539, 0x57e4, 0x74d3}, /* 151 */ {2, 0.1381519873525671, 0x5911, 0x6fe7}, /* 152 */ {2, 0.1379704747522905, 0x5a40, 0x6b14}, /* 153 */ {2, 0.1377906240751463, 0x5b71, 0x6659}, /* 154 */ {2, 0.1376124087861776, 0x5ca4, 0x61b5}, /* 155 */ {2, 0.1374358029495937, 0x5dd9, 0x5d29}, /* 156 */ {2, 0.1372607812113589, 0x5f10, 0x58b3}, /* 157 */ {2, 0.1370873187823978, 0x6049, 0x5452}, /* 158 */ {2, 0.1369153914223921, 0x6184, 0x5007}, /* 159 */ {2, 0.1367449754241439, 0x62c1, 0x4bd0}, /* 160 */ {2, 0.1365760475984821, 0x6400, 0x47ae}, /* 161 */ {2, 0.1364085852596902, 0x6541, 0x439f}, /* 162 */ {2, 0.1362425662114337, 0x6684, 0x3fa3}, /* 163 */ {2, 0.1360779687331669, 0x67c9, 0x3bba}, /* 164 */ {2, 0.1359147715670014, 0x6910, 0x37e3}, /* 165 */ {2, 0.1357529539050150, 0x6a59, 0x341f}, /* 166 */ {2, 0.1355924953769864, 0x6ba4, 0x306b}, /* 167 */ {2, 0.1354333760385373, 0x6cf1, 0x2cc9}, /* 168 */ {2, 0.1352755763596663, 0x6e40, 0x2937}, /* 169 */ {2, 0.1351190772136599, 0x6f91, 0x25b5}, /* 170 */ {2, 0.1349638598663645, 0x70e4, 0x2243}, /* 171 */ {2, 0.1348099059658080, 0x7239, 0x1ee0}, /* 172 */ {2, 0.1346571975321549, 0x7390, 0x1b8d}, /* 173 */ {2, 0.1345057169479844, 0x74e9, 0x1848}, /* 174 */ {2, 0.1343554469488779, 0x7644, 0x1512}, /* 175 */ {2, 0.1342063706143054, 0x77a1, 0x11e9}, /* 176 */ {2, 0.1340584713587979, 0x7900, 0xecf}, /* 177 */ {2, 0.1339117329233981, 0x7a61, 0xbc2}, /* 178 */ {2, 0.1337661393673756, 0x7bc4, 0x8c2}, /* 179 */ {2, 0.1336216750601996, 0x7d29, 0x5ce}, /* 180 */ {2, 0.1334783246737591, 0x7e90, 0x2e8}, /* 181 */ {2, 0.1333360731748201, 0x7ff9, 0xe}, /* 182 */ {2, 0.1331949058177136, 0x8164, 0xfa7f}, /* 183 */ {2, 0.1330548081372441, 0x82d1, 0xf4fa}, /* 184 */ {2, 0.1329157659418126, 0x8440, 0xef8b}, /* 185 */ {2, 0.1327777653067443, 0x85b1, 0xea34}, /* 186 */ {2, 0.1326407925678156, 0x8724, 0xe4f2}, /* 187 */ {2, 0.1325048343149731, 0x8899, 0xdfc6}, /* 188 */ {2, 0.1323698773862368, 0x8a10, 0xdaae}, /* 189 */ {2, 0.1322359088617821, 0x8b89, 0xd5ac}, /* 190 */ {2, 0.1321029160581950, 0x8d04, 0xd0be}, /* 191 */ {2, 0.1319708865228925, 0x8e81, 0xcbe3}, /* 192 */ {2, 0.1318398080287045, 0x9000, 0xc71c}, /* 193 */ {2, 0.1317096685686114, 0x9181, 0xc268}, /* 194 */ {2, 0.1315804563506306, 0x9304, 0xbdc6}, /* 195 */ {2, 0.1314521597928493, 0x9489, 0xb937}, /* 196 */ {2, 0.1313247675185968, 0x9610, 0xb4b9}, /* 197 */ {2, 0.1311982683517524, 0x9799, 0xb04d}, /* 198 */ {2, 0.1310726513121843, 0x9924, 0xabf2}, /* 199 */ {2, 0.1309479056113158, 0x9ab1, 0xa7a8}, /* 200 */ {2, 0.1308240206478128, 0x9c40, 0xa36e}, /* 201 */ {2, 0.1307009860033912, 0x9dd1, 0x9f44}, /* 202 */ {2, 0.1305787914387386, 0x9f64, 0x9b2a}, /* 203 */ {2, 0.1304574268895465, 0xa0f9, 0x9720}, /* 204 */ {2, 0.1303368824626505, 0xa290, 0x9324}, /* 205 */ {2, 0.1302171484322746, 0xa429, 0x8f38}, /* 206 */ {2, 0.1300982152363760, 0xa5c4, 0x8b5a}, /* 207 */ {2, 0.1299800734730872, 0xa761, 0x878a}, /* 208 */ {2, 0.1298627138972530, 0xa900, 0x83c9}, /* 209 */ {2, 0.1297461274170591, 0xaaa1, 0x8015}, /* 210 */ {2, 0.1296303050907487, 0xac44, 0x7c6f}, /* 211 */ {2, 0.1295152381234257, 0xade9, 0x78d6}, /* 212 */ {2, 0.1294009178639407, 0xaf90, 0x754a}, /* 213 */ {2, 0.1292873358018581, 0xb139, 0x71cb}, /* 214 */ {2, 0.1291744835645007, 0xb2e4, 0x6e58}, /* 215 */ {2, 0.1290623529140715, 0xb491, 0x6af2}, /* 216 */ {2, 0.1289509357448472, 0xb640, 0x6798}, /* 217 */ {2, 0.1288402240804449, 0xb7f1, 0x6449}, /* 218 */ {2, 0.1287302100711566, 0xb9a4, 0x6106}, /* 219 */ {2, 0.1286208859913518, 0xbb59, 0x5dcf}, /* 220 */ {2, 0.1285122442369443, 0xbd10, 0x5aa2}, /* 221 */ {2, 0.1284042773229231, 0xbec9, 0x5781}, /* 222 */ {2, 0.1282969778809442, 0xc084, 0x546b}, /* 223 */ {2, 0.1281903386569819, 0xc241, 0x515f}, /* 224 */ {2, 0.1280843525090381, 0xc400, 0x4e5e}, /* 225 */ {2, 0.1279790124049077, 0xc5c1, 0x4b66}, /* 226 */ {2, 0.1278743114199984, 0xc784, 0x4879}, /* 227 */ {2, 0.1277702427352035, 0xc949, 0x4596}, /* 228 */ {2, 0.1276667996348261, 0xcb10, 0x42bc}, /* 229 */ {2, 0.1275639755045533, 0xccd9, 0x3fec}, /* 230 */ {2, 0.1274617638294791, 0xcea4, 0x3d26}, /* 231 */ {2, 0.1273601581921740, 0xd071, 0x3a68}, /* 232 */ {2, 0.1272591522708010, 0xd240, 0x37b4}, /* 233 */ {2, 0.1271587398372755, 0xd411, 0x3509}, /* 234 */ {2, 0.1270589147554692, 0xd5e4, 0x3266}, /* 235 */ {2, 0.1269596709794558, 0xd7b9, 0x2fcc}, /* 236 */ {2, 0.1268610025517973, 0xd990, 0x2d3a}, /* 237 */ {2, 0.1267629036018709, 0xdb69, 0x2ab1}, /* 238 */ {2, 0.1266653683442337, 0xdd44, 0x282f}, /* 239 */ {2, 0.1265683910770258, 0xdf21, 0x25b6}, /* 240 */ {2, 0.1264719661804097, 0xe100, 0x2345}, /* 241 */ {2, 0.1263760881150453, 0xe2e1, 0x20db}, /* 242 */ {2, 0.1262807514205999, 0xe4c4, 0x1e7a}, /* 243 */ {2, 0.1261859507142915, 0xe6a9, 0x1c1f}, /* 244 */ {2, 0.1260916806894653, 0xe890, 0x19cc}, /* 245 */ {2, 0.1259979361142023, 0xea79, 0x1780}, /* 246 */ {2, 0.1259047118299582, 0xec64, 0x153c}, /* 247 */ {2, 0.1258120027502338, 0xee51, 0x12fe}, /* 248 */ {2, 0.1257198038592741, 0xf040, 0x10c8}, /* 249 */ {2, 0.1256281102107963, 0xf231, 0xe98}, /* 250 */ {2, 0.1255369169267456, 0xf424, 0xc6f}, /* 251 */ {2, 0.1254462191960791, 0xf619, 0xa4d}, /* 252 */ {2, 0.1253560122735751, 0xf810, 0x831}, /* 253 */ {2, 0.1252662914786691, 0xfa09, 0x61b}, /* 254 */ {2, 0.1251770521943144, 0xfc04, 0x40c}, /* 255 */ {2, 0.1250882898658681, 0xfe01, 0x203}, /* 256 */ {2, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 16 */ #if GMP_NUMB_BITS == 28 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {28, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {17, 0.6309297535714574, 0x7b285c3, 0xa10c2be}, /* 4 */ {14, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {12, 0.4306765580733931, 0xe8d4a51, 0x19799812}, /* 6 */ {10, 0.3868528072345416, 0x39aa400, 0x1c1fa5f6}, /* 7 */ {9, 0.3562071871080222, 0x267bf47, 0xa9bbb147}, /* 8 */ {9, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {8, 0.3154648767857287, 0x290d741, 0x8f19241e}, /* 10 */ {8, 0.3010299956639812, 0x5f5e100, 0x5798ee23}, /* 11 */ {8, 0.2890648263178878, 0xcc6db61, 0x4094d8a3}, /* 12 */ {7, 0.2789429456511298, 0x222c000, 0xdf75680f}, /* 13 */ {7, 0.2702381544273197, 0x3bd7765, 0x11ca0c0d}, /* 14 */ {7, 0.2626495350371935, 0x6487b80, 0x45f3b3bb}, /* 15 */ {7, 0.2559580248098155, 0xa2f1b6f, 0x9232f456}, /* 16 */ {7, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {6, 0.2446505421182260, 0x1704f61, 0x63dfc229}, /* 18 */ {6, 0.2398124665681314, 0x206fc40, 0xf91bd1b6}, /* 19 */ {6, 0.2354089133666382, 0x2cddcf9, 0x6d2c32fe}, /* 20 */ {6, 0.2313782131597592, 0x3d09000, 0xc6f7a0b}, /* 21 */ {6, 0.2276702486969530, 0x51cafe9, 0x909f102c}, /* 22 */ {6, 0.2242438242175754, 0x6c20a40, 0x2f0cb4ca}, /* 23 */ {6, 0.2210647294575037, 0x8d2d931, 0xd0354dff}, /* 24 */ {6, 0.2181042919855316, 0xb640000, 0x67980e0b}, /* 25 */ {6, 0.2153382790366965, 0xe8d4a51, 0x19799812}, /* 26 */ {5, 0.2127460535533632, 0xb54ba0, 0x697cc3ea}, /* 27 */ {5, 0.2103099178571525, 0xdaf26b, 0x2b52db16}, /* 28 */ {5, 0.2080145976765095, 0x1069c00, 0xf31d2b36}, /* 29 */ {5, 0.2058468324604344, 0x138f9ad, 0xa2cb1eb4}, /* 30 */ {5, 0.2037950470905062, 0x172c9e0, 0x617ec8bf}, /* 31 */ {5, 0.2018490865820999, 0x1b4d89f, 0x2c0aa273}, /* 32 */ {5, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {5, 0.1982398631705605, 0x25528a1, 0xb6fc4841}, /* 34 */ {5, 0.1965616322328226, 0x2b54a20, 0x7a1dbe4b}, /* 35 */ {5, 0.1949590218937863, 0x3216b93, 0x47196c84}, /* 36 */ {5, 0.1934264036172708, 0x39aa400, 0x1c1fa5f6}, /* 37 */ {5, 0.1919587200065601, 0x4221ad5, 0xef7f4a3c}, /* 38 */ {5, 0.1905514124267734, 0x4b90860, 0xb1a47c8e}, /* 39 */ {5, 0.1892003595168700, 0x560b647, 0x7cd3817d}, /* 40 */ {5, 0.1879018247091076, 0x61a8000, 0x4f8b588e}, /* 41 */ {5, 0.1866524112389434, 0x6e7d349, 0x28928154}, /* 42 */ {5, 0.1854490234153689, 0x7ca30a0, 0x6e8629d}, /* 43 */ {5, 0.1842888331487062, 0x8c32bbb, 0xd373dca0}, /* 44 */ {5, 0.1831692509136336, 0x9d46c00, 0xa0b17895}, /* 45 */ {5, 0.1820879004699383, 0xaffacfd, 0x746811a5}, /* 46 */ {5, 0.1810425967800402, 0xc46bee0, 0x4da6500f}, /* 47 */ {5, 0.1800313266566926, 0xdab86ef, 0x2ba23582}, /* 48 */ {5, 0.1790522317510414, 0xf300000, 0xdb20a88}, /* 49 */ {4, 0.1781035935540111, 0x57f6c1, 0x74843b1e}, /* 50 */ {4, 0.1771838201355579, 0x5f5e10, 0x5798ee23}, /* 51 */ {4, 0.1762914343888821, 0x673a91, 0x3d6e4d94}, /* 52 */ {4, 0.1754250635819545, 0x6f9100, 0x25b55f2e}, /* 53 */ {4, 0.1745834300480449, 0x786631, 0x10294ba2}, /* 54 */ {4, 0.1737653428714400, 0x81bf10, 0xf91bd1b6}, /* 55 */ {4, 0.1729696904450771, 0x8ba0a1, 0xd55cff6e}, /* 56 */ {4, 0.1721954337940981, 0x961000, 0xb4b985cf}, /* 57 */ {4, 0.1714416005739134, 0xa11261, 0x96dfdd2a}, /* 58 */ {4, 0.1707072796637201, 0xacad10, 0x7b8813d3}, /* 59 */ {4, 0.1699916162869140, 0xb8e571, 0x627289db}, /* 60 */ {4, 0.1692938075987814, 0xc5c100, 0x4b66dc33}, /* 61 */ {4, 0.1686130986895011, 0xd34551, 0x3632f7a5}, /* 62 */ {4, 0.1679487789570419, 0xe17810, 0x22aa4d5f}, /* 63 */ {4, 0.1673001788101741, 0xf05f01, 0x10a523e5}, /* 64 */ {4, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {4, 0.1660476462159378, 0x1106101, 0xe136444a}, /* 66 */ {4, 0.1654425539190583, 0x1218810, 0xc4b42a83}, /* 67 */ {4, 0.1648508567221603, 0x1337b51, 0xaa4698c5}, /* 68 */ {4, 0.1642720499620502, 0x1464100, 0x91bf9a30}, /* 69 */ {4, 0.1637056554452156, 0x159df71, 0x7af5c98c}, /* 70 */ {4, 0.1631512196835108, 0x16e5d10, 0x65c3ceb1}, /* 71 */ {4, 0.1626083122716342, 0x183c061, 0x5207ec23}, /* 72 */ {4, 0.1620765243931223, 0x19a1000, 0x3fa39ab5}, /* 73 */ {4, 0.1615554674429964, 0x1b152a1, 0x2e7b3140}, /* 74 */ {4, 0.1610447717564444, 0x1c98f10, 0x1e7596ea}, /* 75 */ {4, 0.1605440854340214, 0x1e2cc31, 0xf7bfe87}, /* 76 */ {4, 0.1600530732548213, 0x1fd1100, 0x179a9f4}, /* 77 */ {4, 0.1595714156699382, 0x2186491, 0xe8b768db}, /* 78 */ {4, 0.1590988078692941, 0x234ce10, 0xd021c5d1}, /* 79 */ {4, 0.1586349589155960, 0x25254c1, 0xb912f39c}, /* 80 */ {4, 0.1581795909397823, 0x2710000, 0xa36e2eb1}, /* 81 */ {4, 0.1577324383928644, 0x290d741, 0x8f19241e}, /* 82 */ {4, 0.1572932473495469, 0x2b1e210, 0x7bfbb5b4}, /* 83 */ {4, 0.1568617748594410, 0x2d42811, 0x69ffc498}, /* 84 */ {4, 0.1564377883420715, 0x2f7b100, 0x5911016e}, /* 85 */ {4, 0.1560210650222250, 0x31c84b1, 0x491cc17c}, /* 86 */ {4, 0.1556113914024939, 0x342ab10, 0x3a11d83b}, /* 87 */ {4, 0.1552085627701551, 0x36a2c21, 0x2be074cd}, /* 88 */ {4, 0.1548123827357682, 0x3931000, 0x1e7a02e7}, /* 89 */ {4, 0.1544226628011101, 0x3bd5ee1, 0x11d10edd}, /* 90 */ {4, 0.1540392219542636, 0x3e92110, 0x5d92c68}, /* 91 */ {4, 0.1536618862898642, 0x4165ef1, 0xf50dbfb2}, /* 92 */ {4, 0.1532904886526781, 0x4452100, 0xdf9f1316}, /* 93 */ {4, 0.1529248683028321, 0x4756fd1, 0xcb52a684}, /* 94 */ {4, 0.1525648706011593, 0x4a75410, 0xb8163e97}, /* 95 */ {4, 0.1522103467132434, 0x4dad681, 0xa5d8f269}, /* 96 */ {4, 0.1518611533308632, 0x5100000, 0x948b0fcd}, /* 97 */ {4, 0.1515171524096389, 0x546d981, 0x841e0215}, /* 98 */ {4, 0.1511782109217764, 0x57f6c10, 0x74843b1e}, /* 99 */ {4, 0.1508442006228941, 0x5b9c0d1, 0x65b11e6e}, /* 100 */ {4, 0.1505149978319906, 0x5f5e100, 0x5798ee23}, /* 101 */ {4, 0.1501904832236880, 0x633d5f1, 0x4a30b99b}, /* 102 */ {4, 0.1498705416319474, 0x673a910, 0x3d6e4d94}, /* 103 */ {4, 0.1495550618645152, 0x6b563e1, 0x314825b0}, /* 104 */ {4, 0.1492439365274121, 0x6f91000, 0x25b55f2e}, /* 105 */ {4, 0.1489370618588283, 0x73eb721, 0x1aadaccb}, /* 106 */ {4, 0.1486343375718350, 0x7866310, 0x10294ba2}, /* 107 */ {4, 0.1483356667053617, 0x7d01db1, 0x620f8f6}, /* 108 */ {4, 0.1480409554829326, 0x81bf100, 0xf91bd1b6}, /* 109 */ {4, 0.1477501131786861, 0x869e711, 0xe6d37b2a}, /* 110 */ {4, 0.1474630519902391, 0x8ba0a10, 0xd55cff6e}, /* 111 */ {4, 0.1471796869179852, 0x90c6441, 0xc4ad2db2}, /* 112 */ {4, 0.1468999356504447, 0x9610000, 0xb4b985cf}, /* 113 */ {4, 0.1466237184553111, 0x9b7e7c1, 0xa5782bef}, /* 114 */ {4, 0.1463509580758620, 0xa112610, 0x96dfdd2a}, /* 115 */ {4, 0.1460815796324244, 0xa6cc591, 0x88e7e509}, /* 116 */ {4, 0.1458155105286054, 0xacad100, 0x7b8813d3}, /* 117 */ {4, 0.1455526803620167, 0xb2b5331, 0x6eb8b595}, /* 118 */ {4, 0.1452930208392429, 0xb8e5710, 0x627289db}, /* 119 */ {4, 0.1450364656948130, 0xbf3e7a1, 0x56aebc07}, /* 120 */ {4, 0.1447829506139581, 0xc5c1000, 0x4b66dc33}, /* 121 */ {4, 0.1445324131589439, 0xcc6db61, 0x4094d8a3}, /* 122 */ {4, 0.1442847926987864, 0xd345510, 0x3632f7a5}, /* 123 */ {4, 0.1440400303421672, 0xda48871, 0x2c3bd1f0}, /* 124 */ {4, 0.1437980688733776, 0xe178100, 0x22aa4d5f}, /* 125 */ {4, 0.1435588526911310, 0xe8d4a51, 0x19799812}, /* 126 */ {4, 0.1433223277500932, 0xf05f010, 0x10a523e5}, /* 127 */ {4, 0.1430884415049874, 0xf817e01, 0x828a237}, /* 128 */ {4, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {3, 0.1426283821033600, 0x20c181, 0xf42f61da}, /* 130 */ {3, 0.1424021108869747, 0x218608, 0xe8bb1d5b}, /* 131 */ {3, 0.1421782821510107, 0x224d9b, 0xdd9fb30a}, /* 132 */ {3, 0.1419568500933153, 0x231840, 0xd2d9cbd7}, /* 133 */ {3, 0.1417377701235801, 0x23e5fd, 0xc86636f7}, /* 134 */ {3, 0.1415209988221527, 0x24b6d8, 0xbe41e7ee}, /* 135 */ {3, 0.1413064939005528, 0x258ad7, 0xb469f4ad}, /* 136 */ {3, 0.1410942141636095, 0x266200, 0xaadb93d3}, /* 137 */ {3, 0.1408841194731412, 0x273c59, 0xa1941b01}, /* 138 */ {3, 0.1406761707131039, 0x2819e8, 0x9890fd4b}, /* 139 */ {3, 0.1404703297561400, 0x28fab3, 0x8fcfc9c4}, /* 140 */ {3, 0.1402665594314587, 0x29dec0, 0x874e2a12}, /* 141 */ {3, 0.1400648234939879, 0x2ac615, 0x7f09e124}, /* 142 */ {3, 0.1398650865947379, 0x2bb0b8, 0x7700c9f7}, /* 143 */ {3, 0.1396673142523192, 0x2c9eaf, 0x6f30d664}, /* 144 */ {3, 0.1394714728255649, 0x2d9000, 0x67980e0b}, /* 145 */ {3, 0.1392775294872041, 0x2e84b1, 0x60348d47}, /* 146 */ {3, 0.1390854521985406, 0x2f7cc8, 0x5904842e}, /* 147 */ {3, 0.1388952096850913, 0x30784b, 0x520635a5}, /* 148 */ {3, 0.1387067714131417, 0x317740, 0x4b37f67f}, /* 149 */ {3, 0.1385201075671774, 0x3279ad, 0x44982ca4}, /* 150 */ {3, 0.1383351890281539, 0x337f98, 0x3e254e46}, /* 151 */ {3, 0.1381519873525671, 0x348907, 0x37dde124}, /* 152 */ {3, 0.1379704747522905, 0x359600, 0x31c079d2}, /* 153 */ {3, 0.1377906240751463, 0x36a689, 0x2bcbbb0c}, /* 154 */ {3, 0.1376124087861776, 0x37baa8, 0x25fe5513}, /* 155 */ {3, 0.1374358029495937, 0x38d263, 0x20570513}, /* 156 */ {3, 0.1372607812113589, 0x39edc0, 0x1ad4948b}, /* 157 */ {3, 0.1370873187823978, 0x3b0cc5, 0x1575d8c8}, /* 158 */ {3, 0.1369153914223921, 0x3c2f78, 0x1039b25a}, /* 159 */ {3, 0.1367449754241439, 0x3d55df, 0xb1f0c9a}, /* 160 */ {3, 0.1365760475984821, 0x3e8000, 0x624dd2f}, /* 161 */ {3, 0.1364085852596902, 0x3fade1, 0x14a239d}, /* 162 */ {3, 0.1362425662114337, 0x40df88, 0xf91bd1b6}, /* 163 */ {3, 0.1360779687331669, 0x4214fb, 0xefde7dcd}, /* 164 */ {3, 0.1359147715670014, 0x434e40, 0xe6da80ce}, /* 165 */ {3, 0.1357529539050150, 0x448b5d, 0xde0e209a}, /* 166 */ {3, 0.1355924953769864, 0x45cc58, 0xd577b2f5}, /* 167 */ {3, 0.1354333760385373, 0x471137, 0xcd159cdb}, /* 168 */ {3, 0.1352755763596663, 0x485a00, 0xc4e651e0}, /* 169 */ {3, 0.1351190772136599, 0x49a6b9, 0xbce85396}, /* 170 */ {3, 0.1349638598663645, 0x4af768, 0xb51a30f9}, /* 171 */ {3, 0.1348099059658080, 0x4c4c13, 0xad7a85e5}, /* 172 */ {3, 0.1346571975321549, 0x4da4c0, 0xa607fa90}, /* 173 */ {3, 0.1345057169479844, 0x4f0175, 0x9ec1430b}, /* 174 */ {3, 0.1343554469488779, 0x506238, 0x97a51ec6}, /* 175 */ {3, 0.1342063706143054, 0x51c70f, 0x90b25822}, /* 176 */ {3, 0.1340584713587979, 0x533000, 0x89e7c3fd}, /* 177 */ {3, 0.1339117329233981, 0x549d11, 0x8344414a}, /* 178 */ {3, 0.1337661393673756, 0x560e48, 0x7cc6b8ac}, /* 179 */ {3, 0.1336216750601996, 0x5783ab, 0x766e1c17}, /* 180 */ {3, 0.1334783246737591, 0x58fd40, 0x70396672}, /* 181 */ {3, 0.1333360731748201, 0x5a7b0d, 0x6a279b3f}, /* 182 */ {3, 0.1331949058177136, 0x5bfd18, 0x6437c648}, /* 183 */ {3, 0.1330548081372441, 0x5d8367, 0x5e68fb4d}, /* 184 */ {3, 0.1329157659418126, 0x5f0e00, 0x58ba55b8}, /* 185 */ {3, 0.1327777653067443, 0x609ce9, 0x532af851}, /* 186 */ {3, 0.1326407925678156, 0x623028, 0x4dba0cfc}, /* 187 */ {3, 0.1325048343149731, 0x63c7c3, 0x4866c46f}, /* 188 */ {3, 0.1323698773862368, 0x6563c0, 0x433055f7}, /* 189 */ {3, 0.1322359088617821, 0x670425, 0x3e15ff36}, /* 190 */ {3, 0.1321029160581950, 0x68a8f8, 0x391703ea}, /* 191 */ {3, 0.1319708865228925, 0x6a523f, 0x3432adb2}, /* 192 */ {3, 0.1318398080287045, 0x6c0000, 0x2f684bda}, /* 193 */ {3, 0.1317096685686114, 0x6db241, 0x2ab73323}, /* 194 */ {3, 0.1315804563506306, 0x6f6908, 0x261ebd94}, /* 195 */ {3, 0.1314521597928493, 0x71245b, 0x219e4a49}, /* 196 */ {3, 0.1313247675185968, 0x72e440, 0x1d353d43}, /* 197 */ {3, 0.1311982683517524, 0x74a8bd, 0x18e2ff3f}, /* 198 */ {3, 0.1310726513121843, 0x7671d8, 0x14a6fd89}, /* 199 */ {3, 0.1309479056113158, 0x783f97, 0x1080a9d1}, /* 200 */ {3, 0.1308240206478128, 0x7a1200, 0xc6f7a0b}, /* 201 */ {3, 0.1307009860033912, 0x7be919, 0x872e841}, /* 202 */ {3, 0.1305787914387386, 0x7dc4e8, 0x48a7274}, /* 203 */ {3, 0.1304574268895465, 0x7fa573, 0xb59a78}, /* 204 */ {3, 0.1303368824626505, 0x818ac0, 0xf9e7cba5}, /* 205 */ {3, 0.1302171484322746, 0x8374d5, 0xf289bb31}, /* 206 */ {3, 0.1300982152363760, 0x8563b8, 0xeb501ca8}, /* 207 */ {3, 0.1299800734730872, 0x87576f, 0xe43a0fc2}, /* 208 */ {3, 0.1298627138972530, 0x895000, 0xdd46baab}, /* 209 */ {3, 0.1297461274170591, 0x8b4d71, 0xd67549c6}, /* 210 */ {3, 0.1296303050907487, 0x8d4fc8, 0xcfc4ef7d}, /* 211 */ {3, 0.1295152381234257, 0x8f570b, 0xc934e409}, /* 212 */ {3, 0.1294009178639407, 0x916340, 0xc2c46544}, /* 213 */ {3, 0.1292873358018581, 0x93746d, 0xbc72b67a}, /* 214 */ {3, 0.1291744835645007, 0x958a98, 0xb63f203c}, /* 215 */ {3, 0.1290623529140715, 0x97a5c7, 0xb028f031}, /* 216 */ {3, 0.1289509357448472, 0x99c600, 0xaa2f78f1}, /* 217 */ {3, 0.1288402240804449, 0x9beb49, 0xa45211d8}, /* 218 */ {3, 0.1287302100711566, 0x9e15a8, 0x9e9016e2}, /* 219 */ {3, 0.1286208859913518, 0xa04523, 0x98e8e882}, /* 220 */ {3, 0.1285122442369443, 0xa279c0, 0x935beb82}, /* 221 */ {3, 0.1284042773229231, 0xa4b385, 0x8de888de}, /* 222 */ {3, 0.1282969778809442, 0xa6f278, 0x888e2da0}, /* 223 */ {3, 0.1281903386569819, 0xa9369f, 0x834c4ac4}, /* 224 */ {3, 0.1280843525090381, 0xab8000, 0x7e225515}, /* 225 */ {3, 0.1279790124049077, 0xadcea1, 0x790fc511}, /* 226 */ {3, 0.1278743114199984, 0xb02288, 0x741416c9}, /* 227 */ {3, 0.1277702427352035, 0xb27bbb, 0x6f2ec9c9}, /* 228 */ {3, 0.1276667996348261, 0xb4da40, 0x6a5f60f9}, /* 229 */ {3, 0.1275639755045533, 0xb73e1d, 0x65a56286}, /* 230 */ {3, 0.1274617638294791, 0xb9a758, 0x610057c6}, /* 231 */ {3, 0.1273601581921740, 0xbc15f7, 0x5c6fcd21}, /* 232 */ {3, 0.1272591522708010, 0xbe8a00, 0x57f351f7}, /* 233 */ {3, 0.1271587398372755, 0xc10379, 0x538a788f}, /* 234 */ {3, 0.1270589147554692, 0xc38268, 0x4f34d5fa}, /* 235 */ {3, 0.1269596709794558, 0xc606d3, 0x4af20203}, /* 236 */ {3, 0.1268610025517973, 0xc890c0, 0x46c19716}, /* 237 */ {3, 0.1267629036018709, 0xcb2035, 0x42a33232}, /* 238 */ {3, 0.1266653683442337, 0xcdb538, 0x3e9672cf}, /* 239 */ {3, 0.1265683910770258, 0xd04fcf, 0x3a9afad0}, /* 240 */ {3, 0.1264719661804097, 0xd2f000, 0x36b06e70}, /* 241 */ {3, 0.1263760881150453, 0xd595d1, 0x32d67431}, /* 242 */ {3, 0.1262807514205999, 0xd84148, 0x2f0cb4ca}, /* 243 */ {3, 0.1261859507142915, 0xdaf26b, 0x2b52db16}, /* 244 */ {3, 0.1260916806894653, 0xdda940, 0x27a89409}, /* 245 */ {3, 0.1259979361142023, 0xe065cd, 0x240d8e9b}, /* 246 */ {3, 0.1259047118299582, 0xe32818, 0x20817bbc}, /* 247 */ {3, 0.1258120027502338, 0xe5f027, 0x1d040e48}, /* 248 */ {3, 0.1257198038592741, 0xe8be00, 0x1994faf4}, /* 249 */ {3, 0.1256281102107963, 0xeb91a9, 0x1633f845}, /* 250 */ {3, 0.1255369169267456, 0xee6b28, 0x12e0be82}, /* 251 */ {3, 0.1254462191960791, 0xf14a83, 0xf9b07a6}, /* 252 */ {3, 0.1253560122735751, 0xf42fc0, 0xc628f55}, /* 253 */ {3, 0.1252662914786691, 0xf71ae5, 0x93712d3}, /* 254 */ {3, 0.1251770521943144, 0xfa0bf8, 0x61850f2}, /* 255 */ {3, 0.1250882898658681, 0xfd02ff, 0x3060a0f}, /* 256 */ {3, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 28 */ #if GMP_NUMB_BITS == 30 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {30, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {18, 0.6309297535714574, 0x17179149, 0x62c103a9}, /* 4 */ {15, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {12, 0.4306765580733931, 0xe8d4a51, 0x19799812}, /* 6 */ {11, 0.3868528072345416, 0x159fd800, 0x7ad4dd48}, /* 7 */ {10, 0.3562071871080222, 0x10d63af1, 0xe68d5ce4}, /* 8 */ {10, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {9, 0.3154648767857287, 0x17179149, 0x62c103a9}, /* 10 */ {9, 0.3010299956639812, 0x3b9aca00, 0x12e0be82}, /* 11 */ {8, 0.2890648263178878, 0xcc6db61, 0x4094d8a3}, /* 12 */ {8, 0.2789429456511298, 0x19a10000, 0x3fa39ab5}, /* 13 */ {8, 0.2702381544273197, 0x309f1021, 0x50f8ac5f}, /* 14 */ {7, 0.2626495350371935, 0x6487b80, 0x45f3b3bb}, /* 15 */ {7, 0.2559580248098155, 0xa2f1b6f, 0x9232f456}, /* 16 */ {7, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {7, 0.2446505421182260, 0x18754571, 0x4ef0b6bd}, /* 18 */ {7, 0.2398124665681314, 0x247dbc80, 0xc0fc48a1}, /* 19 */ {7, 0.2354089133666382, 0x3547667b, 0x33838942}, /* 20 */ {6, 0.2313782131597592, 0x3d09000, 0xc6f7a0b}, /* 21 */ {6, 0.2276702486969530, 0x51cafe9, 0x909f102c}, /* 22 */ {6, 0.2242438242175754, 0x6c20a40, 0x2f0cb4ca}, /* 23 */ {6, 0.2210647294575037, 0x8d2d931, 0xd0354dff}, /* 24 */ {6, 0.2181042919855316, 0xb640000, 0x67980e0b}, /* 25 */ {6, 0.2153382790366965, 0xe8d4a51, 0x19799812}, /* 26 */ {6, 0.2127460535533632, 0x1269ae40, 0xbce85396}, /* 27 */ {6, 0.2103099178571525, 0x17179149, 0x62c103a9}, /* 28 */ {6, 0.2080145976765095, 0x1cb91000, 0x1d353d43}, /* 29 */ {6, 0.2058468324604344, 0x23744899, 0xce1decea}, /* 30 */ {6, 0.2037950470905062, 0x2b73a840, 0x790fc511}, /* 31 */ {6, 0.2018490865820999, 0x34e63b41, 0x35b865a0}, /* 32 */ {5, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {5, 0.1982398631705605, 0x25528a1, 0xb6fc4841}, /* 34 */ {5, 0.1965616322328226, 0x2b54a20, 0x7a1dbe4b}, /* 35 */ {5, 0.1949590218937863, 0x3216b93, 0x47196c84}, /* 36 */ {5, 0.1934264036172708, 0x39aa400, 0x1c1fa5f6}, /* 37 */ {5, 0.1919587200065601, 0x4221ad5, 0xef7f4a3c}, /* 38 */ {5, 0.1905514124267734, 0x4b90860, 0xb1a47c8e}, /* 39 */ {5, 0.1892003595168700, 0x560b647, 0x7cd3817d}, /* 40 */ {5, 0.1879018247091076, 0x61a8000, 0x4f8b588e}, /* 41 */ {5, 0.1866524112389434, 0x6e7d349, 0x28928154}, /* 42 */ {5, 0.1854490234153689, 0x7ca30a0, 0x6e8629d}, /* 43 */ {5, 0.1842888331487062, 0x8c32bbb, 0xd373dca0}, /* 44 */ {5, 0.1831692509136336, 0x9d46c00, 0xa0b17895}, /* 45 */ {5, 0.1820879004699383, 0xaffacfd, 0x746811a5}, /* 46 */ {5, 0.1810425967800402, 0xc46bee0, 0x4da6500f}, /* 47 */ {5, 0.1800313266566926, 0xdab86ef, 0x2ba23582}, /* 48 */ {5, 0.1790522317510414, 0xf300000, 0xdb20a88}, /* 49 */ {5, 0.1781035935540111, 0x10d63af1, 0xe68d5ce4}, /* 50 */ {5, 0.1771838201355579, 0x12a05f20, 0xb7cdfd9d}, /* 51 */ {5, 0.1762914343888821, 0x1490aae3, 0x8e583933}, /* 52 */ {5, 0.1754250635819545, 0x16a97400, 0x697cc3ea}, /* 53 */ {5, 0.1745834300480449, 0x18ed2825, 0x48a5ca6c}, /* 54 */ {5, 0.1737653428714400, 0x1b5e4d60, 0x2b52db16}, /* 55 */ {5, 0.1729696904450771, 0x1dff8297, 0x111586a6}, /* 56 */ {5, 0.1721954337940981, 0x20d38000, 0xf31d2b36}, /* 57 */ {5, 0.1714416005739134, 0x23dd1799, 0xc8d76d19}, /* 58 */ {5, 0.1707072796637201, 0x271f35a0, 0xa2cb1eb4}, /* 59 */ {5, 0.1699916162869140, 0x2a9ce10b, 0x807c3ec3}, /* 60 */ {5, 0.1692938075987814, 0x2e593c00, 0x617ec8bf}, /* 61 */ {5, 0.1686130986895011, 0x3257844d, 0x45746cbe}, /* 62 */ {5, 0.1679487789570419, 0x369b13e0, 0x2c0aa273}, /* 63 */ {5, 0.1673001788101741, 0x3b27613f, 0x14f90805}, /* 64 */ {5, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {4, 0.1660476462159378, 0x1106101, 0xe136444a}, /* 66 */ {4, 0.1654425539190583, 0x1218810, 0xc4b42a83}, /* 67 */ {4, 0.1648508567221603, 0x1337b51, 0xaa4698c5}, /* 68 */ {4, 0.1642720499620502, 0x1464100, 0x91bf9a30}, /* 69 */ {4, 0.1637056554452156, 0x159df71, 0x7af5c98c}, /* 70 */ {4, 0.1631512196835108, 0x16e5d10, 0x65c3ceb1}, /* 71 */ {4, 0.1626083122716342, 0x183c061, 0x5207ec23}, /* 72 */ {4, 0.1620765243931223, 0x19a1000, 0x3fa39ab5}, /* 73 */ {4, 0.1615554674429964, 0x1b152a1, 0x2e7b3140}, /* 74 */ {4, 0.1610447717564444, 0x1c98f10, 0x1e7596ea}, /* 75 */ {4, 0.1605440854340214, 0x1e2cc31, 0xf7bfe87}, /* 76 */ {4, 0.1600530732548213, 0x1fd1100, 0x179a9f4}, /* 77 */ {4, 0.1595714156699382, 0x2186491, 0xe8b768db}, /* 78 */ {4, 0.1590988078692941, 0x234ce10, 0xd021c5d1}, /* 79 */ {4, 0.1586349589155960, 0x25254c1, 0xb912f39c}, /* 80 */ {4, 0.1581795909397823, 0x2710000, 0xa36e2eb1}, /* 81 */ {4, 0.1577324383928644, 0x290d741, 0x8f19241e}, /* 82 */ {4, 0.1572932473495469, 0x2b1e210, 0x7bfbb5b4}, /* 83 */ {4, 0.1568617748594410, 0x2d42811, 0x69ffc498}, /* 84 */ {4, 0.1564377883420715, 0x2f7b100, 0x5911016e}, /* 85 */ {4, 0.1560210650222250, 0x31c84b1, 0x491cc17c}, /* 86 */ {4, 0.1556113914024939, 0x342ab10, 0x3a11d83b}, /* 87 */ {4, 0.1552085627701551, 0x36a2c21, 0x2be074cd}, /* 88 */ {4, 0.1548123827357682, 0x3931000, 0x1e7a02e7}, /* 89 */ {4, 0.1544226628011101, 0x3bd5ee1, 0x11d10edd}, /* 90 */ {4, 0.1540392219542636, 0x3e92110, 0x5d92c68}, /* 91 */ {4, 0.1536618862898642, 0x4165ef1, 0xf50dbfb2}, /* 92 */ {4, 0.1532904886526781, 0x4452100, 0xdf9f1316}, /* 93 */ {4, 0.1529248683028321, 0x4756fd1, 0xcb52a684}, /* 94 */ {4, 0.1525648706011593, 0x4a75410, 0xb8163e97}, /* 95 */ {4, 0.1522103467132434, 0x4dad681, 0xa5d8f269}, /* 96 */ {4, 0.1518611533308632, 0x5100000, 0x948b0fcd}, /* 97 */ {4, 0.1515171524096389, 0x546d981, 0x841e0215}, /* 98 */ {4, 0.1511782109217764, 0x57f6c10, 0x74843b1e}, /* 99 */ {4, 0.1508442006228941, 0x5b9c0d1, 0x65b11e6e}, /* 100 */ {4, 0.1505149978319906, 0x5f5e100, 0x5798ee23}, /* 101 */ {4, 0.1501904832236880, 0x633d5f1, 0x4a30b99b}, /* 102 */ {4, 0.1498705416319474, 0x673a910, 0x3d6e4d94}, /* 103 */ {4, 0.1495550618645152, 0x6b563e1, 0x314825b0}, /* 104 */ {4, 0.1492439365274121, 0x6f91000, 0x25b55f2e}, /* 105 */ {4, 0.1489370618588283, 0x73eb721, 0x1aadaccb}, /* 106 */ {4, 0.1486343375718350, 0x7866310, 0x10294ba2}, /* 107 */ {4, 0.1483356667053617, 0x7d01db1, 0x620f8f6}, /* 108 */ {4, 0.1480409554829326, 0x81bf100, 0xf91bd1b6}, /* 109 */ {4, 0.1477501131786861, 0x869e711, 0xe6d37b2a}, /* 110 */ {4, 0.1474630519902391, 0x8ba0a10, 0xd55cff6e}, /* 111 */ {4, 0.1471796869179852, 0x90c6441, 0xc4ad2db2}, /* 112 */ {4, 0.1468999356504447, 0x9610000, 0xb4b985cf}, /* 113 */ {4, 0.1466237184553111, 0x9b7e7c1, 0xa5782bef}, /* 114 */ {4, 0.1463509580758620, 0xa112610, 0x96dfdd2a}, /* 115 */ {4, 0.1460815796324244, 0xa6cc591, 0x88e7e509}, /* 116 */ {4, 0.1458155105286054, 0xacad100, 0x7b8813d3}, /* 117 */ {4, 0.1455526803620167, 0xb2b5331, 0x6eb8b595}, /* 118 */ {4, 0.1452930208392429, 0xb8e5710, 0x627289db}, /* 119 */ {4, 0.1450364656948130, 0xbf3e7a1, 0x56aebc07}, /* 120 */ {4, 0.1447829506139581, 0xc5c1000, 0x4b66dc33}, /* 121 */ {4, 0.1445324131589439, 0xcc6db61, 0x4094d8a3}, /* 122 */ {4, 0.1442847926987864, 0xd345510, 0x3632f7a5}, /* 123 */ {4, 0.1440400303421672, 0xda48871, 0x2c3bd1f0}, /* 124 */ {4, 0.1437980688733776, 0xe178100, 0x22aa4d5f}, /* 125 */ {4, 0.1435588526911310, 0xe8d4a51, 0x19799812}, /* 126 */ {4, 0.1433223277500932, 0xf05f010, 0x10a523e5}, /* 127 */ {4, 0.1430884415049874, 0xf817e01, 0x828a237}, /* 128 */ {4, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {4, 0.1426283821033600, 0x10818201, 0xf04ec452}, /* 130 */ {4, 0.1424021108869747, 0x11061010, 0xe136444a}, /* 131 */ {4, 0.1421782821510107, 0x118db651, 0xd2af9589}, /* 132 */ {4, 0.1419568500933153, 0x12188100, 0xc4b42a83}, /* 133 */ {4, 0.1417377701235801, 0x12a67c71, 0xb73dccf5}, /* 134 */ {4, 0.1415209988221527, 0x1337b510, 0xaa4698c5}, /* 135 */ {4, 0.1413064939005528, 0x13cc3761, 0x9dc8f729}, /* 136 */ {4, 0.1410942141636095, 0x14641000, 0x91bf9a30}, /* 137 */ {4, 0.1408841194731412, 0x14ff4ba1, 0x86257887}, /* 138 */ {4, 0.1406761707131039, 0x159df710, 0x7af5c98c}, /* 139 */ {4, 0.1404703297561400, 0x16401f31, 0x702c01a0}, /* 140 */ {4, 0.1402665594314587, 0x16e5d100, 0x65c3ceb1}, /* 141 */ {4, 0.1400648234939879, 0x178f1991, 0x5bb91502}, /* 142 */ {4, 0.1398650865947379, 0x183c0610, 0x5207ec23}, /* 143 */ {4, 0.1396673142523192, 0x18eca3c1, 0x48ac9c19}, /* 144 */ {4, 0.1394714728255649, 0x19a10000, 0x3fa39ab5}, /* 145 */ {4, 0.1392775294872041, 0x1a592841, 0x36e98912}, /* 146 */ {4, 0.1390854521985406, 0x1b152a10, 0x2e7b3140}, /* 147 */ {4, 0.1388952096850913, 0x1bd51311, 0x2655840b}, /* 148 */ {4, 0.1387067714131417, 0x1c98f100, 0x1e7596ea}, /* 149 */ {4, 0.1385201075671774, 0x1d60d1b1, 0x16d8a20d}, /* 150 */ {4, 0.1383351890281539, 0x1e2cc310, 0xf7bfe87}, /* 151 */ {4, 0.1381519873525671, 0x1efcd321, 0x85d2492}, /* 152 */ {4, 0.1379704747522905, 0x1fd11000, 0x179a9f4}, /* 153 */ {4, 0.1377906240751463, 0x20a987e1, 0xf59e80eb}, /* 154 */ {4, 0.1376124087861776, 0x21864910, 0xe8b768db}, /* 155 */ {4, 0.1374358029495937, 0x226761f1, 0xdc39d6d5}, /* 156 */ {4, 0.1372607812113589, 0x234ce100, 0xd021c5d1}, /* 157 */ {4, 0.1370873187823978, 0x2436d4d1, 0xc46b5e37}, /* 158 */ {4, 0.1369153914223921, 0x25254c10, 0xb912f39c}, /* 159 */ {4, 0.1367449754241439, 0x26185581, 0xae150294}, /* 160 */ {4, 0.1365760475984821, 0x27100000, 0xa36e2eb1}, /* 161 */ {4, 0.1364085852596902, 0x280c5a81, 0x991b4094}, /* 162 */ {4, 0.1362425662114337, 0x290d7410, 0x8f19241e}, /* 163 */ {4, 0.1360779687331669, 0x2a135bd1, 0x8564e6b7}, /* 164 */ {4, 0.1359147715670014, 0x2b1e2100, 0x7bfbb5b4}, /* 165 */ {4, 0.1357529539050150, 0x2c2dd2f1, 0x72dadcc8}, /* 166 */ {4, 0.1355924953769864, 0x2d428110, 0x69ffc498}, /* 167 */ {4, 0.1354333760385373, 0x2e5c3ae1, 0x6167f154}, /* 168 */ {4, 0.1352755763596663, 0x2f7b1000, 0x5911016e}, /* 169 */ {4, 0.1351190772136599, 0x309f1021, 0x50f8ac5f}, /* 170 */ {4, 0.1349638598663645, 0x31c84b10, 0x491cc17c}, /* 171 */ {4, 0.1348099059658080, 0x32f6d0b1, 0x417b26d8}, /* 172 */ {4, 0.1346571975321549, 0x342ab100, 0x3a11d83b}, /* 173 */ {4, 0.1345057169479844, 0x3563fc11, 0x32dee622}, /* 174 */ {4, 0.1343554469488779, 0x36a2c210, 0x2be074cd}, /* 175 */ {4, 0.1342063706143054, 0x37e71341, 0x2514bb58}, /* 176 */ {4, 0.1340584713587979, 0x39310000, 0x1e7a02e7}, /* 177 */ {4, 0.1339117329233981, 0x3a8098c1, 0x180ea5d0}, /* 178 */ {4, 0.1337661393673756, 0x3bd5ee10, 0x11d10edd}, /* 179 */ {4, 0.1336216750601996, 0x3d311091, 0xbbfb88e}, /* 180 */ {4, 0.1334783246737591, 0x3e921100, 0x5d92c68}, /* 181 */ {4, 0.1333360731748201, 0x3ff90031, 0x1c024c}, /* 182 */ {3, 0.1331949058177136, 0x5bfd18, 0x6437c648}, /* 183 */ {3, 0.1330548081372441, 0x5d8367, 0x5e68fb4d}, /* 184 */ {3, 0.1329157659418126, 0x5f0e00, 0x58ba55b8}, /* 185 */ {3, 0.1327777653067443, 0x609ce9, 0x532af851}, /* 186 */ {3, 0.1326407925678156, 0x623028, 0x4dba0cfc}, /* 187 */ {3, 0.1325048343149731, 0x63c7c3, 0x4866c46f}, /* 188 */ {3, 0.1323698773862368, 0x6563c0, 0x433055f7}, /* 189 */ {3, 0.1322359088617821, 0x670425, 0x3e15ff36}, /* 190 */ {3, 0.1321029160581950, 0x68a8f8, 0x391703ea}, /* 191 */ {3, 0.1319708865228925, 0x6a523f, 0x3432adb2}, /* 192 */ {3, 0.1318398080287045, 0x6c0000, 0x2f684bda}, /* 193 */ {3, 0.1317096685686114, 0x6db241, 0x2ab73323}, /* 194 */ {3, 0.1315804563506306, 0x6f6908, 0x261ebd94}, /* 195 */ {3, 0.1314521597928493, 0x71245b, 0x219e4a49}, /* 196 */ {3, 0.1313247675185968, 0x72e440, 0x1d353d43}, /* 197 */ {3, 0.1311982683517524, 0x74a8bd, 0x18e2ff3f}, /* 198 */ {3, 0.1310726513121843, 0x7671d8, 0x14a6fd89}, /* 199 */ {3, 0.1309479056113158, 0x783f97, 0x1080a9d1}, /* 200 */ {3, 0.1308240206478128, 0x7a1200, 0xc6f7a0b}, /* 201 */ {3, 0.1307009860033912, 0x7be919, 0x872e841}, /* 202 */ {3, 0.1305787914387386, 0x7dc4e8, 0x48a7274}, /* 203 */ {3, 0.1304574268895465, 0x7fa573, 0xb59a78}, /* 204 */ {3, 0.1303368824626505, 0x818ac0, 0xf9e7cba5}, /* 205 */ {3, 0.1302171484322746, 0x8374d5, 0xf289bb31}, /* 206 */ {3, 0.1300982152363760, 0x8563b8, 0xeb501ca8}, /* 207 */ {3, 0.1299800734730872, 0x87576f, 0xe43a0fc2}, /* 208 */ {3, 0.1298627138972530, 0x895000, 0xdd46baab}, /* 209 */ {3, 0.1297461274170591, 0x8b4d71, 0xd67549c6}, /* 210 */ {3, 0.1296303050907487, 0x8d4fc8, 0xcfc4ef7d}, /* 211 */ {3, 0.1295152381234257, 0x8f570b, 0xc934e409}, /* 212 */ {3, 0.1294009178639407, 0x916340, 0xc2c46544}, /* 213 */ {3, 0.1292873358018581, 0x93746d, 0xbc72b67a}, /* 214 */ {3, 0.1291744835645007, 0x958a98, 0xb63f203c}, /* 215 */ {3, 0.1290623529140715, 0x97a5c7, 0xb028f031}, /* 216 */ {3, 0.1289509357448472, 0x99c600, 0xaa2f78f1}, /* 217 */ {3, 0.1288402240804449, 0x9beb49, 0xa45211d8}, /* 218 */ {3, 0.1287302100711566, 0x9e15a8, 0x9e9016e2}, /* 219 */ {3, 0.1286208859913518, 0xa04523, 0x98e8e882}, /* 220 */ {3, 0.1285122442369443, 0xa279c0, 0x935beb82}, /* 221 */ {3, 0.1284042773229231, 0xa4b385, 0x8de888de}, /* 222 */ {3, 0.1282969778809442, 0xa6f278, 0x888e2da0}, /* 223 */ {3, 0.1281903386569819, 0xa9369f, 0x834c4ac4}, /* 224 */ {3, 0.1280843525090381, 0xab8000, 0x7e225515}, /* 225 */ {3, 0.1279790124049077, 0xadcea1, 0x790fc511}, /* 226 */ {3, 0.1278743114199984, 0xb02288, 0x741416c9}, /* 227 */ {3, 0.1277702427352035, 0xb27bbb, 0x6f2ec9c9}, /* 228 */ {3, 0.1276667996348261, 0xb4da40, 0x6a5f60f9}, /* 229 */ {3, 0.1275639755045533, 0xb73e1d, 0x65a56286}, /* 230 */ {3, 0.1274617638294791, 0xb9a758, 0x610057c6}, /* 231 */ {3, 0.1273601581921740, 0xbc15f7, 0x5c6fcd21}, /* 232 */ {3, 0.1272591522708010, 0xbe8a00, 0x57f351f7}, /* 233 */ {3, 0.1271587398372755, 0xc10379, 0x538a788f}, /* 234 */ {3, 0.1270589147554692, 0xc38268, 0x4f34d5fa}, /* 235 */ {3, 0.1269596709794558, 0xc606d3, 0x4af20203}, /* 236 */ {3, 0.1268610025517973, 0xc890c0, 0x46c19716}, /* 237 */ {3, 0.1267629036018709, 0xcb2035, 0x42a33232}, /* 238 */ {3, 0.1266653683442337, 0xcdb538, 0x3e9672cf}, /* 239 */ {3, 0.1265683910770258, 0xd04fcf, 0x3a9afad0}, /* 240 */ {3, 0.1264719661804097, 0xd2f000, 0x36b06e70}, /* 241 */ {3, 0.1263760881150453, 0xd595d1, 0x32d67431}, /* 242 */ {3, 0.1262807514205999, 0xd84148, 0x2f0cb4ca}, /* 243 */ {3, 0.1261859507142915, 0xdaf26b, 0x2b52db16}, /* 244 */ {3, 0.1260916806894653, 0xdda940, 0x27a89409}, /* 245 */ {3, 0.1259979361142023, 0xe065cd, 0x240d8e9b}, /* 246 */ {3, 0.1259047118299582, 0xe32818, 0x20817bbc}, /* 247 */ {3, 0.1258120027502338, 0xe5f027, 0x1d040e48}, /* 248 */ {3, 0.1257198038592741, 0xe8be00, 0x1994faf4}, /* 249 */ {3, 0.1256281102107963, 0xeb91a9, 0x1633f845}, /* 250 */ {3, 0.1255369169267456, 0xee6b28, 0x12e0be82}, /* 251 */ {3, 0.1254462191960791, 0xf14a83, 0xf9b07a6}, /* 252 */ {3, 0.1253560122735751, 0xf42fc0, 0xc628f55}, /* 253 */ {3, 0.1252662914786691, 0xf71ae5, 0x93712d3}, /* 254 */ {3, 0.1251770521943144, 0xfa0bf8, 0x61850f2}, /* 255 */ {3, 0.1250882898658681, 0xfd02ff, 0x3060a0f}, /* 256 */ {3, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 30 */ #if GMP_NUMB_BITS == 32 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {32, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {20, 0.6309297535714574, 0xcfd41b91, 0x3b563c24}, /* 4 */ {16, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {13, 0.4306765580733931, 0x48c27395, 0xc25c2684}, /* 6 */ {12, 0.3868528072345416, 0x81bf1000, 0xf91bd1b6}, /* 7 */ {11, 0.3562071871080222, 0x75db9c97, 0x1607a2cb}, /* 8 */ {10, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {10, 0.3154648767857287, 0xcfd41b91, 0x3b563c24}, /* 10 */ {9, 0.3010299956639812, 0x3b9aca00, 0x12e0be82}, /* 11 */ {9, 0.2890648263178878, 0x8c8b6d2b, 0xd24cde04}, /* 12 */ {8, 0.2789429456511298, 0x19a10000, 0x3fa39ab5}, /* 13 */ {8, 0.2702381544273197, 0x309f1021, 0x50f8ac5f}, /* 14 */ {8, 0.2626495350371935, 0x57f6c100, 0x74843b1e}, /* 15 */ {8, 0.2559580248098155, 0x98c29b81, 0xad0326c2}, /* 16 */ {8, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {7, 0.2446505421182260, 0x18754571, 0x4ef0b6bd}, /* 18 */ {7, 0.2398124665681314, 0x247dbc80, 0xc0fc48a1}, /* 19 */ {7, 0.2354089133666382, 0x3547667b, 0x33838942}, /* 20 */ {7, 0.2313782131597592, 0x4c4b4000, 0xad7f29ab}, /* 21 */ {7, 0.2276702486969530, 0x6b5a6e1d, 0x313c3d15}, /* 22 */ {7, 0.2242438242175754, 0x94ace180, 0xb8cca9e0}, /* 23 */ {7, 0.2210647294575037, 0xcaf18367, 0x42ed6de9}, /* 24 */ {6, 0.2181042919855316, 0xb640000, 0x67980e0b}, /* 25 */ {6, 0.2153382790366965, 0xe8d4a51, 0x19799812}, /* 26 */ {6, 0.2127460535533632, 0x1269ae40, 0xbce85396}, /* 27 */ {6, 0.2103099178571525, 0x17179149, 0x62c103a9}, /* 28 */ {6, 0.2080145976765095, 0x1cb91000, 0x1d353d43}, /* 29 */ {6, 0.2058468324604344, 0x23744899, 0xce1decea}, /* 30 */ {6, 0.2037950470905062, 0x2b73a840, 0x790fc511}, /* 31 */ {6, 0.2018490865820999, 0x34e63b41, 0x35b865a0}, /* 32 */ {6, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {6, 0.1982398631705605, 0x4cfa3cc1, 0xa9aed1b3}, /* 34 */ {6, 0.1965616322328226, 0x5c13d840, 0x63dfc229}, /* 35 */ {6, 0.1949590218937863, 0x6d91b519, 0x2b0fee30}, /* 36 */ {6, 0.1934264036172708, 0x81bf1000, 0xf91bd1b6}, /* 37 */ {6, 0.1919587200065601, 0x98ede0c9, 0xac89c3a9}, /* 38 */ {6, 0.1905514124267734, 0xb3773e40, 0x6d2c32fe}, /* 39 */ {6, 0.1892003595168700, 0xd1bbc4d1, 0x387907c9}, /* 40 */ {6, 0.1879018247091076, 0xf4240000, 0xc6f7a0b}, /* 41 */ {5, 0.1866524112389434, 0x6e7d349, 0x28928154}, /* 42 */ {5, 0.1854490234153689, 0x7ca30a0, 0x6e8629d}, /* 43 */ {5, 0.1842888331487062, 0x8c32bbb, 0xd373dca0}, /* 44 */ {5, 0.1831692509136336, 0x9d46c00, 0xa0b17895}, /* 45 */ {5, 0.1820879004699383, 0xaffacfd, 0x746811a5}, /* 46 */ {5, 0.1810425967800402, 0xc46bee0, 0x4da6500f}, /* 47 */ {5, 0.1800313266566926, 0xdab86ef, 0x2ba23582}, /* 48 */ {5, 0.1790522317510414, 0xf300000, 0xdb20a88}, /* 49 */ {5, 0.1781035935540111, 0x10d63af1, 0xe68d5ce4}, /* 50 */ {5, 0.1771838201355579, 0x12a05f20, 0xb7cdfd9d}, /* 51 */ {5, 0.1762914343888821, 0x1490aae3, 0x8e583933}, /* 52 */ {5, 0.1754250635819545, 0x16a97400, 0x697cc3ea}, /* 53 */ {5, 0.1745834300480449, 0x18ed2825, 0x48a5ca6c}, /* 54 */ {5, 0.1737653428714400, 0x1b5e4d60, 0x2b52db16}, /* 55 */ {5, 0.1729696904450771, 0x1dff8297, 0x111586a6}, /* 56 */ {5, 0.1721954337940981, 0x20d38000, 0xf31d2b36}, /* 57 */ {5, 0.1714416005739134, 0x23dd1799, 0xc8d76d19}, /* 58 */ {5, 0.1707072796637201, 0x271f35a0, 0xa2cb1eb4}, /* 59 */ {5, 0.1699916162869140, 0x2a9ce10b, 0x807c3ec3}, /* 60 */ {5, 0.1692938075987814, 0x2e593c00, 0x617ec8bf}, /* 61 */ {5, 0.1686130986895011, 0x3257844d, 0x45746cbe}, /* 62 */ {5, 0.1679487789570419, 0x369b13e0, 0x2c0aa273}, /* 63 */ {5, 0.1673001788101741, 0x3b27613f, 0x14f90805}, /* 64 */ {5, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {5, 0.1660476462159378, 0x4528a141, 0xd9cf0829}, /* 66 */ {5, 0.1654425539190583, 0x4aa51420, 0xb6fc4841}, /* 67 */ {5, 0.1648508567221603, 0x50794633, 0x973054cb}, /* 68 */ {5, 0.1642720499620502, 0x56a94400, 0x7a1dbe4b}, /* 69 */ {5, 0.1637056554452156, 0x5d393975, 0x5f7fcd7f}, /* 70 */ {5, 0.1631512196835108, 0x642d7260, 0x47196c84}, /* 71 */ {5, 0.1626083122716342, 0x6b8a5ae7, 0x30b43635}, /* 72 */ {5, 0.1620765243931223, 0x73548000, 0x1c1fa5f6}, /* 73 */ {5, 0.1615554674429964, 0x7b908fe9, 0x930634a}, /* 74 */ {5, 0.1610447717564444, 0x84435aa0, 0xef7f4a3c}, /* 75 */ {5, 0.1605440854340214, 0x8d71d25b, 0xcf5552d2}, /* 76 */ {5, 0.1600530732548213, 0x97210c00, 0xb1a47c8e}, /* 77 */ {5, 0.1595714156699382, 0xa1563f9d, 0x9634b43e}, /* 78 */ {5, 0.1590988078692941, 0xac16c8e0, 0x7cd3817d}, /* 79 */ {5, 0.1586349589155960, 0xb768278f, 0x65536761}, /* 80 */ {5, 0.1581795909397823, 0xc3500000, 0x4f8b588e}, /* 81 */ {5, 0.1577324383928644, 0xcfd41b91, 0x3b563c24}, /* 82 */ {5, 0.1572932473495469, 0xdcfa6920, 0x28928154}, /* 83 */ {5, 0.1568617748594410, 0xeac8fd83, 0x1721bfb0}, /* 84 */ {5, 0.1564377883420715, 0xf9461400, 0x6e8629d}, /* 85 */ {4, 0.1560210650222250, 0x31c84b1, 0x491cc17c}, /* 86 */ {4, 0.1556113914024939, 0x342ab10, 0x3a11d83b}, /* 87 */ {4, 0.1552085627701551, 0x36a2c21, 0x2be074cd}, /* 88 */ {4, 0.1548123827357682, 0x3931000, 0x1e7a02e7}, /* 89 */ {4, 0.1544226628011101, 0x3bd5ee1, 0x11d10edd}, /* 90 */ {4, 0.1540392219542636, 0x3e92110, 0x5d92c68}, /* 91 */ {4, 0.1536618862898642, 0x4165ef1, 0xf50dbfb2}, /* 92 */ {4, 0.1532904886526781, 0x4452100, 0xdf9f1316}, /* 93 */ {4, 0.1529248683028321, 0x4756fd1, 0xcb52a684}, /* 94 */ {4, 0.1525648706011593, 0x4a75410, 0xb8163e97}, /* 95 */ {4, 0.1522103467132434, 0x4dad681, 0xa5d8f269}, /* 96 */ {4, 0.1518611533308632, 0x5100000, 0x948b0fcd}, /* 97 */ {4, 0.1515171524096389, 0x546d981, 0x841e0215}, /* 98 */ {4, 0.1511782109217764, 0x57f6c10, 0x74843b1e}, /* 99 */ {4, 0.1508442006228941, 0x5b9c0d1, 0x65b11e6e}, /* 100 */ {4, 0.1505149978319906, 0x5f5e100, 0x5798ee23}, /* 101 */ {4, 0.1501904832236880, 0x633d5f1, 0x4a30b99b}, /* 102 */ {4, 0.1498705416319474, 0x673a910, 0x3d6e4d94}, /* 103 */ {4, 0.1495550618645152, 0x6b563e1, 0x314825b0}, /* 104 */ {4, 0.1492439365274121, 0x6f91000, 0x25b55f2e}, /* 105 */ {4, 0.1489370618588283, 0x73eb721, 0x1aadaccb}, /* 106 */ {4, 0.1486343375718350, 0x7866310, 0x10294ba2}, /* 107 */ {4, 0.1483356667053617, 0x7d01db1, 0x620f8f6}, /* 108 */ {4, 0.1480409554829326, 0x81bf100, 0xf91bd1b6}, /* 109 */ {4, 0.1477501131786861, 0x869e711, 0xe6d37b2a}, /* 110 */ {4, 0.1474630519902391, 0x8ba0a10, 0xd55cff6e}, /* 111 */ {4, 0.1471796869179852, 0x90c6441, 0xc4ad2db2}, /* 112 */ {4, 0.1468999356504447, 0x9610000, 0xb4b985cf}, /* 113 */ {4, 0.1466237184553111, 0x9b7e7c1, 0xa5782bef}, /* 114 */ {4, 0.1463509580758620, 0xa112610, 0x96dfdd2a}, /* 115 */ {4, 0.1460815796324244, 0xa6cc591, 0x88e7e509}, /* 116 */ {4, 0.1458155105286054, 0xacad100, 0x7b8813d3}, /* 117 */ {4, 0.1455526803620167, 0xb2b5331, 0x6eb8b595}, /* 118 */ {4, 0.1452930208392429, 0xb8e5710, 0x627289db}, /* 119 */ {4, 0.1450364656948130, 0xbf3e7a1, 0x56aebc07}, /* 120 */ {4, 0.1447829506139581, 0xc5c1000, 0x4b66dc33}, /* 121 */ {4, 0.1445324131589439, 0xcc6db61, 0x4094d8a3}, /* 122 */ {4, 0.1442847926987864, 0xd345510, 0x3632f7a5}, /* 123 */ {4, 0.1440400303421672, 0xda48871, 0x2c3bd1f0}, /* 124 */ {4, 0.1437980688733776, 0xe178100, 0x22aa4d5f}, /* 125 */ {4, 0.1435588526911310, 0xe8d4a51, 0x19799812}, /* 126 */ {4, 0.1433223277500932, 0xf05f010, 0x10a523e5}, /* 127 */ {4, 0.1430884415049874, 0xf817e01, 0x828a237}, /* 128 */ {4, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {4, 0.1426283821033600, 0x10818201, 0xf04ec452}, /* 130 */ {4, 0.1424021108869747, 0x11061010, 0xe136444a}, /* 131 */ {4, 0.1421782821510107, 0x118db651, 0xd2af9589}, /* 132 */ {4, 0.1419568500933153, 0x12188100, 0xc4b42a83}, /* 133 */ {4, 0.1417377701235801, 0x12a67c71, 0xb73dccf5}, /* 134 */ {4, 0.1415209988221527, 0x1337b510, 0xaa4698c5}, /* 135 */ {4, 0.1413064939005528, 0x13cc3761, 0x9dc8f729}, /* 136 */ {4, 0.1410942141636095, 0x14641000, 0x91bf9a30}, /* 137 */ {4, 0.1408841194731412, 0x14ff4ba1, 0x86257887}, /* 138 */ {4, 0.1406761707131039, 0x159df710, 0x7af5c98c}, /* 139 */ {4, 0.1404703297561400, 0x16401f31, 0x702c01a0}, /* 140 */ {4, 0.1402665594314587, 0x16e5d100, 0x65c3ceb1}, /* 141 */ {4, 0.1400648234939879, 0x178f1991, 0x5bb91502}, /* 142 */ {4, 0.1398650865947379, 0x183c0610, 0x5207ec23}, /* 143 */ {4, 0.1396673142523192, 0x18eca3c1, 0x48ac9c19}, /* 144 */ {4, 0.1394714728255649, 0x19a10000, 0x3fa39ab5}, /* 145 */ {4, 0.1392775294872041, 0x1a592841, 0x36e98912}, /* 146 */ {4, 0.1390854521985406, 0x1b152a10, 0x2e7b3140}, /* 147 */ {4, 0.1388952096850913, 0x1bd51311, 0x2655840b}, /* 148 */ {4, 0.1387067714131417, 0x1c98f100, 0x1e7596ea}, /* 149 */ {4, 0.1385201075671774, 0x1d60d1b1, 0x16d8a20d}, /* 150 */ {4, 0.1383351890281539, 0x1e2cc310, 0xf7bfe87}, /* 151 */ {4, 0.1381519873525671, 0x1efcd321, 0x85d2492}, /* 152 */ {4, 0.1379704747522905, 0x1fd11000, 0x179a9f4}, /* 153 */ {4, 0.1377906240751463, 0x20a987e1, 0xf59e80eb}, /* 154 */ {4, 0.1376124087861776, 0x21864910, 0xe8b768db}, /* 155 */ {4, 0.1374358029495937, 0x226761f1, 0xdc39d6d5}, /* 156 */ {4, 0.1372607812113589, 0x234ce100, 0xd021c5d1}, /* 157 */ {4, 0.1370873187823978, 0x2436d4d1, 0xc46b5e37}, /* 158 */ {4, 0.1369153914223921, 0x25254c10, 0xb912f39c}, /* 159 */ {4, 0.1367449754241439, 0x26185581, 0xae150294}, /* 160 */ {4, 0.1365760475984821, 0x27100000, 0xa36e2eb1}, /* 161 */ {4, 0.1364085852596902, 0x280c5a81, 0x991b4094}, /* 162 */ {4, 0.1362425662114337, 0x290d7410, 0x8f19241e}, /* 163 */ {4, 0.1360779687331669, 0x2a135bd1, 0x8564e6b7}, /* 164 */ {4, 0.1359147715670014, 0x2b1e2100, 0x7bfbb5b4}, /* 165 */ {4, 0.1357529539050150, 0x2c2dd2f1, 0x72dadcc8}, /* 166 */ {4, 0.1355924953769864, 0x2d428110, 0x69ffc498}, /* 167 */ {4, 0.1354333760385373, 0x2e5c3ae1, 0x6167f154}, /* 168 */ {4, 0.1352755763596663, 0x2f7b1000, 0x5911016e}, /* 169 */ {4, 0.1351190772136599, 0x309f1021, 0x50f8ac5f}, /* 170 */ {4, 0.1349638598663645, 0x31c84b10, 0x491cc17c}, /* 171 */ {4, 0.1348099059658080, 0x32f6d0b1, 0x417b26d8}, /* 172 */ {4, 0.1346571975321549, 0x342ab100, 0x3a11d83b}, /* 173 */ {4, 0.1345057169479844, 0x3563fc11, 0x32dee622}, /* 174 */ {4, 0.1343554469488779, 0x36a2c210, 0x2be074cd}, /* 175 */ {4, 0.1342063706143054, 0x37e71341, 0x2514bb58}, /* 176 */ {4, 0.1340584713587979, 0x39310000, 0x1e7a02e7}, /* 177 */ {4, 0.1339117329233981, 0x3a8098c1, 0x180ea5d0}, /* 178 */ {4, 0.1337661393673756, 0x3bd5ee10, 0x11d10edd}, /* 179 */ {4, 0.1336216750601996, 0x3d311091, 0xbbfb88e}, /* 180 */ {4, 0.1334783246737591, 0x3e921100, 0x5d92c68}, /* 181 */ {4, 0.1333360731748201, 0x3ff90031, 0x1c024c}, /* 182 */ {4, 0.1331949058177136, 0x4165ef10, 0xf50dbfb2}, /* 183 */ {4, 0.1330548081372441, 0x42d8eea1, 0xea30efa3}, /* 184 */ {4, 0.1329157659418126, 0x44521000, 0xdf9f1316}, /* 185 */ {4, 0.1327777653067443, 0x45d16461, 0xd555c0c9}, /* 186 */ {4, 0.1326407925678156, 0x4756fd10, 0xcb52a684}, /* 187 */ {4, 0.1325048343149731, 0x48e2eb71, 0xc193881f}, /* 188 */ {4, 0.1323698773862368, 0x4a754100, 0xb8163e97}, /* 189 */ {4, 0.1322359088617821, 0x4c0e0f51, 0xaed8b724}, /* 190 */ {4, 0.1321029160581950, 0x4dad6810, 0xa5d8f269}, /* 191 */ {4, 0.1319708865228925, 0x4f535d01, 0x9d15039d}, /* 192 */ {4, 0.1318398080287045, 0x51000000, 0x948b0fcd}, /* 193 */ {4, 0.1317096685686114, 0x52b36301, 0x8c394d1d}, /* 194 */ {4, 0.1315804563506306, 0x546d9810, 0x841e0215}, /* 195 */ {4, 0.1314521597928493, 0x562eb151, 0x7c3784f8}, /* 196 */ {4, 0.1313247675185968, 0x57f6c100, 0x74843b1e}, /* 197 */ {4, 0.1311982683517524, 0x59c5d971, 0x6d02985d}, /* 198 */ {4, 0.1310726513121843, 0x5b9c0d10, 0x65b11e6e}, /* 199 */ {4, 0.1309479056113158, 0x5d796e61, 0x5e8e5c64}, /* 200 */ {4, 0.1308240206478128, 0x5f5e1000, 0x5798ee23}, /* 201 */ {4, 0.1307009860033912, 0x614a04a1, 0x50cf7bde}, /* 202 */ {4, 0.1305787914387386, 0x633d5f10, 0x4a30b99b}, /* 203 */ {4, 0.1304574268895465, 0x65383231, 0x43bb66bd}, /* 204 */ {4, 0.1303368824626505, 0x673a9100, 0x3d6e4d94}, /* 205 */ {4, 0.1302171484322746, 0x69448e91, 0x374842ee}, /* 206 */ {4, 0.1300982152363760, 0x6b563e10, 0x314825b0}, /* 207 */ {4, 0.1299800734730872, 0x6d6fb2c1, 0x2b6cde75}, /* 208 */ {4, 0.1298627138972530, 0x6f910000, 0x25b55f2e}, /* 209 */ {4, 0.1297461274170591, 0x71ba3941, 0x2020a2c5}, /* 210 */ {4, 0.1296303050907487, 0x73eb7210, 0x1aadaccb}, /* 211 */ {4, 0.1295152381234257, 0x7624be11, 0x155b891f}, /* 212 */ {4, 0.1294009178639407, 0x78663100, 0x10294ba2}, /* 213 */ {4, 0.1292873358018581, 0x7aafdeb1, 0xb160fe9}, /* 214 */ {4, 0.1291744835645007, 0x7d01db10, 0x620f8f6}, /* 215 */ {4, 0.1290623529140715, 0x7f5c3a21, 0x14930ef}, /* 216 */ {4, 0.1289509357448472, 0x81bf1000, 0xf91bd1b6}, /* 217 */ {4, 0.1288402240804449, 0x842a70e1, 0xefdcb0c7}, /* 218 */ {4, 0.1287302100711566, 0x869e7110, 0xe6d37b2a}, /* 219 */ {4, 0.1286208859913518, 0x891b24f1, 0xddfeb94a}, /* 220 */ {4, 0.1285122442369443, 0x8ba0a100, 0xd55cff6e}, /* 221 */ {4, 0.1284042773229231, 0x8e2ef9d1, 0xcceced50}, /* 222 */ {4, 0.1282969778809442, 0x90c64410, 0xc4ad2db2}, /* 223 */ {4, 0.1281903386569819, 0x93669481, 0xbc9c75f9}, /* 224 */ {4, 0.1280843525090381, 0x96100000, 0xb4b985cf}, /* 225 */ {4, 0.1279790124049077, 0x98c29b81, 0xad0326c2}, /* 226 */ {4, 0.1278743114199984, 0x9b7e7c10, 0xa5782bef}, /* 227 */ {4, 0.1277702427352035, 0x9e43b6d1, 0x9e1771a9}, /* 228 */ {4, 0.1276667996348261, 0xa1126100, 0x96dfdd2a}, /* 229 */ {4, 0.1275639755045533, 0xa3ea8ff1, 0x8fd05c41}, /* 230 */ {4, 0.1274617638294791, 0xa6cc5910, 0x88e7e509}, /* 231 */ {4, 0.1273601581921740, 0xa9b7d1e1, 0x8225759d}, /* 232 */ {4, 0.1272591522708010, 0xacad1000, 0x7b8813d3}, /* 233 */ {4, 0.1271587398372755, 0xafac2921, 0x750eccf9}, /* 234 */ {4, 0.1270589147554692, 0xb2b53310, 0x6eb8b595}, /* 235 */ {4, 0.1269596709794558, 0xb5c843b1, 0x6884e923}, /* 236 */ {4, 0.1268610025517973, 0xb8e57100, 0x627289db}, /* 237 */ {4, 0.1267629036018709, 0xbc0cd111, 0x5c80c07b}, /* 238 */ {4, 0.1266653683442337, 0xbf3e7a10, 0x56aebc07}, /* 239 */ {4, 0.1265683910770258, 0xc27a8241, 0x50fbb19b}, /* 240 */ {4, 0.1264719661804097, 0xc5c10000, 0x4b66dc33}, /* 241 */ {4, 0.1263760881150453, 0xc91209c1, 0x45ef7c7c}, /* 242 */ {4, 0.1262807514205999, 0xcc6db610, 0x4094d8a3}, /* 243 */ {4, 0.1261859507142915, 0xcfd41b91, 0x3b563c24}, /* 244 */ {4, 0.1260916806894653, 0xd3455100, 0x3632f7a5}, /* 245 */ {4, 0.1259979361142023, 0xd6c16d31, 0x312a60c3}, /* 246 */ {4, 0.1259047118299582, 0xda488710, 0x2c3bd1f0}, /* 247 */ {4, 0.1258120027502338, 0xdddab5a1, 0x2766aa45}, /* 248 */ {4, 0.1257198038592741, 0xe1781000, 0x22aa4d5f}, /* 249 */ {4, 0.1256281102107963, 0xe520ad61, 0x1e06233c}, /* 250 */ {4, 0.1255369169267456, 0xe8d4a510, 0x19799812}, /* 251 */ {4, 0.1254462191960791, 0xec940e71, 0x15041c33}, /* 252 */ {4, 0.1253560122735751, 0xf05f0100, 0x10a523e5}, /* 253 */ {4, 0.1252662914786691, 0xf4359451, 0xc5c2749}, /* 254 */ {4, 0.1251770521943144, 0xf817e010, 0x828a237}, /* 255 */ {4, 0.1250882898658681, 0xfc05fc01, 0x40a1423}, /* 256 */ {4, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 32 */ #if GMP_NUMB_BITS == 60 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {60, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {37, 0.6309297535714574, CNST_LIMB(0x63fbad3a2b55473), CNST_LIMB(0x47bc3fc3ff00bd44)}, /* 4 */ {30, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {25, 0.4306765580733931, CNST_LIMB(0x422ca8b0a00a425), CNST_LIMB(0xef2d0f5da7dd8aa2)}, /* 6 */ {23, 0.3868528072345416, CNST_LIMB(0xaf5af7425800000), CNST_LIMB(0x75bb89a67c1b79f0)}, /* 7 */ {21, 0.3562071871080222, CNST_LIMB(0x7c05a810b72a027), CNST_LIMB(0x8360313150c31ec)}, /* 8 */ {20, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {18, 0.3154648767857287, CNST_LIMB(0x2153e468b91c6d1), CNST_LIMB(0xeb9a5fa5fe811be6)}, /* 10 */ {18, 0.3010299956639812, CNST_LIMB(0xde0b6b3a7640000), CNST_LIMB(0x2725dd1d243aba0e)}, /* 11 */ {17, 0.2890648263178878, CNST_LIMB(0x703b564fa7a264b), CNST_LIMB(0x23f79a47d00f0c24)}, /* 12 */ {16, 0.2789429456511298, CNST_LIMB(0x290d74100000000), CNST_LIMB(0x8f19241e28c7d757)}, /* 13 */ {16, 0.2702381544273197, CNST_LIMB(0x93c08e16a022441), CNST_LIMB(0xbb8db609dd29ebfe)}, /* 14 */ {15, 0.2626495350371935, CNST_LIMB(0x228b05bd21b8000), CNST_LIMB(0xda4e7e1af48bc96b)}, /* 15 */ {15, 0.2559580248098155, CNST_LIMB(0x613b62c597707ef), CNST_LIMB(0x51022b797ce7ec54)}, /* 16 */ {15, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {14, 0.2446505421182260, CNST_LIMB(0x25632bdbc201be1), CNST_LIMB(0xb638ff2d65da0c55)}, /* 18 */ {14, 0.2398124665681314, CNST_LIMB(0x5339ac59fcc4000), CNST_LIMB(0x89b9fb6ae9fd5760)}, /* 19 */ {14, 0.2354089133666382, CNST_LIMB(0xb16a458ef403f19), CNST_LIMB(0x7164becb502365c9)}, /* 20 */ {13, 0.2313782131597592, CNST_LIMB(0x12309ce54000000), CNST_LIMB(0xc25c268497681c26)}, /* 21 */ {13, 0.2276702486969530, CNST_LIMB(0x224cbcf22c00b65), CNST_LIMB(0xddabc7249999b8eb)}, /* 22 */ {13, 0.2242438242175754, CNST_LIMB(0x3ecbe3fcf076000), CNST_LIMB(0x4e80efa1448b255)}, /* 23 */ {13, 0.2210647294575037, CNST_LIMB(0x6feb266931a75b7), CNST_LIMB(0x24c8ca611d372b90)}, /* 24 */ {13, 0.2181042919855316, CNST_LIMB(0xc29e98000000000), CNST_LIMB(0x50bd367972689db1)}, /* 25 */ {12, 0.2153382790366965, CNST_LIMB(0xd3c21bcecceda1), CNST_LIMB(0x357c299a88ea76a5)}, /* 26 */ {12, 0.2127460535533632, CNST_LIMB(0x1530821671b1000), CNST_LIMB(0x829b5a64c4f6e423)}, /* 27 */ {12, 0.2103099178571525, CNST_LIMB(0x2153e468b91c6d1), CNST_LIMB(0xeb9a5fa5fe811be6)}, /* 28 */ {12, 0.2080145976765095, CNST_LIMB(0x339014821000000), CNST_LIMB(0x3dbf957b0ed3a56f)}, /* 29 */ {12, 0.2058468324604344, CNST_LIMB(0x4e900abb53e6b71), CNST_LIMB(0xa118034ebf7691b7)}, /* 30 */ {12, 0.2037950470905062, CNST_LIMB(0x7600ec618141000), CNST_LIMB(0x15afb9b26a5b594a)}, /* 31 */ {12, 0.2018490865820999, CNST_LIMB(0xaee5720ee830681), CNST_LIMB(0x76b6aa272e1873c5)}, /* 32 */ {11, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {11, 0.1982398631705605, CNST_LIMB(0xb38fc730f35d61), CNST_LIMB(0x6cfa4d82a2ddfd49)}, /* 34 */ {11, 0.1965616322328226, CNST_LIMB(0xf95c61a43d8800), CNST_LIMB(0x6d0dec9b1fd6d35)}, /* 35 */ {11, 0.1949590218937863, CNST_LIMB(0x15702f27495705b), CNST_LIMB(0x7e1f0c942ca5c402)}, /* 36 */ {11, 0.1934264036172708, CNST_LIMB(0x1d39d3e06400000), CNST_LIMB(0x184ca73cdd149b74)}, /* 37 */ {11, 0.1919587200065601, CNST_LIMB(0x27817226572713d), CNST_LIMB(0x9eb9baf930a652b8)}, /* 38 */ {11, 0.1905514124267734, CNST_LIMB(0x34f940402e95800), CNST_LIMB(0x3549321f8ae12341)}, /* 39 */ {11, 0.1892003595168700, CNST_LIMB(0x467e6978c602bf7), CNST_LIMB(0xd0d5d15eec6384f4)}, /* 40 */ {11, 0.1879018247091076, CNST_LIMB(0x5d21dba00000000), CNST_LIMB(0x5fd7fe17964955fd)}, /* 41 */ {11, 0.1866524112389434, CNST_LIMB(0x7a32956ad081b79), CNST_LIMB(0xc27e62e0686feae)}, /* 42 */ {11, 0.1854490234153689, CNST_LIMB(0x9f49aaff0e86800), CNST_LIMB(0x9b6e7507064ce7c7)}, /* 43 */ {11, 0.1842888331487062, CNST_LIMB(0xce583bb812d37b3), CNST_LIMB(0x3d9ac2bf66cfed94)}, /* 44 */ {10, 0.1831692509136336, CNST_LIMB(0x609fdb0d900000), CNST_LIMB(0x5320a1778ddd7dcd)}, /* 45 */ {10, 0.1820879004699383, CNST_LIMB(0x78f8ddd8eaf209), CNST_LIMB(0xedf4ecb750d5f55)}, /* 46 */ {10, 0.1810425967800402, CNST_LIMB(0x96b571f0d14400), CNST_LIMB(0xb2da18546c9c48bc)}, /* 47 */ {10, 0.1800313266566926, CNST_LIMB(0xbadea1d0691321), CNST_LIMB(0x5eb44fc612bcd700)}, /* 48 */ {10, 0.1790522317510414, CNST_LIMB(0xe6a90000000000), CNST_LIMB(0x1c1fa5f67888450d)}, /* 49 */ {10, 0.1781035935540111, CNST_LIMB(0x11b7aa4b87e16e1), CNST_LIMB(0xce5e856164d5575d)}, /* 50 */ {10, 0.1771838201355579, CNST_LIMB(0x15af1d78b58c400), CNST_LIMB(0x79ca10c9242235d5)}, /* 51 */ {10, 0.1762914343888821, CNST_LIMB(0x1a6ec7429724549), CNST_LIMB(0x35eb3821aa2c7015)}, /* 52 */ {10, 0.1754250635819545, CNST_LIMB(0x201901a5c900000), CNST_LIMB(0xfe711d590c0df937)}, /* 53 */ {10, 0.1745834300480449, CNST_LIMB(0x26d533a4acd9559), CNST_LIMB(0xa5e942153523d6b6)}, /* 54 */ {10, 0.1737653428714400, CNST_LIMB(0x2ed070f29e2e400), CNST_LIMB(0x5dfaa697ec6f6a1c)}, /* 55 */ {10, 0.1729696904450771, CNST_LIMB(0x383e29ba16fb511), CNST_LIMB(0x234eeafe97d6a424)}, /* 56 */ {10, 0.1721954337940981, CNST_LIMB(0x4358ebc40000000), CNST_LIMB(0xe68d5ce46eb41552)}, /* 57 */ {10, 0.1714416005739134, CNST_LIMB(0x50633659656d971), CNST_LIMB(0x97a014f8e3be55f1)}, /* 58 */ {10, 0.1707072796637201, CNST_LIMB(0x5fa8624c7fba400), CNST_LIMB(0x568df8b76cbf212c)}, /* 59 */ {10, 0.1699916162869140, CNST_LIMB(0x717d9faa73c5679), CNST_LIMB(0x20ba7c4b4e6ef492)}, /* 60 */ {10, 0.1692938075987814, CNST_LIMB(0x86430aac6100000), CNST_LIMB(0xe81ee46b9ef492f5)}, /* 61 */ {10, 0.1686130986895011, CNST_LIMB(0x9e64d9944b57f29), CNST_LIMB(0x9dc0d10d51940416)}, /* 62 */ {10, 0.1679487789570419, CNST_LIMB(0xba5ca5392cb0400), CNST_LIMB(0x5fa8ed2f450272a5)}, /* 63 */ {10, 0.1673001788101741, CNST_LIMB(0xdab2ce1d022cd81), CNST_LIMB(0x2ba9eb8c5e04e641)}, /* 64 */ {10, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {9, 0.1660476462159378, CNST_LIMB(0x49955fff524241), CNST_LIMB(0xbd51373330291de0)}, /* 66 */ {9, 0.1654425539190583, CNST_LIMB(0x546c0815224200), CNST_LIMB(0x842530ee2db4949d)}, /* 67 */ {9, 0.1648508567221603, CNST_LIMB(0x60a832ea42b723), CNST_LIMB(0x53035ba7ebf32e8d)}, /* 68 */ {9, 0.1642720499620502, CNST_LIMB(0x6e718d92440000), CNST_LIMB(0x28b1cb81b1ef1849)}, /* 69 */ {9, 0.1637056554452156, CNST_LIMB(0x7df37c6dfc47a5), CNST_LIMB(0x42a17bd09be1ff0)}, /* 70 */ {9, 0.1631512196835108, CNST_LIMB(0x8f5d644aa40600), CNST_LIMB(0xc920a4cc42694dbb)}, /* 71 */ {9, 0.1626083122716342, CNST_LIMB(0xa2e2f7eeceb187), CNST_LIMB(0x92575d910a710d4a)}, /* 72 */ {9, 0.1620765243931223, CNST_LIMB(0xb8bc8a48000000), CNST_LIMB(0x62c103a907ce14bf)}, /* 73 */ {9, 0.1615554674429964, CNST_LIMB(0xd127656d1c2389), CNST_LIMB(0x3956b266f959f773)}, /* 74 */ {9, 0.1610447717564444, CNST_LIMB(0xec6626ab750a00), CNST_LIMB(0x1539e71bd2a52e0b)}, /* 75 */ {9, 0.1605440854340214, CNST_LIMB(0x10ac11fd5bfc76b), CNST_LIMB(0xeb5bbd5681607adf)}, /* 76 */ {9, 0.1600530732548213, CNST_LIMB(0x12c86be0dcc0000), CNST_LIMB(0xb42437ae7ad77ab7)}, /* 77 */ {9, 0.1595714156699382, CNST_LIMB(0x1520bf6436b5bed), CNST_LIMB(0x83bbbed2c40a264c)}, /* 78 */ {9, 0.1590988078692941, CNST_LIMB(0x17bacb7a490ce00), CNST_LIMB(0x5938cc1e9f4f691e)}, /* 79 */ {9, 0.1586349589155960, CNST_LIMB(0x1a9cc643c4ebecf), CNST_LIMB(0x33d3907e4fe3d470)}, /* 80 */ {9, 0.1581795909397823, CNST_LIMB(0x1dcd65000000000), CNST_LIMB(0x12e0be826d694b2e)}, /* 81 */ {9, 0.1577324383928644, CNST_LIMB(0x2153e468b91c6d1), CNST_LIMB(0xeb9a5fa5fe811be6)}, /* 82 */ {9, 0.1572932473495469, CNST_LIMB(0x2538117cf94d200), CNST_LIMB(0xb8347f9d0e371b96)}, /* 83 */ {9, 0.1568617748594410, CNST_LIMB(0x298252bf5714db3), CNST_LIMB(0x8ab5784986179d50)}, /* 84 */ {9, 0.1564377883420715, CNST_LIMB(0x2e3bb1ebfd40000), CNST_LIMB(0x6260a3cc8ced3da3)}, /* 85 */ {9, 0.1560210650222250, CNST_LIMB(0x336de62af2bca35), CNST_LIMB(0x3e92c42e000eeed4)}, /* 86 */ {9, 0.1556113914024939, CNST_LIMB(0x39235ec33d49600), CNST_LIMB(0x1ebe59130db2795e)}, /* 87 */ {9, 0.1552085627701551, CNST_LIMB(0x3f674e539585a17), CNST_LIMB(0x268859e90f51b89)}, /* 88 */ {9, 0.1548123827357682, CNST_LIMB(0x4645b6958000000), CNST_LIMB(0xd24cde0463108cfa)}, /* 89 */ {9, 0.1544226628011101, CNST_LIMB(0x4dcb74afbc49c19), CNST_LIMB(0xa536009f37adc383)}, /* 90 */ {9, 0.1540392219542636, CNST_LIMB(0x56064e1d18d9a00), CNST_LIMB(0x7cea06ce1c9ace10)}, /* 91 */ {9, 0.1536618862898642, CNST_LIMB(0x5f04fe2cd8a39fb), CNST_LIMB(0x58db032e72e8ba43)}, /* 92 */ {9, 0.1532904886526781, CNST_LIMB(0x68d74421f5c0000), CNST_LIMB(0x388cc17cae105447)}, /* 93 */ {9, 0.1529248683028321, CNST_LIMB(0x738df1f6ab4827d), CNST_LIMB(0x1b92672857620ce0)}, /* 94 */ {9, 0.1525648706011593, CNST_LIMB(0x7f3afbc9cfb5e00), CNST_LIMB(0x18c6a9575c2ade4)}, /* 95 */ {9, 0.1522103467132434, CNST_LIMB(0x8bf187fba88f35f), CNST_LIMB(0xd44da7da8e44b24f)}, /* 96 */ {9, 0.1518611533308632, CNST_LIMB(0x99c600000000000), CNST_LIMB(0xaa2f78f1b4cc6794)}, /* 97 */ {9, 0.1515171524096389, CNST_LIMB(0xa8ce21eb6531361), CNST_LIMB(0x843c067d091ee4cc)}, /* 98 */ {9, 0.1511782109217764, CNST_LIMB(0xb92112c1a0b6200), CNST_LIMB(0x62005e1e913356e3)}, /* 99 */ {9, 0.1508442006228941, CNST_LIMB(0xcad7718b8747c43), CNST_LIMB(0x4316eed01dedd518)}, /* 100 */ {9, 0.1505149978319906, CNST_LIMB(0xde0b6b3a7640000), CNST_LIMB(0x2725dd1d243aba0e)}, /* 101 */ {9, 0.1501904832236880, CNST_LIMB(0xf2d8cf5fe6d74c5), CNST_LIMB(0xddd9057c24cb54f)}, /* 102 */ {8, 0.1498705416319474, CNST_LIMB(0x29a02e14062100), CNST_LIMB(0x899a5ba9c13fafd9)}, /* 103 */ {8, 0.1495550618645152, CNST_LIMB(0x2d0134ef21cbc1), CNST_LIMB(0x6c0cfe23de23042a)}, /* 104 */ {8, 0.1492439365274121, CNST_LIMB(0x309f1021000000), CNST_LIMB(0x50f8ac5fc8f53985)}, /* 105 */ {8, 0.1489370618588283, CNST_LIMB(0x347d6104fc3241), CNST_LIMB(0x382316831f7ee175)}, /* 106 */ {8, 0.1486343375718350, CNST_LIMB(0x389ff6bb156100), CNST_LIMB(0x2157c761ab4163ef)}, /* 107 */ {8, 0.1483356667053617, CNST_LIMB(0x3d0acff1119461), CNST_LIMB(0xc6781d80f8224fc)}, /* 108 */ {8, 0.1480409554829326, CNST_LIMB(0x41c21cb8e10000), CNST_LIMB(0xf24f62335024a295)}, /* 109 */ {8, 0.1477501131786861, CNST_LIMB(0x46ca406c81af21), CNST_LIMB(0xcee3d32cad2a9049)}, /* 110 */ {8, 0.1474630519902391, CNST_LIMB(0x4c27d39fa54100), CNST_LIMB(0xae46f0d94c05e933)}, /* 111 */ {8, 0.1471796869179852, CNST_LIMB(0x51dfa61f5ad881), CNST_LIMB(0x9039ff426d3f284b)}, /* 112 */ {8, 0.1468999356504447, CNST_LIMB(0x57f6c100000000), CNST_LIMB(0x74843b1ee4c1e053)}, /* 113 */ {8, 0.1466237184553111, CNST_LIMB(0x5e7268b9bbdf81), CNST_LIMB(0x5af23c74f9ad9fe9)}, /* 114 */ {8, 0.1463509580758620, CNST_LIMB(0x65581f53c8c100), CNST_LIMB(0x43556aa2ac262a0b)}, /* 115 */ {8, 0.1460815796324244, CNST_LIMB(0x6cada69ed07c21), CNST_LIMB(0x2d837fbe78458762)}, /* 116 */ {8, 0.1458155105286054, CNST_LIMB(0x7479027ea10000), CNST_LIMB(0x19561984a50ff8fe)}, /* 117 */ {8, 0.1455526803620167, CNST_LIMB(0x7cc07b437ecf61), CNST_LIMB(0x6aa563e655033e3)}, /* 118 */ {8, 0.1452930208392429, CNST_LIMB(0x858aa0135be100), CNST_LIMB(0xeac0f8837fb05773)}, /* 119 */ {8, 0.1450364656948130, CNST_LIMB(0x8ede496339f341), CNST_LIMB(0xcab755a8d01fa67f)}, /* 120 */ {8, 0.1447829506139581, CNST_LIMB(0x98c29b81000000), CNST_LIMB(0xad0326c296b4f529)}, /* 121 */ {8, 0.1445324131589439, CNST_LIMB(0xa33f092e0b1ac1), CNST_LIMB(0x91747422be14b0b2)}, /* 122 */ {8, 0.1442847926987864, CNST_LIMB(0xae5b564ac3a100), CNST_LIMB(0x77df79e9a96c06f6)}, /* 123 */ {8, 0.1440400303421672, CNST_LIMB(0xba1f9a938041e1), CNST_LIMB(0x601c4205aebd9e47)}, /* 124 */ {8, 0.1437980688733776, CNST_LIMB(0xc694446f010000), CNST_LIMB(0x4a0648979c838c18)}, /* 125 */ {8, 0.1435588526911310, CNST_LIMB(0xd3c21bcecceda1), CNST_LIMB(0x357c299a88ea76a5)}, /* 126 */ {8, 0.1433223277500932, CNST_LIMB(0xe1b24521be0100), CNST_LIMB(0x225f56ceb3da9f5d)}, /* 127 */ {8, 0.1430884415049874, CNST_LIMB(0xf06e445906fc01), CNST_LIMB(0x1093d504b3cd7d93)}, /* 128 */ {8, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {8, 0.1426283821033600, CNST_LIMB(0x11071c467070401), CNST_LIMB(0xe118a87d4cc99598)}, /* 130 */ {8, 0.1424021108869747, CNST_LIMB(0x121ce46e1c20100), CNST_LIMB(0xc4467c0ffce9c258)}, /* 131 */ {8, 0.1421782821510107, CNST_LIMB(0x13420a9191145a1), CNST_LIMB(0xa961da6b975bdda8)}, /* 132 */ {8, 0.1419568500933153, CNST_LIMB(0x147747c71010000), CNST_LIMB(0x90465a759f223942)}, /* 133 */ {8, 0.1417377701235801, CNST_LIMB(0x15bd5c58309a9e1), CNST_LIMB(0x78d281ef0b3202bf)}, /* 134 */ {8, 0.1415209988221527, CNST_LIMB(0x17150ffacefa100), CNST_LIMB(0x62e783f3cb0294bb)}, /* 135 */ {8, 0.1413064939005528, CNST_LIMB(0x187f320b492d2c1), CNST_LIMB(0x4e69059f87070714)}, /* 136 */ {8, 0.1410942141636095, CNST_LIMB(0x19fc99c81000000), CNST_LIMB(0x3b3ce839cd0e09ce)}, /* 137 */ {8, 0.1408841194731412, CNST_LIMB(0x1b8e268e915bb41), CNST_LIMB(0x294b185caf87e8bb)}, /* 138 */ {8, 0.1406761707131039, CNST_LIMB(0x1d34c01980fe100), CNST_LIMB(0x187d6197ce80fa6f)}, /* 139 */ {8, 0.1404703297561400, CNST_LIMB(0x1ef156c084ce761), CNST_LIMB(0x8bf461f03cf0bbf)}, /* 140 */ {8, 0.1402665594314587, CNST_LIMB(0x20c4e3b94a10000), CNST_LIMB(0xf3fbb43f68a32d05)}, /* 141 */ {8, 0.1400648234939879, CNST_LIMB(0x22b0695a08ba421), CNST_LIMB(0xd84f44c48564dc19)}, /* 142 */ {8, 0.1398650865947379, CNST_LIMB(0x24b4f35d7a4c100), CNST_LIMB(0xbe58ebcce7956abe)}, /* 143 */ {8, 0.1396673142523192, CNST_LIMB(0x26d397284975781), CNST_LIMB(0xa5fac463c7c134b7)}, /* 144 */ {8, 0.1394714728255649, CNST_LIMB(0x290d74100000000), CNST_LIMB(0x8f19241e28c7d757)}, /* 145 */ {8, 0.1392775294872041, CNST_LIMB(0x2b63b3a37866081), CNST_LIMB(0x799a6d046c0ae1ae)}, /* 146 */ {8, 0.1390854521985406, CNST_LIMB(0x2dd789f4d894100), CNST_LIMB(0x6566e37d746a9e40)}, /* 147 */ {8, 0.1388952096850913, CNST_LIMB(0x306a35e51b58721), CNST_LIMB(0x526887dbfb5f788f)}, /* 148 */ {8, 0.1387067714131417, CNST_LIMB(0x331d01712e10000), CNST_LIMB(0x408af3382b8efd3d)}, /* 149 */ {8, 0.1385201075671774, CNST_LIMB(0x35f14200a827c61), CNST_LIMB(0x2fbb374806ec05f1)}, /* 150 */ {8, 0.1383351890281539, CNST_LIMB(0x38e858b62216100), CNST_LIMB(0x1fe7c0f0afce87fe)}, /* 151 */ {8, 0.1381519873525671, CNST_LIMB(0x3c03b2c13176a41), CNST_LIMB(0x11003d517540d32e)}, /* 152 */ {8, 0.1379704747522905, CNST_LIMB(0x3f44c9b21000000), CNST_LIMB(0x2f5810f98eff0dc)}, /* 153 */ {8, 0.1377906240751463, CNST_LIMB(0x42ad23cef3113c1), CNST_LIMB(0xeb72e35e7840d910)}, /* 154 */ {8, 0.1376124087861776, CNST_LIMB(0x463e546b19a2100), CNST_LIMB(0xd27de19593dc3614)}, /* 155 */ {8, 0.1374358029495937, CNST_LIMB(0x49f9fc3f96684e1), CNST_LIMB(0xbaf391fd3e5e6fc2)}, /* 156 */ {8, 0.1372607812113589, CNST_LIMB(0x4de1c9c5dc10000), CNST_LIMB(0xa4bd38c55228c81d)}, /* 157 */ {8, 0.1370873187823978, CNST_LIMB(0x51f77994116d2a1), CNST_LIMB(0x8fc5a8de8e1de782)}, /* 158 */ {8, 0.1369153914223921, CNST_LIMB(0x563cd6bb3398100), CNST_LIMB(0x7bf9265bea9d3a3b)}, /* 159 */ {8, 0.1367449754241439, CNST_LIMB(0x5ab3bb270beeb01), CNST_LIMB(0x69454b325983dccd)}, /* 160 */ {8, 0.1365760475984821, CNST_LIMB(0x5f5e10000000000), CNST_LIMB(0x5798ee2308c39df9)}, /* 161 */ {8, 0.1364085852596902, CNST_LIMB(0x643dce0ec16f501), CNST_LIMB(0x46e40ba0fa66a753)}, /* 162 */ {8, 0.1362425662114337, CNST_LIMB(0x6954fe21e3e8100), CNST_LIMB(0x3717b0870b0db3a7)}, /* 163 */ {8, 0.1360779687331669, CNST_LIMB(0x6ea5b9755f440a1), CNST_LIMB(0x2825e6775d11cdeb)}, /* 164 */ {8, 0.1359147715670014, CNST_LIMB(0x74322a1c0410000), CNST_LIMB(0x1a01a1c09d1b4dac)}, /* 165 */ {8, 0.1357529539050150, CNST_LIMB(0x79fc8b6ae8a46e1), CNST_LIMB(0xc9eb0a8bebc8f3e)}, /* 166 */ {8, 0.1355924953769864, CNST_LIMB(0x80072a66d512100), CNST_LIMB(0xffe357ff59e6a004)}, /* 167 */ {8, 0.1354333760385373, CNST_LIMB(0x86546633b42b9c1), CNST_LIMB(0xe7dfd1be05fa61a8)}, /* 168 */ {8, 0.1352755763596663, CNST_LIMB(0x8ce6b0861000000), CNST_LIMB(0xd11ed6fc78f760e5)}, /* 169 */ {8, 0.1351190772136599, CNST_LIMB(0x93c08e16a022441), CNST_LIMB(0xbb8db609dd29ebfe)}, /* 170 */ {8, 0.1349638598663645, CNST_LIMB(0x9ae49717f026100), CNST_LIMB(0xa71aec8d1813d532)}, /* 171 */ {8, 0.1348099059658080, CNST_LIMB(0xa25577ae24c1a61), CNST_LIMB(0x93b612a9f20fbc02)}, /* 172 */ {8, 0.1346571975321549, CNST_LIMB(0xaa15f068e610000), CNST_LIMB(0x814fc7b19a67d317)}, /* 173 */ {8, 0.1345057169479844, CNST_LIMB(0xb228d6bf7577921), CNST_LIMB(0x6fd9a03f2e0a4b7c)}, /* 174 */ {8, 0.1343554469488779, CNST_LIMB(0xba91158ef5c4100), CNST_LIMB(0x5f4615a38d0d316e)}, /* 175 */ {8, 0.1342063706143054, CNST_LIMB(0xc351ad9aec0b681), CNST_LIMB(0x4f8876863479a286)}, /* 176 */ {8, 0.1340584713587979, CNST_LIMB(0xcc6db6100000000), CNST_LIMB(0x4094d8a3041b60eb)}, /* 177 */ {8, 0.1339117329233981, CNST_LIMB(0xd5e85d09025c181), CNST_LIMB(0x32600b8ed883a09b)}, /* 178 */ {8, 0.1337661393673756, CNST_LIMB(0xdfc4e816401c100), CNST_LIMB(0x24df8c6eb4b6d1f1)}, /* 179 */ {8, 0.1336216750601996, CNST_LIMB(0xea06b4c72947221), CNST_LIMB(0x18097a8ee151acef)}, /* 180 */ {8, 0.1334783246737591, CNST_LIMB(0xf4b139365210000), CNST_LIMB(0xbd48cc8ec1cd8e3)}, /* 181 */ {8, 0.1333360731748201, CNST_LIMB(0xffc80497d520961), CNST_LIMB(0x3807a8d67485fb)}, /* 182 */ {7, 0.1331949058177136, CNST_LIMB(0x177fe3d9813980), CNST_LIMB(0x5c9a244f4c185189)}, /* 183 */ {7, 0.1330548081372441, CNST_LIMB(0x186b1e97e165c7), CNST_LIMB(0x4f7bf65a5406fd33)}, /* 184 */ {7, 0.1329157659418126, CNST_LIMB(0x195e306ce00000), CNST_LIMB(0x42ed6de951d7df13)}, /* 185 */ {7, 0.1327777653067443, CNST_LIMB(0x1a5950c91f7849), CNST_LIMB(0x36e7aace69d34995)}, /* 186 */ {7, 0.1326407925678156, CNST_LIMB(0x1b5cb8552a8a80), CNST_LIMB(0x2b6429f98f81fd28)}, /* 187 */ {7, 0.1325048343149731, CNST_LIMB(0x1c68a0f6912e13), CNST_LIMB(0x205cc014acb5fa7a)}, /* 188 */ {7, 0.1323698773862368, CNST_LIMB(0x1d7d45d513c000), CNST_LIMB(0x15cb947675a49bcf)}, /* 189 */ {7, 0.1322359088617821, CNST_LIMB(0x1e9ae35fdc7ab5), CNST_LIMB(0xbab1c660bfb0b01)}, /* 190 */ {7, 0.1321029160581950, CNST_LIMB(0x1fc1b752c74f80), CNST_LIMB(0x1f616a9ffc60f48)}, /* 191 */ {7, 0.1319708865228925, CNST_LIMB(0x20f200bbb8353f), CNST_LIMB(0xf14f0ebb43148b97)}, /* 192 */ {7, 0.1318398080287045, CNST_LIMB(0x222c0000000000), CNST_LIMB(0xdf75680feb65f487)}, /* 193 */ {7, 0.1317096685686114, CNST_LIMB(0x236ff6e1cfd541), CNST_LIMB(0xce563fdfde5b097b)}, /* 194 */ {7, 0.1315804563506306, CNST_LIMB(0x24be2885bb5080), CNST_LIMB(0xbde91153cc61c3b9)}, /* 195 */ {7, 0.1314521597928493, CNST_LIMB(0x2616d978496bcb), CNST_LIMB(0xae25c5b512b8298f)}, /* 196 */ {7, 0.1313247675185968, CNST_LIMB(0x277a4fb3944000), CNST_LIMB(0x9f04ae5795fa503d)}, /* 197 */ {7, 0.1311982683517524, CNST_LIMB(0x28e8d2a4f7b06d), CNST_LIMB(0x907e7ee115ce78eb)}, /* 198 */ {7, 0.1310726513121843, CNST_LIMB(0x2a62ab32cf1580), CNST_LIMB(0x828c47e7ee4eb39b)}, /* 199 */ {7, 0.1309479056113158, CNST_LIMB(0x2be823c241fa37), CNST_LIMB(0x752771e3a708adae)}, /* 200 */ {7, 0.1308240206478128, CNST_LIMB(0x2d79883d200000), CNST_LIMB(0x6849b86a12b9b01e)}, /* 201 */ {7, 0.1307009860033912, CNST_LIMB(0x2f172617cbfcb9), CNST_LIMB(0x5bed25b41eed57de)}, /* 202 */ {7, 0.1305787914387386, CNST_LIMB(0x30c14c57366680), CNST_LIMB(0x500c0e65c7eb1525)}, /* 203 */ {7, 0.1304574268895465, CNST_LIMB(0x32784b96e72103), CNST_LIMB(0x44a10d94f46ec984)}, /* 204 */ {7, 0.1303368824626505, CNST_LIMB(0x343c760f16c000), CNST_LIMB(0x39a7010b45fec020)}, /* 205 */ {7, 0.1302171484322746, CNST_LIMB(0x360e1f9ad752a5), CNST_LIMB(0x2f1905bf2ebd7eea)}, /* 206 */ {7, 0.1300982152363760, CNST_LIMB(0x37ed9dbe4ccb80), CNST_LIMB(0x24f27480dcc02d5a)}, /* 207 */ {7, 0.1299800734730872, CNST_LIMB(0x39db47acf518af), CNST_LIMB(0x1b2eded7c599beaf)}, /* 208 */ {7, 0.1298627138972530, CNST_LIMB(0x3bd77650000000), CNST_LIMB(0x11ca0c0dd3473ebc)}, /* 209 */ {7, 0.1297461274170591, CNST_LIMB(0x3de2844cb6d2b1), CNST_LIMB(0x8bff665664b19da)}, /* 210 */ {7, 0.1296303050907487, CNST_LIMB(0x3ffcce0af40c80), CNST_LIMB(0xcc8778fd614f2)}, /* 211 */ {7, 0.1295152381234257, CNST_LIMB(0x4226b1bbaaf1bb), CNST_LIMB(0xef59b570254244ae)}, /* 212 */ {7, 0.1294009178639407, CNST_LIMB(0x44608f5f7f4000), CNST_LIMB(0xdf396239c3a44d85)}, /* 213 */ {7, 0.1292873358018581, CNST_LIMB(0x46aac8cd6d055d), CNST_LIMB(0xcfb1f1cdf651f294)}, /* 214 */ {7, 0.1291744835645007, CNST_LIMB(0x4905c1b980b180), CNST_LIMB(0xc0bd0d1539ed95d5)}, /* 215 */ {7, 0.1290623529140715, CNST_LIMB(0x4b71dfbb9f74a7), CNST_LIMB(0xb254a769f273bdf3)}, /* 216 */ {7, 0.1289509357448472, CNST_LIMB(0x4def8a56600000), CNST_LIMB(0xa472fadb4b9ee92e)}, /* 217 */ {7, 0.1288402240804449, CNST_LIMB(0x507f2afdf3bb29), CNST_LIMB(0x971284a44c5fa018)}, /* 218 */ {7, 0.1287302100711566, CNST_LIMB(0x53212d1f208280), CNST_LIMB(0x8a2e01d40b763ede)}, /* 219 */ {7, 0.1286208859913518, CNST_LIMB(0x55d5fe264b01f3), CNST_LIMB(0x7dc06c2424ca6039)}, /* 220 */ {7, 0.1285122442369443, CNST_LIMB(0x589e0d8691c000), CNST_LIMB(0x71c4f6fabd551467)}, /* 221 */ {7, 0.1284042773229231, CNST_LIMB(0x5b79ccc0f8ec95), CNST_LIMB(0x66370c958e9407eb)}, /* 222 */ {7, 0.1282969778809442, CNST_LIMB(0x5e69af6ba70780), CNST_LIMB(0x5b124b5b9abcc4f1)}, /* 223 */ {7, 0.1281903386569819, CNST_LIMB(0x616e2b3932721f), CNST_LIMB(0x50528353507c67dd)}, /* 224 */ {7, 0.1280843525090381, CNST_LIMB(0x6487b800000000), CNST_LIMB(0x45f3b3bb0829a448)}, /* 225 */ {7, 0.1279790124049077, CNST_LIMB(0x67b6cfc1b29a21), CNST_LIMB(0x3bf208c1e5196d8f)}, /* 226 */ {7, 0.1278743114199984, CNST_LIMB(0x6afbeeb2ac0880), CNST_LIMB(0x3249d95f446b472b)}, /* 227 */ {7, 0.1277702427352035, CNST_LIMB(0x6e5793419ef5ab), CNST_LIMB(0x28f7a546ff476a73)}, /* 228 */ {7, 0.1276667996348261, CNST_LIMB(0x71ca3e1f324000), CNST_LIMB(0x1ff812f8e151fd72)}, /* 229 */ {7, 0.1275639755045533, CNST_LIMB(0x75547245b5ac4d), CNST_LIMB(0x1747ede9cd245e6c)}, /* 230 */ {7, 0.1274617638294791, CNST_LIMB(0x78f6b500e80d80), CNST_LIMB(0xee424c5200e77a2)}, /* 231 */ {7, 0.1273601581921740, CNST_LIMB(0x7cb18df5cef517), CNST_LIMB(0x6c9c7c4fc52612f)}, /* 232 */ {7, 0.1272591522708010, CNST_LIMB(0x8085872aa00000), CNST_LIMB(0xfdec0e406b2cf34e)}, /* 233 */ {7, 0.1271587398372755, CNST_LIMB(0x84732d0ebbd399), CNST_LIMB(0xeecc63195d0bbaff)}, /* 234 */ {7, 0.1270589147554692, CNST_LIMB(0x887b0e82bade80), CNST_LIMB(0xe02f65aa11369edb)}, /* 235 */ {7, 0.1269596709794558, CNST_LIMB(0x8c9dbce08bf0e3), CNST_LIMB(0xd21025012fe853c0)}, /* 236 */ {7, 0.1268610025517973, CNST_LIMB(0x90dbcc03a4c000), CNST_LIMB(0xc469e51939b6909e)}, /* 237 */ {7, 0.1267629036018709, CNST_LIMB(0x9535d251446885), CNST_LIMB(0xb7381c6ba72222c4)}, /* 238 */ {7, 0.1266653683442337, CNST_LIMB(0x99ac68c0c80380), CNST_LIMB(0xaa7671a2f17d6cca)}, /* 239 */ {7, 0.1265683910770258, CNST_LIMB(0x9e402ae411618f), CNST_LIMB(0x9e20b969dc1defed)}, /* 240 */ {7, 0.1264719661804097, CNST_LIMB(0xa2f1b6f0000000), CNST_LIMB(0x9232f4566d49a5d7)}, /* 241 */ {7, 0.1263760881150453, CNST_LIMB(0xa7c1adc4fc4b91), CNST_LIMB(0x86a94cef1d4bcdfd)}, /* 242 */ {7, 0.1262807514205999, CNST_LIMB(0xacb0b2f7954480), CNST_LIMB(0x7b8015c8d7af8f08)}, /* 243 */ {7, 0.1261859507142915, CNST_LIMB(0xb1bf6cd930979b), CNST_LIMB(0x70b3c7bc7ee0d4ec)}, /* 244 */ {7, 0.1260916806894653, CNST_LIMB(0xb6ee8480cd4000), CNST_LIMB(0x66410032b57af6a3)}, /* 245 */ {7, 0.1259979361142023, CNST_LIMB(0xbc3ea5d3d8c53d), CNST_LIMB(0x5c247f84c26d3ac9)}, /* 246 */ {7, 0.1259047118299582, CNST_LIMB(0xc1b07f8f172980), CNST_LIMB(0x525b277175ea3618)}, /* 247 */ {7, 0.1258120027502338, CNST_LIMB(0xc744c34f9d9b87), CNST_LIMB(0x48e1f9a504e1dd45)}, /* 248 */ {7, 0.1257198038592741, CNST_LIMB(0xccfc259be00000), CNST_LIMB(0x3fb61652df9f6fb7)}, /* 249 */ {7, 0.1256281102107963, CNST_LIMB(0xd2d75decd16609), CNST_LIMB(0x36d4bae0961b6f18)}, /* 250 */ {7, 0.1255369169267456, CNST_LIMB(0xd8d726b7177a80), CNST_LIMB(0x2e3b40a0e9b4f7dd)}, /* 251 */ {7, 0.1254462191960791, CNST_LIMB(0xdefc3d74510dd3), CNST_LIMB(0x25e71b9e38625930)}, /* 252 */ {7, 0.1253560122735751, CNST_LIMB(0xe54762ac6fc000), CNST_LIMB(0x1dd5d973790b34e0)}, /* 253 */ {7, 0.1252662914786691, CNST_LIMB(0xebb959ff24e675), CNST_LIMB(0x160520330bb25b81)}, /* 254 */ {7, 0.1251770521943144, CNST_LIMB(0xf252ea2d61bf80), CNST_LIMB(0xe72ad5aaa65e298)}, /* 255 */ {7, 0.1250882898658681, CNST_LIMB(0xf914dd22eb06ff), CNST_LIMB(0x71c54d3d1a2bfce)}, /* 256 */ {7, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 60 */ #if GMP_NUMB_BITS == 62 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {62, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {39, 0.6309297535714574, CNST_LIMB(0x383d9170b85ff80b), CNST_LIMB(0x2351ffcaa9c7c4ae)}, /* 4 */ {31, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {26, 0.4306765580733931, CNST_LIMB(0x14adf4b7320334b9), CNST_LIMB(0x8c240c4aecb13bb5)}, /* 6 */ {23, 0.3868528072345416, CNST_LIMB(0xaf5af7425800000), CNST_LIMB(0x75bb89a67c1b79f0)}, /* 7 */ {22, 0.3562071871080222, CNST_LIMB(0x3642798750226111), CNST_LIMB(0x2df495ccaa57147b)}, /* 8 */ {20, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {19, 0.3154648767857287, CNST_LIMB(0x12bf307ae81ffd59), CNST_LIMB(0xb4faffaffeaba705)}, /* 10 */ {18, 0.3010299956639812, CNST_LIMB(0xde0b6b3a7640000), CNST_LIMB(0x2725dd1d243aba0e)}, /* 11 */ {17, 0.2890648263178878, CNST_LIMB(0x703b564fa7a264b), CNST_LIMB(0x23f79a47d00f0c24)}, /* 12 */ {17, 0.2789429456511298, CNST_LIMB(0x1eca170c00000000), CNST_LIMB(0xa10c2bec5da8f8f)}, /* 13 */ {16, 0.2702381544273197, CNST_LIMB(0x93c08e16a022441), CNST_LIMB(0xbb8db609dd29ebfe)}, /* 14 */ {16, 0.2626495350371935, CNST_LIMB(0x1e39a5057d810000), CNST_LIMB(0xf08480f672b4e86)}, /* 15 */ {15, 0.2559580248098155, CNST_LIMB(0x613b62c597707ef), CNST_LIMB(0x51022b797ce7ec54)}, /* 16 */ {15, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {15, 0.2446505421182260, CNST_LIMB(0x27b95e997e21d9f1), CNST_LIMB(0x9c71e11bab279323)}, /* 18 */ {14, 0.2398124665681314, CNST_LIMB(0x5339ac59fcc4000), CNST_LIMB(0x89b9fb6ae9fd5760)}, /* 19 */ {14, 0.2354089133666382, CNST_LIMB(0xb16a458ef403f19), CNST_LIMB(0x7164becb502365c9)}, /* 20 */ {14, 0.2313782131597592, CNST_LIMB(0x16bcc41e90000000), CNST_LIMB(0x6849b86a12b9b01e)}, /* 21 */ {14, 0.2276702486969530, CNST_LIMB(0x2d04b7fdd9c0ef49), CNST_LIMB(0x6bf097ba5ca5e239)}, /* 22 */ {13, 0.2242438242175754, CNST_LIMB(0x3ecbe3fcf076000), CNST_LIMB(0x4e80efa1448b255)}, /* 23 */ {13, 0.2210647294575037, CNST_LIMB(0x6feb266931a75b7), CNST_LIMB(0x24c8ca611d372b90)}, /* 24 */ {13, 0.2181042919855316, CNST_LIMB(0xc29e98000000000), CNST_LIMB(0x50bd367972689db1)}, /* 25 */ {13, 0.2153382790366965, CNST_LIMB(0x14adf4b7320334b9), CNST_LIMB(0x8c240c4aecb13bb5)}, /* 26 */ {13, 0.2127460535533632, CNST_LIMB(0x226ed36478bfa000), CNST_LIMB(0xdbd2e56854e118c9)}, /* 27 */ {13, 0.2103099178571525, CNST_LIMB(0x383d9170b85ff80b), CNST_LIMB(0x2351ffcaa9c7c4ae)}, /* 28 */ {12, 0.2080145976765095, CNST_LIMB(0x339014821000000), CNST_LIMB(0x3dbf957b0ed3a56f)}, /* 29 */ {12, 0.2058468324604344, CNST_LIMB(0x4e900abb53e6b71), CNST_LIMB(0xa118034ebf7691b7)}, /* 30 */ {12, 0.2037950470905062, CNST_LIMB(0x7600ec618141000), CNST_LIMB(0x15afb9b26a5b594a)}, /* 31 */ {12, 0.2018490865820999, CNST_LIMB(0xaee5720ee830681), CNST_LIMB(0x76b6aa272e1873c5)}, /* 32 */ {12, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {12, 0.1982398631705605, CNST_LIMB(0x172588ad4f5f0981), CNST_LIMB(0x61eaf5d402c7bf4f)}, /* 34 */ {12, 0.1965616322328226, CNST_LIMB(0x211e44f7d02c1000), CNST_LIMB(0xeeb658123ffb27ec)}, /* 35 */ {12, 0.1949590218937863, CNST_LIMB(0x2ee56725f06e5c71), CNST_LIMB(0x5d5e3762e6fdf509)}, /* 36 */ {11, 0.1934264036172708, CNST_LIMB(0x1d39d3e06400000), CNST_LIMB(0x184ca73cdd149b74)}, /* 37 */ {11, 0.1919587200065601, CNST_LIMB(0x27817226572713d), CNST_LIMB(0x9eb9baf930a652b8)}, /* 38 */ {11, 0.1905514124267734, CNST_LIMB(0x34f940402e95800), CNST_LIMB(0x3549321f8ae12341)}, /* 39 */ {11, 0.1892003595168700, CNST_LIMB(0x467e6978c602bf7), CNST_LIMB(0xd0d5d15eec6384f4)}, /* 40 */ {11, 0.1879018247091076, CNST_LIMB(0x5d21dba00000000), CNST_LIMB(0x5fd7fe17964955fd)}, /* 41 */ {11, 0.1866524112389434, CNST_LIMB(0x7a32956ad081b79), CNST_LIMB(0xc27e62e0686feae)}, /* 42 */ {11, 0.1854490234153689, CNST_LIMB(0x9f49aaff0e86800), CNST_LIMB(0x9b6e7507064ce7c7)}, /* 43 */ {11, 0.1842888331487062, CNST_LIMB(0xce583bb812d37b3), CNST_LIMB(0x3d9ac2bf66cfed94)}, /* 44 */ {11, 0.1831692509136336, CNST_LIMB(0x109b79a654c00000), CNST_LIMB(0xed46bc50ce59712a)}, /* 45 */ {11, 0.1820879004699383, CNST_LIMB(0x1543beff214c8b95), CNST_LIMB(0x813d97e2c89b8d46)}, /* 46 */ {11, 0.1810425967800402, CNST_LIMB(0x1b149a79459a3800), CNST_LIMB(0x2e81751956af8083)}, /* 47 */ {11, 0.1800313266566926, CNST_LIMB(0x224edfb5434a830f), CNST_LIMB(0xdd8e0a95e30c0988)}, /* 48 */ {11, 0.1790522317510414, CNST_LIMB(0x2b3fb00000000000), CNST_LIMB(0x7ad4dd48a0b5b167)}, /* 49 */ {11, 0.1781035935540111, CNST_LIMB(0x3642798750226111), CNST_LIMB(0x2df495ccaa57147b)}, /* 50 */ {10, 0.1771838201355579, CNST_LIMB(0x15af1d78b58c400), CNST_LIMB(0x79ca10c9242235d5)}, /* 51 */ {10, 0.1762914343888821, CNST_LIMB(0x1a6ec7429724549), CNST_LIMB(0x35eb3821aa2c7015)}, /* 52 */ {10, 0.1754250635819545, CNST_LIMB(0x201901a5c900000), CNST_LIMB(0xfe711d590c0df937)}, /* 53 */ {10, 0.1745834300480449, CNST_LIMB(0x26d533a4acd9559), CNST_LIMB(0xa5e942153523d6b6)}, /* 54 */ {10, 0.1737653428714400, CNST_LIMB(0x2ed070f29e2e400), CNST_LIMB(0x5dfaa697ec6f6a1c)}, /* 55 */ {10, 0.1729696904450771, CNST_LIMB(0x383e29ba16fb511), CNST_LIMB(0x234eeafe97d6a424)}, /* 56 */ {10, 0.1721954337940981, CNST_LIMB(0x4358ebc40000000), CNST_LIMB(0xe68d5ce46eb41552)}, /* 57 */ {10, 0.1714416005739134, CNST_LIMB(0x50633659656d971), CNST_LIMB(0x97a014f8e3be55f1)}, /* 58 */ {10, 0.1707072796637201, CNST_LIMB(0x5fa8624c7fba400), CNST_LIMB(0x568df8b76cbf212c)}, /* 59 */ {10, 0.1699916162869140, CNST_LIMB(0x717d9faa73c5679), CNST_LIMB(0x20ba7c4b4e6ef492)}, /* 60 */ {10, 0.1692938075987814, CNST_LIMB(0x86430aac6100000), CNST_LIMB(0xe81ee46b9ef492f5)}, /* 61 */ {10, 0.1686130986895011, CNST_LIMB(0x9e64d9944b57f29), CNST_LIMB(0x9dc0d10d51940416)}, /* 62 */ {10, 0.1679487789570419, CNST_LIMB(0xba5ca5392cb0400), CNST_LIMB(0x5fa8ed2f450272a5)}, /* 63 */ {10, 0.1673001788101741, CNST_LIMB(0xdab2ce1d022cd81), CNST_LIMB(0x2ba9eb8c5e04e641)}, /* 64 */ {10, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {10, 0.1660476462159378, CNST_LIMB(0x12aeed5fd3e2d281), CNST_LIMB(0xb67759cc00287bf1)}, /* 66 */ {10, 0.1654425539190583, CNST_LIMB(0x15c3da1572d50400), CNST_LIMB(0x78621feeb7f4ed33)}, /* 67 */ {10, 0.1648508567221603, CNST_LIMB(0x194c05534f75ee29), CNST_LIMB(0x43d55b5f72943bc0)}, /* 68 */ {10, 0.1642720499620502, CNST_LIMB(0x1d56299ada100000), CNST_LIMB(0x173decb64d1d4409)}, /* 69 */ {10, 0.1637056554452156, CNST_LIMB(0x21f2a089a4ff4f79), CNST_LIMB(0xe29fb54fd6b6074f)}, /* 70 */ {10, 0.1631512196835108, CNST_LIMB(0x2733896c68d9a400), CNST_LIMB(0xa1f1f5c210d54e62)}, /* 71 */ {10, 0.1626083122716342, CNST_LIMB(0x2d2cf2c33b533c71), CNST_LIMB(0x6aac7f9bfafd57b2)}, /* 72 */ {10, 0.1620765243931223, CNST_LIMB(0x33f506e440000000), CNST_LIMB(0x3b563c2478b72ee2)}, /* 73 */ {10, 0.1615554674429964, CNST_LIMB(0x3ba43bec1d062211), CNST_LIMB(0x12b536b574e92d1b)}, /* 74 */ {9, 0.1610447717564444, CNST_LIMB(0xec6626ab750a00), CNST_LIMB(0x1539e71bd2a52e0b)}, /* 75 */ {9, 0.1605440854340214, CNST_LIMB(0x10ac11fd5bfc76b), CNST_LIMB(0xeb5bbd5681607adf)}, /* 76 */ {9, 0.1600530732548213, CNST_LIMB(0x12c86be0dcc0000), CNST_LIMB(0xb42437ae7ad77ab7)}, /* 77 */ {9, 0.1595714156699382, CNST_LIMB(0x1520bf6436b5bed), CNST_LIMB(0x83bbbed2c40a264c)}, /* 78 */ {9, 0.1590988078692941, CNST_LIMB(0x17bacb7a490ce00), CNST_LIMB(0x5938cc1e9f4f691e)}, /* 79 */ {9, 0.1586349589155960, CNST_LIMB(0x1a9cc643c4ebecf), CNST_LIMB(0x33d3907e4fe3d470)}, /* 80 */ {9, 0.1581795909397823, CNST_LIMB(0x1dcd65000000000), CNST_LIMB(0x12e0be826d694b2e)}, /* 81 */ {9, 0.1577324383928644, CNST_LIMB(0x2153e468b91c6d1), CNST_LIMB(0xeb9a5fa5fe811be6)}, /* 82 */ {9, 0.1572932473495469, CNST_LIMB(0x2538117cf94d200), CNST_LIMB(0xb8347f9d0e371b96)}, /* 83 */ {9, 0.1568617748594410, CNST_LIMB(0x298252bf5714db3), CNST_LIMB(0x8ab5784986179d50)}, /* 84 */ {9, 0.1564377883420715, CNST_LIMB(0x2e3bb1ebfd40000), CNST_LIMB(0x6260a3cc8ced3da3)}, /* 85 */ {9, 0.1560210650222250, CNST_LIMB(0x336de62af2bca35), CNST_LIMB(0x3e92c42e000eeed4)}, /* 86 */ {9, 0.1556113914024939, CNST_LIMB(0x39235ec33d49600), CNST_LIMB(0x1ebe59130db2795e)}, /* 87 */ {9, 0.1552085627701551, CNST_LIMB(0x3f674e539585a17), CNST_LIMB(0x268859e90f51b89)}, /* 88 */ {9, 0.1548123827357682, CNST_LIMB(0x4645b6958000000), CNST_LIMB(0xd24cde0463108cfa)}, /* 89 */ {9, 0.1544226628011101, CNST_LIMB(0x4dcb74afbc49c19), CNST_LIMB(0xa536009f37adc383)}, /* 90 */ {9, 0.1540392219542636, CNST_LIMB(0x56064e1d18d9a00), CNST_LIMB(0x7cea06ce1c9ace10)}, /* 91 */ {9, 0.1536618862898642, CNST_LIMB(0x5f04fe2cd8a39fb), CNST_LIMB(0x58db032e72e8ba43)}, /* 92 */ {9, 0.1532904886526781, CNST_LIMB(0x68d74421f5c0000), CNST_LIMB(0x388cc17cae105447)}, /* 93 */ {9, 0.1529248683028321, CNST_LIMB(0x738df1f6ab4827d), CNST_LIMB(0x1b92672857620ce0)}, /* 94 */ {9, 0.1525648706011593, CNST_LIMB(0x7f3afbc9cfb5e00), CNST_LIMB(0x18c6a9575c2ade4)}, /* 95 */ {9, 0.1522103467132434, CNST_LIMB(0x8bf187fba88f35f), CNST_LIMB(0xd44da7da8e44b24f)}, /* 96 */ {9, 0.1518611533308632, CNST_LIMB(0x99c600000000000), CNST_LIMB(0xaa2f78f1b4cc6794)}, /* 97 */ {9, 0.1515171524096389, CNST_LIMB(0xa8ce21eb6531361), CNST_LIMB(0x843c067d091ee4cc)}, /* 98 */ {9, 0.1511782109217764, CNST_LIMB(0xb92112c1a0b6200), CNST_LIMB(0x62005e1e913356e3)}, /* 99 */ {9, 0.1508442006228941, CNST_LIMB(0xcad7718b8747c43), CNST_LIMB(0x4316eed01dedd518)}, /* 100 */ {9, 0.1505149978319906, CNST_LIMB(0xde0b6b3a7640000), CNST_LIMB(0x2725dd1d243aba0e)}, /* 101 */ {9, 0.1501904832236880, CNST_LIMB(0xf2d8cf5fe6d74c5), CNST_LIMB(0xddd9057c24cb54f)}, /* 102 */ {9, 0.1498705416319474, CNST_LIMB(0x1095d25bfa712600), CNST_LIMB(0xedeee175a736d2a1)}, /* 103 */ {9, 0.1495550618645152, CNST_LIMB(0x121b7c4c3698faa7), CNST_LIMB(0xc4699f3df8b6b328)}, /* 104 */ {9, 0.1492439365274121, CNST_LIMB(0x13c09e8d68000000), CNST_LIMB(0x9ebbe7d859cb5a7c)}, /* 105 */ {9, 0.1489370618588283, CNST_LIMB(0x15876ccb0b709ca9), CNST_LIMB(0x7c828b9887eb2179)}, /* 106 */ {9, 0.1486343375718350, CNST_LIMB(0x17723c2976da2a00), CNST_LIMB(0x5d652ab99001adcf)}, /* 107 */ {9, 0.1483356667053617, CNST_LIMB(0x198384e9c259048b), CNST_LIMB(0x4114f1754e5d7b32)}, /* 108 */ {9, 0.1480409554829326, CNST_LIMB(0x1bbde41dfeec0000), CNST_LIMB(0x274b7c902f7e0188)}, /* 109 */ {9, 0.1477501131786861, CNST_LIMB(0x1e241d6e3337910d), CNST_LIMB(0xfc9e0fbb32e210c)}, /* 110 */ {9, 0.1474630519902391, CNST_LIMB(0x20b91cee9901ee00), CNST_LIMB(0xf4afa3e594f8ea1f)}, /* 111 */ {9, 0.1471796869179852, CNST_LIMB(0x237ff9079863dfef), CNST_LIMB(0xcd85c32e9e4437b0)}, /* 112 */ {9, 0.1468999356504447, CNST_LIMB(0x267bf47000000000), CNST_LIMB(0xa9bbb147e0dd92a8)}, /* 113 */ {9, 0.1466237184553111, CNST_LIMB(0x29b08039fbeda7f1), CNST_LIMB(0x8900447b70e8eb82)}, /* 114 */ {9, 0.1463509580758620, CNST_LIMB(0x2d213df34f65f200), CNST_LIMB(0x6b0a92adaad5848a)}, /* 115 */ {9, 0.1460815796324244, CNST_LIMB(0x30d201d957a7c2d3), CNST_LIMB(0x4f990ad8740f0ee5)}, /* 116 */ {9, 0.1458155105286054, CNST_LIMB(0x34c6d52160f40000), CNST_LIMB(0x3670a9663a8d3610)}, /* 117 */ {9, 0.1455526803620167, CNST_LIMB(0x3903f855d8f4c755), CNST_LIMB(0x1f5c44188057be3c)}, /* 118 */ {9, 0.1452930208392429, CNST_LIMB(0x3d8de5c8ec59b600), CNST_LIMB(0xa2bea956c4e4977)}, /* 119 */ {8, 0.1450364656948130, CNST_LIMB(0x8ede496339f341), CNST_LIMB(0xcab755a8d01fa67f)}, /* 120 */ {8, 0.1447829506139581, CNST_LIMB(0x98c29b81000000), CNST_LIMB(0xad0326c296b4f529)}, /* 121 */ {8, 0.1445324131589439, CNST_LIMB(0xa33f092e0b1ac1), CNST_LIMB(0x91747422be14b0b2)}, /* 122 */ {8, 0.1442847926987864, CNST_LIMB(0xae5b564ac3a100), CNST_LIMB(0x77df79e9a96c06f6)}, /* 123 */ {8, 0.1440400303421672, CNST_LIMB(0xba1f9a938041e1), CNST_LIMB(0x601c4205aebd9e47)}, /* 124 */ {8, 0.1437980688733776, CNST_LIMB(0xc694446f010000), CNST_LIMB(0x4a0648979c838c18)}, /* 125 */ {8, 0.1435588526911310, CNST_LIMB(0xd3c21bcecceda1), CNST_LIMB(0x357c299a88ea76a5)}, /* 126 */ {8, 0.1433223277500932, CNST_LIMB(0xe1b24521be0100), CNST_LIMB(0x225f56ceb3da9f5d)}, /* 127 */ {8, 0.1430884415049874, CNST_LIMB(0xf06e445906fc01), CNST_LIMB(0x1093d504b3cd7d93)}, /* 128 */ {8, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {8, 0.1426283821033600, CNST_LIMB(0x11071c467070401), CNST_LIMB(0xe118a87d4cc99598)}, /* 130 */ {8, 0.1424021108869747, CNST_LIMB(0x121ce46e1c20100), CNST_LIMB(0xc4467c0ffce9c258)}, /* 131 */ {8, 0.1421782821510107, CNST_LIMB(0x13420a9191145a1), CNST_LIMB(0xa961da6b975bdda8)}, /* 132 */ {8, 0.1419568500933153, CNST_LIMB(0x147747c71010000), CNST_LIMB(0x90465a759f223942)}, /* 133 */ {8, 0.1417377701235801, CNST_LIMB(0x15bd5c58309a9e1), CNST_LIMB(0x78d281ef0b3202bf)}, /* 134 */ {8, 0.1415209988221527, CNST_LIMB(0x17150ffacefa100), CNST_LIMB(0x62e783f3cb0294bb)}, /* 135 */ {8, 0.1413064939005528, CNST_LIMB(0x187f320b492d2c1), CNST_LIMB(0x4e69059f87070714)}, /* 136 */ {8, 0.1410942141636095, CNST_LIMB(0x19fc99c81000000), CNST_LIMB(0x3b3ce839cd0e09ce)}, /* 137 */ {8, 0.1408841194731412, CNST_LIMB(0x1b8e268e915bb41), CNST_LIMB(0x294b185caf87e8bb)}, /* 138 */ {8, 0.1406761707131039, CNST_LIMB(0x1d34c01980fe100), CNST_LIMB(0x187d6197ce80fa6f)}, /* 139 */ {8, 0.1404703297561400, CNST_LIMB(0x1ef156c084ce761), CNST_LIMB(0x8bf461f03cf0bbf)}, /* 140 */ {8, 0.1402665594314587, CNST_LIMB(0x20c4e3b94a10000), CNST_LIMB(0xf3fbb43f68a32d05)}, /* 141 */ {8, 0.1400648234939879, CNST_LIMB(0x22b0695a08ba421), CNST_LIMB(0xd84f44c48564dc19)}, /* 142 */ {8, 0.1398650865947379, CNST_LIMB(0x24b4f35d7a4c100), CNST_LIMB(0xbe58ebcce7956abe)}, /* 143 */ {8, 0.1396673142523192, CNST_LIMB(0x26d397284975781), CNST_LIMB(0xa5fac463c7c134b7)}, /* 144 */ {8, 0.1394714728255649, CNST_LIMB(0x290d74100000000), CNST_LIMB(0x8f19241e28c7d757)}, /* 145 */ {8, 0.1392775294872041, CNST_LIMB(0x2b63b3a37866081), CNST_LIMB(0x799a6d046c0ae1ae)}, /* 146 */ {8, 0.1390854521985406, CNST_LIMB(0x2dd789f4d894100), CNST_LIMB(0x6566e37d746a9e40)}, /* 147 */ {8, 0.1388952096850913, CNST_LIMB(0x306a35e51b58721), CNST_LIMB(0x526887dbfb5f788f)}, /* 148 */ {8, 0.1387067714131417, CNST_LIMB(0x331d01712e10000), CNST_LIMB(0x408af3382b8efd3d)}, /* 149 */ {8, 0.1385201075671774, CNST_LIMB(0x35f14200a827c61), CNST_LIMB(0x2fbb374806ec05f1)}, /* 150 */ {8, 0.1383351890281539, CNST_LIMB(0x38e858b62216100), CNST_LIMB(0x1fe7c0f0afce87fe)}, /* 151 */ {8, 0.1381519873525671, CNST_LIMB(0x3c03b2c13176a41), CNST_LIMB(0x11003d517540d32e)}, /* 152 */ {8, 0.1379704747522905, CNST_LIMB(0x3f44c9b21000000), CNST_LIMB(0x2f5810f98eff0dc)}, /* 153 */ {8, 0.1377906240751463, CNST_LIMB(0x42ad23cef3113c1), CNST_LIMB(0xeb72e35e7840d910)}, /* 154 */ {8, 0.1376124087861776, CNST_LIMB(0x463e546b19a2100), CNST_LIMB(0xd27de19593dc3614)}, /* 155 */ {8, 0.1374358029495937, CNST_LIMB(0x49f9fc3f96684e1), CNST_LIMB(0xbaf391fd3e5e6fc2)}, /* 156 */ {8, 0.1372607812113589, CNST_LIMB(0x4de1c9c5dc10000), CNST_LIMB(0xa4bd38c55228c81d)}, /* 157 */ {8, 0.1370873187823978, CNST_LIMB(0x51f77994116d2a1), CNST_LIMB(0x8fc5a8de8e1de782)}, /* 158 */ {8, 0.1369153914223921, CNST_LIMB(0x563cd6bb3398100), CNST_LIMB(0x7bf9265bea9d3a3b)}, /* 159 */ {8, 0.1367449754241439, CNST_LIMB(0x5ab3bb270beeb01), CNST_LIMB(0x69454b325983dccd)}, /* 160 */ {8, 0.1365760475984821, CNST_LIMB(0x5f5e10000000000), CNST_LIMB(0x5798ee2308c39df9)}, /* 161 */ {8, 0.1364085852596902, CNST_LIMB(0x643dce0ec16f501), CNST_LIMB(0x46e40ba0fa66a753)}, /* 162 */ {8, 0.1362425662114337, CNST_LIMB(0x6954fe21e3e8100), CNST_LIMB(0x3717b0870b0db3a7)}, /* 163 */ {8, 0.1360779687331669, CNST_LIMB(0x6ea5b9755f440a1), CNST_LIMB(0x2825e6775d11cdeb)}, /* 164 */ {8, 0.1359147715670014, CNST_LIMB(0x74322a1c0410000), CNST_LIMB(0x1a01a1c09d1b4dac)}, /* 165 */ {8, 0.1357529539050150, CNST_LIMB(0x79fc8b6ae8a46e1), CNST_LIMB(0xc9eb0a8bebc8f3e)}, /* 166 */ {8, 0.1355924953769864, CNST_LIMB(0x80072a66d512100), CNST_LIMB(0xffe357ff59e6a004)}, /* 167 */ {8, 0.1354333760385373, CNST_LIMB(0x86546633b42b9c1), CNST_LIMB(0xe7dfd1be05fa61a8)}, /* 168 */ {8, 0.1352755763596663, CNST_LIMB(0x8ce6b0861000000), CNST_LIMB(0xd11ed6fc78f760e5)}, /* 169 */ {8, 0.1351190772136599, CNST_LIMB(0x93c08e16a022441), CNST_LIMB(0xbb8db609dd29ebfe)}, /* 170 */ {8, 0.1349638598663645, CNST_LIMB(0x9ae49717f026100), CNST_LIMB(0xa71aec8d1813d532)}, /* 171 */ {8, 0.1348099059658080, CNST_LIMB(0xa25577ae24c1a61), CNST_LIMB(0x93b612a9f20fbc02)}, /* 172 */ {8, 0.1346571975321549, CNST_LIMB(0xaa15f068e610000), CNST_LIMB(0x814fc7b19a67d317)}, /* 173 */ {8, 0.1345057169479844, CNST_LIMB(0xb228d6bf7577921), CNST_LIMB(0x6fd9a03f2e0a4b7c)}, /* 174 */ {8, 0.1343554469488779, CNST_LIMB(0xba91158ef5c4100), CNST_LIMB(0x5f4615a38d0d316e)}, /* 175 */ {8, 0.1342063706143054, CNST_LIMB(0xc351ad9aec0b681), CNST_LIMB(0x4f8876863479a286)}, /* 176 */ {8, 0.1340584713587979, CNST_LIMB(0xcc6db6100000000), CNST_LIMB(0x4094d8a3041b60eb)}, /* 177 */ {8, 0.1339117329233981, CNST_LIMB(0xd5e85d09025c181), CNST_LIMB(0x32600b8ed883a09b)}, /* 178 */ {8, 0.1337661393673756, CNST_LIMB(0xdfc4e816401c100), CNST_LIMB(0x24df8c6eb4b6d1f1)}, /* 179 */ {8, 0.1336216750601996, CNST_LIMB(0xea06b4c72947221), CNST_LIMB(0x18097a8ee151acef)}, /* 180 */ {8, 0.1334783246737591, CNST_LIMB(0xf4b139365210000), CNST_LIMB(0xbd48cc8ec1cd8e3)}, /* 181 */ {8, 0.1333360731748201, CNST_LIMB(0xffc80497d520961), CNST_LIMB(0x3807a8d67485fb)}, /* 182 */ {8, 0.1331949058177136, CNST_LIMB(0x10b4ebfca1dee100), CNST_LIMB(0xea5768860b62e8d8)}, /* 183 */ {8, 0.1330548081372441, CNST_LIMB(0x117492de921fc141), CNST_LIMB(0xd54faf5b635c5005)}, /* 184 */ {8, 0.1329157659418126, CNST_LIMB(0x123bb2ce41000000), CNST_LIMB(0xc14a56233a377926)}, /* 185 */ {8, 0.1327777653067443, CNST_LIMB(0x130a8b6157bdecc1), CNST_LIMB(0xae39a88db7cd329f)}, /* 186 */ {8, 0.1326407925678156, CNST_LIMB(0x13e15dede0e8a100), CNST_LIMB(0x9c10bde69efa7ab6)}, /* 187 */ {8, 0.1325048343149731, CNST_LIMB(0x14c06d941c0ca7e1), CNST_LIMB(0x8ac36c42a2836497)}, /* 188 */ {8, 0.1323698773862368, CNST_LIMB(0x15a7ff487a810000), CNST_LIMB(0x7a463c8b84f5ef67)}, /* 189 */ {8, 0.1322359088617821, CNST_LIMB(0x169859ddc5c697a1), CNST_LIMB(0x6a8e5f5ad090fd4b)}, /* 190 */ {8, 0.1321029160581950, CNST_LIMB(0x1791c60f6fed0100), CNST_LIMB(0x5b91a2943596fc56)}, /* 191 */ {8, 0.1319708865228925, CNST_LIMB(0x18948e8c0e6fba01), CNST_LIMB(0x4d4667b1c468e8f0)}, /* 192 */ {8, 0.1318398080287045, CNST_LIMB(0x19a1000000000000), CNST_LIMB(0x3fa39ab547994daf)}, /* 193 */ {8, 0.1317096685686114, CNST_LIMB(0x1ab769203dafc601), CNST_LIMB(0x32a0a9b2faee1e2a)}, /* 194 */ {8, 0.1315804563506306, CNST_LIMB(0x1bd81ab557f30100), CNST_LIMB(0x26357ceac0e96962)}, /* 195 */ {8, 0.1314521597928493, CNST_LIMB(0x1d0367a69fed1ba1), CNST_LIMB(0x1a5a6f65caa5859e)}, /* 196 */ {8, 0.1313247675185968, CNST_LIMB(0x1e39a5057d810000), CNST_LIMB(0xf08480f672b4e86)}, /* 197 */ {8, 0.1311982683517524, CNST_LIMB(0x1f7b2a18f29ac3e1), CNST_LIMB(0x4383340615612ca)}, /* 198 */ {8, 0.1310726513121843, CNST_LIMB(0x20c850694c2aa100), CNST_LIMB(0xf3c77969ee4be5a2)}, /* 199 */ {8, 0.1309479056113158, CNST_LIMB(0x222173cc014980c1), CNST_LIMB(0xe00993cc187c5ec9)}, /* 200 */ {8, 0.1308240206478128, CNST_LIMB(0x2386f26fc1000000), CNST_LIMB(0xcd2b297d889bc2b6)}, /* 201 */ {8, 0.1307009860033912, CNST_LIMB(0x24f92ce8af296d41), CNST_LIMB(0xbb214d5064862b22)}, /* 202 */ {8, 0.1305787914387386, CNST_LIMB(0x2678863cd0ece100), CNST_LIMB(0xa9e1a7ca7ea10e20)}, /* 203 */ {8, 0.1304574268895465, CNST_LIMB(0x280563f0a9472d61), CNST_LIMB(0x99626e72b39ea0cf)}, /* 204 */ {8, 0.1303368824626505, CNST_LIMB(0x29a02e1406210000), CNST_LIMB(0x899a5ba9c13fafd9)}, /* 205 */ {8, 0.1302171484322746, CNST_LIMB(0x2b494f4efe6d2e21), CNST_LIMB(0x7a80a705391e96ff)}, /* 206 */ {8, 0.1300982152363760, CNST_LIMB(0x2d0134ef21cbc100), CNST_LIMB(0x6c0cfe23de23042a)}, /* 207 */ {8, 0.1299800734730872, CNST_LIMB(0x2ec84ef4da2ef581), CNST_LIMB(0x5e377df359c944dd)}, /* 208 */ {8, 0.1298627138972530, CNST_LIMB(0x309f102100000000), CNST_LIMB(0x50f8ac5fc8f53985)}, /* 209 */ {8, 0.1297461274170591, CNST_LIMB(0x3285ee02a1420281), CNST_LIMB(0x44497266278e35b7)}, /* 210 */ {8, 0.1296303050907487, CNST_LIMB(0x347d6104fc324100), CNST_LIMB(0x382316831f7ee175)}, /* 211 */ {8, 0.1295152381234257, CNST_LIMB(0x3685e47dade53d21), CNST_LIMB(0x2c7f377833b8946e)}, /* 212 */ {8, 0.1294009178639407, CNST_LIMB(0x389ff6bb15610000), CNST_LIMB(0x2157c761ab4163ef)}, /* 213 */ {8, 0.1292873358018581, CNST_LIMB(0x3acc1912ebb57661), CNST_LIMB(0x16a7071803cc49a9)}, /* 214 */ {8, 0.1291744835645007, CNST_LIMB(0x3d0acff111946100), CNST_LIMB(0xc6781d80f8224fc)}, /* 215 */ {8, 0.1290623529140715, CNST_LIMB(0x3f5ca2e692eaf841), CNST_LIMB(0x294092d370a900b)}, /* 216 */ {7, 0.1289509357448472, CNST_LIMB(0x4def8a56600000), CNST_LIMB(0xa472fadb4b9ee92e)}, /* 217 */ {7, 0.1288402240804449, CNST_LIMB(0x507f2afdf3bb29), CNST_LIMB(0x971284a44c5fa018)}, /* 218 */ {7, 0.1287302100711566, CNST_LIMB(0x53212d1f208280), CNST_LIMB(0x8a2e01d40b763ede)}, /* 219 */ {7, 0.1286208859913518, CNST_LIMB(0x55d5fe264b01f3), CNST_LIMB(0x7dc06c2424ca6039)}, /* 220 */ {7, 0.1285122442369443, CNST_LIMB(0x589e0d8691c000), CNST_LIMB(0x71c4f6fabd551467)}, /* 221 */ {7, 0.1284042773229231, CNST_LIMB(0x5b79ccc0f8ec95), CNST_LIMB(0x66370c958e9407eb)}, /* 222 */ {7, 0.1282969778809442, CNST_LIMB(0x5e69af6ba70780), CNST_LIMB(0x5b124b5b9abcc4f1)}, /* 223 */ {7, 0.1281903386569819, CNST_LIMB(0x616e2b3932721f), CNST_LIMB(0x50528353507c67dd)}, /* 224 */ {7, 0.1280843525090381, CNST_LIMB(0x6487b800000000), CNST_LIMB(0x45f3b3bb0829a448)}, /* 225 */ {7, 0.1279790124049077, CNST_LIMB(0x67b6cfc1b29a21), CNST_LIMB(0x3bf208c1e5196d8f)}, /* 226 */ {7, 0.1278743114199984, CNST_LIMB(0x6afbeeb2ac0880), CNST_LIMB(0x3249d95f446b472b)}, /* 227 */ {7, 0.1277702427352035, CNST_LIMB(0x6e5793419ef5ab), CNST_LIMB(0x28f7a546ff476a73)}, /* 228 */ {7, 0.1276667996348261, CNST_LIMB(0x71ca3e1f324000), CNST_LIMB(0x1ff812f8e151fd72)}, /* 229 */ {7, 0.1275639755045533, CNST_LIMB(0x75547245b5ac4d), CNST_LIMB(0x1747ede9cd245e6c)}, /* 230 */ {7, 0.1274617638294791, CNST_LIMB(0x78f6b500e80d80), CNST_LIMB(0xee424c5200e77a2)}, /* 231 */ {7, 0.1273601581921740, CNST_LIMB(0x7cb18df5cef517), CNST_LIMB(0x6c9c7c4fc52612f)}, /* 232 */ {7, 0.1272591522708010, CNST_LIMB(0x8085872aa00000), CNST_LIMB(0xfdec0e406b2cf34e)}, /* 233 */ {7, 0.1271587398372755, CNST_LIMB(0x84732d0ebbd399), CNST_LIMB(0xeecc63195d0bbaff)}, /* 234 */ {7, 0.1270589147554692, CNST_LIMB(0x887b0e82bade80), CNST_LIMB(0xe02f65aa11369edb)}, /* 235 */ {7, 0.1269596709794558, CNST_LIMB(0x8c9dbce08bf0e3), CNST_LIMB(0xd21025012fe853c0)}, /* 236 */ {7, 0.1268610025517973, CNST_LIMB(0x90dbcc03a4c000), CNST_LIMB(0xc469e51939b6909e)}, /* 237 */ {7, 0.1267629036018709, CNST_LIMB(0x9535d251446885), CNST_LIMB(0xb7381c6ba72222c4)}, /* 238 */ {7, 0.1266653683442337, CNST_LIMB(0x99ac68c0c80380), CNST_LIMB(0xaa7671a2f17d6cca)}, /* 239 */ {7, 0.1265683910770258, CNST_LIMB(0x9e402ae411618f), CNST_LIMB(0x9e20b969dc1defed)}, /* 240 */ {7, 0.1264719661804097, CNST_LIMB(0xa2f1b6f0000000), CNST_LIMB(0x9232f4566d49a5d7)}, /* 241 */ {7, 0.1263760881150453, CNST_LIMB(0xa7c1adc4fc4b91), CNST_LIMB(0x86a94cef1d4bcdfd)}, /* 242 */ {7, 0.1262807514205999, CNST_LIMB(0xacb0b2f7954480), CNST_LIMB(0x7b8015c8d7af8f08)}, /* 243 */ {7, 0.1261859507142915, CNST_LIMB(0xb1bf6cd930979b), CNST_LIMB(0x70b3c7bc7ee0d4ec)}, /* 244 */ {7, 0.1260916806894653, CNST_LIMB(0xb6ee8480cd4000), CNST_LIMB(0x66410032b57af6a3)}, /* 245 */ {7, 0.1259979361142023, CNST_LIMB(0xbc3ea5d3d8c53d), CNST_LIMB(0x5c247f84c26d3ac9)}, /* 246 */ {7, 0.1259047118299582, CNST_LIMB(0xc1b07f8f172980), CNST_LIMB(0x525b277175ea3618)}, /* 247 */ {7, 0.1258120027502338, CNST_LIMB(0xc744c34f9d9b87), CNST_LIMB(0x48e1f9a504e1dd45)}, /* 248 */ {7, 0.1257198038592741, CNST_LIMB(0xccfc259be00000), CNST_LIMB(0x3fb61652df9f6fb7)}, /* 249 */ {7, 0.1256281102107963, CNST_LIMB(0xd2d75decd16609), CNST_LIMB(0x36d4bae0961b6f18)}, /* 250 */ {7, 0.1255369169267456, CNST_LIMB(0xd8d726b7177a80), CNST_LIMB(0x2e3b40a0e9b4f7dd)}, /* 251 */ {7, 0.1254462191960791, CNST_LIMB(0xdefc3d74510dd3), CNST_LIMB(0x25e71b9e38625930)}, /* 252 */ {7, 0.1253560122735751, CNST_LIMB(0xe54762ac6fc000), CNST_LIMB(0x1dd5d973790b34e0)}, /* 253 */ {7, 0.1252662914786691, CNST_LIMB(0xebb959ff24e675), CNST_LIMB(0x160520330bb25b81)}, /* 254 */ {7, 0.1251770521943144, CNST_LIMB(0xf252ea2d61bf80), CNST_LIMB(0xe72ad5aaa65e298)}, /* 255 */ {7, 0.1250882898658681, CNST_LIMB(0xf914dd22eb06ff), CNST_LIMB(0x71c54d3d1a2bfce)}, /* 256 */ {7, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 62 */ #if GMP_NUMB_BITS == 64 const struct bases mp_bases[257] = { /* 0 */ {0, 0.0, 0, 0}, /* 1 */ {0, 1e37, 0, 0}, /* 2 */ {64, 1.0000000000000000, 0x1, 0x0}, /* 3 */ {40, 0.6309297535714574, CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d)}, /* 4 */ {32, 0.5000000000000000, 0x2, 0x0}, /* 5 */ {27, 0.4306765580733931, CNST_LIMB(0x6765c793fa10079d), CNST_LIMB(0x3ce9a36f23c0fc90)}, /* 6 */ {24, 0.3868528072345416, CNST_LIMB(0x41c21cb8e1000000), CNST_LIMB(0xf24f62335024a295)}, /* 7 */ {22, 0.3562071871080222, CNST_LIMB(0x3642798750226111), CNST_LIMB(0x2df495ccaa57147b)}, /* 8 */ {21, 0.3333333333333333, 0x3, 0x0}, /* 9 */ {20, 0.3154648767857287, CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d)}, /* 10 */ {19, 0.3010299956639812, CNST_LIMB(0x8ac7230489e80000), CNST_LIMB(0xd83c94fb6d2ac34a)}, /* 11 */ {18, 0.2890648263178878, CNST_LIMB(0x4d28cb56c33fa539), CNST_LIMB(0xa8adf7ae45e7577b)}, /* 12 */ {17, 0.2789429456511298, CNST_LIMB(0x1eca170c00000000), CNST_LIMB(0xa10c2bec5da8f8f)}, /* 13 */ {17, 0.2702381544273197, CNST_LIMB(0x780c7372621bd74d), CNST_LIMB(0x10f4becafe412ec3)}, /* 14 */ {16, 0.2626495350371935, CNST_LIMB(0x1e39a5057d810000), CNST_LIMB(0xf08480f672b4e86)}, /* 15 */ {16, 0.2559580248098155, CNST_LIMB(0x5b27ac993df97701), CNST_LIMB(0x6779c7f90dc42f48)}, /* 16 */ {16, 0.2500000000000000, 0x4, 0x0}, /* 17 */ {15, 0.2446505421182260, CNST_LIMB(0x27b95e997e21d9f1), CNST_LIMB(0x9c71e11bab279323)}, /* 18 */ {15, 0.2398124665681314, CNST_LIMB(0x5da0e1e53c5c8000), CNST_LIMB(0x5dfaa697ec6f6a1c)}, /* 19 */ {15, 0.2354089133666382, CNST_LIMB(0xd2ae3299c1c4aedb), CNST_LIMB(0x3711783f6be7e9ec)}, /* 20 */ {14, 0.2313782131597592, CNST_LIMB(0x16bcc41e90000000), CNST_LIMB(0x6849b86a12b9b01e)}, /* 21 */ {14, 0.2276702486969530, CNST_LIMB(0x2d04b7fdd9c0ef49), CNST_LIMB(0x6bf097ba5ca5e239)}, /* 22 */ {14, 0.2242438242175754, CNST_LIMB(0x5658597bcaa24000), CNST_LIMB(0x7b8015c8d7af8f08)}, /* 23 */ {14, 0.2210647294575037, CNST_LIMB(0xa0e2073737609371), CNST_LIMB(0x975a24b3a3151b38)}, /* 24 */ {13, 0.2181042919855316, CNST_LIMB(0xc29e98000000000), CNST_LIMB(0x50bd367972689db1)}, /* 25 */ {13, 0.2153382790366965, CNST_LIMB(0x14adf4b7320334b9), CNST_LIMB(0x8c240c4aecb13bb5)}, /* 26 */ {13, 0.2127460535533632, CNST_LIMB(0x226ed36478bfa000), CNST_LIMB(0xdbd2e56854e118c9)}, /* 27 */ {13, 0.2103099178571525, CNST_LIMB(0x383d9170b85ff80b), CNST_LIMB(0x2351ffcaa9c7c4ae)}, /* 28 */ {13, 0.2080145976765095, CNST_LIMB(0x5a3c23e39c000000), CNST_LIMB(0x6b24188ca33b0636)}, /* 29 */ {13, 0.2058468324604344, CNST_LIMB(0x8e65137388122bcd), CNST_LIMB(0xcc3dceaf2b8ba99d)}, /* 30 */ {13, 0.2037950470905062, CNST_LIMB(0xdd41bb36d259e000), CNST_LIMB(0x2832e835c6c7d6b6)}, /* 31 */ {12, 0.2018490865820999, CNST_LIMB(0xaee5720ee830681), CNST_LIMB(0x76b6aa272e1873c5)}, /* 32 */ {12, 0.2000000000000000, 0x5, 0x0}, /* 33 */ {12, 0.1982398631705605, CNST_LIMB(0x172588ad4f5f0981), CNST_LIMB(0x61eaf5d402c7bf4f)}, /* 34 */ {12, 0.1965616322328226, CNST_LIMB(0x211e44f7d02c1000), CNST_LIMB(0xeeb658123ffb27ec)}, /* 35 */ {12, 0.1949590218937863, CNST_LIMB(0x2ee56725f06e5c71), CNST_LIMB(0x5d5e3762e6fdf509)}, /* 36 */ {12, 0.1934264036172708, CNST_LIMB(0x41c21cb8e1000000), CNST_LIMB(0xf24f62335024a295)}, /* 37 */ {12, 0.1919587200065601, CNST_LIMB(0x5b5b57f8a98a5dd1), CNST_LIMB(0x66ae7831762efb6f)}, /* 38 */ {12, 0.1905514124267734, CNST_LIMB(0x7dcff8986ea31000), CNST_LIMB(0x47388865a00f544)}, /* 39 */ {12, 0.1892003595168700, CNST_LIMB(0xabd4211662a6b2a1), CNST_LIMB(0x7d673c33a123b54c)}, /* 40 */ {12, 0.1879018247091076, CNST_LIMB(0xe8d4a51000000000), CNST_LIMB(0x19799812dea11197)}, /* 41 */ {11, 0.1866524112389434, CNST_LIMB(0x7a32956ad081b79), CNST_LIMB(0xc27e62e0686feae)}, /* 42 */ {11, 0.1854490234153689, CNST_LIMB(0x9f49aaff0e86800), CNST_LIMB(0x9b6e7507064ce7c7)}, /* 43 */ {11, 0.1842888331487062, CNST_LIMB(0xce583bb812d37b3), CNST_LIMB(0x3d9ac2bf66cfed94)}, /* 44 */ {11, 0.1831692509136336, CNST_LIMB(0x109b79a654c00000), CNST_LIMB(0xed46bc50ce59712a)}, /* 45 */ {11, 0.1820879004699383, CNST_LIMB(0x1543beff214c8b95), CNST_LIMB(0x813d97e2c89b8d46)}, /* 46 */ {11, 0.1810425967800402, CNST_LIMB(0x1b149a79459a3800), CNST_LIMB(0x2e81751956af8083)}, /* 47 */ {11, 0.1800313266566926, CNST_LIMB(0x224edfb5434a830f), CNST_LIMB(0xdd8e0a95e30c0988)}, /* 48 */ {11, 0.1790522317510414, CNST_LIMB(0x2b3fb00000000000), CNST_LIMB(0x7ad4dd48a0b5b167)}, /* 49 */ {11, 0.1781035935540111, CNST_LIMB(0x3642798750226111), CNST_LIMB(0x2df495ccaa57147b)}, /* 50 */ {11, 0.1771838201355579, CNST_LIMB(0x43c33c1937564800), CNST_LIMB(0xe392010175ee5962)}, /* 51 */ {11, 0.1762914343888821, CNST_LIMB(0x54411b2441c3cd8b), CNST_LIMB(0x84eaf11b2fe7738e)}, /* 52 */ {11, 0.1754250635819545, CNST_LIMB(0x6851455acd400000), CNST_LIMB(0x3a1e3971e008995d)}, /* 53 */ {11, 0.1745834300480449, CNST_LIMB(0x80a23b117c8feb6d), CNST_LIMB(0xfd7a462344ffce25)}, /* 54 */ {11, 0.1737653428714400, CNST_LIMB(0x9dff7d32d5dc1800), CNST_LIMB(0x9eca40b40ebcef8a)}, /* 55 */ {11, 0.1729696904450771, CNST_LIMB(0xc155af6faeffe6a7), CNST_LIMB(0x52fa161a4a48e43d)}, /* 56 */ {11, 0.1721954337940981, CNST_LIMB(0xebb7392e00000000), CNST_LIMB(0x1607a2cbacf930c1)}, /* 57 */ {10, 0.1714416005739134, CNST_LIMB(0x50633659656d971), CNST_LIMB(0x97a014f8e3be55f1)}, /* 58 */ {10, 0.1707072796637201, CNST_LIMB(0x5fa8624c7fba400), CNST_LIMB(0x568df8b76cbf212c)}, /* 59 */ {10, 0.1699916162869140, CNST_LIMB(0x717d9faa73c5679), CNST_LIMB(0x20ba7c4b4e6ef492)}, /* 60 */ {10, 0.1692938075987814, CNST_LIMB(0x86430aac6100000), CNST_LIMB(0xe81ee46b9ef492f5)}, /* 61 */ {10, 0.1686130986895011, CNST_LIMB(0x9e64d9944b57f29), CNST_LIMB(0x9dc0d10d51940416)}, /* 62 */ {10, 0.1679487789570419, CNST_LIMB(0xba5ca5392cb0400), CNST_LIMB(0x5fa8ed2f450272a5)}, /* 63 */ {10, 0.1673001788101741, CNST_LIMB(0xdab2ce1d022cd81), CNST_LIMB(0x2ba9eb8c5e04e641)}, /* 64 */ {10, 0.1666666666666667, 0x6, 0x0}, /* 65 */ {10, 0.1660476462159378, CNST_LIMB(0x12aeed5fd3e2d281), CNST_LIMB(0xb67759cc00287bf1)}, /* 66 */ {10, 0.1654425539190583, CNST_LIMB(0x15c3da1572d50400), CNST_LIMB(0x78621feeb7f4ed33)}, /* 67 */ {10, 0.1648508567221603, CNST_LIMB(0x194c05534f75ee29), CNST_LIMB(0x43d55b5f72943bc0)}, /* 68 */ {10, 0.1642720499620502, CNST_LIMB(0x1d56299ada100000), CNST_LIMB(0x173decb64d1d4409)}, /* 69 */ {10, 0.1637056554452156, CNST_LIMB(0x21f2a089a4ff4f79), CNST_LIMB(0xe29fb54fd6b6074f)}, /* 70 */ {10, 0.1631512196835108, CNST_LIMB(0x2733896c68d9a400), CNST_LIMB(0xa1f1f5c210d54e62)}, /* 71 */ {10, 0.1626083122716342, CNST_LIMB(0x2d2cf2c33b533c71), CNST_LIMB(0x6aac7f9bfafd57b2)}, /* 72 */ {10, 0.1620765243931223, CNST_LIMB(0x33f506e440000000), CNST_LIMB(0x3b563c2478b72ee2)}, /* 73 */ {10, 0.1615554674429964, CNST_LIMB(0x3ba43bec1d062211), CNST_LIMB(0x12b536b574e92d1b)}, /* 74 */ {10, 0.1610447717564444, CNST_LIMB(0x4455872d8fd4e400), CNST_LIMB(0xdf86c03020404fa5)}, /* 75 */ {10, 0.1605440854340214, CNST_LIMB(0x4e2694539f2f6c59), CNST_LIMB(0xa34adf02234eea8e)}, /* 76 */ {10, 0.1600530732548213, CNST_LIMB(0x5938006c18900000), CNST_LIMB(0x6f46eb8574eb59dd)}, /* 77 */ {10, 0.1595714156699382, CNST_LIMB(0x65ad9912474aa649), CNST_LIMB(0x42459b481df47cec)}, /* 78 */ {10, 0.1590988078692941, CNST_LIMB(0x73ae9ff4241ec400), CNST_LIMB(0x1b424b95d80ca505)}, /* 79 */ {10, 0.1586349589155960, CNST_LIMB(0x836612ee9c4ce1e1), CNST_LIMB(0xf2c1b982203a0dac)}, /* 80 */ {10, 0.1581795909397823, CNST_LIMB(0x9502f90000000000), CNST_LIMB(0xb7cdfd9d7bdbab7d)}, /* 81 */ {10, 0.1577324383928644, CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d)}, /* 82 */ {10, 0.1572932473495469, CNST_LIMB(0xbebf59a07dab4400), CNST_LIMB(0x57931eeaf85cf64f)}, /* 83 */ {10, 0.1568617748594410, CNST_LIMB(0xd7540d4093bc3109), CNST_LIMB(0x305a944507c82f47)}, /* 84 */ {10, 0.1564377883420715, CNST_LIMB(0xf2b96616f1900000), CNST_LIMB(0xe007ccc9c22781a)}, /* 85 */ {9, 0.1560210650222250, CNST_LIMB(0x336de62af2bca35), CNST_LIMB(0x3e92c42e000eeed4)}, /* 86 */ {9, 0.1556113914024939, CNST_LIMB(0x39235ec33d49600), CNST_LIMB(0x1ebe59130db2795e)}, /* 87 */ {9, 0.1552085627701551, CNST_LIMB(0x3f674e539585a17), CNST_LIMB(0x268859e90f51b89)}, /* 88 */ {9, 0.1548123827357682, CNST_LIMB(0x4645b6958000000), CNST_LIMB(0xd24cde0463108cfa)}, /* 89 */ {9, 0.1544226628011101, CNST_LIMB(0x4dcb74afbc49c19), CNST_LIMB(0xa536009f37adc383)}, /* 90 */ {9, 0.1540392219542636, CNST_LIMB(0x56064e1d18d9a00), CNST_LIMB(0x7cea06ce1c9ace10)}, /* 91 */ {9, 0.1536618862898642, CNST_LIMB(0x5f04fe2cd8a39fb), CNST_LIMB(0x58db032e72e8ba43)}, /* 92 */ {9, 0.1532904886526781, CNST_LIMB(0x68d74421f5c0000), CNST_LIMB(0x388cc17cae105447)}, /* 93 */ {9, 0.1529248683028321, CNST_LIMB(0x738df1f6ab4827d), CNST_LIMB(0x1b92672857620ce0)}, /* 94 */ {9, 0.1525648706011593, CNST_LIMB(0x7f3afbc9cfb5e00), CNST_LIMB(0x18c6a9575c2ade4)}, /* 95 */ {9, 0.1522103467132434, CNST_LIMB(0x8bf187fba88f35f), CNST_LIMB(0xd44da7da8e44b24f)}, /* 96 */ {9, 0.1518611533308632, CNST_LIMB(0x99c600000000000), CNST_LIMB(0xaa2f78f1b4cc6794)}, /* 97 */ {9, 0.1515171524096389, CNST_LIMB(0xa8ce21eb6531361), CNST_LIMB(0x843c067d091ee4cc)}, /* 98 */ {9, 0.1511782109217764, CNST_LIMB(0xb92112c1a0b6200), CNST_LIMB(0x62005e1e913356e3)}, /* 99 */ {9, 0.1508442006228941, CNST_LIMB(0xcad7718b8747c43), CNST_LIMB(0x4316eed01dedd518)}, /* 100 */ {9, 0.1505149978319906, CNST_LIMB(0xde0b6b3a7640000), CNST_LIMB(0x2725dd1d243aba0e)}, /* 101 */ {9, 0.1501904832236880, CNST_LIMB(0xf2d8cf5fe6d74c5), CNST_LIMB(0xddd9057c24cb54f)}, /* 102 */ {9, 0.1498705416319474, CNST_LIMB(0x1095d25bfa712600), CNST_LIMB(0xedeee175a736d2a1)}, /* 103 */ {9, 0.1495550618645152, CNST_LIMB(0x121b7c4c3698faa7), CNST_LIMB(0xc4699f3df8b6b328)}, /* 104 */ {9, 0.1492439365274121, CNST_LIMB(0x13c09e8d68000000), CNST_LIMB(0x9ebbe7d859cb5a7c)}, /* 105 */ {9, 0.1489370618588283, CNST_LIMB(0x15876ccb0b709ca9), CNST_LIMB(0x7c828b9887eb2179)}, /* 106 */ {9, 0.1486343375718350, CNST_LIMB(0x17723c2976da2a00), CNST_LIMB(0x5d652ab99001adcf)}, /* 107 */ {9, 0.1483356667053617, CNST_LIMB(0x198384e9c259048b), CNST_LIMB(0x4114f1754e5d7b32)}, /* 108 */ {9, 0.1480409554829326, CNST_LIMB(0x1bbde41dfeec0000), CNST_LIMB(0x274b7c902f7e0188)}, /* 109 */ {9, 0.1477501131786861, CNST_LIMB(0x1e241d6e3337910d), CNST_LIMB(0xfc9e0fbb32e210c)}, /* 110 */ {9, 0.1474630519902391, CNST_LIMB(0x20b91cee9901ee00), CNST_LIMB(0xf4afa3e594f8ea1f)}, /* 111 */ {9, 0.1471796869179852, CNST_LIMB(0x237ff9079863dfef), CNST_LIMB(0xcd85c32e9e4437b0)}, /* 112 */ {9, 0.1468999356504447, CNST_LIMB(0x267bf47000000000), CNST_LIMB(0xa9bbb147e0dd92a8)}, /* 113 */ {9, 0.1466237184553111, CNST_LIMB(0x29b08039fbeda7f1), CNST_LIMB(0x8900447b70e8eb82)}, /* 114 */ {9, 0.1463509580758620, CNST_LIMB(0x2d213df34f65f200), CNST_LIMB(0x6b0a92adaad5848a)}, /* 115 */ {9, 0.1460815796324244, CNST_LIMB(0x30d201d957a7c2d3), CNST_LIMB(0x4f990ad8740f0ee5)}, /* 116 */ {9, 0.1458155105286054, CNST_LIMB(0x34c6d52160f40000), CNST_LIMB(0x3670a9663a8d3610)}, /* 117 */ {9, 0.1455526803620167, CNST_LIMB(0x3903f855d8f4c755), CNST_LIMB(0x1f5c44188057be3c)}, /* 118 */ {9, 0.1452930208392429, CNST_LIMB(0x3d8de5c8ec59b600), CNST_LIMB(0xa2bea956c4e4977)}, /* 119 */ {9, 0.1450364656948130, CNST_LIMB(0x4269541d1ff01337), CNST_LIMB(0xed68b23033c3637e)}, /* 120 */ {9, 0.1447829506139581, CNST_LIMB(0x479b38e478000000), CNST_LIMB(0xc99cf624e50549c5)}, /* 121 */ {9, 0.1445324131589439, CNST_LIMB(0x4d28cb56c33fa539), CNST_LIMB(0xa8adf7ae45e7577b)}, /* 122 */ {9, 0.1442847926987864, CNST_LIMB(0x5317871fa13aba00), CNST_LIMB(0x8a5bc740b1c113e5)}, /* 123 */ {9, 0.1440400303421672, CNST_LIMB(0x596d2f44de9fa71b), CNST_LIMB(0x6e6c7efb81cfbb9b)}, /* 124 */ {9, 0.1437980688733776, CNST_LIMB(0x602fd125c47c0000), CNST_LIMB(0x54aba5c5cada5f10)}, /* 125 */ {9, 0.1435588526911310, CNST_LIMB(0x6765c793fa10079d), CNST_LIMB(0x3ce9a36f23c0fc90)}, /* 126 */ {9, 0.1433223277500932, CNST_LIMB(0x6f15be069b847e00), CNST_LIMB(0x26fb43de2c8cd2a8)}, /* 127 */ {9, 0.1430884415049874, CNST_LIMB(0x7746b3e82a77047f), CNST_LIMB(0x12b94793db8486a1)}, /* 128 */ {9, 0.1428571428571428, 0x7, 0x0}, /* 129 */ {9, 0.1426283821033600, CNST_LIMB(0x894953f7ea890481), CNST_LIMB(0xdd5deca404c0156d)}, /* 130 */ {9, 0.1424021108869747, CNST_LIMB(0x932abffea4848200), CNST_LIMB(0xbd51373330291de0)}, /* 131 */ {9, 0.1421782821510107, CNST_LIMB(0x9dacb687d3d6a163), CNST_LIMB(0x9fa4025d66f23085)}, /* 132 */ {9, 0.1419568500933153, CNST_LIMB(0xa8d8102a44840000), CNST_LIMB(0x842530ee2db4949d)}, /* 133 */ {9, 0.1417377701235801, CNST_LIMB(0xb4b60f9d140541e5), CNST_LIMB(0x6aa7f2766b03dc25)}, /* 134 */ {9, 0.1415209988221527, CNST_LIMB(0xc15065d4856e4600), CNST_LIMB(0x53035ba7ebf32e8d)}, /* 135 */ {9, 0.1413064939005528, CNST_LIMB(0xceb1363f396d23c7), CNST_LIMB(0x3d12091fc9fb4914)}, /* 136 */ {9, 0.1410942141636095, CNST_LIMB(0xdce31b2488000000), CNST_LIMB(0x28b1cb81b1ef1849)}, /* 137 */ {9, 0.1408841194731412, CNST_LIMB(0xebf12a24bca135c9), CNST_LIMB(0x15c35be67ae3e2c9)}, /* 138 */ {9, 0.1406761707131039, CNST_LIMB(0xfbe6f8dbf88f4a00), CNST_LIMB(0x42a17bd09be1ff0)}, /* 139 */ {8, 0.1404703297561400, CNST_LIMB(0x1ef156c084ce761), CNST_LIMB(0x8bf461f03cf0bbf)}, /* 140 */ {8, 0.1402665594314587, CNST_LIMB(0x20c4e3b94a10000), CNST_LIMB(0xf3fbb43f68a32d05)}, /* 141 */ {8, 0.1400648234939879, CNST_LIMB(0x22b0695a08ba421), CNST_LIMB(0xd84f44c48564dc19)}, /* 142 */ {8, 0.1398650865947379, CNST_LIMB(0x24b4f35d7a4c100), CNST_LIMB(0xbe58ebcce7956abe)}, /* 143 */ {8, 0.1396673142523192, CNST_LIMB(0x26d397284975781), CNST_LIMB(0xa5fac463c7c134b7)}, /* 144 */ {8, 0.1394714728255649, CNST_LIMB(0x290d74100000000), CNST_LIMB(0x8f19241e28c7d757)}, /* 145 */ {8, 0.1392775294872041, CNST_LIMB(0x2b63b3a37866081), CNST_LIMB(0x799a6d046c0ae1ae)}, /* 146 */ {8, 0.1390854521985406, CNST_LIMB(0x2dd789f4d894100), CNST_LIMB(0x6566e37d746a9e40)}, /* 147 */ {8, 0.1388952096850913, CNST_LIMB(0x306a35e51b58721), CNST_LIMB(0x526887dbfb5f788f)}, /* 148 */ {8, 0.1387067714131417, CNST_LIMB(0x331d01712e10000), CNST_LIMB(0x408af3382b8efd3d)}, /* 149 */ {8, 0.1385201075671774, CNST_LIMB(0x35f14200a827c61), CNST_LIMB(0x2fbb374806ec05f1)}, /* 150 */ {8, 0.1383351890281539, CNST_LIMB(0x38e858b62216100), CNST_LIMB(0x1fe7c0f0afce87fe)}, /* 151 */ {8, 0.1381519873525671, CNST_LIMB(0x3c03b2c13176a41), CNST_LIMB(0x11003d517540d32e)}, /* 152 */ {8, 0.1379704747522905, CNST_LIMB(0x3f44c9b21000000), CNST_LIMB(0x2f5810f98eff0dc)}, /* 153 */ {8, 0.1377906240751463, CNST_LIMB(0x42ad23cef3113c1), CNST_LIMB(0xeb72e35e7840d910)}, /* 154 */ {8, 0.1376124087861776, CNST_LIMB(0x463e546b19a2100), CNST_LIMB(0xd27de19593dc3614)}, /* 155 */ {8, 0.1374358029495937, CNST_LIMB(0x49f9fc3f96684e1), CNST_LIMB(0xbaf391fd3e5e6fc2)}, /* 156 */ {8, 0.1372607812113589, CNST_LIMB(0x4de1c9c5dc10000), CNST_LIMB(0xa4bd38c55228c81d)}, /* 157 */ {8, 0.1370873187823978, CNST_LIMB(0x51f77994116d2a1), CNST_LIMB(0x8fc5a8de8e1de782)}, /* 158 */ {8, 0.1369153914223921, CNST_LIMB(0x563cd6bb3398100), CNST_LIMB(0x7bf9265bea9d3a3b)}, /* 159 */ {8, 0.1367449754241439, CNST_LIMB(0x5ab3bb270beeb01), CNST_LIMB(0x69454b325983dccd)}, /* 160 */ {8, 0.1365760475984821, CNST_LIMB(0x5f5e10000000000), CNST_LIMB(0x5798ee2308c39df9)}, /* 161 */ {8, 0.1364085852596902, CNST_LIMB(0x643dce0ec16f501), CNST_LIMB(0x46e40ba0fa66a753)}, /* 162 */ {8, 0.1362425662114337, CNST_LIMB(0x6954fe21e3e8100), CNST_LIMB(0x3717b0870b0db3a7)}, /* 163 */ {8, 0.1360779687331669, CNST_LIMB(0x6ea5b9755f440a1), CNST_LIMB(0x2825e6775d11cdeb)}, /* 164 */ {8, 0.1359147715670014, CNST_LIMB(0x74322a1c0410000), CNST_LIMB(0x1a01a1c09d1b4dac)}, /* 165 */ {8, 0.1357529539050150, CNST_LIMB(0x79fc8b6ae8a46e1), CNST_LIMB(0xc9eb0a8bebc8f3e)}, /* 166 */ {8, 0.1355924953769864, CNST_LIMB(0x80072a66d512100), CNST_LIMB(0xffe357ff59e6a004)}, /* 167 */ {8, 0.1354333760385373, CNST_LIMB(0x86546633b42b9c1), CNST_LIMB(0xe7dfd1be05fa61a8)}, /* 168 */ {8, 0.1352755763596663, CNST_LIMB(0x8ce6b0861000000), CNST_LIMB(0xd11ed6fc78f760e5)}, /* 169 */ {8, 0.1351190772136599, CNST_LIMB(0x93c08e16a022441), CNST_LIMB(0xbb8db609dd29ebfe)}, /* 170 */ {8, 0.1349638598663645, CNST_LIMB(0x9ae49717f026100), CNST_LIMB(0xa71aec8d1813d532)}, /* 171 */ {8, 0.1348099059658080, CNST_LIMB(0xa25577ae24c1a61), CNST_LIMB(0x93b612a9f20fbc02)}, /* 172 */ {8, 0.1346571975321549, CNST_LIMB(0xaa15f068e610000), CNST_LIMB(0x814fc7b19a67d317)}, /* 173 */ {8, 0.1345057169479844, CNST_LIMB(0xb228d6bf7577921), CNST_LIMB(0x6fd9a03f2e0a4b7c)}, /* 174 */ {8, 0.1343554469488779, CNST_LIMB(0xba91158ef5c4100), CNST_LIMB(0x5f4615a38d0d316e)}, /* 175 */ {8, 0.1342063706143054, CNST_LIMB(0xc351ad9aec0b681), CNST_LIMB(0x4f8876863479a286)}, /* 176 */ {8, 0.1340584713587979, CNST_LIMB(0xcc6db6100000000), CNST_LIMB(0x4094d8a3041b60eb)}, /* 177 */ {8, 0.1339117329233981, CNST_LIMB(0xd5e85d09025c181), CNST_LIMB(0x32600b8ed883a09b)}, /* 178 */ {8, 0.1337661393673756, CNST_LIMB(0xdfc4e816401c100), CNST_LIMB(0x24df8c6eb4b6d1f1)}, /* 179 */ {8, 0.1336216750601996, CNST_LIMB(0xea06b4c72947221), CNST_LIMB(0x18097a8ee151acef)}, /* 180 */ {8, 0.1334783246737591, CNST_LIMB(0xf4b139365210000), CNST_LIMB(0xbd48cc8ec1cd8e3)}, /* 181 */ {8, 0.1333360731748201, CNST_LIMB(0xffc80497d520961), CNST_LIMB(0x3807a8d67485fb)}, /* 182 */ {8, 0.1331949058177136, CNST_LIMB(0x10b4ebfca1dee100), CNST_LIMB(0xea5768860b62e8d8)}, /* 183 */ {8, 0.1330548081372441, CNST_LIMB(0x117492de921fc141), CNST_LIMB(0xd54faf5b635c5005)}, /* 184 */ {8, 0.1329157659418126, CNST_LIMB(0x123bb2ce41000000), CNST_LIMB(0xc14a56233a377926)}, /* 185 */ {8, 0.1327777653067443, CNST_LIMB(0x130a8b6157bdecc1), CNST_LIMB(0xae39a88db7cd329f)}, /* 186 */ {8, 0.1326407925678156, CNST_LIMB(0x13e15dede0e8a100), CNST_LIMB(0x9c10bde69efa7ab6)}, /* 187 */ {8, 0.1325048343149731, CNST_LIMB(0x14c06d941c0ca7e1), CNST_LIMB(0x8ac36c42a2836497)}, /* 188 */ {8, 0.1323698773862368, CNST_LIMB(0x15a7ff487a810000), CNST_LIMB(0x7a463c8b84f5ef67)}, /* 189 */ {8, 0.1322359088617821, CNST_LIMB(0x169859ddc5c697a1), CNST_LIMB(0x6a8e5f5ad090fd4b)}, /* 190 */ {8, 0.1321029160581950, CNST_LIMB(0x1791c60f6fed0100), CNST_LIMB(0x5b91a2943596fc56)}, /* 191 */ {8, 0.1319708865228925, CNST_LIMB(0x18948e8c0e6fba01), CNST_LIMB(0x4d4667b1c468e8f0)}, /* 192 */ {8, 0.1318398080287045, CNST_LIMB(0x19a1000000000000), CNST_LIMB(0x3fa39ab547994daf)}, /* 193 */ {8, 0.1317096685686114, CNST_LIMB(0x1ab769203dafc601), CNST_LIMB(0x32a0a9b2faee1e2a)}, /* 194 */ {8, 0.1315804563506306, CNST_LIMB(0x1bd81ab557f30100), CNST_LIMB(0x26357ceac0e96962)}, /* 195 */ {8, 0.1314521597928493, CNST_LIMB(0x1d0367a69fed1ba1), CNST_LIMB(0x1a5a6f65caa5859e)}, /* 196 */ {8, 0.1313247675185968, CNST_LIMB(0x1e39a5057d810000), CNST_LIMB(0xf08480f672b4e86)}, /* 197 */ {8, 0.1311982683517524, CNST_LIMB(0x1f7b2a18f29ac3e1), CNST_LIMB(0x4383340615612ca)}, /* 198 */ {8, 0.1310726513121843, CNST_LIMB(0x20c850694c2aa100), CNST_LIMB(0xf3c77969ee4be5a2)}, /* 199 */ {8, 0.1309479056113158, CNST_LIMB(0x222173cc014980c1), CNST_LIMB(0xe00993cc187c5ec9)}, /* 200 */ {8, 0.1308240206478128, CNST_LIMB(0x2386f26fc1000000), CNST_LIMB(0xcd2b297d889bc2b6)}, /* 201 */ {8, 0.1307009860033912, CNST_LIMB(0x24f92ce8af296d41), CNST_LIMB(0xbb214d5064862b22)}, /* 202 */ {8, 0.1305787914387386, CNST_LIMB(0x2678863cd0ece100), CNST_LIMB(0xa9e1a7ca7ea10e20)}, /* 203 */ {8, 0.1304574268895465, CNST_LIMB(0x280563f0a9472d61), CNST_LIMB(0x99626e72b39ea0cf)}, /* 204 */ {8, 0.1303368824626505, CNST_LIMB(0x29a02e1406210000), CNST_LIMB(0x899a5ba9c13fafd9)}, /* 205 */ {8, 0.1302171484322746, CNST_LIMB(0x2b494f4efe6d2e21), CNST_LIMB(0x7a80a705391e96ff)}, /* 206 */ {8, 0.1300982152363760, CNST_LIMB(0x2d0134ef21cbc100), CNST_LIMB(0x6c0cfe23de23042a)}, /* 207 */ {8, 0.1299800734730872, CNST_LIMB(0x2ec84ef4da2ef581), CNST_LIMB(0x5e377df359c944dd)}, /* 208 */ {8, 0.1298627138972530, CNST_LIMB(0x309f102100000000), CNST_LIMB(0x50f8ac5fc8f53985)}, /* 209 */ {8, 0.1297461274170591, CNST_LIMB(0x3285ee02a1420281), CNST_LIMB(0x44497266278e35b7)}, /* 210 */ {8, 0.1296303050907487, CNST_LIMB(0x347d6104fc324100), CNST_LIMB(0x382316831f7ee175)}, /* 211 */ {8, 0.1295152381234257, CNST_LIMB(0x3685e47dade53d21), CNST_LIMB(0x2c7f377833b8946e)}, /* 212 */ {8, 0.1294009178639407, CNST_LIMB(0x389ff6bb15610000), CNST_LIMB(0x2157c761ab4163ef)}, /* 213 */ {8, 0.1292873358018581, CNST_LIMB(0x3acc1912ebb57661), CNST_LIMB(0x16a7071803cc49a9)}, /* 214 */ {8, 0.1291744835645007, CNST_LIMB(0x3d0acff111946100), CNST_LIMB(0xc6781d80f8224fc)}, /* 215 */ {8, 0.1290623529140715, CNST_LIMB(0x3f5ca2e692eaf841), CNST_LIMB(0x294092d370a900b)}, /* 216 */ {8, 0.1289509357448472, CNST_LIMB(0x41c21cb8e1000000), CNST_LIMB(0xf24f62335024a295)}, /* 217 */ {8, 0.1288402240804449, CNST_LIMB(0x443bcb714399a5c1), CNST_LIMB(0xe03b98f103fad6d2)}, /* 218 */ {8, 0.1287302100711566, CNST_LIMB(0x46ca406c81af2100), CNST_LIMB(0xcee3d32cad2a9049)}, /* 219 */ {8, 0.1286208859913518, CNST_LIMB(0x496e106ac22aaae1), CNST_LIMB(0xbe3f9df9277fdada)}, /* 220 */ {8, 0.1285122442369443, CNST_LIMB(0x4c27d39fa5410000), CNST_LIMB(0xae46f0d94c05e933)}, /* 221 */ {8, 0.1284042773229231, CNST_LIMB(0x4ef825c296e43ca1), CNST_LIMB(0x9ef2280fb437a33d)}, /* 222 */ {8, 0.1282969778809442, CNST_LIMB(0x51dfa61f5ad88100), CNST_LIMB(0x9039ff426d3f284b)}, /* 223 */ {8, 0.1281903386569819, CNST_LIMB(0x54def7a6d2f16901), CNST_LIMB(0x82178c6d6b51f8f4)}, /* 224 */ {8, 0.1280843525090381, CNST_LIMB(0x57f6c10000000000), CNST_LIMB(0x74843b1ee4c1e053)}, /* 225 */ {8, 0.1279790124049077, CNST_LIMB(0x5b27ac993df97701), CNST_LIMB(0x6779c7f90dc42f48)}, /* 226 */ {8, 0.1278743114199984, CNST_LIMB(0x5e7268b9bbdf8100), CNST_LIMB(0x5af23c74f9ad9fe9)}, /* 227 */ {8, 0.1277702427352035, CNST_LIMB(0x61d7a7932ff3d6a1), CNST_LIMB(0x4ee7eae2acdc617e)}, /* 228 */ {8, 0.1276667996348261, CNST_LIMB(0x65581f53c8c10000), CNST_LIMB(0x43556aa2ac262a0b)}, /* 229 */ {8, 0.1275639755045533, CNST_LIMB(0x68f48a385b8320e1), CNST_LIMB(0x3835949593b8ddd1)}, /* 230 */ {8, 0.1274617638294791, CNST_LIMB(0x6cada69ed07c2100), CNST_LIMB(0x2d837fbe78458762)}, /* 231 */ {8, 0.1273601581921740, CNST_LIMB(0x70843718cdbf27c1), CNST_LIMB(0x233a7e150a54a555)}, /* 232 */ {8, 0.1272591522708010, CNST_LIMB(0x7479027ea1000000), CNST_LIMB(0x19561984a50ff8fe)}, /* 233 */ {8, 0.1271587398372755, CNST_LIMB(0x788cd40268f39641), CNST_LIMB(0xfd211159fe3490f)}, /* 234 */ {8, 0.1270589147554692, CNST_LIMB(0x7cc07b437ecf6100), CNST_LIMB(0x6aa563e655033e3)}, /* 235 */ {8, 0.1269596709794558, CNST_LIMB(0x8114cc6220762061), CNST_LIMB(0xfbb614b3f2d3b14c)}, /* 236 */ {8, 0.1268610025517973, CNST_LIMB(0x858aa0135be10000), CNST_LIMB(0xeac0f8837fb05773)}, /* 237 */ {8, 0.1267629036018709, CNST_LIMB(0x8a22d3b53c54c321), CNST_LIMB(0xda6e4c10e8615ca5)}, /* 238 */ {8, 0.1266653683442337, CNST_LIMB(0x8ede496339f34100), CNST_LIMB(0xcab755a8d01fa67f)}, /* 239 */ {8, 0.1265683910770258, CNST_LIMB(0x93bde80aec3a1481), CNST_LIMB(0xbb95a9ae71aa3e0c)}, /* 240 */ {8, 0.1264719661804097, CNST_LIMB(0x98c29b8100000000), CNST_LIMB(0xad0326c296b4f529)}, /* 241 */ {8, 0.1263760881150453, CNST_LIMB(0x9ded549671832381), CNST_LIMB(0x9ef9f21eed31b7c1)}, /* 242 */ {8, 0.1262807514205999, CNST_LIMB(0xa33f092e0b1ac100), CNST_LIMB(0x91747422be14b0b2)}, /* 243 */ {8, 0.1261859507142915, CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d)}, /* 244 */ {8, 0.1260916806894653, CNST_LIMB(0xae5b564ac3a10000), CNST_LIMB(0x77df79e9a96c06f6)}, /* 245 */ {8, 0.1259979361142023, CNST_LIMB(0xb427f4b3be74c361), CNST_LIMB(0x6bc6019636c7d0c2)}, /* 246 */ {8, 0.1259047118299582, CNST_LIMB(0xba1f9a938041e100), CNST_LIMB(0x601c4205aebd9e47)}, /* 247 */ {8, 0.1258120027502338, CNST_LIMB(0xc0435871d1110f41), CNST_LIMB(0x54ddc59756f05016)}, /* 248 */ {8, 0.1257198038592741, CNST_LIMB(0xc694446f01000000), CNST_LIMB(0x4a0648979c838c18)}, /* 249 */ {8, 0.1256281102107963, CNST_LIMB(0xcd137a5b57ac3ec1), CNST_LIMB(0x3f91b6e0bb3a053d)}, /* 250 */ {8, 0.1255369169267456, CNST_LIMB(0xd3c21bcecceda100), CNST_LIMB(0x357c299a88ea76a5)}, /* 251 */ {8, 0.1254462191960791, CNST_LIMB(0xdaa150410b788de1), CNST_LIMB(0x2bc1e517aecc56e3)}, /* 252 */ {8, 0.1253560122735751, CNST_LIMB(0xe1b24521be010000), CNST_LIMB(0x225f56ceb3da9f5d)}, /* 253 */ {8, 0.1252662914786691, CNST_LIMB(0xe8f62df12777c1a1), CNST_LIMB(0x1951136d53ad63ac)}, /* 254 */ {8, 0.1251770521943144, CNST_LIMB(0xf06e445906fc0100), CNST_LIMB(0x1093d504b3cd7d93)}, /* 255 */ {8, 0.1250882898658681, CNST_LIMB(0xf81bc845c81bf801), CNST_LIMB(0x824794d1ec1814f)}, /* 256 */ {8, 0.1250000000000000, 0x8, 0x0}, }; #endif /* 64 */ #endif #if GENERATE_TABLE unsigned int idig; double fdig; mpz_t big_base, big_base_inverted, t; int normalization_steps; unsigned int ulog2 (x) unsigned int x; { unsigned int i; for (i = 0; x != 0; i++) x >>= 1; return i; } void generate (int numb_bits, int i) { int limb_bits; /* next higher power of 2 */ for (limb_bits = numb_bits; ! POW2_P (limb_bits); limb_bits++) ; fdig = 0.69314718055994530942 / log ((double) i); idig = floor (numb_bits * fdig); mpz_ui_pow_ui (big_base, (unsigned long int) i, (unsigned long int) idig); normalization_steps = limb_bits - mpz_sizeinbase (big_base, 2); mpz_set_ui (t, 1L); mpz_mul_2exp (t, t, 2 * limb_bits - normalization_steps); mpz_tdiv_q (big_base_inverted, t, big_base); mpz_set_ui (t, 1L); mpz_mul_2exp (t, t, limb_bits); mpz_sub (big_base_inverted, big_base_inverted, t); } void one_table (int numb_bits) { int i; char *cnst_limb_str1, *cnst_limb_str2; if (numb_bits > 32) { cnst_limb_str1 = "CNST_LIMB("; cnst_limb_str2 = ")"; } else { cnst_limb_str1 = ""; cnst_limb_str2 = ""; } printf ("#if GMP_NUMB_BITS == %d\n", numb_bits); puts ("const struct bases mp_bases[257] =\n{"); puts (" /* 0 */ {0, 0.0, 0, 0},"); puts (" /* 1 */ {0, 1e37, 0, 0},"); for (i = 2; i <= 256; i++) { generate (numb_bits, i); if ((i & (i - 1)) == 0) { printf (" /* %2u */ {%u, %.16f, 0x%x, 0x0},\n", i, idig, fdig, ulog2 (i) - 1); } else { printf (" /* %2u */ {%u, %.16f, %s0x", i, idig, fdig, cnst_limb_str1); mpz_out_str (0, 16, big_base); printf ("%s, %s0x", cnst_limb_str2, cnst_limb_str1); mpz_out_str (0, 16, big_base_inverted); printf ("%s},\n", cnst_limb_str2); } } puts ("};"); printf ("#endif /* %d */\n\n", numb_bits); } void one_header (int numb_bits) { char *cnst_limb_str1, *cnst_limb_str2; if (numb_bits > 32) { cnst_limb_str1 = "CNST_LIMB("; cnst_limb_str2 = ")"; } else { cnst_limb_str1 = ""; cnst_limb_str2 = ""; } generate (numb_bits, 10); printf ("#if GMP_NUMB_BITS == %d\n", numb_bits); printf ("#define MP_BASES_CHARS_PER_LIMB_10 %d\n", idig); printf ("#define MP_BASES_BIG_BASE_10 CNST_LIMB(0x"); mpz_out_str (0, 16, big_base); printf (")\n"); printf ("#define MP_BASES_BIG_BASE_INVERTED_10 CNST_LIMB(0x"); mpz_out_str (0, 16, big_base_inverted); printf (")\n"); printf ("#define MP_BASES_NORMALIZATION_STEPS_10 %d\n", normalization_steps); printf ("#endif\n"); } int main (int argc, char **argv) { static const int bits[] = { 4, 8, 16, 28, 30, 32, 60, 62, 64 }; int i, n, header; mpz_init (big_base); mpz_init (big_base_inverted); mpz_init (t); for (header = 1; header >= 0; header--) { if (argc > 1) { for (i = 1; i < argc; i++) { n = atoi (argv[i]); if (header) one_header (n); else one_table (n); } } else { for (i = 0; i < numberof (bits); i++) { if (header) one_header (bits[i]); else one_table (bits[i]); } } printf ("\n"); } return 0; } #endif