1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22/*
23 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24 * Use is subject to license terms.
25 */
26
27#pragma ident	"%Z%%M%	%I%	%E% SMI"
28
29#include "lint.h"
30#include <sys/types.h>
31
32/* table of 176 multiples of 2**1 */
33const unsigned short __tbl_2_small_digits [] = { 1,
34/* 2**1 = */
352 /* e   0 */,
36/* 2**2 = */
374 /* e   0 */,
38/* 2**3 = */
398 /* e   0 */,
40/* 2**4 = */
4116 /* e   0 */,
42/* 2**5 = */
4332 /* e   0 */,
44/* 2**6 = */
4564 /* e   0 */,
46/* 2**7 = */
47128 /* e   0 */,
48/* 2**8 = */
49256 /* e   0 */,
50/* 2**9 = */
51512 /* e   0 */,
52/* 2**10 = */
531024 /* e   0 */,
54/* 2**11 = */
552048 /* e   0 */,
56/* 2**12 = */
574096 /* e   0 */,
58/* 2**13 = */
598192 /* e   0 */,
60/* 2**14 = */
616384 /* e   0 */,    1 /* e   4 */,
62/* 2**15 = */
632768 /* e   0 */,    3 /* e   4 */,
64/* 2**16 = */
655536 /* e   0 */,    6 /* e   4 */,
66/* 2**17 = */
671072 /* e   0 */,   13 /* e   4 */,
68/* 2**18 = */
692144 /* e   0 */,   26 /* e   4 */,
70/* 2**19 = */
714288 /* e   0 */,   52 /* e   4 */,
72/* 2**20 = */
738576 /* e   0 */,  104 /* e   4 */,
74/* 2**21 = */
757152 /* e   0 */,  209 /* e   4 */,
76/* 2**22 = */
774304 /* e   0 */,  419 /* e   4 */,
78/* 2**23 = */
798608 /* e   0 */,  838 /* e   4 */,
80/* 2**24 = */
817216 /* e   0 */, 1677 /* e   4 */,
82/* 2**25 = */
834432 /* e   0 */, 3355 /* e   4 */,
84/* 2**26 = */
858864 /* e   0 */, 6710 /* e   4 */,
86/* 2**27 = */
877728 /* e   0 */, 3421 /* e   4 */,    1 /* e   8 */,
88/* 2**28 = */
895456 /* e   0 */, 6843 /* e   4 */,    2 /* e   8 */,
90/* 2**29 = */
91912 /* e   0 */, 3687 /* e   4 */,    5 /* e   8 */,
92/* 2**30 = */
931824 /* e   0 */, 7374 /* e   4 */,   10 /* e   8 */,
94/* 2**31 = */
953648 /* e   0 */, 4748 /* e   4 */,   21 /* e   8 */,
96/* 2**32 = */
977296 /* e   0 */, 9496 /* e   4 */,   42 /* e   8 */,
98/* 2**33 = */
994592 /* e   0 */, 8993 /* e   4 */,   85 /* e   8 */,
100/* 2**34 = */
1019184 /* e   0 */, 7986 /* e   4 */,  171 /* e   8 */,
102/* 2**35 = */
1038368 /* e   0 */, 5973 /* e   4 */,  343 /* e   8 */,
104/* 2**36 = */
1056736 /* e   0 */, 1947 /* e   4 */,  687 /* e   8 */,
106/* 2**37 = */
1073472 /* e   0 */, 3895 /* e   4 */, 1374 /* e   8 */,
108/* 2**38 = */
1096944 /* e   0 */, 7790 /* e   4 */, 2748 /* e   8 */,
110/* 2**39 = */
1113888 /* e   0 */, 5581 /* e   4 */, 5497 /* e   8 */,
112/* 2**40 = */
1137776 /* e   0 */, 1162 /* e   4 */,  995 /* e   8 */,    1 /* e  12 */,
114
115/* 2**41 = */
1165552 /* e   0 */, 2325 /* e   4 */, 1990 /* e   8 */,    2 /* e  12 */,
117
118/* 2**42 = */
1191104 /* e   0 */, 4651 /* e   4 */, 3980 /* e   8 */,    4 /* e  12 */,
120
121/* 2**43 = */
1222208 /* e   0 */, 9302 /* e   4 */, 7960 /* e   8 */,    8 /* e  12 */,
123
124/* 2**44 = */
1254416 /* e   0 */, 8604 /* e   4 */, 5921 /* e   8 */,   17 /* e  12 */,
126
127/* 2**45 = */
1288832 /* e   0 */, 7208 /* e   4 */, 1843 /* e   8 */,   35 /* e  12 */,
129
130/* 2**46 = */
1317664 /* e   0 */, 4417 /* e   4 */, 3687 /* e   8 */,   70 /* e  12 */,
132
133/* 2**47 = */
1345328 /* e   0 */, 8835 /* e   4 */, 7374 /* e   8 */,  140 /* e  12 */,
135
136/* 2**48 = */
137656 /* e   0 */, 7671 /* e   4 */, 4749 /* e   8 */,  281 /* e  12 */,
138
139/* 2**49 = */
1401312 /* e   0 */, 5342 /* e   4 */, 9499 /* e   8 */,  562 /* e  12 */,
141
142/* 2**50 = */
1432624 /* e   0 */,  684 /* e   4 */, 8999 /* e   8 */, 1125 /* e  12 */,
144
145/* 2**51 = */
1465248 /* e   0 */, 1368 /* e   4 */, 7998 /* e   8 */, 2251 /* e  12 */,
147
148/* 2**52 = */
149496 /* e   0 */, 2737 /* e   4 */, 5996 /* e   8 */, 4503 /* e  12 */,
150
151/* 2**53 = */
152992 /* e   0 */, 5474 /* e   4 */, 1992 /* e   8 */, 9007 /* e  12 */,
153
154/* 2**54 = */
1551984 /* e   0 */,  948 /* e   4 */, 3985 /* e   8 */, 8014 /* e  12 */,
1561 /* e  16 */,
157/* 2**55 = */
1583968 /* e   0 */, 1896 /* e   4 */, 7970 /* e   8 */, 6028 /* e  12 */,
1593 /* e  16 */,
160/* 2**56 = */
1617936 /* e   0 */, 3792 /* e   4 */, 5940 /* e   8 */, 2057 /* e  12 */,
1627 /* e  16 */,
163/* 2**57 = */
1645872 /* e   0 */, 7585 /* e   4 */, 1880 /* e   8 */, 4115 /* e  12 */,
16514 /* e  16 */,
166/* 2**58 = */
1671744 /* e   0 */, 5171 /* e   4 */, 3761 /* e   8 */, 8230 /* e  12 */,
16828 /* e  16 */,
169/* 2**59 = */
1703488 /* e   0 */,  342 /* e   4 */, 7523 /* e   8 */, 6460 /* e  12 */,
17157 /* e  16 */,
172/* 2**60 = */
1736976 /* e   0 */,  684 /* e   4 */, 5046 /* e   8 */, 2921 /* e  12 */,
174115 /* e  16 */,
175/* 2**61 = */
1763952 /* e   0 */, 1369 /* e   4 */,   92 /* e   8 */, 5843 /* e  12 */,
177230 /* e  16 */,
178/* 2**62 = */
1797904 /* e   0 */, 2738 /* e   4 */,  184 /* e   8 */, 1686 /* e  12 */,
180461 /* e  16 */,
181/* 2**63 = */
1825808 /* e   0 */, 5477 /* e   4 */,  368 /* e   8 */, 3372 /* e  12 */,
183922 /* e  16 */,
184/* 2**64 = */
1851616 /* e   0 */,  955 /* e   4 */,  737 /* e   8 */, 6744 /* e  12 */,
1861844 /* e  16 */,
187/* 2**65 = */
1883232 /* e   0 */, 1910 /* e   4 */, 1474 /* e   8 */, 3488 /* e  12 */,
1893689 /* e  16 */,
190/* 2**66 = */
1916464 /* e   0 */, 3820 /* e   4 */, 2948 /* e   8 */, 6976 /* e  12 */,
1927378 /* e  16 */,
193/* 2**67 = */
1942928 /* e   0 */, 7641 /* e   4 */, 5896 /* e   8 */, 3952 /* e  12 */,
1954757 /* e  16 */,    1 /* e  20 */,
196/* 2**68 = */
1975856 /* e   0 */, 5282 /* e   4 */, 1793 /* e   8 */, 7905 /* e  12 */,
1989514 /* e  16 */,    2 /* e  20 */,
199/* 2**69 = */
2001712 /* e   0 */,  565 /* e   4 */, 3587 /* e   8 */, 5810 /* e  12 */,
2019029 /* e  16 */,    5 /* e  20 */,
202/* 2**70 = */
2033424 /* e   0 */, 1130 /* e   4 */, 7174 /* e   8 */, 1620 /* e  12 */,
2048059 /* e  16 */,   11 /* e  20 */,
205/* 2**71 = */
2066848 /* e   0 */, 2260 /* e   4 */, 4348 /* e   8 */, 3241 /* e  12 */,
2076118 /* e  16 */,   23 /* e  20 */,
208/* 2**72 = */
2093696 /* e   0 */, 4521 /* e   4 */, 8696 /* e   8 */, 6482 /* e  12 */,
2102236 /* e  16 */,   47 /* e  20 */,
211/* 2**73 = */
2127392 /* e   0 */, 9042 /* e   4 */, 7392 /* e   8 */, 2965 /* e  12 */,
2134473 /* e  16 */,   94 /* e  20 */,
214/* 2**74 = */
2154784 /* e   0 */, 8085 /* e   4 */, 4785 /* e   8 */, 5931 /* e  12 */,
2168946 /* e  16 */,  188 /* e  20 */,
217/* 2**75 = */
2189568 /* e   0 */, 6170 /* e   4 */, 9571 /* e   8 */, 1862 /* e  12 */,
2197893 /* e  16 */,  377 /* e  20 */,
220/* 2**76 = */
2219136 /* e   0 */, 2341 /* e   4 */, 9143 /* e   8 */, 3725 /* e  12 */,
2225786 /* e  16 */,  755 /* e  20 */,
223/* 2**77 = */
2248272 /* e   0 */, 4683 /* e   4 */, 8286 /* e   8 */, 7451 /* e  12 */,
2251572 /* e  16 */, 1511 /* e  20 */,
226/* 2**78 = */
2276544 /* e   0 */, 9367 /* e   4 */, 6572 /* e   8 */, 4903 /* e  12 */,
2283145 /* e  16 */, 3022 /* e  20 */,
229/* 2**79 = */
2303088 /* e   0 */, 8735 /* e   4 */, 3145 /* e   8 */, 9807 /* e  12 */,
2316290 /* e  16 */, 6044 /* e  20 */,
232/* 2**80 = */
2336176 /* e   0 */, 7470 /* e   4 */, 6291 /* e   8 */, 9614 /* e  12 */,
2342581 /* e  16 */, 2089 /* e  20 */,    1 /* e  24 */,
235/* 2**81 = */
2362352 /* e   0 */, 4941 /* e   4 */, 2583 /* e   8 */, 9229 /* e  12 */,
2375163 /* e  16 */, 4178 /* e  20 */,    2 /* e  24 */,
238/* 2**82 = */
2394704 /* e   0 */, 9882 /* e   4 */, 5166 /* e   8 */, 8458 /* e  12 */,
240327 /* e  16 */, 8357 /* e  20 */,    4 /* e  24 */,
241/* 2**83 = */
2429408 /* e   0 */, 9764 /* e   4 */,  333 /* e   8 */, 6917 /* e  12 */,
243655 /* e  16 */, 6714 /* e  20 */,    9 /* e  24 */,
244/* 2**84 = */
2458816 /* e   0 */, 9529 /* e   4 */,  667 /* e   8 */, 3834 /* e  12 */,
2461311 /* e  16 */, 3428 /* e  20 */,   19 /* e  24 */,
247/* 2**85 = */
2487632 /* e   0 */, 9059 /* e   4 */, 1335 /* e   8 */, 7668 /* e  12 */,
2492622 /* e  16 */, 6856 /* e  20 */,   38 /* e  24 */,
250/* 2**86 = */
2515264 /* e   0 */, 8119 /* e   4 */, 2671 /* e   8 */, 5336 /* e  12 */,
2525245 /* e  16 */, 3712 /* e  20 */,   77 /* e  24 */,
253/* 2**87 = */
254528 /* e   0 */, 6239 /* e   4 */, 5343 /* e   8 */,  672 /* e  12 */,
255491 /* e  16 */, 7425 /* e  20 */,  154 /* e  24 */,
256/* 2**88 = */
2571056 /* e   0 */, 2478 /* e   4 */,  687 /* e   8 */, 1345 /* e  12 */,
258982 /* e  16 */, 4850 /* e  20 */,  309 /* e  24 */,
259/* 2**89 = */
2602112 /* e   0 */, 4956 /* e   4 */, 1374 /* e   8 */, 2690 /* e  12 */,
2611964 /* e  16 */, 9700 /* e  20 */,  618 /* e  24 */,
262/* 2**90 = */
2634224 /* e   0 */, 9912 /* e   4 */, 2748 /* e   8 */, 5380 /* e  12 */,
2643928 /* e  16 */, 9400 /* e  20 */, 1237 /* e  24 */,
265/* 2**91 = */
2668448 /* e   0 */, 9824 /* e   4 */, 5497 /* e   8 */,  760 /* e  12 */,
2677857 /* e  16 */, 8800 /* e  20 */, 2475 /* e  24 */,
268/* 2**92 = */
2696896 /* e   0 */, 9649 /* e   4 */,  995 /* e   8 */, 1521 /* e  12 */,
2705714 /* e  16 */, 7601 /* e  20 */, 4951 /* e  24 */,
271/* 2**93 = */
2723792 /* e   0 */, 9299 /* e   4 */, 1991 /* e   8 */, 3042 /* e  12 */,
2731428 /* e  16 */, 5203 /* e  20 */, 9903 /* e  24 */,
274/* 2**94 = */
2757584 /* e   0 */, 8598 /* e   4 */, 3983 /* e   8 */, 6084 /* e  12 */,
2762856 /* e  16 */,  406 /* e  20 */, 9807 /* e  24 */,    1 /* e  28 */,
277
278/* 2**95 = */
2795168 /* e   0 */, 7197 /* e   4 */, 7967 /* e   8 */, 2168 /* e  12 */,
2805713 /* e  16 */,  812 /* e  20 */, 9614 /* e  24 */,    3 /* e  28 */,
281
282/* 2**96 = */
283336 /* e   0 */, 4395 /* e   4 */, 5935 /* e   8 */, 4337 /* e  12 */,
2841426 /* e  16 */, 1625 /* e  20 */, 9228 /* e  24 */,    7 /* e  28 */,
285
286/* 2**97 = */
287672 /* e   0 */, 8790 /* e   4 */, 1870 /* e   8 */, 8675 /* e  12 */,
2882852 /* e  16 */, 3250 /* e  20 */, 8456 /* e  24 */,   15 /* e  28 */,
289
290/* 2**98 = */
2911344 /* e   0 */, 7580 /* e   4 */, 3741 /* e   8 */, 7350 /* e  12 */,
2925705 /* e  16 */, 6500 /* e  20 */, 6912 /* e  24 */,   31 /* e  28 */,
293
294/* 2**99 = */
2952688 /* e   0 */, 5160 /* e   4 */, 7483 /* e   8 */, 4700 /* e  12 */,
2961411 /* e  16 */, 3001 /* e  20 */, 3825 /* e  24 */,   63 /* e  28 */,
297
298/* 2**100 = */
2995376 /* e   0 */,  320 /* e   4 */, 4967 /* e   8 */, 9401 /* e  12 */,
3002822 /* e  16 */, 6002 /* e  20 */, 7650 /* e  24 */,  126 /* e  28 */,
301
302/* 2**101 = */
303752 /* e   0 */,  641 /* e   4 */, 9934 /* e   8 */, 8802 /* e  12 */,
3045645 /* e  16 */, 2004 /* e  20 */, 5301 /* e  24 */,  253 /* e  28 */,
305
306/* 2**102 = */
3071504 /* e   0 */, 1282 /* e   4 */, 9868 /* e   8 */, 7605 /* e  12 */,
3081291 /* e  16 */, 4009 /* e  20 */,  602 /* e  24 */,  507 /* e  28 */,
309
310/* 2**103 = */
3113008 /* e   0 */, 2564 /* e   4 */, 9736 /* e   8 */, 5211 /* e  12 */,
3122583 /* e  16 */, 8018 /* e  20 */, 1204 /* e  24 */, 1014 /* e  28 */,
313
314/* 2**104 = */
3156016 /* e   0 */, 5128 /* e   4 */, 9472 /* e   8 */,  423 /* e  12 */,
3165167 /* e  16 */, 6036 /* e  20 */, 2409 /* e  24 */, 2028 /* e  28 */,
317
318/* 2**105 = */
3192032 /* e   0 */,  257 /* e   4 */, 8945 /* e   8 */,  847 /* e  12 */,
320334 /* e  16 */, 2073 /* e  20 */, 4819 /* e  24 */, 4056 /* e  28 */,
321
322/* 2**106 = */
3234064 /* e   0 */,  514 /* e   4 */, 7890 /* e   8 */, 1695 /* e  12 */,
324668 /* e  16 */, 4146 /* e  20 */, 9638 /* e  24 */, 8112 /* e  28 */,
325
326/* 2**107 = */
3278128 /* e   0 */, 1028 /* e   4 */, 5780 /* e   8 */, 3391 /* e  12 */,
3281336 /* e  16 */, 8292 /* e  20 */, 9276 /* e  24 */, 6225 /* e  28 */,
3291 /* e  32 */,
330/* 2**108 = */
3316256 /* e   0 */, 2057 /* e   4 */, 1560 /* e   8 */, 6783 /* e  12 */,
3322672 /* e  16 */, 6584 /* e  20 */, 8553 /* e  24 */, 2451 /* e  28 */,
3333 /* e  32 */,
334/* 2**109 = */
3352512 /* e   0 */, 4115 /* e   4 */, 3120 /* e   8 */, 3566 /* e  12 */,
3365345 /* e  16 */, 3168 /* e  20 */, 7107 /* e  24 */, 4903 /* e  28 */,
3376 /* e  32 */,
338/* 2**110 = */
3395024 /* e   0 */, 8230 /* e   4 */, 6240 /* e   8 */, 7132 /* e  12 */,
340690 /* e  16 */, 6337 /* e  20 */, 4214 /* e  24 */, 9807 /* e  28 */,
34112 /* e  32 */,
342/* 2**111 = */
34348 /* e   0 */, 6461 /* e   4 */, 2481 /* e   8 */, 4265 /* e  12 */,
3441381 /* e  16 */, 2674 /* e  20 */, 8429 /* e  24 */, 9614 /* e  28 */,
34525 /* e  32 */,
346/* 2**112 = */
34796 /* e   0 */, 2922 /* e   4 */, 4963 /* e   8 */, 8530 /* e  12 */,
3482762 /* e  16 */, 5348 /* e  20 */, 6858 /* e  24 */, 9229 /* e  28 */,
34951 /* e  32 */,
350/* 2**113 = */
351192 /* e   0 */, 5844 /* e   4 */, 9926 /* e   8 */, 7060 /* e  12 */,
3525525 /* e  16 */,  696 /* e  20 */, 3717 /* e  24 */, 8459 /* e  28 */,
353103 /* e  32 */,
354/* 2**114 = */
355384 /* e   0 */, 1688 /* e   4 */, 9853 /* e   8 */, 4121 /* e  12 */,
3561051 /* e  16 */, 1393 /* e  20 */, 7434 /* e  24 */, 6918 /* e  28 */,
357207 /* e  32 */,
358/* 2**115 = */
359768 /* e   0 */, 3376 /* e   4 */, 9706 /* e   8 */, 8243 /* e  12 */,
3602102 /* e  16 */, 2786 /* e  20 */, 4868 /* e  24 */, 3837 /* e  28 */,
361415 /* e  32 */,
362/* 2**116 = */
3631536 /* e   0 */, 6752 /* e   4 */, 9412 /* e   8 */, 6487 /* e  12 */,
3644205 /* e  16 */, 5572 /* e  20 */, 9736 /* e  24 */, 7674 /* e  28 */,
365830 /* e  32 */,
366/* 2**117 = */
3673072 /* e   0 */, 3504 /* e   4 */, 8825 /* e   8 */, 2975 /* e  12 */,
3688411 /* e  16 */, 1144 /* e  20 */, 9473 /* e  24 */, 5349 /* e  28 */,
3691661 /* e  32 */,
370/* 2**118 = */
3716144 /* e   0 */, 7008 /* e   4 */, 7650 /* e   8 */, 5951 /* e  12 */,
3726822 /* e  16 */, 2289 /* e  20 */, 8946 /* e  24 */,  699 /* e  28 */,
3733323 /* e  32 */,
374/* 2**119 = */
3752288 /* e   0 */, 4017 /* e   4 */, 5301 /* e   8 */, 1903 /* e  12 */,
3763645 /* e  16 */, 4579 /* e  20 */, 7892 /* e  24 */, 1399 /* e  28 */,
3776646 /* e  32 */,
378/* 2**120 = */
3794576 /* e   0 */, 8034 /* e   4 */,  602 /* e   8 */, 3807 /* e  12 */,
3807290 /* e  16 */, 9158 /* e  20 */, 5784 /* e  24 */, 2799 /* e  28 */,
3813292 /* e  32 */,    1 /* e  36 */,
382/* 2**121 = */
3839152 /* e   0 */, 6068 /* e   4 */, 1205 /* e   8 */, 7614 /* e  12 */,
3844580 /* e  16 */, 8317 /* e  20 */, 1569 /* e  24 */, 5599 /* e  28 */,
3856584 /* e  32 */,    2 /* e  36 */,
386/* 2**122 = */
3878304 /* e   0 */, 2137 /* e   4 */, 2411 /* e   8 */, 5228 /* e  12 */,
3889161 /* e  16 */, 6634 /* e  20 */, 3139 /* e  24 */, 1198 /* e  28 */,
3893169 /* e  32 */,    5 /* e  36 */,
390/* 2**123 = */
3916608 /* e   0 */, 4275 /* e   4 */, 4822 /* e   8 */,  456 /* e  12 */,
3928323 /* e  16 */, 3269 /* e  20 */, 6279 /* e  24 */, 2396 /* e  28 */,
3936338 /* e  32 */,   10 /* e  36 */,
394/* 2**124 = */
3953216 /* e   0 */, 8551 /* e   4 */, 9644 /* e   8 */,  912 /* e  12 */,
3966646 /* e  16 */, 6539 /* e  20 */, 2558 /* e  24 */, 4793 /* e  28 */,
3972676 /* e  32 */,   21 /* e  36 */,
398/* 2**125 = */
3996432 /* e   0 */, 7102 /* e   4 */, 9289 /* e   8 */, 1825 /* e  12 */,
4003292 /* e  16 */, 3079 /* e  20 */, 5117 /* e  24 */, 9586 /* e  28 */,
4015352 /* e  32 */,   42 /* e  36 */,
402/* 2**126 = */
4032864 /* e   0 */, 4205 /* e   4 */, 8579 /* e   8 */, 3651 /* e  12 */,
4046584 /* e  16 */, 6158 /* e  20 */,  234 /* e  24 */, 9173 /* e  28 */,
405705 /* e  32 */,   85 /* e  36 */,
406/* 2**127 = */
4075728 /* e   0 */, 8410 /* e   4 */, 7158 /* e   8 */, 7303 /* e  12 */,
4083168 /* e  16 */, 2317 /* e  20 */,  469 /* e  24 */, 8346 /* e  28 */,
4091411 /* e  32 */,  170 /* e  36 */,
410/* 2**128 = */
4111456 /* e   0 */, 6821 /* e   4 */, 4317 /* e   8 */, 4607 /* e  12 */,
4126337 /* e  16 */, 4634 /* e  20 */,  938 /* e  24 */, 6692 /* e  28 */,
4132823 /* e  32 */,  340 /* e  36 */,
414/* 2**129 = */
4152912 /* e   0 */, 3642 /* e   4 */, 8635 /* e   8 */, 9214 /* e  12 */,
4162674 /* e  16 */, 9269 /* e  20 */, 1876 /* e  24 */, 3384 /* e  28 */,
4175647 /* e  32 */,  680 /* e  36 */,
418/* 2**130 = */
4195824 /* e   0 */, 7284 /* e   4 */, 7270 /* e   8 */, 8429 /* e  12 */,
4205349 /* e  16 */, 8538 /* e  20 */, 3753 /* e  24 */, 6768 /* e  28 */,
4211294 /* e  32 */, 1361 /* e  36 */,
422/* 2**131 = */
4231648 /* e   0 */, 4569 /* e   4 */, 4541 /* e   8 */, 6859 /* e  12 */,
424699 /* e  16 */, 7077 /* e  20 */, 7507 /* e  24 */, 3536 /* e  28 */,
4252589 /* e  32 */, 2722 /* e  36 */,
426/* 2**132 = */
4273296 /* e   0 */, 9138 /* e   4 */, 9082 /* e   8 */, 3718 /* e  12 */,
4281399 /* e  16 */, 4154 /* e  20 */, 5015 /* e  24 */, 7073 /* e  28 */,
4295178 /* e  32 */, 5444 /* e  36 */,
430/* 2**133 = */
4316592 /* e   0 */, 8276 /* e   4 */, 8165 /* e   8 */, 7437 /* e  12 */,
4322798 /* e  16 */, 8308 /* e  20 */,   30 /* e  24 */, 4147 /* e  28 */,
433357 /* e  32 */,  889 /* e  36 */,    1 /* e  40 */,
434/* 2**134 = */
4353184 /* e   0 */, 6553 /* e   4 */, 6331 /* e   8 */, 4875 /* e  12 */,
4365597 /* e  16 */, 6616 /* e  20 */,   61 /* e  24 */, 8294 /* e  28 */,
437714 /* e  32 */, 1778 /* e  36 */,    2 /* e  40 */,
438/* 2**135 = */
4396368 /* e   0 */, 3106 /* e   4 */, 2663 /* e   8 */, 9751 /* e  12 */,
4401194 /* e  16 */, 3233 /* e  20 */,  123 /* e  24 */, 6588 /* e  28 */,
4411429 /* e  32 */, 3556 /* e  36 */,    4 /* e  40 */,
442/* 2**136 = */
4432736 /* e   0 */, 6213 /* e   4 */, 5326 /* e   8 */, 9502 /* e  12 */,
4442389 /* e  16 */, 6466 /* e  20 */,  246 /* e  24 */, 3176 /* e  28 */,
4452859 /* e  32 */, 7112 /* e  36 */,    8 /* e  40 */,
446/* 2**137 = */
4475472 /* e   0 */, 2426 /* e   4 */,  653 /* e   8 */, 9005 /* e  12 */,
4484779 /* e  16 */, 2932 /* e  20 */,  493 /* e  24 */, 6352 /* e  28 */,
4495718 /* e  32 */, 4224 /* e  36 */,   17 /* e  40 */,
450/* 2**138 = */
451944 /* e   0 */, 4853 /* e   4 */, 1306 /* e   8 */, 8010 /* e  12 */,
4529559 /* e  16 */, 5864 /* e  20 */,  986 /* e  24 */, 2704 /* e  28 */,
4531437 /* e  32 */, 8449 /* e  36 */,   34 /* e  40 */,
454/* 2**139 = */
4551888 /* e   0 */, 9706 /* e   4 */, 2612 /* e   8 */, 6020 /* e  12 */,
4569119 /* e  16 */, 1729 /* e  20 */, 1973 /* e  24 */, 5408 /* e  28 */,
4572874 /* e  32 */, 6898 /* e  36 */,   69 /* e  40 */,
458/* 2**140 = */
4593776 /* e   0 */, 9412 /* e   4 */, 5225 /* e   8 */, 2040 /* e  12 */,
4608239 /* e  16 */, 3459 /* e  20 */, 3946 /* e  24 */,  816 /* e  28 */,
4615749 /* e  32 */, 3796 /* e  36 */,  139 /* e  40 */,
462/* 2**141 = */
4637552 /* e   0 */, 8824 /* e   4 */,  451 /* e   8 */, 4081 /* e  12 */,
4646478 /* e  16 */, 6919 /* e  20 */, 7892 /* e  24 */, 1632 /* e  28 */,
4651498 /* e  32 */, 7593 /* e  36 */,  278 /* e  40 */,
466/* 2**142 = */
4675104 /* e   0 */, 7649 /* e   4 */,  903 /* e   8 */, 8162 /* e  12 */,
4682956 /* e  16 */, 3839 /* e  20 */, 5785 /* e  24 */, 3265 /* e  28 */,
4692996 /* e  32 */, 5186 /* e  36 */,  557 /* e  40 */,
470/* 2**143 = */
471208 /* e   0 */, 5299 /* e   4 */, 1807 /* e   8 */, 6324 /* e  12 */,
4725913 /* e  16 */, 7678 /* e  20 */, 1570 /* e  24 */, 6531 /* e  28 */,
4735992 /* e  32 */,  372 /* e  36 */, 1115 /* e  40 */,
474/* 2**144 = */
475416 /* e   0 */,  598 /* e   4 */, 3615 /* e   8 */, 2648 /* e  12 */,
4761827 /* e  16 */, 5357 /* e  20 */, 3141 /* e  24 */, 3062 /* e  28 */,
4771985 /* e  32 */,  745 /* e  36 */, 2230 /* e  40 */,
478/* 2**145 = */
479832 /* e   0 */, 1196 /* e   4 */, 7230 /* e   8 */, 5296 /* e  12 */,
4803654 /* e  16 */,  714 /* e  20 */, 6283 /* e  24 */, 6124 /* e  28 */,
4813970 /* e  32 */, 1490 /* e  36 */, 4460 /* e  40 */,
482/* 2**146 = */
4831664 /* e   0 */, 2392 /* e   4 */, 4460 /* e   8 */,  593 /* e  12 */,
4847309 /* e  16 */, 1428 /* e  20 */, 2566 /* e  24 */, 2249 /* e  28 */,
4857941 /* e  32 */, 2980 /* e  36 */, 8920 /* e  40 */,
486/* 2**147 = */
4873328 /* e   0 */, 4784 /* e   4 */, 8920 /* e   8 */, 1186 /* e  12 */,
4884618 /* e  16 */, 2857 /* e  20 */, 5132 /* e  24 */, 4498 /* e  28 */,
4895882 /* e  32 */, 5961 /* e  36 */, 7840 /* e  40 */,    1 /* e  44 */,
490
491/* 2**148 = */
4926656 /* e   0 */, 9568 /* e   4 */, 7840 /* e   8 */, 2373 /* e  12 */,
4939236 /* e  16 */, 5714 /* e  20 */,  264 /* e  24 */, 8997 /* e  28 */,
4941764 /* e  32 */, 1923 /* e  36 */, 5681 /* e  40 */,    3 /* e  44 */,
495
496/* 2**149 = */
4973312 /* e   0 */, 9137 /* e   4 */, 5681 /* e   8 */, 4747 /* e  12 */,
4988472 /* e  16 */, 1429 /* e  20 */,  529 /* e  24 */, 7994 /* e  28 */,
4993529 /* e  32 */, 3846 /* e  36 */, 1362 /* e  40 */,    7 /* e  44 */,
500
501/* 2**150 = */
5026624 /* e   0 */, 8274 /* e   4 */, 1363 /* e   8 */, 9495 /* e  12 */,
5036944 /* e  16 */, 2859 /* e  20 */, 1058 /* e  24 */, 5988 /* e  28 */,
5047059 /* e  32 */, 7692 /* e  36 */, 2724 /* e  40 */,   14 /* e  44 */,
505
506/* 2**151 = */
5073248 /* e   0 */, 6549 /* e   4 */, 2727 /* e   8 */, 8990 /* e  12 */,
5083889 /* e  16 */, 5719 /* e  20 */, 2116 /* e  24 */, 1976 /* e  28 */,
5094119 /* e  32 */, 5385 /* e  36 */, 5449 /* e  40 */,   28 /* e  44 */,
510
511/* 2**152 = */
5126496 /* e   0 */, 3098 /* e   4 */, 5455 /* e   8 */, 7980 /* e  12 */,
5137779 /* e  16 */, 1438 /* e  20 */, 4233 /* e  24 */, 3952 /* e  28 */,
5148238 /* e  32 */,  770 /* e  36 */,  899 /* e  40 */,   57 /* e  44 */,
515
516/* 2**153 = */
5172992 /* e   0 */, 6197 /* e   4 */,  910 /* e   8 */, 5961 /* e  12 */,
5185559 /* e  16 */, 2877 /* e  20 */, 8466 /* e  24 */, 7904 /* e  28 */,
5196476 /* e  32 */, 1541 /* e  36 */, 1798 /* e  40 */,  114 /* e  44 */,
520
521/* 2**154 = */
5225984 /* e   0 */, 2394 /* e   4 */, 1821 /* e   8 */, 1922 /* e  12 */,
5231119 /* e  16 */, 5755 /* e  20 */, 6932 /* e  24 */, 5809 /* e  28 */,
5242953 /* e  32 */, 3083 /* e  36 */, 3596 /* e  40 */,  228 /* e  44 */,
525
526/* 2**155 = */
5271968 /* e   0 */, 4789 /* e   4 */, 3642 /* e   8 */, 3844 /* e  12 */,
5282238 /* e  16 */, 1510 /* e  20 */, 3865 /* e  24 */, 1619 /* e  28 */,
5295907 /* e  32 */, 6166 /* e  36 */, 7192 /* e  40 */,  456 /* e  44 */,
530
531/* 2**156 = */
5323936 /* e   0 */, 9578 /* e   4 */, 7284 /* e   8 */, 7688 /* e  12 */,
5334476 /* e  16 */, 3020 /* e  20 */, 7730 /* e  24 */, 3238 /* e  28 */,
5341814 /* e  32 */, 2333 /* e  36 */, 4385 /* e  40 */,  913 /* e  44 */,
535
536/* 2**157 = */
5377872 /* e   0 */, 9156 /* e   4 */, 4569 /* e   8 */, 5377 /* e  12 */,
5388953 /* e  16 */, 6040 /* e  20 */, 5460 /* e  24 */, 6477 /* e  28 */,
5393628 /* e  32 */, 4666 /* e  36 */, 8770 /* e  40 */, 1826 /* e  44 */,
540
541/* 2**158 = */
5425744 /* e   0 */, 8313 /* e   4 */, 9139 /* e   8 */,  754 /* e  12 */,
5437907 /* e  16 */, 2081 /* e  20 */,  921 /* e  24 */, 2955 /* e  28 */,
5447257 /* e  32 */, 9332 /* e  36 */, 7540 /* e  40 */, 3653 /* e  44 */,
545
546/* 2**159 = */
5471488 /* e   0 */, 6627 /* e   4 */, 8279 /* e   8 */, 1509 /* e  12 */,
5485814 /* e  16 */, 4163 /* e  20 */, 1842 /* e  24 */, 5910 /* e  28 */,
5494514 /* e  32 */, 8665 /* e  36 */, 5081 /* e  40 */, 7307 /* e  44 */,
550
551/* 2**160 = */
5522976 /* e   0 */, 3254 /* e   4 */, 6559 /* e   8 */, 3019 /* e  12 */,
5531628 /* e  16 */, 8327 /* e  20 */, 3684 /* e  24 */, 1820 /* e  28 */,
5549029 /* e  32 */, 7330 /* e  36 */,  163 /* e  40 */, 4615 /* e  44 */,
5551 /* e  48 */,
556/* 2**161 = */
5575952 /* e   0 */, 6508 /* e   4 */, 3118 /* e   8 */, 6039 /* e  12 */,
5583256 /* e  16 */, 6654 /* e  20 */, 7369 /* e  24 */, 3640 /* e  28 */,
5598058 /* e  32 */, 4661 /* e  36 */,  327 /* e  40 */, 9230 /* e  44 */,
5602 /* e  48 */,
561/* 2**162 = */
5621904 /* e   0 */, 3017 /* e   4 */, 6237 /* e   8 */, 2078 /* e  12 */,
5636513 /* e  16 */, 3308 /* e  20 */, 4739 /* e  24 */, 7281 /* e  28 */,
5646116 /* e  32 */, 9323 /* e  36 */,  654 /* e  40 */, 8460 /* e  44 */,
5655 /* e  48 */,
566/* 2**163 = */
5673808 /* e   0 */, 6034 /* e   4 */, 2474 /* e   8 */, 4157 /* e  12 */,
5683026 /* e  16 */, 6617 /* e  20 */, 9478 /* e  24 */, 4562 /* e  28 */,
5692233 /* e  32 */, 8647 /* e  36 */, 1309 /* e  40 */, 6920 /* e  44 */,
57011 /* e  48 */,
571/* 2**164 = */
5727616 /* e   0 */, 2068 /* e   4 */, 4949 /* e   8 */, 8314 /* e  12 */,
5736052 /* e  16 */, 3234 /* e  20 */, 8957 /* e  24 */, 9125 /* e  28 */,
5744466 /* e  32 */, 7294 /* e  36 */, 2619 /* e  40 */, 3840 /* e  44 */,
57523 /* e  48 */,
576/* 2**165 = */
5775232 /* e   0 */, 4137 /* e   4 */, 9898 /* e   8 */, 6628 /* e  12 */,
5782105 /* e  16 */, 6469 /* e  20 */, 7914 /* e  24 */, 8251 /* e  28 */,
5798933 /* e  32 */, 4588 /* e  36 */, 5239 /* e  40 */, 7680 /* e  44 */,
58046 /* e  48 */,
581/* 2**166 = */
582464 /* e   0 */, 8275 /* e   4 */, 9796 /* e   8 */, 3257 /* e  12 */,
5834211 /* e  16 */, 2938 /* e  20 */, 5829 /* e  24 */, 6503 /* e  28 */,
5847867 /* e  32 */, 9177 /* e  36 */,  478 /* e  40 */, 5361 /* e  44 */,
58593 /* e  48 */,
586/* 2**167 = */
587928 /* e   0 */, 6550 /* e   4 */, 9593 /* e   8 */, 6515 /* e  12 */,
5888422 /* e  16 */, 5876 /* e  20 */, 1658 /* e  24 */, 3007 /* e  28 */,
5895735 /* e  32 */, 8355 /* e  36 */,  957 /* e  40 */,  722 /* e  44 */,
590187 /* e  48 */,
591/* 2**168 = */
5921856 /* e   0 */, 3100 /* e   4 */, 9187 /* e   8 */, 3031 /* e  12 */,
5936845 /* e  16 */, 1753 /* e  20 */, 3317 /* e  24 */, 6014 /* e  28 */,
5941470 /* e  32 */, 6711 /* e  36 */, 1915 /* e  40 */, 1444 /* e  44 */,
595374 /* e  48 */,
596/* 2**169 = */
5973712 /* e   0 */, 6200 /* e   4 */, 8374 /* e   8 */, 6063 /* e  12 */,
5983690 /* e  16 */, 3507 /* e  20 */, 6634 /* e  24 */, 2028 /* e  28 */,
5992941 /* e  32 */, 3422 /* e  36 */, 3831 /* e  40 */, 2888 /* e  44 */,
600748 /* e  48 */,
601/* 2**170 = */
6027424 /* e   0 */, 2400 /* e   4 */, 6749 /* e   8 */, 2127 /* e  12 */,
6037381 /* e  16 */, 7014 /* e  20 */, 3268 /* e  24 */, 4057 /* e  28 */,
6045882 /* e  32 */, 6844 /* e  36 */, 7662 /* e  40 */, 5776 /* e  44 */,
6051496 /* e  48 */,
606/* 2**171 = */
6074848 /* e   0 */, 4801 /* e   4 */, 3498 /* e   8 */, 4255 /* e  12 */,
6084762 /* e  16 */, 4029 /* e  20 */, 6537 /* e  24 */, 8114 /* e  28 */,
6091764 /* e  32 */, 3689 /* e  36 */, 5325 /* e  40 */, 1553 /* e  44 */,
6102993 /* e  48 */,
611/* 2**172 = */
6129696 /* e   0 */, 9602 /* e   4 */, 6996 /* e   8 */, 8510 /* e  12 */,
6139524 /* e  16 */, 8058 /* e  20 */, 3074 /* e  24 */, 6229 /* e  28 */,
6143529 /* e  32 */, 7378 /* e  36 */,  650 /* e  40 */, 3107 /* e  44 */,
6155986 /* e  48 */,
616/* 2**173 = */
6179392 /* e   0 */, 9205 /* e   4 */, 3993 /* e   8 */, 7021 /* e  12 */,
6189049 /* e  16 */, 6117 /* e  20 */, 6149 /* e  24 */, 2458 /* e  28 */,
6197059 /* e  32 */, 4756 /* e  36 */, 1301 /* e  40 */, 6214 /* e  44 */,
6201972 /* e  48 */,    1 /* e  52 */,
621/* 2**174 = */
6228784 /* e   0 */, 8411 /* e   4 */, 7987 /* e   8 */, 4042 /* e  12 */,
6238099 /* e  16 */, 2235 /* e  20 */, 2299 /* e  24 */, 4917 /* e  28 */,
6244118 /* e  32 */, 9513 /* e  36 */, 2602 /* e  40 */, 2428 /* e  44 */,
6253945 /* e  48 */,    2 /* e  52 */,
626/* 2**175 = */
6277568 /* e   0 */, 6823 /* e   4 */, 5975 /* e   8 */, 8085 /* e  12 */,
6286198 /* e  16 */, 4471 /* e  20 */, 4598 /* e  24 */, 9834 /* e  28 */,
6298236 /* e  32 */, 9026 /* e  36 */, 5205 /* e  40 */, 4856 /* e  44 */,
6307890 /* e  48 */,    4 /* e  52 */,
6310};
632
633/* table of starting indexes into previous table */
634const unsigned short __tbl_2_small_start [] = {
6350, 1, 2, 3, 4, 5, 6, 7,
6368, 9, 10, 11, 12, 13, 14, 16,
63718, 20, 22, 24, 26, 28, 30, 32,
63834, 36, 38, 40, 43, 46, 49, 52,
63955, 58, 61, 64, 67, 70, 73, 76,
64079, 83, 87, 91, 95, 99, 103, 107,
641111, 115, 119, 123, 127, 131, 135, 140,
642145, 150, 155, 160, 165, 170, 175, 180,
643185, 190, 195, 200, 206, 212, 218, 224,
644230, 236, 242, 248, 254, 260, 266, 272,
645278, 285, 292, 299, 306, 313, 320, 327,
646334, 341, 348, 355, 362, 369, 376, 384,
647392, 400, 408, 416, 424, 432, 440, 448,
648456, 464, 472, 480, 489, 498, 507, 516,
649525, 534, 543, 552, 561, 570, 579, 588,
650597, 607, 617, 627, 637, 647, 657, 667,
651677, 687, 697, 707, 717, 727, 738, 749,
652760, 771, 782, 793, 804, 815, 826, 837,
653848, 859, 870, 881, 893, 905, 917, 929,
654941, 953, 965, 977, 989, 1001, 1013, 1025,
6551037, 1050, 1063, 1076, 1089, 1102, 1115, 1128,
6561141, 1154, 1167, 1180, 1193, 1206, 1220, 1234,
6571248, 0};
658