diff options
Diffstat (limited to 'lib/rbcodec/codecs/libmad')
37 files changed, 22630 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libmad/CHANGES b/lib/rbcodec/codecs/libmad/CHANGES new file mode 100644 index 0000000000..3fa57ef0cf --- /dev/null +++ b/lib/rbcodec/codecs/libmad/CHANGES | |||
@@ -0,0 +1,338 @@ | |||
1 | |||
2 | libmad - MPEG audio decoder library | ||
3 | Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | |||
5 | $Id$ | ||
6 | |||
7 | =============================================================================== | ||
8 | |||
9 | Version 0.15.1 (beta) | ||
10 | |||
11 | * Updated to autoconf 2.59, automake 1.8.2, libtool 1.5.2. | ||
12 | |||
13 | * Replaced Layer III IMDCT routine with one based on a faster algorithm, | ||
14 | improving both speed and accuracy. | ||
15 | |||
16 | * Improved portability of the Huffman table initialization. | ||
17 | |||
18 | * Fixed a problem that could result in an assertion failure in layer3.c | ||
19 | due to an invalid Layer III free format bitrate. | ||
20 | |||
21 | * Improved the robustness of Layer II bitrate/mode combinations, and added | ||
22 | a new MAD_ERROR_BADMODE error enum. The allowability of low-bitrate | ||
23 | stereo streams is influenced by the --enable-strict-iso option to | ||
24 | `configure'. | ||
25 | |||
26 | Version 0.15.0 (beta) | ||
27 | |||
28 | * Updated to autoconf 2.57, automake 1.7.5, libtool 1.4.3. | ||
29 | |||
30 | * Added new mad_f_div() API routine. | ||
31 | |||
32 | * Added a 64th entry to the Layer I/Layer II scalefactor table, for better | ||
33 | compatibility with existing streams. The --enable-strict-iso option to | ||
34 | `configure' can be used to disable use of this entry. | ||
35 | |||
36 | * Modified the header decoding routine to allow the reserved emphasis | ||
37 | value, for better compatibility with existing streams. The | ||
38 | --enable-strict-iso option to `configure' can be used to restore the | ||
39 | previous behavior of reporting this value as an error. | ||
40 | |||
41 | * Added new MAD_EMPHASIS_RESERVED enumeration constant. | ||
42 | |||
43 | * Fixed a bug in the ARM version of mad_f_scale64() discovered by Andre | ||
44 | McCurdy. | ||
45 | |||
46 | * Rewrote PowerPC assembly for minor gains. | ||
47 | |||
48 | * Modified mad_timer_fraction() to avoid the possibility of division by | ||
49 | zero when 0 is passed as the second argument. | ||
50 | |||
51 | * Fixed a non-fatal problem caused by attempting to designate ancillary | ||
52 | bits in Layer III after a decoding error. | ||
53 | |||
54 | * Changed to build a shared library by default. | ||
55 | |||
56 | * Changed to use native Cygwin build by default; give --host=mingw32 to | ||
57 | `configure' to use MinGW (and avoid a dependency on the Cygwin DLL). | ||
58 | |||
59 | Version 0.14.2 (beta) | ||
60 | |||
61 | * Changed Cygwin builds to use MinGW; resulting Win32 executables no | ||
62 | longer have a dependency on Cygwin DLLs. | ||
63 | |||
64 | * Added a new mad_stream_errorstr() API function to libmad for retrieving | ||
65 | a string description of the current error condition. | ||
66 | |||
67 | Version 0.14.1 (beta) | ||
68 | |||
69 | * Updated config.guess and config.sub to latest upstream versions. | ||
70 | |||
71 | * Enabled libtool versioning rather than release numbering. | ||
72 | |||
73 | * Improved the documentation in minimad.c. | ||
74 | |||
75 | * Several other small fixes. | ||
76 | |||
77 | Version 0.14.0 (beta) | ||
78 | |||
79 | * Added a 64-bit FPM negation operation to improve performance of subband | ||
80 | synthesis on some platforms. | ||
81 | |||
82 | * Improved MSVC++ portability and added MSVC++ project files. | ||
83 | |||
84 | * Added rounding to Layer III requantization for slightly better accuracy. | ||
85 | |||
86 | Version 0.13.0 (beta) | ||
87 | |||
88 | * Ancillary data is now properly extracted from Layer III streams. | ||
89 | |||
90 | * Rewrote the Layer III joint stereo decoding routine to correct a major | ||
91 | MPEG-2 problem and a minor MPEG-1 problem decoding intensity stereo. | ||
92 | |||
93 | * Eliminated the dependency on sign-extending right shifts for Layer I and | ||
94 | Layer II. | ||
95 | |||
96 | * Renamed `private' field to `private_bits' for better C++ compatibility. | ||
97 | |||
98 | * Gratuitously renamed `sfreq' field to `samplerate' and | ||
99 | MAD_ERROR_BADSAMPLEFREQ constant to MAD_ERROR_BADSAMPLERATE. | ||
100 | |||
101 | * Added `samplerate' and `channels' fields to synth.pcm struct to allow | ||
102 | these to be different from the decoded frame, and for simpler access. | ||
103 | |||
104 | * Added new mad_stream_options() and mad_decoder_options() API entries for | ||
105 | special runtime decoding options. | ||
106 | |||
107 | * Added new MAD_OPTION_IGNORECRC and MAD_OPTION_HALFSAMPLERATE options. | ||
108 | |||
109 | * Added new MAD_FLAG_FREEFORMAT indicator flag. | ||
110 | |||
111 | * Fixed some bugs in the async decoder. | ||
112 | |||
113 | * Added a new mad_timer_multiply() API routine. | ||
114 | |||
115 | * Eliminated `+' from asm constraints under Intel for better compatibility | ||
116 | with some compilers. | ||
117 | |||
118 | * Fixed a PIC-related problem in imdct_l_arm.S. | ||
119 | |||
120 | * Eliminated a static variable to make libmad thread-safe. | ||
121 | |||
122 | Version 0.12.5 (beta) | ||
123 | |||
124 | * Modified Layer III requantization to occur during Huffman decoding for | ||
125 | significant performance gains. | ||
126 | |||
127 | * Optimized short block IMDCT by eliminating redundant calculations. | ||
128 | |||
129 | * Made several other Layer III performance improvements; added | ||
130 | ASO_INTERLEAVE1, ASO_INTERLEAVE2, and ASO_ZEROCHECK | ||
131 | architecture-specific options for best performance on various | ||
132 | architectures. | ||
133 | |||
134 | * Optimized synthesis DCT to store result values as soon as they are | ||
135 | calculated. | ||
136 | |||
137 | Version 0.12.4 (beta) | ||
138 | |||
139 | * New PowerPC fixed-point assembly courtesy of David Blythe. | ||
140 | |||
141 | * Reorganized fixed-point assembly routines for easier maintenance and | ||
142 | better performance. | ||
143 | |||
144 | * Improved performance of subband synthesis through better indexing and | ||
145 | fewer local variables. | ||
146 | |||
147 | * Added alias reduction for the lower two subbands of mixed short blocks, | ||
148 | per a report of ambiguity with ISO/IEC 11172-3 and for uniformity with | ||
149 | most other implementations. Also improved alias reduction performance | ||
150 | using multiply/accumulate. | ||
151 | |||
152 | * Added --enable-strict-iso option to `configure' to override best | ||
153 | accepted practices such as the alias reduction for mixed short blocks. | ||
154 | |||
155 | * Improved performance of Layer III IMDCT by using longer | ||
156 | multiply/accumulate runs where possible. | ||
157 | |||
158 | Version 0.12.3 (beta) | ||
159 | |||
160 | * Added MPEG 2.5 support. | ||
161 | |||
162 | * Added preliminary support for parameterizing the binary point position | ||
163 | in the fixed-point representation. | ||
164 | |||
165 | * Added multiply/accumulate optimization to the Layer III IMDCT for long | ||
166 | blocks. | ||
167 | |||
168 | * Fixed a bug in the handling of Layer III mixed_block_flag. | ||
169 | |||
170 | * Fixed a configure problem when multiple -O CFLAGS are present. | ||
171 | |||
172 | Version 0.12.2 (beta) | ||
173 | |||
174 | * Rearranged the synthesis polyphase filterbank memory vector for better | ||
175 | locality of reference, and rewrote mad_synth_frame() to accommodate, | ||
176 | resulting in improved performance. | ||
177 | |||
178 | * Discovered a combination of compiler optimization flags that further | ||
179 | improve performance. | ||
180 | |||
181 | * Changed some array references in layer3.c to pointer derefs. | ||
182 | |||
183 | Version 0.12.1 (beta) | ||
184 | |||
185 | * Resolved the intensity + MS joint stereo issue (a simple bug). | ||
186 | OPT_ISKLUGE is no longer considered to be a kluge. | ||
187 | |||
188 | * Fixed another, hopefully last main_data memory bug. | ||
189 | |||
190 | * Split part of struct mad_frame into struct mad_header for convenience | ||
191 | and size. | ||
192 | |||
193 | Version 0.12.0 (alpha) | ||
194 | |||
195 | * Changed the build environment to use automake and libtool. A libmad | ||
196 | shared library can now be built using the --enable-shared option to | ||
197 | `configure'. | ||
198 | |||
199 | * Added another callback to MAD's high-level decoder API after the frame | ||
200 | header has been read but before the frame's audio data is decoded. | ||
201 | |||
202 | * Streamlined header processing so that mad_frame_decode() can be called | ||
203 | with or without having already called mad_frame_header(). | ||
204 | |||
205 | * Fixed some other header reading miscellany, including CRC handling and | ||
206 | free bitrate detection, and frame length verification with free | ||
207 | bitrates. | ||
208 | |||
209 | * Fixed a problem with Layer III free bitrates > 320 kbps. The main_data | ||
210 | buffer size should now be large enough to handle any size frame, by | ||
211 | virtue of the maximum possible part2_3_length. | ||
212 | |||
213 | * Further developed the async API; arbitrary messages can now be passed to | ||
214 | the subsidiary decoding process. | ||
215 | |||
216 | * Streamlined timer.c and extended its interface. It now has support for | ||
217 | video frame/field lengths, including output support for drop-frame | ||
218 | encoding. | ||
219 | |||
220 | * Replaced many constant integer preprocessor defines with enums. | ||
221 | |||
222 | Version 0.11.4 (beta) | ||
223 | |||
224 | * Fixed free format bitrate discovery. | ||
225 | |||
226 | * Changed the timer implementation and extended its interface. | ||
227 | |||
228 | * Integrated Nicolas Pitre's patch for pre-shifting at compile-time and | ||
229 | for better multiply/accumulate code output. | ||
230 | |||
231 | * Applied Simon Burge's patch to imdct_l_arm.S for a.out compatibility. | ||
232 | |||
233 | * Added -mtune=strongarm for all ARM targets. | ||
234 | |||
235 | Version 0.11.3 (beta) | ||
236 | |||
237 | * Added new --enable-speed and --enable-accuracy options for `configure' | ||
238 | to automatically select appropriate SSO/ASO options, et al. | ||
239 | |||
240 | * Modified subband synthesis to use multiply/accumulate optimization (if | ||
241 | available) for better speed and/or accuracy. | ||
242 | |||
243 | * Incorporated Andre McCurdy's changes for further rounding optimizations | ||
244 | in the rest of his code. | ||
245 | |||
246 | Version 0.11.2 (beta) | ||
247 | |||
248 | * Incorporated Nicolas Pitre's ARM assembly and parameterized scaling | ||
249 | changes. | ||
250 | |||
251 | * Incorporated Andre McCurdy's ARM assembly optimization (used only if | ||
252 | --enable-aso is given to `configure' to enable architecture-specific | ||
253 | optimizations.) | ||
254 | |||
255 | * Reduced FPM_INTEL assembly to two instructions. | ||
256 | |||
257 | * Fixed accuracy problems with certain FPM modes in synth.c. | ||
258 | |||
259 | * Improved the accuracy of FPM_APPROX. | ||
260 | |||
261 | * Improved the accuracy of SSO. | ||
262 | |||
263 | * Improved sync discovery by checking for a sync word in the following | ||
264 | frame. | ||
265 | |||
266 | * Minor code clean-up. | ||
267 | |||
268 | * Added experimental rules for generating a libmad.so shared library. | ||
269 | |||
270 | Version 0.11.1 (beta) | ||
271 | |||
272 | * Moved libmad code into a separate directory. | ||
273 | |||
274 | * Changed SSO to be disabled by default, as output accuracy is deemed to | ||
275 | be more important than speed in the general case. | ||
276 | |||
277 | * Fixed a bug in Layer III sanity checking that could cause a crash on | ||
278 | certain random data input. | ||
279 | |||
280 | * Extended the Layer III requantization table from 8191 to 8206 as some | ||
281 | encoders are known to use these values, even though ISO/IEC 11172-3 | ||
282 | suggests the maximum should be 8191. | ||
283 | |||
284 | Version 0.11.0 (beta) | ||
285 | |||
286 | * Implemented MPEG-2 extension to Lower Sampling Frequencies. | ||
287 | |||
288 | * Improved Layer III performance by avoiding IMDCT calculation when all | ||
289 | input samples are zero. | ||
290 | |||
291 | * Significantly reduced size of Layer II tables. | ||
292 | |||
293 | Version 0.10.3 (beta) | ||
294 | |||
295 | * Improved SSO output quality. | ||
296 | |||
297 | * Made portable to cygwin. | ||
298 | |||
299 | * Localized memory references in III_huffdecode() for better performance. | ||
300 | |||
301 | Version 0.10.2 (beta) | ||
302 | |||
303 | * Rewrote Layer III long block 36-point IMDCT routine for better | ||
304 | performance. | ||
305 | |||
306 | * Improved subband synthesis fixed-point games somewhat. | ||
307 | |||
308 | Version 0.10.1 (beta) | ||
309 | |||
310 | * Added a subband synthesis optimization (SSO) which involves modifying | ||
311 | the fixed-point multiplication method during windowing. This produces | ||
312 | subtle differences in the output but improves performance greatly. | ||
313 | |||
314 | * Added I_STEREO and MS_STEREO flags to frame struct. | ||
315 | |||
316 | * Eliminated privately-used CRCFAILED flag. | ||
317 | |||
318 | * Fixed a bug where Layer III decoding could crash on some badly-formatted | ||
319 | (e.g. non-MPEG) bitstreams. | ||
320 | |||
321 | * Miscellaneous code clean-up. | ||
322 | |||
323 | Version 0.10.0 (beta) | ||
324 | |||
325 | * Added SPARC fixed-point math support. | ||
326 | |||
327 | * Revamped libmad API for better high- and low-level support. | ||
328 | |||
329 | * Documented more of the code. | ||
330 | |||
331 | * Changed sync semantics such that new stream buffers are assumed to be | ||
332 | sync-aligned. | ||
333 | |||
334 | * Changed Layer III to dynamically allocate static memory so as not to | ||
335 | waste it (about 6.4K) when only decoding Layer I or Layer II. | ||
336 | |||
337 | =============================================================================== | ||
338 | |||
diff --git a/lib/rbcodec/codecs/libmad/COPYING b/lib/rbcodec/codecs/libmad/COPYING new file mode 100644 index 0000000000..d60c31a97a --- /dev/null +++ b/lib/rbcodec/codecs/libmad/COPYING | |||
@@ -0,0 +1,340 @@ | |||
1 | GNU GENERAL PUBLIC LICENSE | ||
2 | Version 2, June 1991 | ||
3 | |||
4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | ||
5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
6 | Everyone is permitted to copy and distribute verbatim copies | ||
7 | of this license document, but changing it is not allowed. | ||
8 | |||
9 | Preamble | ||
10 | |||
11 | The licenses for most software are designed to take away your | ||
12 | freedom to share and change it. By contrast, the GNU General Public | ||
13 | License is intended to guarantee your freedom to share and change free | ||
14 | software--to make sure the software is free for all its users. This | ||
15 | General Public License applies to most of the Free Software | ||
16 | Foundation's software and to any other program whose authors commit to | ||
17 | using it. (Some other Free Software Foundation software is covered by | ||
18 | the GNU Library General Public License instead.) You can apply it to | ||
19 | your programs, too. | ||
20 | |||
21 | When we speak of free software, we are referring to freedom, not | ||
22 | price. Our General Public Licenses are designed to make sure that you | ||
23 | have the freedom to distribute copies of free software (and charge for | ||
24 | this service if you wish), that you receive source code or can get it | ||
25 | if you want it, that you can change the software or use pieces of it | ||
26 | in new free programs; and that you know you can do these things. | ||
27 | |||
28 | To protect your rights, we need to make restrictions that forbid | ||
29 | anyone to deny you these rights or to ask you to surrender the rights. | ||
30 | These restrictions translate to certain responsibilities for you if you | ||
31 | distribute copies of the software, or if you modify it. | ||
32 | |||
33 | For example, if you distribute copies of such a program, whether | ||
34 | gratis or for a fee, you must give the recipients all the rights that | ||
35 | you have. You must make sure that they, too, receive or can get the | ||
36 | source code. And you must show them these terms so they know their | ||
37 | rights. | ||
38 | |||
39 | We protect your rights with two steps: (1) copyright the software, and | ||
40 | (2) offer you this license which gives you legal permission to copy, | ||
41 | distribute and/or modify the software. | ||
42 | |||
43 | Also, for each author's protection and ours, we want to make certain | ||
44 | that everyone understands that there is no warranty for this free | ||
45 | software. If the software is modified by someone else and passed on, we | ||
46 | want its recipients to know that what they have is not the original, so | ||
47 | that any problems introduced by others will not reflect on the original | ||
48 | authors' reputations. | ||
49 | |||
50 | Finally, any free program is threatened constantly by software | ||
51 | patents. We wish to avoid the danger that redistributors of a free | ||
52 | program will individually obtain patent licenses, in effect making the | ||
53 | program proprietary. To prevent this, we have made it clear that any | ||
54 | patent must be licensed for everyone's free use or not licensed at all. | ||
55 | |||
56 | The precise terms and conditions for copying, distribution and | ||
57 | modification follow. | ||
58 | |||
59 | GNU GENERAL PUBLIC LICENSE | ||
60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
61 | |||
62 | 0. This License applies to any program or other work which contains | ||
63 | a notice placed by the copyright holder saying it may be distributed | ||
64 | under the terms of this General Public License. The "Program", below, | ||
65 | refers to any such program or work, and a "work based on the Program" | ||
66 | means either the Program or any derivative work under copyright law: | ||
67 | that is to say, a work containing the Program or a portion of it, | ||
68 | either verbatim or with modifications and/or translated into another | ||
69 | language. (Hereinafter, translation is included without limitation in | ||
70 | the term "modification".) Each licensee is addressed as "you". | ||
71 | |||
72 | Activities other than copying, distribution and modification are not | ||
73 | covered by this License; they are outside its scope. The act of | ||
74 | running the Program is not restricted, and the output from the Program | ||
75 | is covered only if its contents constitute a work based on the | ||
76 | Program (independent of having been made by running the Program). | ||
77 | Whether that is true depends on what the Program does. | ||
78 | |||
79 | 1. You may copy and distribute verbatim copies of the Program's | ||
80 | source code as you receive it, in any medium, provided that you | ||
81 | conspicuously and appropriately publish on each copy an appropriate | ||
82 | copyright notice and disclaimer of warranty; keep intact all the | ||
83 | notices that refer to this License and to the absence of any warranty; | ||
84 | and give any other recipients of the Program a copy of this License | ||
85 | along with the Program. | ||
86 | |||
87 | You may charge a fee for the physical act of transferring a copy, and | ||
88 | you may at your option offer warranty protection in exchange for a fee. | ||
89 | |||
90 | 2. You may modify your copy or copies of the Program or any portion | ||
91 | of it, thus forming a work based on the Program, and copy and | ||
92 | distribute such modifications or work under the terms of Section 1 | ||
93 | above, provided that you also meet all of these conditions: | ||
94 | |||
95 | a) You must cause the modified files to carry prominent notices | ||
96 | stating that you changed the files and the date of any change. | ||
97 | |||
98 | b) You must cause any work that you distribute or publish, that in | ||
99 | whole or in part contains or is derived from the Program or any | ||
100 | part thereof, to be licensed as a whole at no charge to all third | ||
101 | parties under the terms of this License. | ||
102 | |||
103 | c) If the modified program normally reads commands interactively | ||
104 | when run, you must cause it, when started running for such | ||
105 | interactive use in the most ordinary way, to print or display an | ||
106 | announcement including an appropriate copyright notice and a | ||
107 | notice that there is no warranty (or else, saying that you provide | ||
108 | a warranty) and that users may redistribute the program under | ||
109 | these conditions, and telling the user how to view a copy of this | ||
110 | License. (Exception: if the Program itself is interactive but | ||
111 | does not normally print such an announcement, your work based on | ||
112 | the Program is not required to print an announcement.) | ||
113 | |||
114 | These requirements apply to the modified work as a whole. If | ||
115 | identifiable sections of that work are not derived from the Program, | ||
116 | and can be reasonably considered independent and separate works in | ||
117 | themselves, then this License, and its terms, do not apply to those | ||
118 | sections when you distribute them as separate works. But when you | ||
119 | distribute the same sections as part of a whole which is a work based | ||
120 | on the Program, the distribution of the whole must be on the terms of | ||
121 | this License, whose permissions for other licensees extend to the | ||
122 | entire whole, and thus to each and every part regardless of who wrote it. | ||
123 | |||
124 | Thus, it is not the intent of this section to claim rights or contest | ||
125 | your rights to work written entirely by you; rather, the intent is to | ||
126 | exercise the right to control the distribution of derivative or | ||
127 | collective works based on the Program. | ||
128 | |||
129 | In addition, mere aggregation of another work not based on the Program | ||
130 | with the Program (or with a work based on the Program) on a volume of | ||
131 | a storage or distribution medium does not bring the other work under | ||
132 | the scope of this License. | ||
133 | |||
134 | 3. You may copy and distribute the Program (or a work based on it, | ||
135 | under Section 2) in object code or executable form under the terms of | ||
136 | Sections 1 and 2 above provided that you also do one of the following: | ||
137 | |||
138 | a) Accompany it with the complete corresponding machine-readable | ||
139 | source code, which must be distributed under the terms of Sections | ||
140 | 1 and 2 above on a medium customarily used for software interchange; or, | ||
141 | |||
142 | b) Accompany it with a written offer, valid for at least three | ||
143 | years, to give any third party, for a charge no more than your | ||
144 | cost of physically performing source distribution, a complete | ||
145 | machine-readable copy of the corresponding source code, to be | ||
146 | distributed under the terms of Sections 1 and 2 above on a medium | ||
147 | customarily used for software interchange; or, | ||
148 | |||
149 | c) Accompany it with the information you received as to the offer | ||
150 | to distribute corresponding source code. (This alternative is | ||
151 | allowed only for noncommercial distribution and only if you | ||
152 | received the program in object code or executable form with such | ||
153 | an offer, in accord with Subsection b above.) | ||
154 | |||
155 | The source code for a work means the preferred form of the work for | ||
156 | making modifications to it. For an executable work, complete source | ||
157 | code means all the source code for all modules it contains, plus any | ||
158 | associated interface definition files, plus the scripts used to | ||
159 | control compilation and installation of the executable. However, as a | ||
160 | special exception, the source code distributed need not include | ||
161 | anything that is normally distributed (in either source or binary | ||
162 | form) with the major components (compiler, kernel, and so on) of the | ||
163 | operating system on which the executable runs, unless that component | ||
164 | itself accompanies the executable. | ||
165 | |||
166 | If distribution of executable or object code is made by offering | ||
167 | access to copy from a designated place, then offering equivalent | ||
168 | access to copy the source code from the same place counts as | ||
169 | distribution of the source code, even though third parties are not | ||
170 | compelled to copy the source along with the object code. | ||
171 | |||
172 | 4. You may not copy, modify, sublicense, or distribute the Program | ||
173 | except as expressly provided under this License. Any attempt | ||
174 | otherwise to copy, modify, sublicense or distribute the Program is | ||
175 | void, and will automatically terminate your rights under this License. | ||
176 | However, parties who have received copies, or rights, from you under | ||
177 | this License will not have their licenses terminated so long as such | ||
178 | parties remain in full compliance. | ||
179 | |||
180 | 5. You are not required to accept this License, since you have not | ||
181 | signed it. However, nothing else grants you permission to modify or | ||
182 | distribute the Program or its derivative works. These actions are | ||
183 | prohibited by law if you do not accept this License. Therefore, by | ||
184 | modifying or distributing the Program (or any work based on the | ||
185 | Program), you indicate your acceptance of this License to do so, and | ||
186 | all its terms and conditions for copying, distributing or modifying | ||
187 | the Program or works based on it. | ||
188 | |||
189 | 6. Each time you redistribute the Program (or any work based on the | ||
190 | Program), the recipient automatically receives a license from the | ||
191 | original licensor to copy, distribute or modify the Program subject to | ||
192 | these terms and conditions. You may not impose any further | ||
193 | restrictions on the recipients' exercise of the rights granted herein. | ||
194 | You are not responsible for enforcing compliance by third parties to | ||
195 | this License. | ||
196 | |||
197 | 7. If, as a consequence of a court judgment or allegation of patent | ||
198 | infringement or for any other reason (not limited to patent issues), | ||
199 | conditions are imposed on you (whether by court order, agreement or | ||
200 | otherwise) that contradict the conditions of this License, they do not | ||
201 | excuse you from the conditions of this License. If you cannot | ||
202 | distribute so as to satisfy simultaneously your obligations under this | ||
203 | License and any other pertinent obligations, then as a consequence you | ||
204 | may not distribute the Program at all. For example, if a patent | ||
205 | license would not permit royalty-free redistribution of the Program by | ||
206 | all those who receive copies directly or indirectly through you, then | ||
207 | the only way you could satisfy both it and this License would be to | ||
208 | refrain entirely from distribution of the Program. | ||
209 | |||
210 | If any portion of this section is held invalid or unenforceable under | ||
211 | any particular circumstance, the balance of the section is intended to | ||
212 | apply and the section as a whole is intended to apply in other | ||
213 | circumstances. | ||
214 | |||
215 | It is not the purpose of this section to induce you to infringe any | ||
216 | patents or other property right claims or to contest validity of any | ||
217 | such claims; this section has the sole purpose of protecting the | ||
218 | integrity of the free software distribution system, which is | ||
219 | implemented by public license practices. Many people have made | ||
220 | generous contributions to the wide range of software distributed | ||
221 | through that system in reliance on consistent application of that | ||
222 | system; it is up to the author/donor to decide if he or she is willing | ||
223 | to distribute software through any other system and a licensee cannot | ||
224 | impose that choice. | ||
225 | |||
226 | This section is intended to make thoroughly clear what is believed to | ||
227 | be a consequence of the rest of this License. | ||
228 | |||
229 | 8. If the distribution and/or use of the Program is restricted in | ||
230 | certain countries either by patents or by copyrighted interfaces, the | ||
231 | original copyright holder who places the Program under this License | ||
232 | may add an explicit geographical distribution limitation excluding | ||
233 | those countries, so that distribution is permitted only in or among | ||
234 | countries not thus excluded. In such case, this License incorporates | ||
235 | the limitation as if written in the body of this License. | ||
236 | |||
237 | 9. The Free Software Foundation may publish revised and/or new versions | ||
238 | of the General Public License from time to time. Such new versions will | ||
239 | be similar in spirit to the present version, but may differ in detail to | ||
240 | address new problems or concerns. | ||
241 | |||
242 | Each version is given a distinguishing version number. If the Program | ||
243 | specifies a version number of this License which applies to it and "any | ||
244 | later version", you have the option of following the terms and conditions | ||
245 | either of that version or of any later version published by the Free | ||
246 | Software Foundation. If the Program does not specify a version number of | ||
247 | this License, you may choose any version ever published by the Free Software | ||
248 | Foundation. | ||
249 | |||
250 | 10. If you wish to incorporate parts of the Program into other free | ||
251 | programs whose distribution conditions are different, write to the author | ||
252 | to ask for permission. For software which is copyrighted by the Free | ||
253 | Software Foundation, write to the Free Software Foundation; we sometimes | ||
254 | make exceptions for this. Our decision will be guided by the two goals | ||
255 | of preserving the free status of all derivatives of our free software and | ||
256 | of promoting the sharing and reuse of software generally. | ||
257 | |||
258 | NO WARRANTY | ||
259 | |||
260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
268 | REPAIR OR CORRECTION. | ||
269 | |||
270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
278 | POSSIBILITY OF SUCH DAMAGES. | ||
279 | |||
280 | END OF TERMS AND CONDITIONS | ||
281 | |||
282 | How to Apply These Terms to Your New Programs | ||
283 | |||
284 | If you develop a new program, and you want it to be of the greatest | ||
285 | possible use to the public, the best way to achieve this is to make it | ||
286 | free software which everyone can redistribute and change under these terms. | ||
287 | |||
288 | To do so, attach the following notices to the program. It is safest | ||
289 | to attach them to the start of each source file to most effectively | ||
290 | convey the exclusion of warranty; and each file should have at least | ||
291 | the "copyright" line and a pointer to where the full notice is found. | ||
292 | |||
293 | <one line to give the program's name and a brief idea of what it does.> | ||
294 | Copyright (C) <year> <name of author> | ||
295 | |||
296 | This program is free software; you can redistribute it and/or modify | ||
297 | it under the terms of the GNU General Public License as published by | ||
298 | the Free Software Foundation; either version 2 of the License, or | ||
299 | (at your option) any later version. | ||
300 | |||
301 | This program is distributed in the hope that it will be useful, | ||
302 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
304 | GNU General Public License for more details. | ||
305 | |||
306 | You should have received a copy of the GNU General Public License | ||
307 | along with this program; if not, write to the Free Software | ||
308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
309 | |||
310 | |||
311 | Also add information on how to contact you by electronic and paper mail. | ||
312 | |||
313 | If the program is interactive, make it output a short notice like this | ||
314 | when it starts in an interactive mode: | ||
315 | |||
316 | Gnomovision version 69, Copyright (C) year name of author | ||
317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||
318 | This is free software, and you are welcome to redistribute it | ||
319 | under certain conditions; type `show c' for details. | ||
320 | |||
321 | The hypothetical commands `show w' and `show c' should show the appropriate | ||
322 | parts of the General Public License. Of course, the commands you use may | ||
323 | be called something other than `show w' and `show c'; they could even be | ||
324 | mouse-clicks or menu items--whatever suits your program. | ||
325 | |||
326 | You should also get your employer (if you work as a programmer) or your | ||
327 | school, if any, to sign a "copyright disclaimer" for the program, if | ||
328 | necessary. Here is a sample; alter the names: | ||
329 | |||
330 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||
331 | `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||
332 | |||
333 | <signature of Ty Coon>, 1 April 1989 | ||
334 | Ty Coon, President of Vice | ||
335 | |||
336 | This General Public License does not permit incorporating your program into | ||
337 | proprietary programs. If your program is a subroutine library, you may | ||
338 | consider it more useful to permit linking proprietary applications with the | ||
339 | library. If this is what you want to do, use the GNU Library General | ||
340 | Public License instead of this License. | ||
diff --git a/lib/rbcodec/codecs/libmad/COPYRIGHT b/lib/rbcodec/codecs/libmad/COPYRIGHT new file mode 100644 index 0000000000..ed91d2bac1 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/COPYRIGHT | |||
@@ -0,0 +1,21 @@ | |||
1 | |||
2 | libmad - MPEG audio decoder library | ||
3 | Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | |||
5 | This program is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published by | ||
7 | the Free Software Foundation; either version 2 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with this program; if not, write to the Free Software | ||
17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | |||
19 | If you would like to negotiate alternate licensing terms, you may do | ||
20 | so by contacting: Underbit Technologies, Inc. <info@underbit.com> | ||
21 | |||
diff --git a/lib/rbcodec/codecs/libmad/CREDITS b/lib/rbcodec/codecs/libmad/CREDITS new file mode 100644 index 0000000000..69016c201d --- /dev/null +++ b/lib/rbcodec/codecs/libmad/CREDITS | |||
@@ -0,0 +1,116 @@ | |||
1 | |||
2 | libmad - MPEG audio decoder library | ||
3 | Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | |||
5 | $Id$ | ||
6 | |||
7 | =============================================================================== | ||
8 | |||
9 | AUTHOR | ||
10 | |||
11 | Except where otherwise noted, all code was authored by: | ||
12 | |||
13 | Robert Leslie <rob@underbit.com> | ||
14 | |||
15 | CONTRIBUTORS | ||
16 | |||
17 | Significant contributions have been incorporated with thanks to: | ||
18 | |||
19 | Anonymous | ||
20 | 2002/03/15: frame.c | ||
21 | - Reported problem with use of reserved emphasis value. | ||
22 | 2003/08/31: layer12.c | ||
23 | - Suggested support for certain disallowed bitrate/mode | ||
24 | combinations. | ||
25 | |||
26 | Niek Albers <info@daansystems.com> | ||
27 | 2003/04/21: layer3.c | ||
28 | - Reported runtime uninitialized use of `ptr' in designating | ||
29 | ancillary bits after a decoding error. | ||
30 | |||
31 | Christian Biere <cbiere@users.sourceforge.net> | ||
32 | 2003/02/01: frame.c | ||
33 | - Reported assertion failure in layer3.c due to an | ||
34 | invalid/unsupported Layer III free format bitrate. | ||
35 | |||
36 | David Blythe <blythe@routefree.com> | ||
37 | 2001/01/30: fixed.h | ||
38 | - Provided initial PowerPC fixed-point assembly. | ||
39 | |||
40 | Simon Burge <simonb@wasabisystems.com> | ||
41 | 2000/09/20: imdct_l_arm.S | ||
42 | - Suggested patch for a.out compatibility. | ||
43 | |||
44 | Brian Cameron <Brian.Cameron@sun.com> | ||
45 | 2003/07/02: huffman.c | ||
46 | - Suggested changes for improved portability. | ||
47 | |||
48 | Joshua Haberman <joshua@haberman.com> | ||
49 | 2001/08/10: decoder.c, huffman.c | ||
50 | - Suggested portability fixes. | ||
51 | |||
52 | Timothy King <lordzork@lordzork.com> | ||
53 | 2002/05/04: sf_table.dat, layer12.c | ||
54 | - Reported problem with use of (missing) scalefactor index 63. | ||
55 | |||
56 | Felix von Leitner <felix-mad@fefe.de> | ||
57 | 2003/01/21: fixed.h | ||
58 | - Suggested Intel scaling alternative for possible speedup. | ||
59 | |||
60 | Andre McCurdy <armccurdy@yahoo.co.uk> | ||
61 | 2000/08/10: imdct_l_arm.S | ||
62 | - ARM optimized assembly replacement for III_imdct_l(). | ||
63 | 2000/09/15: imdct_l_arm.S | ||
64 | - Applied Nicolas Pitre's rounding optimisation in all remaining | ||
65 | places. | ||
66 | 2001/02/10: layer3.c | ||
67 | - Inspiration for Huffman decoding and requantization rewrite, and | ||
68 | other miscellany. | ||
69 | 2001/03/24: imdct_l_arm.S | ||
70 | - Corrected PIC unsafe code. | ||
71 | 2002/02/16: fixed.h | ||
72 | - Discovered bug in ARM version of mad_f_scale64(). | ||
73 | |||
74 | Haruhiko OGASAWARA <theta@m1.interq.or.jp> | ||
75 | 2001/01/28: layer3.c | ||
76 | - Reported discrepancy in alias reduction for mixed short blocks. | ||
77 | |||
78 | Brett Paterson <brett@fmod.org> | ||
79 | 2001/10/28: global.h | ||
80 | - Reported missing <assert.h> et al. under MS Embedded Visual C. | ||
81 | |||
82 | Sean 'Shaleh' Perry <shaleh@via.net> | ||
83 | 2000/04/04: fixed.h | ||
84 | - Suggested use of size-dependent typedefs. | ||
85 | 2001/10/22: config.guess, config.sub | ||
86 | - Keep up to date for proper Debian packaging. | ||
87 | |||
88 | Bertrand Petit <eemad@phoe.frmug.org> | ||
89 | 2001/11/05: synth.h | ||
90 | - Suggested PCM channel enumeration constants. | ||
91 | 2001/11/05: stream.h | ||
92 | - Suggested MAD_ERROR_NONE enumeration constant. | ||
93 | 2001/11/05: stream.c | ||
94 | - Suggested mad_stream_errorstr() function. | ||
95 | |||
96 | Nicolas Pitre <nico@cam.org> | ||
97 | 2000/09/09: fixed.h | ||
98 | - Parameterized all scaling for correct use of all multiplication | ||
99 | methods within mad_synth_frame(). | ||
100 | - Rewrote the FPM_ARM version of mad_f_mul() so we have 64-bit | ||
101 | multiplication result, rounding and scaling with 3 instructions. | ||
102 | 2000/09/09: imdct_l_arm.S | ||
103 | - Optimized rounding + scaling operations. | ||
104 | 2000/09/17: synth.c | ||
105 | - Changed D[] run-time shifts to compile-time. | ||
106 | - Modified synthesis for better multiply/accumulate code output. | ||
107 | 2001/08/11: fixed.h, synth.c | ||
108 | - Suggested 64-bit FPM negation and negative term factorization | ||
109 | during synthesis. | ||
110 | 2001/08/11: fixed.h | ||
111 | - Suggested unrounded behavior for FPM_DEFAULT when OPT_SPEED. | ||
112 | 2001/11/19: fixed.c | ||
113 | - Suggested computation of any resampling ratio. | ||
114 | |||
115 | =============================================================================== | ||
116 | |||
diff --git a/lib/rbcodec/codecs/libmad/D.dat b/lib/rbcodec/codecs/libmad/D.dat new file mode 100644 index 0000000000..2bff1a8890 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/D.dat | |||
@@ -0,0 +1,607 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | /* | ||
23 | * These are the coefficients for the subband synthesis window. This is a | ||
24 | * reordered version of Table B.3 from ISO/IEC 11172-3. | ||
25 | * | ||
26 | * Every value is parameterized so that shift optimizations can be made at | ||
27 | * compile-time. For example, every value can be right-shifted 12 bits to | ||
28 | * minimize multiply instruction times without any loss of accuracy. | ||
29 | */ | ||
30 | |||
31 | { PRESHIFT(0x00000000) /* 0.000000000 */, /* 0 */ | ||
32 | -PRESHIFT(0x0001d000) /* -0.000442505 */, | ||
33 | PRESHIFT(0x000d5000) /* 0.003250122 */, | ||
34 | -PRESHIFT(0x001cb000) /* -0.007003784 */, | ||
35 | PRESHIFT(0x007f5000) /* 0.031082153 */, | ||
36 | -PRESHIFT(0x01421000) /* -0.078628540 */, | ||
37 | PRESHIFT(0x019ae000) /* 0.100311279 */, | ||
38 | -PRESHIFT(0x09271000) /* -0.572036743 */, | ||
39 | PRESHIFT(0x1251e000) /* 1.144989014 */, | ||
40 | PRESHIFT(0x09271000) /* 0.572036743 */, | ||
41 | PRESHIFT(0x019ae000) /* 0.100311279 */, | ||
42 | PRESHIFT(0x01421000) /* 0.078628540 */, | ||
43 | PRESHIFT(0x007f5000) /* 0.031082153 */, | ||
44 | PRESHIFT(0x001cb000) /* 0.007003784 */, | ||
45 | PRESHIFT(0x000d5000) /* 0.003250122 */, | ||
46 | PRESHIFT(0x0001d000) /* 0.000442505 */, | ||
47 | |||
48 | PRESHIFT(0x00000000) /* 0.000000000 */, | ||
49 | -PRESHIFT(0x0001d000) /* -0.000442505 */, | ||
50 | PRESHIFT(0x000d5000) /* 0.003250122 */, | ||
51 | -PRESHIFT(0x001cb000) /* -0.007003784 */, | ||
52 | PRESHIFT(0x007f5000) /* 0.031082153 */, | ||
53 | -PRESHIFT(0x01421000) /* -0.078628540 */, | ||
54 | PRESHIFT(0x019ae000) /* 0.100311279 */, | ||
55 | -PRESHIFT(0x09271000) /* -0.572036743 */, | ||
56 | PRESHIFT(0x1251e000) /* 1.144989014 */, | ||
57 | PRESHIFT(0x09271000) /* 0.572036743 */, | ||
58 | PRESHIFT(0x019ae000) /* 0.100311279 */, | ||
59 | PRESHIFT(0x01421000) /* 0.078628540 */, | ||
60 | PRESHIFT(0x007f5000) /* 0.031082153 */, | ||
61 | PRESHIFT(0x001cb000) /* 0.007003784 */, | ||
62 | PRESHIFT(0x000d5000) /* 0.003250122 */, | ||
63 | PRESHIFT(0x0001d000) /* 0.000442505 */ }, | ||
64 | |||
65 | { -PRESHIFT(0x00001000) /* -0.000015259 */, /* 1 */ | ||
66 | -PRESHIFT(0x0001f000) /* -0.000473022 */, | ||
67 | PRESHIFT(0x000da000) /* 0.003326416 */, | ||
68 | -PRESHIFT(0x00207000) /* -0.007919312 */, | ||
69 | PRESHIFT(0x007d0000) /* 0.030517578 */, | ||
70 | -PRESHIFT(0x0158d000) /* -0.084182739 */, | ||
71 | PRESHIFT(0x01747000) /* 0.090927124 */, | ||
72 | -PRESHIFT(0x099a8000) /* -0.600219727 */, | ||
73 | PRESHIFT(0x124f0000) /* 1.144287109 */, | ||
74 | PRESHIFT(0x08b38000) /* 0.543823242 */, | ||
75 | PRESHIFT(0x01bde000) /* 0.108856201 */, | ||
76 | PRESHIFT(0x012b4000) /* 0.073059082 */, | ||
77 | PRESHIFT(0x0080f000) /* 0.031478882 */, | ||
78 | PRESHIFT(0x00191000) /* 0.006118774 */, | ||
79 | PRESHIFT(0x000d0000) /* 0.003173828 */, | ||
80 | PRESHIFT(0x0001a000) /* 0.000396729 */, | ||
81 | |||
82 | -PRESHIFT(0x00001000) /* -0.000015259 */, | ||
83 | -PRESHIFT(0x0001f000) /* -0.000473022 */, | ||
84 | PRESHIFT(0x000da000) /* 0.003326416 */, | ||
85 | -PRESHIFT(0x00207000) /* -0.007919312 */, | ||
86 | PRESHIFT(0x007d0000) /* 0.030517578 */, | ||
87 | -PRESHIFT(0x0158d000) /* -0.084182739 */, | ||
88 | PRESHIFT(0x01747000) /* 0.090927124 */, | ||
89 | -PRESHIFT(0x099a8000) /* -0.600219727 */, | ||
90 | PRESHIFT(0x124f0000) /* 1.144287109 */, | ||
91 | PRESHIFT(0x08b38000) /* 0.543823242 */, | ||
92 | PRESHIFT(0x01bde000) /* 0.108856201 */, | ||
93 | PRESHIFT(0x012b4000) /* 0.073059082 */, | ||
94 | PRESHIFT(0x0080f000) /* 0.031478882 */, | ||
95 | PRESHIFT(0x00191000) /* 0.006118774 */, | ||
96 | PRESHIFT(0x000d0000) /* 0.003173828 */, | ||
97 | PRESHIFT(0x0001a000) /* 0.000396729 */ }, | ||
98 | |||
99 | { -PRESHIFT(0x00001000) /* -0.000015259 */, /* 2 */ | ||
100 | -PRESHIFT(0x00023000) /* -0.000534058 */, | ||
101 | PRESHIFT(0x000de000) /* 0.003387451 */, | ||
102 | -PRESHIFT(0x00245000) /* -0.008865356 */, | ||
103 | PRESHIFT(0x007a0000) /* 0.029785156 */, | ||
104 | -PRESHIFT(0x016f7000) /* -0.089706421 */, | ||
105 | PRESHIFT(0x014a8000) /* 0.080688477 */, | ||
106 | -PRESHIFT(0x0a0d8000) /* -0.628295898 */, | ||
107 | PRESHIFT(0x12468000) /* 1.142211914 */, | ||
108 | PRESHIFT(0x083ff000) /* 0.515609741 */, | ||
109 | PRESHIFT(0x01dd8000) /* 0.116577148 */, | ||
110 | PRESHIFT(0x01149000) /* 0.067520142 */, | ||
111 | PRESHIFT(0x00820000) /* 0.031738281 */, | ||
112 | PRESHIFT(0x0015b000) /* 0.005294800 */, | ||
113 | PRESHIFT(0x000ca000) /* 0.003082275 */, | ||
114 | PRESHIFT(0x00018000) /* 0.000366211 */, | ||
115 | |||
116 | -PRESHIFT(0x00001000) /* -0.000015259 */, | ||
117 | -PRESHIFT(0x00023000) /* -0.000534058 */, | ||
118 | PRESHIFT(0x000de000) /* 0.003387451 */, | ||
119 | -PRESHIFT(0x00245000) /* -0.008865356 */, | ||
120 | PRESHIFT(0x007a0000) /* 0.029785156 */, | ||
121 | -PRESHIFT(0x016f7000) /* -0.089706421 */, | ||
122 | PRESHIFT(0x014a8000) /* 0.080688477 */, | ||
123 | -PRESHIFT(0x0a0d8000) /* -0.628295898 */, | ||
124 | PRESHIFT(0x12468000) /* 1.142211914 */, | ||
125 | PRESHIFT(0x083ff000) /* 0.515609741 */, | ||
126 | PRESHIFT(0x01dd8000) /* 0.116577148 */, | ||
127 | PRESHIFT(0x01149000) /* 0.067520142 */, | ||
128 | PRESHIFT(0x00820000) /* 0.031738281 */, | ||
129 | PRESHIFT(0x0015b000) /* 0.005294800 */, | ||
130 | PRESHIFT(0x000ca000) /* 0.003082275 */, | ||
131 | PRESHIFT(0x00018000) /* 0.000366211 */ }, | ||
132 | |||
133 | { -PRESHIFT(0x00001000) /* -0.000015259 */, /* 3 */ | ||
134 | -PRESHIFT(0x00026000) /* -0.000579834 */, | ||
135 | PRESHIFT(0x000e1000) /* 0.003433228 */, | ||
136 | -PRESHIFT(0x00285000) /* -0.009841919 */, | ||
137 | PRESHIFT(0x00765000) /* 0.028884888 */, | ||
138 | -PRESHIFT(0x0185d000) /* -0.095169067 */, | ||
139 | PRESHIFT(0x011d1000) /* 0.069595337 */, | ||
140 | -PRESHIFT(0x0a7fe000) /* -0.656219482 */, | ||
141 | PRESHIFT(0x12386000) /* 1.138763428 */, | ||
142 | PRESHIFT(0x07ccb000) /* 0.487472534 */, | ||
143 | PRESHIFT(0x01f9c000) /* 0.123474121 */, | ||
144 | PRESHIFT(0x00fdf000) /* 0.061996460 */, | ||
145 | PRESHIFT(0x00827000) /* 0.031845093 */, | ||
146 | PRESHIFT(0x00126000) /* 0.004486084 */, | ||
147 | PRESHIFT(0x000c4000) /* 0.002990723 */, | ||
148 | PRESHIFT(0x00015000) /* 0.000320435 */, | ||
149 | |||
150 | -PRESHIFT(0x00001000) /* -0.000015259 */, | ||
151 | -PRESHIFT(0x00026000) /* -0.000579834 */, | ||
152 | PRESHIFT(0x000e1000) /* 0.003433228 */, | ||
153 | -PRESHIFT(0x00285000) /* -0.009841919 */, | ||
154 | PRESHIFT(0x00765000) /* 0.028884888 */, | ||
155 | -PRESHIFT(0x0185d000) /* -0.095169067 */, | ||
156 | PRESHIFT(0x011d1000) /* 0.069595337 */, | ||
157 | -PRESHIFT(0x0a7fe000) /* -0.656219482 */, | ||
158 | PRESHIFT(0x12386000) /* 1.138763428 */, | ||
159 | PRESHIFT(0x07ccb000) /* 0.487472534 */, | ||
160 | PRESHIFT(0x01f9c000) /* 0.123474121 */, | ||
161 | PRESHIFT(0x00fdf000) /* 0.061996460 */, | ||
162 | PRESHIFT(0x00827000) /* 0.031845093 */, | ||
163 | PRESHIFT(0x00126000) /* 0.004486084 */, | ||
164 | PRESHIFT(0x000c4000) /* 0.002990723 */, | ||
165 | PRESHIFT(0x00015000) /* 0.000320435 */ }, | ||
166 | |||
167 | { -PRESHIFT(0x00001000) /* -0.000015259 */, /* 4 */ | ||
168 | -PRESHIFT(0x00029000) /* -0.000625610 */, | ||
169 | PRESHIFT(0x000e3000) /* 0.003463745 */, | ||
170 | -PRESHIFT(0x002c7000) /* -0.010848999 */, | ||
171 | PRESHIFT(0x0071e000) /* 0.027801514 */, | ||
172 | -PRESHIFT(0x019bd000) /* -0.100540161 */, | ||
173 | PRESHIFT(0x00ec0000) /* 0.057617187 */, | ||
174 | -PRESHIFT(0x0af15000) /* -0.683914185 */, | ||
175 | PRESHIFT(0x12249000) /* 1.133926392 */, | ||
176 | PRESHIFT(0x075a0000) /* 0.459472656 */, | ||
177 | PRESHIFT(0x0212c000) /* 0.129577637 */, | ||
178 | PRESHIFT(0x00e79000) /* 0.056533813 */, | ||
179 | PRESHIFT(0x00825000) /* 0.031814575 */, | ||
180 | PRESHIFT(0x000f4000) /* 0.003723145 */, | ||
181 | PRESHIFT(0x000be000) /* 0.002899170 */, | ||
182 | PRESHIFT(0x00013000) /* 0.000289917 */, | ||
183 | |||
184 | -PRESHIFT(0x00001000) /* -0.000015259 */, | ||
185 | -PRESHIFT(0x00029000) /* -0.000625610 */, | ||
186 | PRESHIFT(0x000e3000) /* 0.003463745 */, | ||
187 | -PRESHIFT(0x002c7000) /* -0.010848999 */, | ||
188 | PRESHIFT(0x0071e000) /* 0.027801514 */, | ||
189 | -PRESHIFT(0x019bd000) /* -0.100540161 */, | ||
190 | PRESHIFT(0x00ec0000) /* 0.057617187 */, | ||
191 | -PRESHIFT(0x0af15000) /* -0.683914185 */, | ||
192 | PRESHIFT(0x12249000) /* 1.133926392 */, | ||
193 | PRESHIFT(0x075a0000) /* 0.459472656 */, | ||
194 | PRESHIFT(0x0212c000) /* 0.129577637 */, | ||
195 | PRESHIFT(0x00e79000) /* 0.056533813 */, | ||
196 | PRESHIFT(0x00825000) /* 0.031814575 */, | ||
197 | PRESHIFT(0x000f4000) /* 0.003723145 */, | ||
198 | PRESHIFT(0x000be000) /* 0.002899170 */, | ||
199 | PRESHIFT(0x00013000) /* 0.000289917 */ }, | ||
200 | |||
201 | { -PRESHIFT(0x00001000) /* -0.000015259 */, /* 5 */ | ||
202 | -PRESHIFT(0x0002d000) /* -0.000686646 */, | ||
203 | PRESHIFT(0x000e4000) /* 0.003479004 */, | ||
204 | -PRESHIFT(0x0030b000) /* -0.011886597 */, | ||
205 | PRESHIFT(0x006cb000) /* 0.026535034 */, | ||
206 | -PRESHIFT(0x01b17000) /* -0.105819702 */, | ||
207 | PRESHIFT(0x00b77000) /* 0.044784546 */, | ||
208 | -PRESHIFT(0x0b619000) /* -0.711318970 */, | ||
209 | PRESHIFT(0x120b4000) /* 1.127746582 */, | ||
210 | PRESHIFT(0x06e81000) /* 0.431655884 */, | ||
211 | PRESHIFT(0x02288000) /* 0.134887695 */, | ||
212 | PRESHIFT(0x00d17000) /* 0.051132202 */, | ||
213 | PRESHIFT(0x0081b000) /* 0.031661987 */, | ||
214 | PRESHIFT(0x000c5000) /* 0.003005981 */, | ||
215 | PRESHIFT(0x000b7000) /* 0.002792358 */, | ||
216 | PRESHIFT(0x00011000) /* 0.000259399 */, | ||
217 | |||
218 | -PRESHIFT(0x00001000) /* -0.000015259 */, | ||
219 | -PRESHIFT(0x0002d000) /* -0.000686646 */, | ||
220 | PRESHIFT(0x000e4000) /* 0.003479004 */, | ||
221 | -PRESHIFT(0x0030b000) /* -0.011886597 */, | ||
222 | PRESHIFT(0x006cb000) /* 0.026535034 */, | ||
223 | -PRESHIFT(0x01b17000) /* -0.105819702 */, | ||
224 | PRESHIFT(0x00b77000) /* 0.044784546 */, | ||
225 | -PRESHIFT(0x0b619000) /* -0.711318970 */, | ||
226 | PRESHIFT(0x120b4000) /* 1.127746582 */, | ||
227 | PRESHIFT(0x06e81000) /* 0.431655884 */, | ||
228 | PRESHIFT(0x02288000) /* 0.134887695 */, | ||
229 | PRESHIFT(0x00d17000) /* 0.051132202 */, | ||
230 | PRESHIFT(0x0081b000) /* 0.031661987 */, | ||
231 | PRESHIFT(0x000c5000) /* 0.003005981 */, | ||
232 | PRESHIFT(0x000b7000) /* 0.002792358 */, | ||
233 | PRESHIFT(0x00011000) /* 0.000259399 */ }, | ||
234 | |||
235 | { -PRESHIFT(0x00001000) /* -0.000015259 */, /* 6 */ | ||
236 | -PRESHIFT(0x00031000) /* -0.000747681 */, | ||
237 | PRESHIFT(0x000e4000) /* 0.003479004 */, | ||
238 | -PRESHIFT(0x00350000) /* -0.012939453 */, | ||
239 | PRESHIFT(0x0066c000) /* 0.025085449 */, | ||
240 | -PRESHIFT(0x01c67000) /* -0.110946655 */, | ||
241 | PRESHIFT(0x007f5000) /* 0.031082153 */, | ||
242 | -PRESHIFT(0x0bd06000) /* -0.738372803 */, | ||
243 | PRESHIFT(0x11ec7000) /* 1.120223999 */, | ||
244 | PRESHIFT(0x06772000) /* 0.404083252 */, | ||
245 | PRESHIFT(0x023b3000) /* 0.139450073 */, | ||
246 | PRESHIFT(0x00bbc000) /* 0.045837402 */, | ||
247 | PRESHIFT(0x00809000) /* 0.031387329 */, | ||
248 | PRESHIFT(0x00099000) /* 0.002334595 */, | ||
249 | PRESHIFT(0x000b0000) /* 0.002685547 */, | ||
250 | PRESHIFT(0x00010000) /* 0.000244141 */, | ||
251 | |||
252 | -PRESHIFT(0x00001000) /* -0.000015259 */, | ||
253 | -PRESHIFT(0x00031000) /* -0.000747681 */, | ||
254 | PRESHIFT(0x000e4000) /* 0.003479004 */, | ||
255 | -PRESHIFT(0x00350000) /* -0.012939453 */, | ||
256 | PRESHIFT(0x0066c000) /* 0.025085449 */, | ||
257 | -PRESHIFT(0x01c67000) /* -0.110946655 */, | ||
258 | PRESHIFT(0x007f5000) /* 0.031082153 */, | ||
259 | -PRESHIFT(0x0bd06000) /* -0.738372803 */, | ||
260 | PRESHIFT(0x11ec7000) /* 1.120223999 */, | ||
261 | PRESHIFT(0x06772000) /* 0.404083252 */, | ||
262 | PRESHIFT(0x023b3000) /* 0.139450073 */, | ||
263 | PRESHIFT(0x00bbc000) /* 0.045837402 */, | ||
264 | PRESHIFT(0x00809000) /* 0.031387329 */, | ||
265 | PRESHIFT(0x00099000) /* 0.002334595 */, | ||
266 | PRESHIFT(0x000b0000) /* 0.002685547 */, | ||
267 | PRESHIFT(0x00010000) /* 0.000244141 */ }, | ||
268 | |||
269 | { -PRESHIFT(0x00002000) /* -0.000030518 */, /* 7 */ | ||
270 | -PRESHIFT(0x00035000) /* -0.000808716 */, | ||
271 | PRESHIFT(0x000e3000) /* 0.003463745 */, | ||
272 | -PRESHIFT(0x00397000) /* -0.014022827 */, | ||
273 | PRESHIFT(0x005ff000) /* 0.023422241 */, | ||
274 | -PRESHIFT(0x01dad000) /* -0.115921021 */, | ||
275 | PRESHIFT(0x0043a000) /* 0.016510010 */, | ||
276 | -PRESHIFT(0x0c3d9000) /* -0.765029907 */, | ||
277 | PRESHIFT(0x11c83000) /* 1.111373901 */, | ||
278 | PRESHIFT(0x06076000) /* 0.376800537 */, | ||
279 | PRESHIFT(0x024ad000) /* 0.143264771 */, | ||
280 | PRESHIFT(0x00a67000) /* 0.040634155 */, | ||
281 | PRESHIFT(0x007f0000) /* 0.031005859 */, | ||
282 | PRESHIFT(0x0006f000) /* 0.001693726 */, | ||
283 | PRESHIFT(0x000a9000) /* 0.002578735 */, | ||
284 | PRESHIFT(0x0000e000) /* 0.000213623 */, | ||
285 | |||
286 | -PRESHIFT(0x00002000) /* -0.000030518 */, | ||
287 | -PRESHIFT(0x00035000) /* -0.000808716 */, | ||
288 | PRESHIFT(0x000e3000) /* 0.003463745 */, | ||
289 | -PRESHIFT(0x00397000) /* -0.014022827 */, | ||
290 | PRESHIFT(0x005ff000) /* 0.023422241 */, | ||
291 | -PRESHIFT(0x01dad000) /* -0.115921021 */, | ||
292 | PRESHIFT(0x0043a000) /* 0.016510010 */, | ||
293 | -PRESHIFT(0x0c3d9000) /* -0.765029907 */, | ||
294 | PRESHIFT(0x11c83000) /* 1.111373901 */, | ||
295 | PRESHIFT(0x06076000) /* 0.376800537 */, | ||
296 | PRESHIFT(0x024ad000) /* 0.143264771 */, | ||
297 | PRESHIFT(0x00a67000) /* 0.040634155 */, | ||
298 | PRESHIFT(0x007f0000) /* 0.031005859 */, | ||
299 | PRESHIFT(0x0006f000) /* 0.001693726 */, | ||
300 | PRESHIFT(0x000a9000) /* 0.002578735 */, | ||
301 | PRESHIFT(0x0000e000) /* 0.000213623 */ }, | ||
302 | |||
303 | { -PRESHIFT(0x00002000) /* -0.000030518 */, /* 8 */ | ||
304 | -PRESHIFT(0x0003a000) /* -0.000885010 */, | ||
305 | PRESHIFT(0x000e0000) /* 0.003417969 */, | ||
306 | -PRESHIFT(0x003df000) /* -0.015121460 */, | ||
307 | PRESHIFT(0x00586000) /* 0.021575928 */, | ||
308 | -PRESHIFT(0x01ee6000) /* -0.120697021 */, | ||
309 | PRESHIFT(0x00046000) /* 0.001068115 */, | ||
310 | -PRESHIFT(0x0ca8d000) /* -0.791213989 */, | ||
311 | PRESHIFT(0x119e9000) /* 1.101211548 */, | ||
312 | PRESHIFT(0x05991000) /* 0.349868774 */, | ||
313 | PRESHIFT(0x02578000) /* 0.146362305 */, | ||
314 | PRESHIFT(0x0091a000) /* 0.035552979 */, | ||
315 | PRESHIFT(0x007d1000) /* 0.030532837 */, | ||
316 | PRESHIFT(0x00048000) /* 0.001098633 */, | ||
317 | PRESHIFT(0x000a1000) /* 0.002456665 */, | ||
318 | PRESHIFT(0x0000d000) /* 0.000198364 */, | ||
319 | |||
320 | -PRESHIFT(0x00002000) /* -0.000030518 */, | ||
321 | -PRESHIFT(0x0003a000) /* -0.000885010 */, | ||
322 | PRESHIFT(0x000e0000) /* 0.003417969 */, | ||
323 | -PRESHIFT(0x003df000) /* -0.015121460 */, | ||
324 | PRESHIFT(0x00586000) /* 0.021575928 */, | ||
325 | -PRESHIFT(0x01ee6000) /* -0.120697021 */, | ||
326 | PRESHIFT(0x00046000) /* 0.001068115 */, | ||
327 | -PRESHIFT(0x0ca8d000) /* -0.791213989 */, | ||
328 | PRESHIFT(0x119e9000) /* 1.101211548 */, | ||
329 | PRESHIFT(0x05991000) /* 0.349868774 */, | ||
330 | PRESHIFT(0x02578000) /* 0.146362305 */, | ||
331 | PRESHIFT(0x0091a000) /* 0.035552979 */, | ||
332 | PRESHIFT(0x007d1000) /* 0.030532837 */, | ||
333 | PRESHIFT(0x00048000) /* 0.001098633 */, | ||
334 | PRESHIFT(0x000a1000) /* 0.002456665 */, | ||
335 | PRESHIFT(0x0000d000) /* 0.000198364 */ }, | ||
336 | |||
337 | { -PRESHIFT(0x00002000) /* -0.000030518 */, /* 9 */ | ||
338 | -PRESHIFT(0x0003f000) /* -0.000961304 */, | ||
339 | PRESHIFT(0x000dd000) /* 0.003372192 */, | ||
340 | -PRESHIFT(0x00428000) /* -0.016235352 */, | ||
341 | PRESHIFT(0x00500000) /* 0.019531250 */, | ||
342 | -PRESHIFT(0x02011000) /* -0.125259399 */, | ||
343 | -PRESHIFT(0x003e6000) /* -0.015228271 */, | ||
344 | -PRESHIFT(0x0d11e000) /* -0.816864014 */, | ||
345 | PRESHIFT(0x116fc000) /* 1.089782715 */, | ||
346 | PRESHIFT(0x052c5000) /* 0.323318481 */, | ||
347 | PRESHIFT(0x02616000) /* 0.148773193 */, | ||
348 | PRESHIFT(0x007d6000) /* 0.030609131 */, | ||
349 | PRESHIFT(0x007aa000) /* 0.029937744 */, | ||
350 | PRESHIFT(0x00024000) /* 0.000549316 */, | ||
351 | PRESHIFT(0x0009a000) /* 0.002349854 */, | ||
352 | PRESHIFT(0x0000b000) /* 0.000167847 */, | ||
353 | |||
354 | -PRESHIFT(0x00002000) /* -0.000030518 */, | ||
355 | -PRESHIFT(0x0003f000) /* -0.000961304 */, | ||
356 | PRESHIFT(0x000dd000) /* 0.003372192 */, | ||
357 | -PRESHIFT(0x00428000) /* -0.016235352 */, | ||
358 | PRESHIFT(0x00500000) /* 0.019531250 */, | ||
359 | -PRESHIFT(0x02011000) /* -0.125259399 */, | ||
360 | -PRESHIFT(0x003e6000) /* -0.015228271 */, | ||
361 | -PRESHIFT(0x0d11e000) /* -0.816864014 */, | ||
362 | PRESHIFT(0x116fc000) /* 1.089782715 */, | ||
363 | PRESHIFT(0x052c5000) /* 0.323318481 */, | ||
364 | PRESHIFT(0x02616000) /* 0.148773193 */, | ||
365 | PRESHIFT(0x007d6000) /* 0.030609131 */, | ||
366 | PRESHIFT(0x007aa000) /* 0.029937744 */, | ||
367 | PRESHIFT(0x00024000) /* 0.000549316 */, | ||
368 | PRESHIFT(0x0009a000) /* 0.002349854 */, | ||
369 | PRESHIFT(0x0000b000) /* 0.000167847 */ }, | ||
370 | |||
371 | { -PRESHIFT(0x00002000) /* -0.000030518 */, /* 10 */ | ||
372 | -PRESHIFT(0x00044000) /* -0.001037598 */, | ||
373 | PRESHIFT(0x000d7000) /* 0.003280640 */, | ||
374 | -PRESHIFT(0x00471000) /* -0.017349243 */, | ||
375 | PRESHIFT(0x0046b000) /* 0.017257690 */, | ||
376 | -PRESHIFT(0x0212b000) /* -0.129562378 */, | ||
377 | -PRESHIFT(0x0084a000) /* -0.032379150 */, | ||
378 | -PRESHIFT(0x0d78a000) /* -0.841949463 */, | ||
379 | PRESHIFT(0x113be000) /* 1.077117920 */, | ||
380 | PRESHIFT(0x04c16000) /* 0.297210693 */, | ||
381 | PRESHIFT(0x02687000) /* 0.150497437 */, | ||
382 | PRESHIFT(0x0069c000) /* 0.025817871 */, | ||
383 | PRESHIFT(0x0077f000) /* 0.029281616 */, | ||
384 | PRESHIFT(0x00002000) /* 0.000030518 */, | ||
385 | PRESHIFT(0x00093000) /* 0.002243042 */, | ||
386 | PRESHIFT(0x0000a000) /* 0.000152588 */, | ||
387 | |||
388 | -PRESHIFT(0x00002000) /* -0.000030518 */, | ||
389 | -PRESHIFT(0x00044000) /* -0.001037598 */, | ||
390 | PRESHIFT(0x000d7000) /* 0.003280640 */, | ||
391 | -PRESHIFT(0x00471000) /* -0.017349243 */, | ||
392 | PRESHIFT(0x0046b000) /* 0.017257690 */, | ||
393 | -PRESHIFT(0x0212b000) /* -0.129562378 */, | ||
394 | -PRESHIFT(0x0084a000) /* -0.032379150 */, | ||
395 | -PRESHIFT(0x0d78a000) /* -0.841949463 */, | ||
396 | PRESHIFT(0x113be000) /* 1.077117920 */, | ||
397 | PRESHIFT(0x04c16000) /* 0.297210693 */, | ||
398 | PRESHIFT(0x02687000) /* 0.150497437 */, | ||
399 | PRESHIFT(0x0069c000) /* 0.025817871 */, | ||
400 | PRESHIFT(0x0077f000) /* 0.029281616 */, | ||
401 | PRESHIFT(0x00002000) /* 0.000030518 */, | ||
402 | PRESHIFT(0x00093000) /* 0.002243042 */, | ||
403 | PRESHIFT(0x0000a000) /* 0.000152588 */ }, | ||
404 | |||
405 | { -PRESHIFT(0x00003000) /* -0.000045776 */, /* 11 */ | ||
406 | -PRESHIFT(0x00049000) /* -0.001113892 */, | ||
407 | PRESHIFT(0x000d0000) /* 0.003173828 */, | ||
408 | -PRESHIFT(0x004ba000) /* -0.018463135 */, | ||
409 | PRESHIFT(0x003ca000) /* 0.014801025 */, | ||
410 | -PRESHIFT(0x02233000) /* -0.133590698 */, | ||
411 | -PRESHIFT(0x00ce4000) /* -0.050354004 */, | ||
412 | -PRESHIFT(0x0ddca000) /* -0.866363525 */, | ||
413 | PRESHIFT(0x1102f000) /* 1.063217163 */, | ||
414 | PRESHIFT(0x04587000) /* 0.271591187 */, | ||
415 | PRESHIFT(0x026cf000) /* 0.151596069 */, | ||
416 | PRESHIFT(0x0056c000) /* 0.021179199 */, | ||
417 | PRESHIFT(0x0074e000) /* 0.028533936 */, | ||
418 | -PRESHIFT(0x0001d000) /* -0.000442505 */, | ||
419 | PRESHIFT(0x0008b000) /* 0.002120972 */, | ||
420 | PRESHIFT(0x00009000) /* 0.000137329 */, | ||
421 | |||
422 | -PRESHIFT(0x00003000) /* -0.000045776 */, | ||
423 | -PRESHIFT(0x00049000) /* -0.001113892 */, | ||
424 | PRESHIFT(0x000d0000) /* 0.003173828 */, | ||
425 | -PRESHIFT(0x004ba000) /* -0.018463135 */, | ||
426 | PRESHIFT(0x003ca000) /* 0.014801025 */, | ||
427 | -PRESHIFT(0x02233000) /* -0.133590698 */, | ||
428 | -PRESHIFT(0x00ce4000) /* -0.050354004 */, | ||
429 | -PRESHIFT(0x0ddca000) /* -0.866363525 */, | ||
430 | PRESHIFT(0x1102f000) /* 1.063217163 */, | ||
431 | PRESHIFT(0x04587000) /* 0.271591187 */, | ||
432 | PRESHIFT(0x026cf000) /* 0.151596069 */, | ||
433 | PRESHIFT(0x0056c000) /* 0.021179199 */, | ||
434 | PRESHIFT(0x0074e000) /* 0.028533936 */, | ||
435 | -PRESHIFT(0x0001d000) /* -0.000442505 */, | ||
436 | PRESHIFT(0x0008b000) /* 0.002120972 */, | ||
437 | PRESHIFT(0x00009000) /* 0.000137329 */ }, | ||
438 | |||
439 | { -PRESHIFT(0x00003000) /* -0.000045776 */, /* 12 */ | ||
440 | -PRESHIFT(0x0004f000) /* -0.001205444 */, | ||
441 | PRESHIFT(0x000c8000) /* 0.003051758 */, | ||
442 | -PRESHIFT(0x00503000) /* -0.019577026 */, | ||
443 | PRESHIFT(0x0031a000) /* 0.012115479 */, | ||
444 | -PRESHIFT(0x02326000) /* -0.137298584 */, | ||
445 | -PRESHIFT(0x011b5000) /* -0.069168091 */, | ||
446 | -PRESHIFT(0x0e3dd000) /* -0.890090942 */, | ||
447 | PRESHIFT(0x10c54000) /* 1.048156738 */, | ||
448 | PRESHIFT(0x03f1b000) /* 0.246505737 */, | ||
449 | PRESHIFT(0x026ee000) /* 0.152069092 */, | ||
450 | PRESHIFT(0x00447000) /* 0.016708374 */, | ||
451 | PRESHIFT(0x00719000) /* 0.027725220 */, | ||
452 | -PRESHIFT(0x00039000) /* -0.000869751 */, | ||
453 | PRESHIFT(0x00084000) /* 0.002014160 */, | ||
454 | PRESHIFT(0x00008000) /* 0.000122070 */, | ||
455 | |||
456 | -PRESHIFT(0x00003000) /* -0.000045776 */, | ||
457 | -PRESHIFT(0x0004f000) /* -0.001205444 */, | ||
458 | PRESHIFT(0x000c8000) /* 0.003051758 */, | ||
459 | -PRESHIFT(0x00503000) /* -0.019577026 */, | ||
460 | PRESHIFT(0x0031a000) /* 0.012115479 */, | ||
461 | -PRESHIFT(0x02326000) /* -0.137298584 */, | ||
462 | -PRESHIFT(0x011b5000) /* -0.069168091 */, | ||
463 | -PRESHIFT(0x0e3dd000) /* -0.890090942 */, | ||
464 | PRESHIFT(0x10c54000) /* 1.048156738 */, | ||
465 | PRESHIFT(0x03f1b000) /* 0.246505737 */, | ||
466 | PRESHIFT(0x026ee000) /* 0.152069092 */, | ||
467 | PRESHIFT(0x00447000) /* 0.016708374 */, | ||
468 | PRESHIFT(0x00719000) /* 0.027725220 */, | ||
469 | -PRESHIFT(0x00039000) /* -0.000869751 */, | ||
470 | PRESHIFT(0x00084000) /* 0.002014160 */, | ||
471 | PRESHIFT(0x00008000) /* 0.000122070 */ }, | ||
472 | |||
473 | { -PRESHIFT(0x00004000) /* -0.000061035 */, /* 13 */ | ||
474 | -PRESHIFT(0x00055000) /* -0.001296997 */, | ||
475 | PRESHIFT(0x000bd000) /* 0.002883911 */, | ||
476 | -PRESHIFT(0x0054c000) /* -0.020690918 */, | ||
477 | PRESHIFT(0x0025d000) /* 0.009231567 */, | ||
478 | -PRESHIFT(0x02403000) /* -0.140670776 */, | ||
479 | -PRESHIFT(0x016ba000) /* -0.088775635 */, | ||
480 | -PRESHIFT(0x0e9be000) /* -0.913055420 */, | ||
481 | PRESHIFT(0x1082d000) /* 1.031936646 */, | ||
482 | PRESHIFT(0x038d4000) /* 0.221984863 */, | ||
483 | PRESHIFT(0x026e7000) /* 0.151962280 */, | ||
484 | PRESHIFT(0x0032e000) /* 0.012420654 */, | ||
485 | PRESHIFT(0x006df000) /* 0.026840210 */, | ||
486 | -PRESHIFT(0x00053000) /* -0.001266479 */, | ||
487 | PRESHIFT(0x0007d000) /* 0.001907349 */, | ||
488 | PRESHIFT(0x00007000) /* 0.000106812 */, | ||
489 | |||
490 | -PRESHIFT(0x00004000) /* -0.000061035 */, | ||
491 | -PRESHIFT(0x00055000) /* -0.001296997 */, | ||
492 | PRESHIFT(0x000bd000) /* 0.002883911 */, | ||
493 | -PRESHIFT(0x0054c000) /* -0.020690918 */, | ||
494 | PRESHIFT(0x0025d000) /* 0.009231567 */, | ||
495 | -PRESHIFT(0x02403000) /* -0.140670776 */, | ||
496 | -PRESHIFT(0x016ba000) /* -0.088775635 */, | ||
497 | -PRESHIFT(0x0e9be000) /* -0.913055420 */, | ||
498 | PRESHIFT(0x1082d000) /* 1.031936646 */, | ||
499 | PRESHIFT(0x038d4000) /* 0.221984863 */, | ||
500 | PRESHIFT(0x026e7000) /* 0.151962280 */, | ||
501 | PRESHIFT(0x0032e000) /* 0.012420654 */, | ||
502 | PRESHIFT(0x006df000) /* 0.026840210 */, | ||
503 | -PRESHIFT(0x00053000) /* -0.001266479 */, | ||
504 | PRESHIFT(0x0007d000) /* 0.001907349 */, | ||
505 | PRESHIFT(0x00007000) /* 0.000106812 */ }, | ||
506 | |||
507 | { -PRESHIFT(0x00004000) /* -0.000061035 */, /* 14 */ | ||
508 | -PRESHIFT(0x0005b000) /* -0.001388550 */, | ||
509 | PRESHIFT(0x000b1000) /* 0.002700806 */, | ||
510 | -PRESHIFT(0x00594000) /* -0.021789551 */, | ||
511 | PRESHIFT(0x00192000) /* 0.006134033 */, | ||
512 | -PRESHIFT(0x024c8000) /* -0.143676758 */, | ||
513 | -PRESHIFT(0x01bf2000) /* -0.109161377 */, | ||
514 | -PRESHIFT(0x0ef69000) /* -0.935195923 */, | ||
515 | PRESHIFT(0x103be000) /* 1.014617920 */, | ||
516 | PRESHIFT(0x032b4000) /* 0.198059082 */, | ||
517 | PRESHIFT(0x026bc000) /* 0.151306152 */, | ||
518 | PRESHIFT(0x00221000) /* 0.008316040 */, | ||
519 | PRESHIFT(0x006a2000) /* 0.025909424 */, | ||
520 | -PRESHIFT(0x0006a000) /* -0.001617432 */, | ||
521 | PRESHIFT(0x00075000) /* 0.001785278 */, | ||
522 | PRESHIFT(0x00007000) /* 0.000106812 */, | ||
523 | |||
524 | -PRESHIFT(0x00004000) /* -0.000061035 */, | ||
525 | -PRESHIFT(0x0005b000) /* -0.001388550 */, | ||
526 | PRESHIFT(0x000b1000) /* 0.002700806 */, | ||
527 | -PRESHIFT(0x00594000) /* -0.021789551 */, | ||
528 | PRESHIFT(0x00192000) /* 0.006134033 */, | ||
529 | -PRESHIFT(0x024c8000) /* -0.143676758 */, | ||
530 | -PRESHIFT(0x01bf2000) /* -0.109161377 */, | ||
531 | -PRESHIFT(0x0ef69000) /* -0.935195923 */, | ||
532 | PRESHIFT(0x103be000) /* 1.014617920 */, | ||
533 | PRESHIFT(0x032b4000) /* 0.198059082 */, | ||
534 | PRESHIFT(0x026bc000) /* 0.151306152 */, | ||
535 | PRESHIFT(0x00221000) /* 0.008316040 */, | ||
536 | PRESHIFT(0x006a2000) /* 0.025909424 */, | ||
537 | -PRESHIFT(0x0006a000) /* -0.001617432 */, | ||
538 | PRESHIFT(0x00075000) /* 0.001785278 */, | ||
539 | PRESHIFT(0x00007000) /* 0.000106812 */ }, | ||
540 | |||
541 | { -PRESHIFT(0x00005000) /* -0.000076294 */, /* 15 */ | ||
542 | -PRESHIFT(0x00061000) /* -0.001480103 */, | ||
543 | PRESHIFT(0x000a3000) /* 0.002487183 */, | ||
544 | -PRESHIFT(0x005da000) /* -0.022857666 */, | ||
545 | PRESHIFT(0x000b9000) /* 0.002822876 */, | ||
546 | -PRESHIFT(0x02571000) /* -0.146255493 */, | ||
547 | -PRESHIFT(0x0215c000) /* -0.130310059 */, | ||
548 | -PRESHIFT(0x0f4dc000) /* -0.956481934 */, | ||
549 | PRESHIFT(0x0ff0a000) /* 0.996246338 */, | ||
550 | PRESHIFT(0x02cbf000) /* 0.174789429 */, | ||
551 | PRESHIFT(0x0266e000) /* 0.150115967 */, | ||
552 | PRESHIFT(0x00120000) /* 0.004394531 */, | ||
553 | PRESHIFT(0x00662000) /* 0.024932861 */, | ||
554 | -PRESHIFT(0x0007f000) /* -0.001937866 */, | ||
555 | PRESHIFT(0x0006f000) /* 0.001693726 */, | ||
556 | PRESHIFT(0x00006000) /* 0.000091553 */, | ||
557 | |||
558 | -PRESHIFT(0x00005000) /* -0.000076294 */, | ||
559 | -PRESHIFT(0x00061000) /* -0.001480103 */, | ||
560 | PRESHIFT(0x000a3000) /* 0.002487183 */, | ||
561 | -PRESHIFT(0x005da000) /* -0.022857666 */, | ||
562 | PRESHIFT(0x000b9000) /* 0.002822876 */, | ||
563 | -PRESHIFT(0x02571000) /* -0.146255493 */, | ||
564 | -PRESHIFT(0x0215c000) /* -0.130310059 */, | ||
565 | -PRESHIFT(0x0f4dc000) /* -0.956481934 */, | ||
566 | PRESHIFT(0x0ff0a000) /* 0.996246338 */, | ||
567 | PRESHIFT(0x02cbf000) /* 0.174789429 */, | ||
568 | PRESHIFT(0x0266e000) /* 0.150115967 */, | ||
569 | PRESHIFT(0x00120000) /* 0.004394531 */, | ||
570 | PRESHIFT(0x00662000) /* 0.024932861 */, | ||
571 | -PRESHIFT(0x0007f000) /* -0.001937866 */, | ||
572 | PRESHIFT(0x0006f000) /* 0.001693726 */, | ||
573 | PRESHIFT(0x00006000) /* 0.000091553 */ }, | ||
574 | |||
575 | { -PRESHIFT(0x00005000) /* -0.000076294 */, /* 16 */ | ||
576 | -PRESHIFT(0x00068000) /* -0.001586914 */, | ||
577 | PRESHIFT(0x00092000) /* 0.002227783 */, | ||
578 | -PRESHIFT(0x0061f000) /* -0.023910522 */, | ||
579 | -PRESHIFT(0x0002d000) /* -0.000686646 */, | ||
580 | -PRESHIFT(0x025ff000) /* -0.148422241 */, | ||
581 | -PRESHIFT(0x026f7000) /* -0.152206421 */, | ||
582 | -PRESHIFT(0x0fa13000) /* -0.976852417 */, | ||
583 | PRESHIFT(0x0fa13000) /* 0.976852417 */, | ||
584 | PRESHIFT(0x026f7000) /* 0.152206421 */, | ||
585 | PRESHIFT(0x025ff000) /* 0.148422241 */, | ||
586 | PRESHIFT(0x0002d000) /* 0.000686646 */, | ||
587 | PRESHIFT(0x0061f000) /* 0.023910522 */, | ||
588 | -PRESHIFT(0x00092000) /* -0.002227783 */, | ||
589 | PRESHIFT(0x00068000) /* 0.001586914 */, | ||
590 | PRESHIFT(0x00005000) /* 0.000076294 */, | ||
591 | |||
592 | -PRESHIFT(0x00005000) /* -0.000076294 */, | ||
593 | -PRESHIFT(0x00068000) /* -0.001586914 */, | ||
594 | PRESHIFT(0x00092000) /* 0.002227783 */, | ||
595 | -PRESHIFT(0x0061f000) /* -0.023910522 */, | ||
596 | -PRESHIFT(0x0002d000) /* -0.000686646 */, | ||
597 | -PRESHIFT(0x025ff000) /* -0.148422241 */, | ||
598 | -PRESHIFT(0x026f7000) /* -0.152206421 */, | ||
599 | -PRESHIFT(0x0fa13000) /* -0.976852417 */, | ||
600 | PRESHIFT(0x0fa13000) /* 0.976852417 */, | ||
601 | PRESHIFT(0x026f7000) /* 0.152206421 */, | ||
602 | PRESHIFT(0x025ff000) /* 0.148422241 */, | ||
603 | PRESHIFT(0x0002d000) /* 0.000686646 */, | ||
604 | PRESHIFT(0x0061f000) /* 0.023910522 */, | ||
605 | -PRESHIFT(0x00092000) /* -0.002227783 */, | ||
606 | PRESHIFT(0x00068000) /* 0.001586914 */, | ||
607 | PRESHIFT(0x00005000) /* 0.000076294 */ } | ||
diff --git a/lib/rbcodec/codecs/libmad/README b/lib/rbcodec/codecs/libmad/README new file mode 100644 index 0000000000..524a94b29d --- /dev/null +++ b/lib/rbcodec/codecs/libmad/README | |||
@@ -0,0 +1,241 @@ | |||
1 | |||
2 | libmad - MPEG audio decoder library | ||
3 | Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | |||
5 | $Id$ | ||
6 | |||
7 | =============================================================================== | ||
8 | |||
9 | INTRODUCTION | ||
10 | |||
11 | MAD (libmad) is a high-quality MPEG audio decoder. It currently supports | ||
12 | MPEG-1 and the MPEG-2 extension to Lower Sampling Frequencies, as well as | ||
13 | the so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II, | ||
14 | and Layer III a.k.a. MP3) are fully implemented. | ||
15 | |||
16 | MAD does not yet support MPEG-2 multichannel audio (although it should be | ||
17 | backward compatible with such streams) nor does it currently support AAC. | ||
18 | |||
19 | MAD has the following special features: | ||
20 | |||
21 | - 24-bit PCM output | ||
22 | - 100% fixed-point (integer) computation | ||
23 | - completely new implementation based on the ISO/IEC standards | ||
24 | - distributed under the terms of the GNU General Public License (GPL) | ||
25 | |||
26 | Because MAD provides full 24-bit PCM output, applications using MAD are | ||
27 | able to produce high quality audio. Even when the output device supports | ||
28 | only 16-bit PCM, applications can use the extra resolution to increase the | ||
29 | audible dynamic range through the use of dithering or noise shaping. | ||
30 | |||
31 | Because MAD uses integer computation rather than floating point, it is | ||
32 | well suited for architectures without a floating point unit. All | ||
33 | calculations are performed with a 32-bit fixed-point integer | ||
34 | representation. | ||
35 | |||
36 | Because MAD is a new implementation of the ISO/IEC standards, it is | ||
37 | unencumbered by the errors of other implementations. MAD is NOT a | ||
38 | derivation of the ISO reference source or any other code. Considerable | ||
39 | effort has been expended to ensure a correct implementation, even in cases | ||
40 | where the standards are ambiguous or misleading. | ||
41 | |||
42 | Because MAD is distributed under the terms of the GPL, its redistribution | ||
43 | is not generally restricted, so long as the terms of the GPL are followed. | ||
44 | This means MAD can be incorporated into other software as long as that | ||
45 | software is also distributed under the GPL. (Should this be undesirable, | ||
46 | alternate arrangements may be possible by contacting Underbit.) | ||
47 | |||
48 | =============================================================================== | ||
49 | |||
50 | ABOUT THE CODE | ||
51 | |||
52 | The code is optimized and performs very well, although specific | ||
53 | improvements can still be made. The output from the decoder library | ||
54 | consists of 32-bit signed linear fixed-point values that can be easily | ||
55 | scaled for any size PCM output, up to 24 bits per sample. | ||
56 | |||
57 | The API for libmad can be found in the `mad.h' header file. Note that this | ||
58 | file is automatically generated, and will not exist until after you have | ||
59 | built the library. | ||
60 | |||
61 | There are two APIs available, one high-level, and the other low-level. | ||
62 | With the low-level API, each step of the decoding process must be handled | ||
63 | explicitly, offering the greatest amount of control. With the high-level | ||
64 | API, after callbacks are configured, a single routine will decode an | ||
65 | entire bitstream. | ||
66 | |||
67 | The high-level API may either be used synchronously or asynchronously. If | ||
68 | used asynchronously, decoding will occur in a separate process. | ||
69 | Communication is possible with the decoding process by passing control | ||
70 | messages. | ||
71 | |||
72 | The file `minimad.c' contains an example usage of the libmad API that | ||
73 | shows only the bare minimum required to implement a useful decoder. It | ||
74 | expects a regular file to be redirected to standard input, and it sends | ||
75 | decoded 16-bit signed little-endian PCM samples to standard output. If a | ||
76 | decoding error occurs, it is reported to standard error and decoding | ||
77 | continues. Note that the scale() routine in this code is only provided as | ||
78 | an example; it rounds MAD's high-resolution samples down to 16 bits, but | ||
79 | does not perform any dithering or noise shaping. It is therefore not | ||
80 | recommended to use this routine as-is in your own code if sound quality is | ||
81 | important. | ||
82 | |||
83 | Integer Performance | ||
84 | |||
85 | To get the best possible performance, it is recommended that an assembly | ||
86 | version of the fixed-point multiply and related routines be selected. | ||
87 | Several such assembly routines have been written for various CPUs. | ||
88 | |||
89 | If an assembly version is not available, a fast approximation version will | ||
90 | be used. This will result in reduced accuracy of the decoder. | ||
91 | |||
92 | Alternatively, if 64-bit integers are supported as a datatype by the | ||
93 | compiler, another version can be used that is much more accurate. | ||
94 | However, using an assembly version is generally much faster and just as | ||
95 | accurate. | ||
96 | |||
97 | More information can be gathered from the `fixed.h' header file. | ||
98 | |||
99 | MAD's CPU-intensive subband synthesis routine can be further optimized at | ||
100 | the expense of a slight loss in output accuracy due to a modified method | ||
101 | for fixed-point multiplication with a small windowing constant. While this | ||
102 | is helpful for performance and the output accuracy loss is generally | ||
103 | undetectable, it is disabled by default and must be explicitly enabled. | ||
104 | |||
105 | Under some architectures, other special optimizations may also be | ||
106 | available. | ||
107 | |||
108 | Audio Quality | ||
109 | |||
110 | The output from MAD has been found to satisfy the ISO/IEC 11172-4 | ||
111 | computational accuracy requirements for compliance. In most | ||
112 | configurations, MAD is a Full Layer III ISO/IEC 11172-3 audio decoder as | ||
113 | defined by the standard. | ||
114 | |||
115 | When the approximation version of the fixed-point multiply is used, MAD is | ||
116 | a limited accuracy ISO/IEC 11172-3 audio decoder as defined by the | ||
117 | standard. | ||
118 | |||
119 | MAD can alternatively be configured to produce output with less or more | ||
120 | accuracy than the default, as a tradeoff with performance. | ||
121 | |||
122 | MAD produces output samples with a precision greater than 24 bits. Because | ||
123 | most output formats use fewer bits, typically 16, it is recommended that a | ||
124 | dithering algorithm be used (rather than rounding or truncating) to obtain | ||
125 | the highest quality audio. However, dithering may unfavorably affect an | ||
126 | analytic examination of the output (such as compliance testing); you may | ||
127 | therefore wish to use rounding in this case instead. | ||
128 | |||
129 | Portability Issues | ||
130 | |||
131 | GCC is preferred to compile the code, but other compilers may also work. | ||
132 | The assembly code in `fixed.h' depends on the inline assembly features of | ||
133 | your compiler. If you're not using GCC or MSVC++, you can either write | ||
134 | your own assembly macros or use the default (low quality output) version. | ||
135 | |||
136 | The union initialization of `huffman.c' may not be portable to all | ||
137 | platforms when GCC is not used. | ||
138 | |||
139 | The code should not be sensitive to word sizes or byte ordering, however | ||
140 | it does assume A % B has the same sign as A. | ||
141 | |||
142 | =============================================================================== | ||
143 | |||
144 | BUILDING AND INSTALLING | ||
145 | |||
146 | Windows Platforms | ||
147 | |||
148 | MAD can be built under Windows using either MSVC++ or Cygwin. A MSVC++ | ||
149 | project file can be found under the `msvc++' subdirectory. | ||
150 | |||
151 | To build libmad using Cygwin, you will first need to install the Cygwin | ||
152 | tools: | ||
153 | |||
154 | http://www.cygwin.com/ | ||
155 | |||
156 | You may then proceed with the following POSIX instructions within the | ||
157 | Cygwin shell. | ||
158 | |||
159 | Note that by default Cygwin will build a library that depends on the | ||
160 | Cygwin DLL. You can use MinGW to build a library that does not depend on | ||
161 | the Cygwin DLL. To do so, give the option --host=mingw32 to `configure'. | ||
162 | |||
163 | POSIX Platforms (including Cygwin) | ||
164 | |||
165 | The code is distributed with a `configure' script that will generate for | ||
166 | you a `Makefile' and a `config.h' for your platform. See the file | ||
167 | `INSTALL' for generic instructions. | ||
168 | |||
169 | The specific options you may want to give `configure' are: | ||
170 | |||
171 | --enable-speed optimize for speed over accuracy | ||
172 | |||
173 | --enable-accuracy optimize for accuracy over speed | ||
174 | |||
175 | --disable-debugging do not compile with debugging support, and | ||
176 | use more optimizations | ||
177 | |||
178 | --disable-shared do not build a shared library | ||
179 | |||
180 | Note that you need not specify one of --enable-speed or --enable-accuracy; | ||
181 | in its default configuration, MAD is optimized for both. You should only | ||
182 | use one of these options if you wish to compromise speed or accuracy for | ||
183 | the other. | ||
184 | |||
185 | By default the package will build a shared library if possible for your | ||
186 | platform. If you want only a static library, use --disable-shared. | ||
187 | |||
188 | It is not normally necessary to use the following options, but you may | ||
189 | fine-tune the configuration with them if desired: | ||
190 | |||
191 | --enable-fpm=ARCH use the ARCH-specific version of the | ||
192 | fixed-point math assembly routines | ||
193 | (current options are: intel, arm, mips, | ||
194 | sparc, ppc; also allowed are: 64bit, approx) | ||
195 | |||
196 | --enable-sso use the subband synthesis optimization, | ||
197 | with reduced accuracy | ||
198 | |||
199 | --disable-aso do not use certain architecture-specific | ||
200 | optimizations | ||
201 | |||
202 | By default an appropriate fixed-point assembly routine will be selected | ||
203 | for the configured host type, if it can be determined. Thus if you are | ||
204 | cross-compiling for another architecture, you should be sure either to | ||
205 | give `configure' a host type argument (--host) or to use an explicit | ||
206 | --enable-fpm option. | ||
207 | |||
208 | If an appropriate assembly routine cannot be determined, the default | ||
209 | approximation version will be used. In this case, use of an alternate | ||
210 | --enable-fpm is highly recommended. | ||
211 | |||
212 | Experimenting and Developing | ||
213 | |||
214 | Further options for `configure' that may be useful to developers and | ||
215 | experimenters are: | ||
216 | |||
217 | --enable-debugging enable diagnostic debugging support and | ||
218 | debugging symbols | ||
219 | |||
220 | --enable-profiling generate `gprof' profiling code | ||
221 | |||
222 | --enable-experimental enable code using the EXPERIMENTAL | ||
223 | preprocessor define | ||
224 | |||
225 | =============================================================================== | ||
226 | |||
227 | COPYRIGHT | ||
228 | |||
229 | Please read the `COPYRIGHT' file for copyright and warranty information. | ||
230 | Also, the file `COPYING' contains the full text of the GNU GPL. | ||
231 | |||
232 | Send inquiries, comments, bug reports, suggestions, patches, etc. to: | ||
233 | |||
234 | Underbit Technologies, Inc. <support@underbit.com> | ||
235 | |||
236 | See also the MAD home page on the Web: | ||
237 | |||
238 | http://www.underbit.com/products/mad/ | ||
239 | |||
240 | =============================================================================== | ||
241 | |||
diff --git a/lib/rbcodec/codecs/libmad/README.rockbox b/lib/rbcodec/codecs/libmad/README.rockbox new file mode 100644 index 0000000000..faddc0d391 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/README.rockbox | |||
@@ -0,0 +1,23 @@ | |||
1 | Library: libmad-0.15.1b (2004-02-17) | ||
2 | Imported: 2005-02-15 by Dave Chapman | ||
3 | |||
4 | |||
5 | This directory contains a local version of libmad for use by Rockbox | ||
6 | targets needing software MPEG audio decoding. | ||
7 | |||
8 | |||
9 | LICENSING INFORMATION | ||
10 | |||
11 | libmad is (C) 2000-2004 Unibit Technologies, Inc. and licensed under | ||
12 | the terms of the GNU General Public License. See file "COPYRIGHT" in | ||
13 | this directory for more information. | ||
14 | |||
15 | |||
16 | IMPORT DETAILS | ||
17 | |||
18 | The base version first imported into Rockbox was libmad-0.15.1b | ||
19 | (released on 2004-02-17), downloaded on 2005-02-15 from the files | ||
20 | section at http://sourceforge.net/projects/mad/ | ||
21 | |||
22 | The autoconf/automake files were removed from the official source | ||
23 | tarball, as well as the "msvc++" subdirectory. | ||
diff --git a/lib/rbcodec/codecs/libmad/SOURCES b/lib/rbcodec/codecs/libmad/SOURCES new file mode 100644 index 0000000000..d81804ca38 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/SOURCES | |||
@@ -0,0 +1,14 @@ | |||
1 | bit.c | ||
2 | frame.c | ||
3 | huffman.c | ||
4 | layer12.c | ||
5 | layer3.c | ||
6 | stream.c | ||
7 | synth.c | ||
8 | #if defined(CPU_COLDFIRE) | ||
9 | imdct_mcf5249.S | ||
10 | #endif | ||
11 | #if defined(CPU_ARM) | ||
12 | imdct_l_arm.S | ||
13 | synth_full_arm.S | ||
14 | #endif | ||
diff --git a/lib/rbcodec/codecs/libmad/TODO b/lib/rbcodec/codecs/libmad/TODO new file mode 100644 index 0000000000..a397655c6c --- /dev/null +++ b/lib/rbcodec/codecs/libmad/TODO | |||
@@ -0,0 +1,69 @@ | |||
1 | |||
2 | libmad - MPEG audio decoder library | ||
3 | Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | |||
5 | $Id$ | ||
6 | |||
7 | =============================================================================== | ||
8 | |||
9 | libmad: | ||
10 | - more API layers (buffering, PCM samples, dithering, etc.) | ||
11 | - x86 performance optimization compiler flags | ||
12 | - function documentation, general docs | ||
13 | - finish async API | ||
14 | - parse system streams? | ||
15 | - MPEG-2 MC, AAC? | ||
16 | - logarithmic multiplication? | ||
17 | - multiple frame decoding for better locality of reference? | ||
18 | - frame serial numbers, Layer III frame continuity checks | ||
19 | |||
20 | fixed.h: | ||
21 | - experiment with FPM_INTEL: | ||
22 | |||
23 | # if 1 | ||
24 | # define mad_f_scale64(hi, lo) \ | ||
25 | ({ mad_fixed_t __result; \ | ||
26 | asm ("shrl %3,%1\n\t" \ | ||
27 | "shll %4,%2\n\t" \ | ||
28 | "orl %2,%1" \ | ||
29 | : "=rm" (__result) \ | ||
30 | : "0" (lo), "r" (hi), \ | ||
31 | "I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS) \ | ||
32 | : "cc"); \ | ||
33 | __result; \ | ||
34 | }) | ||
35 | # else | ||
36 | # define mad_f_scale64(hi, lo) \ | ||
37 | ({ mad_fixed64hi_t __hi_; \ | ||
38 | mad_fixed64lo_t __lo_; \ | ||
39 | mad_fixed_t __result; \ | ||
40 | asm ("sall %2,%1" \ | ||
41 | : "=r" (__hi_) \ | ||
42 | : "0" (hi), "I" (32 - MAD_F_SCALEBITS) \ | ||
43 | : "cc"); \ | ||
44 | asm ("shrl %2,%1" \ | ||
45 | : "=r" (__lo_) \ | ||
46 | : "0" (lo), "I" (MAD_F_SCALEBITS) \ | ||
47 | : "cc"); \ | ||
48 | asm ("orl %1,%2" \ | ||
49 | : "=rm" (__result) \ | ||
50 | : "r" (__hi_), "0" (__lo_) \ | ||
51 | : "cc"); \ | ||
52 | __result; \ | ||
53 | }) | ||
54 | # endif | ||
55 | |||
56 | libmad Layer I: | ||
57 | - check frame length sanity | ||
58 | |||
59 | libmad Layer II: | ||
60 | - check frame length sanity | ||
61 | |||
62 | libmad Layer III: | ||
63 | - circular buffer | ||
64 | - optimize zero_part from Huffman decoding throughout | ||
65 | - MPEG 2.5 8000 Hz sf bands? mixed blocks? | ||
66 | - stereo->mono conversion optimization? | ||
67 | - enable frame-at-a-time decoding | ||
68 | - improve portability of huffman.c | ||
69 | |||
diff --git a/lib/rbcodec/codecs/libmad/VERSION b/lib/rbcodec/codecs/libmad/VERSION new file mode 100644 index 0000000000..d4e8f64aa2 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/VERSION | |||
@@ -0,0 +1,7 @@ | |||
1 | 0.15.1b | ||
2 | configure.ac:24 | ||
3 | version.h:25-28 | ||
4 | msvc++/config.h:99,105,120 | ||
5 | msvc++/mad.h:41-44 | ||
6 | |||
7 | Makefile.am:98-100 | ||
diff --git a/lib/rbcodec/codecs/libmad/bit.c b/lib/rbcodec/codecs/libmad/bit.c new file mode 100644 index 0000000000..c08806d385 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/bit.c | |||
@@ -0,0 +1,218 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifdef HAVE_CONFIG_H | ||
23 | # include "config.h" | ||
24 | # endif | ||
25 | |||
26 | # include "global.h" | ||
27 | |||
28 | # ifdef HAVE_LIMITS_H | ||
29 | # include <limits.h> | ||
30 | # else | ||
31 | # undef CHAR_BIT | ||
32 | # define CHAR_BIT 8 | ||
33 | # endif | ||
34 | |||
35 | # include "bit.h" | ||
36 | |||
37 | /* | ||
38 | * This is the lookup table for computing the CRC-check word. | ||
39 | * As described in section 2.4.3.1 and depicted in Figure A.9 | ||
40 | * of ISO/IEC 11172-3, the generator polynomial is: | ||
41 | * | ||
42 | * G(X) = X^16 + X^15 + X^2 + 1 | ||
43 | */ | ||
44 | static | ||
45 | unsigned short const crc_table[256] = { | ||
46 | 0x0000, 0x8005, 0x800f, 0x000a, 0x801b, 0x001e, 0x0014, 0x8011, | ||
47 | 0x8033, 0x0036, 0x003c, 0x8039, 0x0028, 0x802d, 0x8027, 0x0022, | ||
48 | 0x8063, 0x0066, 0x006c, 0x8069, 0x0078, 0x807d, 0x8077, 0x0072, | ||
49 | 0x0050, 0x8055, 0x805f, 0x005a, 0x804b, 0x004e, 0x0044, 0x8041, | ||
50 | 0x80c3, 0x00c6, 0x00cc, 0x80c9, 0x00d8, 0x80dd, 0x80d7, 0x00d2, | ||
51 | 0x00f0, 0x80f5, 0x80ff, 0x00fa, 0x80eb, 0x00ee, 0x00e4, 0x80e1, | ||
52 | 0x00a0, 0x80a5, 0x80af, 0x00aa, 0x80bb, 0x00be, 0x00b4, 0x80b1, | ||
53 | 0x8093, 0x0096, 0x009c, 0x8099, 0x0088, 0x808d, 0x8087, 0x0082, | ||
54 | |||
55 | 0x8183, 0x0186, 0x018c, 0x8189, 0x0198, 0x819d, 0x8197, 0x0192, | ||
56 | 0x01b0, 0x81b5, 0x81bf, 0x01ba, 0x81ab, 0x01ae, 0x01a4, 0x81a1, | ||
57 | 0x01e0, 0x81e5, 0x81ef, 0x01ea, 0x81fb, 0x01fe, 0x01f4, 0x81f1, | ||
58 | 0x81d3, 0x01d6, 0x01dc, 0x81d9, 0x01c8, 0x81cd, 0x81c7, 0x01c2, | ||
59 | 0x0140, 0x8145, 0x814f, 0x014a, 0x815b, 0x015e, 0x0154, 0x8151, | ||
60 | 0x8173, 0x0176, 0x017c, 0x8179, 0x0168, 0x816d, 0x8167, 0x0162, | ||
61 | 0x8123, 0x0126, 0x012c, 0x8129, 0x0138, 0x813d, 0x8137, 0x0132, | ||
62 | 0x0110, 0x8115, 0x811f, 0x011a, 0x810b, 0x010e, 0x0104, 0x8101, | ||
63 | |||
64 | 0x8303, 0x0306, 0x030c, 0x8309, 0x0318, 0x831d, 0x8317, 0x0312, | ||
65 | 0x0330, 0x8335, 0x833f, 0x033a, 0x832b, 0x032e, 0x0324, 0x8321, | ||
66 | 0x0360, 0x8365, 0x836f, 0x036a, 0x837b, 0x037e, 0x0374, 0x8371, | ||
67 | 0x8353, 0x0356, 0x035c, 0x8359, 0x0348, 0x834d, 0x8347, 0x0342, | ||
68 | 0x03c0, 0x83c5, 0x83cf, 0x03ca, 0x83db, 0x03de, 0x03d4, 0x83d1, | ||
69 | 0x83f3, 0x03f6, 0x03fc, 0x83f9, 0x03e8, 0x83ed, 0x83e7, 0x03e2, | ||
70 | 0x83a3, 0x03a6, 0x03ac, 0x83a9, 0x03b8, 0x83bd, 0x83b7, 0x03b2, | ||
71 | 0x0390, 0x8395, 0x839f, 0x039a, 0x838b, 0x038e, 0x0384, 0x8381, | ||
72 | |||
73 | 0x0280, 0x8285, 0x828f, 0x028a, 0x829b, 0x029e, 0x0294, 0x8291, | ||
74 | 0x82b3, 0x02b6, 0x02bc, 0x82b9, 0x02a8, 0x82ad, 0x82a7, 0x02a2, | ||
75 | 0x82e3, 0x02e6, 0x02ec, 0x82e9, 0x02f8, 0x82fd, 0x82f7, 0x02f2, | ||
76 | 0x02d0, 0x82d5, 0x82df, 0x02da, 0x82cb, 0x02ce, 0x02c4, 0x82c1, | ||
77 | 0x8243, 0x0246, 0x024c, 0x8249, 0x0258, 0x825d, 0x8257, 0x0252, | ||
78 | 0x0270, 0x8275, 0x827f, 0x027a, 0x826b, 0x026e, 0x0264, 0x8261, | ||
79 | 0x0220, 0x8225, 0x822f, 0x022a, 0x823b, 0x023e, 0x0234, 0x8231, | ||
80 | 0x8213, 0x0216, 0x021c, 0x8219, 0x0208, 0x820d, 0x8207, 0x0202 | ||
81 | }; | ||
82 | |||
83 | # define CRC_POLY 0x8005 | ||
84 | |||
85 | #if INT_MAX != 0x7fffffff | ||
86 | #warning current libmad bit handling is optimized for architectures using 32 bit integers | ||
87 | #endif | ||
88 | |||
89 | /* | ||
90 | * NAME: bit->init() | ||
91 | * DESCRIPTION: initialize bit pointer struct | ||
92 | */ | ||
93 | void mad_bit_init(struct mad_bitptr *bitptr, unsigned char const *byte) | ||
94 | { | ||
95 | bitptr->ptr = (uint32_t*)((uintptr_t)byte & ~3); | ||
96 | bitptr->readbit = ((uintptr_t)byte & 3) << 3; | ||
97 | } | ||
98 | |||
99 | /* | ||
100 | * NAME: bit->length() | ||
101 | * DESCRIPTION: return number of bits between start and end points | ||
102 | */ | ||
103 | unsigned int mad_bit_length(struct mad_bitptr const *begin, | ||
104 | struct mad_bitptr const *end) | ||
105 | { | ||
106 | return end->readbit - begin->readbit; | ||
107 | } | ||
108 | |||
109 | /* rockbox: not used | ||
110 | unsigned char mad_bit_bitsleft(struct mad_bitptr const *bitptr) | ||
111 | { | ||
112 | return 8 - (bitptr->readbit & 7); | ||
113 | } | ||
114 | */ | ||
115 | |||
116 | /* | ||
117 | * NAME: bit->nextbyte() | ||
118 | * DESCRIPTION: return pointer to next unprocessed byte | ||
119 | */ | ||
120 | unsigned char const *mad_bit_nextbyte(struct mad_bitptr const *bitptr) | ||
121 | { | ||
122 | return (unsigned char const*)bitptr->ptr + ((bitptr->readbit + 7) >> 3); | ||
123 | } | ||
124 | |||
125 | /* | ||
126 | * NAME: bit->skip() | ||
127 | * DESCRIPTION: advance bit pointer | ||
128 | */ | ||
129 | void mad_bit_skip(struct mad_bitptr *bitptr, unsigned int len) | ||
130 | { | ||
131 | bitptr->readbit += len; | ||
132 | } | ||
133 | |||
134 | /* | ||
135 | * NAME: bit->read() | ||
136 | * DESCRIPTION: read an arbitrary number of bits and return their UIMSBF value | ||
137 | */ | ||
138 | |||
139 | uint32_t mad_bit_read(struct mad_bitptr *bitptr, unsigned int len) ICODE_ATTR; | ||
140 | uint32_t mad_bit_read(struct mad_bitptr *bitptr, unsigned int len) | ||
141 | { | ||
142 | uint32_t *curr = &bitptr->ptr[bitptr->readbit>>5]; | ||
143 | |||
144 | if(len) | ||
145 | { | ||
146 | uint32_t r = betoh32(curr[0]) << (bitptr->readbit & 31); | ||
147 | |||
148 | if((bitptr->readbit & 31) + len > 32) | ||
149 | r += betoh32(curr[1]) >> (-bitptr->readbit & 31); | ||
150 | |||
151 | bitptr->readbit += len; | ||
152 | return r >> (32 - len); | ||
153 | } | ||
154 | |||
155 | return 0; | ||
156 | } | ||
157 | |||
158 | # if 0 /* rockbox: not used */ | ||
159 | /* | ||
160 | * NAME: bit->write() | ||
161 | * DESCRIPTION: write an arbitrary number of bits | ||
162 | */ | ||
163 | void mad_bit_write(struct mad_bitptr *bitptr, unsigned int len, | ||
164 | uint32_t value) | ||
165 | { | ||
166 | unsigned char *ptr; | ||
167 | |||
168 | ptr = (unsigned char *) bitptr->byte; | ||
169 | |||
170 | /* ... */ | ||
171 | } | ||
172 | # endif | ||
173 | |||
174 | /* | ||
175 | * NAME: bit->crc() | ||
176 | * DESCRIPTION: compute CRC-check word | ||
177 | */ | ||
178 | unsigned short mad_bit_crc(struct mad_bitptr bitptr, unsigned int len, | ||
179 | unsigned short init) | ||
180 | { | ||
181 | register unsigned int crc; | ||
182 | |||
183 | for (crc = init; len >= 32; len -= 32) { | ||
184 | register uint32_t data; | ||
185 | |||
186 | data = mad_bit_read(&bitptr, 32); | ||
187 | |||
188 | crc = (crc << 8) ^ crc_table[((crc >> 8) ^ (data >> 24)) & 0xff]; | ||
189 | crc = (crc << 8) ^ crc_table[((crc >> 8) ^ (data >> 16)) & 0xff]; | ||
190 | crc = (crc << 8) ^ crc_table[((crc >> 8) ^ (data >> 8)) & 0xff]; | ||
191 | crc = (crc << 8) ^ crc_table[((crc >> 8) ^ (data >> 0)) & 0xff]; | ||
192 | } | ||
193 | |||
194 | switch (len / 8) { | ||
195 | case 3: crc = (crc << 8) ^ | ||
196 | crc_table[((crc >> 8) ^ mad_bit_read(&bitptr, 8)) & 0xff]; | ||
197 | case 2: crc = (crc << 8) ^ | ||
198 | crc_table[((crc >> 8) ^ mad_bit_read(&bitptr, 8)) & 0xff]; | ||
199 | case 1: crc = (crc << 8) ^ | ||
200 | crc_table[((crc >> 8) ^ mad_bit_read(&bitptr, 8)) & 0xff]; | ||
201 | |||
202 | len %= 8; | ||
203 | |||
204 | case 0: break; | ||
205 | } | ||
206 | |||
207 | while (len--) { | ||
208 | register unsigned int msb; | ||
209 | |||
210 | msb = mad_bit_read(&bitptr, 1) ^ (crc >> 15); | ||
211 | |||
212 | crc <<= 1; | ||
213 | if (msb & 1) | ||
214 | crc ^= CRC_POLY; | ||
215 | } | ||
216 | |||
217 | return crc & 0xffff; | ||
218 | } | ||
diff --git a/lib/rbcodec/codecs/libmad/bit.h b/lib/rbcodec/codecs/libmad/bit.h new file mode 100644 index 0000000000..1c49522af5 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/bit.h | |||
@@ -0,0 +1,50 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_BIT_H | ||
23 | # define LIBMAD_BIT_H | ||
24 | |||
25 | struct mad_bitptr { | ||
26 | uint32_t *ptr; | ||
27 | uint32_t readbit; | ||
28 | }; | ||
29 | |||
30 | void mad_bit_init(struct mad_bitptr *, unsigned char const *); | ||
31 | |||
32 | # define mad_bit_finish(bitptr) /* nothing */ | ||
33 | |||
34 | unsigned int mad_bit_length(struct mad_bitptr const *, | ||
35 | struct mad_bitptr const *); | ||
36 | |||
37 | /* rockbox: not used | ||
38 | unsigned char mad_bit_bitsleft(struct mad_bitptr const *bitptr); | ||
39 | */ | ||
40 | unsigned char const *mad_bit_nextbyte(struct mad_bitptr const *); | ||
41 | |||
42 | void mad_bit_skip(struct mad_bitptr *, unsigned int); | ||
43 | uint32_t mad_bit_read(struct mad_bitptr *, unsigned int); | ||
44 | /* rockbox: not used | ||
45 | void mad_bit_write(struct mad_bitptr *, unsigned int, uint32_t); | ||
46 | */ | ||
47 | |||
48 | unsigned short mad_bit_crc(struct mad_bitptr, unsigned int, unsigned short); | ||
49 | |||
50 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/dct32_arm.S b/lib/rbcodec/codecs/libmad/dct32_arm.S new file mode 100644 index 0000000000..440841bb5e --- /dev/null +++ b/lib/rbcodec/codecs/libmad/dct32_arm.S | |||
@@ -0,0 +1,328 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2007 by Tomasz Malesinski | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | |||
22 | #include "mad_iram.h" | ||
23 | |||
24 | .global dct32 | ||
25 | |||
26 | .section ICODE_SECTION_MPA_ARM,"ax",%progbits | ||
27 | |||
28 | dct32: | ||
29 | stmdb sp!, {r4-r11, lr} | ||
30 | sub sp, sp, #144 | ||
31 | str r0, [sp, #12] | ||
32 | str r1, [sp, #8] | ||
33 | str r2, [sp, #4] | ||
34 | str r3, [sp] | ||
35 | add r0, sp, #16 | ||
36 | add r1, r0, #128 | ||
37 | ldr r2, =bitrev | ||
38 | .shuffle: | ||
39 | ldr r5, [sp, #12] | ||
40 | ldr r3, [r2], #4 | ||
41 | sub r4, r5, r3, lsl #4 | ||
42 | add r3, r5, r3, lsl #4 | ||
43 | ldr r6, [r3] | ||
44 | ldr r8, [r4, #124] | ||
45 | add r6, r6, r8 | ||
46 | sub r8, r6, r8, lsl #1 | ||
47 | ldr r7, [r3, #8] | ||
48 | ldr lr, [r4, #116] | ||
49 | add r7, r7, lr | ||
50 | sub lr, r7, lr, lsl #1 | ||
51 | ldr r10, [r3, #64] | ||
52 | ldr r9, [r4, #60] | ||
53 | add r10, r10, r9 | ||
54 | sub r9, r10, r9, lsl #1 | ||
55 | ldr r11, [r3, #72] | ||
56 | ldr r12, [r4, #52] | ||
57 | add r11, r11, r12 | ||
58 | sub r12, r11, r12, lsl #1 | ||
59 | add r6, r6, r10 | ||
60 | sub r10, r6, r10, lsl #1 | ||
61 | add r7, r7, r11 | ||
62 | sub r11, r7, r11, lsl #1 | ||
63 | add r8, r8, r12 | ||
64 | sub r12, r8, r12, lsl #1 | ||
65 | add lr, lr, r9 | ||
66 | sub r9, lr, r9, lsl #1 | ||
67 | stmia r0!, {r6, r7, r8, r9, r10, r11, r12, lr} | ||
68 | cmp r0, r1 | ||
69 | bne .shuffle | ||
70 | ldr r0, =189812531 | ||
71 | add r1, sp, #16 | ||
72 | add r3, r1, #128 | ||
73 | .l2: | ||
74 | add r2, r1, #32 | ||
75 | ldmia r2, {r4, r5, r8, r9} | ||
76 | ldmia r1, {r6, r7, r10, r11} | ||
77 | add r6, r6, r4 | ||
78 | sub r4, r6, r4, lsl #1 | ||
79 | add r7, r7, r5 | ||
80 | sub r5, r7, r5, lsl #1 | ||
81 | stmia r2!, {r4, r5} | ||
82 | stmia r1!, {r6, r7} | ||
83 | add r9, r9, r8 | ||
84 | sub r8, r9, r8, lsl #1 | ||
85 | smull r4, r6, r9, r0 | ||
86 | movs r4, r4, lsr #28 | ||
87 | adc r4, r4, r6, lsl #4 | ||
88 | smull r5, r6, r8, r0 | ||
89 | movs r5, r5, lsr #28 | ||
90 | adc r5, r5, r6, lsl #4 | ||
91 | add r10, r10, r4 | ||
92 | sub r4, r10, r4, lsl #1 | ||
93 | add r11, r11, r5 | ||
94 | sub r5, r11, r5, lsl #1 | ||
95 | stmia r2!, {r4, r5} | ||
96 | stmia r1!, {r10, r11} | ||
97 | ldmia r2, {r5, r6, r8, r11} | ||
98 | ldmia r1, {r4, r7, r9, r10} | ||
99 | add r4, r4, r6 | ||
100 | sub r6, r4, r6, lsl #1 | ||
101 | add r7, r7, r5 | ||
102 | sub r5, r7, r5, lsl #1 | ||
103 | stmia r2!, {r6, r7} | ||
104 | stmia r1!, {r4, r5} | ||
105 | add r11, r11, r8 | ||
106 | sub r8, r11, r8, lsl #1 | ||
107 | smull r5, r4, r8, r0 | ||
108 | movs r5, r5, lsr #28 | ||
109 | adc r5, r5, r4, lsl #4 | ||
110 | smull r6, r4, r11, r0 | ||
111 | movs r6, r6, lsr #28 | ||
112 | adc r6, r6, r4, lsl #4 | ||
113 | add r9, r9, r5 | ||
114 | sub r5, r9, r5, lsl #1 | ||
115 | sub r10, r10, r6 | ||
116 | add r6, r10, r6, lsl #1 | ||
117 | stmia r2!, {r5, r6} | ||
118 | stmia r1!, {r9, r10} | ||
119 | add r1, r1, #32 | ||
120 | cmp r1, r3 | ||
121 | bne .l2 | ||
122 | add r2, sp, #16 | ||
123 | add r3, r2, #64 | ||
124 | ldr r0, =sincos | ||
125 | add r1, r0, #128 | ||
126 | .lbut8: | ||
127 | ldmia r3, {r7, r8} | ||
128 | ldmia r0, {r9, r10} | ||
129 | add r0, r0, #16 | ||
130 | smull r6, r5, r7, r9 | ||
131 | smlal r6, r5, r10, r8 | ||
132 | movs r6, r6, lsr #28 | ||
133 | adc r6, r6, r5, lsl #4 | ||
134 | smull r10, r5, r7, r10 | ||
135 | rsb r9, r9, #0 | ||
136 | smlal r10, r5, r8, r9 | ||
137 | movs r10, r10, lsr #28 | ||
138 | adc r5, r10, r5, lsl #4 | ||
139 | ldmia r2, {r7, r8} | ||
140 | add r7, r7, r5 | ||
141 | sub r5, r7, r5, lsl #1 | ||
142 | add r8, r8, r6 | ||
143 | sub r6, r8, r6, lsl #1 | ||
144 | stmia r3!, {r5, r6} | ||
145 | stmia r2!, {r7, r8} | ||
146 | cmp r0, r1 | ||
147 | bne .lbut8 | ||
148 | add r1, sp, #16 | ||
149 | ldr r2, =sincos | ||
150 | ldr r3, =sincos2 | ||
151 | ldr r0, [sp, #8] | ||
152 | mov r0, r0, lsl #2 | ||
153 | ldr r4, [sp, #4] | ||
154 | add r4, r4, r0 | ||
155 | ldr r5, [sp] | ||
156 | add r5, r5, #480 | ||
157 | add r5, r5, r0 | ||
158 | mov r0, #0 | ||
159 | .l4: | ||
160 | rsb r12, r0, #16 | ||
161 | and r12, r12, #15 | ||
162 | add lr, sp, #16 | ||
163 | add r12, lr, r12, lsl #3 | ||
164 | ldmia r1!, {r10, r11} | ||
165 | ldmia r12, {r6, r7} | ||
166 | add r6, r6, r10 | ||
167 | sub r10, r6, r10, lsl #1 | ||
168 | add r11, r11, r7 | ||
169 | sub r7, r11, r7, lsl #1 | ||
170 | ldmia r2!, {r12, lr} | ||
171 | smull r9, r8, r11, r12 | ||
172 | smlal r9, r8, lr, r10 | ||
173 | movs r9, r9, lsr #28 | ||
174 | adc r9, r9, r8, lsl #4 | ||
175 | smull lr, r8, r11, lr | ||
176 | rsb r12, r12, #0 | ||
177 | smlal lr, r8, r10, r12 | ||
178 | movs lr, lr, lsr #28 | ||
179 | adc r8, lr, r8, lsl #4 | ||
180 | add r6, r6, r8 | ||
181 | sub r8, r6, r8, lsl #1 | ||
182 | add r7, r7, r9 | ||
183 | sub r9, r7, r9, lsl #1 | ||
184 | add lr, r3, #128 | ||
185 | ldmia lr, {r10, r11} | ||
186 | smull lr, r12, r8, r11 | ||
187 | smlal lr, r12, r9, r10 | ||
188 | movs lr, lr, lsr #28 | ||
189 | adc r12, lr, r12, lsl #4 | ||
190 | str r12, [r4], #32 | ||
191 | cmp r0, #0 | ||
192 | cmpne r0, #8 | ||
193 | beq .skip1 | ||
194 | smull lr, r12, r8, r10 | ||
195 | rsb r9, r9, #0 | ||
196 | smlal lr, r12, r9, r11 | ||
197 | movs lr, lr, lsr #28 | ||
198 | adc r12, lr, r12, lsl #4 | ||
199 | add lr, r5, r0, lsl #6 | ||
200 | str r12, [lr, #-512] | ||
201 | .skip1: | ||
202 | ldmia r3!, {r10, r11} | ||
203 | smull lr, r12, r7, r10 | ||
204 | smlal lr, r12, r6, r11 | ||
205 | movs lr, lr, lsr #28 | ||
206 | adc r12, lr, r12, lsl #4 | ||
207 | str r12, [r5], #-32 | ||
208 | cmp r0, #0 | ||
209 | cmpne r0, #8 | ||
210 | beq .skip2 | ||
211 | smull lr, r12, r6, r10 | ||
212 | rsb r7, r7, #0 | ||
213 | smlal lr, r12, r7, r11 | ||
214 | movs lr, lr, lsr #28 | ||
215 | adc r12, lr, r12, lsl #4 | ||
216 | sub lr, r4, r0, lsl #6 | ||
217 | str r12, [lr, #480] | ||
218 | .skip2: | ||
219 | add r0, r0, #1 | ||
220 | cmp r0, #9 | ||
221 | bne .l4 | ||
222 | add sp, sp, #144 | ||
223 | ldmpc regs=r4-r11 | ||
224 | bitrev: | ||
225 | .word 0x0 | ||
226 | .word 0x2 | ||
227 | .word 0x1 | ||
228 | .word 0x3 | ||
229 | |||
230 | sincos: | ||
231 | .word 0x0 | ||
232 | .word 0x10000000 | ||
233 | .word -0x31f1708 | ||
234 | .word 0xfb14be8 | ||
235 | .word -0x61f78aa | ||
236 | .word 0xec835e8 | ||
237 | .word -0x8e39d9d | ||
238 | .word 0xd4db315 | ||
239 | .word -0xb504f33 | ||
240 | .word 0xb504f33 | ||
241 | .word -0xd4db315 | ||
242 | .word 0x8e39d9d | ||
243 | .word -0xec835e8 | ||
244 | .word 0x61f78aa | ||
245 | .word -0xfb14be8 | ||
246 | .word 0x31f1708 | ||
247 | .word -0x10000000 | ||
248 | .word 0x0 | ||
249 | .word -0xfb14be8 | ||
250 | .word -0x31f1708 | ||
251 | .word -0xec835e8 | ||
252 | .word -0x61f78aa | ||
253 | .word -0xd4db315 | ||
254 | .word -0x8e39d9d | ||
255 | .word -0xb504f33 | ||
256 | .word -0xb504f33 | ||
257 | .word -0x8e39d9d | ||
258 | .word -0xd4db315 | ||
259 | .word -0x61f78aa | ||
260 | .word -0xec835e8 | ||
261 | .word -0x31f1708 | ||
262 | .word -0xfb14be8 | ||
263 | |||
264 | sincos2: | ||
265 | .word 0x0 | ||
266 | .word 0x8000000 | ||
267 | .word 0x647d98 | ||
268 | .word 0x7fd8879 | ||
269 | .word 0xc8bd36 | ||
270 | .word 0x7f62369 | ||
271 | .word 0x12c8107 | ||
272 | .word 0x7e9d560 | ||
273 | .word 0x18f8b84 | ||
274 | .word 0x7d8a5f4 | ||
275 | .word 0x1f19f98 | ||
276 | .word 0x7c29fbf | ||
277 | .word 0x25280c6 | ||
278 | .word 0x7a7d056 | ||
279 | .word 0x2b1f34f | ||
280 | .word 0x7884841 | ||
281 | .word 0x30fbc55 | ||
282 | .word 0x7641af4 | ||
283 | .word 0x36ba201 | ||
284 | .word 0x73b5ebd | ||
285 | .word 0x3c56ba7 | ||
286 | .word 0x70e2cbc | ||
287 | .word 0x41ce1e6 | ||
288 | .word 0x6dca0d1 | ||
289 | .word 0x471cece | ||
290 | .word 0x6a6d98a | ||
291 | .word 0x4c3fdff | ||
292 | .word 0x66cf812 | ||
293 | .word 0x5133cc9 | ||
294 | .word 0x62f201b | ||
295 | .word 0x55f5a4d | ||
296 | .word 0x5ed77c9 | ||
297 | .word 0x5a8279a | ||
298 | .word 0x5a8279a | ||
299 | .word 0x5ed77c9 | ||
300 | .word 0x55f5a4d | ||
301 | .word 0x62f201b | ||
302 | .word 0x5133cc9 | ||
303 | .word 0x66cf812 | ||
304 | .word 0x4c3fdff | ||
305 | .word 0x6a6d98a | ||
306 | .word 0x471cece | ||
307 | .word 0x6dca0d1 | ||
308 | .word 0x41ce1e6 | ||
309 | .word 0x70e2cbc | ||
310 | .word 0x3c56ba7 | ||
311 | .word 0x73b5ebd | ||
312 | .word 0x36ba201 | ||
313 | .word 0x7641af4 | ||
314 | .word 0x30fbc55 | ||
315 | .word 0x7884841 | ||
316 | .word 0x2b1f34f | ||
317 | .word 0x7a7d056 | ||
318 | .word 0x25280c6 | ||
319 | .word 0x7c29fbf | ||
320 | .word 0x1f19f98 | ||
321 | .word 0x7d8a5f4 | ||
322 | .word 0x18f8b84 | ||
323 | .word 0x7e9d560 | ||
324 | .word 0x12c8107 | ||
325 | .word 0x7f62369 | ||
326 | .word 0xc8bd36 | ||
327 | .word 0x7fd8879 | ||
328 | .word 0x647d98 | ||
diff --git a/lib/rbcodec/codecs/libmad/fixed.h b/lib/rbcodec/codecs/libmad/fixed.h new file mode 100644 index 0000000000..6015684644 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/fixed.h | |||
@@ -0,0 +1,510 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_FIXED_H | ||
23 | # define LIBMAD_FIXED_H | ||
24 | |||
25 | #include <inttypes.h> | ||
26 | |||
27 | typedef int32_t mad_fixed_t; | ||
28 | |||
29 | typedef int32_t mad_fixed64hi_t; | ||
30 | typedef uint32_t mad_fixed64lo_t; | ||
31 | |||
32 | # if defined(_MSC_VER) | ||
33 | # define mad_fixed64_t signed __int64 | ||
34 | # elif 1 || defined(__GNUC__) | ||
35 | # define mad_fixed64_t signed long long | ||
36 | # endif | ||
37 | |||
38 | # if defined(FPM_FLOAT) | ||
39 | typedef double mad_sample_t; | ||
40 | # else | ||
41 | typedef mad_fixed_t mad_sample_t; | ||
42 | # endif | ||
43 | |||
44 | /* | ||
45 | * Fixed-point format: 0xABBBBBBB | ||
46 | * A == whole part (sign + 3 bits) | ||
47 | * B == fractional part (28 bits) | ||
48 | * | ||
49 | * Values are signed two's complement, so the effective range is: | ||
50 | * 0x80000000 to 0x7fffffff | ||
51 | * -8.0 to +7.9999999962747097015380859375 | ||
52 | * | ||
53 | * The smallest representable value is: | ||
54 | * 0x00000001 == 0.0000000037252902984619140625 (i.e. about 3.725e-9) | ||
55 | * | ||
56 | * 28 bits of fractional accuracy represent about | ||
57 | * 8.6 digits of decimal accuracy. | ||
58 | * | ||
59 | * Fixed-point numbers can be added or subtracted as normal | ||
60 | * integers, but multiplication requires shifting the 64-bit result | ||
61 | * from 56 fractional bits back to 28 (and rounding.) | ||
62 | * | ||
63 | * Changing the definition of MAD_F_FRACBITS is only partially | ||
64 | * supported, and must be done with care. | ||
65 | */ | ||
66 | |||
67 | # define MAD_F_FRACBITS 28 | ||
68 | |||
69 | # if MAD_F_FRACBITS == 28 | ||
70 | # define MAD_F(x) ((mad_fixed_t) (x##L)) | ||
71 | # else | ||
72 | # if MAD_F_FRACBITS < 28 | ||
73 | # warning "MAD_F_FRACBITS < 28" | ||
74 | # define MAD_F(x) ((mad_fixed_t) \ | ||
75 | (((x##L) + \ | ||
76 | (1L << (28 - MAD_F_FRACBITS - 1))) >> \ | ||
77 | (28 - MAD_F_FRACBITS))) | ||
78 | # elif MAD_F_FRACBITS > 28 | ||
79 | # error "MAD_F_FRACBITS > 28 not currently supported" | ||
80 | # define MAD_F(x) ((mad_fixed_t) \ | ||
81 | ((x##L) << (MAD_F_FRACBITS - 28))) | ||
82 | # endif | ||
83 | # endif | ||
84 | |||
85 | # define MAD_F_MIN ((mad_fixed_t) -0x80000000L) | ||
86 | # define MAD_F_MAX ((mad_fixed_t) +0x7fffffffL) | ||
87 | |||
88 | # define MAD_F_ONE MAD_F(0x10000000) | ||
89 | |||
90 | # define mad_f_tofixed(x) ((mad_fixed_t) \ | ||
91 | ((x) * (double) (1L << MAD_F_FRACBITS) + 0.5)) | ||
92 | # define mad_f_todouble(x) ((double) \ | ||
93 | ((x) / (double) (1L << MAD_F_FRACBITS))) | ||
94 | |||
95 | # define mad_f_intpart(x) ((x) >> MAD_F_FRACBITS) | ||
96 | # define mad_f_fracpart(x) ((x) & ((1L << MAD_F_FRACBITS) - 1)) | ||
97 | /* (x should be positive) */ | ||
98 | |||
99 | # define mad_f_fromint(x) ((x) << MAD_F_FRACBITS) | ||
100 | |||
101 | # define mad_f_add(x, y) ((x) + (y)) | ||
102 | # define mad_f_sub(x, y) ((x) - (y)) | ||
103 | |||
104 | # if defined(FPM_FLOAT) | ||
105 | # error "FPM_FLOAT not yet supported" | ||
106 | |||
107 | # undef MAD_F | ||
108 | # define MAD_F(x) mad_f_todouble(x) | ||
109 | |||
110 | # define mad_f_mul(x, y) ((x) * (y)) | ||
111 | # define mad_f_scale64 | ||
112 | |||
113 | # elif defined(FPM_64BIT) | ||
114 | |||
115 | /* | ||
116 | * This version should be the most accurate if 64-bit types are supported by | ||
117 | * the compiler, although it may not be the most efficient. | ||
118 | */ | ||
119 | # if defined(OPT_ACCURACY) | ||
120 | # define mad_f_mul(x, y) \ | ||
121 | ((mad_fixed_t) \ | ||
122 | ((((mad_fixed64_t) (x) * (y)) + \ | ||
123 | (1L << (MAD_F_SCALEBITS - 1))) >> MAD_F_SCALEBITS)) | ||
124 | # else | ||
125 | # define mad_f_mul(x, y) \ | ||
126 | ((mad_fixed_t) (((mad_fixed64_t) (x) * (y)) >> MAD_F_SCALEBITS)) | ||
127 | # endif | ||
128 | |||
129 | # define MAD_F_SCALEBITS MAD_F_FRACBITS | ||
130 | |||
131 | /* --- Intel --------------------------------------------------------------- */ | ||
132 | |||
133 | # elif defined(FPM_INTEL) | ||
134 | |||
135 | # if defined(_MSC_VER) | ||
136 | # pragma warning(push) | ||
137 | # pragma warning(disable: 4035) /* no return value */ | ||
138 | static __forceinline | ||
139 | mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) | ||
140 | { | ||
141 | enum { | ||
142 | fracbits = MAD_F_FRACBITS | ||
143 | }; | ||
144 | |||
145 | __asm { | ||
146 | mov eax, x | ||
147 | imul y | ||
148 | shrd eax, edx, fracbits | ||
149 | } | ||
150 | |||
151 | /* implicit return of eax */ | ||
152 | } | ||
153 | # pragma warning(pop) | ||
154 | |||
155 | # define mad_f_mul mad_f_mul_inline | ||
156 | # define mad_f_scale64 | ||
157 | # else | ||
158 | /* | ||
159 | * This Intel version is fast and accurate; the disposition of the least | ||
160 | * significant bit depends on OPT_ACCURACY via mad_f_scale64(). | ||
161 | */ | ||
162 | # define MAD_F_MLX(hi, lo, x, y) \ | ||
163 | asm ("imull %3" \ | ||
164 | : "=a" (lo), "=d" (hi) \ | ||
165 | : "%a" (x), "rm" (y) \ | ||
166 | : "cc") | ||
167 | |||
168 | # if defined(OPT_ACCURACY) | ||
169 | /* | ||
170 | * This gives best accuracy but is not very fast. | ||
171 | */ | ||
172 | # define MAD_F_MLA(hi, lo, x, y) \ | ||
173 | ({ mad_fixed64hi_t __hi; \ | ||
174 | mad_fixed64lo_t __lo; \ | ||
175 | MAD_F_MLX(__hi, __lo, (x), (y)); \ | ||
176 | asm ("addl %2,%0\n\t" \ | ||
177 | "adcl %3,%1" \ | ||
178 | : "=rm" (lo), "=rm" (hi) \ | ||
179 | : "r" (__lo), "r" (__hi), "0" (lo), "1" (hi) \ | ||
180 | : "cc"); \ | ||
181 | }) | ||
182 | # endif /* OPT_ACCURACY */ | ||
183 | |||
184 | # if defined(OPT_ACCURACY) | ||
185 | /* | ||
186 | * Surprisingly, this is faster than SHRD followed by ADC. | ||
187 | */ | ||
188 | # define mad_f_scale64(hi, lo) \ | ||
189 | ({ mad_fixed64hi_t __hi_; \ | ||
190 | mad_fixed64lo_t __lo_; \ | ||
191 | mad_fixed_t __result; \ | ||
192 | asm ("addl %4,%2\n\t" \ | ||
193 | "adcl %5,%3" \ | ||
194 | : "=rm" (__lo_), "=rm" (__hi_) \ | ||
195 | : "0" (lo), "1" (hi), \ | ||
196 | "ir" (1L << (MAD_F_SCALEBITS - 1)), "ir" (0) \ | ||
197 | : "cc"); \ | ||
198 | asm ("shrdl %3,%2,%1" \ | ||
199 | : "=rm" (__result) \ | ||
200 | : "0" (__lo_), "r" (__hi_), "I" (MAD_F_SCALEBITS) \ | ||
201 | : "cc"); \ | ||
202 | __result; \ | ||
203 | }) | ||
204 | # elif defined(OPT_INTEL) | ||
205 | /* | ||
206 | * Alternate Intel scaling that may or may not perform better. | ||
207 | */ | ||
208 | # define mad_f_scale64(hi, lo) \ | ||
209 | ({ mad_fixed_t __result; \ | ||
210 | asm ("shrl %3,%1\n\t" \ | ||
211 | "shll %4,%2\n\t" \ | ||
212 | "orl %2,%1" \ | ||
213 | : "=rm" (__result) \ | ||
214 | : "0" (lo), "r" (hi), \ | ||
215 | "I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS) \ | ||
216 | : "cc"); \ | ||
217 | __result; \ | ||
218 | }) | ||
219 | # else | ||
220 | # define mad_f_scale64(hi, lo) \ | ||
221 | ({ mad_fixed_t __result; \ | ||
222 | asm ("shrdl %3,%2,%1" \ | ||
223 | : "=rm" (__result) \ | ||
224 | : "0" (lo), "r" (hi), "I" (MAD_F_SCALEBITS) \ | ||
225 | : "cc"); \ | ||
226 | __result; \ | ||
227 | }) | ||
228 | # endif /* OPT_ACCURACY */ | ||
229 | |||
230 | # define MAD_F_SCALEBITS MAD_F_FRACBITS | ||
231 | # endif | ||
232 | |||
233 | /* --- ARM ----------------------------------------------------------------- */ | ||
234 | |||
235 | # elif defined(FPM_ARM) | ||
236 | |||
237 | /* | ||
238 | * This ARM V4 version is as accurate as FPM_64BIT but much faster. The | ||
239 | * least significant bit is properly rounded at no CPU cycle cost! | ||
240 | */ | ||
241 | # if 1 | ||
242 | /* | ||
243 | * This is faster than the default implementation via MAD_F_MLX() and | ||
244 | * mad_f_scale64(). | ||
245 | */ | ||
246 | # define mad_f_mul(x, y) \ | ||
247 | ({ mad_fixed64hi_t __hi; \ | ||
248 | mad_fixed64lo_t __lo; \ | ||
249 | mad_fixed_t __result; \ | ||
250 | asm ("smull %0, %1, %3, %4\n\t" \ | ||
251 | "movs %0, %0, lsr %5\n\t" \ | ||
252 | "adc %2, %0, %1, lsl %6" \ | ||
253 | : "=&r" (__lo), "=&r" (__hi), "=r" (__result) \ | ||
254 | : "%r" (x), "r" (y), \ | ||
255 | "M" (MAD_F_SCALEBITS), "M" (32 - MAD_F_SCALEBITS) \ | ||
256 | : "cc"); \ | ||
257 | __result; \ | ||
258 | }) | ||
259 | # endif | ||
260 | |||
261 | # define MAD_F_MLX(hi, lo, x, y) \ | ||
262 | asm ("smull %0, %1, %2, %3" \ | ||
263 | : "=&r" (lo), "=&r" (hi) \ | ||
264 | : "%r" (x), "r" (y)) | ||
265 | |||
266 | # define MAD_F_MLA(hi, lo, x, y) \ | ||
267 | asm ("smlal %0, %1, %2, %3" \ | ||
268 | : "+r" (lo), "+r" (hi) \ | ||
269 | : "%r" (x), "r" (y)) | ||
270 | |||
271 | # define MAD_F_MLN(hi, lo) \ | ||
272 | asm ("rsbs %0, %2, #0\n\t" \ | ||
273 | "rsc %1, %3, #0" \ | ||
274 | : "=r" (lo), "=r" (hi) \ | ||
275 | : "0" (lo), "1" (hi) \ | ||
276 | : "cc") | ||
277 | |||
278 | # define mad_f_scale64(hi, lo) \ | ||
279 | ({ mad_fixed_t __result; \ | ||
280 | asm ("movs %0, %1, lsr %3\n\t" \ | ||
281 | "adc %0, %0, %2, lsl %4" \ | ||
282 | : "=&r" (__result) \ | ||
283 | : "r" (lo), "r" (hi), \ | ||
284 | "M" (MAD_F_SCALEBITS), "M" (32 - MAD_F_SCALEBITS) \ | ||
285 | : "cc"); \ | ||
286 | __result; \ | ||
287 | }) | ||
288 | |||
289 | # define MAD_F_SCALEBITS MAD_F_FRACBITS | ||
290 | |||
291 | /* --- MIPS ---------------------------------------------------------------- */ | ||
292 | |||
293 | # elif defined(FPM_MIPS) | ||
294 | |||
295 | /* | ||
296 | * This MIPS version is fast and accurate; the disposition of the least | ||
297 | * significant bit depends on OPT_ACCURACY via mad_f_scale64(). | ||
298 | */ | ||
299 | # define MAD_F_MLX(hi, lo, x, y) \ | ||
300 | asm ("mult %2,%3" \ | ||
301 | : "=l" (lo), "=h" (hi) \ | ||
302 | : "%r" (x), "r" (y)) | ||
303 | |||
304 | # if defined(HAVE_MADD_ASM) | ||
305 | # define MAD_F_MLA(hi, lo, x, y) \ | ||
306 | asm ("madd %2,%3" \ | ||
307 | : "+l" (lo), "+h" (hi) \ | ||
308 | : "%r" (x), "r" (y)) | ||
309 | # elif defined(HAVE_MADD16_ASM) | ||
310 | /* | ||
311 | * This loses significant accuracy due to the 16-bit integer limit in the | ||
312 | * multiply/accumulate instruction. | ||
313 | */ | ||
314 | # define MAD_F_ML0(hi, lo, x, y) \ | ||
315 | asm ("mult %2,%3" \ | ||
316 | : "=l" (lo), "=h" (hi) \ | ||
317 | : "%r" ((x) >> 12), "r" ((y) >> 16)) | ||
318 | # define MAD_F_MLA(hi, lo, x, y) \ | ||
319 | asm ("madd16 %2,%3" \ | ||
320 | : "+l" (lo), "+h" (hi) \ | ||
321 | : "%r" ((x) >> 12), "r" ((y) >> 16)) | ||
322 | # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) | ||
323 | # endif | ||
324 | |||
325 | # if defined(OPT_SPEED) | ||
326 | # define mad_f_scale64(hi, lo) \ | ||
327 | ((mad_fixed_t) ((hi) << (32 - MAD_F_SCALEBITS))) | ||
328 | # define MAD_F_SCALEBITS MAD_F_FRACBITS | ||
329 | # endif | ||
330 | |||
331 | /* --- SPARC --------------------------------------------------------------- */ | ||
332 | |||
333 | # elif defined(FPM_SPARC) | ||
334 | |||
335 | /* | ||
336 | * This SPARC V8 version is fast and accurate; the disposition of the least | ||
337 | * significant bit depends on OPT_ACCURACY via mad_f_scale64(). | ||
338 | */ | ||
339 | # define MAD_F_MLX(hi, lo, x, y) \ | ||
340 | asm ("smul %2, %3, %0\n\t" \ | ||
341 | "rd %%y, %1" \ | ||
342 | : "=r" (lo), "=r" (hi) \ | ||
343 | : "%r" (x), "rI" (y)) | ||
344 | |||
345 | /* --- PowerPC ------------------------------------------------------------- */ | ||
346 | |||
347 | # elif defined(FPM_PPC) | ||
348 | |||
349 | /* | ||
350 | * This PowerPC version is fast and accurate; the disposition of the least | ||
351 | * significant bit depends on OPT_ACCURACY via mad_f_scale64(). | ||
352 | */ | ||
353 | # define MAD_F_MLX(hi, lo, x, y) \ | ||
354 | do { \ | ||
355 | asm ("mullw %0,%1,%2" \ | ||
356 | : "=r" (lo) \ | ||
357 | : "%r" (x), "r" (y)); \ | ||
358 | asm ("mulhw %0,%1,%2" \ | ||
359 | : "=r" (hi) \ | ||
360 | : "%r" (x), "r" (y)); \ | ||
361 | } \ | ||
362 | while (0) | ||
363 | |||
364 | # if defined(OPT_ACCURACY) | ||
365 | /* | ||
366 | * This gives best accuracy but is not very fast. | ||
367 | */ | ||
368 | # define MAD_F_MLA(hi, lo, x, y) \ | ||
369 | ({ mad_fixed64hi_t __hi; \ | ||
370 | mad_fixed64lo_t __lo; \ | ||
371 | MAD_F_MLX(__hi, __lo, (x), (y)); \ | ||
372 | asm ("addc %0,%2,%3\n\t" \ | ||
373 | "adde %1,%4,%5" \ | ||
374 | : "=r" (lo), "=r" (hi) \ | ||
375 | : "%r" (lo), "r" (__lo), \ | ||
376 | "%r" (hi), "r" (__hi) \ | ||
377 | : "xer"); \ | ||
378 | }) | ||
379 | # endif | ||
380 | |||
381 | # if defined(OPT_ACCURACY) | ||
382 | /* | ||
383 | * This is slower than the truncating version below it. | ||
384 | */ | ||
385 | # define mad_f_scale64(hi, lo) \ | ||
386 | ({ mad_fixed_t __result, __round; \ | ||
387 | asm ("rotrwi %0,%1,%2" \ | ||
388 | : "=r" (__result) \ | ||
389 | : "r" (lo), "i" (MAD_F_SCALEBITS)); \ | ||
390 | asm ("extrwi %0,%1,1,0" \ | ||
391 | : "=r" (__round) \ | ||
392 | : "r" (__result)); \ | ||
393 | asm ("insrwi %0,%1,%2,0" \ | ||
394 | : "+r" (__result) \ | ||
395 | : "r" (hi), "i" (MAD_F_SCALEBITS)); \ | ||
396 | asm ("add %0,%1,%2" \ | ||
397 | : "=r" (__result) \ | ||
398 | : "%r" (__result), "r" (__round)); \ | ||
399 | __result; \ | ||
400 | }) | ||
401 | # else | ||
402 | # define mad_f_scale64(hi, lo) \ | ||
403 | ({ mad_fixed_t __result; \ | ||
404 | asm ("rotrwi %0,%1,%2" \ | ||
405 | : "=r" (__result) \ | ||
406 | : "r" (lo), "i" (MAD_F_SCALEBITS)); \ | ||
407 | asm ("insrwi %0,%1,%2,0" \ | ||
408 | : "+r" (__result) \ | ||
409 | : "r" (hi), "i" (MAD_F_SCALEBITS)); \ | ||
410 | __result; \ | ||
411 | }) | ||
412 | # endif | ||
413 | |||
414 | # define MAD_F_SCALEBITS MAD_F_FRACBITS | ||
415 | |||
416 | # elif defined(FPM_COLDFIRE_EMAC) | ||
417 | |||
418 | /* mad_f_mul using the Coldfire MCF5249 EMAC unit. Loses 3 bits of accuracy. | ||
419 | Note that we don't define any of the libmad accumulator macros, as | ||
420 | any functions that use these should have the relevant sections rewritten | ||
421 | in assembler to utilise the EMAC accumulators properly. | ||
422 | Assumes the default +/- 3.28 fixed point format | ||
423 | */ | ||
424 | #define mad_f_mul(x, y) \ | ||
425 | ({ \ | ||
426 | mad_fixed64hi_t hi; \ | ||
427 | asm volatile("mac.l %[a], %[b], %%acc0\n\t" \ | ||
428 | "movclr.l %%acc0, %[hi]\n\t" \ | ||
429 | "asl.l #3, %[hi]" \ | ||
430 | : [hi] "=d" (hi) \ | ||
431 | : [a] "r" ((x)), [b] "r" ((y))); \ | ||
432 | hi; \ | ||
433 | }) | ||
434 | /* Define dummy mad_f_scale64 to prevent libmad from defining MAD_F_SCALEBITS | ||
435 | below. Having MAD_F_SCALEBITS defined screws up the PRESHIFT macro in synth.c | ||
436 | */ | ||
437 | #define mad_f_scale64(hi, lo) (lo) | ||
438 | |||
439 | /* --- Default ------------------------------------------------------------- */ | ||
440 | |||
441 | # elif defined(FPM_DEFAULT) | ||
442 | |||
443 | /* | ||
444 | * This version is the most portable but it loses significant accuracy. | ||
445 | * Furthermore, accuracy is biased against the second argument, so care | ||
446 | * should be taken when ordering operands. | ||
447 | * | ||
448 | * The scale factors are constant as this is not used with SSO. | ||
449 | * | ||
450 | * Pre-rounding is required to stay within the limits of compliance. | ||
451 | */ | ||
452 | # if defined(OPT_SPEED) | ||
453 | # define mad_f_mul(x, y) (((x) >> 12) * ((y) >> 16)) | ||
454 | # else | ||
455 | # define mad_f_mul(x, y) ((((x) + (1L << 11)) >> 12) * \ | ||
456 | (((y) + (1L << 15)) >> 16)) | ||
457 | # endif | ||
458 | |||
459 | /* ------------------------------------------------------------------------- */ | ||
460 | |||
461 | # else | ||
462 | # error "no FPM selected" | ||
463 | # endif | ||
464 | |||
465 | /* default implementations */ | ||
466 | |||
467 | # if !defined(mad_f_mul) | ||
468 | # define mad_f_mul(x, y) \ | ||
469 | ({ register mad_fixed64hi_t __hi; \ | ||
470 | register mad_fixed64lo_t __lo; \ | ||
471 | MAD_F_MLX(__hi, __lo, (x), (y)); \ | ||
472 | mad_f_scale64(__hi, __lo); \ | ||
473 | }) | ||
474 | # endif | ||
475 | |||
476 | # if !defined(MAD_F_MLA) | ||
477 | # define MAD_F_ML0(hi, lo, x, y) ((lo) = mad_f_mul((x), (y))) | ||
478 | # define MAD_F_MLA(hi, lo, x, y) ((lo) += mad_f_mul((x), (y))) | ||
479 | # define MAD_F_MLN(hi, lo) ((lo) = -(lo)) | ||
480 | # define MAD_F_MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo)) | ||
481 | # endif | ||
482 | |||
483 | # if !defined(MAD_F_ML0) | ||
484 | # define MAD_F_ML0(hi, lo, x, y) MAD_F_MLX((hi), (lo), (x), (y)) | ||
485 | # endif | ||
486 | |||
487 | # if !defined(MAD_F_MLN) | ||
488 | # define MAD_F_MLN(hi, lo) ((hi) = ((lo) = -(lo)) ? ~(hi) : -(hi)) | ||
489 | # endif | ||
490 | |||
491 | # if !defined(MAD_F_MLZ) | ||
492 | # define MAD_F_MLZ(hi, lo) mad_f_scale64((hi), (lo)) | ||
493 | # endif | ||
494 | |||
495 | # if !defined(mad_f_scale64) | ||
496 | # if defined(OPT_ACCURACY) | ||
497 | # define mad_f_scale64(hi, lo) \ | ||
498 | ((((mad_fixed_t) \ | ||
499 | (((hi) << (32 - (MAD_F_SCALEBITS - 1))) | \ | ||
500 | ((lo) >> (MAD_F_SCALEBITS - 1)))) + 1) >> 1) | ||
501 | # else | ||
502 | # define mad_f_scale64(hi, lo) \ | ||
503 | ((mad_fixed_t) \ | ||
504 | (((hi) << (32 - MAD_F_SCALEBITS)) | \ | ||
505 | ((lo) >> MAD_F_SCALEBITS))) | ||
506 | # endif | ||
507 | # define MAD_F_SCALEBITS MAD_F_FRACBITS | ||
508 | # endif | ||
509 | |||
510 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/frame.c b/lib/rbcodec/codecs/libmad/frame.c new file mode 100644 index 0000000000..f17306285c --- /dev/null +++ b/lib/rbcodec/codecs/libmad/frame.c | |||
@@ -0,0 +1,499 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifdef HAVE_CONFIG_H | ||
23 | # include "config.h" | ||
24 | # endif | ||
25 | |||
26 | # include "global.h" | ||
27 | |||
28 | # include "bit.h" | ||
29 | # include "stream.h" | ||
30 | # include "frame.h" | ||
31 | # include "timer.h" | ||
32 | # include "layer12.h" | ||
33 | # include "layer3.h" | ||
34 | # include "codeclib.h" | ||
35 | |||
36 | static | ||
37 | unsigned long const bitrate_table[5][15] = { | ||
38 | /* MPEG-1 */ | ||
39 | { 0, 32000, 64000, 96000, 128000, 160000, 192000, 224000, /* Layer I */ | ||
40 | 256000, 288000, 320000, 352000, 384000, 416000, 448000 }, | ||
41 | { 0, 32000, 48000, 56000, 64000, 80000, 96000, 112000, /* Layer II */ | ||
42 | 128000, 160000, 192000, 224000, 256000, 320000, 384000 }, | ||
43 | { 0, 32000, 40000, 48000, 56000, 64000, 80000, 96000, /* Layer III */ | ||
44 | 112000, 128000, 160000, 192000, 224000, 256000, 320000 }, | ||
45 | |||
46 | /* MPEG-2 LSF */ | ||
47 | { 0, 32000, 48000, 56000, 64000, 80000, 96000, 112000, /* Layer I */ | ||
48 | 128000, 144000, 160000, 176000, 192000, 224000, 256000 }, | ||
49 | { 0, 8000, 16000, 24000, 32000, 40000, 48000, 56000, /* Layers */ | ||
50 | 64000, 80000, 96000, 112000, 128000, 144000, 160000 } /* II & III */ | ||
51 | }; | ||
52 | |||
53 | static | ||
54 | unsigned int const samplerate_table[3] = { 44100, 48000, 32000 }; | ||
55 | |||
56 | static | ||
57 | int (*const decoder_table[3])(struct mad_stream *, struct mad_frame *) = { | ||
58 | mad_layer_I, | ||
59 | mad_layer_II, | ||
60 | mad_layer_III | ||
61 | }; | ||
62 | |||
63 | /* | ||
64 | * NAME: header->init() | ||
65 | * DESCRIPTION: initialize header struct | ||
66 | */ | ||
67 | void mad_header_init(struct mad_header *header) | ||
68 | { | ||
69 | header->layer = 0; | ||
70 | header->mode = 0; | ||
71 | header->mode_extension = 0; | ||
72 | header->emphasis = 0; | ||
73 | |||
74 | header->bitrate = 0; | ||
75 | header->samplerate = 0; | ||
76 | |||
77 | header->crc_check = 0; | ||
78 | header->crc_target = 0; | ||
79 | |||
80 | header->flags = 0; | ||
81 | header->private_bits = 0; | ||
82 | /* rockbox: not used | ||
83 | header->duration = mad_timer_zero; | ||
84 | */ | ||
85 | } | ||
86 | |||
87 | /* | ||
88 | * NAME: frame->init() | ||
89 | * DESCRIPTION: initialize frame struct | ||
90 | */ | ||
91 | void mad_frame_init(struct mad_frame *frame) | ||
92 | { | ||
93 | mad_header_init(&frame->header); | ||
94 | |||
95 | frame->options = 0; | ||
96 | /* rockbox: comment this to proper zero this array in mad_frame_mute(). overlap | ||
97 | * is linked to an array in ../mpa.c before calling this. | ||
98 | frame->overlap = 0; | ||
99 | */ | ||
100 | mad_frame_mute(frame); | ||
101 | } | ||
102 | |||
103 | /* | ||
104 | * NAME: frame->finish() | ||
105 | * DESCRIPTION: deallocate any dynamic memory associated with frame | ||
106 | */ | ||
107 | /* rockbox: unused | ||
108 | void mad_frame_finish(struct mad_frame *frame) | ||
109 | { | ||
110 | mad_header_finish(&frame->header); | ||
111 | |||
112 | if (frame->overlap) { | ||
113 | free(frame->overlap); | ||
114 | frame->overlap = 0; | ||
115 | } | ||
116 | } | ||
117 | */ | ||
118 | |||
119 | /* | ||
120 | * NAME: decode_header() | ||
121 | * DESCRIPTION: read header data and following CRC word | ||
122 | */ | ||
123 | static | ||
124 | int decode_header(struct mad_header *header, struct mad_stream *stream) | ||
125 | { | ||
126 | unsigned int index; | ||
127 | |||
128 | header->flags = 0; | ||
129 | header->private_bits = 0; | ||
130 | |||
131 | /* header() */ | ||
132 | |||
133 | /* syncword */ | ||
134 | mad_bit_skip(&stream->ptr, 11); | ||
135 | |||
136 | /* MPEG 2.5 indicator (really part of syncword) */ | ||
137 | if (mad_bit_read(&stream->ptr, 1) == 0) | ||
138 | header->flags |= MAD_FLAG_MPEG_2_5_EXT; | ||
139 | |||
140 | /* ID */ | ||
141 | if (mad_bit_read(&stream->ptr, 1) == 0) | ||
142 | header->flags |= MAD_FLAG_LSF_EXT; | ||
143 | else if (header->flags & MAD_FLAG_MPEG_2_5_EXT) { | ||
144 | stream->error = MAD_ERROR_LOSTSYNC; | ||
145 | return -1; | ||
146 | } | ||
147 | |||
148 | /* layer */ | ||
149 | header->layer = 4 - mad_bit_read(&stream->ptr, 2); | ||
150 | |||
151 | if (header->layer == 4) { | ||
152 | stream->error = MAD_ERROR_BADLAYER; | ||
153 | return -1; | ||
154 | } | ||
155 | |||
156 | /* protection_bit */ | ||
157 | if (mad_bit_read(&stream->ptr, 1) == 0) { | ||
158 | header->flags |= MAD_FLAG_PROTECTION; | ||
159 | header->crc_check = mad_bit_crc(stream->ptr, 16, 0xffff); | ||
160 | } | ||
161 | |||
162 | /* bitrate_index */ | ||
163 | index = mad_bit_read(&stream->ptr, 4); | ||
164 | |||
165 | if (index == 15) { | ||
166 | stream->error = MAD_ERROR_BADBITRATE; | ||
167 | return -1; | ||
168 | } | ||
169 | |||
170 | if (header->flags & MAD_FLAG_LSF_EXT) | ||
171 | header->bitrate = bitrate_table[3 + (header->layer >> 1)][index]; | ||
172 | else | ||
173 | header->bitrate = bitrate_table[header->layer - 1][index]; | ||
174 | |||
175 | /* sampling_frequency */ | ||
176 | index = mad_bit_read(&stream->ptr, 2); | ||
177 | |||
178 | if (index == 3) { | ||
179 | stream->error = MAD_ERROR_BADSAMPLERATE; | ||
180 | return -1; | ||
181 | } | ||
182 | |||
183 | header->samplerate = samplerate_table[index]; | ||
184 | |||
185 | if (header->flags & MAD_FLAG_LSF_EXT) { | ||
186 | header->samplerate /= 2; | ||
187 | |||
188 | if (header->flags & MAD_FLAG_MPEG_2_5_EXT) | ||
189 | header->samplerate /= 2; | ||
190 | } | ||
191 | |||
192 | /* padding_bit */ | ||
193 | if (mad_bit_read(&stream->ptr, 1)) | ||
194 | header->flags |= MAD_FLAG_PADDING; | ||
195 | |||
196 | /* private_bit */ | ||
197 | if (mad_bit_read(&stream->ptr, 1)) | ||
198 | header->private_bits |= MAD_PRIVATE_HEADER; | ||
199 | |||
200 | /* mode */ | ||
201 | header->mode = 3 - mad_bit_read(&stream->ptr, 2); | ||
202 | |||
203 | /* mode_extension */ | ||
204 | header->mode_extension = mad_bit_read(&stream->ptr, 2); | ||
205 | |||
206 | /* copyright */ | ||
207 | if (mad_bit_read(&stream->ptr, 1)) | ||
208 | header->flags |= MAD_FLAG_COPYRIGHT; | ||
209 | |||
210 | /* original/copy */ | ||
211 | if (mad_bit_read(&stream->ptr, 1)) | ||
212 | header->flags |= MAD_FLAG_ORIGINAL; | ||
213 | |||
214 | /* emphasis */ | ||
215 | header->emphasis = mad_bit_read(&stream->ptr, 2); | ||
216 | |||
217 | # if defined(OPT_STRICT) | ||
218 | /* | ||
219 | * ISO/IEC 11172-3 says this is a reserved emphasis value, but | ||
220 | * streams exist which use it anyway. Since the value is not important | ||
221 | * to the decoder proper, we allow it unless OPT_STRICT is defined. | ||
222 | */ | ||
223 | if (header->emphasis == MAD_EMPHASIS_RESERVED) { | ||
224 | stream->error = MAD_ERROR_BADEMPHASIS; | ||
225 | return -1; | ||
226 | } | ||
227 | # endif | ||
228 | |||
229 | /* error_check() */ | ||
230 | |||
231 | /* crc_check */ | ||
232 | if (header->flags & MAD_FLAG_PROTECTION) | ||
233 | header->crc_target = mad_bit_read(&stream->ptr, 16); | ||
234 | |||
235 | return 0; | ||
236 | } | ||
237 | |||
238 | /* | ||
239 | * NAME: free_bitrate() | ||
240 | * DESCRIPTION: attempt to discover the bitstream's free bitrate | ||
241 | */ | ||
242 | static | ||
243 | int free_bitrate(struct mad_stream *stream, struct mad_header const *header) | ||
244 | { | ||
245 | struct mad_bitptr keep_ptr; | ||
246 | unsigned long rate = 0; | ||
247 | unsigned int pad_slot, slots_per_frame; | ||
248 | unsigned char const *ptr = 0; | ||
249 | |||
250 | keep_ptr = stream->ptr; | ||
251 | |||
252 | pad_slot = (header->flags & MAD_FLAG_PADDING) ? 1 : 0; | ||
253 | slots_per_frame = (header->layer == MAD_LAYER_III && | ||
254 | (header->flags & MAD_FLAG_LSF_EXT)) ? 72 : 144; | ||
255 | |||
256 | while (mad_stream_sync(stream) == 0) { | ||
257 | struct mad_stream peek_stream; | ||
258 | struct mad_header peek_header; | ||
259 | |||
260 | peek_stream = *stream; | ||
261 | peek_header = *header; | ||
262 | |||
263 | if (decode_header(&peek_header, &peek_stream) == 0 && | ||
264 | peek_header.layer == header->layer && | ||
265 | peek_header.samplerate == header->samplerate) { | ||
266 | unsigned int N; | ||
267 | |||
268 | ptr = mad_bit_nextbyte(&stream->ptr); | ||
269 | |||
270 | N = ptr - stream->this_frame; | ||
271 | |||
272 | if (header->layer == MAD_LAYER_I) { | ||
273 | rate = (unsigned long) header->samplerate * | ||
274 | (N - 4 * pad_slot + 4) / 48 / 1000; | ||
275 | } | ||
276 | else { | ||
277 | rate = (unsigned long) header->samplerate * | ||
278 | (N - pad_slot + 1) / slots_per_frame / 1000; | ||
279 | } | ||
280 | |||
281 | if (rate >= 8) | ||
282 | break; | ||
283 | } | ||
284 | |||
285 | mad_bit_skip(&stream->ptr, 8); | ||
286 | } | ||
287 | |||
288 | stream->ptr = keep_ptr; | ||
289 | |||
290 | if (rate < 8 || (header->layer == MAD_LAYER_III && rate > 640)) { | ||
291 | stream->error = MAD_ERROR_LOSTSYNC; | ||
292 | return -1; | ||
293 | } | ||
294 | |||
295 | stream->freerate = rate * 1000; | ||
296 | |||
297 | return 0; | ||
298 | } | ||
299 | |||
300 | /* | ||
301 | * NAME: header->decode() | ||
302 | * DESCRIPTION: read the next frame header from the stream | ||
303 | */ | ||
304 | int mad_header_decode(struct mad_header *header, struct mad_stream *stream) | ||
305 | { | ||
306 | register unsigned char const *ptr, *end; | ||
307 | unsigned int pad_slot, N; | ||
308 | |||
309 | ptr = stream->next_frame; | ||
310 | end = stream->bufend; | ||
311 | |||
312 | if (ptr == 0) { | ||
313 | stream->error = MAD_ERROR_BUFPTR; | ||
314 | goto fail; | ||
315 | } | ||
316 | |||
317 | /* stream skip */ | ||
318 | /* rockbox: not used | ||
319 | if (stream->skiplen) { | ||
320 | if (!stream->sync) | ||
321 | ptr = stream->this_frame; | ||
322 | |||
323 | if (end - ptr < (long) stream->skiplen) { | ||
324 | stream->skiplen -= end - ptr; | ||
325 | stream->next_frame = end; | ||
326 | |||
327 | stream->error = MAD_ERROR_BUFLEN; | ||
328 | goto fail; | ||
329 | } | ||
330 | |||
331 | ptr += stream->skiplen; | ||
332 | stream->skiplen = 0; | ||
333 | |||
334 | stream->sync = 1; | ||
335 | } | ||
336 | */ | ||
337 | |||
338 | sync: | ||
339 | /* synchronize */ | ||
340 | if (stream->sync) { | ||
341 | if (end - ptr < MAD_BUFFER_GUARD) { | ||
342 | stream->next_frame = ptr; | ||
343 | |||
344 | stream->error = MAD_ERROR_BUFLEN; | ||
345 | goto fail; | ||
346 | } | ||
347 | else if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { | ||
348 | /* mark point where frame sync word was expected */ | ||
349 | stream->this_frame = ptr; | ||
350 | stream->next_frame = ptr + 1; | ||
351 | |||
352 | stream->error = MAD_ERROR_LOSTSYNC; | ||
353 | goto fail; | ||
354 | } | ||
355 | } | ||
356 | else { | ||
357 | mad_bit_init(&stream->ptr, ptr); | ||
358 | |||
359 | if (mad_stream_sync(stream) == -1) { | ||
360 | if (end - stream->next_frame >= MAD_BUFFER_GUARD) | ||
361 | stream->next_frame = end - MAD_BUFFER_GUARD; | ||
362 | |||
363 | stream->error = MAD_ERROR_BUFLEN; | ||
364 | goto fail; | ||
365 | } | ||
366 | |||
367 | ptr = mad_bit_nextbyte(&stream->ptr); | ||
368 | } | ||
369 | |||
370 | /* begin processing */ | ||
371 | stream->this_frame = ptr; | ||
372 | stream->next_frame = ptr + 1; /* possibly bogus sync word */ | ||
373 | |||
374 | mad_bit_init(&stream->ptr, stream->this_frame); | ||
375 | |||
376 | if (decode_header(header, stream) == -1) | ||
377 | goto fail; | ||
378 | |||
379 | /* calculate frame duration */ | ||
380 | /* rockbox: not used | ||
381 | mad_timer_set(&header->duration, 0, | ||
382 | 32 * MAD_NSBSAMPLES(header), header->samplerate); | ||
383 | */ | ||
384 | |||
385 | /* calculate free bit rate */ | ||
386 | if (header->bitrate == 0) { | ||
387 | if ((stream->freerate == 0 || !stream->sync || | ||
388 | (header->layer == MAD_LAYER_III && stream->freerate > 640000)) && | ||
389 | free_bitrate(stream, header) == -1) | ||
390 | goto fail; | ||
391 | |||
392 | header->bitrate = stream->freerate; | ||
393 | header->flags |= MAD_FLAG_FREEFORMAT; | ||
394 | } | ||
395 | |||
396 | /* calculate beginning of next frame */ | ||
397 | pad_slot = (header->flags & MAD_FLAG_PADDING) ? 1 : 0; | ||
398 | |||
399 | if (header->layer == MAD_LAYER_I) | ||
400 | N = ((12 * header->bitrate / header->samplerate) + pad_slot) * 4; | ||
401 | else { | ||
402 | unsigned int slots_per_frame; | ||
403 | |||
404 | slots_per_frame = (header->layer == MAD_LAYER_III && | ||
405 | (header->flags & MAD_FLAG_LSF_EXT)) ? 72 : 144; | ||
406 | |||
407 | N = (slots_per_frame * header->bitrate / header->samplerate) + pad_slot; | ||
408 | } | ||
409 | |||
410 | /* verify there is enough data left in buffer to decode this frame */ | ||
411 | if ((long)(N + MAD_BUFFER_GUARD) > end - stream->this_frame) { | ||
412 | stream->next_frame = stream->this_frame; | ||
413 | |||
414 | stream->error = MAD_ERROR_BUFLEN; | ||
415 | goto fail; | ||
416 | } | ||
417 | |||
418 | stream->next_frame = stream->this_frame + N; | ||
419 | |||
420 | if (!stream->sync) { | ||
421 | /* check that a valid frame header follows this frame */ | ||
422 | |||
423 | ptr = stream->next_frame; | ||
424 | if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { | ||
425 | ptr = stream->next_frame = stream->this_frame + 1; | ||
426 | goto sync; | ||
427 | } | ||
428 | |||
429 | stream->sync = 1; | ||
430 | } | ||
431 | |||
432 | header->flags |= MAD_FLAG_INCOMPLETE; | ||
433 | |||
434 | return 0; | ||
435 | |||
436 | fail: | ||
437 | stream->sync = 0; | ||
438 | |||
439 | return -1; | ||
440 | } | ||
441 | |||
442 | /* | ||
443 | * NAME: frame->decode() | ||
444 | * DESCRIPTION: decode a single frame from a bitstream | ||
445 | */ | ||
446 | int mad_frame_decode(struct mad_frame *frame, struct mad_stream *stream) | ||
447 | { | ||
448 | frame->options = stream->options; | ||
449 | |||
450 | /* header() */ | ||
451 | /* error_check() */ | ||
452 | |||
453 | if (!(frame->header.flags & MAD_FLAG_INCOMPLETE) && | ||
454 | mad_header_decode(&frame->header, stream) == -1) | ||
455 | goto fail; | ||
456 | |||
457 | /* audio_data() */ | ||
458 | |||
459 | frame->header.flags &= ~MAD_FLAG_INCOMPLETE; | ||
460 | |||
461 | if (decoder_table[frame->header.layer - 1](stream, frame) == -1) { | ||
462 | if (!MAD_RECOVERABLE(stream->error)) | ||
463 | stream->next_frame = stream->this_frame; | ||
464 | |||
465 | goto fail; | ||
466 | } | ||
467 | |||
468 | /* ancillary_data() */ | ||
469 | |||
470 | if (frame->header.layer != MAD_LAYER_III) { | ||
471 | struct mad_bitptr next_frame; | ||
472 | |||
473 | mad_bit_init(&next_frame, stream->next_frame); | ||
474 | |||
475 | stream->anc_ptr = stream->ptr; | ||
476 | stream->anc_bitlen = mad_bit_length(&stream->ptr, &next_frame); | ||
477 | |||
478 | mad_bit_finish(&next_frame); | ||
479 | } | ||
480 | |||
481 | |||
482 | |||
483 | return 0; | ||
484 | |||
485 | fail: | ||
486 | stream->anc_bitlen = 0; | ||
487 | return -1; | ||
488 | } | ||
489 | |||
490 | /* | ||
491 | * NAME: frame->mute() | ||
492 | * DESCRIPTION: zero all subband values so the frame becomes silent | ||
493 | */ | ||
494 | void mad_frame_mute(struct mad_frame *frame) | ||
495 | { | ||
496 | memset((*frame->sbsample_prev), 0, sizeof(*frame->sbsample_prev)); | ||
497 | memset((*frame->sbsample) , 0, sizeof(*frame->sbsample)); | ||
498 | memset((*frame->overlap) , 0, sizeof(*frame->overlap)); | ||
499 | } | ||
diff --git a/lib/rbcodec/codecs/libmad/frame.h b/lib/rbcodec/codecs/libmad/frame.h new file mode 100644 index 0000000000..b1c6e0289d --- /dev/null +++ b/lib/rbcodec/codecs/libmad/frame.h | |||
@@ -0,0 +1,124 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_FRAME_H | ||
23 | # define LIBMAD_FRAME_H | ||
24 | |||
25 | # include "fixed.h" | ||
26 | # include "timer.h" | ||
27 | # include "stream.h" | ||
28 | |||
29 | enum mad_layer { | ||
30 | MAD_LAYER_I = 1, /* Layer I */ | ||
31 | MAD_LAYER_II = 2, /* Layer II */ | ||
32 | MAD_LAYER_III = 3 /* Layer III */ | ||
33 | }; | ||
34 | |||
35 | enum mad_mode { | ||
36 | MAD_MODE_SINGLE_CHANNEL = 0, /* single channel */ | ||
37 | MAD_MODE_DUAL_CHANNEL = 1, /* dual channel */ | ||
38 | MAD_MODE_JOINT_STEREO = 2, /* joint (MS/intensity) stereo */ | ||
39 | MAD_MODE_STEREO = 3 /* normal LR stereo */ | ||
40 | }; | ||
41 | |||
42 | enum mad_emphasis { | ||
43 | MAD_EMPHASIS_NONE = 0, /* no emphasis */ | ||
44 | MAD_EMPHASIS_50_15_US = 1, /* 50/15 microseconds emphasis */ | ||
45 | MAD_EMPHASIS_CCITT_J_17 = 3, /* CCITT J.17 emphasis */ | ||
46 | MAD_EMPHASIS_RESERVED = 2 /* unknown emphasis */ | ||
47 | }; | ||
48 | |||
49 | struct mad_header { | ||
50 | enum mad_layer layer; /* audio layer (1, 2, or 3) */ | ||
51 | enum mad_mode mode; /* channel mode (see above) */ | ||
52 | int mode_extension; /* additional mode info */ | ||
53 | enum mad_emphasis emphasis; /* de-emphasis to use (see above) */ | ||
54 | |||
55 | unsigned long bitrate; /* stream bitrate (bps) */ | ||
56 | unsigned int samplerate; /* sampling frequency (Hz) */ | ||
57 | |||
58 | unsigned short crc_check; /* frame CRC accumulator */ | ||
59 | unsigned short crc_target; /* final target CRC checksum */ | ||
60 | |||
61 | int flags; /* flags (see below) */ | ||
62 | int private_bits; /* private bits (see below) */ | ||
63 | |||
64 | #if 0 /* rockbox: not used */ | ||
65 | mad_timer_t duration; /* audio playing time of frame */ | ||
66 | #endif | ||
67 | }; | ||
68 | |||
69 | struct mad_frame { | ||
70 | struct mad_header header; /* MPEG audio header */ | ||
71 | int options; /* decoding options (from stream) */ | ||
72 | |||
73 | mad_fixed_t (*sbsample)[2][36][32] MEM_ALIGN_ATTR; /* synthesis subband filter samples */ | ||
74 | mad_fixed_t (*sbsample_prev)[2][36][32] MEM_ALIGN_ATTR; /* synthesis subband filter samples | ||
75 | from previous frame only needed | ||
76 | when synthesis is on cop */ | ||
77 | |||
78 | mad_fixed_t (*overlap)[2][32][18] MEM_ALIGN_ATTR; /* Layer III block overlap data */ | ||
79 | }; | ||
80 | |||
81 | # define MAD_NCHANNELS(header) ((header)->mode ? 2 : 1) | ||
82 | # define MAD_NSBSAMPLES(header) \ | ||
83 | ((header)->layer == MAD_LAYER_I ? 12 : \ | ||
84 | (((header)->layer == MAD_LAYER_III && \ | ||
85 | ((header)->flags & MAD_FLAG_LSF_EXT)) ? 18 : 36)) | ||
86 | |||
87 | enum { | ||
88 | MAD_FLAG_NPRIVATE_III = 0x0007, /* number of Layer III private bits */ | ||
89 | MAD_FLAG_INCOMPLETE = 0x0008, /* header but not data is decoded */ | ||
90 | |||
91 | MAD_FLAG_PROTECTION = 0x0010, /* frame has CRC protection */ | ||
92 | MAD_FLAG_COPYRIGHT = 0x0020, /* frame is copyright */ | ||
93 | MAD_FLAG_ORIGINAL = 0x0040, /* frame is original (else copy) */ | ||
94 | MAD_FLAG_PADDING = 0x0080, /* frame has additional slot */ | ||
95 | |||
96 | MAD_FLAG_I_STEREO = 0x0100, /* uses intensity joint stereo */ | ||
97 | MAD_FLAG_MS_STEREO = 0x0200, /* uses middle/side joint stereo */ | ||
98 | MAD_FLAG_FREEFORMAT = 0x0400, /* uses free format bitrate */ | ||
99 | |||
100 | MAD_FLAG_LSF_EXT = 0x1000, /* lower sampling freq. extension */ | ||
101 | MAD_FLAG_MC_EXT = 0x2000, /* multichannel audio extension */ | ||
102 | MAD_FLAG_MPEG_2_5_EXT = 0x4000 /* MPEG 2.5 (unofficial) extension */ | ||
103 | }; | ||
104 | |||
105 | enum { | ||
106 | MAD_PRIVATE_HEADER = 0x0100, /* header private bit */ | ||
107 | MAD_PRIVATE_III = 0x001f /* Layer III private bits (up to 5) */ | ||
108 | }; | ||
109 | |||
110 | void mad_header_init(struct mad_header *); | ||
111 | |||
112 | # define mad_header_finish(header) /* nothing */ | ||
113 | |||
114 | int mad_header_decode(struct mad_header *, struct mad_stream *); | ||
115 | |||
116 | void mad_frame_init(struct mad_frame *); | ||
117 | /* rockbox: not used | ||
118 | void mad_frame_finish(struct mad_frame *);*/ | ||
119 | |||
120 | int mad_frame_decode(struct mad_frame *, struct mad_stream *); | ||
121 | |||
122 | void mad_frame_mute(struct mad_frame *); | ||
123 | |||
124 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/global.h b/lib/rbcodec/codecs/libmad/global.h new file mode 100644 index 0000000000..50051f45b3 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/global.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | #include "codeclib.h" | ||
23 | |||
24 | # ifndef LIBMAD_GLOBAL_H | ||
25 | # define LIBMAD_GLOBAL_H | ||
26 | |||
27 | #include "mad_iram.h" | ||
28 | |||
29 | #if defined(CPU_COLDFIRE) | ||
30 | #define FPM_COLDFIRE_EMAC | ||
31 | #elif defined(CPU_ARM) | ||
32 | #define FPM_ARM | ||
33 | #elif defined(CPU_MIPS) | ||
34 | #define FPM_MIPS | ||
35 | #else | ||
36 | #define FPM_DEFAULT | ||
37 | #endif | ||
38 | |||
39 | /* conditional debugging */ | ||
40 | |||
41 | # if defined(DEBUG) && defined(NDEBUG) | ||
42 | # error "cannot define both DEBUG and NDEBUG" | ||
43 | # endif | ||
44 | |||
45 | # if defined(DEBUG) | ||
46 | # include <stdio.h> | ||
47 | # endif | ||
48 | |||
49 | /* conditional features */ | ||
50 | |||
51 | # if defined(OPT_SPEED) && defined(OPT_ACCURACY) | ||
52 | # error "cannot optimize for both speed and accuracy" | ||
53 | # endif | ||
54 | |||
55 | # if defined(OPT_SPEED) && !defined(OPT_SSO) | ||
56 | # define OPT_SSO | ||
57 | # endif | ||
58 | |||
59 | # if defined(HAVE_UNISTD_H) && defined(HAVE_WAITPID) && \ | ||
60 | defined(HAVE_FCNTL) && defined(HAVE_PIPE) && defined(HAVE_FORK) | ||
61 | # define USE_ASYNC | ||
62 | # endif | ||
63 | |||
64 | # if !defined(HAVE_ASSERT_H) | ||
65 | # if defined(NDEBUG) | ||
66 | # define assert(x) /* nothing */ | ||
67 | # else | ||
68 | # define assert(x) do { if (!(x)) abort(); } while (0) | ||
69 | # endif | ||
70 | # endif | ||
71 | |||
72 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/huffman.c b/lib/rbcodec/codecs/libmad/huffman.c new file mode 100644 index 0000000000..bec44434a7 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/huffman.c | |||
@@ -0,0 +1,3109 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifdef HAVE_CONFIG_H | ||
23 | # include "config.h" | ||
24 | # endif | ||
25 | |||
26 | # include "global.h" | ||
27 | |||
28 | # include "huffman.h" | ||
29 | |||
30 | /* | ||
31 | * These are the Huffman code words for Layer III. | ||
32 | * The data for these tables are derived from Table B.7 of ISO/IEC 11172-3. | ||
33 | * | ||
34 | * These tables support decoding up to 4 Huffman code bits at a time. | ||
35 | */ | ||
36 | |||
37 | # if defined(__GNUC__) || \ | ||
38 | (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901) | ||
39 | # define PTR(offs, bits) { .ptr = { 0, bits, offs } } | ||
40 | # define V(v, w, x, y, hlen) { .value = { 1, hlen, v, w, x, y } } | ||
41 | # else | ||
42 | # define PTR(offs, bits) { { 0, bits, offs } } | ||
43 | # if defined(WORDS_BIGENDIAN) | ||
44 | # define V(v, w, x, y, hlen) { { 1, hlen, (v << 11) | (w << 10) | \ | ||
45 | (x << 9) | (y << 8) } } | ||
46 | # else | ||
47 | # define V(v, w, x, y, hlen) { { 1, hlen, (v << 0) | (w << 1) | \ | ||
48 | (x << 2) | (y << 3) } } | ||
49 | # endif | ||
50 | # endif | ||
51 | |||
52 | static | ||
53 | union huffquad const hufftabA[] ICONST_ATTR_MPA_HUFFMAN = { | ||
54 | /* 0000 */ PTR(16, 2), | ||
55 | /* 0001 */ PTR(20, 2), | ||
56 | /* 0010 */ PTR(24, 1), | ||
57 | /* 0011 */ PTR(26, 1), | ||
58 | /* 0100 */ V(0, 0, 1, 0, 4), | ||
59 | /* 0101 */ V(0, 0, 0, 1, 4), | ||
60 | /* 0110 */ V(0, 1, 0, 0, 4), | ||
61 | /* 0111 */ V(1, 0, 0, 0, 4), | ||
62 | /* 1000 */ V(0, 0, 0, 0, 1), | ||
63 | /* 1001 */ V(0, 0, 0, 0, 1), | ||
64 | /* 1010 */ V(0, 0, 0, 0, 1), | ||
65 | /* 1011 */ V(0, 0, 0, 0, 1), | ||
66 | /* 1100 */ V(0, 0, 0, 0, 1), | ||
67 | /* 1101 */ V(0, 0, 0, 0, 1), | ||
68 | /* 1110 */ V(0, 0, 0, 0, 1), | ||
69 | /* 1111 */ V(0, 0, 0, 0, 1), | ||
70 | |||
71 | /* 0000 ... */ | ||
72 | /* 00 */ V(1, 0, 1, 1, 2), /* 16 */ | ||
73 | /* 01 */ V(1, 1, 1, 1, 2), | ||
74 | /* 10 */ V(1, 1, 0, 1, 2), | ||
75 | /* 11 */ V(1, 1, 1, 0, 2), | ||
76 | |||
77 | /* 0001 ... */ | ||
78 | /* 00 */ V(0, 1, 1, 1, 2), /* 20 */ | ||
79 | /* 01 */ V(0, 1, 0, 1, 2), | ||
80 | /* 10 */ V(1, 0, 0, 1, 1), | ||
81 | /* 11 */ V(1, 0, 0, 1, 1), | ||
82 | |||
83 | /* 0010 ... */ | ||
84 | /* 0 */ V(0, 1, 1, 0, 1), /* 24 */ | ||
85 | /* 1 */ V(0, 0, 1, 1, 1), | ||
86 | |||
87 | /* 0011 ... */ | ||
88 | /* 0 */ V(1, 0, 1, 0, 1), /* 26 */ | ||
89 | /* 1 */ V(1, 1, 0, 0, 1) | ||
90 | }; | ||
91 | |||
92 | static | ||
93 | union huffquad const hufftabB[] ICONST_ATTR_MPA_HUFFMAN = { | ||
94 | /* 0000 */ V(1, 1, 1, 1, 4), | ||
95 | /* 0001 */ V(1, 1, 1, 0, 4), | ||
96 | /* 0010 */ V(1, 1, 0, 1, 4), | ||
97 | /* 0011 */ V(1, 1, 0, 0, 4), | ||
98 | /* 0100 */ V(1, 0, 1, 1, 4), | ||
99 | /* 0101 */ V(1, 0, 1, 0, 4), | ||
100 | /* 0110 */ V(1, 0, 0, 1, 4), | ||
101 | /* 0111 */ V(1, 0, 0, 0, 4), | ||
102 | /* 1000 */ V(0, 1, 1, 1, 4), | ||
103 | /* 1001 */ V(0, 1, 1, 0, 4), | ||
104 | /* 1010 */ V(0, 1, 0, 1, 4), | ||
105 | /* 1011 */ V(0, 1, 0, 0, 4), | ||
106 | /* 1100 */ V(0, 0, 1, 1, 4), | ||
107 | /* 1101 */ V(0, 0, 1, 0, 4), | ||
108 | /* 1110 */ V(0, 0, 0, 1, 4), | ||
109 | /* 1111 */ V(0, 0, 0, 0, 4) | ||
110 | }; | ||
111 | |||
112 | # undef V | ||
113 | # undef PTR | ||
114 | |||
115 | # if defined(__GNUC__) || \ | ||
116 | (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901) | ||
117 | # define PTR(offs, bits) { .ptr = { 0, bits, offs } } | ||
118 | # define V(x, y, hlen) { .value = { 1, hlen, x, y } } | ||
119 | # else | ||
120 | # define PTR(offs, bits) { { 0, bits, offs } } | ||
121 | # if defined(WORDS_BIGENDIAN) | ||
122 | # define V(x, y, hlen) { { 1, hlen, (x << 8) | (y << 4) } } | ||
123 | # else | ||
124 | # define V(x, y, hlen) { { 1, hlen, (x << 0) | (y << 4) } } | ||
125 | # endif | ||
126 | # endif | ||
127 | |||
128 | static | ||
129 | union huffpair const hufftab0[] ICONST_ATTR_MPA_HUFFMAN = { | ||
130 | /* */ V(0, 0, 0) | ||
131 | }; | ||
132 | |||
133 | static | ||
134 | union huffpair const hufftab1[] ICONST_ATTR_MPA_HUFFMAN = { | ||
135 | /* 000 */ V(1, 1, 3), | ||
136 | /* 001 */ V(0, 1, 3), | ||
137 | /* 010 */ V(1, 0, 2), | ||
138 | /* 011 */ V(1, 0, 2), | ||
139 | /* 100 */ V(0, 0, 1), | ||
140 | /* 101 */ V(0, 0, 1), | ||
141 | /* 110 */ V(0, 0, 1), | ||
142 | /* 111 */ V(0, 0, 1) | ||
143 | }; | ||
144 | |||
145 | static | ||
146 | union huffpair const hufftab2[] ICONST_ATTR_MPA_HUFFMAN = { | ||
147 | /* 000 */ PTR(8, 3), | ||
148 | /* 001 */ V(1, 1, 3), | ||
149 | /* 010 */ V(0, 1, 3), | ||
150 | /* 011 */ V(1, 0, 3), | ||
151 | /* 100 */ V(0, 0, 1), | ||
152 | /* 101 */ V(0, 0, 1), | ||
153 | /* 110 */ V(0, 0, 1), | ||
154 | /* 111 */ V(0, 0, 1), | ||
155 | |||
156 | /* 000 ... */ | ||
157 | /* 000 */ V(2, 2, 3), /* 8 */ | ||
158 | /* 001 */ V(0, 2, 3), | ||
159 | /* 010 */ V(1, 2, 2), | ||
160 | /* 011 */ V(1, 2, 2), | ||
161 | /* 100 */ V(2, 1, 2), | ||
162 | /* 101 */ V(2, 1, 2), | ||
163 | /* 110 */ V(2, 0, 2), | ||
164 | /* 111 */ V(2, 0, 2) | ||
165 | }; | ||
166 | |||
167 | static | ||
168 | union huffpair const hufftab3[] ICONST_ATTR_MPA_HUFFMAN = { | ||
169 | /* 000 */ PTR(8, 3), | ||
170 | /* 001 */ V(1, 0, 3), | ||
171 | /* 010 */ V(1, 1, 2), | ||
172 | /* 011 */ V(1, 1, 2), | ||
173 | /* 100 */ V(0, 1, 2), | ||
174 | /* 101 */ V(0, 1, 2), | ||
175 | /* 110 */ V(0, 0, 2), | ||
176 | /* 111 */ V(0, 0, 2), | ||
177 | |||
178 | /* 000 ... */ | ||
179 | /* 000 */ V(2, 2, 3), /* 8 */ | ||
180 | /* 001 */ V(0, 2, 3), | ||
181 | /* 010 */ V(1, 2, 2), | ||
182 | /* 011 */ V(1, 2, 2), | ||
183 | /* 100 */ V(2, 1, 2), | ||
184 | /* 101 */ V(2, 1, 2), | ||
185 | /* 110 */ V(2, 0, 2), | ||
186 | /* 111 */ V(2, 0, 2) | ||
187 | }; | ||
188 | |||
189 | static | ||
190 | union huffpair const hufftab5[] ICONST_ATTR_MPA_HUFFMAN = { | ||
191 | /* 000 */ PTR(8, 4), | ||
192 | /* 001 */ V(1, 1, 3), | ||
193 | /* 010 */ V(0, 1, 3), | ||
194 | /* 011 */ V(1, 0, 3), | ||
195 | /* 100 */ V(0, 0, 1), | ||
196 | /* 101 */ V(0, 0, 1), | ||
197 | /* 110 */ V(0, 0, 1), | ||
198 | /* 111 */ V(0, 0, 1), | ||
199 | |||
200 | /* 000 ... */ | ||
201 | /* 0000 */ PTR(24, 1), /* 8 */ | ||
202 | /* 0001 */ V(3, 2, 4), | ||
203 | /* 0010 */ V(3, 1, 3), | ||
204 | /* 0011 */ V(3, 1, 3), | ||
205 | /* 0100 */ V(1, 3, 4), | ||
206 | /* 0101 */ V(0, 3, 4), | ||
207 | /* 0110 */ V(3, 0, 4), | ||
208 | /* 0111 */ V(2, 2, 4), | ||
209 | /* 1000 */ V(1, 2, 3), | ||
210 | /* 1001 */ V(1, 2, 3), | ||
211 | /* 1010 */ V(2, 1, 3), | ||
212 | /* 1011 */ V(2, 1, 3), | ||
213 | /* 1100 */ V(0, 2, 3), | ||
214 | /* 1101 */ V(0, 2, 3), | ||
215 | /* 1110 */ V(2, 0, 3), | ||
216 | /* 1111 */ V(2, 0, 3), | ||
217 | |||
218 | /* 000 0000 ... */ | ||
219 | /* 0 */ V(3, 3, 1), /* 24 */ | ||
220 | /* 1 */ V(2, 3, 1) | ||
221 | }; | ||
222 | |||
223 | static | ||
224 | union huffpair const hufftab6[] ICONST_ATTR_MPA_HUFFMAN = { | ||
225 | /* 0000 */ PTR(16, 3), | ||
226 | /* 0001 */ PTR(24, 1), | ||
227 | /* 0010 */ PTR(26, 1), | ||
228 | /* 0011 */ V(1, 2, 4), | ||
229 | /* 0100 */ V(2, 1, 4), | ||
230 | /* 0101 */ V(2, 0, 4), | ||
231 | /* 0110 */ V(0, 1, 3), | ||
232 | /* 0111 */ V(0, 1, 3), | ||
233 | /* 1000 */ V(1, 1, 2), | ||
234 | /* 1001 */ V(1, 1, 2), | ||
235 | /* 1010 */ V(1, 1, 2), | ||
236 | /* 1011 */ V(1, 1, 2), | ||
237 | /* 1100 */ V(1, 0, 3), | ||
238 | /* 1101 */ V(1, 0, 3), | ||
239 | /* 1110 */ V(0, 0, 3), | ||
240 | /* 1111 */ V(0, 0, 3), | ||
241 | |||
242 | /* 0000 ... */ | ||
243 | /* 000 */ V(3, 3, 3), /* 16 */ | ||
244 | /* 001 */ V(0, 3, 3), | ||
245 | /* 010 */ V(2, 3, 2), | ||
246 | /* 011 */ V(2, 3, 2), | ||
247 | /* 100 */ V(3, 2, 2), | ||
248 | /* 101 */ V(3, 2, 2), | ||
249 | /* 110 */ V(3, 0, 2), | ||
250 | /* 111 */ V(3, 0, 2), | ||
251 | |||
252 | /* 0001 ... */ | ||
253 | /* 0 */ V(1, 3, 1), /* 24 */ | ||
254 | /* 1 */ V(3, 1, 1), | ||
255 | |||
256 | /* 0010 ... */ | ||
257 | /* 0 */ V(2, 2, 1), /* 26 */ | ||
258 | /* 1 */ V(0, 2, 1) | ||
259 | }; | ||
260 | |||
261 | static | ||
262 | union huffpair const hufftab7[] ICONST_ATTR_MPA_HUFFMAN = { | ||
263 | /* 0000 */ PTR(16, 4), | ||
264 | /* 0001 */ PTR(32, 4), | ||
265 | /* 0010 */ PTR(48, 2), | ||
266 | /* 0011 */ V(1, 1, 4), | ||
267 | /* 0100 */ V(0, 1, 3), | ||
268 | /* 0101 */ V(0, 1, 3), | ||
269 | /* 0110 */ V(1, 0, 3), | ||
270 | /* 0111 */ V(1, 0, 3), | ||
271 | /* 1000 */ V(0, 0, 1), | ||
272 | /* 1001 */ V(0, 0, 1), | ||
273 | /* 1010 */ V(0, 0, 1), | ||
274 | /* 1011 */ V(0, 0, 1), | ||
275 | /* 1100 */ V(0, 0, 1), | ||
276 | /* 1101 */ V(0, 0, 1), | ||
277 | /* 1110 */ V(0, 0, 1), | ||
278 | /* 1111 */ V(0, 0, 1), | ||
279 | |||
280 | /* 0000 ... */ | ||
281 | /* 0000 */ PTR(52, 2), /* 16 */ | ||
282 | /* 0001 */ PTR(56, 1), | ||
283 | /* 0010 */ PTR(58, 1), | ||
284 | /* 0011 */ V(1, 5, 4), | ||
285 | /* 0100 */ V(5, 1, 4), | ||
286 | /* 0101 */ PTR(60, 1), | ||
287 | /* 0110 */ V(5, 0, 4), | ||
288 | /* 0111 */ PTR(62, 1), | ||
289 | /* 1000 */ V(2, 4, 4), | ||
290 | /* 1001 */ V(4, 2, 4), | ||
291 | /* 1010 */ V(1, 4, 3), | ||
292 | /* 1011 */ V(1, 4, 3), | ||
293 | /* 1100 */ V(4, 1, 3), | ||
294 | /* 1101 */ V(4, 1, 3), | ||
295 | /* 1110 */ V(4, 0, 3), | ||
296 | /* 1111 */ V(4, 0, 3), | ||
297 | |||
298 | /* 0001 ... */ | ||
299 | /* 0000 */ V(0, 4, 4), /* 32 */ | ||
300 | /* 0001 */ V(2, 3, 4), | ||
301 | /* 0010 */ V(3, 2, 4), | ||
302 | /* 0011 */ V(0, 3, 4), | ||
303 | /* 0100 */ V(1, 3, 3), | ||
304 | /* 0101 */ V(1, 3, 3), | ||
305 | /* 0110 */ V(3, 1, 3), | ||
306 | /* 0111 */ V(3, 1, 3), | ||
307 | /* 1000 */ V(3, 0, 3), | ||
308 | /* 1001 */ V(3, 0, 3), | ||
309 | /* 1010 */ V(2, 2, 3), | ||
310 | /* 1011 */ V(2, 2, 3), | ||
311 | /* 1100 */ V(1, 2, 2), | ||
312 | /* 1101 */ V(1, 2, 2), | ||
313 | /* 1110 */ V(1, 2, 2), | ||
314 | /* 1111 */ V(1, 2, 2), | ||
315 | |||
316 | /* 0010 ... */ | ||
317 | /* 00 */ V(2, 1, 1), /* 48 */ | ||
318 | /* 01 */ V(2, 1, 1), | ||
319 | /* 10 */ V(0, 2, 2), | ||
320 | /* 11 */ V(2, 0, 2), | ||
321 | |||
322 | /* 0000 0000 ... */ | ||
323 | /* 00 */ V(5, 5, 2), /* 52 */ | ||
324 | /* 01 */ V(4, 5, 2), | ||
325 | /* 10 */ V(5, 4, 2), | ||
326 | /* 11 */ V(5, 3, 2), | ||
327 | |||
328 | /* 0000 0001 ... */ | ||
329 | /* 0 */ V(3, 5, 1), /* 56 */ | ||
330 | /* 1 */ V(4, 4, 1), | ||
331 | |||
332 | /* 0000 0010 ... */ | ||
333 | /* 0 */ V(2, 5, 1), /* 58 */ | ||
334 | /* 1 */ V(5, 2, 1), | ||
335 | |||
336 | /* 0000 0101 ... */ | ||
337 | /* 0 */ V(0, 5, 1), /* 60 */ | ||
338 | /* 1 */ V(3, 4, 1), | ||
339 | |||
340 | /* 0000 0111 ... */ | ||
341 | /* 0 */ V(4, 3, 1), /* 62 */ | ||
342 | /* 1 */ V(3, 3, 1) | ||
343 | }; | ||
344 | |||
345 | # if 0 | ||
346 | /* this version saves 8 entries (16 bytes) at the expense of | ||
347 | an extra lookup in 4 out of 36 cases */ | ||
348 | static | ||
349 | union huffpair const hufftab8[] ICONST_ATTR_MPA_HUFFMAN = { | ||
350 | /* 0000 */ PTR(16, 4), | ||
351 | /* 0001 */ PTR(32, 2), | ||
352 | /* 0010 */ V(1, 2, 4), | ||
353 | /* 0011 */ V(2, 1, 4), | ||
354 | /* 0100 */ V(1, 1, 2), | ||
355 | /* 0101 */ V(1, 1, 2), | ||
356 | /* 0110 */ V(1, 1, 2), | ||
357 | /* 0111 */ V(1, 1, 2), | ||
358 | /* 1000 */ V(0, 1, 3), | ||
359 | /* 1001 */ V(0, 1, 3), | ||
360 | /* 1010 */ V(1, 0, 3), | ||
361 | /* 1011 */ V(1, 0, 3), | ||
362 | /* 1100 */ V(0, 0, 2), | ||
363 | /* 1101 */ V(0, 0, 2), | ||
364 | /* 1110 */ V(0, 0, 2), | ||
365 | /* 1111 */ V(0, 0, 2), | ||
366 | |||
367 | /* 0000 ... */ | ||
368 | /* 0000 */ PTR(36, 3), /* 16 */ | ||
369 | /* 0001 */ PTR(44, 2), | ||
370 | /* 0010 */ PTR(48, 1), | ||
371 | /* 0011 */ V(1, 5, 4), | ||
372 | /* 0100 */ V(5, 1, 4), | ||
373 | /* 0101 */ PTR(50, 1), | ||
374 | /* 0110 */ PTR(52, 1), | ||
375 | /* 0111 */ V(2, 4, 4), | ||
376 | /* 1000 */ V(4, 2, 4), | ||
377 | /* 1001 */ V(1, 4, 4), | ||
378 | /* 1010 */ V(4, 1, 3), | ||
379 | /* 1011 */ V(4, 1, 3), | ||
380 | /* 1100 */ V(0, 4, 4), | ||
381 | /* 1101 */ V(4, 0, 4), | ||
382 | /* 1110 */ V(2, 3, 4), | ||
383 | /* 1111 */ V(3, 2, 4), | ||
384 | |||
385 | /* 0001 ... */ | ||
386 | /* 00 */ PTR(54, 2), /* 32 */ | ||
387 | /* 01 */ V(2, 2, 2), | ||
388 | /* 10 */ V(0, 2, 2), | ||
389 | /* 11 */ V(2, 0, 2), | ||
390 | |||
391 | /* 0000 0000 ... */ | ||
392 | /* 000 */ V(5, 5, 3), /* 36 */ | ||
393 | /* 001 */ V(5, 4, 3), | ||
394 | /* 010 */ V(4, 5, 2), | ||
395 | /* 011 */ V(4, 5, 2), | ||
396 | /* 100 */ V(5, 3, 1), | ||
397 | /* 101 */ V(5, 3, 1), | ||
398 | /* 110 */ V(5, 3, 1), | ||
399 | /* 111 */ V(5, 3, 1), | ||
400 | |||
401 | /* 0000 0001 ... */ | ||
402 | /* 00 */ V(3, 5, 2), /* 44 */ | ||
403 | /* 01 */ V(4, 4, 2), | ||
404 | /* 10 */ V(2, 5, 1), | ||
405 | /* 11 */ V(2, 5, 1), | ||
406 | |||
407 | /* 0000 0010 ... */ | ||
408 | /* 0 */ V(5, 2, 1), /* 48 */ | ||
409 | /* 1 */ V(0, 5, 1), | ||
410 | |||
411 | /* 0000 0101 ... */ | ||
412 | /* 0 */ V(3, 4, 1), /* 50 */ | ||
413 | /* 1 */ V(4, 3, 1), | ||
414 | |||
415 | /* 0000 0110 ... */ | ||
416 | /* 0 */ V(5, 0, 1), /* 52 */ | ||
417 | /* 1 */ V(3, 3, 1), | ||
418 | |||
419 | /* 0001 00 ... */ | ||
420 | /* 00 */ V(1, 3, 2), /* 54 */ | ||
421 | /* 01 */ V(3, 1, 2), | ||
422 | /* 10 */ V(0, 3, 2), | ||
423 | /* 11 */ V(3, 0, 2), | ||
424 | }; | ||
425 | # else | ||
426 | static | ||
427 | union huffpair const hufftab8[] ICONST_ATTR_MPA_HUFFMAN = { | ||
428 | /* 0000 */ PTR(16, 4), | ||
429 | /* 0001 */ PTR(32, 4), | ||
430 | /* 0010 */ V(1, 2, 4), | ||
431 | /* 0011 */ V(2, 1, 4), | ||
432 | /* 0100 */ V(1, 1, 2), | ||
433 | /* 0101 */ V(1, 1, 2), | ||
434 | /* 0110 */ V(1, 1, 2), | ||
435 | /* 0111 */ V(1, 1, 2), | ||
436 | /* 1000 */ V(0, 1, 3), | ||
437 | /* 1001 */ V(0, 1, 3), | ||
438 | /* 1010 */ V(1, 0, 3), | ||
439 | /* 1011 */ V(1, 0, 3), | ||
440 | /* 1100 */ V(0, 0, 2), | ||
441 | /* 1101 */ V(0, 0, 2), | ||
442 | /* 1110 */ V(0, 0, 2), | ||
443 | /* 1111 */ V(0, 0, 2), | ||
444 | |||
445 | /* 0000 ... */ | ||
446 | /* 0000 */ PTR(48, 3), /* 16 */ | ||
447 | /* 0001 */ PTR(56, 2), | ||
448 | /* 0010 */ PTR(60, 1), | ||
449 | /* 0011 */ V(1, 5, 4), | ||
450 | /* 0100 */ V(5, 1, 4), | ||
451 | /* 0101 */ PTR(62, 1), | ||
452 | /* 0110 */ PTR(64, 1), | ||
453 | /* 0111 */ V(2, 4, 4), | ||
454 | /* 1000 */ V(4, 2, 4), | ||
455 | /* 1001 */ V(1, 4, 4), | ||
456 | /* 1010 */ V(4, 1, 3), | ||
457 | /* 1011 */ V(4, 1, 3), | ||
458 | /* 1100 */ V(0, 4, 4), | ||
459 | /* 1101 */ V(4, 0, 4), | ||
460 | /* 1110 */ V(2, 3, 4), | ||
461 | /* 1111 */ V(3, 2, 4), | ||
462 | |||
463 | /* 0001 ... */ | ||
464 | /* 0000 */ V(1, 3, 4), /* 32 */ | ||
465 | /* 0001 */ V(3, 1, 4), | ||
466 | /* 0010 */ V(0, 3, 4), | ||
467 | /* 0011 */ V(3, 0, 4), | ||
468 | /* 0100 */ V(2, 2, 2), | ||
469 | /* 0101 */ V(2, 2, 2), | ||
470 | /* 0110 */ V(2, 2, 2), | ||
471 | /* 0111 */ V(2, 2, 2), | ||
472 | /* 1000 */ V(0, 2, 2), | ||
473 | /* 1001 */ V(0, 2, 2), | ||
474 | /* 1010 */ V(0, 2, 2), | ||
475 | /* 1011 */ V(0, 2, 2), | ||
476 | /* 1100 */ V(2, 0, 2), | ||
477 | /* 1101 */ V(2, 0, 2), | ||
478 | /* 1110 */ V(2, 0, 2), | ||
479 | /* 1111 */ V(2, 0, 2), | ||
480 | |||
481 | /* 0000 0000 ... */ | ||
482 | /* 000 */ V(5, 5, 3), /* 48 */ | ||
483 | /* 001 */ V(5, 4, 3), | ||
484 | /* 010 */ V(4, 5, 2), | ||
485 | /* 011 */ V(4, 5, 2), | ||
486 | /* 100 */ V(5, 3, 1), | ||
487 | /* 101 */ V(5, 3, 1), | ||
488 | /* 110 */ V(5, 3, 1), | ||
489 | /* 111 */ V(5, 3, 1), | ||
490 | |||
491 | /* 0000 0001 ... */ | ||
492 | /* 00 */ V(3, 5, 2), /* 56 */ | ||
493 | /* 01 */ V(4, 4, 2), | ||
494 | /* 10 */ V(2, 5, 1), | ||
495 | /* 11 */ V(2, 5, 1), | ||
496 | |||
497 | /* 0000 0010 ... */ | ||
498 | /* 0 */ V(5, 2, 1), /* 60 */ | ||
499 | /* 1 */ V(0, 5, 1), | ||
500 | |||
501 | /* 0000 0101 ... */ | ||
502 | /* 0 */ V(3, 4, 1), /* 62 */ | ||
503 | /* 1 */ V(4, 3, 1), | ||
504 | |||
505 | /* 0000 0110 ... */ | ||
506 | /* 0 */ V(5, 0, 1), /* 64 */ | ||
507 | /* 1 */ V(3, 3, 1) | ||
508 | }; | ||
509 | # endif | ||
510 | |||
511 | static | ||
512 | union huffpair const hufftab9[] ICONST_ATTR_MPA_HUFFMAN = { | ||
513 | /* 0000 */ PTR(16, 4), | ||
514 | /* 0001 */ PTR(32, 3), | ||
515 | /* 0010 */ PTR(40, 2), | ||
516 | /* 0011 */ PTR(44, 2), | ||
517 | /* 0100 */ PTR(48, 1), | ||
518 | /* 0101 */ V(1, 2, 4), | ||
519 | /* 0110 */ V(2, 1, 4), | ||
520 | /* 0111 */ V(2, 0, 4), | ||
521 | /* 1000 */ V(1, 1, 3), | ||
522 | /* 1001 */ V(1, 1, 3), | ||
523 | /* 1010 */ V(0, 1, 3), | ||
524 | /* 1011 */ V(0, 1, 3), | ||
525 | /* 1100 */ V(1, 0, 3), | ||
526 | /* 1101 */ V(1, 0, 3), | ||
527 | /* 1110 */ V(0, 0, 3), | ||
528 | /* 1111 */ V(0, 0, 3), | ||
529 | |||
530 | /* 0000 ... */ | ||
531 | /* 0000 */ PTR(50, 1), /* 16 */ | ||
532 | /* 0001 */ V(3, 5, 4), | ||
533 | /* 0010 */ V(5, 3, 4), | ||
534 | /* 0011 */ PTR(52, 1), | ||
535 | /* 0100 */ V(4, 4, 4), | ||
536 | /* 0101 */ V(2, 5, 4), | ||
537 | /* 0110 */ V(5, 2, 4), | ||
538 | /* 0111 */ V(1, 5, 4), | ||
539 | /* 1000 */ V(5, 1, 3), | ||
540 | /* 1001 */ V(5, 1, 3), | ||
541 | /* 1010 */ V(3, 4, 3), | ||
542 | /* 1011 */ V(3, 4, 3), | ||
543 | /* 1100 */ V(4, 3, 3), | ||
544 | /* 1101 */ V(4, 3, 3), | ||
545 | /* 1110 */ V(5, 0, 4), | ||
546 | /* 1111 */ V(0, 4, 4), | ||
547 | |||
548 | /* 0001 ... */ | ||
549 | /* 000 */ V(2, 4, 3), /* 32 */ | ||
550 | /* 001 */ V(4, 2, 3), | ||
551 | /* 010 */ V(3, 3, 3), | ||
552 | /* 011 */ V(4, 0, 3), | ||
553 | /* 100 */ V(1, 4, 2), | ||
554 | /* 101 */ V(1, 4, 2), | ||
555 | /* 110 */ V(4, 1, 2), | ||
556 | /* 111 */ V(4, 1, 2), | ||
557 | |||
558 | /* 0010 ... */ | ||
559 | /* 00 */ V(2, 3, 2), /* 40 */ | ||
560 | /* 01 */ V(3, 2, 2), | ||
561 | /* 10 */ V(1, 3, 1), | ||
562 | /* 11 */ V(1, 3, 1), | ||
563 | |||
564 | /* 0011 ... */ | ||
565 | /* 00 */ V(3, 1, 1), /* 44 */ | ||
566 | /* 01 */ V(3, 1, 1), | ||
567 | /* 10 */ V(0, 3, 2), | ||
568 | /* 11 */ V(3, 0, 2), | ||
569 | |||
570 | /* 0100 ... */ | ||
571 | /* 0 */ V(2, 2, 1), /* 48 */ | ||
572 | /* 1 */ V(0, 2, 1), | ||
573 | |||
574 | /* 0000 0000 ... */ | ||
575 | /* 0 */ V(5, 5, 1), /* 50 */ | ||
576 | /* 1 */ V(4, 5, 1), | ||
577 | |||
578 | /* 0000 0011 ... */ | ||
579 | /* 0 */ V(5, 4, 1), /* 52 */ | ||
580 | /* 1 */ V(0, 5, 1) | ||
581 | }; | ||
582 | |||
583 | static | ||
584 | union huffpair const hufftab10[] ICONST_ATTR_MPA_HUFFMAN = { | ||
585 | /* 0000 */ PTR(16, 4), | ||
586 | /* 0001 */ PTR(32, 4), | ||
587 | /* 0010 */ PTR(48, 2), | ||
588 | /* 0011 */ V(1, 1, 4), | ||
589 | /* 0100 */ V(0, 1, 3), | ||
590 | /* 0101 */ V(0, 1, 3), | ||
591 | /* 0110 */ V(1, 0, 3), | ||
592 | /* 0111 */ V(1, 0, 3), | ||
593 | /* 1000 */ V(0, 0, 1), | ||
594 | /* 1001 */ V(0, 0, 1), | ||
595 | /* 1010 */ V(0, 0, 1), | ||
596 | /* 1011 */ V(0, 0, 1), | ||
597 | /* 1100 */ V(0, 0, 1), | ||
598 | /* 1101 */ V(0, 0, 1), | ||
599 | /* 1110 */ V(0, 0, 1), | ||
600 | /* 1111 */ V(0, 0, 1), | ||
601 | |||
602 | /* 0000 ... */ | ||
603 | /* 0000 */ PTR(52, 3), /* 16 */ | ||
604 | /* 0001 */ PTR(60, 2), | ||
605 | /* 0010 */ PTR(64, 3), | ||
606 | /* 0011 */ PTR(72, 1), | ||
607 | /* 0100 */ PTR(74, 2), | ||
608 | /* 0101 */ PTR(78, 2), | ||
609 | /* 0110 */ PTR(82, 2), | ||
610 | /* 0111 */ V(1, 7, 4), | ||
611 | /* 1000 */ V(7, 1, 4), | ||
612 | /* 1001 */ PTR(86, 1), | ||
613 | /* 1010 */ PTR(88, 2), | ||
614 | /* 1011 */ PTR(92, 2), | ||
615 | /* 1100 */ V(1, 6, 4), | ||
616 | /* 1101 */ V(6, 1, 4), | ||
617 | /* 1110 */ V(6, 0, 4), | ||
618 | /* 1111 */ PTR(96, 1), | ||
619 | |||
620 | /* 0001 ... */ | ||
621 | /* 0000 */ PTR(98, 1), /* 32 */ | ||
622 | /* 0001 */ PTR(100, 1), | ||
623 | /* 0010 */ V(1, 4, 4), | ||
624 | /* 0011 */ V(4, 1, 4), | ||
625 | /* 0100 */ V(4, 0, 4), | ||
626 | /* 0101 */ V(2, 3, 4), | ||
627 | /* 0110 */ V(3, 2, 4), | ||
628 | /* 0111 */ V(0, 3, 4), | ||
629 | /* 1000 */ V(1, 3, 3), | ||
630 | /* 1001 */ V(1, 3, 3), | ||
631 | /* 1010 */ V(3, 1, 3), | ||
632 | /* 1011 */ V(3, 1, 3), | ||
633 | /* 1100 */ V(3, 0, 3), | ||
634 | /* 1101 */ V(3, 0, 3), | ||
635 | /* 1110 */ V(2, 2, 3), | ||
636 | /* 1111 */ V(2, 2, 3), | ||
637 | |||
638 | /* 0010 ... */ | ||
639 | /* 00 */ V(1, 2, 2), /* 48 */ | ||
640 | /* 01 */ V(2, 1, 2), | ||
641 | /* 10 */ V(0, 2, 2), | ||
642 | /* 11 */ V(2, 0, 2), | ||
643 | |||
644 | /* 0000 0000 ... */ | ||
645 | /* 000 */ V(7, 7, 3), /* 52 */ | ||
646 | /* 001 */ V(6, 7, 3), | ||
647 | /* 010 */ V(7, 6, 3), | ||
648 | /* 011 */ V(5, 7, 3), | ||
649 | /* 100 */ V(7, 5, 3), | ||
650 | /* 101 */ V(6, 6, 3), | ||
651 | /* 110 */ V(4, 7, 2), | ||
652 | /* 111 */ V(4, 7, 2), | ||
653 | |||
654 | /* 0000 0001 ... */ | ||
655 | /* 00 */ V(7, 4, 2), /* 60 */ | ||
656 | /* 01 */ V(5, 6, 2), | ||
657 | /* 10 */ V(6, 5, 2), | ||
658 | /* 11 */ V(3, 7, 2), | ||
659 | |||
660 | /* 0000 0010 ... */ | ||
661 | /* 000 */ V(7, 3, 2), /* 64 */ | ||
662 | /* 001 */ V(7, 3, 2), | ||
663 | /* 010 */ V(4, 6, 2), | ||
664 | /* 011 */ V(4, 6, 2), | ||
665 | /* 100 */ V(5, 5, 3), | ||
666 | /* 101 */ V(5, 4, 3), | ||
667 | /* 110 */ V(6, 3, 2), | ||
668 | /* 111 */ V(6, 3, 2), | ||
669 | |||
670 | /* 0000 0011 ... */ | ||
671 | /* 0 */ V(2, 7, 1), /* 72 */ | ||
672 | /* 1 */ V(7, 2, 1), | ||
673 | |||
674 | /* 0000 0100 ... */ | ||
675 | /* 00 */ V(6, 4, 2), /* 74 */ | ||
676 | /* 01 */ V(0, 7, 2), | ||
677 | /* 10 */ V(7, 0, 1), | ||
678 | /* 11 */ V(7, 0, 1), | ||
679 | |||
680 | /* 0000 0101 ... */ | ||
681 | /* 00 */ V(6, 2, 1), /* 78 */ | ||
682 | /* 01 */ V(6, 2, 1), | ||
683 | /* 10 */ V(4, 5, 2), | ||
684 | /* 11 */ V(3, 5, 2), | ||
685 | |||
686 | /* 0000 0110 ... */ | ||
687 | /* 00 */ V(0, 6, 1), /* 82 */ | ||
688 | /* 01 */ V(0, 6, 1), | ||
689 | /* 10 */ V(5, 3, 2), | ||
690 | /* 11 */ V(4, 4, 2), | ||
691 | |||
692 | /* 0000 1001 ... */ | ||
693 | /* 0 */ V(3, 6, 1), /* 86 */ | ||
694 | /* 1 */ V(2, 6, 1), | ||
695 | |||
696 | /* 0000 1010 ... */ | ||
697 | /* 00 */ V(2, 5, 2), /* 88 */ | ||
698 | /* 01 */ V(5, 2, 2), | ||
699 | /* 10 */ V(1, 5, 1), | ||
700 | /* 11 */ V(1, 5, 1), | ||
701 | |||
702 | /* 0000 1011 ... */ | ||
703 | /* 00 */ V(5, 1, 1), /* 92 */ | ||
704 | /* 01 */ V(5, 1, 1), | ||
705 | /* 10 */ V(3, 4, 2), | ||
706 | /* 11 */ V(4, 3, 2), | ||
707 | |||
708 | /* 0000 1111 ... */ | ||
709 | /* 0 */ V(0, 5, 1), /* 96 */ | ||
710 | /* 1 */ V(5, 0, 1), | ||
711 | |||
712 | /* 0001 0000 ... */ | ||
713 | /* 0 */ V(2, 4, 1), /* 98 */ | ||
714 | /* 1 */ V(4, 2, 1), | ||
715 | |||
716 | /* 0001 0001 ... */ | ||
717 | /* 0 */ V(3, 3, 1), /* 100 */ | ||
718 | /* 1 */ V(0, 4, 1) | ||
719 | }; | ||
720 | |||
721 | static | ||
722 | union huffpair const hufftab11[] ICONST_ATTR_MPA_HUFFMAN = { | ||
723 | /* 0000 */ PTR(16, 4), | ||
724 | /* 0001 */ PTR(32, 4), | ||
725 | /* 0010 */ PTR(48, 4), | ||
726 | /* 0011 */ PTR(64, 3), | ||
727 | /* 0100 */ V(1, 2, 4), | ||
728 | /* 0101 */ PTR(72, 1), | ||
729 | /* 0110 */ V(1, 1, 3), | ||
730 | /* 0111 */ V(1, 1, 3), | ||
731 | /* 1000 */ V(0, 1, 3), | ||
732 | /* 1001 */ V(0, 1, 3), | ||
733 | /* 1010 */ V(1, 0, 3), | ||
734 | /* 1011 */ V(1, 0, 3), | ||
735 | /* 1100 */ V(0, 0, 2), | ||
736 | /* 1101 */ V(0, 0, 2), | ||
737 | /* 1110 */ V(0, 0, 2), | ||
738 | /* 1111 */ V(0, 0, 2), | ||
739 | |||
740 | /* 0000 ... */ | ||
741 | /* 0000 */ PTR(74, 2), /* 16 */ | ||
742 | /* 0001 */ PTR(78, 3), | ||
743 | /* 0010 */ PTR(86, 2), | ||
744 | /* 0011 */ PTR(90, 1), | ||
745 | /* 0100 */ PTR(92, 2), | ||
746 | /* 0101 */ V(2, 7, 4), | ||
747 | /* 0110 */ V(7, 2, 4), | ||
748 | /* 0111 */ PTR(96, 1), | ||
749 | /* 1000 */ V(7, 1, 3), | ||
750 | /* 1001 */ V(7, 1, 3), | ||
751 | /* 1010 */ V(1, 7, 4), | ||
752 | /* 1011 */ V(7, 0, 4), | ||
753 | /* 1100 */ V(3, 6, 4), | ||
754 | /* 1101 */ V(6, 3, 4), | ||
755 | /* 1110 */ V(6, 0, 4), | ||
756 | /* 1111 */ PTR(98, 1), | ||
757 | |||
758 | /* 0001 ... */ | ||
759 | /* 0000 */ PTR(100, 1), /* 32 */ | ||
760 | /* 0001 */ V(1, 5, 4), | ||
761 | /* 0010 */ V(6, 2, 3), | ||
762 | /* 0011 */ V(6, 2, 3), | ||
763 | /* 0100 */ V(2, 6, 4), | ||
764 | /* 0101 */ V(0, 6, 4), | ||
765 | /* 0110 */ V(1, 6, 3), | ||
766 | /* 0111 */ V(1, 6, 3), | ||
767 | /* 1000 */ V(6, 1, 3), | ||
768 | /* 1001 */ V(6, 1, 3), | ||
769 | /* 1010 */ V(5, 1, 4), | ||
770 | /* 1011 */ V(3, 4, 4), | ||
771 | /* 1100 */ V(5, 0, 4), | ||
772 | /* 1101 */ PTR(102, 1), | ||
773 | /* 1110 */ V(2, 4, 4), | ||
774 | /* 1111 */ V(4, 2, 4), | ||
775 | |||
776 | /* 0010 ... */ | ||
777 | /* 0000 */ V(1, 4, 4), /* 48 */ | ||
778 | /* 0001 */ V(4, 1, 4), | ||
779 | /* 0010 */ V(0, 4, 4), | ||
780 | /* 0011 */ V(4, 0, 4), | ||
781 | /* 0100 */ V(2, 3, 3), | ||
782 | /* 0101 */ V(2, 3, 3), | ||
783 | /* 0110 */ V(3, 2, 3), | ||
784 | /* 0111 */ V(3, 2, 3), | ||
785 | /* 1000 */ V(1, 3, 2), | ||
786 | /* 1001 */ V(1, 3, 2), | ||
787 | /* 1010 */ V(1, 3, 2), | ||
788 | /* 1011 */ V(1, 3, 2), | ||
789 | /* 1100 */ V(3, 1, 2), | ||
790 | /* 1101 */ V(3, 1, 2), | ||
791 | /* 1110 */ V(3, 1, 2), | ||
792 | /* 1111 */ V(3, 1, 2), | ||
793 | |||
794 | /* 0011 ... */ | ||
795 | /* 000 */ V(0, 3, 3), /* 64 */ | ||
796 | /* 001 */ V(3, 0, 3), | ||
797 | /* 010 */ V(2, 2, 2), | ||
798 | /* 011 */ V(2, 2, 2), | ||
799 | /* 100 */ V(2, 1, 1), | ||
800 | /* 101 */ V(2, 1, 1), | ||
801 | /* 110 */ V(2, 1, 1), | ||
802 | /* 111 */ V(2, 1, 1), | ||
803 | |||
804 | /* 0101 ... */ | ||
805 | /* 0 */ V(0, 2, 1), /* 72 */ | ||
806 | /* 1 */ V(2, 0, 1), | ||
807 | |||
808 | /* 0000 0000 ... */ | ||
809 | /* 00 */ V(7, 7, 2), /* 74 */ | ||
810 | /* 01 */ V(6, 7, 2), | ||
811 | /* 10 */ V(7, 6, 2), | ||
812 | /* 11 */ V(7, 5, 2), | ||
813 | |||
814 | /* 0000 0001 ... */ | ||
815 | /* 000 */ V(6, 6, 2), /* 78 */ | ||
816 | /* 001 */ V(6, 6, 2), | ||
817 | /* 010 */ V(4, 7, 2), | ||
818 | /* 011 */ V(4, 7, 2), | ||
819 | /* 100 */ V(7, 4, 2), | ||
820 | /* 101 */ V(7, 4, 2), | ||
821 | /* 110 */ V(5, 7, 3), | ||
822 | /* 111 */ V(5, 5, 3), | ||
823 | |||
824 | /* 0000 0010 ... */ | ||
825 | /* 00 */ V(5, 6, 2), /* 86 */ | ||
826 | /* 01 */ V(6, 5, 2), | ||
827 | /* 10 */ V(3, 7, 1), | ||
828 | /* 11 */ V(3, 7, 1), | ||
829 | |||
830 | /* 0000 0011 ... */ | ||
831 | /* 0 */ V(7, 3, 1), /* 90 */ | ||
832 | /* 1 */ V(4, 6, 1), | ||
833 | |||
834 | /* 0000 0100 ... */ | ||
835 | /* 00 */ V(4, 5, 2), /* 92 */ | ||
836 | /* 01 */ V(5, 4, 2), | ||
837 | /* 10 */ V(3, 5, 2), | ||
838 | /* 11 */ V(5, 3, 2), | ||
839 | |||
840 | /* 0000 0111 ... */ | ||
841 | /* 0 */ V(6, 4, 1), /* 96 */ | ||
842 | /* 1 */ V(0, 7, 1), | ||
843 | |||
844 | /* 0000 1111 ... */ | ||
845 | /* 0 */ V(4, 4, 1), /* 98 */ | ||
846 | /* 1 */ V(2, 5, 1), | ||
847 | |||
848 | /* 0001 0000 ... */ | ||
849 | /* 0 */ V(5, 2, 1), /* 100 */ | ||
850 | /* 1 */ V(0, 5, 1), | ||
851 | |||
852 | /* 0001 1101 ... */ | ||
853 | /* 0 */ V(4, 3, 1), /* 102 */ | ||
854 | /* 1 */ V(3, 3, 1) | ||
855 | }; | ||
856 | |||
857 | static | ||
858 | union huffpair const hufftab12[] ICONST_ATTR_MPA_HUFFMAN = { | ||
859 | /* 0000 */ PTR(16, 4), | ||
860 | /* 0001 */ PTR(32, 4), | ||
861 | /* 0010 */ PTR(48, 4), | ||
862 | /* 0011 */ PTR(64, 2), | ||
863 | /* 0100 */ PTR(68, 3), | ||
864 | /* 0101 */ PTR(76, 1), | ||
865 | /* 0110 */ V(1, 2, 4), | ||
866 | /* 0111 */ V(2, 1, 4), | ||
867 | /* 1000 */ PTR(78, 1), | ||
868 | /* 1001 */ V(0, 0, 4), | ||
869 | /* 1010 */ V(1, 1, 3), | ||
870 | /* 1011 */ V(1, 1, 3), | ||
871 | /* 1100 */ V(0, 1, 3), | ||
872 | /* 1101 */ V(0, 1, 3), | ||
873 | /* 1110 */ V(1, 0, 3), | ||
874 | /* 1111 */ V(1, 0, 3), | ||
875 | |||
876 | /* 0000 ... */ | ||
877 | /* 0000 */ PTR(80, 2), /* 16 */ | ||
878 | /* 0001 */ PTR(84, 1), | ||
879 | /* 0010 */ PTR(86, 1), | ||
880 | /* 0011 */ PTR(88, 1), | ||
881 | /* 0100 */ V(5, 6, 4), | ||
882 | /* 0101 */ V(3, 7, 4), | ||
883 | /* 0110 */ PTR(90, 1), | ||
884 | /* 0111 */ V(2, 7, 4), | ||
885 | /* 1000 */ V(7, 2, 4), | ||
886 | /* 1001 */ V(4, 6, 4), | ||
887 | /* 1010 */ V(6, 4, 4), | ||
888 | /* 1011 */ V(1, 7, 4), | ||
889 | /* 1100 */ V(7, 1, 4), | ||
890 | /* 1101 */ PTR(92, 1), | ||
891 | /* 1110 */ V(3, 6, 4), | ||
892 | /* 1111 */ V(6, 3, 4), | ||
893 | |||
894 | /* 0001 ... */ | ||
895 | /* 0000 */ V(4, 5, 4), /* 32 */ | ||
896 | /* 0001 */ V(5, 4, 4), | ||
897 | /* 0010 */ V(4, 4, 4), | ||
898 | /* 0011 */ PTR(94, 1), | ||
899 | /* 0100 */ V(2, 6, 3), | ||
900 | /* 0101 */ V(2, 6, 3), | ||
901 | /* 0110 */ V(6, 2, 3), | ||
902 | /* 0111 */ V(6, 2, 3), | ||
903 | /* 1000 */ V(6, 1, 3), | ||
904 | /* 1001 */ V(6, 1, 3), | ||
905 | /* 1010 */ V(1, 6, 4), | ||
906 | /* 1011 */ V(6, 0, 4), | ||
907 | /* 1100 */ V(3, 5, 4), | ||
908 | /* 1101 */ V(5, 3, 4), | ||
909 | /* 1110 */ V(2, 5, 4), | ||
910 | /* 1111 */ V(5, 2, 4), | ||
911 | |||
912 | /* 0010 ... */ | ||
913 | /* 0000 */ V(1, 5, 3), /* 48 */ | ||
914 | /* 0001 */ V(1, 5, 3), | ||
915 | /* 0010 */ V(5, 1, 3), | ||
916 | /* 0011 */ V(5, 1, 3), | ||
917 | /* 0100 */ V(3, 4, 3), | ||
918 | /* 0101 */ V(3, 4, 3), | ||
919 | /* 0110 */ V(4, 3, 3), | ||
920 | /* 0111 */ V(4, 3, 3), | ||
921 | /* 1000 */ V(5, 0, 4), | ||
922 | /* 1001 */ V(0, 4, 4), | ||
923 | /* 1010 */ V(2, 4, 3), | ||
924 | /* 1011 */ V(2, 4, 3), | ||
925 | /* 1100 */ V(4, 2, 3), | ||
926 | /* 1101 */ V(4, 2, 3), | ||
927 | /* 1110 */ V(1, 4, 3), | ||
928 | /* 1111 */ V(1, 4, 3), | ||
929 | |||
930 | /* 0011 ... */ | ||
931 | /* 00 */ V(3, 3, 2), /* 64 */ | ||
932 | /* 01 */ V(4, 1, 2), | ||
933 | /* 10 */ V(2, 3, 2), | ||
934 | /* 11 */ V(3, 2, 2), | ||
935 | |||
936 | /* 0100 ... */ | ||
937 | /* 000 */ V(4, 0, 3), /* 68 */ | ||
938 | /* 001 */ V(0, 3, 3), | ||
939 | /* 010 */ V(3, 0, 2), | ||
940 | /* 011 */ V(3, 0, 2), | ||
941 | /* 100 */ V(1, 3, 1), | ||
942 | /* 101 */ V(1, 3, 1), | ||
943 | /* 110 */ V(1, 3, 1), | ||
944 | /* 111 */ V(1, 3, 1), | ||
945 | |||
946 | /* 0101 ... */ | ||
947 | /* 0 */ V(3, 1, 1), /* 76 */ | ||
948 | /* 1 */ V(2, 2, 1), | ||
949 | |||
950 | /* 1000 ... */ | ||
951 | /* 0 */ V(0, 2, 1), /* 78 */ | ||
952 | /* 1 */ V(2, 0, 1), | ||
953 | |||
954 | /* 0000 0000 ... */ | ||
955 | /* 00 */ V(7, 7, 2), /* 80 */ | ||
956 | /* 01 */ V(6, 7, 2), | ||
957 | /* 10 */ V(7, 6, 1), | ||
958 | /* 11 */ V(7, 6, 1), | ||
959 | |||
960 | /* 0000 0001 ... */ | ||
961 | /* 0 */ V(5, 7, 1), /* 84 */ | ||
962 | /* 1 */ V(7, 5, 1), | ||
963 | |||
964 | /* 0000 0010 ... */ | ||
965 | /* 0 */ V(6, 6, 1), /* 86 */ | ||
966 | /* 1 */ V(4, 7, 1), | ||
967 | |||
968 | /* 0000 0011 ... */ | ||
969 | /* 0 */ V(7, 4, 1), /* 88 */ | ||
970 | /* 1 */ V(6, 5, 1), | ||
971 | |||
972 | /* 0000 0110 ... */ | ||
973 | /* 0 */ V(7, 3, 1), /* 90 */ | ||
974 | /* 1 */ V(5, 5, 1), | ||
975 | |||
976 | /* 0000 1101 ... */ | ||
977 | /* 0 */ V(0, 7, 1), /* 92 */ | ||
978 | /* 1 */ V(7, 0, 1), | ||
979 | |||
980 | /* 0001 0011 ... */ | ||
981 | /* 0 */ V(0, 6, 1), /* 94 */ | ||
982 | /* 1 */ V(0, 5, 1) | ||
983 | }; | ||
984 | |||
985 | static | ||
986 | union huffpair const hufftab13[] ICONST_ATTR_MPA_HUFFMAN = { | ||
987 | /* 0000 */ PTR(16, 4), | ||
988 | /* 0001 */ PTR(32, 4), | ||
989 | /* 0010 */ PTR(48, 4), | ||
990 | /* 0011 */ PTR(64, 2), | ||
991 | /* 0100 */ V(1, 1, 4), | ||
992 | /* 0101 */ V(0, 1, 4), | ||
993 | /* 0110 */ V(1, 0, 3), | ||
994 | /* 0111 */ V(1, 0, 3), | ||
995 | /* 1000 */ V(0, 0, 1), | ||
996 | /* 1001 */ V(0, 0, 1), | ||
997 | /* 1010 */ V(0, 0, 1), | ||
998 | /* 1011 */ V(0, 0, 1), | ||
999 | /* 1100 */ V(0, 0, 1), | ||
1000 | /* 1101 */ V(0, 0, 1), | ||
1001 | /* 1110 */ V(0, 0, 1), | ||
1002 | /* 1111 */ V(0, 0, 1), | ||
1003 | |||
1004 | /* 0000 ... */ | ||
1005 | /* 0000 */ PTR(68, 4), /* 16 */ | ||
1006 | /* 0001 */ PTR(84, 4), | ||
1007 | /* 0010 */ PTR(100, 4), | ||
1008 | /* 0011 */ PTR(116, 4), | ||
1009 | /* 0100 */ PTR(132, 4), | ||
1010 | /* 0101 */ PTR(148, 4), | ||
1011 | /* 0110 */ PTR(164, 3), | ||
1012 | /* 0111 */ PTR(172, 3), | ||
1013 | /* 1000 */ PTR(180, 3), | ||
1014 | /* 1001 */ PTR(188, 3), | ||
1015 | /* 1010 */ PTR(196, 3), | ||
1016 | /* 1011 */ PTR(204, 3), | ||
1017 | /* 1100 */ PTR(212, 1), | ||
1018 | /* 1101 */ PTR(214, 2), | ||
1019 | /* 1110 */ PTR(218, 3), | ||
1020 | /* 1111 */ PTR(226, 1), | ||
1021 | |||
1022 | /* 0001 ... */ | ||
1023 | /* 0000 */ PTR(228, 2), /* 32 */ | ||
1024 | /* 0001 */ PTR(232, 2), | ||
1025 | /* 0010 */ PTR(236, 2), | ||
1026 | /* 0011 */ PTR(240, 2), | ||
1027 | /* 0100 */ V(8, 1, 4), | ||
1028 | /* 0101 */ PTR(244, 1), | ||
1029 | /* 0110 */ PTR(246, 1), | ||
1030 | /* 0111 */ PTR(248, 1), | ||
1031 | /* 1000 */ PTR(250, 2), | ||
1032 | /* 1001 */ PTR(254, 1), | ||
1033 | /* 1010 */ V(1, 5, 4), | ||
1034 | /* 1011 */ V(5, 1, 4), | ||
1035 | /* 1100 */ PTR(256, 1), | ||
1036 | /* 1101 */ PTR(258, 1), | ||
1037 | /* 1110 */ PTR(260, 1), | ||
1038 | /* 1111 */ V(1, 4, 4), | ||
1039 | |||
1040 | /* 0010 ... */ | ||
1041 | /* 0000 */ V(4, 1, 3), /* 48 */ | ||
1042 | /* 0001 */ V(4, 1, 3), | ||
1043 | /* 0010 */ V(0, 4, 4), | ||
1044 | /* 0011 */ V(4, 0, 4), | ||
1045 | /* 0100 */ V(2, 3, 4), | ||
1046 | /* 0101 */ V(3, 2, 4), | ||
1047 | /* 0110 */ V(1, 3, 3), | ||
1048 | /* 0111 */ V(1, 3, 3), | ||
1049 | /* 1000 */ V(3, 1, 3), | ||
1050 | /* 1001 */ V(3, 1, 3), | ||
1051 | /* 1010 */ V(0, 3, 3), | ||
1052 | /* 1011 */ V(0, 3, 3), | ||
1053 | /* 1100 */ V(3, 0, 3), | ||
1054 | /* 1101 */ V(3, 0, 3), | ||
1055 | /* 1110 */ V(2, 2, 3), | ||
1056 | /* 1111 */ V(2, 2, 3), | ||
1057 | |||
1058 | /* 0011 ... */ | ||
1059 | /* 00 */ V(1, 2, 2), /* 64 */ | ||
1060 | /* 01 */ V(2, 1, 2), | ||
1061 | /* 10 */ V(0, 2, 2), | ||
1062 | /* 11 */ V(2, 0, 2), | ||
1063 | |||
1064 | /* 0000 0000 ... */ | ||
1065 | /* 0000 */ PTR(262, 4), /* 68 */ | ||
1066 | /* 0001 */ PTR(278, 4), | ||
1067 | /* 0010 */ PTR(294, 4), | ||
1068 | /* 0011 */ PTR(310, 3), | ||
1069 | /* 0100 */ PTR(318, 2), | ||
1070 | /* 0101 */ PTR(322, 2), | ||
1071 | /* 0110 */ PTR(326, 3), | ||
1072 | /* 0111 */ PTR(334, 2), | ||
1073 | /* 1000 */ PTR(338, 1), | ||
1074 | /* 1001 */ PTR(340, 2), | ||
1075 | /* 1010 */ PTR(344, 2), | ||
1076 | /* 1011 */ PTR(348, 2), | ||
1077 | /* 1100 */ PTR(352, 2), | ||
1078 | /* 1101 */ PTR(356, 2), | ||
1079 | /* 1110 */ V(1, 15, 4), | ||
1080 | /* 1111 */ V(15, 1, 4), | ||
1081 | |||
1082 | /* 0000 0001 ... */ | ||
1083 | /* 0000 */ V(15, 0, 4), /* 84 */ | ||
1084 | /* 0001 */ PTR(360, 1), | ||
1085 | /* 0010 */ PTR(362, 1), | ||
1086 | /* 0011 */ PTR(364, 1), | ||
1087 | /* 0100 */ V(14, 2, 4), | ||
1088 | /* 0101 */ PTR(366, 1), | ||
1089 | /* 0110 */ V(1, 14, 4), | ||
1090 | /* 0111 */ V(14, 1, 4), | ||
1091 | /* 1000 */ PTR(368, 1), | ||
1092 | /* 1001 */ PTR(370, 1), | ||
1093 | /* 1010 */ PTR(372, 1), | ||
1094 | /* 1011 */ PTR(374, 1), | ||
1095 | /* 1100 */ PTR(376, 1), | ||
1096 | /* 1101 */ PTR(378, 1), | ||
1097 | /* 1110 */ V(12, 6, 4), | ||
1098 | /* 1111 */ V(3, 13, 4), | ||
1099 | |||
1100 | /* 0000 0010 ... */ | ||
1101 | /* 0000 */ PTR(380, 1), /* 100 */ | ||
1102 | /* 0001 */ V(2, 13, 4), | ||
1103 | /* 0010 */ V(13, 2, 4), | ||
1104 | /* 0011 */ V(1, 13, 4), | ||
1105 | /* 0100 */ V(11, 7, 4), | ||
1106 | /* 0101 */ PTR(382, 1), | ||
1107 | /* 0110 */ PTR(384, 1), | ||
1108 | /* 0111 */ V(12, 3, 4), | ||
1109 | /* 1000 */ PTR(386, 1), | ||
1110 | /* 1001 */ V(4, 11, 4), | ||
1111 | /* 1010 */ V(13, 1, 3), | ||
1112 | /* 1011 */ V(13, 1, 3), | ||
1113 | /* 1100 */ V(0, 13, 4), | ||
1114 | /* 1101 */ V(13, 0, 4), | ||
1115 | /* 1110 */ V(8, 10, 4), | ||
1116 | /* 1111 */ V(10, 8, 4), | ||
1117 | |||
1118 | /* 0000 0011 ... */ | ||
1119 | /* 0000 */ V(4, 12, 4), /* 116 */ | ||
1120 | /* 0001 */ V(12, 4, 4), | ||
1121 | /* 0010 */ V(6, 11, 4), | ||
1122 | /* 0011 */ V(11, 6, 4), | ||
1123 | /* 0100 */ V(3, 12, 3), | ||
1124 | /* 0101 */ V(3, 12, 3), | ||
1125 | /* 0110 */ V(2, 12, 3), | ||
1126 | /* 0111 */ V(2, 12, 3), | ||
1127 | /* 1000 */ V(12, 2, 3), | ||
1128 | /* 1001 */ V(12, 2, 3), | ||
1129 | /* 1010 */ V(5, 11, 3), | ||
1130 | /* 1011 */ V(5, 11, 3), | ||
1131 | /* 1100 */ V(11, 5, 4), | ||
1132 | /* 1101 */ V(8, 9, 4), | ||
1133 | /* 1110 */ V(1, 12, 3), | ||
1134 | /* 1111 */ V(1, 12, 3), | ||
1135 | |||
1136 | /* 0000 0100 ... */ | ||
1137 | /* 0000 */ V(12, 1, 3), /* 132 */ | ||
1138 | /* 0001 */ V(12, 1, 3), | ||
1139 | /* 0010 */ V(9, 8, 4), | ||
1140 | /* 0011 */ V(0, 12, 4), | ||
1141 | /* 0100 */ V(12, 0, 3), | ||
1142 | /* 0101 */ V(12, 0, 3), | ||
1143 | /* 0110 */ V(11, 4, 4), | ||
1144 | /* 0111 */ V(6, 10, 4), | ||
1145 | /* 1000 */ V(10, 6, 4), | ||
1146 | /* 1001 */ V(7, 9, 4), | ||
1147 | /* 1010 */ V(3, 11, 3), | ||
1148 | /* 1011 */ V(3, 11, 3), | ||
1149 | /* 1100 */ V(11, 3, 3), | ||
1150 | /* 1101 */ V(11, 3, 3), | ||
1151 | /* 1110 */ V(8, 8, 4), | ||
1152 | /* 1111 */ V(5, 10, 4), | ||
1153 | |||
1154 | /* 0000 0101 ... */ | ||
1155 | /* 0000 */ V(2, 11, 3), /* 148 */ | ||
1156 | /* 0001 */ V(2, 11, 3), | ||
1157 | /* 0010 */ V(10, 5, 4), | ||
1158 | /* 0011 */ V(6, 9, 4), | ||
1159 | /* 0100 */ V(10, 4, 3), | ||
1160 | /* 0101 */ V(10, 4, 3), | ||
1161 | /* 0110 */ V(7, 8, 4), | ||
1162 | /* 0111 */ V(8, 7, 4), | ||
1163 | /* 1000 */ V(9, 4, 3), | ||
1164 | /* 1001 */ V(9, 4, 3), | ||
1165 | /* 1010 */ V(7, 7, 4), | ||
1166 | /* 1011 */ V(7, 6, 4), | ||
1167 | /* 1100 */ V(11, 2, 2), | ||
1168 | /* 1101 */ V(11, 2, 2), | ||
1169 | /* 1110 */ V(11, 2, 2), | ||
1170 | /* 1111 */ V(11, 2, 2), | ||
1171 | |||
1172 | /* 0000 0110 ... */ | ||
1173 | /* 000 */ V(1, 11, 2), /* 164 */ | ||
1174 | /* 001 */ V(1, 11, 2), | ||
1175 | /* 010 */ V(11, 1, 2), | ||
1176 | /* 011 */ V(11, 1, 2), | ||
1177 | /* 100 */ V(0, 11, 3), | ||
1178 | /* 101 */ V(11, 0, 3), | ||
1179 | /* 110 */ V(9, 6, 3), | ||
1180 | /* 111 */ V(4, 10, 3), | ||
1181 | |||
1182 | /* 0000 0111 ... */ | ||
1183 | /* 000 */ V(3, 10, 3), /* 172 */ | ||
1184 | /* 001 */ V(10, 3, 3), | ||
1185 | /* 010 */ V(5, 9, 3), | ||
1186 | /* 011 */ V(9, 5, 3), | ||
1187 | /* 100 */ V(2, 10, 2), | ||
1188 | /* 101 */ V(2, 10, 2), | ||
1189 | /* 110 */ V(10, 2, 2), | ||
1190 | /* 111 */ V(10, 2, 2), | ||
1191 | |||
1192 | /* 0000 1000 ... */ | ||
1193 | /* 000 */ V(1, 10, 2), /* 180 */ | ||
1194 | /* 001 */ V(1, 10, 2), | ||
1195 | /* 010 */ V(10, 1, 2), | ||
1196 | /* 011 */ V(10, 1, 2), | ||
1197 | /* 100 */ V(0, 10, 3), | ||
1198 | /* 101 */ V(6, 8, 3), | ||
1199 | /* 110 */ V(10, 0, 2), | ||
1200 | /* 111 */ V(10, 0, 2), | ||
1201 | |||
1202 | /* 0000 1001 ... */ | ||
1203 | /* 000 */ V(8, 6, 3), /* 188 */ | ||
1204 | /* 001 */ V(4, 9, 3), | ||
1205 | /* 010 */ V(9, 3, 2), | ||
1206 | /* 011 */ V(9, 3, 2), | ||
1207 | /* 100 */ V(3, 9, 3), | ||
1208 | /* 101 */ V(5, 8, 3), | ||
1209 | /* 110 */ V(8, 5, 3), | ||
1210 | /* 111 */ V(6, 7, 3), | ||
1211 | |||
1212 | /* 0000 1010 ... */ | ||
1213 | /* 000 */ V(2, 9, 2), /* 196 */ | ||
1214 | /* 001 */ V(2, 9, 2), | ||
1215 | /* 010 */ V(9, 2, 2), | ||
1216 | /* 011 */ V(9, 2, 2), | ||
1217 | /* 100 */ V(5, 7, 3), | ||
1218 | /* 101 */ V(7, 5, 3), | ||
1219 | /* 110 */ V(3, 8, 2), | ||
1220 | /* 111 */ V(3, 8, 2), | ||
1221 | |||
1222 | /* 0000 1011 ... */ | ||
1223 | /* 000 */ V(8, 3, 2), /* 204 */ | ||
1224 | /* 001 */ V(8, 3, 2), | ||
1225 | /* 010 */ V(6, 6, 3), | ||
1226 | /* 011 */ V(4, 7, 3), | ||
1227 | /* 100 */ V(7, 4, 3), | ||
1228 | /* 101 */ V(5, 6, 3), | ||
1229 | /* 110 */ V(6, 5, 3), | ||
1230 | /* 111 */ V(7, 3, 3), | ||
1231 | |||
1232 | /* 0000 1100 ... */ | ||
1233 | /* 0 */ V(1, 9, 1), /* 212 */ | ||
1234 | /* 1 */ V(9, 1, 1), | ||
1235 | |||
1236 | /* 0000 1101 ... */ | ||
1237 | /* 00 */ V(0, 9, 2), /* 214 */ | ||
1238 | /* 01 */ V(9, 0, 2), | ||
1239 | /* 10 */ V(4, 8, 2), | ||
1240 | /* 11 */ V(8, 4, 2), | ||
1241 | |||
1242 | /* 0000 1110 ... */ | ||
1243 | /* 000 */ V(7, 2, 2), /* 218 */ | ||
1244 | /* 001 */ V(7, 2, 2), | ||
1245 | /* 010 */ V(4, 6, 3), | ||
1246 | /* 011 */ V(6, 4, 3), | ||
1247 | /* 100 */ V(2, 8, 1), | ||
1248 | /* 101 */ V(2, 8, 1), | ||
1249 | /* 110 */ V(2, 8, 1), | ||
1250 | /* 111 */ V(2, 8, 1), | ||
1251 | |||
1252 | /* 0000 1111 ... */ | ||
1253 | /* 0 */ V(8, 2, 1), /* 226 */ | ||
1254 | /* 1 */ V(1, 8, 1), | ||
1255 | |||
1256 | /* 0001 0000 ... */ | ||
1257 | /* 00 */ V(3, 7, 2), /* 228 */ | ||
1258 | /* 01 */ V(2, 7, 2), | ||
1259 | /* 10 */ V(1, 7, 1), | ||
1260 | /* 11 */ V(1, 7, 1), | ||
1261 | |||
1262 | /* 0001 0001 ... */ | ||
1263 | /* 00 */ V(7, 1, 1), /* 232 */ | ||
1264 | /* 01 */ V(7, 1, 1), | ||
1265 | /* 10 */ V(5, 5, 2), | ||
1266 | /* 11 */ V(0, 7, 2), | ||
1267 | |||
1268 | /* 0001 0010 ... */ | ||
1269 | /* 00 */ V(7, 0, 2), /* 236 */ | ||
1270 | /* 01 */ V(3, 6, 2), | ||
1271 | /* 10 */ V(6, 3, 2), | ||
1272 | /* 11 */ V(4, 5, 2), | ||
1273 | |||
1274 | /* 0001 0011 ... */ | ||
1275 | /* 00 */ V(5, 4, 2), /* 240 */ | ||
1276 | /* 01 */ V(2, 6, 2), | ||
1277 | /* 10 */ V(6, 2, 2), | ||
1278 | /* 11 */ V(3, 5, 2), | ||
1279 | |||
1280 | /* 0001 0101 ... */ | ||
1281 | /* 0 */ V(0, 8, 1), /* 244 */ | ||
1282 | /* 1 */ V(8, 0, 1), | ||
1283 | |||
1284 | /* 0001 0110 ... */ | ||
1285 | /* 0 */ V(1, 6, 1), /* 246 */ | ||
1286 | /* 1 */ V(6, 1, 1), | ||
1287 | |||
1288 | /* 0001 0111 ... */ | ||
1289 | /* 0 */ V(0, 6, 1), /* 248 */ | ||
1290 | /* 1 */ V(6, 0, 1), | ||
1291 | |||
1292 | /* 0001 1000 ... */ | ||
1293 | /* 00 */ V(5, 3, 2), /* 250 */ | ||
1294 | /* 01 */ V(4, 4, 2), | ||
1295 | /* 10 */ V(2, 5, 1), | ||
1296 | /* 11 */ V(2, 5, 1), | ||
1297 | |||
1298 | /* 0001 1001 ... */ | ||
1299 | /* 0 */ V(5, 2, 1), /* 254 */ | ||
1300 | /* 1 */ V(0, 5, 1), | ||
1301 | |||
1302 | /* 0001 1100 ... */ | ||
1303 | /* 0 */ V(3, 4, 1), /* 256 */ | ||
1304 | /* 1 */ V(4, 3, 1), | ||
1305 | |||
1306 | /* 0001 1101 ... */ | ||
1307 | /* 0 */ V(5, 0, 1), /* 258 */ | ||
1308 | /* 1 */ V(2, 4, 1), | ||
1309 | |||
1310 | /* 0001 1110 ... */ | ||
1311 | /* 0 */ V(4, 2, 1), /* 260 */ | ||
1312 | /* 1 */ V(3, 3, 1), | ||
1313 | |||
1314 | /* 0000 0000 0000 ... */ | ||
1315 | /* 0000 */ PTR(388, 3), /* 262 */ | ||
1316 | /* 0001 */ V(15, 15, 4), | ||
1317 | /* 0010 */ V(14, 15, 4), | ||
1318 | /* 0011 */ V(13, 15, 4), | ||
1319 | /* 0100 */ V(14, 14, 4), | ||
1320 | /* 0101 */ V(12, 15, 4), | ||
1321 | /* 0110 */ V(13, 14, 4), | ||
1322 | /* 0111 */ V(11, 15, 4), | ||
1323 | /* 1000 */ V(15, 11, 4), | ||
1324 | /* 1001 */ V(12, 14, 4), | ||
1325 | /* 1010 */ V(13, 12, 4), | ||
1326 | /* 1011 */ PTR(396, 1), | ||
1327 | /* 1100 */ V(14, 12, 3), | ||
1328 | /* 1101 */ V(14, 12, 3), | ||
1329 | /* 1110 */ V(13, 13, 3), | ||
1330 | /* 1111 */ V(13, 13, 3), | ||
1331 | |||
1332 | /* 0000 0000 0001 ... */ | ||
1333 | /* 0000 */ V(15, 10, 4), /* 278 */ | ||
1334 | /* 0001 */ V(12, 13, 4), | ||
1335 | /* 0010 */ V(11, 14, 3), | ||
1336 | /* 0011 */ V(11, 14, 3), | ||
1337 | /* 0100 */ V(14, 11, 3), | ||
1338 | /* 0101 */ V(14, 11, 3), | ||
1339 | /* 0110 */ V(9, 15, 3), | ||
1340 | /* 0111 */ V(9, 15, 3), | ||
1341 | /* 1000 */ V(15, 9, 3), | ||
1342 | /* 1001 */ V(15, 9, 3), | ||
1343 | /* 1010 */ V(14, 10, 3), | ||
1344 | /* 1011 */ V(14, 10, 3), | ||
1345 | /* 1100 */ V(11, 13, 3), | ||
1346 | /* 1101 */ V(11, 13, 3), | ||
1347 | /* 1110 */ V(13, 11, 3), | ||
1348 | /* 1111 */ V(13, 11, 3), | ||
1349 | |||
1350 | /* 0000 0000 0010 ... */ | ||
1351 | /* 0000 */ V(8, 15, 3), /* 294 */ | ||
1352 | /* 0001 */ V(8, 15, 3), | ||
1353 | /* 0010 */ V(15, 8, 3), | ||
1354 | /* 0011 */ V(15, 8, 3), | ||
1355 | /* 0100 */ V(12, 12, 3), | ||
1356 | /* 0101 */ V(12, 12, 3), | ||
1357 | /* 0110 */ V(10, 14, 4), | ||
1358 | /* 0111 */ V(9, 14, 4), | ||
1359 | /* 1000 */ V(8, 14, 3), | ||
1360 | /* 1001 */ V(8, 14, 3), | ||
1361 | /* 1010 */ V(7, 15, 4), | ||
1362 | /* 1011 */ V(7, 14, 4), | ||
1363 | /* 1100 */ V(15, 7, 2), | ||
1364 | /* 1101 */ V(15, 7, 2), | ||
1365 | /* 1110 */ V(15, 7, 2), | ||
1366 | /* 1111 */ V(15, 7, 2), | ||
1367 | |||
1368 | /* 0000 0000 0011 ... */ | ||
1369 | /* 000 */ V(13, 10, 2), /* 310 */ | ||
1370 | /* 001 */ V(13, 10, 2), | ||
1371 | /* 010 */ V(10, 13, 3), | ||
1372 | /* 011 */ V(11, 12, 3), | ||
1373 | /* 100 */ V(12, 11, 3), | ||
1374 | /* 101 */ V(15, 6, 3), | ||
1375 | /* 110 */ V(6, 15, 2), | ||
1376 | /* 111 */ V(6, 15, 2), | ||
1377 | |||
1378 | /* 0000 0000 0100 ... */ | ||
1379 | /* 00 */ V(14, 8, 2), /* 318 */ | ||
1380 | /* 01 */ V(5, 15, 2), | ||
1381 | /* 10 */ V(9, 13, 2), | ||
1382 | /* 11 */ V(13, 9, 2), | ||
1383 | |||
1384 | /* 0000 0000 0101 ... */ | ||
1385 | /* 00 */ V(15, 5, 2), /* 322 */ | ||
1386 | /* 01 */ V(14, 7, 2), | ||
1387 | /* 10 */ V(10, 12, 2), | ||
1388 | /* 11 */ V(11, 11, 2), | ||
1389 | |||
1390 | /* 0000 0000 0110 ... */ | ||
1391 | /* 000 */ V(4, 15, 2), /* 326 */ | ||
1392 | /* 001 */ V(4, 15, 2), | ||
1393 | /* 010 */ V(15, 4, 2), | ||
1394 | /* 011 */ V(15, 4, 2), | ||
1395 | /* 100 */ V(12, 10, 3), | ||
1396 | /* 101 */ V(14, 6, 3), | ||
1397 | /* 110 */ V(15, 3, 2), | ||
1398 | /* 111 */ V(15, 3, 2), | ||
1399 | |||
1400 | /* 0000 0000 0111 ... */ | ||
1401 | /* 00 */ V(3, 15, 1), /* 334 */ | ||
1402 | /* 01 */ V(3, 15, 1), | ||
1403 | /* 10 */ V(8, 13, 2), | ||
1404 | /* 11 */ V(13, 8, 2), | ||
1405 | |||
1406 | /* 0000 0000 1000 ... */ | ||
1407 | /* 0 */ V(2, 15, 1), /* 338 */ | ||
1408 | /* 1 */ V(15, 2, 1), | ||
1409 | |||
1410 | /* 0000 0000 1001 ... */ | ||
1411 | /* 00 */ V(6, 14, 2), /* 340 */ | ||
1412 | /* 01 */ V(9, 12, 2), | ||
1413 | /* 10 */ V(0, 15, 1), | ||
1414 | /* 11 */ V(0, 15, 1), | ||
1415 | |||
1416 | /* 0000 0000 1010 ... */ | ||
1417 | /* 00 */ V(12, 9, 2), /* 344 */ | ||
1418 | /* 01 */ V(5, 14, 2), | ||
1419 | /* 10 */ V(10, 11, 1), | ||
1420 | /* 11 */ V(10, 11, 1), | ||
1421 | |||
1422 | /* 0000 0000 1011 ... */ | ||
1423 | /* 00 */ V(7, 13, 2), /* 348 */ | ||
1424 | /* 01 */ V(13, 7, 2), | ||
1425 | /* 10 */ V(4, 14, 1), | ||
1426 | /* 11 */ V(4, 14, 1), | ||
1427 | |||
1428 | /* 0000 0000 1100 ... */ | ||
1429 | /* 00 */ V(12, 8, 2), /* 352 */ | ||
1430 | /* 01 */ V(13, 6, 2), | ||
1431 | /* 10 */ V(3, 14, 1), | ||
1432 | /* 11 */ V(3, 14, 1), | ||
1433 | |||
1434 | /* 0000 0000 1101 ... */ | ||
1435 | /* 00 */ V(11, 9, 1), /* 356 */ | ||
1436 | /* 01 */ V(11, 9, 1), | ||
1437 | /* 10 */ V(9, 11, 2), | ||
1438 | /* 11 */ V(10, 10, 2), | ||
1439 | |||
1440 | /* 0000 0001 0001 ... */ | ||
1441 | /* 0 */ V(11, 10, 1), /* 360 */ | ||
1442 | /* 1 */ V(14, 5, 1), | ||
1443 | |||
1444 | /* 0000 0001 0010 ... */ | ||
1445 | /* 0 */ V(14, 4, 1), /* 362 */ | ||
1446 | /* 1 */ V(8, 12, 1), | ||
1447 | |||
1448 | /* 0000 0001 0011 ... */ | ||
1449 | /* 0 */ V(6, 13, 1), /* 364 */ | ||
1450 | /* 1 */ V(14, 3, 1), | ||
1451 | |||
1452 | /* 0000 0001 0101 ... */ | ||
1453 | /* 0 */ V(2, 14, 1), /* 366 */ | ||
1454 | /* 1 */ V(0, 14, 1), | ||
1455 | |||
1456 | /* 0000 0001 1000 ... */ | ||
1457 | /* 0 */ V(14, 0, 1), /* 368 */ | ||
1458 | /* 1 */ V(5, 13, 1), | ||
1459 | |||
1460 | /* 0000 0001 1001 ... */ | ||
1461 | /* 0 */ V(13, 5, 1), /* 370 */ | ||
1462 | /* 1 */ V(7, 12, 1), | ||
1463 | |||
1464 | /* 0000 0001 1010 ... */ | ||
1465 | /* 0 */ V(12, 7, 1), /* 372 */ | ||
1466 | /* 1 */ V(4, 13, 1), | ||
1467 | |||
1468 | /* 0000 0001 1011 ... */ | ||
1469 | /* 0 */ V(8, 11, 1), /* 374 */ | ||
1470 | /* 1 */ V(11, 8, 1), | ||
1471 | |||
1472 | /* 0000 0001 1100 ... */ | ||
1473 | /* 0 */ V(13, 4, 1), /* 376 */ | ||
1474 | /* 1 */ V(9, 10, 1), | ||
1475 | |||
1476 | /* 0000 0001 1101 ... */ | ||
1477 | /* 0 */ V(10, 9, 1), /* 378 */ | ||
1478 | /* 1 */ V(6, 12, 1), | ||
1479 | |||
1480 | /* 0000 0010 0000 ... */ | ||
1481 | /* 0 */ V(13, 3, 1), /* 380 */ | ||
1482 | /* 1 */ V(7, 11, 1), | ||
1483 | |||
1484 | /* 0000 0010 0101 ... */ | ||
1485 | /* 0 */ V(5, 12, 1), /* 382 */ | ||
1486 | /* 1 */ V(12, 5, 1), | ||
1487 | |||
1488 | /* 0000 0010 0110 ... */ | ||
1489 | /* 0 */ V(9, 9, 1), /* 384 */ | ||
1490 | /* 1 */ V(7, 10, 1), | ||
1491 | |||
1492 | /* 0000 0010 1000 ... */ | ||
1493 | /* 0 */ V(10, 7, 1), /* 386 */ | ||
1494 | /* 1 */ V(9, 7, 1), | ||
1495 | |||
1496 | /* 0000 0000 0000 0000 ... */ | ||
1497 | /* 000 */ V(15, 14, 3), /* 388 */ | ||
1498 | /* 001 */ V(15, 12, 3), | ||
1499 | /* 010 */ V(15, 13, 2), | ||
1500 | /* 011 */ V(15, 13, 2), | ||
1501 | /* 100 */ V(14, 13, 1), | ||
1502 | /* 101 */ V(14, 13, 1), | ||
1503 | /* 110 */ V(14, 13, 1), | ||
1504 | /* 111 */ V(14, 13, 1), | ||
1505 | |||
1506 | /* 0000 0000 0000 1011 ... */ | ||
1507 | /* 0 */ V(10, 15, 1), /* 396 */ | ||
1508 | /* 1 */ V(14, 9, 1) | ||
1509 | }; | ||
1510 | |||
1511 | static | ||
1512 | union huffpair const hufftab15[] ICONST_ATTR_MPA_HUFFMAN = { | ||
1513 | /* 0000 */ PTR(16, 4), | ||
1514 | /* 0001 */ PTR(32, 4), | ||
1515 | /* 0010 */ PTR(48, 4), | ||
1516 | /* 0011 */ PTR(64, 4), | ||
1517 | /* 0100 */ PTR(80, 4), | ||
1518 | /* 0101 */ PTR(96, 3), | ||
1519 | /* 0110 */ PTR(104, 3), | ||
1520 | /* 0111 */ PTR(112, 2), | ||
1521 | /* 1000 */ PTR(116, 1), | ||
1522 | /* 1001 */ PTR(118, 1), | ||
1523 | /* 1010 */ V(1, 1, 3), | ||
1524 | /* 1011 */ V(1, 1, 3), | ||
1525 | /* 1100 */ V(0, 1, 4), | ||
1526 | /* 1101 */ V(1, 0, 4), | ||
1527 | /* 1110 */ V(0, 0, 3), | ||
1528 | /* 1111 */ V(0, 0, 3), | ||
1529 | |||
1530 | /* 0000 ... */ | ||
1531 | /* 0000 */ PTR(120, 4), /* 16 */ | ||
1532 | /* 0001 */ PTR(136, 4), | ||
1533 | /* 0010 */ PTR(152, 4), | ||
1534 | /* 0011 */ PTR(168, 4), | ||
1535 | /* 0100 */ PTR(184, 4), | ||
1536 | /* 0101 */ PTR(200, 3), | ||
1537 | /* 0110 */ PTR(208, 3), | ||
1538 | /* 0111 */ PTR(216, 4), | ||
1539 | /* 1000 */ PTR(232, 3), | ||
1540 | /* 1001 */ PTR(240, 3), | ||
1541 | /* 1010 */ PTR(248, 3), | ||
1542 | /* 1011 */ PTR(256, 3), | ||
1543 | /* 1100 */ PTR(264, 2), | ||
1544 | /* 1101 */ PTR(268, 3), | ||
1545 | /* 1110 */ PTR(276, 3), | ||
1546 | /* 1111 */ PTR(284, 2), | ||
1547 | |||
1548 | /* 0001 ... */ | ||
1549 | /* 0000 */ PTR(288, 2), /* 32 */ | ||
1550 | /* 0001 */ PTR(292, 2), | ||
1551 | /* 0010 */ PTR(296, 2), | ||
1552 | /* 0011 */ PTR(300, 2), | ||
1553 | /* 0100 */ PTR(304, 2), | ||
1554 | /* 0101 */ PTR(308, 2), | ||
1555 | /* 0110 */ PTR(312, 2), | ||
1556 | /* 0111 */ PTR(316, 2), | ||
1557 | /* 1000 */ PTR(320, 1), | ||
1558 | /* 1001 */ PTR(322, 1), | ||
1559 | /* 1010 */ PTR(324, 1), | ||
1560 | /* 1011 */ PTR(326, 2), | ||
1561 | /* 1100 */ PTR(330, 1), | ||
1562 | /* 1101 */ PTR(332, 1), | ||
1563 | /* 1110 */ PTR(334, 2), | ||
1564 | /* 1111 */ PTR(338, 1), | ||
1565 | |||
1566 | /* 0010 ... */ | ||
1567 | /* 0000 */ PTR(340, 1), /* 48 */ | ||
1568 | /* 0001 */ PTR(342, 1), | ||
1569 | /* 0010 */ V(9, 1, 4), | ||
1570 | /* 0011 */ PTR(344, 1), | ||
1571 | /* 0100 */ PTR(346, 1), | ||
1572 | /* 0101 */ PTR(348, 1), | ||
1573 | /* 0110 */ PTR(350, 1), | ||
1574 | /* 0111 */ PTR(352, 1), | ||
1575 | /* 1000 */ V(2, 8, 4), | ||
1576 | /* 1001 */ V(8, 2, 4), | ||
1577 | /* 1010 */ V(1, 8, 4), | ||
1578 | /* 1011 */ V(8, 1, 4), | ||
1579 | /* 1100 */ PTR(354, 1), | ||
1580 | /* 1101 */ PTR(356, 1), | ||
1581 | /* 1110 */ PTR(358, 1), | ||
1582 | /* 1111 */ PTR(360, 1), | ||
1583 | |||
1584 | /* 0011 ... */ | ||
1585 | /* 0000 */ V(2, 7, 4), /* 64 */ | ||
1586 | /* 0001 */ V(7, 2, 4), | ||
1587 | /* 0010 */ V(6, 4, 4), | ||
1588 | /* 0011 */ V(1, 7, 4), | ||
1589 | /* 0100 */ V(5, 5, 4), | ||
1590 | /* 0101 */ V(7, 1, 4), | ||
1591 | /* 0110 */ PTR(362, 1), | ||
1592 | /* 0111 */ V(3, 6, 4), | ||
1593 | /* 1000 */ V(6, 3, 4), | ||
1594 | /* 1001 */ V(4, 5, 4), | ||
1595 | /* 1010 */ V(5, 4, 4), | ||
1596 | /* 1011 */ V(2, 6, 4), | ||
1597 | /* 1100 */ V(6, 2, 4), | ||
1598 | /* 1101 */ V(1, 6, 4), | ||
1599 | /* 1110 */ PTR(364, 1), | ||
1600 | /* 1111 */ V(3, 5, 4), | ||
1601 | |||
1602 | /* 0100 ... */ | ||
1603 | /* 0000 */ V(6, 1, 3), /* 80 */ | ||
1604 | /* 0001 */ V(6, 1, 3), | ||
1605 | /* 0010 */ V(5, 3, 4), | ||
1606 | /* 0011 */ V(4, 4, 4), | ||
1607 | /* 0100 */ V(2, 5, 3), | ||
1608 | /* 0101 */ V(2, 5, 3), | ||
1609 | /* 0110 */ V(5, 2, 3), | ||
1610 | /* 0111 */ V(5, 2, 3), | ||
1611 | /* 1000 */ V(1, 5, 3), | ||
1612 | /* 1001 */ V(1, 5, 3), | ||
1613 | /* 1010 */ V(5, 1, 3), | ||
1614 | /* 1011 */ V(5, 1, 3), | ||
1615 | /* 1100 */ V(0, 5, 4), | ||
1616 | /* 1101 */ V(5, 0, 4), | ||
1617 | /* 1110 */ V(3, 4, 3), | ||
1618 | /* 1111 */ V(3, 4, 3), | ||
1619 | |||
1620 | /* 0101 ... */ | ||
1621 | /* 000 */ V(4, 3, 3), /* 96 */ | ||
1622 | /* 001 */ V(2, 4, 3), | ||
1623 | /* 010 */ V(4, 2, 3), | ||
1624 | /* 011 */ V(3, 3, 3), | ||
1625 | /* 100 */ V(4, 1, 2), | ||
1626 | /* 101 */ V(4, 1, 2), | ||
1627 | /* 110 */ V(1, 4, 3), | ||
1628 | /* 111 */ V(0, 4, 3), | ||
1629 | |||
1630 | /* 0110 ... */ | ||
1631 | /* 000 */ V(2, 3, 2), /* 104 */ | ||
1632 | /* 001 */ V(2, 3, 2), | ||
1633 | /* 010 */ V(3, 2, 2), | ||
1634 | /* 011 */ V(3, 2, 2), | ||
1635 | /* 100 */ V(4, 0, 3), | ||
1636 | /* 101 */ V(0, 3, 3), | ||
1637 | /* 110 */ V(1, 3, 2), | ||
1638 | /* 111 */ V(1, 3, 2), | ||
1639 | |||
1640 | /* 0111 ... */ | ||
1641 | /* 00 */ V(3, 1, 2), /* 112 */ | ||
1642 | /* 01 */ V(3, 0, 2), | ||
1643 | /* 10 */ V(2, 2, 1), | ||
1644 | /* 11 */ V(2, 2, 1), | ||
1645 | |||
1646 | /* 1000 ... */ | ||
1647 | /* 0 */ V(1, 2, 1), /* 116 */ | ||
1648 | /* 1 */ V(2, 1, 1), | ||
1649 | |||
1650 | /* 1001 ... */ | ||
1651 | /* 0 */ V(0, 2, 1), /* 118 */ | ||
1652 | /* 1 */ V(2, 0, 1), | ||
1653 | |||
1654 | /* 0000 0000 ... */ | ||
1655 | /* 0000 */ PTR(366, 1), /* 120 */ | ||
1656 | /* 0001 */ PTR(368, 1), | ||
1657 | /* 0010 */ V(14, 14, 4), | ||
1658 | /* 0011 */ PTR(370, 1), | ||
1659 | /* 0100 */ PTR(372, 1), | ||
1660 | /* 0101 */ PTR(374, 1), | ||
1661 | /* 0110 */ V(15, 11, 4), | ||
1662 | /* 0111 */ PTR(376, 1), | ||
1663 | /* 1000 */ V(13, 13, 4), | ||
1664 | /* 1001 */ V(10, 15, 4), | ||
1665 | /* 1010 */ V(15, 10, 4), | ||
1666 | /* 1011 */ V(11, 14, 4), | ||
1667 | /* 1100 */ V(14, 11, 4), | ||
1668 | /* 1101 */ V(12, 13, 4), | ||
1669 | /* 1110 */ V(13, 12, 4), | ||
1670 | /* 1111 */ V(9, 15, 4), | ||
1671 | |||
1672 | /* 0000 0001 ... */ | ||
1673 | /* 0000 */ V(15, 9, 4), /* 136 */ | ||
1674 | /* 0001 */ V(14, 10, 4), | ||
1675 | /* 0010 */ V(11, 13, 4), | ||
1676 | /* 0011 */ V(13, 11, 4), | ||
1677 | /* 0100 */ V(8, 15, 4), | ||
1678 | /* 0101 */ V(15, 8, 4), | ||
1679 | /* 0110 */ V(12, 12, 4), | ||
1680 | /* 0111 */ V(9, 14, 4), | ||
1681 | /* 1000 */ V(14, 9, 4), | ||
1682 | /* 1001 */ V(7, 15, 4), | ||
1683 | /* 1010 */ V(15, 7, 4), | ||
1684 | /* 1011 */ V(10, 13, 4), | ||
1685 | /* 1100 */ V(13, 10, 4), | ||
1686 | /* 1101 */ V(11, 12, 4), | ||
1687 | /* 1110 */ V(6, 15, 4), | ||
1688 | /* 1111 */ PTR(378, 1), | ||
1689 | |||
1690 | /* 0000 0010 ... */ | ||
1691 | /* 0000 */ V(12, 11, 3), /* 152 */ | ||
1692 | /* 0001 */ V(12, 11, 3), | ||
1693 | /* 0010 */ V(15, 6, 3), | ||
1694 | /* 0011 */ V(15, 6, 3), | ||
1695 | /* 0100 */ V(8, 14, 4), | ||
1696 | /* 0101 */ V(14, 8, 4), | ||
1697 | /* 0110 */ V(5, 15, 4), | ||
1698 | /* 0111 */ V(9, 13, 4), | ||
1699 | /* 1000 */ V(15, 5, 3), | ||
1700 | /* 1001 */ V(15, 5, 3), | ||
1701 | /* 1010 */ V(7, 14, 3), | ||
1702 | /* 1011 */ V(7, 14, 3), | ||
1703 | /* 1100 */ V(14, 7, 3), | ||
1704 | /* 1101 */ V(14, 7, 3), | ||
1705 | /* 1110 */ V(10, 12, 3), | ||
1706 | /* 1111 */ V(10, 12, 3), | ||
1707 | |||
1708 | /* 0000 0011 ... */ | ||
1709 | /* 0000 */ V(12, 10, 3), /* 168 */ | ||
1710 | /* 0001 */ V(12, 10, 3), | ||
1711 | /* 0010 */ V(11, 11, 3), | ||
1712 | /* 0011 */ V(11, 11, 3), | ||
1713 | /* 0100 */ V(13, 9, 4), | ||
1714 | /* 0101 */ V(8, 13, 4), | ||
1715 | /* 0110 */ V(4, 15, 3), | ||
1716 | /* 0111 */ V(4, 15, 3), | ||
1717 | /* 1000 */ V(15, 4, 3), | ||
1718 | /* 1001 */ V(15, 4, 3), | ||
1719 | /* 1010 */ V(3, 15, 3), | ||
1720 | /* 1011 */ V(3, 15, 3), | ||
1721 | /* 1100 */ V(15, 3, 3), | ||
1722 | /* 1101 */ V(15, 3, 3), | ||
1723 | /* 1110 */ V(13, 8, 3), | ||
1724 | /* 1111 */ V(13, 8, 3), | ||
1725 | |||
1726 | /* 0000 0100 ... */ | ||
1727 | /* 0000 */ V(14, 6, 3), /* 184 */ | ||
1728 | /* 0001 */ V(14, 6, 3), | ||
1729 | /* 0010 */ V(2, 15, 3), | ||
1730 | /* 0011 */ V(2, 15, 3), | ||
1731 | /* 0100 */ V(15, 2, 3), | ||
1732 | /* 0101 */ V(15, 2, 3), | ||
1733 | /* 0110 */ V(6, 14, 4), | ||
1734 | /* 0111 */ V(15, 0, 4), | ||
1735 | /* 1000 */ V(1, 15, 3), | ||
1736 | /* 1001 */ V(1, 15, 3), | ||
1737 | /* 1010 */ V(15, 1, 3), | ||
1738 | /* 1011 */ V(15, 1, 3), | ||
1739 | /* 1100 */ V(9, 12, 3), | ||
1740 | /* 1101 */ V(9, 12, 3), | ||
1741 | /* 1110 */ V(12, 9, 3), | ||
1742 | /* 1111 */ V(12, 9, 3), | ||
1743 | |||
1744 | /* 0000 0101 ... */ | ||
1745 | /* 000 */ V(5, 14, 3), /* 200 */ | ||
1746 | /* 001 */ V(10, 11, 3), | ||
1747 | /* 010 */ V(11, 10, 3), | ||
1748 | /* 011 */ V(14, 5, 3), | ||
1749 | /* 100 */ V(7, 13, 3), | ||
1750 | /* 101 */ V(13, 7, 3), | ||
1751 | /* 110 */ V(4, 14, 3), | ||
1752 | /* 111 */ V(14, 4, 3), | ||
1753 | |||
1754 | /* 0000 0110 ... */ | ||
1755 | /* 000 */ V(8, 12, 3), /* 208 */ | ||
1756 | /* 001 */ V(12, 8, 3), | ||
1757 | /* 010 */ V(3, 14, 3), | ||
1758 | /* 011 */ V(6, 13, 3), | ||
1759 | /* 100 */ V(13, 6, 3), | ||
1760 | /* 101 */ V(14, 3, 3), | ||
1761 | /* 110 */ V(9, 11, 3), | ||
1762 | /* 111 */ V(11, 9, 3), | ||
1763 | |||
1764 | /* 0000 0111 ... */ | ||
1765 | /* 0000 */ V(2, 14, 3), /* 216 */ | ||
1766 | /* 0001 */ V(2, 14, 3), | ||
1767 | /* 0010 */ V(10, 10, 3), | ||
1768 | /* 0011 */ V(10, 10, 3), | ||
1769 | /* 0100 */ V(14, 2, 3), | ||
1770 | /* 0101 */ V(14, 2, 3), | ||
1771 | /* 0110 */ V(1, 14, 3), | ||
1772 | /* 0111 */ V(1, 14, 3), | ||
1773 | /* 1000 */ V(14, 1, 3), | ||
1774 | /* 1001 */ V(14, 1, 3), | ||
1775 | /* 1010 */ V(0, 14, 4), | ||
1776 | /* 1011 */ V(14, 0, 4), | ||
1777 | /* 1100 */ V(5, 13, 3), | ||
1778 | /* 1101 */ V(5, 13, 3), | ||
1779 | /* 1110 */ V(13, 5, 3), | ||
1780 | /* 1111 */ V(13, 5, 3), | ||
1781 | |||
1782 | /* 0000 1000 ... */ | ||
1783 | /* 000 */ V(7, 12, 3), /* 232 */ | ||
1784 | /* 001 */ V(12, 7, 3), | ||
1785 | /* 010 */ V(4, 13, 3), | ||
1786 | /* 011 */ V(8, 11, 3), | ||
1787 | /* 100 */ V(13, 4, 2), | ||
1788 | /* 101 */ V(13, 4, 2), | ||
1789 | /* 110 */ V(11, 8, 3), | ||
1790 | /* 111 */ V(9, 10, 3), | ||
1791 | |||
1792 | /* 0000 1001 ... */ | ||
1793 | /* 000 */ V(10, 9, 3), /* 240 */ | ||
1794 | /* 001 */ V(6, 12, 3), | ||
1795 | /* 010 */ V(12, 6, 3), | ||
1796 | /* 011 */ V(3, 13, 3), | ||
1797 | /* 100 */ V(13, 3, 2), | ||
1798 | /* 101 */ V(13, 3, 2), | ||
1799 | /* 110 */ V(13, 2, 2), | ||
1800 | /* 111 */ V(13, 2, 2), | ||
1801 | |||
1802 | /* 0000 1010 ... */ | ||
1803 | /* 000 */ V(2, 13, 3), /* 248 */ | ||
1804 | /* 001 */ V(0, 13, 3), | ||
1805 | /* 010 */ V(1, 13, 2), | ||
1806 | /* 011 */ V(1, 13, 2), | ||
1807 | /* 100 */ V(7, 11, 2), | ||
1808 | /* 101 */ V(7, 11, 2), | ||
1809 | /* 110 */ V(11, 7, 2), | ||
1810 | /* 111 */ V(11, 7, 2), | ||
1811 | |||
1812 | /* 0000 1011 ... */ | ||
1813 | /* 000 */ V(13, 1, 2), /* 256 */ | ||
1814 | /* 001 */ V(13, 1, 2), | ||
1815 | /* 010 */ V(5, 12, 3), | ||
1816 | /* 011 */ V(13, 0, 3), | ||
1817 | /* 100 */ V(12, 5, 2), | ||
1818 | /* 101 */ V(12, 5, 2), | ||
1819 | /* 110 */ V(8, 10, 2), | ||
1820 | /* 111 */ V(8, 10, 2), | ||
1821 | |||
1822 | /* 0000 1100 ... */ | ||
1823 | /* 00 */ V(10, 8, 2), /* 264 */ | ||
1824 | /* 01 */ V(4, 12, 2), | ||
1825 | /* 10 */ V(12, 4, 2), | ||
1826 | /* 11 */ V(6, 11, 2), | ||
1827 | |||
1828 | /* 0000 1101 ... */ | ||
1829 | /* 000 */ V(11, 6, 2), /* 268 */ | ||
1830 | /* 001 */ V(11, 6, 2), | ||
1831 | /* 010 */ V(9, 9, 3), | ||
1832 | /* 011 */ V(0, 12, 3), | ||
1833 | /* 100 */ V(3, 12, 2), | ||
1834 | /* 101 */ V(3, 12, 2), | ||
1835 | /* 110 */ V(12, 3, 2), | ||
1836 | /* 111 */ V(12, 3, 2), | ||
1837 | |||
1838 | /* 0000 1110 ... */ | ||
1839 | /* 000 */ V(7, 10, 2), /* 276 */ | ||
1840 | /* 001 */ V(7, 10, 2), | ||
1841 | /* 010 */ V(10, 7, 2), | ||
1842 | /* 011 */ V(10, 7, 2), | ||
1843 | /* 100 */ V(10, 6, 2), | ||
1844 | /* 101 */ V(10, 6, 2), | ||
1845 | /* 110 */ V(12, 0, 3), | ||
1846 | /* 111 */ V(0, 11, 3), | ||
1847 | |||
1848 | /* 0000 1111 ... */ | ||
1849 | /* 00 */ V(12, 2, 1), /* 284 */ | ||
1850 | /* 01 */ V(12, 2, 1), | ||
1851 | /* 10 */ V(2, 12, 2), | ||
1852 | /* 11 */ V(5, 11, 2), | ||
1853 | |||
1854 | /* 0001 0000 ... */ | ||
1855 | /* 00 */ V(11, 5, 2), /* 288 */ | ||
1856 | /* 01 */ V(1, 12, 2), | ||
1857 | /* 10 */ V(8, 9, 2), | ||
1858 | /* 11 */ V(9, 8, 2), | ||
1859 | |||
1860 | /* 0001 0001 ... */ | ||
1861 | /* 00 */ V(12, 1, 2), /* 292 */ | ||
1862 | /* 01 */ V(4, 11, 2), | ||
1863 | /* 10 */ V(11, 4, 2), | ||
1864 | /* 11 */ V(6, 10, 2), | ||
1865 | |||
1866 | /* 0001 0010 ... */ | ||
1867 | /* 00 */ V(3, 11, 2), /* 296 */ | ||
1868 | /* 01 */ V(7, 9, 2), | ||
1869 | /* 10 */ V(11, 3, 1), | ||
1870 | /* 11 */ V(11, 3, 1), | ||
1871 | |||
1872 | /* 0001 0011 ... */ | ||
1873 | /* 00 */ V(9, 7, 2), /* 300 */ | ||
1874 | /* 01 */ V(8, 8, 2), | ||
1875 | /* 10 */ V(2, 11, 2), | ||
1876 | /* 11 */ V(5, 10, 2), | ||
1877 | |||
1878 | /* 0001 0100 ... */ | ||
1879 | /* 00 */ V(11, 2, 1), /* 304 */ | ||
1880 | /* 01 */ V(11, 2, 1), | ||
1881 | /* 10 */ V(10, 5, 2), | ||
1882 | /* 11 */ V(1, 11, 2), | ||
1883 | |||
1884 | /* 0001 0101 ... */ | ||
1885 | /* 00 */ V(11, 1, 1), /* 308 */ | ||
1886 | /* 01 */ V(11, 1, 1), | ||
1887 | /* 10 */ V(11, 0, 2), | ||
1888 | /* 11 */ V(6, 9, 2), | ||
1889 | |||
1890 | /* 0001 0110 ... */ | ||
1891 | /* 00 */ V(9, 6, 2), /* 312 */ | ||
1892 | /* 01 */ V(4, 10, 2), | ||
1893 | /* 10 */ V(10, 4, 2), | ||
1894 | /* 11 */ V(7, 8, 2), | ||
1895 | |||
1896 | /* 0001 0111 ... */ | ||
1897 | /* 00 */ V(8, 7, 2), /* 316 */ | ||
1898 | /* 01 */ V(3, 10, 2), | ||
1899 | /* 10 */ V(10, 3, 1), | ||
1900 | /* 11 */ V(10, 3, 1), | ||
1901 | |||
1902 | /* 0001 1000 ... */ | ||
1903 | /* 0 */ V(5, 9, 1), /* 320 */ | ||
1904 | /* 1 */ V(9, 5, 1), | ||
1905 | |||
1906 | /* 0001 1001 ... */ | ||
1907 | /* 0 */ V(2, 10, 1), /* 322 */ | ||
1908 | /* 1 */ V(10, 2, 1), | ||
1909 | |||
1910 | /* 0001 1010 ... */ | ||
1911 | /* 0 */ V(1, 10, 1), /* 324 */ | ||
1912 | /* 1 */ V(10, 1, 1), | ||
1913 | |||
1914 | /* 0001 1011 ... */ | ||
1915 | /* 00 */ V(0, 10, 2), /* 326 */ | ||
1916 | /* 01 */ V(10, 0, 2), | ||
1917 | /* 10 */ V(6, 8, 1), | ||
1918 | /* 11 */ V(6, 8, 1), | ||
1919 | |||
1920 | /* 0001 1100 ... */ | ||
1921 | /* 0 */ V(8, 6, 1), /* 330 */ | ||
1922 | /* 1 */ V(4, 9, 1), | ||
1923 | |||
1924 | /* 0001 1101 ... */ | ||
1925 | /* 0 */ V(9, 4, 1), /* 332 */ | ||
1926 | /* 1 */ V(3, 9, 1), | ||
1927 | |||
1928 | /* 0001 1110 ... */ | ||
1929 | /* 00 */ V(9, 3, 1), /* 334 */ | ||
1930 | /* 01 */ V(9, 3, 1), | ||
1931 | /* 10 */ V(7, 7, 2), | ||
1932 | /* 11 */ V(0, 9, 2), | ||
1933 | |||
1934 | /* 0001 1111 ... */ | ||
1935 | /* 0 */ V(5, 8, 1), /* 338 */ | ||
1936 | /* 1 */ V(8, 5, 1), | ||
1937 | |||
1938 | /* 0010 0000 ... */ | ||
1939 | /* 0 */ V(2, 9, 1), /* 340 */ | ||
1940 | /* 1 */ V(6, 7, 1), | ||
1941 | |||
1942 | /* 0010 0001 ... */ | ||
1943 | /* 0 */ V(7, 6, 1), /* 342 */ | ||
1944 | /* 1 */ V(9, 2, 1), | ||
1945 | |||
1946 | /* 0010 0011 ... */ | ||
1947 | /* 0 */ V(1, 9, 1), /* 344 */ | ||
1948 | /* 1 */ V(9, 0, 1), | ||
1949 | |||
1950 | /* 0010 0100 ... */ | ||
1951 | /* 0 */ V(4, 8, 1), /* 346 */ | ||
1952 | /* 1 */ V(8, 4, 1), | ||
1953 | |||
1954 | /* 0010 0101 ... */ | ||
1955 | /* 0 */ V(5, 7, 1), /* 348 */ | ||
1956 | /* 1 */ V(7, 5, 1), | ||
1957 | |||
1958 | /* 0010 0110 ... */ | ||
1959 | /* 0 */ V(3, 8, 1), /* 350 */ | ||
1960 | /* 1 */ V(8, 3, 1), | ||
1961 | |||
1962 | /* 0010 0111 ... */ | ||
1963 | /* 0 */ V(6, 6, 1), /* 352 */ | ||
1964 | /* 1 */ V(4, 7, 1), | ||
1965 | |||
1966 | /* 0010 1100 ... */ | ||
1967 | /* 0 */ V(7, 4, 1), /* 354 */ | ||
1968 | /* 1 */ V(0, 8, 1), | ||
1969 | |||
1970 | /* 0010 1101 ... */ | ||
1971 | /* 0 */ V(8, 0, 1), /* 356 */ | ||
1972 | /* 1 */ V(5, 6, 1), | ||
1973 | |||
1974 | /* 0010 1110 ... */ | ||
1975 | /* 0 */ V(6, 5, 1), /* 358 */ | ||
1976 | /* 1 */ V(3, 7, 1), | ||
1977 | |||
1978 | /* 0010 1111 ... */ | ||
1979 | /* 0 */ V(7, 3, 1), /* 360 */ | ||
1980 | /* 1 */ V(4, 6, 1), | ||
1981 | |||
1982 | /* 0011 0110 ... */ | ||
1983 | /* 0 */ V(0, 7, 1), /* 362 */ | ||
1984 | /* 1 */ V(7, 0, 1), | ||
1985 | |||
1986 | /* 0011 1110 ... */ | ||
1987 | /* 0 */ V(0, 6, 1), /* 364 */ | ||
1988 | /* 1 */ V(6, 0, 1), | ||
1989 | |||
1990 | /* 0000 0000 0000 ... */ | ||
1991 | /* 0 */ V(15, 15, 1), /* 366 */ | ||
1992 | /* 1 */ V(14, 15, 1), | ||
1993 | |||
1994 | /* 0000 0000 0001 ... */ | ||
1995 | /* 0 */ V(15, 14, 1), /* 368 */ | ||
1996 | /* 1 */ V(13, 15, 1), | ||
1997 | |||
1998 | /* 0000 0000 0011 ... */ | ||
1999 | /* 0 */ V(15, 13, 1), /* 370 */ | ||
2000 | /* 1 */ V(12, 15, 1), | ||
2001 | |||
2002 | /* 0000 0000 0100 ... */ | ||
2003 | /* 0 */ V(15, 12, 1), /* 372 */ | ||
2004 | /* 1 */ V(13, 14, 1), | ||
2005 | |||
2006 | /* 0000 0000 0101 ... */ | ||
2007 | /* 0 */ V(14, 13, 1), /* 374 */ | ||
2008 | /* 1 */ V(11, 15, 1), | ||
2009 | |||
2010 | /* 0000 0000 0111 ... */ | ||
2011 | /* 0 */ V(12, 14, 1), /* 376 */ | ||
2012 | /* 1 */ V(14, 12, 1), | ||
2013 | |||
2014 | /* 0000 0001 1111 ... */ | ||
2015 | /* 0 */ V(10, 14, 1), /* 378 */ | ||
2016 | /* 1 */ V(0, 15, 1) | ||
2017 | }; | ||
2018 | |||
2019 | static | ||
2020 | union huffpair const hufftab16[] ICONST_ATTR_MPA_HUFFMAN = { | ||
2021 | /* 0000 */ PTR(16, 4), | ||
2022 | /* 0001 */ PTR(32, 4), | ||
2023 | /* 0010 */ PTR(48, 4), | ||
2024 | /* 0011 */ PTR(64, 2), | ||
2025 | /* 0100 */ V(1, 1, 4), | ||
2026 | /* 0101 */ V(0, 1, 4), | ||
2027 | /* 0110 */ V(1, 0, 3), | ||
2028 | /* 0111 */ V(1, 0, 3), | ||
2029 | /* 1000 */ V(0, 0, 1), | ||
2030 | /* 1001 */ V(0, 0, 1), | ||
2031 | /* 1010 */ V(0, 0, 1), | ||
2032 | /* 1011 */ V(0, 0, 1), | ||
2033 | /* 1100 */ V(0, 0, 1), | ||
2034 | /* 1101 */ V(0, 0, 1), | ||
2035 | /* 1110 */ V(0, 0, 1), | ||
2036 | /* 1111 */ V(0, 0, 1), | ||
2037 | |||
2038 | /* 0000 ... */ | ||
2039 | /* 0000 */ PTR(68, 3), /* 16 */ | ||
2040 | /* 0001 */ PTR(76, 3), | ||
2041 | /* 0010 */ PTR(84, 2), | ||
2042 | /* 0011 */ V(15, 15, 4), | ||
2043 | /* 0100 */ PTR(88, 2), | ||
2044 | /* 0101 */ PTR(92, 1), | ||
2045 | /* 0110 */ PTR(94, 4), | ||
2046 | /* 0111 */ V(15, 2, 4), | ||
2047 | /* 1000 */ PTR(110, 1), | ||
2048 | /* 1001 */ V(1, 15, 4), | ||
2049 | /* 1010 */ V(15, 1, 4), | ||
2050 | /* 1011 */ PTR(112, 4), | ||
2051 | /* 1100 */ PTR(128, 4), | ||
2052 | /* 1101 */ PTR(144, 4), | ||
2053 | /* 1110 */ PTR(160, 4), | ||
2054 | /* 1111 */ PTR(176, 4), | ||
2055 | |||
2056 | /* 0001 ... */ | ||
2057 | /* 0000 */ PTR(192, 4), /* 32 */ | ||
2058 | /* 0001 */ PTR(208, 3), | ||
2059 | /* 0010 */ PTR(216, 3), | ||
2060 | /* 0011 */ PTR(224, 3), | ||
2061 | /* 0100 */ PTR(232, 3), | ||
2062 | /* 0101 */ PTR(240, 3), | ||
2063 | /* 0110 */ PTR(248, 3), | ||
2064 | /* 0111 */ PTR(256, 3), | ||
2065 | /* 1000 */ PTR(264, 2), | ||
2066 | /* 1001 */ PTR(268, 2), | ||
2067 | /* 1010 */ PTR(272, 1), | ||
2068 | /* 1011 */ PTR(274, 2), | ||
2069 | /* 1100 */ PTR(278, 2), | ||
2070 | /* 1101 */ PTR(282, 1), | ||
2071 | /* 1110 */ V(5, 1, 4), | ||
2072 | /* 1111 */ PTR(284, 1), | ||
2073 | |||
2074 | /* 0010 ... */ | ||
2075 | /* 0000 */ PTR(286, 1), /* 48 */ | ||
2076 | /* 0001 */ PTR(288, 1), | ||
2077 | /* 0010 */ PTR(290, 1), | ||
2078 | /* 0011 */ V(1, 4, 4), | ||
2079 | /* 0100 */ V(4, 1, 4), | ||
2080 | /* 0101 */ PTR(292, 1), | ||
2081 | /* 0110 */ V(2, 3, 4), | ||
2082 | /* 0111 */ V(3, 2, 4), | ||
2083 | /* 1000 */ V(1, 3, 3), | ||
2084 | /* 1001 */ V(1, 3, 3), | ||
2085 | /* 1010 */ V(3, 1, 3), | ||
2086 | /* 1011 */ V(3, 1, 3), | ||
2087 | /* 1100 */ V(0, 3, 4), | ||
2088 | /* 1101 */ V(3, 0, 4), | ||
2089 | /* 1110 */ V(2, 2, 3), | ||
2090 | /* 1111 */ V(2, 2, 3), | ||
2091 | |||
2092 | /* 0011 ... */ | ||
2093 | /* 00 */ V(1, 2, 2), /* 64 */ | ||
2094 | /* 01 */ V(2, 1, 2), | ||
2095 | /* 10 */ V(0, 2, 2), | ||
2096 | /* 11 */ V(2, 0, 2), | ||
2097 | |||
2098 | /* 0000 0000 ... */ | ||
2099 | /* 000 */ V(14, 15, 3), /* 68 */ | ||
2100 | /* 001 */ V(15, 14, 3), | ||
2101 | /* 010 */ V(13, 15, 3), | ||
2102 | /* 011 */ V(15, 13, 3), | ||
2103 | /* 100 */ V(12, 15, 3), | ||
2104 | /* 101 */ V(15, 12, 3), | ||
2105 | /* 110 */ V(11, 15, 3), | ||
2106 | /* 111 */ V(15, 11, 3), | ||
2107 | |||
2108 | /* 0000 0001 ... */ | ||
2109 | /* 000 */ V(10, 15, 2), /* 76 */ | ||
2110 | /* 001 */ V(10, 15, 2), | ||
2111 | /* 010 */ V(15, 10, 3), | ||
2112 | /* 011 */ V(9, 15, 3), | ||
2113 | /* 100 */ V(15, 9, 3), | ||
2114 | /* 101 */ V(15, 8, 3), | ||
2115 | /* 110 */ V(8, 15, 2), | ||
2116 | /* 111 */ V(8, 15, 2), | ||
2117 | |||
2118 | /* 0000 0010 ... */ | ||
2119 | /* 00 */ V(7, 15, 2), /* 84 */ | ||
2120 | /* 01 */ V(15, 7, 2), | ||
2121 | /* 10 */ V(6, 15, 2), | ||
2122 | /* 11 */ V(15, 6, 2), | ||
2123 | |||
2124 | /* 0000 0100 ... */ | ||
2125 | /* 00 */ V(5, 15, 2), /* 88 */ | ||
2126 | /* 01 */ V(15, 5, 2), | ||
2127 | /* 10 */ V(4, 15, 1), | ||
2128 | /* 11 */ V(4, 15, 1), | ||
2129 | |||
2130 | /* 0000 0101 ... */ | ||
2131 | /* 0 */ V(15, 4, 1), /* 92 */ | ||
2132 | /* 1 */ V(15, 3, 1), | ||
2133 | |||
2134 | /* 0000 0110 ... */ | ||
2135 | /* 0000 */ V(15, 0, 1), /* 94 */ | ||
2136 | /* 0001 */ V(15, 0, 1), | ||
2137 | /* 0010 */ V(15, 0, 1), | ||
2138 | /* 0011 */ V(15, 0, 1), | ||
2139 | /* 0100 */ V(15, 0, 1), | ||
2140 | /* 0101 */ V(15, 0, 1), | ||
2141 | /* 0110 */ V(15, 0, 1), | ||
2142 | /* 0111 */ V(15, 0, 1), | ||
2143 | /* 1000 */ V(3, 15, 2), | ||
2144 | /* 1001 */ V(3, 15, 2), | ||
2145 | /* 1010 */ V(3, 15, 2), | ||
2146 | /* 1011 */ V(3, 15, 2), | ||
2147 | /* 1100 */ PTR(294, 4), | ||
2148 | /* 1101 */ PTR(310, 3), | ||
2149 | /* 1110 */ PTR(318, 3), | ||
2150 | /* 1111 */ PTR(326, 3), | ||
2151 | |||
2152 | /* 0000 1000 ... */ | ||
2153 | /* 0 */ V(2, 15, 1), /* 110 */ | ||
2154 | /* 1 */ V(0, 15, 1), | ||
2155 | |||
2156 | /* 0000 1011 ... */ | ||
2157 | /* 0000 */ PTR(334, 2), /* 112 */ | ||
2158 | /* 0001 */ PTR(338, 2), | ||
2159 | /* 0010 */ PTR(342, 2), | ||
2160 | /* 0011 */ PTR(346, 1), | ||
2161 | /* 0100 */ PTR(348, 2), | ||
2162 | /* 0101 */ PTR(352, 2), | ||
2163 | /* 0110 */ PTR(356, 1), | ||
2164 | /* 0111 */ PTR(358, 2), | ||
2165 | /* 1000 */ PTR(362, 2), | ||
2166 | /* 1001 */ PTR(366, 2), | ||
2167 | /* 1010 */ PTR(370, 2), | ||
2168 | /* 1011 */ V(14, 3, 4), | ||
2169 | /* 1100 */ PTR(374, 1), | ||
2170 | /* 1101 */ PTR(376, 1), | ||
2171 | /* 1110 */ PTR(378, 1), | ||
2172 | /* 1111 */ PTR(380, 1), | ||
2173 | |||
2174 | /* 0000 1100 ... */ | ||
2175 | /* 0000 */ PTR(382, 1), /* 128 */ | ||
2176 | /* 0001 */ PTR(384, 1), | ||
2177 | /* 0010 */ PTR(386, 1), | ||
2178 | /* 0011 */ V(0, 13, 4), | ||
2179 | /* 0100 */ PTR(388, 1), | ||
2180 | /* 0101 */ PTR(390, 1), | ||
2181 | /* 0110 */ PTR(392, 1), | ||
2182 | /* 0111 */ V(3, 12, 4), | ||
2183 | /* 1000 */ PTR(394, 1), | ||
2184 | /* 1001 */ V(1, 12, 4), | ||
2185 | /* 1010 */ V(12, 0, 4), | ||
2186 | /* 1011 */ PTR(396, 1), | ||
2187 | /* 1100 */ V(14, 2, 3), | ||
2188 | /* 1101 */ V(14, 2, 3), | ||
2189 | /* 1110 */ V(2, 14, 4), | ||
2190 | /* 1111 */ V(1, 14, 4), | ||
2191 | |||
2192 | /* 0000 1101 ... */ | ||
2193 | /* 0000 */ V(13, 3, 4), /* 144 */ | ||
2194 | /* 0001 */ V(2, 13, 4), | ||
2195 | /* 0010 */ V(13, 2, 4), | ||
2196 | /* 0011 */ V(13, 1, 4), | ||
2197 | /* 0100 */ V(3, 11, 4), | ||
2198 | /* 0101 */ PTR(398, 1), | ||
2199 | /* 0110 */ V(1, 13, 3), | ||
2200 | /* 0111 */ V(1, 13, 3), | ||
2201 | /* 1000 */ V(12, 4, 4), | ||
2202 | /* 1001 */ V(6, 11, 4), | ||
2203 | /* 1010 */ V(12, 3, 4), | ||
2204 | /* 1011 */ V(10, 7, 4), | ||
2205 | /* 1100 */ V(2, 12, 3), | ||
2206 | /* 1101 */ V(2, 12, 3), | ||
2207 | /* 1110 */ V(12, 2, 4), | ||
2208 | /* 1111 */ V(11, 5, 4), | ||
2209 | |||
2210 | /* 0000 1110 ... */ | ||
2211 | /* 0000 */ V(12, 1, 4), /* 160 */ | ||
2212 | /* 0001 */ V(0, 12, 4), | ||
2213 | /* 0010 */ V(4, 11, 4), | ||
2214 | /* 0011 */ V(11, 4, 4), | ||
2215 | /* 0100 */ V(6, 10, 4), | ||
2216 | /* 0101 */ V(10, 6, 4), | ||
2217 | /* 0110 */ V(11, 3, 3), | ||
2218 | /* 0111 */ V(11, 3, 3), | ||
2219 | /* 1000 */ V(5, 10, 4), | ||
2220 | /* 1001 */ V(10, 5, 4), | ||
2221 | /* 1010 */ V(2, 11, 3), | ||
2222 | /* 1011 */ V(2, 11, 3), | ||
2223 | /* 1100 */ V(11, 2, 3), | ||
2224 | /* 1101 */ V(11, 2, 3), | ||
2225 | /* 1110 */ V(1, 11, 3), | ||
2226 | /* 1111 */ V(1, 11, 3), | ||
2227 | |||
2228 | /* 0000 1111 ... */ | ||
2229 | /* 0000 */ V(11, 1, 3), /* 176 */ | ||
2230 | /* 0001 */ V(11, 1, 3), | ||
2231 | /* 0010 */ V(0, 11, 4), | ||
2232 | /* 0011 */ V(11, 0, 4), | ||
2233 | /* 0100 */ V(6, 9, 4), | ||
2234 | /* 0101 */ V(9, 6, 4), | ||
2235 | /* 0110 */ V(4, 10, 4), | ||
2236 | /* 0111 */ V(10, 4, 4), | ||
2237 | /* 1000 */ V(7, 8, 4), | ||
2238 | /* 1001 */ V(8, 7, 4), | ||
2239 | /* 1010 */ V(10, 3, 3), | ||
2240 | /* 1011 */ V(10, 3, 3), | ||
2241 | /* 1100 */ V(3, 10, 4), | ||
2242 | /* 1101 */ V(5, 9, 4), | ||
2243 | /* 1110 */ V(2, 10, 3), | ||
2244 | /* 1111 */ V(2, 10, 3), | ||
2245 | |||
2246 | /* 0001 0000 ... */ | ||
2247 | /* 0000 */ V(9, 5, 4), /* 192 */ | ||
2248 | /* 0001 */ V(6, 8, 4), | ||
2249 | /* 0010 */ V(10, 1, 3), | ||
2250 | /* 0011 */ V(10, 1, 3), | ||
2251 | /* 0100 */ V(8, 6, 4), | ||
2252 | /* 0101 */ V(7, 7, 4), | ||
2253 | /* 0110 */ V(9, 4, 3), | ||
2254 | /* 0111 */ V(9, 4, 3), | ||
2255 | /* 1000 */ V(4, 9, 4), | ||
2256 | /* 1001 */ V(5, 7, 4), | ||
2257 | /* 1010 */ V(6, 7, 3), | ||
2258 | /* 1011 */ V(6, 7, 3), | ||
2259 | /* 1100 */ V(10, 2, 2), | ||
2260 | /* 1101 */ V(10, 2, 2), | ||
2261 | /* 1110 */ V(10, 2, 2), | ||
2262 | /* 1111 */ V(10, 2, 2), | ||
2263 | |||
2264 | /* 0001 0001 ... */ | ||
2265 | /* 000 */ V(1, 10, 2), /* 208 */ | ||
2266 | /* 001 */ V(1, 10, 2), | ||
2267 | /* 010 */ V(0, 10, 3), | ||
2268 | /* 011 */ V(10, 0, 3), | ||
2269 | /* 100 */ V(3, 9, 3), | ||
2270 | /* 101 */ V(9, 3, 3), | ||
2271 | /* 110 */ V(5, 8, 3), | ||
2272 | /* 111 */ V(8, 5, 3), | ||
2273 | |||
2274 | /* 0001 0010 ... */ | ||
2275 | /* 000 */ V(2, 9, 2), /* 216 */ | ||
2276 | /* 001 */ V(2, 9, 2), | ||
2277 | /* 010 */ V(9, 2, 2), | ||
2278 | /* 011 */ V(9, 2, 2), | ||
2279 | /* 100 */ V(7, 6, 3), | ||
2280 | /* 101 */ V(0, 9, 3), | ||
2281 | /* 110 */ V(1, 9, 2), | ||
2282 | /* 111 */ V(1, 9, 2), | ||
2283 | |||
2284 | /* 0001 0011 ... */ | ||
2285 | /* 000 */ V(9, 1, 2), /* 224 */ | ||
2286 | /* 001 */ V(9, 1, 2), | ||
2287 | /* 010 */ V(9, 0, 3), | ||
2288 | /* 011 */ V(4, 8, 3), | ||
2289 | /* 100 */ V(8, 4, 3), | ||
2290 | /* 101 */ V(7, 5, 3), | ||
2291 | /* 110 */ V(3, 8, 3), | ||
2292 | /* 111 */ V(8, 3, 3), | ||
2293 | |||
2294 | /* 0001 0100 ... */ | ||
2295 | /* 000 */ V(6, 6, 3), /* 232 */ | ||
2296 | /* 001 */ V(2, 8, 3), | ||
2297 | /* 010 */ V(8, 2, 2), | ||
2298 | /* 011 */ V(8, 2, 2), | ||
2299 | /* 100 */ V(4, 7, 3), | ||
2300 | /* 101 */ V(7, 4, 3), | ||
2301 | /* 110 */ V(1, 8, 2), | ||
2302 | /* 111 */ V(1, 8, 2), | ||
2303 | |||
2304 | /* 0001 0101 ... */ | ||
2305 | /* 000 */ V(8, 1, 2), /* 240 */ | ||
2306 | /* 001 */ V(8, 1, 2), | ||
2307 | /* 010 */ V(8, 0, 2), | ||
2308 | /* 011 */ V(8, 0, 2), | ||
2309 | /* 100 */ V(0, 8, 3), | ||
2310 | /* 101 */ V(5, 6, 3), | ||
2311 | /* 110 */ V(3, 7, 2), | ||
2312 | /* 111 */ V(3, 7, 2), | ||
2313 | |||
2314 | /* 0001 0110 ... */ | ||
2315 | /* 000 */ V(7, 3, 2), /* 248 */ | ||
2316 | /* 001 */ V(7, 3, 2), | ||
2317 | /* 010 */ V(6, 5, 3), | ||
2318 | /* 011 */ V(4, 6, 3), | ||
2319 | /* 100 */ V(2, 7, 2), | ||
2320 | /* 101 */ V(2, 7, 2), | ||
2321 | /* 110 */ V(7, 2, 2), | ||
2322 | /* 111 */ V(7, 2, 2), | ||
2323 | |||
2324 | /* 0001 0111 ... */ | ||
2325 | /* 000 */ V(6, 4, 3), /* 256 */ | ||
2326 | /* 001 */ V(5, 5, 3), | ||
2327 | /* 010 */ V(0, 7, 2), | ||
2328 | /* 011 */ V(0, 7, 2), | ||
2329 | /* 100 */ V(1, 7, 1), | ||
2330 | /* 101 */ V(1, 7, 1), | ||
2331 | /* 110 */ V(1, 7, 1), | ||
2332 | /* 111 */ V(1, 7, 1), | ||
2333 | |||
2334 | /* 0001 1000 ... */ | ||
2335 | /* 00 */ V(7, 1, 1), /* 264 */ | ||
2336 | /* 01 */ V(7, 1, 1), | ||
2337 | /* 10 */ V(7, 0, 2), | ||
2338 | /* 11 */ V(3, 6, 2), | ||
2339 | |||
2340 | /* 0001 1001 ... */ | ||
2341 | /* 00 */ V(6, 3, 2), /* 268 */ | ||
2342 | /* 01 */ V(4, 5, 2), | ||
2343 | /* 10 */ V(5, 4, 2), | ||
2344 | /* 11 */ V(2, 6, 2), | ||
2345 | |||
2346 | /* 0001 1010 ... */ | ||
2347 | /* 0 */ V(6, 2, 1), /* 272 */ | ||
2348 | /* 1 */ V(1, 6, 1), | ||
2349 | |||
2350 | /* 0001 1011 ... */ | ||
2351 | /* 00 */ V(6, 1, 1), /* 274 */ | ||
2352 | /* 01 */ V(6, 1, 1), | ||
2353 | /* 10 */ V(0, 6, 2), | ||
2354 | /* 11 */ V(6, 0, 2), | ||
2355 | |||
2356 | /* 0001 1100 ... */ | ||
2357 | /* 00 */ V(5, 3, 1), /* 278 */ | ||
2358 | /* 01 */ V(5, 3, 1), | ||
2359 | /* 10 */ V(3, 5, 2), | ||
2360 | /* 11 */ V(4, 4, 2), | ||
2361 | |||
2362 | /* 0001 1101 ... */ | ||
2363 | /* 0 */ V(2, 5, 1), /* 282 */ | ||
2364 | /* 1 */ V(5, 2, 1), | ||
2365 | |||
2366 | /* 0001 1111 ... */ | ||
2367 | /* 0 */ V(1, 5, 1), /* 284 */ | ||
2368 | /* 1 */ V(0, 5, 1), | ||
2369 | |||
2370 | /* 0010 0000 ... */ | ||
2371 | /* 0 */ V(3, 4, 1), /* 286 */ | ||
2372 | /* 1 */ V(4, 3, 1), | ||
2373 | |||
2374 | /* 0010 0001 ... */ | ||
2375 | /* 0 */ V(5, 0, 1), /* 288 */ | ||
2376 | /* 1 */ V(2, 4, 1), | ||
2377 | |||
2378 | /* 0010 0010 ... */ | ||
2379 | /* 0 */ V(4, 2, 1), /* 290 */ | ||
2380 | /* 1 */ V(3, 3, 1), | ||
2381 | |||
2382 | /* 0010 0101 ... */ | ||
2383 | /* 0 */ V(0, 4, 1), /* 292 */ | ||
2384 | /* 1 */ V(4, 0, 1), | ||
2385 | |||
2386 | /* 0000 0110 1100 ... */ | ||
2387 | /* 0000 */ V(12, 14, 4), /* 294 */ | ||
2388 | /* 0001 */ PTR(400, 1), | ||
2389 | /* 0010 */ V(13, 14, 3), | ||
2390 | /* 0011 */ V(13, 14, 3), | ||
2391 | /* 0100 */ V(14, 9, 3), | ||
2392 | /* 0101 */ V(14, 9, 3), | ||
2393 | /* 0110 */ V(14, 10, 4), | ||
2394 | /* 0111 */ V(13, 9, 4), | ||
2395 | /* 1000 */ V(14, 14, 2), | ||
2396 | /* 1001 */ V(14, 14, 2), | ||
2397 | /* 1010 */ V(14, 14, 2), | ||
2398 | /* 1011 */ V(14, 14, 2), | ||
2399 | /* 1100 */ V(14, 13, 3), | ||
2400 | /* 1101 */ V(14, 13, 3), | ||
2401 | /* 1110 */ V(14, 11, 3), | ||
2402 | /* 1111 */ V(14, 11, 3), | ||
2403 | |||
2404 | /* 0000 0110 1101 ... */ | ||
2405 | /* 000 */ V(11, 14, 2), /* 310 */ | ||
2406 | /* 001 */ V(11, 14, 2), | ||
2407 | /* 010 */ V(12, 13, 2), | ||
2408 | /* 011 */ V(12, 13, 2), | ||
2409 | /* 100 */ V(13, 12, 3), | ||
2410 | /* 101 */ V(13, 11, 3), | ||
2411 | /* 110 */ V(10, 14, 2), | ||
2412 | /* 111 */ V(10, 14, 2), | ||
2413 | |||
2414 | /* 0000 0110 1110 ... */ | ||
2415 | /* 000 */ V(12, 12, 2), /* 318 */ | ||
2416 | /* 001 */ V(12, 12, 2), | ||
2417 | /* 010 */ V(10, 13, 3), | ||
2418 | /* 011 */ V(13, 10, 3), | ||
2419 | /* 100 */ V(7, 14, 3), | ||
2420 | /* 101 */ V(10, 12, 3), | ||
2421 | /* 110 */ V(12, 10, 2), | ||
2422 | /* 111 */ V(12, 10, 2), | ||
2423 | |||
2424 | /* 0000 0110 1111 ... */ | ||
2425 | /* 000 */ V(12, 9, 3), /* 326 */ | ||
2426 | /* 001 */ V(7, 13, 3), | ||
2427 | /* 010 */ V(5, 14, 2), | ||
2428 | /* 011 */ V(5, 14, 2), | ||
2429 | /* 100 */ V(11, 13, 1), | ||
2430 | /* 101 */ V(11, 13, 1), | ||
2431 | /* 110 */ V(11, 13, 1), | ||
2432 | /* 111 */ V(11, 13, 1), | ||
2433 | |||
2434 | /* 0000 1011 0000 ... */ | ||
2435 | /* 00 */ V(9, 14, 1), /* 334 */ | ||
2436 | /* 01 */ V(9, 14, 1), | ||
2437 | /* 10 */ V(11, 12, 2), | ||
2438 | /* 11 */ V(12, 11, 2), | ||
2439 | |||
2440 | /* 0000 1011 0001 ... */ | ||
2441 | /* 00 */ V(8, 14, 2), /* 338 */ | ||
2442 | /* 01 */ V(14, 8, 2), | ||
2443 | /* 10 */ V(9, 13, 2), | ||
2444 | /* 11 */ V(14, 7, 2), | ||
2445 | |||
2446 | /* 0000 1011 0010 ... */ | ||
2447 | /* 00 */ V(11, 11, 2), /* 342 */ | ||
2448 | /* 01 */ V(8, 13, 2), | ||
2449 | /* 10 */ V(13, 8, 2), | ||
2450 | /* 11 */ V(6, 14, 2), | ||
2451 | |||
2452 | /* 0000 1011 0011 ... */ | ||
2453 | /* 0 */ V(14, 6, 1), /* 346 */ | ||
2454 | /* 1 */ V(9, 12, 1), | ||
2455 | |||
2456 | /* 0000 1011 0100 ... */ | ||
2457 | /* 00 */ V(10, 11, 2), /* 348 */ | ||
2458 | /* 01 */ V(11, 10, 2), | ||
2459 | /* 10 */ V(14, 5, 2), | ||
2460 | /* 11 */ V(13, 7, 2), | ||
2461 | |||
2462 | /* 0000 1011 0101 ... */ | ||
2463 | /* 00 */ V(4, 14, 1), /* 352 */ | ||
2464 | /* 01 */ V(4, 14, 1), | ||
2465 | /* 10 */ V(14, 4, 2), | ||
2466 | /* 11 */ V(8, 12, 2), | ||
2467 | |||
2468 | /* 0000 1011 0110 ... */ | ||
2469 | /* 0 */ V(12, 8, 1), /* 356 */ | ||
2470 | /* 1 */ V(3, 14, 1), | ||
2471 | |||
2472 | /* 0000 1011 0111 ... */ | ||
2473 | /* 00 */ V(6, 13, 1), /* 358 */ | ||
2474 | /* 01 */ V(6, 13, 1), | ||
2475 | /* 10 */ V(13, 6, 2), | ||
2476 | /* 11 */ V(9, 11, 2), | ||
2477 | |||
2478 | /* 0000 1011 1000 ... */ | ||
2479 | /* 00 */ V(11, 9, 2), /* 362 */ | ||
2480 | /* 01 */ V(10, 10, 2), | ||
2481 | /* 10 */ V(14, 1, 1), | ||
2482 | /* 11 */ V(14, 1, 1), | ||
2483 | |||
2484 | /* 0000 1011 1001 ... */ | ||
2485 | /* 00 */ V(13, 4, 1), /* 366 */ | ||
2486 | /* 01 */ V(13, 4, 1), | ||
2487 | /* 10 */ V(11, 8, 2), | ||
2488 | /* 11 */ V(10, 9, 2), | ||
2489 | |||
2490 | /* 0000 1011 1010 ... */ | ||
2491 | /* 00 */ V(7, 11, 1), /* 370 */ | ||
2492 | /* 01 */ V(7, 11, 1), | ||
2493 | /* 10 */ V(11, 7, 2), | ||
2494 | /* 11 */ V(13, 0, 2), | ||
2495 | |||
2496 | /* 0000 1011 1100 ... */ | ||
2497 | /* 0 */ V(0, 14, 1), /* 374 */ | ||
2498 | /* 1 */ V(14, 0, 1), | ||
2499 | |||
2500 | /* 0000 1011 1101 ... */ | ||
2501 | /* 0 */ V(5, 13, 1), /* 376 */ | ||
2502 | /* 1 */ V(13, 5, 1), | ||
2503 | |||
2504 | /* 0000 1011 1110 ... */ | ||
2505 | /* 0 */ V(7, 12, 1), /* 378 */ | ||
2506 | /* 1 */ V(12, 7, 1), | ||
2507 | |||
2508 | /* 0000 1011 1111 ... */ | ||
2509 | /* 0 */ V(4, 13, 1), /* 380 */ | ||
2510 | /* 1 */ V(8, 11, 1), | ||
2511 | |||
2512 | /* 0000 1100 0000 ... */ | ||
2513 | /* 0 */ V(9, 10, 1), /* 382 */ | ||
2514 | /* 1 */ V(6, 12, 1), | ||
2515 | |||
2516 | /* 0000 1100 0001 ... */ | ||
2517 | /* 0 */ V(12, 6, 1), /* 384 */ | ||
2518 | /* 1 */ V(3, 13, 1), | ||
2519 | |||
2520 | /* 0000 1100 0010 ... */ | ||
2521 | /* 0 */ V(5, 12, 1), /* 386 */ | ||
2522 | /* 1 */ V(12, 5, 1), | ||
2523 | |||
2524 | /* 0000 1100 0100 ... */ | ||
2525 | /* 0 */ V(8, 10, 1), /* 388 */ | ||
2526 | /* 1 */ V(10, 8, 1), | ||
2527 | |||
2528 | /* 0000 1100 0101 ... */ | ||
2529 | /* 0 */ V(9, 9, 1), /* 390 */ | ||
2530 | /* 1 */ V(4, 12, 1), | ||
2531 | |||
2532 | /* 0000 1100 0110 ... */ | ||
2533 | /* 0 */ V(11, 6, 1), /* 392 */ | ||
2534 | /* 1 */ V(7, 10, 1), | ||
2535 | |||
2536 | /* 0000 1100 1000 ... */ | ||
2537 | /* 0 */ V(5, 11, 1), /* 394 */ | ||
2538 | /* 1 */ V(8, 9, 1), | ||
2539 | |||
2540 | /* 0000 1100 1011 ... */ | ||
2541 | /* 0 */ V(9, 8, 1), /* 396 */ | ||
2542 | /* 1 */ V(7, 9, 1), | ||
2543 | |||
2544 | /* 0000 1101 0101 ... */ | ||
2545 | /* 0 */ V(9, 7, 1), /* 398 */ | ||
2546 | /* 1 */ V(8, 8, 1), | ||
2547 | |||
2548 | /* 0000 0110 1100 0001 ... */ | ||
2549 | /* 0 */ V(14, 12, 1), /* 400 */ | ||
2550 | /* 1 */ V(13, 13, 1) | ||
2551 | }; | ||
2552 | |||
2553 | static | ||
2554 | union huffpair const hufftab24[] ICONST_ATTR_MPA_HUFFMAN = { | ||
2555 | /* 0000 */ PTR(16, 4), | ||
2556 | /* 0001 */ PTR(32, 4), | ||
2557 | /* 0010 */ PTR(48, 4), | ||
2558 | /* 0011 */ V(15, 15, 4), | ||
2559 | /* 0100 */ PTR(64, 4), | ||
2560 | /* 0101 */ PTR(80, 4), | ||
2561 | /* 0110 */ PTR(96, 4), | ||
2562 | /* 0111 */ PTR(112, 4), | ||
2563 | /* 1000 */ PTR(128, 4), | ||
2564 | /* 1001 */ PTR(144, 4), | ||
2565 | /* 1010 */ PTR(160, 3), | ||
2566 | /* 1011 */ PTR(168, 2), | ||
2567 | /* 1100 */ V(1, 1, 4), | ||
2568 | /* 1101 */ V(0, 1, 4), | ||
2569 | /* 1110 */ V(1, 0, 4), | ||
2570 | /* 1111 */ V(0, 0, 4), | ||
2571 | |||
2572 | /* 0000 ... */ | ||
2573 | /* 0000 */ V(14, 15, 4), /* 16 */ | ||
2574 | /* 0001 */ V(15, 14, 4), | ||
2575 | /* 0010 */ V(13, 15, 4), | ||
2576 | /* 0011 */ V(15, 13, 4), | ||
2577 | /* 0100 */ V(12, 15, 4), | ||
2578 | /* 0101 */ V(15, 12, 4), | ||
2579 | /* 0110 */ V(11, 15, 4), | ||
2580 | /* 0111 */ V(15, 11, 4), | ||
2581 | /* 1000 */ V(15, 10, 3), | ||
2582 | /* 1001 */ V(15, 10, 3), | ||
2583 | /* 1010 */ V(10, 15, 4), | ||
2584 | /* 1011 */ V(9, 15, 4), | ||
2585 | /* 1100 */ V(15, 9, 3), | ||
2586 | /* 1101 */ V(15, 9, 3), | ||
2587 | /* 1110 */ V(15, 8, 3), | ||
2588 | /* 1111 */ V(15, 8, 3), | ||
2589 | |||
2590 | /* 0001 ... */ | ||
2591 | /* 0000 */ V(8, 15, 4), /* 32 */ | ||
2592 | /* 0001 */ V(7, 15, 4), | ||
2593 | /* 0010 */ V(15, 7, 3), | ||
2594 | /* 0011 */ V(15, 7, 3), | ||
2595 | /* 0100 */ V(6, 15, 3), | ||
2596 | /* 0101 */ V(6, 15, 3), | ||
2597 | /* 0110 */ V(15, 6, 3), | ||
2598 | /* 0111 */ V(15, 6, 3), | ||
2599 | /* 1000 */ V(5, 15, 3), | ||
2600 | /* 1001 */ V(5, 15, 3), | ||
2601 | /* 1010 */ V(15, 5, 3), | ||
2602 | /* 1011 */ V(15, 5, 3), | ||
2603 | /* 1100 */ V(4, 15, 3), | ||
2604 | /* 1101 */ V(4, 15, 3), | ||
2605 | /* 1110 */ V(15, 4, 3), | ||
2606 | /* 1111 */ V(15, 4, 3), | ||
2607 | |||
2608 | /* 0010 ... */ | ||
2609 | /* 0000 */ V(3, 15, 3), /* 48 */ | ||
2610 | /* 0001 */ V(3, 15, 3), | ||
2611 | /* 0010 */ V(15, 3, 3), | ||
2612 | /* 0011 */ V(15, 3, 3), | ||
2613 | /* 0100 */ V(2, 15, 3), | ||
2614 | /* 0101 */ V(2, 15, 3), | ||
2615 | /* 0110 */ V(15, 2, 3), | ||
2616 | /* 0111 */ V(15, 2, 3), | ||
2617 | /* 1000 */ V(15, 1, 3), | ||
2618 | /* 1001 */ V(15, 1, 3), | ||
2619 | /* 1010 */ V(1, 15, 4), | ||
2620 | /* 1011 */ V(15, 0, 4), | ||
2621 | /* 1100 */ PTR(172, 3), | ||
2622 | /* 1101 */ PTR(180, 3), | ||
2623 | /* 1110 */ PTR(188, 3), | ||
2624 | /* 1111 */ PTR(196, 3), | ||
2625 | |||
2626 | /* 0100 ... */ | ||
2627 | /* 0000 */ PTR(204, 4), /* 64 */ | ||
2628 | /* 0001 */ PTR(220, 3), | ||
2629 | /* 0010 */ PTR(228, 3), | ||
2630 | /* 0011 */ PTR(236, 3), | ||
2631 | /* 0100 */ PTR(244, 2), | ||
2632 | /* 0101 */ PTR(248, 2), | ||
2633 | /* 0110 */ PTR(252, 2), | ||
2634 | /* 0111 */ PTR(256, 2), | ||
2635 | /* 1000 */ PTR(260, 2), | ||
2636 | /* 1001 */ PTR(264, 2), | ||
2637 | /* 1010 */ PTR(268, 2), | ||
2638 | /* 1011 */ PTR(272, 2), | ||
2639 | /* 1100 */ PTR(276, 2), | ||
2640 | /* 1101 */ PTR(280, 3), | ||
2641 | /* 1110 */ PTR(288, 2), | ||
2642 | /* 1111 */ PTR(292, 2), | ||
2643 | |||
2644 | /* 0101 ... */ | ||
2645 | /* 0000 */ PTR(296, 2), /* 80 */ | ||
2646 | /* 0001 */ PTR(300, 3), | ||
2647 | /* 0010 */ PTR(308, 2), | ||
2648 | /* 0011 */ PTR(312, 3), | ||
2649 | /* 0100 */ PTR(320, 1), | ||
2650 | /* 0101 */ PTR(322, 2), | ||
2651 | /* 0110 */ PTR(326, 2), | ||
2652 | /* 0111 */ PTR(330, 1), | ||
2653 | /* 1000 */ PTR(332, 2), | ||
2654 | /* 1001 */ PTR(336, 1), | ||
2655 | /* 1010 */ PTR(338, 1), | ||
2656 | /* 1011 */ PTR(340, 1), | ||
2657 | /* 1100 */ PTR(342, 1), | ||
2658 | /* 1101 */ PTR(344, 1), | ||
2659 | /* 1110 */ PTR(346, 1), | ||
2660 | /* 1111 */ PTR(348, 1), | ||
2661 | |||
2662 | /* 0110 ... */ | ||
2663 | /* 0000 */ PTR(350, 1), /* 96 */ | ||
2664 | /* 0001 */ PTR(352, 1), | ||
2665 | /* 0010 */ PTR(354, 1), | ||
2666 | /* 0011 */ PTR(356, 1), | ||
2667 | /* 0100 */ PTR(358, 1), | ||
2668 | /* 0101 */ PTR(360, 1), | ||
2669 | /* 0110 */ PTR(362, 1), | ||
2670 | /* 0111 */ PTR(364, 1), | ||
2671 | /* 1000 */ PTR(366, 1), | ||
2672 | /* 1001 */ PTR(368, 1), | ||
2673 | /* 1010 */ PTR(370, 2), | ||
2674 | /* 1011 */ PTR(374, 1), | ||
2675 | /* 1100 */ PTR(376, 2), | ||
2676 | /* 1101 */ V(7, 3, 4), | ||
2677 | /* 1110 */ PTR(380, 1), | ||
2678 | /* 1111 */ V(7, 2, 4), | ||
2679 | |||
2680 | /* 0111 ... */ | ||
2681 | /* 0000 */ V(4, 6, 4), /* 112 */ | ||
2682 | /* 0001 */ V(6, 4, 4), | ||
2683 | /* 0010 */ V(5, 5, 4), | ||
2684 | /* 0011 */ V(7, 1, 4), | ||
2685 | /* 0100 */ V(3, 6, 4), | ||
2686 | /* 0101 */ V(6, 3, 4), | ||
2687 | /* 0110 */ V(4, 5, 4), | ||
2688 | /* 0111 */ V(5, 4, 4), | ||
2689 | /* 1000 */ V(2, 6, 4), | ||
2690 | /* 1001 */ V(6, 2, 4), | ||
2691 | /* 1010 */ V(1, 6, 4), | ||
2692 | /* 1011 */ V(6, 1, 4), | ||
2693 | /* 1100 */ PTR(382, 1), | ||
2694 | /* 1101 */ V(3, 5, 4), | ||
2695 | /* 1110 */ V(5, 3, 4), | ||
2696 | /* 1111 */ V(4, 4, 4), | ||
2697 | |||
2698 | /* 1000 ... */ | ||
2699 | /* 0000 */ V(2, 5, 4), /* 128 */ | ||
2700 | /* 0001 */ V(5, 2, 4), | ||
2701 | /* 0010 */ V(1, 5, 4), | ||
2702 | /* 0011 */ PTR(384, 1), | ||
2703 | /* 0100 */ V(5, 1, 3), | ||
2704 | /* 0101 */ V(5, 1, 3), | ||
2705 | /* 0110 */ V(3, 4, 4), | ||
2706 | /* 0111 */ V(4, 3, 4), | ||
2707 | /* 1000 */ V(2, 4, 3), | ||
2708 | /* 1001 */ V(2, 4, 3), | ||
2709 | /* 1010 */ V(4, 2, 3), | ||
2710 | /* 1011 */ V(4, 2, 3), | ||
2711 | /* 1100 */ V(3, 3, 3), | ||
2712 | /* 1101 */ V(3, 3, 3), | ||
2713 | /* 1110 */ V(1, 4, 3), | ||
2714 | /* 1111 */ V(1, 4, 3), | ||
2715 | |||
2716 | /* 1001 ... */ | ||
2717 | /* 0000 */ V(4, 1, 3), /* 144 */ | ||
2718 | /* 0001 */ V(4, 1, 3), | ||
2719 | /* 0010 */ V(0, 4, 4), | ||
2720 | /* 0011 */ V(4, 0, 4), | ||
2721 | /* 0100 */ V(2, 3, 3), | ||
2722 | /* 0101 */ V(2, 3, 3), | ||
2723 | /* 0110 */ V(3, 2, 3), | ||
2724 | /* 0111 */ V(3, 2, 3), | ||
2725 | /* 1000 */ V(1, 3, 2), | ||
2726 | /* 1001 */ V(1, 3, 2), | ||
2727 | /* 1010 */ V(1, 3, 2), | ||
2728 | /* 1011 */ V(1, 3, 2), | ||
2729 | /* 1100 */ V(3, 1, 2), | ||
2730 | /* 1101 */ V(3, 1, 2), | ||
2731 | /* 1110 */ V(3, 1, 2), | ||
2732 | /* 1111 */ V(3, 1, 2), | ||
2733 | |||
2734 | /* 1010 ... */ | ||
2735 | /* 000 */ V(0, 3, 3), /* 160 */ | ||
2736 | /* 001 */ V(3, 0, 3), | ||
2737 | /* 010 */ V(2, 2, 2), | ||
2738 | /* 011 */ V(2, 2, 2), | ||
2739 | /* 100 */ V(1, 2, 1), | ||
2740 | /* 101 */ V(1, 2, 1), | ||
2741 | /* 110 */ V(1, 2, 1), | ||
2742 | /* 111 */ V(1, 2, 1), | ||
2743 | |||
2744 | /* 1011 ... */ | ||
2745 | /* 00 */ V(2, 1, 1), /* 168 */ | ||
2746 | /* 01 */ V(2, 1, 1), | ||
2747 | /* 10 */ V(0, 2, 2), | ||
2748 | /* 11 */ V(2, 0, 2), | ||
2749 | |||
2750 | /* 0010 1100 ... */ | ||
2751 | /* 000 */ V(0, 15, 1), /* 172 */ | ||
2752 | /* 001 */ V(0, 15, 1), | ||
2753 | /* 010 */ V(0, 15, 1), | ||
2754 | /* 011 */ V(0, 15, 1), | ||
2755 | /* 100 */ V(14, 14, 3), | ||
2756 | /* 101 */ V(13, 14, 3), | ||
2757 | /* 110 */ V(14, 13, 3), | ||
2758 | /* 111 */ V(12, 14, 3), | ||
2759 | |||
2760 | /* 0010 1101 ... */ | ||
2761 | /* 000 */ V(14, 12, 3), /* 180 */ | ||
2762 | /* 001 */ V(13, 13, 3), | ||
2763 | /* 010 */ V(11, 14, 3), | ||
2764 | /* 011 */ V(14, 11, 3), | ||
2765 | /* 100 */ V(12, 13, 3), | ||
2766 | /* 101 */ V(13, 12, 3), | ||
2767 | /* 110 */ V(10, 14, 3), | ||
2768 | /* 111 */ V(14, 10, 3), | ||
2769 | |||
2770 | /* 0010 1110 ... */ | ||
2771 | /* 000 */ V(11, 13, 3), /* 188 */ | ||
2772 | /* 001 */ V(13, 11, 3), | ||
2773 | /* 010 */ V(12, 12, 3), | ||
2774 | /* 011 */ V(9, 14, 3), | ||
2775 | /* 100 */ V(14, 9, 3), | ||
2776 | /* 101 */ V(10, 13, 3), | ||
2777 | /* 110 */ V(13, 10, 3), | ||
2778 | /* 111 */ V(11, 12, 3), | ||
2779 | |||
2780 | /* 0010 1111 ... */ | ||
2781 | /* 000 */ V(12, 11, 3), /* 196 */ | ||
2782 | /* 001 */ V(8, 14, 3), | ||
2783 | /* 010 */ V(14, 8, 3), | ||
2784 | /* 011 */ V(9, 13, 3), | ||
2785 | /* 100 */ V(13, 9, 3), | ||
2786 | /* 101 */ V(7, 14, 3), | ||
2787 | /* 110 */ V(14, 7, 3), | ||
2788 | /* 111 */ V(10, 12, 3), | ||
2789 | |||
2790 | /* 0100 0000 ... */ | ||
2791 | /* 0000 */ V(12, 10, 3), /* 204 */ | ||
2792 | /* 0001 */ V(12, 10, 3), | ||
2793 | /* 0010 */ V(11, 11, 3), | ||
2794 | /* 0011 */ V(11, 11, 3), | ||
2795 | /* 0100 */ V(8, 13, 3), | ||
2796 | /* 0101 */ V(8, 13, 3), | ||
2797 | /* 0110 */ V(13, 8, 3), | ||
2798 | /* 0111 */ V(13, 8, 3), | ||
2799 | /* 1000 */ V(0, 14, 4), | ||
2800 | /* 1001 */ V(14, 0, 4), | ||
2801 | /* 1010 */ V(0, 13, 3), | ||
2802 | /* 1011 */ V(0, 13, 3), | ||
2803 | /* 1100 */ V(14, 6, 2), | ||
2804 | /* 1101 */ V(14, 6, 2), | ||
2805 | /* 1110 */ V(14, 6, 2), | ||
2806 | /* 1111 */ V(14, 6, 2), | ||
2807 | |||
2808 | /* 0100 0001 ... */ | ||
2809 | /* 000 */ V(6, 14, 3), /* 220 */ | ||
2810 | /* 001 */ V(9, 12, 3), | ||
2811 | /* 010 */ V(12, 9, 2), | ||
2812 | /* 011 */ V(12, 9, 2), | ||
2813 | /* 100 */ V(5, 14, 2), | ||
2814 | /* 101 */ V(5, 14, 2), | ||
2815 | /* 110 */ V(11, 10, 2), | ||
2816 | /* 111 */ V(11, 10, 2), | ||
2817 | |||
2818 | /* 0100 0010 ... */ | ||
2819 | /* 000 */ V(14, 5, 2), /* 228 */ | ||
2820 | /* 001 */ V(14, 5, 2), | ||
2821 | /* 010 */ V(10, 11, 3), | ||
2822 | /* 011 */ V(7, 13, 3), | ||
2823 | /* 100 */ V(13, 7, 2), | ||
2824 | /* 101 */ V(13, 7, 2), | ||
2825 | /* 110 */ V(14, 4, 2), | ||
2826 | /* 111 */ V(14, 4, 2), | ||
2827 | |||
2828 | /* 0100 0011 ... */ | ||
2829 | /* 000 */ V(8, 12, 2), /* 236 */ | ||
2830 | /* 001 */ V(8, 12, 2), | ||
2831 | /* 010 */ V(12, 8, 2), | ||
2832 | /* 011 */ V(12, 8, 2), | ||
2833 | /* 100 */ V(4, 14, 3), | ||
2834 | /* 101 */ V(2, 14, 3), | ||
2835 | /* 110 */ V(3, 14, 2), | ||
2836 | /* 111 */ V(3, 14, 2), | ||
2837 | |||
2838 | /* 0100 0100 ... */ | ||
2839 | /* 00 */ V(6, 13, 2), /* 244 */ | ||
2840 | /* 01 */ V(13, 6, 2), | ||
2841 | /* 10 */ V(14, 3, 2), | ||
2842 | /* 11 */ V(9, 11, 2), | ||
2843 | |||
2844 | /* 0100 0101 ... */ | ||
2845 | /* 00 */ V(11, 9, 2), /* 248 */ | ||
2846 | /* 01 */ V(10, 10, 2), | ||
2847 | /* 10 */ V(14, 2, 2), | ||
2848 | /* 11 */ V(1, 14, 2), | ||
2849 | |||
2850 | /* 0100 0110 ... */ | ||
2851 | /* 00 */ V(14, 1, 2), /* 252 */ | ||
2852 | /* 01 */ V(5, 13, 2), | ||
2853 | /* 10 */ V(13, 5, 2), | ||
2854 | /* 11 */ V(7, 12, 2), | ||
2855 | |||
2856 | /* 0100 0111 ... */ | ||
2857 | /* 00 */ V(12, 7, 2), /* 256 */ | ||
2858 | /* 01 */ V(4, 13, 2), | ||
2859 | /* 10 */ V(8, 11, 2), | ||
2860 | /* 11 */ V(11, 8, 2), | ||
2861 | |||
2862 | /* 0100 1000 ... */ | ||
2863 | /* 00 */ V(13, 4, 2), /* 260 */ | ||
2864 | /* 01 */ V(9, 10, 2), | ||
2865 | /* 10 */ V(10, 9, 2), | ||
2866 | /* 11 */ V(6, 12, 2), | ||
2867 | |||
2868 | /* 0100 1001 ... */ | ||
2869 | /* 00 */ V(12, 6, 2), /* 264 */ | ||
2870 | /* 01 */ V(3, 13, 2), | ||
2871 | /* 10 */ V(13, 3, 2), | ||
2872 | /* 11 */ V(2, 13, 2), | ||
2873 | |||
2874 | /* 0100 1010 ... */ | ||
2875 | /* 00 */ V(13, 2, 2), /* 268 */ | ||
2876 | /* 01 */ V(1, 13, 2), | ||
2877 | /* 10 */ V(7, 11, 2), | ||
2878 | /* 11 */ V(11, 7, 2), | ||
2879 | |||
2880 | /* 0100 1011 ... */ | ||
2881 | /* 00 */ V(13, 1, 2), /* 272 */ | ||
2882 | /* 01 */ V(5, 12, 2), | ||
2883 | /* 10 */ V(12, 5, 2), | ||
2884 | /* 11 */ V(8, 10, 2), | ||
2885 | |||
2886 | /* 0100 1100 ... */ | ||
2887 | /* 00 */ V(10, 8, 2), /* 276 */ | ||
2888 | /* 01 */ V(9, 9, 2), | ||
2889 | /* 10 */ V(4, 12, 2), | ||
2890 | /* 11 */ V(12, 4, 2), | ||
2891 | |||
2892 | /* 0100 1101 ... */ | ||
2893 | /* 000 */ V(6, 11, 2), /* 280 */ | ||
2894 | /* 001 */ V(6, 11, 2), | ||
2895 | /* 010 */ V(11, 6, 2), | ||
2896 | /* 011 */ V(11, 6, 2), | ||
2897 | /* 100 */ V(13, 0, 3), | ||
2898 | /* 101 */ V(0, 12, 3), | ||
2899 | /* 110 */ V(3, 12, 2), | ||
2900 | /* 111 */ V(3, 12, 2), | ||
2901 | |||
2902 | /* 0100 1110 ... */ | ||
2903 | /* 00 */ V(12, 3, 2), /* 288 */ | ||
2904 | /* 01 */ V(7, 10, 2), | ||
2905 | /* 10 */ V(10, 7, 2), | ||
2906 | /* 11 */ V(2, 12, 2), | ||
2907 | |||
2908 | /* 0100 1111 ... */ | ||
2909 | /* 00 */ V(12, 2, 2), /* 292 */ | ||
2910 | /* 01 */ V(5, 11, 2), | ||
2911 | /* 10 */ V(11, 5, 2), | ||
2912 | /* 11 */ V(1, 12, 2), | ||
2913 | |||
2914 | /* 0101 0000 ... */ | ||
2915 | /* 00 */ V(8, 9, 2), /* 296 */ | ||
2916 | /* 01 */ V(9, 8, 2), | ||
2917 | /* 10 */ V(12, 1, 2), | ||
2918 | /* 11 */ V(4, 11, 2), | ||
2919 | |||
2920 | /* 0101 0001 ... */ | ||
2921 | /* 000 */ V(12, 0, 3), /* 300 */ | ||
2922 | /* 001 */ V(0, 11, 3), | ||
2923 | /* 010 */ V(3, 11, 2), | ||
2924 | /* 011 */ V(3, 11, 2), | ||
2925 | /* 100 */ V(11, 0, 3), | ||
2926 | /* 101 */ V(0, 10, 3), | ||
2927 | /* 110 */ V(1, 10, 2), | ||
2928 | /* 111 */ V(1, 10, 2), | ||
2929 | |||
2930 | /* 0101 0010 ... */ | ||
2931 | /* 00 */ V(11, 4, 1), /* 308 */ | ||
2932 | /* 01 */ V(11, 4, 1), | ||
2933 | /* 10 */ V(6, 10, 2), | ||
2934 | /* 11 */ V(10, 6, 2), | ||
2935 | |||
2936 | /* 0101 0011 ... */ | ||
2937 | /* 000 */ V(7, 9, 2), /* 312 */ | ||
2938 | /* 001 */ V(7, 9, 2), | ||
2939 | /* 010 */ V(9, 7, 2), | ||
2940 | /* 011 */ V(9, 7, 2), | ||
2941 | /* 100 */ V(10, 0, 3), | ||
2942 | /* 101 */ V(0, 9, 3), | ||
2943 | /* 110 */ V(9, 0, 2), | ||
2944 | /* 111 */ V(9, 0, 2), | ||
2945 | |||
2946 | /* 0101 0100 ... */ | ||
2947 | /* 0 */ V(11, 3, 1), /* 320 */ | ||
2948 | /* 1 */ V(8, 8, 1), | ||
2949 | |||
2950 | /* 0101 0101 ... */ | ||
2951 | /* 00 */ V(2, 11, 2), /* 322 */ | ||
2952 | /* 01 */ V(5, 10, 2), | ||
2953 | /* 10 */ V(11, 2, 1), | ||
2954 | /* 11 */ V(11, 2, 1), | ||
2955 | |||
2956 | /* 0101 0110 ... */ | ||
2957 | /* 00 */ V(10, 5, 2), /* 326 */ | ||
2958 | /* 01 */ V(1, 11, 2), | ||
2959 | /* 10 */ V(11, 1, 2), | ||
2960 | /* 11 */ V(6, 9, 2), | ||
2961 | |||
2962 | /* 0101 0111 ... */ | ||
2963 | /* 0 */ V(9, 6, 1), /* 330 */ | ||
2964 | /* 1 */ V(10, 4, 1), | ||
2965 | |||
2966 | /* 0101 1000 ... */ | ||
2967 | /* 00 */ V(4, 10, 2), /* 332 */ | ||
2968 | /* 01 */ V(7, 8, 2), | ||
2969 | /* 10 */ V(8, 7, 1), | ||
2970 | /* 11 */ V(8, 7, 1), | ||
2971 | |||
2972 | /* 0101 1001 ... */ | ||
2973 | /* 0 */ V(3, 10, 1), /* 336 */ | ||
2974 | /* 1 */ V(10, 3, 1), | ||
2975 | |||
2976 | /* 0101 1010 ... */ | ||
2977 | /* 0 */ V(5, 9, 1), /* 338 */ | ||
2978 | /* 1 */ V(9, 5, 1), | ||
2979 | |||
2980 | /* 0101 1011 ... */ | ||
2981 | /* 0 */ V(2, 10, 1), /* 340 */ | ||
2982 | /* 1 */ V(10, 2, 1), | ||
2983 | |||
2984 | /* 0101 1100 ... */ | ||
2985 | /* 0 */ V(10, 1, 1), /* 342 */ | ||
2986 | /* 1 */ V(6, 8, 1), | ||
2987 | |||
2988 | /* 0101 1101 ... */ | ||
2989 | /* 0 */ V(8, 6, 1), /* 344 */ | ||
2990 | /* 1 */ V(7, 7, 1), | ||
2991 | |||
2992 | /* 0101 1110 ... */ | ||
2993 | /* 0 */ V(4, 9, 1), /* 346 */ | ||
2994 | /* 1 */ V(9, 4, 1), | ||
2995 | |||
2996 | /* 0101 1111 ... */ | ||
2997 | /* 0 */ V(3, 9, 1), /* 348 */ | ||
2998 | /* 1 */ V(9, 3, 1), | ||
2999 | |||
3000 | /* 0110 0000 ... */ | ||
3001 | /* 0 */ V(5, 8, 1), /* 350 */ | ||
3002 | /* 1 */ V(8, 5, 1), | ||
3003 | |||
3004 | /* 0110 0001 ... */ | ||
3005 | /* 0 */ V(2, 9, 1), /* 352 */ | ||
3006 | /* 1 */ V(6, 7, 1), | ||
3007 | |||
3008 | /* 0110 0010 ... */ | ||
3009 | /* 0 */ V(7, 6, 1), /* 354 */ | ||
3010 | /* 1 */ V(9, 2, 1), | ||
3011 | |||
3012 | /* 0110 0011 ... */ | ||
3013 | /* 0 */ V(1, 9, 1), /* 356 */ | ||
3014 | /* 1 */ V(9, 1, 1), | ||
3015 | |||
3016 | /* 0110 0100 ... */ | ||
3017 | /* 0 */ V(4, 8, 1), /* 358 */ | ||
3018 | /* 1 */ V(8, 4, 1), | ||
3019 | |||
3020 | /* 0110 0101 ... */ | ||
3021 | /* 0 */ V(5, 7, 1), /* 360 */ | ||
3022 | /* 1 */ V(7, 5, 1), | ||
3023 | |||
3024 | /* 0110 0110 ... */ | ||
3025 | /* 0 */ V(3, 8, 1), /* 362 */ | ||
3026 | /* 1 */ V(8, 3, 1), | ||
3027 | |||
3028 | /* 0110 0111 ... */ | ||
3029 | /* 0 */ V(6, 6, 1), /* 364 */ | ||
3030 | /* 1 */ V(2, 8, 1), | ||
3031 | |||
3032 | /* 0110 1000 ... */ | ||
3033 | /* 0 */ V(8, 2, 1), /* 366 */ | ||
3034 | /* 1 */ V(1, 8, 1), | ||
3035 | |||
3036 | /* 0110 1001 ... */ | ||
3037 | /* 0 */ V(4, 7, 1), /* 368 */ | ||
3038 | /* 1 */ V(7, 4, 1), | ||
3039 | |||
3040 | /* 0110 1010 ... */ | ||
3041 | /* 00 */ V(8, 1, 1), /* 370 */ | ||
3042 | /* 01 */ V(8, 1, 1), | ||
3043 | /* 10 */ V(0, 8, 2), | ||
3044 | /* 11 */ V(8, 0, 2), | ||
3045 | |||
3046 | /* 0110 1011 ... */ | ||
3047 | /* 0 */ V(5, 6, 1), /* 374 */ | ||
3048 | /* 1 */ V(6, 5, 1), | ||
3049 | |||
3050 | /* 0110 1100 ... */ | ||
3051 | /* 00 */ V(1, 7, 1), /* 376 */ | ||
3052 | /* 01 */ V(1, 7, 1), | ||
3053 | /* 10 */ V(0, 7, 2), | ||
3054 | /* 11 */ V(7, 0, 2), | ||
3055 | |||
3056 | /* 0110 1110 ... */ | ||
3057 | /* 0 */ V(3, 7, 1), /* 380 */ | ||
3058 | /* 1 */ V(2, 7, 1), | ||
3059 | |||
3060 | /* 0111 1100 ... */ | ||
3061 | /* 0 */ V(0, 6, 1), /* 382 */ | ||
3062 | /* 1 */ V(6, 0, 1), | ||
3063 | |||
3064 | /* 1000 0011 ... */ | ||
3065 | /* 0 */ V(0, 5, 1), /* 384 */ | ||
3066 | /* 1 */ V(5, 0, 1) | ||
3067 | }; | ||
3068 | |||
3069 | # undef V | ||
3070 | # undef PTR | ||
3071 | |||
3072 | /* external tables */ | ||
3073 | |||
3074 | union huffquad const *const mad_huff_quad_table[2] = { hufftabA, hufftabB }; | ||
3075 | |||
3076 | struct hufftable const mad_huff_pair_table[32] = { | ||
3077 | /* 0 */ { hufftab0, 0, 0 }, | ||
3078 | /* 1 */ { hufftab1, 0, 3 }, | ||
3079 | /* 2 */ { hufftab2, 0, 3 }, | ||
3080 | /* 3 */ { hufftab3, 0, 3 }, | ||
3081 | /* 4 */ { hufftab0, 0, 0 }, /* not used */ | ||
3082 | /* 5 */ { hufftab5, 0, 3 }, | ||
3083 | /* 6 */ { hufftab6, 0, 4 }, | ||
3084 | /* 7 */ { hufftab7, 0, 4 }, | ||
3085 | /* 8 */ { hufftab8, 0, 4 }, | ||
3086 | /* 9 */ { hufftab9, 0, 4 }, | ||
3087 | /* 10 */ { hufftab10, 0, 4 }, | ||
3088 | /* 11 */ { hufftab11, 0, 4 }, | ||
3089 | /* 12 */ { hufftab12, 0, 4 }, | ||
3090 | /* 13 */ { hufftab13, 0, 4 }, | ||
3091 | /* 14 */ { hufftab0, 0, 0 }, /* not used */ | ||
3092 | /* 15 */ { hufftab15, 0, 4 }, | ||
3093 | /* 16 */ { hufftab16, 1, 4 }, | ||
3094 | /* 17 */ { hufftab16, 2, 4 }, | ||
3095 | /* 18 */ { hufftab16, 3, 4 }, | ||
3096 | /* 19 */ { hufftab16, 4, 4 }, | ||
3097 | /* 20 */ { hufftab16, 6, 4 }, | ||
3098 | /* 21 */ { hufftab16, 8, 4 }, | ||
3099 | /* 22 */ { hufftab16, 10, 4 }, | ||
3100 | /* 23 */ { hufftab16, 13, 4 }, | ||
3101 | /* 24 */ { hufftab24, 4, 4 }, | ||
3102 | /* 25 */ { hufftab24, 5, 4 }, | ||
3103 | /* 26 */ { hufftab24, 6, 4 }, | ||
3104 | /* 27 */ { hufftab24, 7, 4 }, | ||
3105 | /* 28 */ { hufftab24, 8, 4 }, | ||
3106 | /* 29 */ { hufftab24, 9, 4 }, | ||
3107 | /* 30 */ { hufftab24, 11, 4 }, | ||
3108 | /* 31 */ { hufftab24, 13, 4 } | ||
3109 | }; | ||
diff --git a/lib/rbcodec/codecs/libmad/huffman.h b/lib/rbcodec/codecs/libmad/huffman.h new file mode 100644 index 0000000000..e4c1b35d93 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/huffman.h | |||
@@ -0,0 +1,66 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_HUFFMAN_H | ||
23 | # define LIBMAD_HUFFMAN_H | ||
24 | |||
25 | union huffquad { | ||
26 | struct { | ||
27 | unsigned short final : 1; | ||
28 | unsigned short bits : 3; | ||
29 | unsigned short offset : 12; | ||
30 | } ptr; | ||
31 | struct { | ||
32 | unsigned short final : 1; | ||
33 | unsigned short hlen : 3; | ||
34 | unsigned short v : 1; | ||
35 | unsigned short w : 1; | ||
36 | unsigned short x : 1; | ||
37 | unsigned short y : 1; | ||
38 | } value; | ||
39 | unsigned short final : 1; | ||
40 | }; | ||
41 | |||
42 | union huffpair { | ||
43 | struct { | ||
44 | unsigned short final : 1; | ||
45 | unsigned short bits : 3; | ||
46 | unsigned short offset : 12; | ||
47 | } ptr; | ||
48 | struct { | ||
49 | unsigned short final : 1; | ||
50 | unsigned short hlen : 3; | ||
51 | unsigned short x : 4; | ||
52 | unsigned short y : 4; | ||
53 | } value; | ||
54 | unsigned short final : 1; | ||
55 | }; | ||
56 | |||
57 | struct hufftable { | ||
58 | union huffpair const *table; | ||
59 | unsigned short linbits; | ||
60 | unsigned short startbits; | ||
61 | }; | ||
62 | |||
63 | extern union huffquad const *const mad_huff_quad_table[2]; | ||
64 | extern struct hufftable const mad_huff_pair_table[32]; | ||
65 | |||
66 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/imdct_l_arm.S b/lib/rbcodec/codecs/libmad/imdct_l_arm.S new file mode 100644 index 0000000000..b511ff169d --- /dev/null +++ b/lib/rbcodec/codecs/libmad/imdct_l_arm.S | |||
@@ -0,0 +1,1001 @@ | |||
1 | /***************************************************************************** | ||
2 | * Copyright (C) 2000-2001 Andre McCurdy <armccurdy@yahoo.co.uk> | ||
3 | * | ||
4 | * This program is free software. you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation@ either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY, without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program@ if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | * | ||
18 | ***************************************************************************** | ||
19 | * | ||
20 | * Notes: | ||
21 | * | ||
22 | * | ||
23 | ***************************************************************************** | ||
24 | * | ||
25 | * $Id$ | ||
26 | * | ||
27 | * 2001/03/24: Andre McCurdy <armccurdy@yahoo.co.uk> | ||
28 | * - Corrected PIC unsafe loading of address of 'imdct36_long_karray' | ||
29 | * | ||
30 | * 2000/09/20: Robert Leslie <rob@mars.org> | ||
31 | * - Added a global symbol with leading underscore per suggestion of | ||
32 | * Simon Burge to support linking with the a.out format. | ||
33 | * | ||
34 | * 2000/09/15: Robert Leslie <rob@mars.org> | ||
35 | * - Fixed a small bug where flags were changed before a conditional branch. | ||
36 | * | ||
37 | * 2000/09/15: Andre McCurdy <armccurdy@yahoo.co.uk> | ||
38 | * - Applied Nicolas Pitre's rounding optimisation in all remaining places. | ||
39 | * | ||
40 | * 2000/09/09: Nicolas Pitre <nico@cam.org> | ||
41 | * - Optimized rounding + scaling operations. | ||
42 | * | ||
43 | * 2000/08/09: Andre McCurdy <armccurdy@yahoo.co.uk> | ||
44 | * - Original created. | ||
45 | * | ||
46 | ****************************************************************************/ | ||
47 | |||
48 | #include "config.h" | ||
49 | |||
50 | /* | ||
51 | On entry: | ||
52 | |||
53 | r0 = pointer to 18 element input array | ||
54 | r1 = pointer to 36 element output array | ||
55 | r2 = windowing block type | ||
56 | |||
57 | |||
58 | Stack frame created during execution of the function: | ||
59 | |||
60 | Initial Holds: | ||
61 | Stack | ||
62 | pointer | ||
63 | minus: | ||
64 | |||
65 | 0 | ||
66 | 4 lr | ||
67 | 8 r11 | ||
68 | 12 r10 | ||
69 | 16 r9 | ||
70 | 20 r8 | ||
71 | 24 r7 | ||
72 | 28 r6 | ||
73 | 32 r5 | ||
74 | 36 r4 | ||
75 | |||
76 | 40 r2 : windowing block type | ||
77 | |||
78 | 44 ct00 high | ||
79 | 48 ct00 low | ||
80 | 52 ct01 high | ||
81 | 56 ct01 low | ||
82 | 60 ct04 high | ||
83 | 64 ct04 low | ||
84 | 68 ct06 high | ||
85 | 72 ct06 low | ||
86 | 76 ct05 high | ||
87 | 80 ct05 low | ||
88 | 84 ct03 high | ||
89 | 88 ct03 low | ||
90 | 92 -ct05 high | ||
91 | 96 -ct05 low | ||
92 | 100 -ct07 high | ||
93 | 104 -ct07 low | ||
94 | 108 ct07 high | ||
95 | 112 ct07 low | ||
96 | 116 ct02 high | ||
97 | 120 ct02 low | ||
98 | */ | ||
99 | |||
100 | #define BLOCK_MODE_NORMAL 0 | ||
101 | #define BLOCK_MODE_START 1 | ||
102 | #define BLOCK_MODE_STOP 3 | ||
103 | |||
104 | |||
105 | #define X0 0x00 | ||
106 | #define X1 0x04 | ||
107 | #define X2 0x08 | ||
108 | #define X3 0x0C | ||
109 | #define X4 0x10 | ||
110 | #define X5 0x14 | ||
111 | #define X6 0x18 | ||
112 | #define X7 0x1c | ||
113 | #define X8 0x20 | ||
114 | #define X9 0x24 | ||
115 | #define X10 0x28 | ||
116 | #define X11 0x2c | ||
117 | #define X12 0x30 | ||
118 | #define X13 0x34 | ||
119 | #define X14 0x38 | ||
120 | #define X15 0x3c | ||
121 | #define X16 0x40 | ||
122 | #define X17 0x44 | ||
123 | |||
124 | #define x0 0x00 | ||
125 | #define x1 0x04 | ||
126 | #define x2 0x08 | ||
127 | #define x3 0x0C | ||
128 | #define x4 0x10 | ||
129 | #define x5 0x14 | ||
130 | #define x6 0x18 | ||
131 | #define x7 0x1c | ||
132 | #define x8 0x20 | ||
133 | #define x9 0x24 | ||
134 | #define x10 0x28 | ||
135 | #define x11 0x2c | ||
136 | #define x12 0x30 | ||
137 | #define x13 0x34 | ||
138 | #define x14 0x38 | ||
139 | #define x15 0x3c | ||
140 | #define x16 0x40 | ||
141 | #define x17 0x44 | ||
142 | #define x18 0x48 | ||
143 | #define x19 0x4c | ||
144 | #define x20 0x50 | ||
145 | #define x21 0x54 | ||
146 | #define x22 0x58 | ||
147 | #define x23 0x5c | ||
148 | #define x24 0x60 | ||
149 | #define x25 0x64 | ||
150 | #define x26 0x68 | ||
151 | #define x27 0x6c | ||
152 | #define x28 0x70 | ||
153 | #define x29 0x74 | ||
154 | #define x30 0x78 | ||
155 | #define x31 0x7c | ||
156 | #define x32 0x80 | ||
157 | #define x33 0x84 | ||
158 | #define x34 0x88 | ||
159 | #define x35 0x8c | ||
160 | |||
161 | #define K00 0x0ffc19fd | ||
162 | #define K01 0x00b2aa3e | ||
163 | #define K02 0x0fdcf549 | ||
164 | #define K03 0x0216a2a2 | ||
165 | #define K04 0x0f9ee890 | ||
166 | #define K05 0x03768962 | ||
167 | #define K06 0x0f426cb5 | ||
168 | #define K07 0x04cfb0e2 | ||
169 | #define K08 0x0ec835e8 | ||
170 | #define K09 0x061f78aa | ||
171 | #define K10 0x0e313245 | ||
172 | #define K11 0x07635284 | ||
173 | #define K12 0x0d7e8807 | ||
174 | #define K13 0x0898c779 | ||
175 | #define K14 0x0cb19346 | ||
176 | #define K15 0x09bd7ca0 | ||
177 | #define K16 0x0bcbe352 | ||
178 | #define K17 0x0acf37ad | ||
179 | |||
180 | #define minus_K02 0xf0230ab7 | ||
181 | |||
182 | #define WL0 0x00b2aa3e | ||
183 | #define WL1 0x0216a2a2 | ||
184 | #define WL2 0x03768962 | ||
185 | #define WL3 0x04cfb0e2 | ||
186 | #define WL4 0x061f78aa | ||
187 | #define WL5 0x07635284 | ||
188 | #define WL6 0x0898c779 | ||
189 | #define WL7 0x09bd7ca0 | ||
190 | #define WL8 0x0acf37ad | ||
191 | #define WL9 0x0bcbe352 | ||
192 | #define WL10 0x0cb19346 | ||
193 | #define WL11 0x0d7e8807 | ||
194 | #define WL12 0x0e313245 | ||
195 | #define WL13 0x0ec835e8 | ||
196 | #define WL14 0x0f426cb5 | ||
197 | #define WL15 0x0f9ee890 | ||
198 | #define WL16 0x0fdcf549 | ||
199 | #define WL17 0x0ffc19fd | ||
200 | |||
201 | |||
202 | @***************************************************************************** | ||
203 | |||
204 | |||
205 | .text | ||
206 | .align | ||
207 | |||
208 | .global III_imdct_l | ||
209 | .global _III_imdct_l | ||
210 | |||
211 | III_imdct_l: | ||
212 | _III_imdct_l: | ||
213 | |||
214 | stmdb sp!, { r2, r4 - r11, lr } @ all callee saved regs, plus arg3 | ||
215 | |||
216 | ldr r4, =K08 @ r4 = K08 | ||
217 | ldr r5, =K09 @ r5 = K09 | ||
218 | ldr r8, [r0, #X4] @ r8 = X4 | ||
219 | ldr r9, [r0, #X13] @ r9 = X13 | ||
220 | rsb r6, r4, #0 @ r6 = -K08 | ||
221 | rsb r7, r5, #0 @ r7 = -K09 | ||
222 | |||
223 | smull r2, r3, r4, r8 @ r2..r3 = (X4 * K08) | ||
224 | smlal r2, r3, r5, r9 @ r2..r3 = (X4 * K08) + (X13 * K09) = ct01 | ||
225 | |||
226 | smull r10, lr, r8, r5 @ r10..lr = (X4 * K09) | ||
227 | smlal r10, lr, r9, r6 @ r10..lr = (X4 * K09) + (X13 * -K08) = ct00 | ||
228 | |||
229 | ldr r8, [r0, #X7] @ r8 = X7 | ||
230 | ldr r9, [r0, #X16] @ r9 = X16 | ||
231 | |||
232 | stmdb sp!, { r2, r3, r10, lr } @ stack ct00_h, ct00_l, ct01_h, ct01_l | ||
233 | |||
234 | add r8, r8, r9 @ r8 = (X7 + X16) | ||
235 | ldr r9, [r0, #X1] @ r9 = X1 | ||
236 | |||
237 | smlal r2, r3, r6, r8 @ r2..r3 = ct01 + ((X7 + X16) * -K08) | ||
238 | smlal r2, r3, r7, r9 @ r2..r3 += (X1 * -K09) | ||
239 | |||
240 | ldr r7, [r0, #X10] @ r7 = X10 | ||
241 | |||
242 | rsbs r10, r10, #0 | ||
243 | rsc lr, lr, #0 @ r10..lr = -ct00 | ||
244 | |||
245 | smlal r2, r3, r5, r7 @ r2..r3 += (X10 * K09) = ct06 | ||
246 | |||
247 | smlal r10, lr, r9, r6 @ r10..lr = -ct00 + ( X1 * -K08) | ||
248 | smlal r10, lr, r8, r5 @ r10..lr += ((X7 + X16) * K09) | ||
249 | smlal r10, lr, r7, r4 @ r10..lr += ( X10 * K08) = ct04 | ||
250 | |||
251 | stmdb sp!, { r2, r3, r10, lr } @ stack ct04_h, ct04_l, ct06_h, ct06_l | ||
252 | |||
253 | @---- | ||
254 | |||
255 | ldr r7, [r0, #X0] | ||
256 | ldr r8, [r0, #X11] | ||
257 | ldr r9, [r0, #X12] | ||
258 | sub r7, r7, r8 | ||
259 | sub r7, r7, r9 @ r7 = (X0 - X11 -X12) = ct14 | ||
260 | |||
261 | ldr r9, [r0, #X3] | ||
262 | ldr r8, [r0, #X8] | ||
263 | ldr r11, [r0, #X15] | ||
264 | sub r8, r8, r9 | ||
265 | add r8, r8, r11 @ r8 = (X8 - X3 + X15) = ct16 | ||
266 | |||
267 | add r11, r7, r8 @ r11 = ct14 + ct16 = ct18 | ||
268 | |||
269 | smlal r2, r3, r6, r11 @ r2..r3 = ct06 + ((X0 - X11 - X3 + X15 + X8 - X12) * -K08) | ||
270 | |||
271 | ldr r6, [r0, #X2] | ||
272 | ldr r9, [r0, #X9] | ||
273 | ldr r12, [r0, #X14] | ||
274 | sub r6, r6, r9 | ||
275 | sub r6, r6, r12 @ r6 = (X2 - X9 - X14) = ct15 | ||
276 | |||
277 | ldr r9, [r0, #X5] | ||
278 | ldr r12, [r0, #X6] | ||
279 | sub r9, r9, r12 | ||
280 | ldr r12, [r0, #X17] | ||
281 | sub r9, r9, r12 @ r9 = (X5 - X6 - X17) = ct17 | ||
282 | |||
283 | add r12, r9, r6 @ r12 = ct15 + ct17 = ct19 | ||
284 | |||
285 | smlal r2, r3, r5, r12 @ r2..r3 += ((X2 - X9 + X5 - X6 - X17 - X14) * K09) | ||
286 | |||
287 | smlal r10, lr, r11, r5 @ r10..lr = ct04 + (ct18 * K09) | ||
288 | smlal r10, lr, r12, r4 @ r10..lr = ct04 + (ct18 * K09) + (ct19 * K08) | ||
289 | |||
290 | movs r2, r2, lsr #28 | ||
291 | adc r2, r2, r3, lsl #4 @ r2 = bits[59..28] of r2..r3 | ||
292 | str r2, [r1, #x22] @ store result x22 | ||
293 | |||
294 | movs r10, r10, lsr #28 | ||
295 | adc r10, r10, lr, lsl #4 @ r10 = bits[59..28] of r10..lr | ||
296 | str r10, [r1, #x4] @ store result x4 | ||
297 | |||
298 | @---- | ||
299 | |||
300 | ldmia sp, { r2, r3, r4, r5 } @ r2..r3 = ct06, r4..r5 = ct04 (dont update sp) | ||
301 | |||
302 | @ r2..r3 = ct06 | ||
303 | @ r4..r5 = ct04 | ||
304 | @ r6 = ct15 | ||
305 | @ r7 = ct14 | ||
306 | @ r8 = ct16 | ||
307 | @ r9 = ct17 | ||
308 | @ r10 = . | ||
309 | @ r11 = . | ||
310 | @ r12 = . | ||
311 | @ lr = . | ||
312 | |||
313 | ldr r10, =K03 @ r10 = K03 | ||
314 | ldr lr, =K15 @ lr = K15 | ||
315 | |||
316 | smlal r2, r3, r10, r7 @ r2..r3 = ct06 + (ct14 * K03) | ||
317 | smlal r4, r5, lr, r7 @ r4..r5 = ct04 + (ct14 * K15) | ||
318 | |||
319 | ldr r12, =K14 @ r12 = K14 | ||
320 | rsb r10, r10, #0 @ r10 = -K03 | ||
321 | |||
322 | smlal r2, r3, lr, r6 @ r2..r3 += (ct15 * K15) | ||
323 | smlal r4, r5, r10, r6 @ r4..r5 += (ct15 * -K03) | ||
324 | smlal r2, r3, r12, r8 @ r2..r3 += (ct16 * K14) | ||
325 | |||
326 | ldr r11, =minus_K02 @ r11 = -K02 | ||
327 | rsb r12, r12, #0 @ r12 = -K14 | ||
328 | |||
329 | smlal r4, r5, r12, r9 @ r4..r5 += (ct17 * -K14) | ||
330 | smlal r2, r3, r11, r9 @ r2..r3 += (ct17 * -K02) | ||
331 | smlal r4, r5, r11, r8 @ r4..r5 += (ct16 * -K02) | ||
332 | |||
333 | movs r2, r2, lsr #28 | ||
334 | adc r2, r2, r3, lsl #4 @ r2 = bits[59..28] of r2..r3 | ||
335 | str r2, [r1, #x7] @ store result x7 | ||
336 | |||
337 | movs r4, r4, lsr #28 | ||
338 | adc r4, r4, r5, lsl #4 @ r4 = bits[59..28] of r4..r5 | ||
339 | str r4, [r1, #x1] @ store result x1 | ||
340 | |||
341 | @---- | ||
342 | |||
343 | ldmia sp, { r2, r3, r4, r5 } @ r2..r3 = ct06, r4..r5 = ct04 (dont update sp) | ||
344 | |||
345 | @ r2..r3 = ct06 | ||
346 | @ r4..r5 = ct04 | ||
347 | @ r6 = ct15 | ||
348 | @ r7 = ct14 | ||
349 | @ r8 = ct16 | ||
350 | @ r9 = ct17 | ||
351 | @ r10 = -K03 | ||
352 | @ r11 = -K02 | ||
353 | @ r12 = -K14 | ||
354 | @ lr = K15 | ||
355 | |||
356 | rsbs r2, r2, #0 | ||
357 | rsc r3, r3, #0 @ r2..r3 = -ct06 | ||
358 | |||
359 | smlal r2, r3, r12, r7 @ r2..r3 = -ct06 + (ct14 * -K14) | ||
360 | smlal r2, r3, r10, r8 @ r2..r3 += (ct16 * -K03) | ||
361 | |||
362 | smlal r4, r5, r12, r6 @ r4..r5 = ct04 + (ct15 * -K14) | ||
363 | smlal r4, r5, r10, r9 @ r4..r5 += (ct17 * -K03) | ||
364 | smlal r4, r5, lr, r8 @ r4..r5 += (ct16 * K15) | ||
365 | smlal r4, r5, r11, r7 @ r4..r5 += (ct14 * -K02) | ||
366 | |||
367 | rsb lr, lr, #0 @ lr = -K15 | ||
368 | rsb r11, r11, #0 @ r11 = K02 | ||
369 | |||
370 | smlal r2, r3, lr, r9 @ r2..r3 += (ct17 * -K15) | ||
371 | smlal r2, r3, r11, r6 @ r2..r3 += (ct15 * K02) | ||
372 | |||
373 | movs r4, r4, lsr #28 | ||
374 | adc r4, r4, r5, lsl #4 @ r4 = bits[59..28] of r4..r5 | ||
375 | str r4, [r1, #x25] @ store result x25 | ||
376 | |||
377 | movs r2, r2, lsr #28 | ||
378 | adc r2, r2, r3, lsl #4 @ r2 = bits[59..28] of r2..r3 | ||
379 | str r2, [r1, #x19] @ store result x19 | ||
380 | |||
381 | @---- | ||
382 | |||
383 | ldr r2, [sp, #16] @ r2 = ct01_l | ||
384 | ldr r3, [sp, #20] @ r3 = ct01_h | ||
385 | |||
386 | ldr r6, [r0, #X1] | ||
387 | ldr r8, [r0, #X7] | ||
388 | ldr r9, [r0, #X10] | ||
389 | ldr r7, [r0, #X16] | ||
390 | |||
391 | rsbs r2, r2, #0 | ||
392 | rsc r3, r3, #0 @ r2..r3 = -ct01 | ||
393 | |||
394 | mov r4, r2 | ||
395 | mov r5, r3 @ r4..r5 = -ct01 | ||
396 | |||
397 | @ r2..r3 = -ct01 | ||
398 | @ r4..r5 = -ct01 | ||
399 | @ r6 = X1 | ||
400 | @ r7 = X16 | ||
401 | @ r8 = X7 | ||
402 | @ r9 = X10 | ||
403 | @ r10 = -K03 | ||
404 | @ r11 = K02 | ||
405 | @ r12 = -K14 | ||
406 | @ lr = -K15 | ||
407 | |||
408 | smlal r4, r5, r12, r7 @ r4..r5 = -ct01 + (X16 * -K14) | ||
409 | smlal r2, r3, lr, r9 @ r2..r3 = -ct01 + (X10 * -K15) | ||
410 | |||
411 | smlal r4, r5, r10, r8 @ r4..r5 += (X7 * -K03) | ||
412 | smlal r2, r3, r10, r7 @ r2..r3 += (X16 * -K03) | ||
413 | |||
414 | smlal r4, r5, r11, r9 @ r4..r5 += (X10 * K02) | ||
415 | smlal r2, r3, r12, r8 @ r2..r3 += (X7 * -K14) | ||
416 | |||
417 | rsb lr, lr, #0 @ lr = K15 | ||
418 | rsb r11, r11, #0 @ r11 = -K02 | ||
419 | |||
420 | smlal r4, r5, lr, r6 @ r4..r5 += (X1 * K15) = ct05 | ||
421 | smlal r2, r3, r11, r6 @ r2..r3 += (X1 * -K02) = ct03 | ||
422 | |||
423 | stmdb sp!, { r2, r3, r4, r5 } @ stack ct05_h, ct05_l, ct03_h, ct03_l | ||
424 | |||
425 | rsbs r4, r4, #0 | ||
426 | rsc r5, r5, #0 @ r4..r5 = -ct05 | ||
427 | |||
428 | stmdb sp!, { r4, r5 } @ stack -ct05_h, -ct05_l | ||
429 | |||
430 | ldr r2, [sp, #48] @ r2 = ct00_l | ||
431 | ldr r3, [sp, #52] @ r3 = ct00_h | ||
432 | |||
433 | rsb r10, r10, #0 @ r10 = K03 | ||
434 | |||
435 | rsbs r4, r2, #0 | ||
436 | rsc r5, r3, #0 @ r4..r5 = -ct00 | ||
437 | |||
438 | @ r2..r3 = ct00 | ||
439 | @ r4..r5 = -ct00 | ||
440 | @ r6 = X1 | ||
441 | @ r7 = X16 | ||
442 | @ r8 = X7 | ||
443 | @ r9 = X10 | ||
444 | @ r10 = K03 | ||
445 | @ r11 = -K02 | ||
446 | @ r12 = -K14 | ||
447 | @ lr = K15 | ||
448 | |||
449 | smlal r4, r5, r10, r6 @ r4..r5 = -ct00 + (X1 * K03) | ||
450 | smlal r2, r3, r10, r9 @ r2..r3 = ct00 + (X10 * K03) | ||
451 | |||
452 | smlal r4, r5, r12, r9 @ r4..r5 += (X10 * -K14) | ||
453 | smlal r2, r3, r12, r6 @ r2..r3 += (X1 * -K14) | ||
454 | |||
455 | smlal r4, r5, r11, r7 @ r4..r5 += (X16 * -K02) | ||
456 | smlal r4, r5, lr, r8 @ r4..r5 += (X7 * K15) = ct07 | ||
457 | |||
458 | rsb lr, lr, #0 @ lr = -K15 | ||
459 | rsb r11, r11, #0 @ r11 = K02 | ||
460 | |||
461 | smlal r2, r3, r11, r8 @ r2..r3 += (X7 * K02) | ||
462 | smlal r2, r3, lr, r7 @ r2..r3 += (X16 * -K15) = ct02 | ||
463 | |||
464 | rsbs r6, r4, #0 | ||
465 | rsc r7, r5, #0 @ r6..r7 = -ct07 | ||
466 | |||
467 | stmdb sp!, { r2 - r7 } @ stack -ct07_h, -ct07_l, ct07_h, ct07_l, ct02_h, ct02_l | ||
468 | |||
469 | |||
470 | @---- | ||
471 | |||
472 | add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) | ||
473 | |||
474 | |||
475 | loop: | ||
476 | ldr r12, [r0, #X0] | ||
477 | |||
478 | ldmia r2!, { r5 - r11 } @ first 7 words from Karray element | ||
479 | |||
480 | smull r3, r4, r5, r12 @ sum = (Kxx * X0) | ||
481 | ldr r12, [r0, #X2] | ||
482 | ldr r5, [r0, #X3] | ||
483 | smlal r3, r4, r6, r12 @ sum += (Kxx * X2) | ||
484 | ldr r12, [r0, #X5] | ||
485 | ldr r6, [r0, #X6] | ||
486 | smlal r3, r4, r7, r5 @ sum += (Kxx * X3) | ||
487 | smlal r3, r4, r8, r12 @ sum += (Kxx * X5) | ||
488 | ldr r12, [r0, #X8] | ||
489 | ldr r5, [r0, #X9] | ||
490 | smlal r3, r4, r9, r6 @ sum += (Kxx * X6) | ||
491 | smlal r3, r4, r10, r12 @ sum += (Kxx * X8) | ||
492 | smlal r3, r4, r11, r5 @ sum += (Kxx * X9) | ||
493 | |||
494 | ldmia r2!, { r5 - r10 } @ final 6 words from Karray element | ||
495 | |||
496 | ldr r11, [r0, #X11] | ||
497 | ldr r12, [r0, #X12] | ||
498 | smlal r3, r4, r5, r11 @ sum += (Kxx * X11) | ||
499 | ldr r11, [r0, #X14] | ||
500 | ldr r5, [r0, #X15] | ||
501 | smlal r3, r4, r6, r12 @ sum += (Kxx * X12) | ||
502 | smlal r3, r4, r7, r11 @ sum += (Kxx * X14) | ||
503 | ldr r11, [r0, #X17] | ||
504 | smlal r3, r4, r8, r5 @ sum += (Kxx * X15) | ||
505 | smlal r3, r4, r9, r11 @ sum += (Kxx * X17) | ||
506 | |||
507 | add r5, sp, r10, lsr #16 @ create index back into stack for required ctxx | ||
508 | |||
509 | ldmia r5, { r6, r7 } @ r6..r7 = ctxx | ||
510 | |||
511 | mov r8, r10, lsl #16 @ push ctxx index off the top end | ||
512 | |||
513 | adds r3, r3, r6 @ add low words | ||
514 | adc r4, r4, r7 @ add high words, with carry | ||
515 | movs r3, r3, lsr #28 | ||
516 | adc r3, r3, r4, lsl #4 @ r3 = bits[59..28] of r3..r4 | ||
517 | |||
518 | str r3, [r1, r8, lsr #24] @ push completion flag off the bottom end | ||
519 | |||
520 | movs r8, r8, lsl #8 @ push result location index off the top end | ||
521 | beq loop @ loop back if completion flag not set | ||
522 | b imdct_l_windowing @ branch to windowing stage if looping finished | ||
523 | |||
524 | imdct36_long_karray: | ||
525 | |||
526 | .word K17, -K13, K10, -K06, -K05, K01, -K00, K04, -K07, K11, K12, -K16, 0x00000000 | ||
527 | .word K13, K07, K16, K01, K10, -K05, K04, -K11, K00, -K17, K06, -K12, 0x00200800 | ||
528 | .word K11, K17, K05, K12, -K01, K06, -K07, K00, -K13, K04, -K16, K10, 0x00200c00 | ||
529 | .word K07, K00, -K12, K05, -K16, -K10, K11, -K17, K04, K13, K01, K06, 0x00001400 | ||
530 | .word K05, K10, -K00, -K17, K07, -K13, K12, K06, -K16, K01, -K11, -K04, 0x00181800 | ||
531 | .word K01, K05, -K07, -K11, K13, K17, -K16, -K12, K10, K06, -K04, -K00, 0x00102000 | ||
532 | .word -K16, K12, -K11, K07, K04, -K00, -K01, K05, -K06, K10, K13, -K17, 0x00284800 | ||
533 | .word -K12, K06, K17, -K00, -K11, K04, K05, -K10, K01, K16, -K07, -K13, 0x00085000 | ||
534 | .word -K10, K16, K04, -K13, -K00, K07, K06, -K01, -K12, -K05, K17, K11, 0x00105400 | ||
535 | .word -K06, -K01, K13, K04, K17, -K11, -K10, -K16, -K05, K12, K00, K07, 0x00185c00 | ||
536 | .word -K04, -K11, -K01, K16, K06, K12, K13, -K07, -K17, -K00, -K10, -K05, 0x00006000 | ||
537 | .word -K00, -K04, -K06, -K10, -K12, -K16, -K17, -K13, -K11, -K07, -K05, -K01, 0x00206801 | ||
538 | |||
539 | |||
540 | @---- | ||
541 | @------------------------------------------------------------------------- | ||
542 | @---- | ||
543 | |||
544 | imdct_l_windowing: | ||
545 | |||
546 | ldr r11, [sp, #80] @ fetch function parameter 3 from out of the stack | ||
547 | ldmia r1!, { r0, r2 - r9 } @ load 9 words from x0, update pointer | ||
548 | |||
549 | @ r0 = x0 | ||
550 | @ r1 = &x[9] | ||
551 | @ r2 = x1 | ||
552 | @ r3 = x2 | ||
553 | @ r4 = x3 | ||
554 | @ r5 = x4 | ||
555 | @ r6 = x5 | ||
556 | @ r7 = x6 | ||
557 | @ r8 = x7 | ||
558 | @ r9 = x8 | ||
559 | @ r10 = . | ||
560 | @ r11 = window mode: (0 == normal), (1 == start block), (3 == stop block) | ||
561 | @ r12 = . | ||
562 | @ lr = . | ||
563 | |||
564 | cmp r11, #BLOCK_MODE_STOP @ setup flags | ||
565 | rsb r10, r0, #0 @ r10 = -x0 (DONT change flags !!) | ||
566 | beq stop_block_x0_to_x17 | ||
567 | |||
568 | |||
569 | @ start and normal blocks are treated the same for x[0]..x[17] | ||
570 | |||
571 | normal_block_x0_to_x17: | ||
572 | |||
573 | ldr r12, =WL9 @ r12 = window_l[9] | ||
574 | |||
575 | rsb r0, r9, #0 @ r0 = -x8 | ||
576 | rsb r9, r2, #0 @ r9 = -x1 | ||
577 | rsb r2, r8, #0 @ r2 = -x7 | ||
578 | rsb r8, r3, #0 @ r8 = -x2 | ||
579 | rsb r3, r7, #0 @ r3 = -x6 | ||
580 | rsb r7, r4, #0 @ r7 = -x3 | ||
581 | rsb r4, r6, #0 @ r4 = -x5 | ||
582 | rsb r6, r5, #0 @ r6 = -x4 | ||
583 | |||
584 | @ r0 = -x8 | ||
585 | @ r1 = &x[9] | ||
586 | @ r2 = -x7 | ||
587 | @ r3 = -x6 | ||
588 | @ r4 = -x5 | ||
589 | @ r5 = . | ||
590 | @ r6 = -x4 | ||
591 | @ r7 = -x3 | ||
592 | @ r8 = -x2 | ||
593 | @ r9 = -x1 | ||
594 | @ r10 = -x0 | ||
595 | @ r11 = window mode: (0 == normal), (1 == start block), (3 == stop block) | ||
596 | @ r12 = window_l[9] | ||
597 | @ lr = . | ||
598 | |||
599 | smull r5, lr, r12, r0 @ r5..lr = (window_l[9] * (x[9] == -x[8])) | ||
600 | ldr r12, =WL10 @ r12 = window_l[10] | ||
601 | movs r5, r5, lsr #28 | ||
602 | adc r0, r5, lr, lsl #4 @ r0 = bits[59..28] of windowed x9 | ||
603 | |||
604 | smull r5, lr, r12, r2 @ r5..lr = (window_l[10] * (x[10] == -x[7])) | ||
605 | ldr r12, =WL11 @ r12 = window_l[11] | ||
606 | movs r5, r5, lsr #28 | ||
607 | adc r2, r5, lr, lsl #4 @ r2 = bits[59..28] of windowed x10 | ||
608 | |||
609 | smull r5, lr, r12, r3 @ r5..lr = (window_l[11] * (x[11] == -x[6])) | ||
610 | ldr r12, =WL12 @ r12 = window_l[12] | ||
611 | movs r5, r5, lsr #28 | ||
612 | adc r3, r5, lr, lsl #4 @ r3 = bits[59..28] of windowed x11 | ||
613 | |||
614 | smull r5, lr, r12, r4 @ r5..lr = (window_l[12] * (x[12] == -x[5])) | ||
615 | ldr r12, =WL13 @ r12 = window_l[13] | ||
616 | movs r5, r5, lsr #28 | ||
617 | adc r4, r5, lr, lsl #4 @ r4 = bits[59..28] of windowed x12 | ||
618 | |||
619 | smull r5, lr, r12, r6 @ r5..lr = (window_l[13] * (x[13] == -x[4])) | ||
620 | ldr r12, =WL14 @ r12 = window_l[14] | ||
621 | movs r5, r5, lsr #28 | ||
622 | adc r6, r5, lr, lsl #4 @ r6 = bits[59..28] of windowed x13 | ||
623 | |||
624 | smull r5, lr, r12, r7 @ r5..lr = (window_l[14] * (x[14] == -x[3])) | ||
625 | ldr r12, =WL15 @ r12 = window_l[15] | ||
626 | movs r5, r5, lsr #28 | ||
627 | adc r7, r5, lr, lsl #4 @ r7 = bits[59..28] of windowed x14 | ||
628 | |||
629 | smull r5, lr, r12, r8 @ r5..lr = (window_l[15] * (x[15] == -x[2])) | ||
630 | ldr r12, =WL16 @ r12 = window_l[16] | ||
631 | movs r5, r5, lsr #28 | ||
632 | adc r8, r5, lr, lsl #4 @ r8 = bits[59..28] of windowed x15 | ||
633 | |||
634 | smull r5, lr, r12, r9 @ r5..lr = (window_l[16] * (x[16] == -x[1])) | ||
635 | ldr r12, =WL17 @ r12 = window_l[17] | ||
636 | movs r5, r5, lsr #28 | ||
637 | adc r9, r5, lr, lsl #4 @ r9 = bits[59..28] of windowed x16 | ||
638 | |||
639 | smull r5, lr, r12, r10 @ r5..lr = (window_l[17] * (x[17] == -x[0])) | ||
640 | ldr r12, =WL0 @ r12 = window_l[0] | ||
641 | movs r5, r5, lsr #28 | ||
642 | adc r10, r5, lr, lsl #4 @ r10 = bits[59..28] of windowed x17 | ||
643 | |||
644 | |||
645 | stmia r1, { r0, r2 - r4, r6 - r10 } @ store windowed x[9] .. x[17] | ||
646 | ldmdb r1!, { r0, r2 - r9 } @ load 9 words downto (and including) x0 | ||
647 | |||
648 | |||
649 | smull r10, lr, r12, r0 @ r10..lr = (window_l[0] * x[0]) | ||
650 | ldr r12, =WL1 @ r12 = window_l[1] | ||
651 | movs r10, r10, lsr #28 | ||
652 | adc r0, r10, lr, lsl #4 @ r0 = bits[59..28] of windowed x0 | ||
653 | |||
654 | smull r10, lr, r12, r2 @ r10..lr = (window_l[1] * x[1]) | ||
655 | ldr r12, =WL2 @ r12 = window_l[2] | ||
656 | movs r10, r10, lsr #28 | ||
657 | adc r2, r10, lr, lsl #4 @ r2 = bits[59..28] of windowed x1 | ||
658 | |||
659 | smull r10, lr, r12, r3 @ r10..lr = (window_l[2] * x[2]) | ||
660 | ldr r12, =WL3 @ r12 = window_l[3] | ||
661 | movs r10, r10, lsr #28 | ||
662 | adc r3, r10, lr, lsl #4 @ r3 = bits[59..28] of windowed x2 | ||
663 | |||
664 | smull r10, lr, r12, r4 @ r10..lr = (window_l[3] * x[3]) | ||
665 | ldr r12, =WL4 @ r12 = window_l[4] | ||
666 | movs r10, r10, lsr #28 | ||
667 | adc r4, r10, lr, lsl #4 @ r4 = bits[59..28] of windowed x3 | ||
668 | |||
669 | smull r10, lr, r12, r5 @ r10..lr = (window_l[4] * x[4]) | ||
670 | ldr r12, =WL5 @ r12 = window_l[5] | ||
671 | movs r10, r10, lsr #28 | ||
672 | adc r5, r10, lr, lsl #4 @ r5 = bits[59..28] of windowed x4 | ||
673 | |||
674 | smull r10, lr, r12, r6 @ r10..lr = (window_l[5] * x[5]) | ||
675 | ldr r12, =WL6 @ r12 = window_l[6] | ||
676 | movs r10, r10, lsr #28 | ||
677 | adc r6, r10, lr, lsl #4 @ r6 = bits[59..28] of windowed x5 | ||
678 | |||
679 | smull r10, lr, r12, r7 @ r10..lr = (window_l[6] * x[6]) | ||
680 | ldr r12, =WL7 @ r12 = window_l[7] | ||
681 | movs r10, r10, lsr #28 | ||
682 | adc r7, r10, lr, lsl #4 @ r7 = bits[59..28] of windowed x6 | ||
683 | |||
684 | smull r10, lr, r12, r8 @ r10..lr = (window_l[7] * x[7]) | ||
685 | ldr r12, =WL8 @ r12 = window_l[8] | ||
686 | movs r10, r10, lsr #28 | ||
687 | adc r8, r10, lr, lsl #4 @ r8 = bits[59..28] of windowed x7 | ||
688 | |||
689 | smull r10, lr, r12, r9 @ r10..lr = (window_l[8] * x[8]) | ||
690 | movs r10, r10, lsr #28 | ||
691 | adc r9, r10, lr, lsl #4 @ r9 = bits[59..28] of windowed x8 | ||
692 | |||
693 | stmia r1, { r0, r2 - r9 } @ store windowed x[0] .. x[8] | ||
694 | |||
695 | cmp r11, #BLOCK_MODE_START | ||
696 | beq start_block_x18_to_x35 | ||
697 | |||
698 | |||
699 | @---- | ||
700 | |||
701 | |||
702 | normal_block_x18_to_x35: | ||
703 | |||
704 | ldr r11, =WL3 @ r11 = window_l[3] | ||
705 | ldr r12, =WL4 @ r12 = window_l[4] | ||
706 | |||
707 | add r1, r1, #(18*4) @ r1 = &x[18] | ||
708 | |||
709 | ldmia r1!, { r0, r2 - r4, r6 - r10 } @ load 9 words from x18, update pointer | ||
710 | |||
711 | @ r0 = x18 | ||
712 | @ r1 = &x[27] | ||
713 | @ r2 = x19 | ||
714 | @ r3 = x20 | ||
715 | @ r4 = x21 | ||
716 | @ r5 = . | ||
717 | @ r6 = x22 | ||
718 | @ r7 = x23 | ||
719 | @ r8 = x24 | ||
720 | @ r9 = x25 | ||
721 | @ r10 = x26 | ||
722 | @ r11 = window_l[3] | ||
723 | @ r12 = window_l[4] | ||
724 | @ lr = . | ||
725 | |||
726 | smull r5, lr, r12, r6 @ r5..lr = (window_l[4] * (x[22] == x[31])) | ||
727 | movs r5, r5, lsr #28 | ||
728 | adc r5, r5, lr, lsl #4 @ r5 = bits[59..28] of windowed x31 | ||
729 | |||
730 | smull r6, lr, r11, r4 @ r5..lr = (window_l[3] * (x[21] == x[32])) | ||
731 | ldr r12, =WL5 @ r12 = window_l[5] | ||
732 | movs r6, r6, lsr #28 | ||
733 | adc r6, r6, lr, lsl #4 @ r6 = bits[59..28] of windowed x32 | ||
734 | |||
735 | smull r4, lr, r12, r7 @ r4..lr = (window_l[5] * (x[23] == x[30])) | ||
736 | ldr r11, =WL1 @ r11 = window_l[1] | ||
737 | ldr r12, =WL2 @ r12 = window_l[2] | ||
738 | movs r4, r4, lsr #28 | ||
739 | adc r4, r4, lr, lsl #4 @ r4 = bits[59..28] of windowed x30 | ||
740 | |||
741 | smull r7, lr, r12, r3 @ r7..lr = (window_l[2] * (x[20] == x[33])) | ||
742 | ldr r12, =WL6 @ r12 = window_l[6] | ||
743 | movs r7, r7, lsr #28 | ||
744 | adc r7, r7, lr, lsl #4 @ r7 = bits[59..28] of windowed x33 | ||
745 | |||
746 | smull r3, lr, r12, r8 @ r3..lr = (window_l[6] * (x[24] == x[29])) | ||
747 | movs r3, r3, lsr #28 | ||
748 | adc r3, r3, lr, lsl #4 @ r3 = bits[59..28] of windowed x29 | ||
749 | |||
750 | smull r8, lr, r11, r2 @ r7..lr = (window_l[1] * (x[19] == x[34])) | ||
751 | ldr r12, =WL7 @ r12 = window_l[7] | ||
752 | ldr r11, =WL8 @ r11 = window_l[8] | ||
753 | movs r8, r8, lsr #28 | ||
754 | adc r8, r8, lr, lsl #4 @ r8 = bits[59..28] of windowed x34 | ||
755 | |||
756 | smull r2, lr, r12, r9 @ r7..lr = (window_l[7] * (x[25] == x[28])) | ||
757 | ldr r12, =WL0 @ r12 = window_l[0] | ||
758 | movs r2, r2, lsr #28 | ||
759 | adc r2, r2, lr, lsl #4 @ r2 = bits[59..28] of windowed x28 | ||
760 | |||
761 | smull r9, lr, r12, r0 @ r3..lr = (window_l[0] * (x[18] == x[35])) | ||
762 | movs r9, r9, lsr #28 | ||
763 | adc r9, r9, lr, lsl #4 @ r9 = bits[59..28] of windowed x35 | ||
764 | |||
765 | smull r0, lr, r11, r10 @ r7..lr = (window_l[8] * (x[26] == x[27])) | ||
766 | ldr r11, =WL16 @ r11 = window_l[16] | ||
767 | ldr r12, =WL17 @ r12 = window_l[17] | ||
768 | movs r0, r0, lsr #28 | ||
769 | adc r0, r0, lr, lsl #4 @ r0 = bits[59..28] of windowed x27 | ||
770 | |||
771 | |||
772 | stmia r1, { r0, r2 - r9 } @ store windowed x[27] .. x[35] | ||
773 | ldmdb r1!, { r0, r2 - r9 } @ load 9 words downto (and including) x18 | ||
774 | |||
775 | |||
776 | smull r10, lr, r12, r0 @ r10..lr = (window_l[17] * x[18]) | ||
777 | movs r10, r10, lsr #28 | ||
778 | adc r0, r10, lr, lsl #4 @ r0 = bits[59..28] of windowed x0 | ||
779 | |||
780 | smull r10, lr, r11, r2 @ r10..lr = (window_l[16] * x[19]) | ||
781 | ldr r11, =WL14 @ r11 = window_l[14] | ||
782 | ldr r12, =WL15 @ r12 = window_l[15] | ||
783 | movs r10, r10, lsr #28 | ||
784 | adc r2, r10, lr, lsl #4 @ r2 = bits[59..28] of windowed x1 | ||
785 | |||
786 | smull r10, lr, r12, r3 @ r10..lr = (window_l[15] * x[20]) | ||
787 | movs r10, r10, lsr #28 | ||
788 | adc r3, r10, lr, lsl #4 @ r3 = bits[59..28] of windowed x2 | ||
789 | |||
790 | smull r10, lr, r11, r4 @ r10..lr = (window_l[14] * x[21]) | ||
791 | ldr r11, =WL12 @ r11 = window_l[12] | ||
792 | ldr r12, =WL13 @ r12 = window_l[13] | ||
793 | movs r10, r10, lsr #28 | ||
794 | adc r4, r10, lr, lsl #4 @ r4 = bits[59..28] of windowed x3 | ||
795 | |||
796 | smull r10, lr, r12, r5 @ r10..lr = (window_l[13] * x[22]) | ||
797 | movs r10, r10, lsr #28 | ||
798 | adc r5, r10, lr, lsl #4 @ r5 = bits[59..28] of windowed x4 | ||
799 | |||
800 | smull r10, lr, r11, r6 @ r10..lr = (window_l[12] * x[23]) | ||
801 | ldr r11, =WL10 @ r12 = window_l[10] | ||
802 | ldr r12, =WL11 @ r12 = window_l[11] | ||
803 | movs r10, r10, lsr #28 | ||
804 | adc r6, r10, lr, lsl #4 @ r6 = bits[59..28] of windowed x5 | ||
805 | |||
806 | smull r10, lr, r12, r7 @ r10..lr = (window_l[11] * x[24]) | ||
807 | movs r10, r10, lsr #28 | ||
808 | adc r7, r10, lr, lsl #4 @ r7 = bits[59..28] of windowed x6 | ||
809 | |||
810 | smull r10, lr, r11, r8 @ r10..lr = (window_l[10] * x[25]) | ||
811 | ldr r12, =WL9 @ r12 = window_l[9] | ||
812 | movs r10, r10, lsr #28 | ||
813 | adc r8, r10, lr, lsl #4 @ r8 = bits[59..28] of windowed x7 | ||
814 | |||
815 | smull r10, lr, r12, r9 @ r10..lr = (window_l[9] * x[26]) | ||
816 | |||
817 | movs r10, r10, lsr #28 | ||
818 | adc r9, r10, lr, lsl #4 @ r9 = bits[59..28] of windowed x8 | ||
819 | |||
820 | stmia r1, { r0, r2 - r9 } @ store windowed x[18] .. x[26] | ||
821 | |||
822 | @---- | ||
823 | @ NB there are 2 possible exits from this function - this is only one of them | ||
824 | @---- | ||
825 | |||
826 | add sp, sp, #(21*4) @ return stack frame | ||
827 | ldmpc regs=r4-r11 @ restore callee saved regs, and return | ||
828 | |||
829 | @---- | ||
830 | |||
831 | |||
832 | stop_block_x0_to_x17: | ||
833 | |||
834 | @ r0 = x0 | ||
835 | @ r1 = &x[9] | ||
836 | @ r2 = x1 | ||
837 | @ r3 = x2 | ||
838 | @ r4 = x3 | ||
839 | @ r5 = x4 | ||
840 | @ r6 = x5 | ||
841 | @ r7 = x6 | ||
842 | @ r8 = x7 | ||
843 | @ r9 = x8 | ||
844 | @ r10 = -x0 | ||
845 | @ r11 = window mode: (0 == normal), (1 == start block), (3 == stop block) | ||
846 | @ r12 = . | ||
847 | @ lr = . | ||
848 | |||
849 | rsb r0, r6, #0 @ r0 = -x5 | ||
850 | rsb r6, r2, #0 @ r6 = -x1 | ||
851 | rsb r2, r5, #0 @ r2 = -x4 | ||
852 | rsb r5, r3, #0 @ r5 = -x2 | ||
853 | rsb r3, r4, #0 @ r3 = -x3 | ||
854 | |||
855 | add r1, r1, #(3*4) @ r1 = &x[12] | ||
856 | stmia r1, { r0, r2, r3, r5, r6, r10 } @ store unchanged x[12] .. x[17] | ||
857 | |||
858 | ldr r0, =WL1 @ r0 = window_l[1] == window_s[0] | ||
859 | |||
860 | rsb r10, r9, #0 @ r10 = -x8 | ||
861 | rsb r12, r8, #0 @ r12 = -x7 | ||
862 | rsb lr, r7, #0 @ lr = -x6 | ||
863 | |||
864 | @ r0 = WL1 | ||
865 | @ r1 = &x[12] | ||
866 | @ r2 = . | ||
867 | @ r3 = . | ||
868 | @ r4 = . | ||
869 | @ r5 = . | ||
870 | @ r6 = . | ||
871 | @ r7 = x6 | ||
872 | @ r8 = x7 | ||
873 | @ r9 = x8 | ||
874 | @ r10 = -x8 | ||
875 | @ r11 = window mode: (0 == normal), (1 == start block), (3 == stop block) | ||
876 | @ r12 = -x7 | ||
877 | @ lr = -x6 | ||
878 | |||
879 | smull r5, r6, r0, r7 @ r5..r6 = (window_l[1] * x[6]) | ||
880 | ldr r2, =WL4 @ r2 = window_l[4] == window_s[1] | ||
881 | movs r5, r5, lsr #28 | ||
882 | adc r7, r5, r6, lsl #4 @ r7 = bits[59..28] of windowed x6 | ||
883 | |||
884 | smull r5, r6, r2, r8 @ r5..r6 = (window_l[4] * x[7]) | ||
885 | ldr r3, =WL7 @ r3 = window_l[7] == window_s[2] | ||
886 | movs r5, r5, lsr #28 | ||
887 | adc r8, r5, r6, lsl #4 @ r8 = bits[59..28] of windowed x7 | ||
888 | |||
889 | smull r5, r6, r3, r9 @ r5..r6 = (window_l[7] * x[8]) | ||
890 | ldr r4, =WL10 @ r4 = window_l[10] == window_s[3] | ||
891 | movs r5, r5, lsr #28 | ||
892 | adc r9, r5, r6, lsl #4 @ r9 = bits[59..28] of windowed x8 | ||
893 | |||
894 | smull r5, r6, r4, r10 @ r5..r6 = (window_l[10] * (x[9] == -x[8])) | ||
895 | ldr r0, =WL13 @ r0 = window_l[13] == window_s[4] | ||
896 | movs r5, r5, lsr #28 | ||
897 | adc r10, r5, r6, lsl #4 @ r10 = bits[59..28] of windowed x9 | ||
898 | |||
899 | smull r5, r6, r0, r12 @ r5..r6 = (window_l[13] * (x[10] == -x[7])) | ||
900 | ldr r2, =WL16 @ r2 = window_l[16] == window_s[5] | ||
901 | movs r5, r5, lsr #28 | ||
902 | adc r12, r5, r6, lsl #4 @ r10 = bits[59..28] of windowed x9 | ||
903 | |||
904 | smull r5, r6, r2, lr @ r5..r6 = (window_l[16] * (x[11] == -x[6])) | ||
905 | |||
906 | ldr r0, =0x00 | ||
907 | |||
908 | movs r5, r5, lsr #28 | ||
909 | adc lr, r5, r6, lsl #4 @ r10 = bits[59..28] of windowed x9 | ||
910 | |||
911 | stmdb r1!, { r7 - r10, r12, lr } @ store windowed x[6] .. x[11] | ||
912 | |||
913 | ldr r5, =0x00 | ||
914 | ldr r6, =0x00 | ||
915 | ldr r2, =0x00 | ||
916 | ldr r3, =0x00 | ||
917 | ldr r4, =0x00 | ||
918 | |||
919 | stmdb r1!, { r0, r2 - r6 } @ store windowed x[0] .. x[5] | ||
920 | |||
921 | b normal_block_x18_to_x35 | ||
922 | |||
923 | |||
924 | @---- | ||
925 | |||
926 | |||
927 | start_block_x18_to_x35: | ||
928 | |||
929 | ldr r4, =WL1 @ r0 = window_l[1] == window_s[0] | ||
930 | |||
931 | add r1, r1, #(24*4) @ r1 = &x[24] | ||
932 | |||
933 | ldmia r1, { r0, r2, r3 } @ load 3 words from x24, dont update pointer | ||
934 | |||
935 | @ r0 = x24 | ||
936 | @ r1 = &x[24] | ||
937 | @ r2 = x25 | ||
938 | @ r3 = x26 | ||
939 | @ r4 = WL1 | ||
940 | @ r5 = WL4 | ||
941 | @ r6 = WL7 | ||
942 | @ r7 = WL10 | ||
943 | @ r8 = WL13 | ||
944 | @ r9 = WL16 | ||
945 | @ r10 = . | ||
946 | @ r11 = . | ||
947 | @ r12 = . | ||
948 | @ lr = . | ||
949 | |||
950 | ldr r5, =WL4 @ r5 = window_l[4] == window_s[1] | ||
951 | |||
952 | smull r10, r11, r4, r0 @ r10..r11 = (window_l[1] * (x[24] == x[29])) | ||
953 | ldr r6, =WL7 @ r6 = window_l[7] == window_s[2] | ||
954 | movs r10, r10, lsr #28 | ||
955 | adc lr, r10, r11, lsl #4 @ lr = bits[59..28] of windowed x29 | ||
956 | |||
957 | smull r10, r11, r5, r2 @ r10..r11 = (window_l[4] * (x[25] == x[28])) | ||
958 | ldr r7, =WL10 @ r7 = window_l[10] == window_s[3] | ||
959 | movs r10, r10, lsr #28 | ||
960 | adc r12, r10, r11, lsl #4 @ r12 = bits[59..28] of windowed x28 | ||
961 | |||
962 | smull r10, r11, r6, r3 @ r10..r11 = (window_l[7] * (x[26] == x[27])) | ||
963 | ldr r8, =WL13 @ r8 = window_l[13] == window_s[4] | ||
964 | movs r10, r10, lsr #28 | ||
965 | adc r4, r10, r11, lsl #4 @ r4 = bits[59..28] of windowed x27 | ||
966 | |||
967 | smull r10, r11, r7, r3 @ r10..r11 = (window_l[10] * x[26]) | ||
968 | ldr r9, =WL16 @ r9 = window_l[16] == window_s[5] | ||
969 | movs r10, r10, lsr #28 | ||
970 | adc r3, r10, r11, lsl #4 @ r3 = bits[59..28] of windowed x26 | ||
971 | |||
972 | smull r10, r11, r8, r2 @ r10..r11 = (window_l[13] * x[25]) | ||
973 | ldr r5, =0x00 | ||
974 | movs r10, r10, lsr #28 | ||
975 | adc r2, r10, r11, lsl #4 @ r2 = bits[59..28] of windowed x25 | ||
976 | |||
977 | smull r10, r11, r9, r0 @ r10..r11 = (window_l[16] * x[24]) | ||
978 | ldr r6, =0x00 | ||
979 | movs r10, r10, lsr #28 | ||
980 | adc r0, r10, r11, lsl #4 @ r0 = bits[59..28] of windowed x24 | ||
981 | |||
982 | stmia r1!, { r0, r2, r3, r4, r12, lr } @ store windowed x[24] .. x[29] | ||
983 | |||
984 | ldr r7, =0x00 | ||
985 | ldr r8, =0x00 | ||
986 | ldr r9, =0x00 | ||
987 | ldr r10, =0x00 | ||
988 | |||
989 | stmia r1!, { r5 - r10 } @ store windowed x[30] .. x[35] | ||
990 | |||
991 | @---- | ||
992 | @ NB there are 2 possible exits from this function - this is only one of them | ||
993 | @---- | ||
994 | |||
995 | add sp, sp, #(21*4) @ return stack frame | ||
996 | ldmpc regs=r4-r11 @ restore callee saved regs, and return | ||
997 | |||
998 | @---- | ||
999 | @END | ||
1000 | @---- | ||
1001 | |||
diff --git a/lib/rbcodec/codecs/libmad/imdct_mcf5249.S b/lib/rbcodec/codecs/libmad/imdct_mcf5249.S new file mode 100644 index 0000000000..b5e2a12b0f --- /dev/null +++ b/lib/rbcodec/codecs/libmad/imdct_mcf5249.S | |||
@@ -0,0 +1,124 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2005 by Thom Johansen | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | /* this will also be the home to III_imdct_l in the future */ | ||
22 | |||
23 | .global III_imdct_s | ||
24 | III_imdct_s: | ||
25 | /* we need to save 9 registers and 36 samples of temp buffer */ | ||
26 | lea.l (-45*4, %sp), %sp | ||
27 | movem.l %d2-%d7/%a2-%a4, (36*4, %sp) | ||
28 | move.l (45*4 + 4, %sp), %a2 /* a2 = X */ | ||
29 | move.l %sp, %a3 | ||
30 | |||
31 | /* IMDCT */ | ||
32 | |||
33 | /* if additional precision is needed in this block, it is possible to | ||
34 | * get more low bits out of the accext01 register _before_ doing the | ||
35 | * movclrs. | ||
36 | */ | ||
37 | moveq.l #3, %d5 /* we do three outer loop iterations */ | ||
38 | .imdctloop: /* outer loop label */ | ||
39 | lea.l imdct_s, %a1 /* load pointer to imdct coefs in a1 */ | ||
40 | movem.l (%a2), %d0-%d4/%a0 /* load some input data in d0-d4/a0 */ | ||
41 | lea.l (6*4, %a2), %a2 | ||
42 | |||
43 | clr.l %d7 /* clear loop variable */ | ||
44 | move.l (%a1)+, %a4 /* load imdct coef in a4 */ | ||
45 | .macloop: /* inner loop label */ | ||
46 | mac.l %d0, %a4, (%a1)+, %a4, %acc0 /* mac sequence */ | ||
47 | mac.l %d1, %a4, (%a1)+, %a4, %acc0 | ||
48 | mac.l %d2, %a4, (%a1)+, %a4, %acc0 | ||
49 | mac.l %d3, %a4, (%a1)+, %a4, %acc0 | ||
50 | mac.l %d4, %a4, (%a1)+, %a4, %acc0 | ||
51 | mac.l %a0, %a4, (%a1)+, %a4, %acc0 | ||
52 | movclr.l %acc0, %d6 /* get result, left shifted once */ | ||
53 | asl.l #3, %d6 /* one shift free, shift three more */ | ||
54 | move.l %d6, (%a3, %d7.l*4) /* yptr[i] = result */ | ||
55 | neg.l %d6 | ||
56 | neg.l %d7 | ||
57 | move.l %d6, (5*4, %a3, %d7.l*4) /* yptr[5 - i] = -result */ | ||
58 | mac.l %d0, %a4, (%a1)+, %a4, %acc0 /* mac sequence */ | ||
59 | mac.l %d1, %a4, (%a1)+, %a4, %acc0 | ||
60 | mac.l %d2, %a4, (%a1)+, %a4, %acc0 | ||
61 | mac.l %d3, %a4, (%a1)+, %a4, %acc0 | ||
62 | mac.l %d4, %a4, (%a1)+, %a4, %acc0 | ||
63 | mac.l %a0, %a4, (%a1)+, %a4, %acc0 | ||
64 | movclr.l %acc0, %d6 /* get result */ | ||
65 | asl.l #3, %d6 | ||
66 | move.l %d6, (11*4, %a3, %d7.l*4) /* yptr[11 - i] = result */ | ||
67 | neg.l %d7 | ||
68 | move.l %d6, (6*4, %a3, %d7.l*4) /* yptr[i + 6] = result */ | ||
69 | addq.l #1, %d7 /* increment inner loop variable */ | ||
70 | moveq.l #3, %d6 | ||
71 | cmp.l %d6, %d7 /* we do three inner loop iterations */ | ||
72 | jne .macloop | ||
73 | |||
74 | lea.l (12*4, %a3), %a3 /* add pointer increment */ | ||
75 | subq.l #1, %d5 /* decrement outer loop variable */ | ||
76 | jne .imdctloop | ||
77 | |||
78 | /* windowing, overlapping and concatenation */ | ||
79 | |||
80 | move.l (45*4 + 8, %sp), %a2 /* a2 = z */ | ||
81 | move.l %sp, %a3 /* a3 = tmp buffer ptr */ | ||
82 | lea.l window_s, %a4 /* a4 = window coef pointer */ | ||
83 | |||
84 | moveq.l #6, %d7 /* six iterations */ | ||
85 | .overlaploop: | ||
86 | clr.l (%a2) /* z[i + 0] = 0 */ | ||
87 | move.l (%a4), %d0 | ||
88 | move.l (%a3), %d2 | ||
89 | mac.l %d0, %d2, (6*4, %a4), %d1, %acc0 | ||
90 | move.l (6*4, %a3), %d2 | ||
91 | movclr.l %acc0, %d6 | ||
92 | asl.l #3, %d6 | ||
93 | move.l %d6, (6*4, %a2) /* z[i + 6] = result */ | ||
94 | |||
95 | mac.l %d1, %d2, (12*4, %a3), %d2, %acc0 | ||
96 | mac.l %d0, %d2, (18*4, %a3), %d2, %acc0 | ||
97 | movclr.l %acc0, %d6 | ||
98 | asl.l #3, %d6 | ||
99 | move.l %d6, (12*4, %a2) /* z[i + 12] = result */ | ||
100 | |||
101 | mac.l %d1, %d2, (24*4, %a3), %d2, %acc0 | ||
102 | mac.l %d0, %d2, (30*4, %a3), %d2, %acc0 | ||
103 | movclr.l %acc0, %d6 | ||
104 | asl.l #3, %d6 | ||
105 | move.l %d6, (18*4, %a2) /* z[i + 18] = result */ | ||
106 | |||
107 | mac.l %d1, %d2, %acc0 | ||
108 | movclr.l %acc0, %d6 | ||
109 | asl.l #3, %d6 | ||
110 | move.l %d6, (24*4, %a2) /* z[i + 24] = result */ | ||
111 | |||
112 | clr.l (30*4, %a2) /* z[i + 30] = 0 */ | ||
113 | addq.l #4, %a2 /* increment all pointers */ | ||
114 | addq.l #4, %a3 | ||
115 | addq.l #4, %a4 | ||
116 | subq.l #1, %d7 /* decrement loop counter */ | ||
117 | jne .overlaploop | ||
118 | /* fall through to exit if we're done */ | ||
119 | |||
120 | /* clean up */ | ||
121 | movem.l (36*4, %sp), %d2-%d7/%a2-%a4 | ||
122 | lea.l (45*4, %sp), %sp | ||
123 | rts | ||
124 | |||
diff --git a/lib/rbcodec/codecs/libmad/imdct_s.dat b/lib/rbcodec/codecs/libmad/imdct_s.dat new file mode 100644 index 0000000000..0f1f3c9b60 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/imdct_s.dat | |||
@@ -0,0 +1,62 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | /* 0 */ { MAD_F(0x09bd7ca0) /* 0.608761429 */, | ||
23 | -MAD_F(0x0ec835e8) /* -0.923879533 */, | ||
24 | -MAD_F(0x0216a2a2) /* -0.130526192 */, | ||
25 | MAD_F(0x0fdcf549) /* 0.991444861 */, | ||
26 | -MAD_F(0x061f78aa) /* -0.382683432 */, | ||
27 | -MAD_F(0x0cb19346) /* -0.793353340 */ }, | ||
28 | |||
29 | /* 6 */ { -MAD_F(0x0cb19346) /* -0.793353340 */, | ||
30 | MAD_F(0x061f78aa) /* 0.382683432 */, | ||
31 | MAD_F(0x0fdcf549) /* 0.991444861 */, | ||
32 | MAD_F(0x0216a2a2) /* 0.130526192 */, | ||
33 | -MAD_F(0x0ec835e8) /* -0.923879533 */, | ||
34 | -MAD_F(0x09bd7ca0) /* -0.608761429 */ }, | ||
35 | |||
36 | /* 1 */ { MAD_F(0x061f78aa) /* 0.382683432 */, | ||
37 | -MAD_F(0x0ec835e8) /* -0.923879533 */, | ||
38 | MAD_F(0x0ec835e8) /* 0.923879533 */, | ||
39 | -MAD_F(0x061f78aa) /* -0.382683432 */, | ||
40 | -MAD_F(0x061f78aa) /* -0.382683432 */, | ||
41 | MAD_F(0x0ec835e8) /* 0.923879533 */ }, | ||
42 | |||
43 | /* 7 */ { -MAD_F(0x0ec835e8) /* -0.923879533 */, | ||
44 | -MAD_F(0x061f78aa) /* -0.382683432 */, | ||
45 | MAD_F(0x061f78aa) /* 0.382683432 */, | ||
46 | MAD_F(0x0ec835e8) /* 0.923879533 */, | ||
47 | MAD_F(0x0ec835e8) /* 0.923879533 */, | ||
48 | MAD_F(0x061f78aa) /* 0.382683432 */ }, | ||
49 | |||
50 | /* 2 */ { MAD_F(0x0216a2a2) /* 0.130526192 */, | ||
51 | -MAD_F(0x061f78aa) /* -0.382683432 */, | ||
52 | MAD_F(0x09bd7ca0) /* 0.608761429 */, | ||
53 | -MAD_F(0x0cb19346) /* -0.793353340 */, | ||
54 | MAD_F(0x0ec835e8) /* 0.923879533 */, | ||
55 | -MAD_F(0x0fdcf549) /* -0.991444861 */ }, | ||
56 | |||
57 | /* 8 */ { -MAD_F(0x0fdcf549) /* -0.991444861 */, | ||
58 | -MAD_F(0x0ec835e8) /* -0.923879533 */, | ||
59 | -MAD_F(0x0cb19346) /* -0.793353340 */, | ||
60 | -MAD_F(0x09bd7ca0) /* -0.608761429 */, | ||
61 | -MAD_F(0x061f78aa) /* -0.382683432 */, | ||
62 | -MAD_F(0x0216a2a2) /* -0.130526192 */ } | ||
diff --git a/lib/rbcodec/codecs/libmad/layer12.c b/lib/rbcodec/codecs/libmad/layer12.c new file mode 100644 index 0000000000..e00bb64530 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/layer12.c | |||
@@ -0,0 +1,537 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifdef HAVE_CONFIG_H | ||
23 | # include "config.h" | ||
24 | # endif | ||
25 | |||
26 | # include "global.h" | ||
27 | |||
28 | # ifdef HAVE_LIMITS_H | ||
29 | # include <limits.h> | ||
30 | # else | ||
31 | # undef CHAR_BIT | ||
32 | # define CHAR_BIT 8 | ||
33 | # endif | ||
34 | |||
35 | # include "fixed.h" | ||
36 | # include "bit.h" | ||
37 | # include "stream.h" | ||
38 | # include "frame.h" | ||
39 | # include "layer12.h" | ||
40 | |||
41 | /* | ||
42 | * scalefactor table | ||
43 | * used in both Layer I and Layer II decoding | ||
44 | */ | ||
45 | static | ||
46 | mad_fixed_t const sf_table[64] ICONST_ATTR = { | ||
47 | # include "sf_table.dat" | ||
48 | }; | ||
49 | |||
50 | /* --- Layer I ------------------------------------------------------------- */ | ||
51 | |||
52 | /* linear scaling table */ | ||
53 | static | ||
54 | mad_fixed_t const linear_table[14] ICONST_ATTR = { | ||
55 | MAD_F(0x15555555), /* 2^2 / (2^2 - 1) == 1.33333333333333 */ | ||
56 | MAD_F(0x12492492), /* 2^3 / (2^3 - 1) == 1.14285714285714 */ | ||
57 | MAD_F(0x11111111), /* 2^4 / (2^4 - 1) == 1.06666666666667 */ | ||
58 | MAD_F(0x10842108), /* 2^5 / (2^5 - 1) == 1.03225806451613 */ | ||
59 | MAD_F(0x10410410), /* 2^6 / (2^6 - 1) == 1.01587301587302 */ | ||
60 | MAD_F(0x10204081), /* 2^7 / (2^7 - 1) == 1.00787401574803 */ | ||
61 | MAD_F(0x10101010), /* 2^8 / (2^8 - 1) == 1.00392156862745 */ | ||
62 | MAD_F(0x10080402), /* 2^9 / (2^9 - 1) == 1.00195694716243 */ | ||
63 | MAD_F(0x10040100), /* 2^10 / (2^10 - 1) == 1.00097751710655 */ | ||
64 | MAD_F(0x10020040), /* 2^11 / (2^11 - 1) == 1.00048851978505 */ | ||
65 | MAD_F(0x10010010), /* 2^12 / (2^12 - 1) == 1.00024420024420 */ | ||
66 | MAD_F(0x10008004), /* 2^13 / (2^13 - 1) == 1.00012208521548 */ | ||
67 | MAD_F(0x10004001), /* 2^14 / (2^14 - 1) == 1.00006103888177 */ | ||
68 | MAD_F(0x10002000) /* 2^15 / (2^15 - 1) == 1.00003051850948 */ | ||
69 | }; | ||
70 | |||
71 | /* | ||
72 | * NAME: I_sample() | ||
73 | * DESCRIPTION: decode one requantized Layer I sample from a bitstream | ||
74 | */ | ||
75 | static inline | ||
76 | mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb) | ||
77 | { | ||
78 | mad_fixed_t sample; | ||
79 | |||
80 | sample = mad_bit_read(ptr, nb); | ||
81 | |||
82 | /* invert most significant bit, extend sign, then scale to fixed format */ | ||
83 | |||
84 | sample ^= 1 << (nb - 1); | ||
85 | sample |= -(sample & (1 << (nb - 1))); | ||
86 | |||
87 | sample <<= MAD_F_FRACBITS - (nb - 1); | ||
88 | |||
89 | /* requantize the sample */ | ||
90 | |||
91 | /* s'' = (2^nb / (2^nb - 1)) * (s''' + 2^(-nb + 1)) */ | ||
92 | |||
93 | sample += MAD_F_ONE >> (nb - 1); | ||
94 | |||
95 | return mad_f_mul(sample, linear_table[nb - 2]); | ||
96 | |||
97 | /* s' = factor * s'' */ | ||
98 | /* (to be performed by caller) */ | ||
99 | } | ||
100 | |||
101 | /* | ||
102 | * NAME: layer->I() | ||
103 | * DESCRIPTION: decode a single Layer I frame | ||
104 | */ | ||
105 | int mad_layer_I(struct mad_stream *stream, struct mad_frame *frame) | ||
106 | { | ||
107 | struct mad_header *header = &frame->header; | ||
108 | unsigned int nch, bound, ch, s, sb, nb; | ||
109 | unsigned char allocation[2][32], scalefactor[2][32]; | ||
110 | |||
111 | nch = MAD_NCHANNELS(header); | ||
112 | |||
113 | bound = 32; | ||
114 | if (header->mode == MAD_MODE_JOINT_STEREO) { | ||
115 | header->flags |= MAD_FLAG_I_STEREO; | ||
116 | bound = 4 + header->mode_extension * 4; | ||
117 | } | ||
118 | |||
119 | /* check CRC word */ | ||
120 | |||
121 | if (header->flags & MAD_FLAG_PROTECTION) { | ||
122 | header->crc_check = | ||
123 | mad_bit_crc(stream->ptr, 4 * (bound * nch + (32 - bound)), | ||
124 | header->crc_check); | ||
125 | |||
126 | if (header->crc_check != header->crc_target && | ||
127 | !(frame->options & MAD_OPTION_IGNORECRC)) { | ||
128 | stream->error = MAD_ERROR_BADCRC; | ||
129 | return -1; | ||
130 | } | ||
131 | } | ||
132 | |||
133 | /* decode bit allocations */ | ||
134 | |||
135 | for (sb = 0; sb < bound; ++sb) { | ||
136 | for (ch = 0; ch < nch; ++ch) { | ||
137 | nb = mad_bit_read(&stream->ptr, 4); | ||
138 | |||
139 | if (nb == 15) { | ||
140 | stream->error = MAD_ERROR_BADBITALLOC; | ||
141 | return -1; | ||
142 | } | ||
143 | |||
144 | allocation[ch][sb] = nb ? nb + 1 : 0; | ||
145 | } | ||
146 | } | ||
147 | |||
148 | for (sb = bound; sb < 32; ++sb) { | ||
149 | nb = mad_bit_read(&stream->ptr, 4); | ||
150 | |||
151 | if (nb == 15) { | ||
152 | stream->error = MAD_ERROR_BADBITALLOC; | ||
153 | return -1; | ||
154 | } | ||
155 | |||
156 | allocation[0][sb] = | ||
157 | allocation[1][sb] = nb ? nb + 1 : 0; | ||
158 | } | ||
159 | |||
160 | /* decode scalefactors */ | ||
161 | |||
162 | for (sb = 0; sb < 32; ++sb) { | ||
163 | for (ch = 0; ch < nch; ++ch) { | ||
164 | if (allocation[ch][sb]) { | ||
165 | scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6); | ||
166 | |||
167 | # if defined(OPT_STRICT) | ||
168 | /* | ||
169 | * Scalefactor index 63 does not appear in Table B.1 of | ||
170 | * ISO/IEC 11172-3. Nonetheless, other implementations accept it, | ||
171 | * so we only reject it if OPT_STRICT is defined. | ||
172 | */ | ||
173 | if (scalefactor[ch][sb] == 63) { | ||
174 | stream->error = MAD_ERROR_BADSCALEFACTOR; | ||
175 | return -1; | ||
176 | } | ||
177 | # endif | ||
178 | } | ||
179 | } | ||
180 | } | ||
181 | |||
182 | /* decode samples */ | ||
183 | |||
184 | for (s = 0; s < 12; ++s) { | ||
185 | for (sb = 0; sb < bound; ++sb) { | ||
186 | for (ch = 0; ch < nch; ++ch) { | ||
187 | nb = allocation[ch][sb]; | ||
188 | (*frame->sbsample)[ch][s][sb] = nb ? | ||
189 | mad_f_mul(I_sample(&stream->ptr, nb), | ||
190 | sf_table[scalefactor[ch][sb]]) : 0; | ||
191 | } | ||
192 | } | ||
193 | |||
194 | for (sb = bound; sb < 32; ++sb) { | ||
195 | if ((nb = allocation[0][sb])) { | ||
196 | mad_fixed_t sample; | ||
197 | |||
198 | sample = I_sample(&stream->ptr, nb); | ||
199 | |||
200 | for (ch = 0; ch < nch; ++ch) { | ||
201 | (*frame->sbsample)[ch][s][sb] = | ||
202 | mad_f_mul(sample, sf_table[scalefactor[ch][sb]]); | ||
203 | } | ||
204 | } | ||
205 | else { | ||
206 | for (ch = 0; ch < nch; ++ch) | ||
207 | (*frame->sbsample)[ch][s][sb] = 0; | ||
208 | } | ||
209 | } | ||
210 | } | ||
211 | |||
212 | return 0; | ||
213 | } | ||
214 | |||
215 | /* --- Layer II ------------------------------------------------------------ */ | ||
216 | |||
217 | /* possible quantization per subband table */ | ||
218 | static | ||
219 | struct { | ||
220 | unsigned int sblimit; | ||
221 | unsigned char const offsets[30]; | ||
222 | } const sbquant_table[5] = { | ||
223 | /* ISO/IEC 11172-3 Table B.2a */ | ||
224 | { 27, { 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, /* 0 */ | ||
225 | 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0 } }, | ||
226 | /* ISO/IEC 11172-3 Table B.2b */ | ||
227 | { 30, { 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, /* 1 */ | ||
228 | 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0 } }, | ||
229 | /* ISO/IEC 11172-3 Table B.2c */ | ||
230 | { 8, { 5, 5, 2, 2, 2, 2, 2, 2 } }, /* 2 */ | ||
231 | /* ISO/IEC 11172-3 Table B.2d */ | ||
232 | { 12, { 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 } }, /* 3 */ | ||
233 | /* ISO/IEC 13818-3 Table B.1 */ | ||
234 | { 30, { 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, /* 4 */ | ||
235 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } } | ||
236 | }; | ||
237 | |||
238 | /* bit allocation table */ | ||
239 | static | ||
240 | struct { | ||
241 | unsigned short nbal; | ||
242 | unsigned short offset; | ||
243 | } const bitalloc_table[8] = { | ||
244 | { 2, 0 }, /* 0 */ | ||
245 | { 2, 3 }, /* 1 */ | ||
246 | { 3, 3 }, /* 2 */ | ||
247 | { 3, 1 }, /* 3 */ | ||
248 | { 4, 2 }, /* 4 */ | ||
249 | { 4, 3 }, /* 5 */ | ||
250 | { 4, 4 }, /* 6 */ | ||
251 | { 4, 5 } /* 7 */ | ||
252 | }; | ||
253 | |||
254 | /* offsets into quantization class table */ | ||
255 | static | ||
256 | unsigned char const offset_table[6][15] = { | ||
257 | { 0, 1, 16 }, /* 0 */ | ||
258 | { 0, 1, 2, 3, 4, 5, 16 }, /* 1 */ | ||
259 | { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, /* 2 */ | ||
260 | { 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, /* 3 */ | ||
261 | { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16 }, /* 4 */ | ||
262 | { 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 } /* 5 */ | ||
263 | }; | ||
264 | |||
265 | /* quantization class table */ | ||
266 | static | ||
267 | struct quantclass { | ||
268 | unsigned short nlevels; | ||
269 | unsigned char group; | ||
270 | unsigned char bits; | ||
271 | mad_fixed_t C; | ||
272 | mad_fixed_t D; | ||
273 | } const qc_table[17] ICONST_ATTR = { | ||
274 | # include "qc_table.dat" | ||
275 | }; | ||
276 | |||
277 | /* | ||
278 | * NAME: II_samples() | ||
279 | * DESCRIPTION: decode three requantized Layer II samples from a bitstream | ||
280 | */ | ||
281 | static | ||
282 | void II_samples(struct mad_bitptr *ptr, | ||
283 | struct quantclass const *quantclass, | ||
284 | mad_fixed_t output[3]) | ||
285 | { | ||
286 | unsigned int nb, s, sample[3]; | ||
287 | |||
288 | if ((nb = quantclass->group)) { | ||
289 | unsigned int c, nlevels; | ||
290 | |||
291 | /* degrouping */ | ||
292 | c = mad_bit_read(ptr, quantclass->bits); | ||
293 | nlevels = quantclass->nlevels; | ||
294 | |||
295 | for (s = 0; s < 3; ++s) { | ||
296 | sample[s] = c % nlevels; | ||
297 | c /= nlevels; | ||
298 | } | ||
299 | } | ||
300 | else { | ||
301 | nb = quantclass->bits; | ||
302 | |||
303 | for (s = 0; s < 3; ++s) | ||
304 | sample[s] = mad_bit_read(ptr, nb); | ||
305 | } | ||
306 | |||
307 | for (s = 0; s < 3; ++s) { | ||
308 | mad_fixed_t requantized; | ||
309 | |||
310 | /* invert most significant bit, extend sign, then scale to fixed format */ | ||
311 | |||
312 | requantized = sample[s] ^ (1 << (nb - 1)); | ||
313 | requantized |= -(requantized & (1 << (nb - 1))); | ||
314 | |||
315 | requantized <<= MAD_F_FRACBITS - (nb - 1); | ||
316 | |||
317 | /* requantize the sample */ | ||
318 | |||
319 | /* s'' = C * (s''' + D) */ | ||
320 | |||
321 | output[s] = mad_f_mul(requantized + quantclass->D, quantclass->C); | ||
322 | |||
323 | /* s' = factor * s'' */ | ||
324 | /* (to be performed by caller) */ | ||
325 | } | ||
326 | } | ||
327 | |||
328 | /* | ||
329 | * NAME: layer->II() | ||
330 | * DESCRIPTION: decode a single Layer II frame | ||
331 | */ | ||
332 | int mad_layer_II(struct mad_stream *stream, struct mad_frame *frame) | ||
333 | { | ||
334 | struct mad_header *header = &frame->header; | ||
335 | struct mad_bitptr start; | ||
336 | unsigned int index, sblimit, nbal, nch, bound, gr, ch, s, sb; | ||
337 | unsigned char const *offsets; | ||
338 | unsigned char allocation[2][32], scfsi[2][32], scalefactor[2][32][3]; | ||
339 | mad_fixed_t samples[3]; | ||
340 | |||
341 | nch = MAD_NCHANNELS(header); | ||
342 | |||
343 | if (header->flags & MAD_FLAG_LSF_EXT) | ||
344 | index = 4; | ||
345 | else if (header->flags & MAD_FLAG_FREEFORMAT) | ||
346 | goto freeformat; | ||
347 | else { | ||
348 | unsigned long bitrate_per_channel; | ||
349 | |||
350 | bitrate_per_channel = header->bitrate; | ||
351 | if (nch == 2) { | ||
352 | bitrate_per_channel /= 2; | ||
353 | |||
354 | # if defined(OPT_STRICT) | ||
355 | /* | ||
356 | * ISO/IEC 11172-3 allows only single channel mode for 32, 48, 56, and | ||
357 | * 80 kbps bitrates in Layer II, but some encoders ignore this | ||
358 | * restriction. We enforce it if OPT_STRICT is defined. | ||
359 | */ | ||
360 | if (bitrate_per_channel <= 28000 || bitrate_per_channel == 40000) { | ||
361 | stream->error = MAD_ERROR_BADMODE; | ||
362 | return -1; | ||
363 | } | ||
364 | # endif | ||
365 | } | ||
366 | else { /* nch == 1 */ | ||
367 | if (bitrate_per_channel > 192000) { | ||
368 | /* | ||
369 | * ISO/IEC 11172-3 does not allow single channel mode for 224, 256, | ||
370 | * 320, or 384 kbps bitrates in Layer II. | ||
371 | */ | ||
372 | stream->error = MAD_ERROR_BADMODE; | ||
373 | return -1; | ||
374 | } | ||
375 | } | ||
376 | |||
377 | if (bitrate_per_channel <= 48000) | ||
378 | index = (header->samplerate == 32000) ? 3 : 2; | ||
379 | else if (bitrate_per_channel <= 80000) | ||
380 | index = 0; | ||
381 | else { | ||
382 | freeformat: | ||
383 | index = (header->samplerate == 48000) ? 0 : 1; | ||
384 | } | ||
385 | } | ||
386 | |||
387 | sblimit = sbquant_table[index].sblimit; | ||
388 | offsets = sbquant_table[index].offsets; | ||
389 | |||
390 | bound = 32; | ||
391 | if (header->mode == MAD_MODE_JOINT_STEREO) { | ||
392 | header->flags |= MAD_FLAG_I_STEREO; | ||
393 | bound = 4 + header->mode_extension * 4; | ||
394 | } | ||
395 | |||
396 | if (bound > sblimit) | ||
397 | bound = sblimit; | ||
398 | |||
399 | start = stream->ptr; | ||
400 | |||
401 | /* decode bit allocations */ | ||
402 | |||
403 | for (sb = 0; sb < bound; ++sb) { | ||
404 | nbal = bitalloc_table[offsets[sb]].nbal; | ||
405 | |||
406 | for (ch = 0; ch < nch; ++ch) | ||
407 | allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal); | ||
408 | } | ||
409 | |||
410 | for (sb = bound; sb < sblimit; ++sb) { | ||
411 | nbal = bitalloc_table[offsets[sb]].nbal; | ||
412 | |||
413 | allocation[0][sb] = | ||
414 | allocation[1][sb] = mad_bit_read(&stream->ptr, nbal); | ||
415 | } | ||
416 | |||
417 | /* decode scalefactor selection info */ | ||
418 | |||
419 | for (sb = 0; sb < sblimit; ++sb) { | ||
420 | for (ch = 0; ch < nch; ++ch) { | ||
421 | if (allocation[ch][sb]) | ||
422 | scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2); | ||
423 | } | ||
424 | } | ||
425 | |||
426 | /* check CRC word */ | ||
427 | |||
428 | if (header->flags & MAD_FLAG_PROTECTION) { | ||
429 | header->crc_check = | ||
430 | mad_bit_crc(start, mad_bit_length(&start, &stream->ptr), | ||
431 | header->crc_check); | ||
432 | |||
433 | if (header->crc_check != header->crc_target && | ||
434 | !(frame->options & MAD_OPTION_IGNORECRC)) { | ||
435 | stream->error = MAD_ERROR_BADCRC; | ||
436 | return -1; | ||
437 | } | ||
438 | } | ||
439 | |||
440 | /* decode scalefactors */ | ||
441 | |||
442 | for (sb = 0; sb < sblimit; ++sb) { | ||
443 | for (ch = 0; ch < nch; ++ch) { | ||
444 | if (allocation[ch][sb]) { | ||
445 | scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6); | ||
446 | |||
447 | switch (scfsi[ch][sb]) { | ||
448 | case 2: | ||
449 | scalefactor[ch][sb][2] = | ||
450 | scalefactor[ch][sb][1] = | ||
451 | scalefactor[ch][sb][0]; | ||
452 | break; | ||
453 | |||
454 | case 0: | ||
455 | scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6); | ||
456 | /* fall through */ | ||
457 | |||
458 | case 1: | ||
459 | case 3: | ||
460 | scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6); | ||
461 | } | ||
462 | |||
463 | if (scfsi[ch][sb] & 1) | ||
464 | scalefactor[ch][sb][1] = scalefactor[ch][sb][scfsi[ch][sb] - 1]; | ||
465 | |||
466 | # if defined(OPT_STRICT) | ||
467 | /* | ||
468 | * Scalefactor index 63 does not appear in Table B.1 of | ||
469 | * ISO/IEC 11172-3. Nonetheless, other implementations accept it, | ||
470 | * so we only reject it if OPT_STRICT is defined. | ||
471 | */ | ||
472 | if (scalefactor[ch][sb][0] == 63 || | ||
473 | scalefactor[ch][sb][1] == 63 || | ||
474 | scalefactor[ch][sb][2] == 63) { | ||
475 | stream->error = MAD_ERROR_BADSCALEFACTOR; | ||
476 | return -1; | ||
477 | } | ||
478 | # endif | ||
479 | } | ||
480 | } | ||
481 | } | ||
482 | |||
483 | /* decode samples */ | ||
484 | |||
485 | for (gr = 0; gr < 12; ++gr) { | ||
486 | for (sb = 0; sb < bound; ++sb) { | ||
487 | for (ch = 0; ch < nch; ++ch) { | ||
488 | if ((index = allocation[ch][sb])) { | ||
489 | int off = bitalloc_table[offsets[sb]].offset; | ||
490 | index = offset_table[off][index - 1]; | ||
491 | |||
492 | II_samples(&stream->ptr, &qc_table[index], samples); | ||
493 | |||
494 | for (s = 0; s < 3; ++s) { | ||
495 | (*frame->sbsample)[ch][3 * gr + s][sb] = | ||
496 | mad_f_mul(samples[s], sf_table[scalefactor[ch][sb][gr / 4]]); | ||
497 | } | ||
498 | } | ||
499 | else { | ||
500 | for (s = 0; s < 3; ++s) | ||
501 | (*frame->sbsample)[ch][3 * gr + s][sb] = 0; | ||
502 | } | ||
503 | } | ||
504 | } | ||
505 | |||
506 | for (sb = bound; sb < sblimit; ++sb) { | ||
507 | if ((index = allocation[0][sb])) { | ||
508 | int off = bitalloc_table[offsets[sb]].offset; | ||
509 | index = offset_table[off][index - 1]; | ||
510 | |||
511 | II_samples(&stream->ptr, &qc_table[index], samples); | ||
512 | |||
513 | for (ch = 0; ch < nch; ++ch) { | ||
514 | for (s = 0; s < 3; ++s) { | ||
515 | (*frame->sbsample)[ch][3 * gr + s][sb] = | ||
516 | mad_f_mul(samples[s], sf_table[scalefactor[ch][sb][gr / 4]]); | ||
517 | } | ||
518 | } | ||
519 | } | ||
520 | else { | ||
521 | for (ch = 0; ch < nch; ++ch) { | ||
522 | for (s = 0; s < 3; ++s) | ||
523 | (*frame->sbsample)[ch][3 * gr + s][sb] = 0; | ||
524 | } | ||
525 | } | ||
526 | } | ||
527 | |||
528 | for (ch = 0; ch < nch; ++ch) { | ||
529 | for (s = 0; s < 3; ++s) { | ||
530 | for (sb = sblimit; sb < 32; ++sb) | ||
531 | (*frame->sbsample)[ch][3 * gr + s][sb] = 0; | ||
532 | } | ||
533 | } | ||
534 | } | ||
535 | |||
536 | return 0; | ||
537 | } | ||
diff --git a/lib/rbcodec/codecs/libmad/layer12.h b/lib/rbcodec/codecs/libmad/layer12.h new file mode 100644 index 0000000000..3fe6bd8b0f --- /dev/null +++ b/lib/rbcodec/codecs/libmad/layer12.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_LAYER12_H | ||
23 | # define LIBMAD_LAYER12_H | ||
24 | |||
25 | # include "stream.h" | ||
26 | # include "frame.h" | ||
27 | |||
28 | int mad_layer_I(struct mad_stream *, struct mad_frame *); | ||
29 | int mad_layer_II(struct mad_stream *, struct mad_frame *); | ||
30 | |||
31 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/layer3.c b/lib/rbcodec/codecs/libmad/layer3.c new file mode 100644 index 0000000000..ffb0fb20ff --- /dev/null +++ b/lib/rbcodec/codecs/libmad/layer3.c | |||
@@ -0,0 +1,3107 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifdef HAVE_CONFIG_H | ||
23 | # include "config.h" | ||
24 | # endif | ||
25 | |||
26 | # include "global.h" | ||
27 | |||
28 | # include <string.h> | ||
29 | |||
30 | # ifdef HAVE_ASSERT_H | ||
31 | # include <assert.h> | ||
32 | # endif | ||
33 | |||
34 | # ifdef HAVE_LIMITS_H | ||
35 | # include <limits.h> | ||
36 | # else | ||
37 | # undef CHAR_BIT | ||
38 | # define CHAR_BIT 8 | ||
39 | # endif | ||
40 | |||
41 | # include "fixed.h" | ||
42 | # include "bit.h" | ||
43 | # include "stream.h" | ||
44 | # include "frame.h" | ||
45 | # include "huffman.h" | ||
46 | # include "layer3.h" | ||
47 | |||
48 | /* depending on the cpu "leftshift32" may be supported or not */ | ||
49 | # if defined(CPU_COLDFIRE) | ||
50 | #define MAXLSHIFT 32 | ||
51 | #else | ||
52 | #define MAXLSHIFT 31 | ||
53 | #endif | ||
54 | |||
55 | /* --- Layer III ----------------------------------------------------------- */ | ||
56 | |||
57 | enum { | ||
58 | count1table_select = 0x01, | ||
59 | scalefac_scale = 0x02, | ||
60 | preflag = 0x04, | ||
61 | mixed_block_flag = 0x08 | ||
62 | }; | ||
63 | |||
64 | enum { | ||
65 | I_STEREO = 0x1, | ||
66 | MS_STEREO = 0x2 | ||
67 | }; | ||
68 | |||
69 | struct sideinfo { | ||
70 | unsigned int main_data_begin; | ||
71 | unsigned int private_bits; | ||
72 | |||
73 | unsigned char scfsi[2]; | ||
74 | |||
75 | struct granule { | ||
76 | struct channel { | ||
77 | /* from side info */ | ||
78 | unsigned short part2_3_length; | ||
79 | unsigned short big_values; | ||
80 | unsigned short global_gain; | ||
81 | unsigned short scalefac_compress; | ||
82 | |||
83 | unsigned char flags; | ||
84 | unsigned char block_type; | ||
85 | unsigned char table_select[3]; | ||
86 | unsigned char subblock_gain[3]; | ||
87 | unsigned char region0_count; | ||
88 | unsigned char region1_count; | ||
89 | |||
90 | /* from main_data */ | ||
91 | unsigned char scalefac[39]; /* scalefac_l and/or scalefac_s */ | ||
92 | } ch[2]; | ||
93 | } gr[2]; | ||
94 | }; | ||
95 | |||
96 | /* | ||
97 | * scalefactor bit lengths | ||
98 | * derived from section 2.4.2.7 of ISO/IEC 11172-3 | ||
99 | */ | ||
100 | static | ||
101 | struct { | ||
102 | unsigned char slen1; | ||
103 | unsigned char slen2; | ||
104 | } const sflen_table[16] = { | ||
105 | { 0, 0 }, { 0, 1 }, { 0, 2 }, { 0, 3 }, | ||
106 | { 3, 0 }, { 1, 1 }, { 1, 2 }, { 1, 3 }, | ||
107 | { 2, 1 }, { 2, 2 }, { 2, 3 }, { 3, 1 }, | ||
108 | { 3, 2 }, { 3, 3 }, { 4, 2 }, { 4, 3 } | ||
109 | }; | ||
110 | |||
111 | /* | ||
112 | * number of LSF scalefactor band values | ||
113 | * derived from section 2.4.3.2 of ISO/IEC 13818-3 | ||
114 | */ | ||
115 | static | ||
116 | unsigned char const nsfb_table[6][3][4] = { | ||
117 | { { 6, 5, 5, 5 }, | ||
118 | { 9, 9, 9, 9 }, | ||
119 | { 6, 9, 9, 9 } }, | ||
120 | |||
121 | { { 6, 5, 7, 3 }, | ||
122 | { 9, 9, 12, 6 }, | ||
123 | { 6, 9, 12, 6 } }, | ||
124 | |||
125 | { { 11, 10, 0, 0 }, | ||
126 | { 18, 18, 0, 0 }, | ||
127 | { 15, 18, 0, 0 } }, | ||
128 | |||
129 | { { 7, 7, 7, 0 }, | ||
130 | { 12, 12, 12, 0 }, | ||
131 | { 6, 15, 12, 0 } }, | ||
132 | |||
133 | { { 6, 6, 6, 3 }, | ||
134 | { 12, 9, 9, 6 }, | ||
135 | { 6, 12, 9, 6 } }, | ||
136 | |||
137 | { { 8, 8, 5, 0 }, | ||
138 | { 15, 12, 9, 0 }, | ||
139 | { 6, 18, 9, 0 } } | ||
140 | }; | ||
141 | |||
142 | /* | ||
143 | * MPEG-1 scalefactor band widths | ||
144 | * derived from Table B.8 of ISO/IEC 11172-3 | ||
145 | */ | ||
146 | static | ||
147 | unsigned char const sfb_48000_long[] = { | ||
148 | 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 10, | ||
149 | 12, 16, 18, 22, 28, 34, 40, 46, 54, 54, 192 | ||
150 | }; | ||
151 | |||
152 | static | ||
153 | unsigned char const sfb_44100_long[] = { | ||
154 | 4, 4, 4, 4, 4, 4, 6, 6, 8, 8, 10, | ||
155 | 12, 16, 20, 24, 28, 34, 42, 50, 54, 76, 158 | ||
156 | }; | ||
157 | |||
158 | static | ||
159 | unsigned char const sfb_32000_long[] = { | ||
160 | 4, 4, 4, 4, 4, 4, 6, 6, 8, 10, 12, | ||
161 | 16, 20, 24, 30, 38, 46, 56, 68, 84, 102, 26 | ||
162 | }; | ||
163 | |||
164 | static | ||
165 | unsigned char const sfb_48000_short[] = { | ||
166 | 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, | ||
167 | 6, 6, 6, 6, 6, 10, 10, 10, 12, 12, 12, 14, 14, | ||
168 | 14, 16, 16, 16, 20, 20, 20, 26, 26, 26, 66, 66, 66 | ||
169 | }; | ||
170 | |||
171 | static | ||
172 | unsigned char const sfb_44100_short[] = { | ||
173 | 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, | ||
174 | 6, 6, 8, 8, 8, 10, 10, 10, 12, 12, 12, 14, 14, | ||
175 | 14, 18, 18, 18, 22, 22, 22, 30, 30, 30, 56, 56, 56 | ||
176 | }; | ||
177 | |||
178 | static | ||
179 | unsigned char const sfb_32000_short[] = { | ||
180 | 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, | ||
181 | 6, 6, 8, 8, 8, 12, 12, 12, 16, 16, 16, 20, 20, | ||
182 | 20, 26, 26, 26, 34, 34, 34, 42, 42, 42, 12, 12, 12 | ||
183 | }; | ||
184 | |||
185 | static | ||
186 | unsigned char const sfb_48000_mixed[] = { | ||
187 | /* long */ 4, 4, 4, 4, 4, 4, 6, 6, | ||
188 | /* short */ 4, 4, 4, 6, 6, 6, 6, 6, 6, 10, | ||
189 | 10, 10, 12, 12, 12, 14, 14, 14, 16, 16, | ||
190 | 16, 20, 20, 20, 26, 26, 26, 66, 66, 66 | ||
191 | }; | ||
192 | |||
193 | static | ||
194 | unsigned char const sfb_44100_mixed[] = { | ||
195 | /* long */ 4, 4, 4, 4, 4, 4, 6, 6, | ||
196 | /* short */ 4, 4, 4, 6, 6, 6, 8, 8, 8, 10, | ||
197 | 10, 10, 12, 12, 12, 14, 14, 14, 18, 18, | ||
198 | 18, 22, 22, 22, 30, 30, 30, 56, 56, 56 | ||
199 | }; | ||
200 | |||
201 | static | ||
202 | unsigned char const sfb_32000_mixed[] = { | ||
203 | /* long */ 4, 4, 4, 4, 4, 4, 6, 6, | ||
204 | /* short */ 4, 4, 4, 6, 6, 6, 8, 8, 8, 12, | ||
205 | 12, 12, 16, 16, 16, 20, 20, 20, 26, 26, | ||
206 | 26, 34, 34, 34, 42, 42, 42, 12, 12, 12 | ||
207 | }; | ||
208 | |||
209 | /* | ||
210 | * MPEG-2 scalefactor band widths | ||
211 | * derived from Table B.2 of ISO/IEC 13818-3 | ||
212 | */ | ||
213 | static | ||
214 | unsigned char const sfb_24000_long[] = { | ||
215 | 6, 6, 6, 6, 6, 6, 8, 10, 12, 14, 16, | ||
216 | 18, 22, 26, 32, 38, 46, 54, 62, 70, 76, 36 | ||
217 | }; | ||
218 | |||
219 | static | ||
220 | unsigned char const sfb_22050_long[] = { | ||
221 | 6, 6, 6, 6, 6, 6, 8, 10, 12, 14, 16, | ||
222 | 20, 24, 28, 32, 38, 46, 52, 60, 68, 58, 54 | ||
223 | }; | ||
224 | |||
225 | # define sfb_16000_long sfb_22050_long | ||
226 | |||
227 | static | ||
228 | unsigned char const sfb_24000_short[] = { | ||
229 | 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, | ||
230 | 8, 8, 10, 10, 10, 12, 12, 12, 14, 14, 14, 18, 18, | ||
231 | 18, 24, 24, 24, 32, 32, 32, 44, 44, 44, 12, 12, 12 | ||
232 | }; | ||
233 | |||
234 | static | ||
235 | unsigned char const sfb_22050_short[] = { | ||
236 | 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, | ||
237 | 6, 6, 8, 8, 8, 10, 10, 10, 14, 14, 14, 18, 18, | ||
238 | 18, 26, 26, 26, 32, 32, 32, 42, 42, 42, 18, 18, 18 | ||
239 | }; | ||
240 | |||
241 | static | ||
242 | unsigned char const sfb_16000_short[] = { | ||
243 | 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, | ||
244 | 8, 8, 10, 10, 10, 12, 12, 12, 14, 14, 14, 18, 18, | ||
245 | 18, 24, 24, 24, 30, 30, 30, 40, 40, 40, 18, 18, 18 | ||
246 | }; | ||
247 | |||
248 | static | ||
249 | unsigned char const sfb_24000_mixed[] = { | ||
250 | /* long */ 6, 6, 6, 6, 6, 6, | ||
251 | /* short */ 6, 6, 6, 8, 8, 8, 10, 10, 10, 12, | ||
252 | 12, 12, 14, 14, 14, 18, 18, 18, 24, 24, | ||
253 | 24, 32, 32, 32, 44, 44, 44, 12, 12, 12 | ||
254 | }; | ||
255 | |||
256 | static | ||
257 | unsigned char const sfb_22050_mixed[] = { | ||
258 | /* long */ 6, 6, 6, 6, 6, 6, | ||
259 | /* short */ 6, 6, 6, 6, 6, 6, 8, 8, 8, 10, | ||
260 | 10, 10, 14, 14, 14, 18, 18, 18, 26, 26, | ||
261 | 26, 32, 32, 32, 42, 42, 42, 18, 18, 18 | ||
262 | }; | ||
263 | |||
264 | static | ||
265 | unsigned char const sfb_16000_mixed[] = { | ||
266 | /* long */ 6, 6, 6, 6, 6, 6, | ||
267 | /* short */ 6, 6, 6, 8, 8, 8, 10, 10, 10, 12, | ||
268 | 12, 12, 14, 14, 14, 18, 18, 18, 24, 24, | ||
269 | 24, 30, 30, 30, 40, 40, 40, 18, 18, 18 | ||
270 | }; | ||
271 | |||
272 | /* | ||
273 | * MPEG 2.5 scalefactor band widths | ||
274 | * derived from public sources | ||
275 | */ | ||
276 | # define sfb_12000_long sfb_16000_long | ||
277 | # define sfb_11025_long sfb_12000_long | ||
278 | |||
279 | static | ||
280 | unsigned char const sfb_8000_long[] = { | ||
281 | 12, 12, 12, 12, 12, 12, 16, 20, 24, 28, 32, | ||
282 | 40, 48, 56, 64, 76, 90, 2, 2, 2, 2, 2 | ||
283 | }; | ||
284 | |||
285 | # define sfb_12000_short sfb_16000_short | ||
286 | # define sfb_11025_short sfb_12000_short | ||
287 | |||
288 | static | ||
289 | unsigned char const sfb_8000_short[] = { | ||
290 | 8, 8, 8, 8, 8, 8, 8, 8, 8, 12, 12, 12, 16, | ||
291 | 16, 16, 20, 20, 20, 24, 24, 24, 28, 28, 28, 36, 36, | ||
292 | 36, 2, 2, 2, 2, 2, 2, 2, 2, 2, 26, 26, 26 | ||
293 | }; | ||
294 | |||
295 | # define sfb_12000_mixed sfb_16000_mixed | ||
296 | # define sfb_11025_mixed sfb_12000_mixed | ||
297 | |||
298 | /* the 8000 Hz short block scalefactor bands do not break after | ||
299 | the first 36 frequency lines, so this is probably wrong */ | ||
300 | static | ||
301 | unsigned char const sfb_8000_mixed[] = { | ||
302 | /* long */ 12, 12, 12, | ||
303 | /* short */ 4, 4, 4, 8, 8, 8, 12, 12, 12, 16, 16, 16, | ||
304 | 20, 20, 20, 24, 24, 24, 28, 28, 28, 36, 36, 36, | ||
305 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 26, 26, 26 | ||
306 | }; | ||
307 | |||
308 | static | ||
309 | struct { | ||
310 | unsigned char const *l; | ||
311 | unsigned char const *s; | ||
312 | unsigned char const *m; | ||
313 | } const sfbwidth_table[9] = { | ||
314 | { sfb_48000_long, sfb_48000_short, sfb_48000_mixed }, | ||
315 | { sfb_44100_long, sfb_44100_short, sfb_44100_mixed }, | ||
316 | { sfb_32000_long, sfb_32000_short, sfb_32000_mixed }, | ||
317 | { sfb_24000_long, sfb_24000_short, sfb_24000_mixed }, | ||
318 | { sfb_22050_long, sfb_22050_short, sfb_22050_mixed }, | ||
319 | { sfb_16000_long, sfb_16000_short, sfb_16000_mixed }, | ||
320 | { sfb_12000_long, sfb_12000_short, sfb_12000_mixed }, | ||
321 | { sfb_11025_long, sfb_11025_short, sfb_11025_mixed }, | ||
322 | { sfb_8000_long, sfb_8000_short, sfb_8000_mixed } | ||
323 | }; | ||
324 | |||
325 | /* | ||
326 | * scalefactor band preemphasis (used only when preflag is set) | ||
327 | * derived from Table B.6 of ISO/IEC 11172-3 | ||
328 | */ | ||
329 | static | ||
330 | unsigned char const pretab[22] = { | ||
331 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0 | ||
332 | }; | ||
333 | |||
334 | /* | ||
335 | * table for requantization | ||
336 | * | ||
337 | * rq_table[x].mantissa * 2^(rq_table[x].exponent) = x^(4/3) | ||
338 | * | ||
339 | * format rq_table: bit31-27=exponent bit26-0=mantissa | ||
340 | */ | ||
341 | static | ||
342 | unsigned long const rq_table[8207] = { | ||
343 | # include "rq_table.dat" | ||
344 | }; | ||
345 | |||
346 | /* | ||
347 | * fractional powers of two | ||
348 | * used for requantization and joint stereo decoding | ||
349 | * | ||
350 | * root_table[3 + x] = 2^(x/4) | ||
351 | */ | ||
352 | mad_fixed_t const root_table[7] ICONST_ATTR MEM_ALIGN_ATTR = { | ||
353 | MAD_F(0x09837f05) /* 2^(-3/4) == 0.59460355750136 */, | ||
354 | MAD_F(0x0b504f33) /* 2^(-2/4) == 0.70710678118655 */, | ||
355 | MAD_F(0x0d744fcd) /* 2^(-1/4) == 0.84089641525371 */, | ||
356 | MAD_F(0x10000000) /* 2^( 0/4) == 1.00000000000000 */, | ||
357 | MAD_F(0x1306fe0a) /* 2^(+1/4) == 1.18920711500272 */, | ||
358 | MAD_F(0x16a09e66) /* 2^(+2/4) == 1.41421356237310 */, | ||
359 | MAD_F(0x1ae89f99) /* 2^(+3/4) == 1.68179283050743 */ | ||
360 | }; | ||
361 | |||
362 | /* | ||
363 | * coefficients for aliasing reduction | ||
364 | * derived from Table B.9 of ISO/IEC 11172-3 | ||
365 | * | ||
366 | * c[] = { -0.6, -0.535, -0.33, -0.185, -0.095, -0.041, -0.0142, -0.0037 } | ||
367 | * cs[i] = 1 / sqrt(1 + c[i]^2) | ||
368 | * ca[i] = c[i] / sqrt(1 + c[i]^2) | ||
369 | */ | ||
370 | mad_fixed_t const cs[8] ICONST_ATTR MEM_ALIGN_ATTR = { | ||
371 | +MAD_F(0x0db84a81) /* +0.857492926 */, +MAD_F(0x0e1b9d7f) /* +0.881741997 */, | ||
372 | +MAD_F(0x0f31adcf) /* +0.949628649 */, +MAD_F(0x0fbba815) /* +0.983314592 */, | ||
373 | +MAD_F(0x0feda417) /* +0.995517816 */, +MAD_F(0x0ffc8fc8) /* +0.999160558 */, | ||
374 | +MAD_F(0x0fff964c) /* +0.999899195 */, +MAD_F(0x0ffff8d3) /* +0.999993155 */ | ||
375 | }; | ||
376 | |||
377 | mad_fixed_t const ca[8] ICONST_ATTR MEM_ALIGN_ATTR = { | ||
378 | -MAD_F(0x083b5fe7) /* -0.514495755 */, -MAD_F(0x078c36d2) /* -0.471731969 */, | ||
379 | -MAD_F(0x05039814) /* -0.313377454 */, -MAD_F(0x02e91dd1) /* -0.181913200 */, | ||
380 | -MAD_F(0x0183603a) /* -0.094574193 */, -MAD_F(0x00a7cb87) /* -0.040965583 */, | ||
381 | -MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */ | ||
382 | }; | ||
383 | |||
384 | /* | ||
385 | * IMDCT coefficients for short blocks | ||
386 | * derived from section 2.4.3.4.10.2 of ISO/IEC 11172-3 | ||
387 | * | ||
388 | * imdct_s[i/even][k] = cos((PI / 24) * (2 * (i / 2) + 7) * (2 * k + 1)) | ||
389 | * imdct_s[i /odd][k] = cos((PI / 24) * (2 * (6 + (i-1)/2) + 7) * (2 * k + 1)) | ||
390 | */ | ||
391 | mad_fixed_t const imdct_s[6][6] ICONST_ATTR MEM_ALIGN_ATTR = { | ||
392 | # include "imdct_s.dat" | ||
393 | }; | ||
394 | |||
395 | # if !defined(FPM_ARM) | ||
396 | /* | ||
397 | * windowing coefficients for long blocks | ||
398 | * derived from section 2.4.3.4.10.3 of ISO/IEC 11172-3 | ||
399 | * | ||
400 | * window_l[i] = sin((PI / 36) * (i + 1/2)) | ||
401 | */ | ||
402 | static | ||
403 | mad_fixed_t const window_l[36] ICONST_ATTR MEM_ALIGN_ATTR = { | ||
404 | MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */, | ||
405 | MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */, | ||
406 | MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */, | ||
407 | MAD_F(0x0898c779) /* 0.537299608 */, MAD_F(0x09bd7ca0) /* 0.608761429 */, | ||
408 | MAD_F(0x0acf37ad) /* 0.675590208 */, MAD_F(0x0bcbe352) /* 0.737277337 */, | ||
409 | MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x0d7e8807) /* 0.843391446 */, | ||
410 | |||
411 | MAD_F(0x0e313245) /* 0.887010833 */, MAD_F(0x0ec835e8) /* 0.923879533 */, | ||
412 | MAD_F(0x0f426cb5) /* 0.953716951 */, MAD_F(0x0f9ee890) /* 0.976296007 */, | ||
413 | MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ffc19fd) /* 0.999048222 */, | ||
414 | MAD_F(0x0ffc19fd) /* 0.999048222 */, MAD_F(0x0fdcf549) /* 0.991444861 */, | ||
415 | MAD_F(0x0f9ee890) /* 0.976296007 */, MAD_F(0x0f426cb5) /* 0.953716951 */, | ||
416 | MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0e313245) /* 0.887010833 */, | ||
417 | |||
418 | MAD_F(0x0d7e8807) /* 0.843391446 */, MAD_F(0x0cb19346) /* 0.793353340 */, | ||
419 | MAD_F(0x0bcbe352) /* 0.737277337 */, MAD_F(0x0acf37ad) /* 0.675590208 */, | ||
420 | MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0898c779) /* 0.537299608 */, | ||
421 | MAD_F(0x07635284) /* 0.461748613 */, MAD_F(0x061f78aa) /* 0.382683432 */, | ||
422 | MAD_F(0x04cfb0e2) /* 0.300705800 */, MAD_F(0x03768962) /* 0.216439614 */, | ||
423 | MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x00b2aa3e) /* 0.043619387 */, | ||
424 | }; | ||
425 | # endif /* FPM_ARM */ | ||
426 | |||
427 | /* | ||
428 | * windowing coefficients for short blocks | ||
429 | * derived from section 2.4.3.4.10.3 of ISO/IEC 11172-3 | ||
430 | * | ||
431 | * window_s[i] = sin((PI / 12) * (i + 1/2)) | ||
432 | */ | ||
433 | mad_fixed_t const window_s[12] ICONST_ATTR MEM_ALIGN_ATTR = { | ||
434 | MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */, | ||
435 | MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */, | ||
436 | MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */, | ||
437 | MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ec835e8) /* 0.923879533 */, | ||
438 | MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x09bd7ca0) /* 0.608761429 */, | ||
439 | MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */, | ||
440 | }; | ||
441 | |||
442 | /* | ||
443 | * coefficients for intensity stereo processing | ||
444 | * derived from section 2.4.3.4.9.3 of ISO/IEC 11172-3 | ||
445 | * | ||
446 | * is_ratio[i] = tan(i * (PI / 12)) | ||
447 | * is_table[i] = is_ratio[i] / (1 + is_ratio[i]) | ||
448 | */ | ||
449 | static | ||
450 | mad_fixed_t const is_table[7] = { | ||
451 | MAD_F(0x00000000) /* 0.000000000 */, | ||
452 | MAD_F(0x0361962f) /* 0.211324865 */, | ||
453 | MAD_F(0x05db3d74) /* 0.366025404 */, | ||
454 | MAD_F(0x08000000) /* 0.500000000 */, | ||
455 | MAD_F(0x0a24c28c) /* 0.633974596 */, | ||
456 | MAD_F(0x0c9e69d1) /* 0.788675135 */, | ||
457 | MAD_F(0x10000000) /* 1.000000000 */ | ||
458 | }; | ||
459 | |||
460 | /* | ||
461 | * coefficients for LSF intensity stereo processing | ||
462 | * derived from section 2.4.3.2 of ISO/IEC 13818-3 | ||
463 | * | ||
464 | * is_lsf_table[0][i] = (1 / sqrt(sqrt(2)))^(i + 1) | ||
465 | * is_lsf_table[1][i] = (1 / sqrt(2)) ^(i + 1) | ||
466 | */ | ||
467 | static | ||
468 | mad_fixed_t const is_lsf_table[2][15] = { | ||
469 | { | ||
470 | MAD_F(0x0d744fcd) /* 0.840896415 */, | ||
471 | MAD_F(0x0b504f33) /* 0.707106781 */, | ||
472 | MAD_F(0x09837f05) /* 0.594603558 */, | ||
473 | MAD_F(0x08000000) /* 0.500000000 */, | ||
474 | MAD_F(0x06ba27e6) /* 0.420448208 */, | ||
475 | MAD_F(0x05a8279a) /* 0.353553391 */, | ||
476 | MAD_F(0x04c1bf83) /* 0.297301779 */, | ||
477 | MAD_F(0x04000000) /* 0.250000000 */, | ||
478 | MAD_F(0x035d13f3) /* 0.210224104 */, | ||
479 | MAD_F(0x02d413cd) /* 0.176776695 */, | ||
480 | MAD_F(0x0260dfc1) /* 0.148650889 */, | ||
481 | MAD_F(0x02000000) /* 0.125000000 */, | ||
482 | MAD_F(0x01ae89fa) /* 0.105112052 */, | ||
483 | MAD_F(0x016a09e6) /* 0.088388348 */, | ||
484 | MAD_F(0x01306fe1) /* 0.074325445 */ | ||
485 | }, { | ||
486 | MAD_F(0x0b504f33) /* 0.707106781 */, | ||
487 | MAD_F(0x08000000) /* 0.500000000 */, | ||
488 | MAD_F(0x05a8279a) /* 0.353553391 */, | ||
489 | MAD_F(0x04000000) /* 0.250000000 */, | ||
490 | MAD_F(0x02d413cd) /* 0.176776695 */, | ||
491 | MAD_F(0x02000000) /* 0.125000000 */, | ||
492 | MAD_F(0x016a09e6) /* 0.088388348 */, | ||
493 | MAD_F(0x01000000) /* 0.062500000 */, | ||
494 | MAD_F(0x00b504f3) /* 0.044194174 */, | ||
495 | MAD_F(0x00800000) /* 0.031250000 */, | ||
496 | MAD_F(0x005a827a) /* 0.022097087 */, | ||
497 | MAD_F(0x00400000) /* 0.015625000 */, | ||
498 | MAD_F(0x002d413d) /* 0.011048543 */, | ||
499 | MAD_F(0x00200000) /* 0.007812500 */, | ||
500 | MAD_F(0x0016a09e) /* 0.005524272 */ | ||
501 | } | ||
502 | }; | ||
503 | |||
504 | /* | ||
505 | * NAME: III_sideinfo() | ||
506 | * DESCRIPTION: decode frame side information from a bitstream | ||
507 | */ | ||
508 | static | ||
509 | enum mad_error III_sideinfo(struct mad_bitptr *ptr, unsigned int nch, | ||
510 | int lsf, struct sideinfo *si, | ||
511 | unsigned int *data_bitlen, | ||
512 | unsigned int *priv_bitlen) | ||
513 | { | ||
514 | unsigned int ngr, gr, ch, i; | ||
515 | enum mad_error result = MAD_ERROR_NONE; | ||
516 | |||
517 | *data_bitlen = 0; | ||
518 | *priv_bitlen = lsf ? ((nch == 1) ? 1 : 2) : ((nch == 1) ? 5 : 3); | ||
519 | |||
520 | si->main_data_begin = mad_bit_read(ptr, lsf ? 8 : 9); | ||
521 | si->private_bits = mad_bit_read(ptr, *priv_bitlen); | ||
522 | |||
523 | ngr = 1; | ||
524 | if (!lsf) { | ||
525 | ngr = 2; | ||
526 | |||
527 | for (ch = 0; ch < nch; ++ch) | ||
528 | si->scfsi[ch] = mad_bit_read(ptr, 4); | ||
529 | } | ||
530 | |||
531 | for (gr = 0; gr < ngr; ++gr) { | ||
532 | struct granule *granule = &si->gr[gr]; | ||
533 | |||
534 | for (ch = 0; ch < nch; ++ch) { | ||
535 | struct channel *channel = &granule->ch[ch]; | ||
536 | |||
537 | channel->part2_3_length = mad_bit_read(ptr, 12); | ||
538 | channel->big_values = mad_bit_read(ptr, 9); | ||
539 | channel->global_gain = mad_bit_read(ptr, 8); | ||
540 | channel->scalefac_compress = mad_bit_read(ptr, lsf ? 9 : 4); | ||
541 | |||
542 | *data_bitlen += channel->part2_3_length; | ||
543 | |||
544 | if (channel->big_values > 288 && result == 0) | ||
545 | result = MAD_ERROR_BADBIGVALUES; | ||
546 | |||
547 | channel->flags = 0; | ||
548 | |||
549 | /* window_switching_flag */ | ||
550 | if (mad_bit_read(ptr, 1)) { | ||
551 | channel->block_type = mad_bit_read(ptr, 2); | ||
552 | |||
553 | if (channel->block_type == 0 && result == 0) | ||
554 | result = MAD_ERROR_BADBLOCKTYPE; | ||
555 | |||
556 | if (!lsf && channel->block_type == 2 && si->scfsi[ch] && result == 0) | ||
557 | result = MAD_ERROR_BADSCFSI; | ||
558 | |||
559 | channel->region0_count = 7; | ||
560 | channel->region1_count = 36; | ||
561 | |||
562 | if (mad_bit_read(ptr, 1)) | ||
563 | channel->flags |= mixed_block_flag; | ||
564 | else if (channel->block_type == 2) | ||
565 | channel->region0_count = 8; | ||
566 | |||
567 | for (i = 0; i < 2; ++i) | ||
568 | channel->table_select[i] = mad_bit_read(ptr, 5); | ||
569 | |||
570 | # if defined(DEBUG) | ||
571 | channel->table_select[2] = 4; /* not used */ | ||
572 | # endif | ||
573 | |||
574 | for (i = 0; i < 3; ++i) | ||
575 | channel->subblock_gain[i] = mad_bit_read(ptr, 3); | ||
576 | } | ||
577 | else { | ||
578 | channel->block_type = 0; | ||
579 | |||
580 | for (i = 0; i < 3; ++i) | ||
581 | channel->table_select[i] = mad_bit_read(ptr, 5); | ||
582 | |||
583 | channel->region0_count = mad_bit_read(ptr, 4); | ||
584 | channel->region1_count = mad_bit_read(ptr, 3); | ||
585 | } | ||
586 | |||
587 | /* [preflag,] scalefac_scale, count1table_select */ | ||
588 | channel->flags |= mad_bit_read(ptr, lsf ? 2 : 3); | ||
589 | } | ||
590 | } | ||
591 | |||
592 | return result; | ||
593 | } | ||
594 | |||
595 | /* | ||
596 | * NAME: III_scalefactors_lsf() | ||
597 | * DESCRIPTION: decode channel scalefactors for LSF from a bitstream | ||
598 | */ | ||
599 | static | ||
600 | unsigned int III_scalefactors_lsf(struct mad_bitptr *ptr, | ||
601 | struct channel *channel, | ||
602 | struct channel *gr1ch, int mode_extension) | ||
603 | { | ||
604 | struct mad_bitptr start; | ||
605 | unsigned int scalefac_compress, index, slen[4], part, n, i; | ||
606 | unsigned char const *nsfb; | ||
607 | |||
608 | start = *ptr; | ||
609 | |||
610 | scalefac_compress = channel->scalefac_compress; | ||
611 | index = (channel->block_type == 2) ? | ||
612 | ((channel->flags & mixed_block_flag) ? 2 : 1) : 0; | ||
613 | |||
614 | if (!((mode_extension & I_STEREO) && gr1ch)) { | ||
615 | if (scalefac_compress < 400) { | ||
616 | slen[0] = (scalefac_compress >> 4) / 5; | ||
617 | slen[1] = (scalefac_compress >> 4) % 5; | ||
618 | slen[2] = (scalefac_compress % 16) >> 2; | ||
619 | slen[3] = scalefac_compress % 4; | ||
620 | |||
621 | nsfb = nsfb_table[0][index]; | ||
622 | } | ||
623 | else if (scalefac_compress < 500) { | ||
624 | scalefac_compress -= 400; | ||
625 | |||
626 | slen[0] = (scalefac_compress >> 2) / 5; | ||
627 | slen[1] = (scalefac_compress >> 2) % 5; | ||
628 | slen[2] = scalefac_compress % 4; | ||
629 | slen[3] = 0; | ||
630 | |||
631 | nsfb = nsfb_table[1][index]; | ||
632 | } | ||
633 | else { | ||
634 | scalefac_compress -= 500; | ||
635 | |||
636 | slen[0] = scalefac_compress / 3; | ||
637 | slen[1] = scalefac_compress % 3; | ||
638 | slen[2] = 0; | ||
639 | slen[3] = 0; | ||
640 | |||
641 | channel->flags |= preflag; | ||
642 | |||
643 | nsfb = nsfb_table[2][index]; | ||
644 | } | ||
645 | |||
646 | n = 0; | ||
647 | for (part = 0; part < 4; ++part) { | ||
648 | for (i = 0; i < nsfb[part]; ++i) | ||
649 | channel->scalefac[n++] = mad_bit_read(ptr, slen[part]); | ||
650 | } | ||
651 | |||
652 | while (n < 39) | ||
653 | channel->scalefac[n++] = 0; | ||
654 | } | ||
655 | else { /* (mode_extension & I_STEREO) && gr1ch (i.e. ch == 1) */ | ||
656 | scalefac_compress >>= 1; | ||
657 | |||
658 | if (scalefac_compress < 180) { | ||
659 | slen[0] = scalefac_compress / 36; | ||
660 | slen[1] = (scalefac_compress % 36) / 6; | ||
661 | slen[2] = (scalefac_compress % 36) % 6; | ||
662 | slen[3] = 0; | ||
663 | |||
664 | nsfb = nsfb_table[3][index]; | ||
665 | } | ||
666 | else if (scalefac_compress < 244) { | ||
667 | scalefac_compress -= 180; | ||
668 | |||
669 | slen[0] = (scalefac_compress % 64) >> 4; | ||
670 | slen[1] = (scalefac_compress % 16) >> 2; | ||
671 | slen[2] = scalefac_compress % 4; | ||
672 | slen[3] = 0; | ||
673 | |||
674 | nsfb = nsfb_table[4][index]; | ||
675 | } | ||
676 | else { | ||
677 | scalefac_compress -= 244; | ||
678 | |||
679 | slen[0] = scalefac_compress / 3; | ||
680 | slen[1] = scalefac_compress % 3; | ||
681 | slen[2] = 0; | ||
682 | slen[3] = 0; | ||
683 | |||
684 | nsfb = nsfb_table[5][index]; | ||
685 | } | ||
686 | |||
687 | n = 0; | ||
688 | for (part = 0; part < 4; ++part) { | ||
689 | unsigned int max, is_pos; | ||
690 | |||
691 | max = (1 << slen[part]) - 1; | ||
692 | |||
693 | for (i = 0; i < nsfb[part]; ++i) { | ||
694 | is_pos = mad_bit_read(ptr, slen[part]); | ||
695 | |||
696 | channel->scalefac[n] = is_pos; | ||
697 | gr1ch->scalefac[n++] = (is_pos == max); | ||
698 | } | ||
699 | } | ||
700 | |||
701 | while (n < 39) { | ||
702 | channel->scalefac[n] = 0; | ||
703 | gr1ch->scalefac[n++] = 0; /* apparently not illegal */ | ||
704 | } | ||
705 | } | ||
706 | |||
707 | return mad_bit_length(&start, ptr); | ||
708 | } | ||
709 | |||
710 | /* | ||
711 | * NAME: III_scalefactors() | ||
712 | * DESCRIPTION: decode channel scalefactors of one granule from a bitstream | ||
713 | */ | ||
714 | static | ||
715 | unsigned int III_scalefactors(struct mad_bitptr *ptr, struct channel *channel, | ||
716 | struct channel const *gr0ch, unsigned int scfsi) | ||
717 | { | ||
718 | struct mad_bitptr start; | ||
719 | unsigned int slen1, slen2, sfbi; | ||
720 | |||
721 | start = *ptr; | ||
722 | |||
723 | slen1 = sflen_table[channel->scalefac_compress].slen1; | ||
724 | slen2 = sflen_table[channel->scalefac_compress].slen2; | ||
725 | |||
726 | if (channel->block_type == 2) { | ||
727 | unsigned int nsfb; | ||
728 | |||
729 | sfbi = 0; | ||
730 | |||
731 | nsfb = (channel->flags & mixed_block_flag) ? 8 + 3 * 3 : 6 * 3; | ||
732 | while (nsfb--) | ||
733 | channel->scalefac[sfbi++] = mad_bit_read(ptr, slen1); | ||
734 | |||
735 | nsfb = 6 * 3; | ||
736 | while (nsfb--) | ||
737 | channel->scalefac[sfbi++] = mad_bit_read(ptr, slen2); | ||
738 | |||
739 | nsfb = 1 * 3; | ||
740 | while (nsfb--) | ||
741 | channel->scalefac[sfbi++] = 0; | ||
742 | } | ||
743 | else { /* channel->block_type != 2 */ | ||
744 | if (scfsi & 0x8) { | ||
745 | for (sfbi = 0; sfbi < 6; ++sfbi) | ||
746 | channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; | ||
747 | } | ||
748 | else { | ||
749 | for (sfbi = 0; sfbi < 6; ++sfbi) | ||
750 | channel->scalefac[sfbi] = mad_bit_read(ptr, slen1); | ||
751 | } | ||
752 | |||
753 | if (scfsi & 0x4) { | ||
754 | for (sfbi = 6; sfbi < 11; ++sfbi) | ||
755 | channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; | ||
756 | } | ||
757 | else { | ||
758 | for (sfbi = 6; sfbi < 11; ++sfbi) | ||
759 | channel->scalefac[sfbi] = mad_bit_read(ptr, slen1); | ||
760 | } | ||
761 | |||
762 | if (scfsi & 0x2) { | ||
763 | for (sfbi = 11; sfbi < 16; ++sfbi) | ||
764 | channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; | ||
765 | } | ||
766 | else { | ||
767 | for (sfbi = 11; sfbi < 16; ++sfbi) | ||
768 | channel->scalefac[sfbi] = mad_bit_read(ptr, slen2); | ||
769 | } | ||
770 | |||
771 | if (scfsi & 0x1) { | ||
772 | for (sfbi = 16; sfbi < 21; ++sfbi) | ||
773 | channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; | ||
774 | } | ||
775 | else { | ||
776 | for (sfbi = 16; sfbi < 21; ++sfbi) | ||
777 | channel->scalefac[sfbi] = mad_bit_read(ptr, slen2); | ||
778 | } | ||
779 | |||
780 | channel->scalefac[21] = 0; | ||
781 | } | ||
782 | |||
783 | return mad_bit_length(&start, ptr); | ||
784 | } | ||
785 | |||
786 | /* | ||
787 | * The Layer III formula for requantization and scaling is defined by | ||
788 | * section 2.4.3.4.7.1 of ISO/IEC 11172-3, as follows: | ||
789 | * | ||
790 | * long blocks: | ||
791 | * xr[i] = sign(is[i]) * abs(is[i])^(4/3) * | ||
792 | * 2^((1/4) * (global_gain - 210)) * | ||
793 | * 2^-(scalefac_multiplier * | ||
794 | * (scalefac_l[sfb] + preflag * pretab[sfb])) | ||
795 | * | ||
796 | * short blocks: | ||
797 | * xr[i] = sign(is[i]) * abs(is[i])^(4/3) * | ||
798 | * 2^((1/4) * (global_gain - 210 - 8 * subblock_gain[w])) * | ||
799 | * 2^-(scalefac_multiplier * scalefac_s[sfb][w]) | ||
800 | * | ||
801 | * where: | ||
802 | * scalefac_multiplier = (scalefac_scale + 1) / 2 | ||
803 | * | ||
804 | * The routines III_exponents() and III_requantize() facilitate this | ||
805 | * calculation. | ||
806 | */ | ||
807 | |||
808 | /* | ||
809 | * NAME: III_exponents() | ||
810 | * DESCRIPTION: calculate scalefactor exponents | ||
811 | */ | ||
812 | static | ||
813 | void III_exponents(struct channel const *channel, | ||
814 | unsigned char const *sfbwidth, signed int exponents[39]) | ||
815 | { | ||
816 | signed int gain; | ||
817 | unsigned int scalefac_multiplier, sfbi; | ||
818 | |||
819 | gain = (signed int) channel->global_gain - 210; | ||
820 | scalefac_multiplier = (channel->flags & scalefac_scale) ? 2 : 1; | ||
821 | |||
822 | if (channel->block_type == 2) { | ||
823 | unsigned int l; | ||
824 | signed int gain0, gain1, gain2; | ||
825 | |||
826 | sfbi = l = 0; | ||
827 | |||
828 | if (channel->flags & mixed_block_flag) { | ||
829 | unsigned int premask; | ||
830 | |||
831 | premask = (channel->flags & preflag) ? ~0 : 0; | ||
832 | |||
833 | /* long block subbands 0-1 */ | ||
834 | |||
835 | while (l < 36) { | ||
836 | exponents[sfbi] = gain - | ||
837 | (signed int) ((channel->scalefac[sfbi] + (pretab[sfbi] & premask)) << | ||
838 | scalefac_multiplier); | ||
839 | |||
840 | l += sfbwidth[sfbi++]; | ||
841 | } | ||
842 | } | ||
843 | |||
844 | /* this is probably wrong for 8000 Hz short/mixed blocks */ | ||
845 | |||
846 | gain0 = gain - 8 * (signed int) channel->subblock_gain[0]; | ||
847 | gain1 = gain - 8 * (signed int) channel->subblock_gain[1]; | ||
848 | gain2 = gain - 8 * (signed int) channel->subblock_gain[2]; | ||
849 | |||
850 | while (l < 576) { | ||
851 | exponents[sfbi + 0] = gain0 - | ||
852 | (signed int) (channel->scalefac[sfbi + 0] << scalefac_multiplier); | ||
853 | exponents[sfbi + 1] = gain1 - | ||
854 | (signed int) (channel->scalefac[sfbi + 1] << scalefac_multiplier); | ||
855 | exponents[sfbi + 2] = gain2 - | ||
856 | (signed int) (channel->scalefac[sfbi + 2] << scalefac_multiplier); | ||
857 | unsigned int w = sfbwidth[sfbi]; | ||
858 | l += 3 * w; | ||
859 | sfbi += 3; | ||
860 | } | ||
861 | } | ||
862 | else { /* channel->block_type != 2 */ | ||
863 | if (channel->flags & preflag) { | ||
864 | for (sfbi = 0; sfbi < 22; ++sfbi) { | ||
865 | exponents[sfbi] = gain - | ||
866 | (signed int) ((channel->scalefac[sfbi] + pretab[sfbi]) << | ||
867 | scalefac_multiplier); | ||
868 | } | ||
869 | } | ||
870 | else { | ||
871 | for (sfbi = 0; sfbi < 22; ++sfbi) { | ||
872 | exponents[sfbi] = gain - | ||
873 | (signed int) (channel->scalefac[sfbi] << scalefac_multiplier); | ||
874 | } | ||
875 | } | ||
876 | } | ||
877 | } | ||
878 | |||
879 | /* | ||
880 | * NAME: III_requantize() | ||
881 | * DESCRIPTION: requantize one (positive) value | ||
882 | */ | ||
883 | static | ||
884 | mad_fixed_t III_requantize(unsigned int value, signed int exp) | ||
885 | { | ||
886 | mad_fixed_t requantized; | ||
887 | signed int frac; | ||
888 | unsigned long power; | ||
889 | |||
890 | frac = exp % 4; /* assumes sign(frac) == sign(exp) */ | ||
891 | exp /= 4; | ||
892 | |||
893 | /* format rq_table: bit31-27=exponent bit26-0=mantissa */ | ||
894 | power = rq_table[value]; | ||
895 | requantized = power & 0x07ffffff; | ||
896 | exp += power >> 27; | ||
897 | |||
898 | if (exp < 0) { | ||
899 | if (-exp >= (signed int) (sizeof(mad_fixed_t) * CHAR_BIT)) { | ||
900 | /* underflow */ | ||
901 | requantized = 0; | ||
902 | } | ||
903 | else { | ||
904 | requantized += 1L << (-exp - 1); | ||
905 | requantized >>= -exp; | ||
906 | } | ||
907 | } | ||
908 | else { | ||
909 | if (exp >= 5) { | ||
910 | /* overflow */ | ||
911 | # if defined(DEBUG) | ||
912 | fprintf(stderr, "requantize overflow (%f * 2^%d)\n", | ||
913 | mad_f_todouble(requantized), exp); | ||
914 | # endif | ||
915 | requantized = MAD_F_MAX; | ||
916 | } | ||
917 | else | ||
918 | requantized <<= exp; | ||
919 | } | ||
920 | |||
921 | return frac ? mad_f_mul(requantized, root_table[3 + frac]) : requantized; | ||
922 | } | ||
923 | |||
924 | /* we must take care that sz >= bits and sz < sizeof(long) lest bits == 0 */ | ||
925 | # if defined(CPU_ARM) | ||
926 | # define MASK(cache, sz, bits) \ | ||
927 | ({ unsigned long res; \ | ||
928 | asm ("mov %0, #1\n\t" \ | ||
929 | "rsb %0, %0, %0, lsl %3\n\t" \ | ||
930 | "and %0, %0, %1, lsr %2" \ | ||
931 | : "=&r" (res) : "r" (cache), "r" ((sz) - (bits)), "r" (bits)); \ | ||
932 | res; \ | ||
933 | }) | ||
934 | #else | ||
935 | # define MASK(cache, sz, bits) \ | ||
936 | (((cache) >> ((sz) - (bits))) & ((1 << (bits)) - 1)) | ||
937 | #endif | ||
938 | # define MASK1BIT(cache, sz) \ | ||
939 | ((cache) & (1 << ((sz) - 1))) | ||
940 | |||
941 | /* | ||
942 | * NAME: III_huffdecode() | ||
943 | * DESCRIPTION: decode Huffman code words of one channel of one granule | ||
944 | */ | ||
945 | static | ||
946 | enum mad_error III_huffdecode(struct mad_bitptr *ptr, mad_fixed_t xrarr[576], | ||
947 | struct channel *channel, | ||
948 | unsigned char const *sfbwidth, | ||
949 | unsigned int part2_length) | ||
950 | { | ||
951 | unsigned int bits; | ||
952 | signed int exponents[39], exp; | ||
953 | signed int const *expptr; | ||
954 | struct mad_bitptr peek; | ||
955 | signed int bits_left, cachesz; | ||
956 | register mad_fixed_t *xr; | ||
957 | mad_fixed_t const *sfbound; | ||
958 | register unsigned long bitcache; | ||
959 | |||
960 | bits_left = (signed) channel->part2_3_length - (signed) part2_length; | ||
961 | if (bits_left < 0) | ||
962 | return MAD_ERROR_BADPART3LEN; | ||
963 | |||
964 | III_exponents(channel, sfbwidth, exponents); | ||
965 | |||
966 | peek = *ptr; | ||
967 | cachesz = 0; | ||
968 | sfbound = xr = xrarr; | ||
969 | mad_bit_skip(ptr, bits_left); | ||
970 | |||
971 | /* big_values */ | ||
972 | { | ||
973 | int region; | ||
974 | struct hufftable const *entry; | ||
975 | union huffpair const *table; | ||
976 | unsigned int linbits, startbits, rcount; | ||
977 | mad_fixed_t reqcache[16]; | ||
978 | mad_fixed_t const *xr_end, *xr_big_val; | ||
979 | |||
980 | rcount = 1; | ||
981 | expptr = &exponents[0]; | ||
982 | region = -1; | ||
983 | exp = 0x3210; /* start value */ | ||
984 | bitcache = 0; | ||
985 | linbits = startbits = 0; | ||
986 | table = NULL; | ||
987 | xr_big_val = xr + 2 * channel->big_values; | ||
988 | |||
989 | while(xr < xr_big_val) | ||
990 | { | ||
991 | sfbound += *sfbwidth++; | ||
992 | xr_end = sfbound > xr_big_val ? xr_big_val : sfbound; | ||
993 | |||
994 | /* change table if region boundary */ | ||
995 | if(--rcount == 0) | ||
996 | { | ||
997 | if(exp == 0x3210) | ||
998 | rcount = channel->region0_count + 1; | ||
999 | else | ||
1000 | if(region == 0) | ||
1001 | rcount = channel->region1_count + 1; | ||
1002 | else | ||
1003 | rcount = 0; /* all remaining */ | ||
1004 | |||
1005 | entry = &mad_huff_pair_table[channel->table_select[++region]]; | ||
1006 | table = entry->table; | ||
1007 | linbits = entry->linbits; | ||
1008 | startbits = entry->startbits; | ||
1009 | |||
1010 | if(table == 0) | ||
1011 | return MAD_ERROR_BADHUFFTABLE; | ||
1012 | } | ||
1013 | |||
1014 | if(exp != *expptr) | ||
1015 | { | ||
1016 | exp = *expptr; | ||
1017 | /* clear cache */ | ||
1018 | memset(reqcache, 0, sizeof(reqcache)); | ||
1019 | } | ||
1020 | |||
1021 | ++expptr; | ||
1022 | |||
1023 | if(linbits) | ||
1024 | { | ||
1025 | for( ; xr<xr_end; xr+=2) | ||
1026 | { | ||
1027 | union huffpair const *pair; | ||
1028 | register mad_fixed_t requantized; | ||
1029 | unsigned int clumpsz, value; | ||
1030 | |||
1031 | /* maxhuffcode(hufftab16,hufftab24)=17bit + sign(x,y)=2bit */ | ||
1032 | if(cachesz < 19) | ||
1033 | { | ||
1034 | if(cachesz < 0) | ||
1035 | return MAD_ERROR_BADHUFFDATA; /* cache underrun */ | ||
1036 | |||
1037 | bits = MAXLSHIFT - cachesz; | ||
1038 | bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); | ||
1039 | cachesz += bits; | ||
1040 | } | ||
1041 | |||
1042 | /* hcod (0..19) */ | ||
1043 | clumpsz = startbits; | ||
1044 | pair = &table[MASK(bitcache, cachesz, clumpsz)]; | ||
1045 | |||
1046 | while(!pair->final) | ||
1047 | { | ||
1048 | cachesz -= clumpsz; | ||
1049 | clumpsz = pair->ptr.bits; | ||
1050 | pair = &table[pair->ptr.offset + MASK(bitcache, cachesz, clumpsz)]; | ||
1051 | } | ||
1052 | |||
1053 | cachesz -= pair->value.hlen; | ||
1054 | |||
1055 | /* x (0..14) */ | ||
1056 | value = pair->value.x; | ||
1057 | if(value == 0) | ||
1058 | xr[0] = 0; | ||
1059 | else | ||
1060 | { | ||
1061 | if(value == 15) | ||
1062 | { | ||
1063 | /* maxlinbits=13bit + sign(x,y)=2bit */ | ||
1064 | if(cachesz < 15) | ||
1065 | { | ||
1066 | if(cachesz < 0) | ||
1067 | return MAD_ERROR_BADHUFFDATA; /* cache underrun */ | ||
1068 | |||
1069 | bits = MAXLSHIFT - cachesz; | ||
1070 | bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); | ||
1071 | cachesz += bits; | ||
1072 | } | ||
1073 | |||
1074 | requantized = III_requantize(15+MASK(bitcache, cachesz, linbits), exp); | ||
1075 | cachesz -= linbits; | ||
1076 | } | ||
1077 | else | ||
1078 | { | ||
1079 | if(reqcache[value]) | ||
1080 | requantized = reqcache[value]; | ||
1081 | else | ||
1082 | requantized = reqcache[value] = III_requantize(value, exp); | ||
1083 | } | ||
1084 | |||
1085 | xr[0] = MASK1BIT(bitcache, cachesz--) ? -requantized : requantized; | ||
1086 | } | ||
1087 | |||
1088 | /* y (0..14) */ | ||
1089 | value = pair->value.y; | ||
1090 | if(value == 0) | ||
1091 | xr[1] = 0; | ||
1092 | else | ||
1093 | { | ||
1094 | if(value == 15) | ||
1095 | { | ||
1096 | /* maxlinbits=13bit + sign(y)=1bit */ | ||
1097 | if(cachesz < 14) | ||
1098 | { | ||
1099 | if(cachesz < 0) | ||
1100 | return MAD_ERROR_BADHUFFDATA; /* cache underrun */ | ||
1101 | |||
1102 | bits = MAXLSHIFT - cachesz; | ||
1103 | bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); | ||
1104 | cachesz += bits; | ||
1105 | } | ||
1106 | |||
1107 | requantized = III_requantize(15+MASK(bitcache, cachesz, linbits), exp); | ||
1108 | cachesz -= linbits; | ||
1109 | } | ||
1110 | else | ||
1111 | { | ||
1112 | if(reqcache[value]) | ||
1113 | requantized = reqcache[value]; | ||
1114 | else | ||
1115 | requantized = reqcache[value] = III_requantize(value, exp); | ||
1116 | } | ||
1117 | xr[1] = MASK1BIT(bitcache, cachesz--) ? -requantized : requantized; | ||
1118 | } | ||
1119 | } | ||
1120 | } | ||
1121 | else | ||
1122 | { | ||
1123 | for( ; xr<xr_end; xr+=2) | ||
1124 | { | ||
1125 | union huffpair const *pair; | ||
1126 | register mad_fixed_t requantized; | ||
1127 | unsigned int clumpsz, value; | ||
1128 | |||
1129 | /* maxlookup=4bit + sign(x,y)=2bit */ | ||
1130 | if(cachesz < 6) | ||
1131 | { | ||
1132 | if(cachesz < 0) | ||
1133 | return MAD_ERROR_BADHUFFDATA; /* cache underrun */ | ||
1134 | |||
1135 | bits = MAXLSHIFT - cachesz; | ||
1136 | bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); | ||
1137 | cachesz += bits; | ||
1138 | } | ||
1139 | |||
1140 | /* hcod (0..19) */ | ||
1141 | clumpsz = startbits; | ||
1142 | pair = &table[MASK(bitcache, cachesz, clumpsz)]; | ||
1143 | |||
1144 | while(!pair->final) | ||
1145 | { | ||
1146 | cachesz -= clumpsz; | ||
1147 | |||
1148 | /* maxlookup=4bit + sign(x,y)=2bit */ | ||
1149 | if(cachesz < 6) | ||
1150 | { | ||
1151 | if(cachesz < 0) | ||
1152 | return MAD_ERROR_BADHUFFDATA; /* cache underrun */ | ||
1153 | |||
1154 | bits = MAXLSHIFT - cachesz; | ||
1155 | bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); | ||
1156 | cachesz += bits; | ||
1157 | } | ||
1158 | |||
1159 | clumpsz = pair->ptr.bits; | ||
1160 | pair = &table[pair->ptr.offset + MASK(bitcache, cachesz, clumpsz)]; | ||
1161 | } | ||
1162 | |||
1163 | cachesz -= pair->value.hlen; | ||
1164 | |||
1165 | /* x (0..1) */ | ||
1166 | value = pair->value.x; | ||
1167 | if(value == 0) | ||
1168 | xr[0] = 0; | ||
1169 | else | ||
1170 | { | ||
1171 | if(reqcache[value]) | ||
1172 | requantized = reqcache[value]; | ||
1173 | else | ||
1174 | requantized = reqcache[value] = III_requantize(value, exp); | ||
1175 | |||
1176 | xr[0] = MASK1BIT(bitcache, cachesz--) ? -requantized : requantized; | ||
1177 | } | ||
1178 | |||
1179 | /* y (0..1) */ | ||
1180 | value = pair->value.y; | ||
1181 | if(value == 0) | ||
1182 | xr[1] = 0; | ||
1183 | else | ||
1184 | { | ||
1185 | if(reqcache[value]) | ||
1186 | requantized = reqcache[value]; | ||
1187 | else | ||
1188 | requantized = reqcache[value] = III_requantize(value, exp); | ||
1189 | |||
1190 | xr[1] = MASK1BIT(bitcache, cachesz--) ? -requantized : requantized; | ||
1191 | } | ||
1192 | } | ||
1193 | } | ||
1194 | } | ||
1195 | } | ||
1196 | |||
1197 | bits_left = ptr->readbit - peek.readbit; | ||
1198 | |||
1199 | if(bits_left + cachesz < 0) | ||
1200 | return MAD_ERROR_BADHUFFDATA; /* big_values overrun */ | ||
1201 | |||
1202 | /* count1 */ | ||
1203 | { | ||
1204 | union huffquad const *table; | ||
1205 | register mad_fixed_t requantized; | ||
1206 | |||
1207 | table = mad_huff_quad_table[channel->flags & count1table_select]; | ||
1208 | |||
1209 | requantized = III_requantize(1, exp); | ||
1210 | |||
1211 | while(xr <= &xrarr[572] && bits_left + cachesz > 0) | ||
1212 | { | ||
1213 | union huffquad const *quad; | ||
1214 | |||
1215 | /* hcod (1..6) */ | ||
1216 | if(cachesz < 10) | ||
1217 | { | ||
1218 | if(cachesz < 0) | ||
1219 | return MAD_ERROR_BADHUFFDATA; /* cache underrun */ | ||
1220 | |||
1221 | bits = MAXLSHIFT - cachesz; | ||
1222 | bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); | ||
1223 | cachesz += bits; | ||
1224 | bits_left -= bits; | ||
1225 | } | ||
1226 | |||
1227 | quad = &table[MASK(bitcache, cachesz, 4)]; | ||
1228 | |||
1229 | /* quad tables guaranteed to have at most one extra lookup */ | ||
1230 | if (!quad->final) { | ||
1231 | cachesz -= 4; | ||
1232 | |||
1233 | quad = &table[quad->ptr.offset + | ||
1234 | MASK(bitcache, cachesz, quad->ptr.bits)]; | ||
1235 | } | ||
1236 | |||
1237 | cachesz -= quad->value.hlen; | ||
1238 | |||
1239 | if (xr == sfbound) { | ||
1240 | sfbound += *sfbwidth++; | ||
1241 | |||
1242 | if (exp != *expptr) { | ||
1243 | exp = *expptr; | ||
1244 | requantized = III_requantize(1, exp); | ||
1245 | } | ||
1246 | |||
1247 | ++expptr; | ||
1248 | } | ||
1249 | |||
1250 | /* v (0..1) */ | ||
1251 | xr[0] = quad->value.v ? | ||
1252 | (MASK1BIT(bitcache, cachesz--) ? -requantized : requantized) : 0; | ||
1253 | |||
1254 | /* w (0..1) */ | ||
1255 | xr[1] = quad->value.w ? | ||
1256 | (MASK1BIT(bitcache, cachesz--) ? -requantized : requantized) : 0; | ||
1257 | |||
1258 | xr += 2; | ||
1259 | |||
1260 | if (xr == sfbound) { | ||
1261 | sfbound += *sfbwidth++; | ||
1262 | |||
1263 | if (exp != *expptr) { | ||
1264 | exp = *expptr; | ||
1265 | requantized = III_requantize(1, exp); | ||
1266 | } | ||
1267 | |||
1268 | ++expptr; | ||
1269 | } | ||
1270 | |||
1271 | /* x (0..1) */ | ||
1272 | xr[0] = quad->value.x ? | ||
1273 | (MASK1BIT(bitcache, cachesz--) ? -requantized : requantized) : 0; | ||
1274 | |||
1275 | /* y (0..1) */ | ||
1276 | xr[1] = quad->value.y ? | ||
1277 | (MASK1BIT(bitcache, cachesz--) ? -requantized : requantized) : 0; | ||
1278 | |||
1279 | xr += 2; | ||
1280 | } | ||
1281 | |||
1282 | if(bits_left + cachesz < 0) | ||
1283 | { | ||
1284 | /* technically the bitstream is misformatted, but apparently | ||
1285 | some encoders are just a bit sloppy with stuffing bits */ | ||
1286 | xr -= 4; | ||
1287 | } | ||
1288 | } | ||
1289 | |||
1290 | /* rzero */ | ||
1291 | memset(xr, 0, (char*)&xrarr[576] - (char*)xr); | ||
1292 | |||
1293 | return MAD_ERROR_NONE; | ||
1294 | } | ||
1295 | |||
1296 | # undef MASK | ||
1297 | # undef MASK1BIT | ||
1298 | |||
1299 | /* | ||
1300 | * NAME: III_reorder() | ||
1301 | * DESCRIPTION: reorder frequency lines of a short block into subband order | ||
1302 | */ | ||
1303 | static | ||
1304 | void III_reorder(mad_fixed_t xr[576], struct channel const *channel, | ||
1305 | unsigned char const sfbwidth[39]) | ||
1306 | { | ||
1307 | mad_fixed_t tmp[32][3][6]; | ||
1308 | unsigned int sb, l, f, w, sbw[3], sw[3]; | ||
1309 | |||
1310 | /* this is probably wrong for 8000 Hz mixed blocks */ | ||
1311 | |||
1312 | sb = 0; | ||
1313 | if (channel->flags & mixed_block_flag) { | ||
1314 | sb = 2; | ||
1315 | |||
1316 | l = 0; | ||
1317 | while (l < 36) | ||
1318 | l += *sfbwidth++; | ||
1319 | } | ||
1320 | |||
1321 | for (w = 0; w < 3; ++w) { | ||
1322 | sbw[w] = sb; | ||
1323 | sw[w] = 0; | ||
1324 | } | ||
1325 | |||
1326 | f = *sfbwidth++; | ||
1327 | w = 0; | ||
1328 | |||
1329 | for (l = 18 * sb; l < 576; ++l) { | ||
1330 | if (f-- == 0) { | ||
1331 | f = *sfbwidth++ - 1; | ||
1332 | w = (w + 1) % 3; | ||
1333 | } | ||
1334 | |||
1335 | unsigned int sbww = sbw[w]; | ||
1336 | tmp[sbww][w][sw[w]++] = xr[l]; | ||
1337 | |||
1338 | if (sw[w] == 6) { | ||
1339 | sw[w] = 0; | ||
1340 | ++sbw[w]; | ||
1341 | } | ||
1342 | } | ||
1343 | |||
1344 | memcpy(&xr[18 * sb], &tmp[sb], (576 - 18 * sb) * sizeof(mad_fixed_t)); | ||
1345 | } | ||
1346 | |||
1347 | /* | ||
1348 | * NAME: III_stereo() | ||
1349 | * DESCRIPTION: perform joint stereo processing on a granule | ||
1350 | */ | ||
1351 | static | ||
1352 | enum mad_error III_stereo(mad_fixed_t xr[2][576], | ||
1353 | struct granule const *granule, | ||
1354 | struct mad_header *header, | ||
1355 | unsigned char const *sfbwidth) | ||
1356 | { | ||
1357 | short modes[39]; | ||
1358 | unsigned int sfbi, l, n, i; | ||
1359 | |||
1360 | if (granule->ch[0].block_type != | ||
1361 | granule->ch[1].block_type || | ||
1362 | (granule->ch[0].flags & mixed_block_flag) != | ||
1363 | (granule->ch[1].flags & mixed_block_flag)) | ||
1364 | return MAD_ERROR_BADSTEREO; | ||
1365 | |||
1366 | for (i = 0; i < 39; ++i) | ||
1367 | modes[i] = header->mode_extension; | ||
1368 | |||
1369 | /* intensity stereo */ | ||
1370 | |||
1371 | if (header->mode_extension & I_STEREO) { | ||
1372 | struct channel const *right_ch = &granule->ch[1]; | ||
1373 | mad_fixed_t const *right_xr = xr[1]; | ||
1374 | unsigned int is_pos; | ||
1375 | |||
1376 | header->flags |= MAD_FLAG_I_STEREO; | ||
1377 | |||
1378 | /* first determine which scalefactor bands are to be processed */ | ||
1379 | |||
1380 | if (right_ch->block_type == 2) { | ||
1381 | unsigned int lower, start, max, bound[3], w; | ||
1382 | |||
1383 | lower = start = max = bound[0] = bound[1] = bound[2] = 0; | ||
1384 | |||
1385 | sfbi = l = 0; | ||
1386 | |||
1387 | if (right_ch->flags & mixed_block_flag) { | ||
1388 | while (l < 36) { | ||
1389 | n = sfbwidth[sfbi++]; | ||
1390 | |||
1391 | for (i = 0; i < n; ++i) { | ||
1392 | if (right_xr[i]) { | ||
1393 | lower = sfbi; | ||
1394 | break; | ||
1395 | } | ||
1396 | } | ||
1397 | |||
1398 | right_xr += n; | ||
1399 | l += n; | ||
1400 | } | ||
1401 | |||
1402 | start = sfbi; | ||
1403 | } | ||
1404 | |||
1405 | w = 0; | ||
1406 | while (l < 576) { | ||
1407 | n = sfbwidth[sfbi++]; | ||
1408 | |||
1409 | for (i = 0; i < n; ++i) { | ||
1410 | if (right_xr[i]) { | ||
1411 | max = bound[w] = sfbi; | ||
1412 | break; | ||
1413 | } | ||
1414 | } | ||
1415 | |||
1416 | right_xr += n; | ||
1417 | l += n; | ||
1418 | w = (w + 1) % 3; | ||
1419 | } | ||
1420 | |||
1421 | if (max) | ||
1422 | lower = start; | ||
1423 | |||
1424 | /* long blocks */ | ||
1425 | |||
1426 | for (i = 0; i < lower; ++i) | ||
1427 | modes[i] = header->mode_extension & ~I_STEREO; | ||
1428 | |||
1429 | /* short blocks */ | ||
1430 | |||
1431 | w = 0; | ||
1432 | for (i = start; i < max; ++i) { | ||
1433 | if (i < bound[w]) | ||
1434 | modes[i] = header->mode_extension & ~I_STEREO; | ||
1435 | |||
1436 | w = (w + 1) % 3; | ||
1437 | } | ||
1438 | } | ||
1439 | else { /* right_ch->block_type != 2 */ | ||
1440 | unsigned int bound; | ||
1441 | |||
1442 | bound = 0; | ||
1443 | for (sfbi = l = 0; l < 576; l += n) { | ||
1444 | n = sfbwidth[sfbi++]; | ||
1445 | |||
1446 | for (i = 0; i < n; ++i) { | ||
1447 | if (right_xr[i]) { | ||
1448 | bound = sfbi; | ||
1449 | break; | ||
1450 | } | ||
1451 | } | ||
1452 | |||
1453 | right_xr += n; | ||
1454 | } | ||
1455 | |||
1456 | for (i = 0; i < bound; ++i) | ||
1457 | modes[i] = header->mode_extension & ~I_STEREO; | ||
1458 | } | ||
1459 | |||
1460 | /* now do the actual processing */ | ||
1461 | |||
1462 | if (header->flags & MAD_FLAG_LSF_EXT) { | ||
1463 | unsigned char const *illegal_pos = granule[1].ch[1].scalefac; | ||
1464 | mad_fixed_t const *lsf_scale; | ||
1465 | |||
1466 | /* intensity_scale */ | ||
1467 | lsf_scale = is_lsf_table[right_ch->scalefac_compress & 0x1]; | ||
1468 | |||
1469 | for (sfbi = l = 0; l < 576; ++sfbi, l += n) { | ||
1470 | n = sfbwidth[sfbi]; | ||
1471 | |||
1472 | if (!(modes[sfbi] & I_STEREO)) | ||
1473 | continue; | ||
1474 | |||
1475 | if (illegal_pos[sfbi]) { | ||
1476 | modes[sfbi] &= ~I_STEREO; | ||
1477 | continue; | ||
1478 | } | ||
1479 | |||
1480 | is_pos = right_ch->scalefac[sfbi]; | ||
1481 | |||
1482 | for (i = 0; i < n; ++i) { | ||
1483 | register mad_fixed_t left; | ||
1484 | |||
1485 | left = xr[0][l + i]; | ||
1486 | |||
1487 | if (is_pos == 0) | ||
1488 | xr[1][l + i] = left; | ||
1489 | else { | ||
1490 | register mad_fixed_t opposite; | ||
1491 | |||
1492 | opposite = mad_f_mul(left, lsf_scale[(is_pos - 1) / 2]); | ||
1493 | |||
1494 | if (is_pos & 1) { | ||
1495 | xr[0][l + i] = opposite; | ||
1496 | xr[1][l + i] = left; | ||
1497 | } | ||
1498 | else | ||
1499 | xr[1][l + i] = opposite; | ||
1500 | } | ||
1501 | } | ||
1502 | } | ||
1503 | } | ||
1504 | else { /* !(header->flags & MAD_FLAG_LSF_EXT) */ | ||
1505 | for (sfbi = l = 0; l < 576; ++sfbi, l += n) { | ||
1506 | n = sfbwidth[sfbi]; | ||
1507 | |||
1508 | if (!(modes[sfbi] & I_STEREO)) | ||
1509 | continue; | ||
1510 | |||
1511 | is_pos = right_ch->scalefac[sfbi]; | ||
1512 | |||
1513 | if (is_pos >= 7) { /* illegal intensity position */ | ||
1514 | modes[sfbi] &= ~I_STEREO; | ||
1515 | continue; | ||
1516 | } | ||
1517 | |||
1518 | for (i = 0; i < n; ++i) { | ||
1519 | register mad_fixed_t left; | ||
1520 | |||
1521 | left = xr[0][l + i]; | ||
1522 | |||
1523 | xr[0][l + i] = mad_f_mul(left, is_table[ is_pos]); | ||
1524 | xr[1][l + i] = mad_f_mul(left, is_table[6 - is_pos]); | ||
1525 | } | ||
1526 | } | ||
1527 | } | ||
1528 | } | ||
1529 | |||
1530 | /* middle/side stereo */ | ||
1531 | |||
1532 | if (header->mode_extension & MS_STEREO) { | ||
1533 | register mad_fixed_t invsqrt2; | ||
1534 | |||
1535 | header->flags |= MAD_FLAG_MS_STEREO; | ||
1536 | |||
1537 | invsqrt2 = root_table[3 + -2]; | ||
1538 | |||
1539 | for (sfbi = l = 0; l < 576; ++sfbi, l += n) { | ||
1540 | n = sfbwidth[sfbi]; | ||
1541 | |||
1542 | if (modes[sfbi] != MS_STEREO) | ||
1543 | continue; | ||
1544 | |||
1545 | for (i = 0; i < n; ++i) { | ||
1546 | register mad_fixed_t m, s; | ||
1547 | |||
1548 | m = xr[0][l + i]; | ||
1549 | s = xr[1][l + i]; | ||
1550 | |||
1551 | xr[0][l + i] = mad_f_mul(m + s, invsqrt2); /* l = (m + s) / sqrt(2) */ | ||
1552 | xr[1][l + i] = mad_f_mul(m - s, invsqrt2); /* r = (m - s) / sqrt(2) */ | ||
1553 | } | ||
1554 | } | ||
1555 | } | ||
1556 | |||
1557 | return MAD_ERROR_NONE; | ||
1558 | } | ||
1559 | |||
1560 | #if defined(CPU_ARM) | ||
1561 | void III_aliasreduce(mad_fixed_t xr[576], int lines); | ||
1562 | #else | ||
1563 | /* | ||
1564 | * NAME: III_aliasreduce() | ||
1565 | * DESCRIPTION: perform frequency line alias reduction | ||
1566 | */ | ||
1567 | static | ||
1568 | void III_aliasreduce(mad_fixed_t xr[576], int lines) | ||
1569 | { | ||
1570 | mad_fixed_t const *bound; | ||
1571 | int i; | ||
1572 | |||
1573 | bound = &xr[lines]; | ||
1574 | for (xr += 18; xr < bound; xr += 18) { | ||
1575 | for (i = 0; i < 8; ++i) { | ||
1576 | register mad_fixed_t a, b; | ||
1577 | register mad_fixed64hi_t hi; | ||
1578 | register mad_fixed64lo_t lo; | ||
1579 | |||
1580 | a = xr[-1 - i]; | ||
1581 | b = xr[ i]; | ||
1582 | |||
1583 | # if defined(CPU_COLDFIRE) | ||
1584 | (void)hi, (void)lo; | ||
1585 | asm volatile ("mac.l %[a], %[csi], %%acc0\n\t" | ||
1586 | "msac.l %[b], %[cai], %%acc0\n\t" | ||
1587 | "mac.l %[b], %[csi], %%acc1\n\t" | ||
1588 | "mac.l %[a], %[cai], %%acc1\n\t" | ||
1589 | "movclr.l %%acc0, %[a]\n\t" | ||
1590 | "asl.l #3, %[a]\n\t" | ||
1591 | "movclr.l %%acc1, %[b]\n\t" | ||
1592 | "asl.l #3, %[b]\n\t" | ||
1593 | : [a] "+d" (a), [b] "+d" (b) | ||
1594 | : [csi] "r" (cs[i]), [cai] "r" (ca[i])); | ||
1595 | xr[-1 - i] = a; | ||
1596 | xr[ i] = b; | ||
1597 | # else | ||
1598 | MAD_F_ML0(hi, lo, a, cs[i]); | ||
1599 | MAD_F_MLA(hi, lo, -b, ca[i]); | ||
1600 | |||
1601 | xr[-1 - i] = MAD_F_MLZ(hi, lo); | ||
1602 | |||
1603 | MAD_F_ML0(hi, lo, b, cs[i]); | ||
1604 | MAD_F_MLA(hi, lo, a, ca[i]); | ||
1605 | |||
1606 | xr[ i] = MAD_F_MLZ(hi, lo); | ||
1607 | # endif | ||
1608 | } | ||
1609 | } | ||
1610 | } | ||
1611 | #endif | ||
1612 | |||
1613 | # if defined(FPM_ARM) | ||
1614 | void III_imdct_l(mad_fixed_t const [18], mad_fixed_t [36], unsigned int); | ||
1615 | # else | ||
1616 | /* | ||
1617 | * NAME: imdct36 | ||
1618 | * DESCRIPTION: perform X[18]->x[36] IMDCT | ||
1619 | */ | ||
1620 | # if defined(CPU_COLDFIRE) | ||
1621 | /* emac optimized imdct36, it is very ugly and i hope to replace it soon. | ||
1622 | * for now it is actually somewhat faster than the stock implementation. | ||
1623 | */ | ||
1624 | static inline | ||
1625 | void imdct36(mad_fixed_t const X[18], mad_fixed_t x[36]) | ||
1626 | { | ||
1627 | mad_fixed_t t[16]; | ||
1628 | /* assumes FRACBITS = 28 */ | ||
1629 | asm volatile ( | ||
1630 | /* MAD_F_ML0(hi, lo, X[4], MAD_F(0x0ec835e8)); */ | ||
1631 | /* MAD_F_MLA(hi, lo, X[13], MAD_F(0x061f78aa)); */ | ||
1632 | /* t6 = MAD_F_MLZ(hi, lo); */ | ||
1633 | "move.l (4*4, %[X]), %%d0\n" | ||
1634 | "move.l #0x0ec835e8, %%d1\n" | ||
1635 | "move.l #0x061f78aa, %%d2\n" | ||
1636 | "mac.l %%d1, %%d0, (13*4, %[X]), %%d0, %%acc0\n" | ||
1637 | "mac.l %%d2, %%d0, ( 1*4, %[X]), %%d0, %%acc0\n" | ||
1638 | "move.l %%acc0, %%d7\n" | ||
1639 | "asl.l #3, %%d7\n" | ||
1640 | "move.l %%d7, (6*4, %[t])\n" | ||
1641 | |||
1642 | /* MAD_F_ML0(hi, lo, (t14 = X[1] - X[10]), -MAD_F(0x0ec835e8)); */ | ||
1643 | /* MAD_F_MLA(hi, lo, (t15 = X[7] + X[16]), MAD_F(0x061f78aa)); */ | ||
1644 | /* t4 = MAD_F_MLZ(hi, lo); */ | ||
1645 | /* MAD_F_MLA(hi, lo, t14, -MAD_F(0x061f78aa)); */ | ||
1646 | /* MAD_F_MLA(hi, lo, t15, -MAD_F(0x0ec835e8)); */ | ||
1647 | /* t0 = MAD_F_MLZ(hi, lo); */ | ||
1648 | "sub.l (10*4, %[X]), %%d0\n" /* t14 */ | ||
1649 | "msac.l %%d0, %%d1, %%acc1\n" | ||
1650 | "msac.l %%d0, %%d2, (7*4, %[X]), %%d5, %%acc0\n" | ||
1651 | "add.l (16*4, %[X]), %%d5\n" /* t15 */ | ||
1652 | "mac.l %%d5, %%d2, %%acc1\n" | ||
1653 | "msac.l %%d5, %%d1, ( %[X]), %%d5, %%acc0\n" | ||
1654 | "movclr.l %%acc1, %%d6\n" | ||
1655 | "asl.l #3, %%d6\n" /* t4 */ | ||
1656 | "move.l %%d6, (4*4, %[t])\n" | ||
1657 | "move.l %%acc0, %%d0\n" | ||
1658 | "asl.l #3, %%d0\n" /* t0 */ | ||
1659 | "move.l %%d0, (0*4, %[t])\n" | ||
1660 | |||
1661 | /* MAD_F_MLA(hi, lo, (t8 =X[0]-X[11]-X[12]), MAD_F(0x0216a2a2)); */ | ||
1662 | /* MAD_F_MLA(hi, lo, (t9 =X[2]-X[ 9]-X[14]), MAD_F(0x09bd7ca0)); */ | ||
1663 | /* MAD_F_MLA(hi, lo, (t10=X[3]-X[ 8]-X[15]), -MAD_F(0x0cb19346)); */ | ||
1664 | /* MAD_F_MLA(hi, lo, (t11=X[5]-X[ 6]-X[17]), -MAD_F(0x0fdcf549)); */ | ||
1665 | /* x[10] = -(x[7] = MAD_F_MLZ(hi, lo)); */ | ||
1666 | |||
1667 | /* MAD_F_ML0(hi, lo, t8, -MAD_F(0x0cb19346)); */ | ||
1668 | /* MAD_F_MLA(hi, lo, t9, MAD_F(0x0fdcf549)); */ | ||
1669 | /* MAD_F_MLA(hi, lo, t10, MAD_F(0x0216a2a2)); */ | ||
1670 | /* MAD_F_MLA(hi, lo, t11, -MAD_F(0x09bd7ca0)); */ | ||
1671 | /* x[19] = x[34] = MAD_F_MLZ(hi, lo) - t0; */ | ||
1672 | |||
1673 | /* MAD_F_ML0(hi, lo, t8, MAD_F(0x09bd7ca0)); */ | ||
1674 | /* MAD_F_MLA(hi, lo, t9, -MAD_F(0x0216a2a2)); */ | ||
1675 | /* MAD_F_MLA(hi, lo, t10, MAD_F(0x0fdcf549)); */ | ||
1676 | /* MAD_F_MLA(hi, lo, t11, -MAD_F(0x0cb19346)); */ | ||
1677 | /* x[ 1] = MAD_F_MLZ(hi, lo); */ | ||
1678 | |||
1679 | /* MAD_F_ML0(hi, lo, t8, -MAD_F(0x0fdcf549)); */ | ||
1680 | /* MAD_F_MLA(hi, lo, t9, -MAD_F(0x0cb19346)); */ | ||
1681 | /* MAD_F_MLA(hi, lo, t10, -MAD_F(0x09bd7ca0)); */ | ||
1682 | /* MAD_F_MLA(hi, lo, t11, -MAD_F(0x0216a2a2)); */ | ||
1683 | /* x[25] = MAD_F_MLZ(hi, lo); */ | ||
1684 | |||
1685 | /* t12 = t8 - t10; */ | ||
1686 | /* t13 = t9 + t11; */ | ||
1687 | "move.l #0x0216a2a2, %%d1\n" | ||
1688 | "move.l #0x0cb19346, %%d2\n" | ||
1689 | "move.l #0x09bd7ca0, %%d3\n" | ||
1690 | "move.l #0x0fdcf549, %%d4\n" | ||
1691 | "sub.l (11*4, %[X]), %%d5\n" | ||
1692 | "sub.l (12*4, %[X]), %%d5\n" | ||
1693 | "mac.l %%d1, %%d5, %%acc0\n" | ||
1694 | "msac.l %%d2, %%d5, %%acc1\n" | ||
1695 | "mac.l %%d3, %%d5, %%acc2\n" | ||
1696 | "msac.l %%d4, %%d5, (2*4, %[X]), %%d6, %%acc3\n" | ||
1697 | "sub.l ( 9*4, %[X]), %%d6\n" | ||
1698 | "sub.l (14*4, %[X]), %%d6\n" | ||
1699 | "mac.l %%d3, %%d6, %%acc0\n" | ||
1700 | "mac.l %%d4, %%d6, %%acc1\n" | ||
1701 | "msac.l %%d1, %%d6, %%acc2\n" | ||
1702 | "msac.l %%d2, %%d6, (3*4, %[X]), %%d7, %%acc3\n" | ||
1703 | "sub.l ( 8*4, %[X]), %%d7\n" | ||
1704 | "sub.l (15*4, %[X]), %%d7\n" | ||
1705 | "sub.l %%d7, %%d5\n" /* d5: t12 */ | ||
1706 | "move.l %%d5, (12*4, %[t])\n" | ||
1707 | "msac.l %%d2, %%d7, %%acc0\n" | ||
1708 | "mac.l %%d1, %%d7, %%acc1\n" | ||
1709 | "mac.l %%d4, %%d7, %%acc2\n" | ||
1710 | "msac.l %%d3, %%d7, (5*4, %[X]), %%d7, %%acc3\n" | ||
1711 | "sub.l ( 6*4, %[X]), %%d7\n" | ||
1712 | "sub.l (17*4, %[X]), %%d7\n" | ||
1713 | "add.l %%d7, %%d6\n" /* d6: t13 */ | ||
1714 | "move.l %%d6, (13*4, %[t])\n" | ||
1715 | "msac.l %%d4, %%d7, %%acc0\n" | ||
1716 | "msac.l %%d3, %%d7, %%acc1\n" | ||
1717 | "msac.l %%d2, %%d7, %%acc2\n" | ||
1718 | "msac.l %%d1, %%d7, (1*4, %[X]), %%d5, %%acc3\n" | ||
1719 | |||
1720 | "movclr.l %%acc0, %%d7\n" | ||
1721 | "asl.l #3, %%d7\n" | ||
1722 | "move.l %%d7, (7*4, %[x])\n" | ||
1723 | "neg.l %%d7\n" | ||
1724 | "move.l %%d7, (10*4, %[x])\n" | ||
1725 | |||
1726 | "movclr.l %%acc1, %%d7\n" | ||
1727 | "asl.l #3, %%d7\n" | ||
1728 | "sub.l %%d0, %%d7\n" | ||
1729 | "move.l %%d7, (19*4, %[x])\n" | ||
1730 | "move.l %%d7, (34*4, %[x])\n" | ||
1731 | |||
1732 | "movclr.l %%acc2, %%d7\n" | ||
1733 | "asl.l #3, %%d7\n" | ||
1734 | "move.l %%d7, ( 1*4, %[x])\n" | ||
1735 | |||
1736 | "movclr.l %%acc3, %%d7\n" | ||
1737 | "asl.l #3, %%d7\n" | ||
1738 | "move.l %%d7, (25*4, %[x])\n" | ||
1739 | |||
1740 | /* MAD_F_ML0(hi, lo, X[1], -MAD_F(0x09bd7ca0)); */ | ||
1741 | /* MAD_F_MLA(hi, lo, X[7], MAD_F(0x0216a2a2)); */ | ||
1742 | /* MAD_F_MLA(hi, lo, X[10], -MAD_F(0x0fdcf549)); */ | ||
1743 | /* MAD_F_MLA(hi, lo, X[16], MAD_F(0x0cb19346)); */ | ||
1744 | /* t1 = MAD_F_MLZ(hi, lo) + t6; */ | ||
1745 | |||
1746 | /* MAD_F_ML0(hi, lo, X[1], -MAD_F(0x0216a2a2)); */ | ||
1747 | /* MAD_F_MLA(hi, lo, X[7], -MAD_F(0x09bd7ca0)); */ | ||
1748 | /* MAD_F_MLA(hi, lo, X[10], MAD_F(0x0cb19346)); */ | ||
1749 | /* MAD_F_MLA(hi, lo, X[16], MAD_F(0x0fdcf549)); */ | ||
1750 | /* t3 = MAD_F_MLZ(hi, lo); */ | ||
1751 | |||
1752 | /* MAD_F_ML0(hi, lo, X[1], -MAD_F(0x0fdcf549)); */ | ||
1753 | /* MAD_F_MLA(hi, lo, X[7], -MAD_F(0x0cb19346)); */ | ||
1754 | /* MAD_F_MLA(hi, lo, X[10], -MAD_F(0x09bd7ca0)); */ | ||
1755 | /* MAD_F_MLA(hi, lo, X[16], -MAD_F(0x0216a2a2)); */ | ||
1756 | /* t5 = MAD_F_MLZ(hi, lo) - t6; */ | ||
1757 | "msac.l %%d3, %%d5, %%acc0\n" | ||
1758 | "msac.l %%d1, %%d5, %%acc1\n" | ||
1759 | "msac.l %%d4, %%d5, ( 7*4, %[X]), %%d5, %%acc2\n" | ||
1760 | "mac.l %%d1, %%d5, %%acc0\n" | ||
1761 | "msac.l %%d3, %%d5, %%acc1\n" | ||
1762 | "msac.l %%d2, %%d5, (10*4, %[X]), %%d5, %%acc2\n" | ||
1763 | "msac.l %%d4, %%d5, %%acc0\n" | ||
1764 | "mac.l %%d2, %%d5, %%acc1\n" | ||
1765 | "msac.l %%d3, %%d5, (16*4, %[X]), %%d5, %%acc2\n" | ||
1766 | "mac.l %%d2, %%d5, %%acc0\n" | ||
1767 | "mac.l %%d4, %%d5, %%acc1\n" | ||
1768 | "msac.l %%d1, %%d5, ( 0*4, %[X]), %%d0, %%acc2\n" | ||
1769 | |||
1770 | "movclr.l %%acc0, %%d7\n" | ||
1771 | "asl.l #3, %%d7\n" | ||
1772 | "add.l (6*4, %[t]), %%d7\n" /* t1 */ | ||
1773 | |||
1774 | "movclr.l %%acc1, %%d5\n" | ||
1775 | "asl.l #3, %%d5\n" /* t3 */ | ||
1776 | |||
1777 | "movclr.l %%acc2, %%d6\n" | ||
1778 | "asl.l #3, %%d6\n" | ||
1779 | "sub.l (6*4, %[t]), %%d6\n" /* t5 */ | ||
1780 | "move.l %%d6, (5*4, %[t])\n" | ||
1781 | |||
1782 | /* MAD_F_ML0(hi, lo, X[0], MAD_F(0x03768962)); */ | ||
1783 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x0e313245)); */ | ||
1784 | /* MAD_F_MLA(hi, lo, X[3], -MAD_F(0x0ffc19fd)); */ | ||
1785 | /* MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0acf37ad)); */ | ||
1786 | /* MAD_F_MLA(hi, lo, X[6], MAD_F(0x04cfb0e2)); */ | ||
1787 | /* MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0898c779)); */ | ||
1788 | /* MAD_F_MLA(hi, lo, X[9], MAD_F(0x0d7e8807)); */ | ||
1789 | /* MAD_F_MLA(hi, lo, X[11], MAD_F(0x0f426cb5)); */ | ||
1790 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0bcbe352)); */ | ||
1791 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x00b2aa3e)); */ | ||
1792 | /* MAD_F_MLA(hi, lo, X[15], -MAD_F(0x07635284)); */ | ||
1793 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0f9ee890)); */ | ||
1794 | /* x[11] = -(x[6] = MAD_F_MLZ(hi, lo) + t1); */ | ||
1795 | /* MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0f426cb5)); */ | ||
1796 | /* MAD_F_MLA(hi, lo, X[2], -MAD_F(0x00b2aa3e)); */ | ||
1797 | /* MAD_F_MLA(hi, lo, X[3], MAD_F(0x0898c779)); */ | ||
1798 | /* MAD_F_MLA(hi, lo, X[5], MAD_F(0x0f9ee890)); */ | ||
1799 | /* MAD_F_MLA(hi, lo, X[6], MAD_F(0x0acf37ad)); */ | ||
1800 | /* MAD_F_MLA(hi, lo, X[8], -MAD_F(0x07635284)); */ | ||
1801 | /* MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0e313245)); */ | ||
1802 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0bcbe352)); */ | ||
1803 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x03768962)); */ | ||
1804 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x0d7e8807)); */ | ||
1805 | /* MAD_F_MLA(hi, lo, X[15], MAD_F(0x0ffc19fd)); */ | ||
1806 | /* MAD_F_MLA(hi, lo, X[17], MAD_F(0x04cfb0e2)); */ | ||
1807 | /* x[23] = x[30] = MAD_F_MLZ(hi, lo) + t1; */ | ||
1808 | /* MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0bcbe352)); */ | ||
1809 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x0d7e8807)); */ | ||
1810 | /* MAD_F_MLA(hi, lo, X[3], -MAD_F(0x07635284)); */ | ||
1811 | /* MAD_F_MLA(hi, lo, X[5], MAD_F(0x04cfb0e2)); */ | ||
1812 | /* MAD_F_MLA(hi, lo, X[6], MAD_F(0x0f9ee890)); */ | ||
1813 | /* MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0ffc19fd)); */ | ||
1814 | /* MAD_F_MLA(hi, lo, X[9], -MAD_F(0x00b2aa3e)); */ | ||
1815 | /* MAD_F_MLA(hi, lo, X[11], MAD_F(0x03768962)); */ | ||
1816 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0f426cb5)); */ | ||
1817 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x0e313245)); */ | ||
1818 | /* MAD_F_MLA(hi, lo, X[15], MAD_F(0x0898c779)); */ | ||
1819 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0acf37ad)); */ | ||
1820 | /* x[18] = x[35] = MAD_F_MLZ(hi, lo) - t1; */ | ||
1821 | "move.l #0x03768962, %%d1\n" | ||
1822 | "move.l #0x0f426cb5, %%d2\n" | ||
1823 | "move.l #0x0bcbe352, %%d3\n" | ||
1824 | "mac.l %%d1, %%d0, %%acc0\n" | ||
1825 | "msac.l %%d2, %%d0, %%acc1\n" | ||
1826 | "msac.l %%d3, %%d0, (11*4, %[X]), %%d0, %%acc2\n" | ||
1827 | "mac.l %%d2, %%d0, %%acc0\n" | ||
1828 | "msac.l %%d3, %%d0, %%acc1\n" | ||
1829 | "mac.l %%d1, %%d0, (12*4, %[X]), %%d0, %%acc2\n" | ||
1830 | "msac.l %%d3, %%d0, %%acc0\n" | ||
1831 | "msac.l %%d1, %%d0, %%acc1\n" | ||
1832 | "msac.l %%d2, %%d0, ( 2*4, %[X]), %%d0, %%acc2\n" | ||
1833 | "move.l #0x0e313245, %%d1\n" | ||
1834 | "move.l #0x00b2aa3e, %%d2\n" | ||
1835 | "move.l #0x0d7e8807, %%d3\n" | ||
1836 | "mac.l %%d1, %%d0, %%acc0\n" | ||
1837 | "msac.l %%d2, %%d0, %%acc1\n" | ||
1838 | "mac.l %%d3, %%d0, ( 9*4, %[X]), %%d0, %%acc2\n" | ||
1839 | "mac.l %%d3, %%d0, %%acc0\n" | ||
1840 | "msac.l %%d1, %%d0, %%acc1\n" | ||
1841 | "msac.l %%d2, %%d0, (14*4, %[X]), %%d0, %%acc2\n" | ||
1842 | "mac.l %%d2, %%d0, %%acc0\n" | ||
1843 | "mac.l %%d3, %%d0, %%acc1\n" | ||
1844 | "mac.l %%d1, %%d0, ( 3*4, %[X]), %%d0, %%acc2\n" | ||
1845 | "move.l #0x0ffc19fd, %%d1\n" | ||
1846 | "move.l #0x0898c779, %%d2\n" | ||
1847 | "move.l #0x07635284, %%d3\n" | ||
1848 | "msac.l %%d1, %%d0, %%acc0\n" | ||
1849 | "mac.l %%d2, %%d0, %%acc1\n" | ||
1850 | "msac.l %%d3, %%d0, ( 8*4, %[X]), %%d0, %%acc2\n" | ||
1851 | "msac.l %%d2, %%d0, %%acc0\n" | ||
1852 | "msac.l %%d3, %%d0, %%acc1\n" | ||
1853 | "msac.l %%d1, %%d0, (15*4, %[X]), %%d0, %%acc2\n" | ||
1854 | "msac.l %%d3, %%d0, %%acc0\n" | ||
1855 | "mac.l %%d1, %%d0, %%acc1\n" | ||
1856 | "mac.l %%d2, %%d0, ( 5*4, %[X]), %%d0, %%acc2\n" | ||
1857 | "move.l #0x0acf37ad, %%d1\n" | ||
1858 | "move.l #0x0f9ee890, %%d2\n" | ||
1859 | "move.l #0x04cfb0e2, %%d3\n" | ||
1860 | "msac.l %%d1, %%d0, %%acc0\n" | ||
1861 | "mac.l %%d2, %%d0, %%acc1\n" | ||
1862 | "mac.l %%d3, %%d0, ( 6*4, %[X]), %%d0, %%acc2\n" | ||
1863 | "mac.l %%d3, %%d0, %%acc0\n" | ||
1864 | "mac.l %%d1, %%d0, %%acc1\n" | ||
1865 | "mac.l %%d2, %%d0, (17*4, %[X]), %%d0, %%acc2\n" | ||
1866 | "msac.l %%d2, %%d0, %%acc0\n" | ||
1867 | "mac.l %%d3, %%d0, %%acc1\n" | ||
1868 | "msac.l %%d1, %%d0, ( 4*4, %[X]), %%d0, %%acc2\n" | ||
1869 | |||
1870 | "movclr.l %%acc0, %%d6\n" | ||
1871 | "asl.l #3, %%d6\n" | ||
1872 | "add.l %%d7, %%d6\n" | ||
1873 | "move.l %%d6, (6*4, %[x])\n" | ||
1874 | "neg.l %%d6\n" | ||
1875 | "move.l %%d6, (11*4, %[x])\n" | ||
1876 | |||
1877 | "movclr.l %%acc1, %%d6\n" | ||
1878 | "asl.l #3, %%d6\n" | ||
1879 | "add.l %%d7, %%d6\n" | ||
1880 | "move.l %%d6, (23*4, %[x])\n" | ||
1881 | "move.l %%d6, (30*4, %[x])\n" | ||
1882 | |||
1883 | "movclr.l %%acc2, %%d6\n" | ||
1884 | "asl.l #3, %%d6\n" | ||
1885 | "sub.l %%d7, %%d6\n" | ||
1886 | "move.l %%d6, (18*4, %[x])\n" | ||
1887 | "move.l %%d6, (35*4, %[x])\n" | ||
1888 | |||
1889 | /* MAD_F_ML0(hi, lo, X[4], MAD_F(0x061f78aa)); */ | ||
1890 | /* MAD_F_MLA(hi, lo, X[13], -MAD_F(0x0ec835e8)); */ | ||
1891 | /* t3 += (t7 = MAD_F_MLZ(hi, lo)); */ | ||
1892 | /* t4 -= t7; */ | ||
1893 | "move.l #0x061f78aa, %%d1\n" | ||
1894 | "mac.l %%d1, %%d0, (13*4, %[X]), %%d0, %%acc0\n" | ||
1895 | "move.l #0x0ec835e8, %%d1\n" | ||
1896 | "msac.l %%d1, %%d0, (1*4, %[X]), %%d0, %%acc0\n" | ||
1897 | "move.l %%acc0, %%d6\n" | ||
1898 | "asl.l #3, %%d6\n" /* t7 */ | ||
1899 | "add.l %%d6, %%d5\n" /* t3 */ | ||
1900 | "move.l (4*4, %[t]), %%d1\n" | ||
1901 | "sub.l %%d6, %%d1\n" /* t4 */ | ||
1902 | "move.l %%d1, (4*4, %[t])\n" | ||
1903 | |||
1904 | /* MAD_F_MLA(hi, lo, X[1], -MAD_F(0x0cb19346)); */ | ||
1905 | /* MAD_F_MLA(hi, lo, X[7], MAD_F(0x0fdcf549)); */ | ||
1906 | /* MAD_F_MLA(hi, lo, X[10], MAD_F(0x0216a2a2)); */ | ||
1907 | /* MAD_F_MLA(hi, lo, X[16], -MAD_F(0x09bd7ca0)); */ | ||
1908 | /* t2 = MAD_F_MLZ(hi, lo); */ | ||
1909 | "move.l #0x0cb19346, %%d1\n" | ||
1910 | "msac.l %%d1, %%d0, ( 7*4, %[X]), %%d0, %%acc0\n" | ||
1911 | "move.l #0x0fdcf549, %%d1\n" | ||
1912 | "mac.l %%d1, %%d0, (10*4, %[X]), %%d0, %%acc0\n" | ||
1913 | "move.l #0x0216a2a2, %%d1\n" | ||
1914 | "mac.l %%d1, %%d0, (16*4, %[X]), %%d0, %%acc0\n" | ||
1915 | "move.l #0x09bd7ca0, %%d1\n" | ||
1916 | "msac.l %%d1, %%d0, ( %[X]), %%d0, %%acc0\n" | ||
1917 | "move.l %%acc0, %%d7\n" | ||
1918 | "asl.l #3, %%d7\n" /* t2 */ | ||
1919 | |||
1920 | /* MAD_F_MLA(hi, lo, X[0], MAD_F(0x04cfb0e2)); */ | ||
1921 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x0ffc19fd)); */ | ||
1922 | /* MAD_F_MLA(hi, lo, X[3], -MAD_F(0x0d7e8807)); */ | ||
1923 | /* MAD_F_MLA(hi, lo, X[5], MAD_F(0x03768962)); */ | ||
1924 | /* MAD_F_MLA(hi, lo, X[6], -MAD_F(0x0bcbe352)); */ | ||
1925 | /* MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0e313245)); */ | ||
1926 | /* MAD_F_MLA(hi, lo, X[9], MAD_F(0x07635284)); */ | ||
1927 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0acf37ad)); */ | ||
1928 | /* MAD_F_MLA(hi, lo, X[12], MAD_F(0x0f9ee890)); */ | ||
1929 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x0898c779)); */ | ||
1930 | /* MAD_F_MLA(hi, lo, X[15], MAD_F(0x00b2aa3e)); */ | ||
1931 | /* MAD_F_MLA(hi, lo, X[17], MAD_F(0x0f426cb5)); */ | ||
1932 | /* x[12] = -(x[5] = MAD_F_MLZ(hi, lo)); */ | ||
1933 | /* MAD_F_ML0(hi, lo, X[0], MAD_F(0x0acf37ad)); */ | ||
1934 | /* MAD_F_MLA(hi, lo, X[2], -MAD_F(0x0898c779)); */ | ||
1935 | /* MAD_F_MLA(hi, lo, X[3], MAD_F(0x0e313245)); */ | ||
1936 | /* MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0f426cb5)); */ | ||
1937 | /* MAD_F_MLA(hi, lo, X[6], -MAD_F(0x03768962)); */ | ||
1938 | /* MAD_F_MLA(hi, lo, X[8], MAD_F(0x00b2aa3e)); */ | ||
1939 | /* MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0ffc19fd)); */ | ||
1940 | /* MAD_F_MLA(hi, lo, X[11], MAD_F(0x0f9ee890)); */ | ||
1941 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x04cfb0e2)); */ | ||
1942 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x07635284)); */ | ||
1943 | /* MAD_F_MLA(hi, lo, X[15], MAD_F(0x0d7e8807)); */ | ||
1944 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0bcbe352)); */ | ||
1945 | /* x[17] = -(x[0] = MAD_F_MLZ(hi, lo) + t2); */ | ||
1946 | /* MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0f9ee890)); */ | ||
1947 | /* MAD_F_MLA(hi, lo, X[2], -MAD_F(0x07635284)); */ | ||
1948 | /* MAD_F_MLA(hi, lo, X[3], -MAD_F(0x00b2aa3e)); */ | ||
1949 | /* MAD_F_MLA(hi, lo, X[5], MAD_F(0x0bcbe352)); */ | ||
1950 | /* MAD_F_MLA(hi, lo, X[6], MAD_F(0x0f426cb5)); */ | ||
1951 | /* MAD_F_MLA(hi, lo, X[8], MAD_F(0x0d7e8807)); */ | ||
1952 | /* MAD_F_MLA(hi, lo, X[9], MAD_F(0x0898c779)); */ | ||
1953 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x04cfb0e2)); */ | ||
1954 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0acf37ad)); */ | ||
1955 | /* MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0ffc19fd)); */ | ||
1956 | /* MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0e313245)); */ | ||
1957 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x03768962)); */ | ||
1958 | /* x[24] = x[29] = MAD_F_MLZ(hi, lo) + t2; */ | ||
1959 | "move.l #0x0acf37ad, %%d1\n" | ||
1960 | "move.l #0x0f9ee890, %%d2\n" | ||
1961 | "move.l #0x04cfb0e2, %%d3\n" | ||
1962 | "mac.l %%d3, %%d0, %%acc0\n" | ||
1963 | "mac.l %%d1, %%d0, %%acc1\n" | ||
1964 | "msac.l %%d2, %%d0, (11*4, %[X]), %%d0, %%acc2\n" | ||
1965 | "msac.l %%d1, %%d0, %%acc0\n" | ||
1966 | "mac.l %%d2, %%d0, %%acc1\n" | ||
1967 | "msac.l %%d3, %%d0, (12*4, %[X]), %%d0, %%acc2\n" | ||
1968 | "mac.l %%d2, %%d0, %%acc0\n" | ||
1969 | "msac.l %%d3, %%d0, %%acc1\n" | ||
1970 | "msac.l %%d1, %%d0, ( 2*4, %[X]), %%d0, %%acc2\n" | ||
1971 | "move.l #0x0ffc19fd, %%d1\n" | ||
1972 | "move.l #0x0898c779, %%d2\n" | ||
1973 | "move.l #0x07635284, %%d3\n" | ||
1974 | "mac.l %%d1, %%d0, %%acc0\n" | ||
1975 | "msac.l %%d2, %%d0, %%acc1\n" | ||
1976 | "msac.l %%d3, %%d0, ( 9*4, %[X]), %%d0, %%acc2\n" | ||
1977 | "mac.l %%d3, %%d0, %%acc0\n" | ||
1978 | "msac.l %%d1, %%d0, %%acc1\n" | ||
1979 | "mac.l %%d2, %%d0, (14*4, %[X]), %%d0, %%acc2\n" | ||
1980 | "mac.l %%d2, %%d0, %%acc0\n" | ||
1981 | "mac.l %%d3, %%d0, %%acc1\n" | ||
1982 | "msac.l %%d1, %%d0, ( 3*4, %[X]), %%d0, %%acc2\n" | ||
1983 | "move.l #0x0e313245, %%d1\n" | ||
1984 | "move.l #0x00b2aa3e, %%d2\n" | ||
1985 | "move.l #0x0d7e8807, %%d3\n" | ||
1986 | "msac.l %%d3, %%d0, %%acc0\n" | ||
1987 | "mac.l %%d1, %%d0, %%acc1\n" | ||
1988 | "msac.l %%d2, %%d0, ( 8*4, %[X]), %%d0, %%acc2\n" | ||
1989 | "msac.l %%d1, %%d0, %%acc0\n" | ||
1990 | "mac.l %%d2, %%d0, %%acc1\n" | ||
1991 | "mac.l %%d3, %%d0, (15*4, %[X]), %%d0, %%acc2\n" | ||
1992 | "mac.l %%d2, %%d0, %%acc0\n" | ||
1993 | "mac.l %%d3, %%d0, %%acc1\n" | ||
1994 | "msac.l %%d1, %%d0, ( 5*4, %[X]), %%d0, %%acc2\n" | ||
1995 | "move.l #0x03768962, %%d1\n" | ||
1996 | "move.l #0x0f426cb5, %%d2\n" | ||
1997 | "move.l #0x0bcbe352, %%d3\n" | ||
1998 | "mac.l %%d1, %%d0, %%acc0\n" | ||
1999 | "msac.l %%d2, %%d0, %%acc1\n" | ||
2000 | "mac.l %%d3, %%d0, ( 6*4, %[X]), %%d0, %%acc2\n" | ||
2001 | "msac.l %%d3, %%d0, %%acc0\n" | ||
2002 | "msac.l %%d1, %%d0, %%acc1\n" | ||
2003 | "mac.l %%d2, %%d0, (17*4, %[X]), %%d0, %%acc2\n" | ||
2004 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2005 | "msac.l %%d3, %%d0, %%acc1\n" | ||
2006 | "msac.l %%d1, %%d0, ( %[X]), %%d0, %%acc2\n" | ||
2007 | |||
2008 | "movclr.l %%acc0, %%d6\n" | ||
2009 | "asl.l #3, %%d6\n" | ||
2010 | "move.l %%d6, ( 5*4, %[x])\n" | ||
2011 | "neg.l %%d6\n" | ||
2012 | "move.l %%d6, (12*4, %[x])\n" | ||
2013 | |||
2014 | "movclr.l %%acc1, %%d6\n" | ||
2015 | "asl.l #3, %%d6\n" | ||
2016 | "add.l %%d7, %%d6\n" | ||
2017 | "move.l %%d6, ( %[x])\n" | ||
2018 | "neg.l %%d6\n" | ||
2019 | "move.l %%d6, (17*4, %[x])\n" | ||
2020 | |||
2021 | "movclr.l %%acc2, %%d6\n" | ||
2022 | "asl.l #3, %%d6\n" | ||
2023 | "add.l %%d7, %%d6\n" | ||
2024 | "move.l %%d6, (24*4, %[x])\n" | ||
2025 | "move.l %%d6, (29*4, %[x])\n" | ||
2026 | |||
2027 | /* MAD_F_ML0(hi, lo, X[0], MAD_F(0x00b2aa3e)); */ | ||
2028 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x03768962)); */ | ||
2029 | /* MAD_F_MLA(hi, lo, X[3], -MAD_F(0x04cfb0e2)); */ | ||
2030 | /* MAD_F_MLA(hi, lo, X[5], -MAD_F(0x07635284)); */ | ||
2031 | /* MAD_F_MLA(hi, lo, X[6], MAD_F(0x0898c779)); */ | ||
2032 | /* MAD_F_MLA(hi, lo, X[8], MAD_F(0x0acf37ad)); */ | ||
2033 | /* MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0bcbe352)); */ | ||
2034 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0d7e8807)); */ | ||
2035 | /* MAD_F_MLA(hi, lo, X[12], MAD_F(0x0e313245)); */ | ||
2036 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x0f426cb5)); */ | ||
2037 | /* MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0f9ee890)); */ | ||
2038 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0ffc19fd)); */ | ||
2039 | /* x[9] = -(x[8] = MAD_F_MLZ(hi, lo) + t3); */ | ||
2040 | |||
2041 | /* MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0e313245)); */ | ||
2042 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x0bcbe352)); */ | ||
2043 | /* MAD_F_MLA(hi, lo, X[3], MAD_F(0x0f9ee890)); */ | ||
2044 | /* MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0898c779)); */ | ||
2045 | /* MAD_F_MLA(hi, lo, X[6], -MAD_F(0x0ffc19fd)); */ | ||
2046 | /* MAD_F_MLA(hi, lo, X[8], MAD_F(0x04cfb0e2)); */ | ||
2047 | /* MAD_F_MLA(hi, lo, X[9], MAD_F(0x0f426cb5)); */ | ||
2048 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x00b2aa3e)); */ | ||
2049 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0d7e8807)); */ | ||
2050 | /* MAD_F_MLA(hi, lo, X[14], -MAD_F(0x03768962)); */ | ||
2051 | /* MAD_F_MLA(hi, lo, X[15], MAD_F(0x0acf37ad)); */ | ||
2052 | /* MAD_F_MLA(hi, lo, X[17], MAD_F(0x07635284)); */ | ||
2053 | /* x[21] = x[32] = MAD_F_MLZ(hi, lo) + t3; */ | ||
2054 | |||
2055 | /* MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0d7e8807)); */ | ||
2056 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x0f426cb5)); */ | ||
2057 | /* MAD_F_MLA(hi, lo, X[3], MAD_F(0x0acf37ad)); */ | ||
2058 | /* MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0ffc19fd)); */ | ||
2059 | /* MAD_F_MLA(hi, lo, X[6], -MAD_F(0x07635284)); */ | ||
2060 | /* MAD_F_MLA(hi, lo, X[8], MAD_F(0x0f9ee890)); */ | ||
2061 | /* MAD_F_MLA(hi, lo, X[9], MAD_F(0x03768962)); */ | ||
2062 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0e313245)); */ | ||
2063 | /* MAD_F_MLA(hi, lo, X[12], MAD_F(0x00b2aa3e)); */ | ||
2064 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x0bcbe352)); */ | ||
2065 | /* MAD_F_MLA(hi, lo, X[15], -MAD_F(0x04cfb0e2)); */ | ||
2066 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0898c779)); */ | ||
2067 | /* x[20] = x[33] = MAD_F_MLZ(hi, lo) - t3; */ | ||
2068 | "move.l #0x0e313245, %%d1\n" | ||
2069 | "move.l #0x00b2aa3e, %%d2\n" | ||
2070 | "move.l #0x0d7e8807, %%d3\n" | ||
2071 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2072 | "msac.l %%d1, %%d0, %%acc1\n" | ||
2073 | "msac.l %%d3, %%d0, (11*4, %[X]), %%d0, %%acc2\n" | ||
2074 | "msac.l %%d3, %%d0, %%acc0\n" | ||
2075 | "msac.l %%d2, %%d0, %%acc1\n" | ||
2076 | "msac.l %%d1, %%d0, (12*4, %[X]), %%d0, %%acc2\n" | ||
2077 | "mac.l %%d1, %%d0, %%acc0\n" | ||
2078 | "msac.l %%d3, %%d0, %%acc1\n" | ||
2079 | "mac.l %%d2, %%d0, ( 2*4, %[X]), %%d0, %%acc2\n" | ||
2080 | "move.l #0x03768962, %%d1\n" | ||
2081 | "move.l #0x0f426cb5, %%d2\n" | ||
2082 | "move.l #0x0bcbe352, %%d3\n" | ||
2083 | "mac.l %%d1, %%d0, %%acc0\n" | ||
2084 | "mac.l %%d3, %%d0, %%acc1\n" | ||
2085 | "mac.l %%d2, %%d0, ( 9*4, %[X]), %%d0, %%acc2\n" | ||
2086 | "msac.l %%d3, %%d0, %%acc0\n" | ||
2087 | "mac.l %%d2, %%d0, %%acc1\n" | ||
2088 | "mac.l %%d1, %%d0, (14*4, %[X]), %%d0, %%acc2\n" | ||
2089 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2090 | "msac.l %%d1, %%d0, %%acc1\n" | ||
2091 | "mac.l %%d3, %%d0, ( 3*4, %[X]), %%d0, %%acc2\n" | ||
2092 | "move.l #0x0acf37ad, %%d1\n" | ||
2093 | "move.l #0x0f9ee890, %%d2\n" | ||
2094 | "move.l #0x04cfb0e2, %%d3\n" | ||
2095 | "msac.l %%d3, %%d0, %%acc0\n" | ||
2096 | "mac.l %%d2, %%d0, %%acc1\n" | ||
2097 | "mac.l %%d1, %%d0, ( 8*4, %[X]), %%d0, %%acc2\n" | ||
2098 | "mac.l %%d1, %%d0, %%acc0\n" | ||
2099 | "mac.l %%d3, %%d0, %%acc1\n" | ||
2100 | "mac.l %%d2, %%d0, (15*4, %[X]), %%d0, %%acc2\n" | ||
2101 | "msac.l %%d2, %%d0, %%acc0\n" | ||
2102 | "mac.l %%d1, %%d0, %%acc1\n" | ||
2103 | "msac.l %%d3, %%d0, ( 5*4, %[X]), %%d0, %%acc2\n" | ||
2104 | "move.l #0x0ffc19fd, %%d1\n" | ||
2105 | "move.l #0x0898c779, %%d2\n" | ||
2106 | "move.l #0x07635284, %%d3\n" | ||
2107 | "msac.l %%d3, %%d0, %%acc0\n" | ||
2108 | "msac.l %%d2, %%d0, %%acc1\n" | ||
2109 | "msac.l %%d1, %%d0, ( 6*4, %[X]), %%d0, %%acc2\n" | ||
2110 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2111 | "msac.l %%d1, %%d0, %%acc1\n" | ||
2112 | "msac.l %%d3, %%d0, (17*4, %[X]), %%d0, %%acc2\n" | ||
2113 | "msac.l %%d1, %%d0, %%acc0\n" | ||
2114 | "mac.l %%d3, %%d0, %%acc1\n" | ||
2115 | "msac.l %%d2, %%d0, (12*4, %[t]), %%d0, %%acc2\n" | ||
2116 | |||
2117 | "movclr.l %%acc0, %%d6\n" | ||
2118 | "asl.l #3, %%d6\n" | ||
2119 | "add.l %%d5, %%d6\n" | ||
2120 | "move.l %%d6, (8*4, %[x])\n" | ||
2121 | "neg.l %%d6\n" | ||
2122 | "move.l %%d6, (9*4, %[x])\n" | ||
2123 | |||
2124 | "movclr.l %%acc1, %%d6\n" | ||
2125 | "asl.l #3, %%d6\n" | ||
2126 | "add.l %%d5, %%d6\n" | ||
2127 | "move.l %%d6, (21*4, %[x])\n" | ||
2128 | "move.l %%d6, (32*4, %[x])\n" | ||
2129 | |||
2130 | "movclr.l %%acc2, %%d6\n" | ||
2131 | "asl.l #3, %%d6\n" | ||
2132 | "sub.l %%d5, %%d6\n" | ||
2133 | "move.l %%d6, (20*4, %[x])\n" | ||
2134 | "move.l %%d6, (33*4, %[x])\n" | ||
2135 | |||
2136 | /* MAD_F_ML0(hi, lo, t12, -MAD_F(0x0ec835e8)); */ | ||
2137 | /* MAD_F_MLA(hi, lo, t13, MAD_F(0x061f78aa)); */ | ||
2138 | /* x[22] = x[31] = MAD_F_MLZ(hi, lo) + t0; */ | ||
2139 | "move.l #0x0ec835e8, %%d1\n" | ||
2140 | "move.l #0x061f78aa, %%d2\n" | ||
2141 | "msac.l %%d1, %%d0, (13*4, %[t]), %%d3, %%acc0\n" | ||
2142 | "mac.l %%d2, %%d3, ( 1*4, %[x]), %%d4, %%acc0\n" | ||
2143 | "movclr.l %%acc0, %%d6\n" | ||
2144 | "asl.l #3, %%d6\n" | ||
2145 | "add.l (0*4, %[t]), %%d6\n" | ||
2146 | "move.l %%d6, (22*4, %[x])\n" | ||
2147 | "move.l %%d6, (31*4, %[x])\n" | ||
2148 | |||
2149 | /* MAD_F_ML0(hi, lo, t12, MAD_F(0x061f78aa)); */ | ||
2150 | /* MAD_F_MLA(hi, lo, t13, MAD_F(0x0ec835e8)); */ | ||
2151 | /* x[13] = -(x[4] = MAD_F_MLZ(hi, lo) + t4); */ | ||
2152 | /* x[16] = -(x[1] = x[1] + t4); */ | ||
2153 | /* x[25] = x[28] = x[25] + t4; */ | ||
2154 | "mac.l %%d2, %%d0, (4*4, %[t]), %%d2, %%acc0\n" | ||
2155 | "mac.l %%d1, %%d3, ( %[X]), %%d0, %%acc0\n" | ||
2156 | "movclr.l %%acc0, %%d6\n" | ||
2157 | "asl.l #3, %%d6\n" | ||
2158 | "add.l %%d2, %%d6\n" | ||
2159 | "move.l %%d6, ( 4*4, %[x])\n" | ||
2160 | "neg.l %%d6\n" | ||
2161 | "move.l %%d6, (13*4, %[x])\n" | ||
2162 | |||
2163 | "add.l %%d2, %%d4\n" | ||
2164 | "move.l %%d4, ( 1*4, %[x])\n" | ||
2165 | "neg.l %%d4\n" | ||
2166 | "move.l %%d4, (16*4, %[x])\n" | ||
2167 | |||
2168 | "move.l (25*4, %[x]), %%d4\n" | ||
2169 | "add.l %%d2, %%d4\n" | ||
2170 | "move.l %%d4, (25*4, %[x])\n" | ||
2171 | "move.l %%d4, (28*4, %[x])\n" | ||
2172 | |||
2173 | /* MAD_F_ML0(hi, lo, X[0], MAD_F(0x0898c779)); */ | ||
2174 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x04cfb0e2)); */ | ||
2175 | /* MAD_F_MLA(hi, lo, X[3], MAD_F(0x0bcbe352)); */ | ||
2176 | /* MAD_F_MLA(hi, lo, X[5], MAD_F(0x00b2aa3e)); */ | ||
2177 | /* MAD_F_MLA(hi, lo, X[6], MAD_F(0x0e313245)); */ | ||
2178 | /* MAD_F_MLA(hi, lo, X[8], -MAD_F(0x03768962)); */ | ||
2179 | /* MAD_F_MLA(hi, lo, X[9], MAD_F(0x0f9ee890)); */ | ||
2180 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x07635284)); */ | ||
2181 | /* MAD_F_MLA(hi, lo, X[12], MAD_F(0x0ffc19fd)); */ | ||
2182 | /* MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0acf37ad)); */ | ||
2183 | /* MAD_F_MLA(hi, lo, X[15], MAD_F(0x0f426cb5)); */ | ||
2184 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0d7e8807)); */ | ||
2185 | /* x[15] = -(x[2] = MAD_F_MLZ(hi, lo) + t5); */ | ||
2186 | /* MAD_F_ML0(hi, lo, X[0], MAD_F(0x07635284)); */ | ||
2187 | /* MAD_F_MLA(hi, lo, X[2], MAD_F(0x0acf37ad)); */ | ||
2188 | /* MAD_F_MLA(hi, lo, X[3], MAD_F(0x03768962)); */ | ||
2189 | /* MAD_F_MLA(hi, lo, X[5], MAD_F(0x0d7e8807)); */ | ||
2190 | /* MAD_F_MLA(hi, lo, X[6], -MAD_F(0x00b2aa3e)); */ | ||
2191 | /* MAD_F_MLA(hi, lo, X[8], MAD_F(0x0f426cb5)); */ | ||
2192 | /* MAD_F_MLA(hi, lo, X[9], -MAD_F(0x04cfb0e2)); */ | ||
2193 | /* MAD_F_MLA(hi, lo, X[11], MAD_F(0x0ffc19fd)); */ | ||
2194 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0898c779)); */ | ||
2195 | /* MAD_F_MLA(hi, lo, X[14], MAD_F(0x0f9ee890)); */ | ||
2196 | /* MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0bcbe352)); */ | ||
2197 | /* MAD_F_MLA(hi, lo, X[17], MAD_F(0x0e313245)); */ | ||
2198 | /* x[14] = -(x[3] = MAD_F_MLZ(hi, lo) + t5); */ | ||
2199 | /* MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0ffc19fd)); */ | ||
2200 | /* MAD_F_MLA(hi, lo, X[2], -MAD_F(0x0f9ee890)); */ | ||
2201 | /* MAD_F_MLA(hi, lo, X[3], -MAD_F(0x0f426cb5)); */ | ||
2202 | /* MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0e313245)); */ | ||
2203 | /* MAD_F_MLA(hi, lo, X[6], -MAD_F(0x0d7e8807)); */ | ||
2204 | /* MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0bcbe352)); */ | ||
2205 | /* MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0acf37ad)); */ | ||
2206 | /* MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0898c779)); */ | ||
2207 | /* MAD_F_MLA(hi, lo, X[12], -MAD_F(0x07635284)); */ | ||
2208 | /* MAD_F_MLA(hi, lo, X[14], -MAD_F(0x04cfb0e2)); */ | ||
2209 | /* MAD_F_MLA(hi, lo, X[15], -MAD_F(0x03768962)); */ | ||
2210 | /* MAD_F_MLA(hi, lo, X[17], -MAD_F(0x00b2aa3e)); */ | ||
2211 | /* x[26] = x[27] = MAD_F_MLZ(hi, lo) + t5; */ | ||
2212 | "move.l #0x0ffc19fd, %%d1\n" | ||
2213 | "move.l #0x0898c779, %%d2\n" | ||
2214 | "move.l #0x07635284, %%d3\n" | ||
2215 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2216 | "mac.l %%d3, %%d0, %%acc1\n" | ||
2217 | "msac.l %%d1, %%d0, (11*4, %[X]), %%d0, %%acc2\n" | ||
2218 | "msac.l %%d3, %%d0, %%acc0\n" | ||
2219 | "mac.l %%d1, %%d0, %%acc1\n" | ||
2220 | "msac.l %%d2, %%d0, (12*4, %[X]), %%d0, %%acc2\n" | ||
2221 | "mac.l %%d1, %%d0, %%acc0\n" | ||
2222 | "msac.l %%d2, %%d0, %%acc1\n" | ||
2223 | "msac.l %%d3, %%d0, ( 2*4, %[X]), %%d0, %%acc2\n" | ||
2224 | "move.l #0x0acf37ad, %%d1\n" | ||
2225 | "move.l #0x0f9ee890, %%d2\n" | ||
2226 | "move.l #0x04cfb0e2, %%d3\n" | ||
2227 | "mac.l %%d3, %%d0, %%acc0\n" | ||
2228 | "mac.l %%d1, %%d0, %%acc1\n" | ||
2229 | "msac.l %%d2, %%d0, ( 9*4, %[X]), %%d0, %%acc2\n" | ||
2230 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2231 | "msac.l %%d3, %%d0, %%acc1\n" | ||
2232 | "msac.l %%d1, %%d0, (14*4, %[X]), %%d0, %%acc2\n" | ||
2233 | "msac.l %%d1, %%d0, %%acc0\n" | ||
2234 | "mac.l %%d2, %%d0, %%acc1\n" | ||
2235 | "msac.l %%d3, %%d0, ( 3*4, %[X]), %%d0, %%acc2\n" | ||
2236 | "move.l #0x03768962, %%d1\n" | ||
2237 | "move.l #0x0f426cb5, %%d2\n" | ||
2238 | "move.l #0x0bcbe352, %%d3\n" | ||
2239 | "mac.l %%d3, %%d0, %%acc0\n" | ||
2240 | "mac.l %%d1, %%d0, %%acc1\n" | ||
2241 | "msac.l %%d2, %%d0, ( 8*4, %[X]), %%d0, %%acc2\n" | ||
2242 | "msac.l %%d1, %%d0, %%acc0\n" | ||
2243 | "mac.l %%d2, %%d0, %%acc1\n" | ||
2244 | "msac.l %%d3, %%d0, (15*4, %[X]), %%d0, %%acc2\n" | ||
2245 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2246 | "msac.l %%d3, %%d0, %%acc1\n" | ||
2247 | "msac.l %%d1, %%d0, ( 5*4, %[X]), %%d0, %%acc2\n" | ||
2248 | "move.l #0x0e313245, %%d1\n" | ||
2249 | "move.l #0x00b2aa3e, %%d2\n" | ||
2250 | "move.l #0x0d7e8807, %%d3\n" | ||
2251 | "mac.l %%d2, %%d0, %%acc0\n" | ||
2252 | "mac.l %%d3, %%d0, %%acc1\n" | ||
2253 | "msac.l %%d1, %%d0, ( 6*4, %[X]), %%d0, %%acc2\n" | ||
2254 | "mac.l %%d1, %%d0, %%acc0\n" | ||
2255 | "msac.l %%d2, %%d0, %%acc1\n" | ||
2256 | "msac.l %%d3, %%d0, (17*4, %[X]), %%d0, %%acc2\n" | ||
2257 | "msac.l %%d3, %%d0, %%acc0\n" | ||
2258 | "mac.l %%d1, %%d0, %%acc1\n" | ||
2259 | "msac.l %%d2, %%d0, ( 5*4, %[t]), %%d6, %%acc2\n" | ||
2260 | "movclr.l %%acc0, %%d7\n" | ||
2261 | "asl.l #3, %%d7\n" | ||
2262 | "add.l %%d6, %%d7\n" | ||
2263 | "move.l %%d7, (2*4, %[x])\n" | ||
2264 | "neg.l %%d7\n" | ||
2265 | "move.l %%d7, (15*4, %[x])\n" | ||
2266 | |||
2267 | "movclr.l %%acc1, %%d7\n" | ||
2268 | "asl.l #3, %%d7\n" | ||
2269 | "add.l %%d6, %%d7\n" | ||
2270 | "move.l %%d7, (3*4, %[x])\n" | ||
2271 | "neg.l %%d7\n" | ||
2272 | "move.l %%d7, (14*4, %[x])\n" | ||
2273 | |||
2274 | "movclr.l %%acc2, %%d7\n" | ||
2275 | "asl.l #3, %%d7\n" | ||
2276 | "add.l %%d6, %%d7\n" | ||
2277 | "move.l %%d7, (26*4, %[x])\n" | ||
2278 | "move.l %%d7, (27*4, %[x])\n" | ||
2279 | |||
2280 | : : [X] "a" (X), [x] "a" (x), [t] "a" (t) | ||
2281 | : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7"); | ||
2282 | /* pfew */ | ||
2283 | } | ||
2284 | |||
2285 | # else /* if defined(CPU_COLDFIRE) */ | ||
2286 | |||
2287 | static inline | ||
2288 | void imdct36(mad_fixed_t const X[18], mad_fixed_t x[36]) | ||
2289 | { | ||
2290 | mad_fixed_t t0, t1, t2, t3, t4, t5, t6, t7; | ||
2291 | mad_fixed_t t8, t9, t10, t11, t12, t13, t14, t15; | ||
2292 | register mad_fixed64hi_t hi; | ||
2293 | register mad_fixed64lo_t lo; | ||
2294 | |||
2295 | MAD_F_ML0(hi, lo, (t14 = X[1] - X[10]), -MAD_F(0x0ec835e8)); | ||
2296 | MAD_F_MLA(hi, lo, (t15 = X[7] + X[16]), MAD_F(0x061f78aa)); | ||
2297 | t4 = MAD_F_MLZ(hi, lo); | ||
2298 | |||
2299 | MAD_F_ML0(hi, lo, X[4], MAD_F(0x0ec835e8)); | ||
2300 | MAD_F_MLA(hi, lo, X[13], MAD_F(0x061f78aa)); | ||
2301 | t6 = MAD_F_MLZ(hi, lo); | ||
2302 | |||
2303 | MAD_F_MLA(hi, lo, t14, -MAD_F(0x061f78aa)); | ||
2304 | MAD_F_MLA(hi, lo, t15, -MAD_F(0x0ec835e8)); | ||
2305 | t0 = MAD_F_MLZ(hi, lo); | ||
2306 | |||
2307 | MAD_F_MLA(hi, lo, (t8 =X[0]-X[11]-X[12]), MAD_F(0x0216a2a2)); | ||
2308 | MAD_F_MLA(hi, lo, (t9 =X[2]-X[ 9]-X[14]), MAD_F(0x09bd7ca0)); | ||
2309 | MAD_F_MLA(hi, lo, (t10=X[3]-X[ 8]-X[15]), -MAD_F(0x0cb19346)); | ||
2310 | MAD_F_MLA(hi, lo, (t11=X[5]-X[ 6]-X[17]), -MAD_F(0x0fdcf549)); | ||
2311 | x[10] = -(x[7] = MAD_F_MLZ(hi, lo)); | ||
2312 | |||
2313 | MAD_F_ML0(hi, lo, t8, -MAD_F(0x0cb19346)); | ||
2314 | MAD_F_MLA(hi, lo, t9, MAD_F(0x0fdcf549)); | ||
2315 | MAD_F_MLA(hi, lo, t10, MAD_F(0x0216a2a2)); | ||
2316 | MAD_F_MLA(hi, lo, t11, -MAD_F(0x09bd7ca0)); | ||
2317 | x[19] = x[34] = MAD_F_MLZ(hi, lo) - t0; | ||
2318 | |||
2319 | MAD_F_ML0(hi, lo, t8, MAD_F(0x09bd7ca0)); | ||
2320 | MAD_F_MLA(hi, lo, t9, -MAD_F(0x0216a2a2)); | ||
2321 | MAD_F_MLA(hi, lo, t10, MAD_F(0x0fdcf549)); | ||
2322 | MAD_F_MLA(hi, lo, t11, -MAD_F(0x0cb19346)); | ||
2323 | x[ 1] = MAD_F_MLZ(hi, lo); | ||
2324 | |||
2325 | MAD_F_ML0(hi, lo, t8, -MAD_F(0x0fdcf549)); | ||
2326 | MAD_F_MLA(hi, lo, t9, -MAD_F(0x0cb19346)); | ||
2327 | MAD_F_MLA(hi, lo, t10, -MAD_F(0x09bd7ca0)); | ||
2328 | MAD_F_MLA(hi, lo, t11, -MAD_F(0x0216a2a2)); | ||
2329 | x[25] = MAD_F_MLZ(hi, lo); | ||
2330 | |||
2331 | t12 = t8 - t10; | ||
2332 | t13 = t9 + t11; | ||
2333 | |||
2334 | MAD_F_ML0(hi, lo, X[1], -MAD_F(0x09bd7ca0)); | ||
2335 | MAD_F_MLA(hi, lo, X[7], MAD_F(0x0216a2a2)); | ||
2336 | MAD_F_MLA(hi, lo, X[10], -MAD_F(0x0fdcf549)); | ||
2337 | MAD_F_MLA(hi, lo, X[16], MAD_F(0x0cb19346)); | ||
2338 | t1 = MAD_F_MLZ(hi, lo) + t6; | ||
2339 | |||
2340 | MAD_F_ML0(hi, lo, X[1], -MAD_F(0x0216a2a2)); | ||
2341 | MAD_F_MLA(hi, lo, X[7], -MAD_F(0x09bd7ca0)); | ||
2342 | MAD_F_MLA(hi, lo, X[10], MAD_F(0x0cb19346)); | ||
2343 | MAD_F_MLA(hi, lo, X[16], MAD_F(0x0fdcf549)); | ||
2344 | t3 = MAD_F_MLZ(hi, lo); | ||
2345 | |||
2346 | MAD_F_ML0(hi, lo, X[1], -MAD_F(0x0fdcf549)); | ||
2347 | MAD_F_MLA(hi, lo, X[7], -MAD_F(0x0cb19346)); | ||
2348 | MAD_F_MLA(hi, lo, X[10], -MAD_F(0x09bd7ca0)); | ||
2349 | MAD_F_MLA(hi, lo, X[16], -MAD_F(0x0216a2a2)); | ||
2350 | t5 = MAD_F_MLZ(hi, lo) - t6; | ||
2351 | |||
2352 | MAD_F_ML0(hi, lo, X[0], MAD_F(0x03768962)); | ||
2353 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x0e313245)); | ||
2354 | MAD_F_MLA(hi, lo, X[3], -MAD_F(0x0ffc19fd)); | ||
2355 | MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0acf37ad)); | ||
2356 | MAD_F_MLA(hi, lo, X[6], MAD_F(0x04cfb0e2)); | ||
2357 | MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0898c779)); | ||
2358 | MAD_F_MLA(hi, lo, X[9], MAD_F(0x0d7e8807)); | ||
2359 | MAD_F_MLA(hi, lo, X[11], MAD_F(0x0f426cb5)); | ||
2360 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0bcbe352)); | ||
2361 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x00b2aa3e)); | ||
2362 | MAD_F_MLA(hi, lo, X[15], -MAD_F(0x07635284)); | ||
2363 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0f9ee890)); | ||
2364 | x[11] = -(x[6] = MAD_F_MLZ(hi, lo) + t1); | ||
2365 | |||
2366 | MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0f426cb5)); | ||
2367 | MAD_F_MLA(hi, lo, X[2], -MAD_F(0x00b2aa3e)); | ||
2368 | MAD_F_MLA(hi, lo, X[3], MAD_F(0x0898c779)); | ||
2369 | MAD_F_MLA(hi, lo, X[5], MAD_F(0x0f9ee890)); | ||
2370 | MAD_F_MLA(hi, lo, X[6], MAD_F(0x0acf37ad)); | ||
2371 | MAD_F_MLA(hi, lo, X[8], -MAD_F(0x07635284)); | ||
2372 | MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0e313245)); | ||
2373 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0bcbe352)); | ||
2374 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x03768962)); | ||
2375 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x0d7e8807)); | ||
2376 | MAD_F_MLA(hi, lo, X[15], MAD_F(0x0ffc19fd)); | ||
2377 | MAD_F_MLA(hi, lo, X[17], MAD_F(0x04cfb0e2)); | ||
2378 | x[23] = x[30] = MAD_F_MLZ(hi, lo) + t1; | ||
2379 | |||
2380 | MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0bcbe352)); | ||
2381 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x0d7e8807)); | ||
2382 | MAD_F_MLA(hi, lo, X[3], -MAD_F(0x07635284)); | ||
2383 | MAD_F_MLA(hi, lo, X[5], MAD_F(0x04cfb0e2)); | ||
2384 | MAD_F_MLA(hi, lo, X[6], MAD_F(0x0f9ee890)); | ||
2385 | MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0ffc19fd)); | ||
2386 | MAD_F_MLA(hi, lo, X[9], -MAD_F(0x00b2aa3e)); | ||
2387 | MAD_F_MLA(hi, lo, X[11], MAD_F(0x03768962)); | ||
2388 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0f426cb5)); | ||
2389 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x0e313245)); | ||
2390 | MAD_F_MLA(hi, lo, X[15], MAD_F(0x0898c779)); | ||
2391 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0acf37ad)); | ||
2392 | x[18] = x[35] = MAD_F_MLZ(hi, lo) - t1; | ||
2393 | |||
2394 | MAD_F_ML0(hi, lo, X[4], MAD_F(0x061f78aa)); | ||
2395 | MAD_F_MLA(hi, lo, X[13], -MAD_F(0x0ec835e8)); | ||
2396 | t3+= (t7 = MAD_F_MLZ(hi, lo)); | ||
2397 | t4-= t7; | ||
2398 | |||
2399 | MAD_F_MLA(hi, lo, X[1], -MAD_F(0x0cb19346)); | ||
2400 | MAD_F_MLA(hi, lo, X[7], MAD_F(0x0fdcf549)); | ||
2401 | MAD_F_MLA(hi, lo, X[10], MAD_F(0x0216a2a2)); | ||
2402 | MAD_F_MLA(hi, lo, X[16], -MAD_F(0x09bd7ca0)); | ||
2403 | t2 = MAD_F_MLZ(hi, lo); | ||
2404 | |||
2405 | MAD_F_MLA(hi, lo, X[0], MAD_F(0x04cfb0e2)); | ||
2406 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x0ffc19fd)); | ||
2407 | MAD_F_MLA(hi, lo, X[3], -MAD_F(0x0d7e8807)); | ||
2408 | MAD_F_MLA(hi, lo, X[5], MAD_F(0x03768962)); | ||
2409 | MAD_F_MLA(hi, lo, X[6], -MAD_F(0x0bcbe352)); | ||
2410 | MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0e313245)); | ||
2411 | MAD_F_MLA(hi, lo, X[9], MAD_F(0x07635284)); | ||
2412 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0acf37ad)); | ||
2413 | MAD_F_MLA(hi, lo, X[12], MAD_F(0x0f9ee890)); | ||
2414 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x0898c779)); | ||
2415 | MAD_F_MLA(hi, lo, X[15], MAD_F(0x00b2aa3e)); | ||
2416 | MAD_F_MLA(hi, lo, X[17], MAD_F(0x0f426cb5)); | ||
2417 | x[12] = -(x[5] = MAD_F_MLZ(hi, lo)); | ||
2418 | |||
2419 | MAD_F_ML0(hi, lo, X[0], MAD_F(0x0acf37ad)); | ||
2420 | MAD_F_MLA(hi, lo, X[2], -MAD_F(0x0898c779)); | ||
2421 | MAD_F_MLA(hi, lo, X[3], MAD_F(0x0e313245)); | ||
2422 | MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0f426cb5)); | ||
2423 | MAD_F_MLA(hi, lo, X[6], -MAD_F(0x03768962)); | ||
2424 | MAD_F_MLA(hi, lo, X[8], MAD_F(0x00b2aa3e)); | ||
2425 | MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0ffc19fd)); | ||
2426 | MAD_F_MLA(hi, lo, X[11], MAD_F(0x0f9ee890)); | ||
2427 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x04cfb0e2)); | ||
2428 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x07635284)); | ||
2429 | MAD_F_MLA(hi, lo, X[15], MAD_F(0x0d7e8807)); | ||
2430 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0bcbe352)); | ||
2431 | x[17] = -(x[0] = MAD_F_MLZ(hi, lo) + t2); | ||
2432 | |||
2433 | MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0f9ee890)); | ||
2434 | MAD_F_MLA(hi, lo, X[2], -MAD_F(0x07635284)); | ||
2435 | MAD_F_MLA(hi, lo, X[3], -MAD_F(0x00b2aa3e)); | ||
2436 | MAD_F_MLA(hi, lo, X[5], MAD_F(0x0bcbe352)); | ||
2437 | MAD_F_MLA(hi, lo, X[6], MAD_F(0x0f426cb5)); | ||
2438 | MAD_F_MLA(hi, lo, X[8], MAD_F(0x0d7e8807)); | ||
2439 | MAD_F_MLA(hi, lo, X[9], MAD_F(0x0898c779)); | ||
2440 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x04cfb0e2)); | ||
2441 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0acf37ad)); | ||
2442 | MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0ffc19fd)); | ||
2443 | MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0e313245)); | ||
2444 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x03768962)); | ||
2445 | x[24] = x[29] = MAD_F_MLZ(hi, lo) + t2; | ||
2446 | |||
2447 | MAD_F_ML0(hi, lo, X[0], MAD_F(0x00b2aa3e)); | ||
2448 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x03768962)); | ||
2449 | MAD_F_MLA(hi, lo, X[3], -MAD_F(0x04cfb0e2)); | ||
2450 | MAD_F_MLA(hi, lo, X[5], -MAD_F(0x07635284)); | ||
2451 | MAD_F_MLA(hi, lo, X[6], MAD_F(0x0898c779)); | ||
2452 | MAD_F_MLA(hi, lo, X[8], MAD_F(0x0acf37ad)); | ||
2453 | MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0bcbe352)); | ||
2454 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0d7e8807)); | ||
2455 | MAD_F_MLA(hi, lo, X[12], MAD_F(0x0e313245)); | ||
2456 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x0f426cb5)); | ||
2457 | MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0f9ee890)); | ||
2458 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0ffc19fd)); | ||
2459 | x[9] = -(x[8] = MAD_F_MLZ(hi, lo) + t3); | ||
2460 | |||
2461 | MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0e313245)); | ||
2462 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x0bcbe352)); | ||
2463 | MAD_F_MLA(hi, lo, X[3], MAD_F(0x0f9ee890)); | ||
2464 | MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0898c779)); | ||
2465 | MAD_F_MLA(hi, lo, X[6], -MAD_F(0x0ffc19fd)); | ||
2466 | MAD_F_MLA(hi, lo, X[8], MAD_F(0x04cfb0e2)); | ||
2467 | MAD_F_MLA(hi, lo, X[9], MAD_F(0x0f426cb5)); | ||
2468 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x00b2aa3e)); | ||
2469 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0d7e8807)); | ||
2470 | MAD_F_MLA(hi, lo, X[14], -MAD_F(0x03768962)); | ||
2471 | MAD_F_MLA(hi, lo, X[15], MAD_F(0x0acf37ad)); | ||
2472 | MAD_F_MLA(hi, lo, X[17], MAD_F(0x07635284)); | ||
2473 | x[21] = x[32] = MAD_F_MLZ(hi, lo) + t3; | ||
2474 | |||
2475 | MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0d7e8807)); | ||
2476 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x0f426cb5)); | ||
2477 | MAD_F_MLA(hi, lo, X[3], MAD_F(0x0acf37ad)); | ||
2478 | MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0ffc19fd)); | ||
2479 | MAD_F_MLA(hi, lo, X[6], -MAD_F(0x07635284)); | ||
2480 | MAD_F_MLA(hi, lo, X[8], MAD_F(0x0f9ee890)); | ||
2481 | MAD_F_MLA(hi, lo, X[9], MAD_F(0x03768962)); | ||
2482 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0e313245)); | ||
2483 | MAD_F_MLA(hi, lo, X[12], MAD_F(0x00b2aa3e)); | ||
2484 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x0bcbe352)); | ||
2485 | MAD_F_MLA(hi, lo, X[15], -MAD_F(0x04cfb0e2)); | ||
2486 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0898c779)); | ||
2487 | x[20] = x[33] = MAD_F_MLZ(hi, lo) - t3; | ||
2488 | |||
2489 | MAD_F_ML0(hi, lo, t12, -MAD_F(0x0ec835e8)); | ||
2490 | MAD_F_MLA(hi, lo, t13, MAD_F(0x061f78aa)); | ||
2491 | x[22] = x[31] = MAD_F_MLZ(hi, lo) + t0; | ||
2492 | |||
2493 | MAD_F_ML0(hi, lo, t12, MAD_F(0x061f78aa)); | ||
2494 | MAD_F_MLA(hi, lo, t13, MAD_F(0x0ec835e8)); | ||
2495 | x[13] = -(x[4] = MAD_F_MLZ(hi, lo) + t4); | ||
2496 | x[16] = -(x[1] = x[1] + t4); | ||
2497 | x[25] = x[28] = x[25] + t4; | ||
2498 | |||
2499 | MAD_F_ML0(hi, lo, X[0], MAD_F(0x0898c779)); | ||
2500 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x04cfb0e2)); | ||
2501 | MAD_F_MLA(hi, lo, X[3], MAD_F(0x0bcbe352)); | ||
2502 | MAD_F_MLA(hi, lo, X[5], MAD_F(0x00b2aa3e)); | ||
2503 | MAD_F_MLA(hi, lo, X[6], MAD_F(0x0e313245)); | ||
2504 | MAD_F_MLA(hi, lo, X[8], -MAD_F(0x03768962)); | ||
2505 | MAD_F_MLA(hi, lo, X[9], MAD_F(0x0f9ee890)); | ||
2506 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x07635284)); | ||
2507 | MAD_F_MLA(hi, lo, X[12], MAD_F(0x0ffc19fd)); | ||
2508 | MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0acf37ad)); | ||
2509 | MAD_F_MLA(hi, lo, X[15], MAD_F(0x0f426cb5)); | ||
2510 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0d7e8807)); | ||
2511 | x[15] = -(x[2] = MAD_F_MLZ(hi, lo) + t5); | ||
2512 | |||
2513 | MAD_F_ML0(hi, lo, X[0], MAD_F(0x07635284)); | ||
2514 | MAD_F_MLA(hi, lo, X[2], MAD_F(0x0acf37ad)); | ||
2515 | MAD_F_MLA(hi, lo, X[3], MAD_F(0x03768962)); | ||
2516 | MAD_F_MLA(hi, lo, X[5], MAD_F(0x0d7e8807)); | ||
2517 | MAD_F_MLA(hi, lo, X[6], -MAD_F(0x00b2aa3e)); | ||
2518 | MAD_F_MLA(hi, lo, X[8], MAD_F(0x0f426cb5)); | ||
2519 | MAD_F_MLA(hi, lo, X[9], -MAD_F(0x04cfb0e2)); | ||
2520 | MAD_F_MLA(hi, lo, X[11], MAD_F(0x0ffc19fd)); | ||
2521 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0898c779)); | ||
2522 | MAD_F_MLA(hi, lo, X[14], MAD_F(0x0f9ee890)); | ||
2523 | MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0bcbe352)); | ||
2524 | MAD_F_MLA(hi, lo, X[17], MAD_F(0x0e313245)); | ||
2525 | x[14] = -(x[3] = MAD_F_MLZ(hi, lo) + t5); | ||
2526 | |||
2527 | MAD_F_ML0(hi, lo, X[0], -MAD_F(0x0ffc19fd)); | ||
2528 | MAD_F_MLA(hi, lo, X[2], -MAD_F(0x0f9ee890)); | ||
2529 | MAD_F_MLA(hi, lo, X[3], -MAD_F(0x0f426cb5)); | ||
2530 | MAD_F_MLA(hi, lo, X[5], -MAD_F(0x0e313245)); | ||
2531 | MAD_F_MLA(hi, lo, X[6], -MAD_F(0x0d7e8807)); | ||
2532 | MAD_F_MLA(hi, lo, X[8], -MAD_F(0x0bcbe352)); | ||
2533 | MAD_F_MLA(hi, lo, X[9], -MAD_F(0x0acf37ad)); | ||
2534 | MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0898c779)); | ||
2535 | MAD_F_MLA(hi, lo, X[12], -MAD_F(0x07635284)); | ||
2536 | MAD_F_MLA(hi, lo, X[14], -MAD_F(0x04cfb0e2)); | ||
2537 | MAD_F_MLA(hi, lo, X[15], -MAD_F(0x03768962)); | ||
2538 | MAD_F_MLA(hi, lo, X[17], -MAD_F(0x00b2aa3e)); | ||
2539 | x[26] = x[27] = MAD_F_MLZ(hi, lo) + t5; | ||
2540 | } | ||
2541 | # endif /* CPU_COLDFIRE */ | ||
2542 | |||
2543 | /* | ||
2544 | * NAME: III_imdct_l() | ||
2545 | * DESCRIPTION: perform IMDCT and windowing for long blocks | ||
2546 | */ | ||
2547 | static | ||
2548 | void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], | ||
2549 | unsigned int block_type) | ||
2550 | { | ||
2551 | unsigned int i; | ||
2552 | |||
2553 | /* IMDCT */ | ||
2554 | |||
2555 | imdct36(X, z); | ||
2556 | |||
2557 | /* windowing */ | ||
2558 | |||
2559 | switch (block_type) { | ||
2560 | case 0: /* normal window */ | ||
2561 | # if 1 | ||
2562 | /* loop unrolled implementation */ | ||
2563 | for (i = 0; i < 36; i += 4) { | ||
2564 | z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]); | ||
2565 | z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]); | ||
2566 | z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]); | ||
2567 | z[i + 3] = mad_f_mul(z[i + 3], window_l[i + 3]); | ||
2568 | } | ||
2569 | # else | ||
2570 | /* reference implementation */ | ||
2571 | for (i = 0; i < 36; ++i) z[i] = mad_f_mul(z[i], window_l[i]); | ||
2572 | # endif | ||
2573 | break; | ||
2574 | |||
2575 | case 1: /* start block */ | ||
2576 | for (i = 0; i < 18; i += 3) { | ||
2577 | z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]); | ||
2578 | z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]); | ||
2579 | z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]); | ||
2580 | } | ||
2581 | /* (i = 18; i < 24; ++i) z[i] unchanged */ | ||
2582 | for (i = 24; i < 30; ++i) z[i] = mad_f_mul(z[i], window_s[i - 18]); | ||
2583 | for (i = 30; i < 36; ++i) z[i] = 0; | ||
2584 | break; | ||
2585 | |||
2586 | case 3: /* stop block */ | ||
2587 | for (i = 0; i < 6; ++i) z[i] = 0; | ||
2588 | for (i = 6; i < 12; ++i) z[i] = mad_f_mul(z[i], window_s[i - 6]); | ||
2589 | /* (i = 12; i < 18; ++i) z[i] unchanged */ | ||
2590 | for (i = 18; i < 36; i += 3) { | ||
2591 | z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]); | ||
2592 | z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]); | ||
2593 | z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]); | ||
2594 | } | ||
2595 | break; | ||
2596 | } | ||
2597 | } | ||
2598 | # endif /* FPM_ARM */ | ||
2599 | |||
2600 | /* | ||
2601 | * NAME: III_imdct_s() | ||
2602 | * DESCRIPTION: perform IMDCT and windowing for short blocks | ||
2603 | */ | ||
2604 | |||
2605 | # if defined(CPU_COLDFIRE) | ||
2606 | void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]); | ||
2607 | #else | ||
2608 | |||
2609 | static | ||
2610 | void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) | ||
2611 | { | ||
2612 | mad_fixed_t y[36], *yptr; | ||
2613 | mad_fixed_t const *wptr; | ||
2614 | int w, i; | ||
2615 | register mad_fixed64hi_t hi; | ||
2616 | register mad_fixed64lo_t lo; | ||
2617 | |||
2618 | /* IMDCT */ | ||
2619 | |||
2620 | yptr = &y[0]; | ||
2621 | |||
2622 | for (w = 0; w < 3; ++w) { | ||
2623 | register mad_fixed_t const (*s)[6]; | ||
2624 | |||
2625 | s = imdct_s; | ||
2626 | |||
2627 | for (i = 0; i < 3; ++i) { | ||
2628 | MAD_F_ML0(hi, lo, X[0], (*s)[0]); | ||
2629 | MAD_F_MLA(hi, lo, X[1], (*s)[1]); | ||
2630 | MAD_F_MLA(hi, lo, X[2], (*s)[2]); | ||
2631 | MAD_F_MLA(hi, lo, X[3], (*s)[3]); | ||
2632 | MAD_F_MLA(hi, lo, X[4], (*s)[4]); | ||
2633 | MAD_F_MLA(hi, lo, X[5], (*s)[5]); | ||
2634 | |||
2635 | yptr[i + 0] = MAD_F_MLZ(hi, lo); | ||
2636 | yptr[5 - i] = -yptr[i + 0]; | ||
2637 | |||
2638 | ++s; | ||
2639 | |||
2640 | MAD_F_ML0(hi, lo, X[0], (*s)[0]); | ||
2641 | MAD_F_MLA(hi, lo, X[1], (*s)[1]); | ||
2642 | MAD_F_MLA(hi, lo, X[2], (*s)[2]); | ||
2643 | MAD_F_MLA(hi, lo, X[3], (*s)[3]); | ||
2644 | MAD_F_MLA(hi, lo, X[4], (*s)[4]); | ||
2645 | MAD_F_MLA(hi, lo, X[5], (*s)[5]); | ||
2646 | |||
2647 | yptr[ i + 6] = MAD_F_MLZ(hi, lo); | ||
2648 | yptr[11 - i] = yptr[i + 6]; | ||
2649 | |||
2650 | ++s; | ||
2651 | } | ||
2652 | |||
2653 | yptr += 12; | ||
2654 | X += 6; | ||
2655 | } | ||
2656 | |||
2657 | /* windowing, overlapping and concatenation */ | ||
2658 | |||
2659 | yptr = &y[0]; | ||
2660 | wptr = &window_s[0]; | ||
2661 | |||
2662 | for (i = 0; i < 6; ++i) { | ||
2663 | z[i + 0] = 0; | ||
2664 | z[i + 6] = mad_f_mul(yptr[ 0 + 0], wptr[0]); | ||
2665 | |||
2666 | MAD_F_ML0(hi, lo, yptr[ 0 + 6], wptr[6]); | ||
2667 | MAD_F_MLA(hi, lo, yptr[12 + 0], wptr[0]); | ||
2668 | |||
2669 | z[i + 12] = MAD_F_MLZ(hi, lo); | ||
2670 | |||
2671 | MAD_F_ML0(hi, lo, yptr[12 + 6], wptr[6]); | ||
2672 | MAD_F_MLA(hi, lo, yptr[24 + 0], wptr[0]); | ||
2673 | |||
2674 | z[i + 18] = MAD_F_MLZ(hi, lo); | ||
2675 | |||
2676 | z[i + 24] = mad_f_mul(yptr[24 + 6], wptr[6]); | ||
2677 | z[i + 30] = 0; | ||
2678 | |||
2679 | ++yptr; | ||
2680 | ++wptr; | ||
2681 | } | ||
2682 | } | ||
2683 | |||
2684 | #endif | ||
2685 | |||
2686 | #ifdef CPU_ARM | ||
2687 | void III_overlap(mad_fixed_t const output[36], mad_fixed_t overlap[18], | ||
2688 | mad_fixed_t sample[18][32], unsigned int sb); | ||
2689 | #else | ||
2690 | |||
2691 | /* | ||
2692 | * NAME: III_overlap() | ||
2693 | * DESCRIPTION: perform overlap-add of windowed IMDCT outputs | ||
2694 | */ | ||
2695 | static | ||
2696 | void III_overlap(mad_fixed_t const output[36], mad_fixed_t overlap[18], | ||
2697 | mad_fixed_t sample[18][32], unsigned int sb) | ||
2698 | { | ||
2699 | unsigned int i; | ||
2700 | for (i = 0; i < 18; ++i) { | ||
2701 | sample[i][sb] = output[i + 0] + overlap[i]; | ||
2702 | overlap[i] = output[i + 18]; | ||
2703 | } | ||
2704 | } | ||
2705 | #endif | ||
2706 | |||
2707 | /* | ||
2708 | * NAME: III_overlap_z() | ||
2709 | * DESCRIPTION: perform "overlap-add" of zero IMDCT outputs | ||
2710 | */ | ||
2711 | static inline | ||
2712 | void III_overlap_z(mad_fixed_t overlap[18], | ||
2713 | mad_fixed_t sample[18][32], unsigned int sb) | ||
2714 | { | ||
2715 | unsigned int i; | ||
2716 | for (i = 0; i < 18; ++i) { | ||
2717 | sample[i][sb] = overlap[i]; | ||
2718 | overlap[i] = 0; | ||
2719 | } | ||
2720 | } | ||
2721 | |||
2722 | /* | ||
2723 | * NAME: III_freqinver() | ||
2724 | * DESCRIPTION: perform subband frequency inversion for odd sample lines | ||
2725 | */ | ||
2726 | static | ||
2727 | void III_freqinver(mad_fixed_t sample[18][32], unsigned int sb) | ||
2728 | { | ||
2729 | unsigned int i; | ||
2730 | for (i = 1; i < 18; i += 2) | ||
2731 | sample[i][sb] = -sample[i][sb]; | ||
2732 | } | ||
2733 | |||
2734 | /* | ||
2735 | * NAME: III_decode() | ||
2736 | * DESCRIPTION: decode frame main_data | ||
2737 | */ | ||
2738 | static | ||
2739 | enum mad_error III_decode(struct mad_bitptr *ptr, struct mad_frame *frame, | ||
2740 | struct sideinfo *si, unsigned int nch) | ||
2741 | { | ||
2742 | struct mad_header *header = &frame->header; | ||
2743 | unsigned int sfreqi, ngr, gr; | ||
2744 | |||
2745 | { | ||
2746 | unsigned int sfreq; | ||
2747 | |||
2748 | sfreq = header->samplerate; | ||
2749 | if (header->flags & MAD_FLAG_MPEG_2_5_EXT) | ||
2750 | sfreq *= 2; | ||
2751 | |||
2752 | /* 48000 => 0, 44100 => 1, 32000 => 2, | ||
2753 | 24000 => 3, 22050 => 4, 16000 => 5 */ | ||
2754 | sfreqi = ((sfreq >> 7) & 0x000f) + | ||
2755 | ((sfreq >> 15) & 0x0001) - 8; | ||
2756 | |||
2757 | if (header->flags & MAD_FLAG_MPEG_2_5_EXT) | ||
2758 | sfreqi += 3; | ||
2759 | } | ||
2760 | |||
2761 | /* scalefactors, Huffman decoding, requantization */ | ||
2762 | |||
2763 | ngr = (header->flags & MAD_FLAG_LSF_EXT) ? 1 : 2; | ||
2764 | |||
2765 | for (gr = 0; gr < ngr; ++gr) { | ||
2766 | struct granule *granule = &si->gr[gr]; | ||
2767 | unsigned char const *sfbwidth[2]; | ||
2768 | mad_fixed_t xr[2][576]; | ||
2769 | unsigned int ch; | ||
2770 | enum mad_error error; | ||
2771 | |||
2772 | for (ch = 0; ch < nch; ++ch) { | ||
2773 | struct channel *channel = &granule->ch[ch]; | ||
2774 | unsigned int part2_length; | ||
2775 | |||
2776 | sfbwidth[ch] = sfbwidth_table[sfreqi].l; | ||
2777 | if (channel->block_type == 2) { | ||
2778 | sfbwidth[ch] = (channel->flags & mixed_block_flag) ? | ||
2779 | sfbwidth_table[sfreqi].m : sfbwidth_table[sfreqi].s; | ||
2780 | } | ||
2781 | |||
2782 | if (header->flags & MAD_FLAG_LSF_EXT) { | ||
2783 | part2_length = III_scalefactors_lsf(ptr, channel, | ||
2784 | ch == 0 ? 0 : &si->gr[1].ch[1], | ||
2785 | header->mode_extension); | ||
2786 | } | ||
2787 | else { | ||
2788 | part2_length = III_scalefactors(ptr, channel, &si->gr[0].ch[ch], | ||
2789 | gr == 0 ? 0 : si->scfsi[ch]); | ||
2790 | } | ||
2791 | |||
2792 | error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part2_length); | ||
2793 | if (error) | ||
2794 | return error; | ||
2795 | } | ||
2796 | |||
2797 | /* joint stereo processing */ | ||
2798 | |||
2799 | if (header->mode == MAD_MODE_JOINT_STEREO && header->mode_extension) { | ||
2800 | error = III_stereo(xr, granule, header, sfbwidth[0]); | ||
2801 | if (error) | ||
2802 | return error; | ||
2803 | } | ||
2804 | |||
2805 | /* reordering, alias reduction, IMDCT, overlap-add, frequency inversion */ | ||
2806 | |||
2807 | for (ch = 0; ch < nch; ++ch) { | ||
2808 | struct channel const *channel = &granule->ch[ch]; | ||
2809 | mad_fixed_t (*sample)[32] = &((*frame->sbsample)[ch][18 * gr]); | ||
2810 | unsigned int sb, l, i, sblimit; | ||
2811 | mad_fixed_t output[36]; | ||
2812 | |||
2813 | if (channel->block_type == 2) { | ||
2814 | III_reorder(xr[ch], channel, sfbwidth[ch]); | ||
2815 | |||
2816 | # if !defined(OPT_STRICT) | ||
2817 | /* | ||
2818 | * According to ISO/IEC 11172-3, "Alias reduction is not applied for | ||
2819 | * granules with block_type == 2 (short block)." However, other | ||
2820 | * sources suggest alias reduction should indeed be performed on the | ||
2821 | * lower two subbands of mixed blocks. Most other implementations do | ||
2822 | * this, so by default we will too. | ||
2823 | */ | ||
2824 | if (channel->flags & mixed_block_flag) | ||
2825 | III_aliasreduce(xr[ch], 36); | ||
2826 | # endif | ||
2827 | } | ||
2828 | else | ||
2829 | III_aliasreduce(xr[ch], 576); | ||
2830 | |||
2831 | l = 0; | ||
2832 | |||
2833 | /* subbands 0-1 */ | ||
2834 | |||
2835 | if (channel->block_type != 2 || (channel->flags & mixed_block_flag)) { | ||
2836 | unsigned int block_type; | ||
2837 | |||
2838 | block_type = channel->block_type; | ||
2839 | if (channel->flags & mixed_block_flag) | ||
2840 | block_type = 0; | ||
2841 | |||
2842 | /* long blocks */ | ||
2843 | for (sb = 0; sb < 2; ++sb, l += 18) { | ||
2844 | III_imdct_l(&xr[ch][l], output, block_type); | ||
2845 | III_overlap(output, (*frame->overlap)[ch][sb], sample, sb); | ||
2846 | } | ||
2847 | } | ||
2848 | else { | ||
2849 | /* short blocks */ | ||
2850 | for (sb = 0; sb < 2; ++sb, l += 18) { | ||
2851 | III_imdct_s(&xr[ch][l], output); | ||
2852 | III_overlap(output, (*frame->overlap)[ch][sb], sample, sb); | ||
2853 | } | ||
2854 | } | ||
2855 | |||
2856 | III_freqinver(sample, 1); | ||
2857 | |||
2858 | /* (nonzero) subbands 2-31 */ | ||
2859 | |||
2860 | /* | ||
2861 | i = 576; | ||
2862 | while (i > 36 && xr[ch][i - 1] == 0) | ||
2863 | --i; | ||
2864 | */ | ||
2865 | |||
2866 | { | ||
2867 | /* saves ~600k cycles */ | ||
2868 | mad_fixed_t *p = &xr[ch][576]; | ||
2869 | mad_fixed_t tmp = xr[ch][35]; | ||
2870 | xr[ch][35] = 1; | ||
2871 | while (!*--p); | ||
2872 | xr[ch][35] = tmp; | ||
2873 | i = p - &xr[ch][0] + 1; | ||
2874 | } | ||
2875 | sblimit = 32 - (576 - i) / 18; | ||
2876 | |||
2877 | if (channel->block_type != 2) { | ||
2878 | /* long blocks */ | ||
2879 | for (sb = 2; sb < sblimit; ++sb, l += 18) { | ||
2880 | III_imdct_l(&xr[ch][l], output, channel->block_type); | ||
2881 | III_overlap(output, (*frame->overlap)[ch][sb], sample, sb); | ||
2882 | |||
2883 | if (sb & 1) | ||
2884 | III_freqinver(sample, sb); | ||
2885 | } | ||
2886 | } | ||
2887 | else { | ||
2888 | /* short blocks */ | ||
2889 | for (sb = 2; sb < sblimit; ++sb, l += 18) { | ||
2890 | III_imdct_s(&xr[ch][l], output); | ||
2891 | III_overlap(output, (*frame->overlap)[ch][sb], sample, sb); | ||
2892 | |||
2893 | if (sb & 1) | ||
2894 | III_freqinver(sample, sb); | ||
2895 | } | ||
2896 | } | ||
2897 | |||
2898 | /* remaining (zero) subbands */ | ||
2899 | |||
2900 | for (sb = sblimit; sb < 32; ++sb) { | ||
2901 | III_overlap_z((*frame->overlap)[ch][sb], sample, sb); | ||
2902 | |||
2903 | if (sb & 1) | ||
2904 | III_freqinver(sample, sb); | ||
2905 | } | ||
2906 | } | ||
2907 | } | ||
2908 | |||
2909 | return MAD_ERROR_NONE; | ||
2910 | } | ||
2911 | |||
2912 | /* | ||
2913 | * NAME: layer->III() | ||
2914 | * DESCRIPTION: decode a single Layer III frame | ||
2915 | */ | ||
2916 | int mad_layer_III(struct mad_stream *stream, struct mad_frame *frame) | ||
2917 | { | ||
2918 | struct mad_header *header = &frame->header; | ||
2919 | unsigned int nch, priv_bitlen, next_md_begin = 0; | ||
2920 | unsigned int si_len, data_bitlen, md_len; | ||
2921 | unsigned int frame_space, frame_used, frame_free; | ||
2922 | struct mad_bitptr ptr; | ||
2923 | struct sideinfo si; | ||
2924 | enum mad_error error; | ||
2925 | int result = 0; | ||
2926 | |||
2927 | #if 0 /* rockbox: do not allocate */ | ||
2928 | /* allocate Layer III dynamic structures */ | ||
2929 | /* rockbox: not used. Both pointers are linked to an array in | ||
2930 | * ../mpa.c before calling this. */ | ||
2931 | if (stream->main_data == 0) { | ||
2932 | stream->main_data = malloc(MAD_BUFFER_MDLEN); | ||
2933 | if (stream->main_data == 0) { | ||
2934 | stream->error = MAD_ERROR_NOMEM; | ||
2935 | return -1; | ||
2936 | } | ||
2937 | } | ||
2938 | |||
2939 | if (frame->overlap == 0) { | ||
2940 | frame->overlap = calloc(2 * 32 * 18, sizeof(mad_fixed_t)); | ||
2941 | if (frame->overlap == 0) { | ||
2942 | stream->error = MAD_ERROR_NOMEM; | ||
2943 | return -1; | ||
2944 | } | ||
2945 | } | ||
2946 | #else | ||
2947 | /* rockbox: This should not happen. Return with error. */ | ||
2948 | if ((stream->main_data == 0) || (frame->overlap == 0)) { | ||
2949 | stream->error = MAD_ERROR_NOMEM; | ||
2950 | return -1; | ||
2951 | } | ||
2952 | #endif /* rockbox */ | ||
2953 | |||
2954 | nch = MAD_NCHANNELS(header); | ||
2955 | si_len = (header->flags & MAD_FLAG_LSF_EXT) ? | ||
2956 | (nch == 1 ? 9 : 17) : (nch == 1 ? 17 : 32); | ||
2957 | |||
2958 | /* check frame sanity */ | ||
2959 | |||
2960 | if (stream->next_frame - mad_bit_nextbyte(&stream->ptr) < | ||
2961 | (signed int) si_len) { | ||
2962 | stream->error = MAD_ERROR_BADFRAMELEN; | ||
2963 | stream->md_len = 0; | ||
2964 | return -1; | ||
2965 | } | ||
2966 | |||
2967 | /* check CRC word */ | ||
2968 | |||
2969 | if (header->flags & MAD_FLAG_PROTECTION) { | ||
2970 | header->crc_check = | ||
2971 | mad_bit_crc(stream->ptr, si_len * CHAR_BIT, header->crc_check); | ||
2972 | |||
2973 | if (header->crc_check != header->crc_target && | ||
2974 | !(frame->options & MAD_OPTION_IGNORECRC)) { | ||
2975 | stream->error = MAD_ERROR_BADCRC; | ||
2976 | result = -1; | ||
2977 | } | ||
2978 | } | ||
2979 | |||
2980 | /* decode frame side information */ | ||
2981 | |||
2982 | error = III_sideinfo(&stream->ptr, nch, header->flags & MAD_FLAG_LSF_EXT, | ||
2983 | &si, &data_bitlen, &priv_bitlen); | ||
2984 | if (error && result == 0) { | ||
2985 | stream->error = error; | ||
2986 | result = -1; | ||
2987 | } | ||
2988 | |||
2989 | header->flags |= priv_bitlen; | ||
2990 | header->private_bits |= si.private_bits; | ||
2991 | |||
2992 | /* find main_data of next frame */ | ||
2993 | |||
2994 | { | ||
2995 | struct mad_bitptr peek; | ||
2996 | unsigned long header; | ||
2997 | |||
2998 | mad_bit_init(&peek, stream->next_frame); | ||
2999 | |||
3000 | header = mad_bit_read(&peek, 32); | ||
3001 | if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) { | ||
3002 | if (!(header & 0x00010000L)) /* protection_bit */ | ||
3003 | mad_bit_skip(&peek, 16); /* crc_check */ | ||
3004 | |||
3005 | next_md_begin = | ||
3006 | mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8); | ||
3007 | } | ||
3008 | |||
3009 | mad_bit_finish(&peek); | ||
3010 | } | ||
3011 | |||
3012 | /* find main_data of this frame */ | ||
3013 | |||
3014 | frame_space = stream->next_frame - mad_bit_nextbyte(&stream->ptr); | ||
3015 | |||
3016 | if (next_md_begin > si.main_data_begin + frame_space) | ||
3017 | next_md_begin = 0; | ||
3018 | |||
3019 | md_len = si.main_data_begin + frame_space - next_md_begin; | ||
3020 | |||
3021 | frame_used = 0; | ||
3022 | |||
3023 | if (si.main_data_begin == 0) { | ||
3024 | ptr = stream->ptr; | ||
3025 | stream->md_len = 0; | ||
3026 | |||
3027 | frame_used = md_len; | ||
3028 | } | ||
3029 | else { | ||
3030 | if (si.main_data_begin > stream->md_len) { | ||
3031 | if (result == 0) { | ||
3032 | stream->error = MAD_ERROR_BADDATAPTR; | ||
3033 | result = -1; | ||
3034 | } | ||
3035 | } | ||
3036 | else { | ||
3037 | mad_bit_init(&ptr, | ||
3038 | *stream->main_data + stream->md_len - si.main_data_begin); | ||
3039 | |||
3040 | if (md_len > si.main_data_begin) { | ||
3041 | assert(stream->md_len + md_len - | ||
3042 | si.main_data_begin <= MAD_BUFFER_MDLEN); | ||
3043 | |||
3044 | memcpy(*stream->main_data + stream->md_len, | ||
3045 | mad_bit_nextbyte(&stream->ptr), | ||
3046 | frame_used = md_len - si.main_data_begin); | ||
3047 | stream->md_len += frame_used; | ||
3048 | } | ||
3049 | } | ||
3050 | } | ||
3051 | |||
3052 | frame_free = frame_space - frame_used; | ||
3053 | |||
3054 | /* decode main_data */ | ||
3055 | |||
3056 | if (result == 0) { | ||
3057 | error = III_decode(&ptr, frame, &si, nch); | ||
3058 | if (error) { | ||
3059 | stream->error = error; | ||
3060 | result = -1; | ||
3061 | } | ||
3062 | |||
3063 | /* designate ancillary bits */ | ||
3064 | |||
3065 | stream->anc_ptr = ptr; | ||
3066 | stream->anc_bitlen = md_len * CHAR_BIT - data_bitlen; | ||
3067 | } | ||
3068 | |||
3069 | # if 0 && defined(DEBUG) | ||
3070 | fprintf(stderr, | ||
3071 | "main_data_begin:%u, md_len:%u, frame_free:%u, " | ||
3072 | "data_bitlen:%u, anc_bitlen: %u\n", | ||
3073 | si.main_data_begin, md_len, frame_free, | ||
3074 | data_bitlen, stream->anc_bitlen); | ||
3075 | # endif | ||
3076 | |||
3077 | /* preload main_data buffer with up to 511 bytes for next frame(s) */ | ||
3078 | |||
3079 | if (frame_free >= next_md_begin) { | ||
3080 | memcpy(*stream->main_data, | ||
3081 | stream->next_frame - next_md_begin, next_md_begin); | ||
3082 | stream->md_len = next_md_begin; | ||
3083 | } | ||
3084 | else { | ||
3085 | if (md_len < si.main_data_begin) { | ||
3086 | unsigned int extra; | ||
3087 | |||
3088 | extra = si.main_data_begin - md_len; | ||
3089 | if (extra + frame_free > next_md_begin) | ||
3090 | extra = next_md_begin - frame_free; | ||
3091 | |||
3092 | if (extra < stream->md_len) { | ||
3093 | memmove(*stream->main_data, | ||
3094 | *stream->main_data + stream->md_len - extra, extra); | ||
3095 | stream->md_len = extra; | ||
3096 | } | ||
3097 | } | ||
3098 | else | ||
3099 | stream->md_len = 0; | ||
3100 | |||
3101 | memcpy(*stream->main_data + stream->md_len, | ||
3102 | stream->next_frame - frame_free, frame_free); | ||
3103 | stream->md_len += frame_free; | ||
3104 | } | ||
3105 | |||
3106 | return result; | ||
3107 | } | ||
diff --git a/lib/rbcodec/codecs/libmad/layer3.h b/lib/rbcodec/codecs/libmad/layer3.h new file mode 100644 index 0000000000..15948037e9 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/layer3.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_LAYER3_H | ||
23 | # define LIBMAD_LAYER3_H | ||
24 | |||
25 | # include "stream.h" | ||
26 | # include "frame.h" | ||
27 | |||
28 | int mad_layer_III(struct mad_stream *, struct mad_frame *); | ||
29 | |||
30 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/libmad.make b/lib/rbcodec/codecs/libmad/libmad.make new file mode 100644 index 0000000000..2a8c7b220f --- /dev/null +++ b/lib/rbcodec/codecs/libmad/libmad.make | |||
@@ -0,0 +1,66 @@ | |||
1 | # __________ __ ___. | ||
2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
6 | # \/ \/ \/ \/ \/ | ||
7 | # $Id$ | ||
8 | # | ||
9 | |||
10 | # we need to build two different mad libraries | ||
11 | # (one for codec, one for mpegplayer) | ||
12 | # so a little trickery is necessary | ||
13 | |||
14 | # Extract optimization level ('-O') from compile flags. Will be set later. | ||
15 | MADFLAGS = $(filter-out -O%,$(CODECFLAGS)) -I$(RBCODECLIB_DIR)/codecs/libmad | ||
16 | MADFLAGS += -UDEBUG -DNDEBUG -DHAVE_LIMITS_H | ||
17 | |||
18 | # libmad is faster on ARM-targets with -O1 than -O2 | ||
19 | ifeq ($(ARCH),arch_arm) | ||
20 | MADFLAGS += -O1 | ||
21 | else | ||
22 | MADFLAGS += -O2 | ||
23 | endif | ||
24 | |||
25 | # MPEGplayer | ||
26 | MPEGMADFLAGS = $(MADFLAGS) -DMPEGPLAYER | ||
27 | |||
28 | # libmad | ||
29 | MADLIB := $(CODECDIR)/libmad.a | ||
30 | MADLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/libmad/SOURCES) | ||
31 | MADLIB_OBJ := $(call c2obj, $(MADLIB_SRC)) | ||
32 | OTHER_SRC += $(MADLIB_SRC) | ||
33 | |||
34 | $(MADLIB): $(MADLIB_OBJ) | ||
35 | $(SILENT)$(shell rm -f $@) | ||
36 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | ||
37 | |||
38 | # libmad-mpeg | ||
39 | MPEGMADLIB := $(CODECDIR)/libmad-mpeg.a | ||
40 | MPEGMADLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/libmad/SOURCES) | ||
41 | MPEGMADLIB_OBJ := $(addsuffix .o,$(basename $(subst $(RBCODECLIB_DIR)/codecs/libmad,$(RBCODEC_BLD)/codecs/libmad-mpeg,$(MPEGMADLIB_SRC)))) | ||
42 | |||
43 | $(MPEGMADLIB): $(MPEGMADLIB_OBJ) | ||
44 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | ||
45 | |||
46 | # pattern rules | ||
47 | |||
48 | $(CODECDIR)/libmad-mpeg/%.o : $(RBCODECLIB_DIR)/codecs/libmad/%.c | ||
49 | $(SILENT)mkdir -p $(dir $@) | ||
50 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ | ||
51 | $(CC) $(MPEGMADFLAGS) -c $< -o $@ | ||
52 | |||
53 | $(CODECDIR)/libmad-mpeg/%.o : $(RBCODECLIB_DIR)/codecs/libmad/%.S | ||
54 | $(SILENT)mkdir -p $(dir $@) | ||
55 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ | ||
56 | $(CC) $(MPEGMADFLAGS) $(ASMFLAGS) -c $< -o $@ | ||
57 | |||
58 | $(CODECDIR)/libmad/%.o: $(RBCODECLIB_DIR)/codecs/libmad/%.c | ||
59 | $(SILENT)mkdir -p $(dir $@) | ||
60 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ | ||
61 | $(CC) $(MADFLAGS) -c $< -o $@ | ||
62 | |||
63 | $(CODECDIR)/libmad/%.o: $(RBCODECLIB_DIR)/codecs/libmad/%.S | ||
64 | $(SILENT)mkdir -p $(dir $@) | ||
65 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ | ||
66 | $(CC) $(MADFLAGS) $(ASMFLAGS) -c $< -o $@ | ||
diff --git a/lib/rbcodec/codecs/libmad/mad.h b/lib/rbcodec/codecs/libmad/mad.h new file mode 100644 index 0000000000..3ae0d88a0e --- /dev/null +++ b/lib/rbcodec/codecs/libmad/mad.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * If you would like to negotiate alternate licensing terms, you may do | ||
20 | * so by contacting: Underbit Technologies, Inc. <info@underbit.com> | ||
21 | */ | ||
22 | |||
23 | #include <inttypes.h> | ||
24 | |||
25 | #define FPM_DEFAULT | ||
26 | |||
27 | #include "fixed.h" | ||
28 | #include "bit.h" | ||
29 | #include "stream.h" | ||
30 | #include "frame.h" | ||
31 | #include "synth.h" | ||
diff --git a/lib/rbcodec/codecs/libmad/mad_iram.h b/lib/rbcodec/codecs/libmad/mad_iram.h new file mode 100644 index 0000000000..ac0b64cca9 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/mad_iram.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2007 Dave Chapman | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | |||
22 | /* Define how IRAM is used on the various targets. Note that this | ||
23 | file is included by both .c and .S files so must not contain any C | ||
24 | code. | ||
25 | */ | ||
26 | |||
27 | #ifndef _LIBMAD_IRAM_H | ||
28 | #define _LIBMAD_IRAM_H | ||
29 | |||
30 | #include "config.h" | ||
31 | |||
32 | #if (CONFIG_PLATFORM&PLATFORM_HOSTED) | ||
33 | #define ICODE_SECTION_MPA_ARM .text | ||
34 | #define IBSS_SECTION_MPA_ARM .bss | ||
35 | #define ICODE_ATTR_MPA_SYNTH | ||
36 | #define ICONST_ATTR_MPA_HUFFMAN | ||
37 | #else | ||
38 | /* Code performs slower in IRAM on PP502x and there is no space in | ||
39 | mpegplayer on the PP5002. S3C2440 doesn't have any IRAM available for | ||
40 | codecs */ | ||
41 | #if defined(CPU_PP502x) || (CONFIG_CPU == PP5002 && defined(MPEGPLAYER)) | ||
42 | #define ICODE_SECTION_MPA_ARM .text | ||
43 | #define ICODE_ATTR_MPA_SYNTH | ||
44 | #else | ||
45 | #define ICODE_SECTION_MPA_ARM .icode | ||
46 | #define ICODE_ATTR_MPA_SYNTH ICODE_ATTR | ||
47 | #endif | ||
48 | |||
49 | #define IBSS_SECTION_MPA_ARM .ibss | ||
50 | |||
51 | #ifndef ICONST_ATTR_MPA_HUFFMAN | ||
52 | #define ICONST_ATTR_MPA_HUFFMAN ICONST_ATTR | ||
53 | #endif | ||
54 | |||
55 | #endif | ||
56 | |||
57 | #endif /* MAD_IRAM_H */ | ||
diff --git a/lib/rbcodec/codecs/libmad/qc_table.dat b/lib/rbcodec/codecs/libmad/qc_table.dat new file mode 100644 index 0000000000..d28a207049 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/qc_table.dat | |||
@@ -0,0 +1,77 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | /* | ||
23 | * These are the Layer II classes of quantization. | ||
24 | * The table is derived from Table B.4 of ISO/IEC 11172-3. | ||
25 | */ | ||
26 | |||
27 | { 3, 2, 5, | ||
28 | MAD_F(0x15555555) /* 1.33333333333 => 1.33333333209, e 0.00000000124 */, | ||
29 | MAD_F(0x08000000) /* 0.50000000000 => 0.50000000000, e 0.00000000000 */ }, | ||
30 | { 5, 3, 7, | ||
31 | MAD_F(0x1999999a) /* 1.60000000000 => 1.60000000149, e -0.00000000149 */, | ||
32 | MAD_F(0x08000000) /* 0.50000000000 => 0.50000000000, e 0.00000000000 */ }, | ||
33 | { 7, 0, 3, | ||
34 | MAD_F(0x12492492) /* 1.14285714286 => 1.14285714179, e 0.00000000107 */, | ||
35 | MAD_F(0x04000000) /* 0.25000000000 => 0.25000000000, e 0.00000000000 */ }, | ||
36 | { 9, 4, 10, | ||
37 | MAD_F(0x1c71c71c) /* 1.77777777777 => 1.77777777612, e 0.00000000165 */, | ||
38 | MAD_F(0x08000000) /* 0.50000000000 => 0.50000000000, e 0.00000000000 */ }, | ||
39 | { 15, 0, 4, | ||
40 | MAD_F(0x11111111) /* 1.06666666666 => 1.06666666642, e 0.00000000024 */, | ||
41 | MAD_F(0x02000000) /* 0.12500000000 => 0.12500000000, e 0.00000000000 */ }, | ||
42 | { 31, 0, 5, | ||
43 | MAD_F(0x10842108) /* 1.03225806452 => 1.03225806355, e 0.00000000097 */, | ||
44 | MAD_F(0x01000000) /* 0.06250000000 => 0.06250000000, e 0.00000000000 */ }, | ||
45 | { 63, 0, 6, | ||
46 | MAD_F(0x10410410) /* 1.01587301587 => 1.01587301493, e 0.00000000094 */, | ||
47 | MAD_F(0x00800000) /* 0.03125000000 => 0.03125000000, e 0.00000000000 */ }, | ||
48 | { 127, 0, 7, | ||
49 | MAD_F(0x10204081) /* 1.00787401575 => 1.00787401572, e 0.00000000003 */, | ||
50 | MAD_F(0x00400000) /* 0.01562500000 => 0.01562500000, e 0.00000000000 */ }, | ||
51 | { 255, 0, 8, | ||
52 | MAD_F(0x10101010) /* 1.00392156863 => 1.00392156839, e 0.00000000024 */, | ||
53 | MAD_F(0x00200000) /* 0.00781250000 => 0.00781250000, e 0.00000000000 */ }, | ||
54 | { 511, 0, 9, | ||
55 | MAD_F(0x10080402) /* 1.00195694716 => 1.00195694715, e 0.00000000001 */, | ||
56 | MAD_F(0x00100000) /* 0.00390625000 => 0.00390625000, e 0.00000000000 */ }, | ||
57 | { 1023, 0, 10, | ||
58 | MAD_F(0x10040100) /* 1.00097751711 => 1.00097751617, e 0.00000000094 */, | ||
59 | MAD_F(0x00080000) /* 0.00195312500 => 0.00195312500, e 0.00000000000 */ }, | ||
60 | { 2047, 0, 11, | ||
61 | MAD_F(0x10020040) /* 1.00048851979 => 1.00048851967, e 0.00000000012 */, | ||
62 | MAD_F(0x00040000) /* 0.00097656250 => 0.00097656250, e 0.00000000000 */ }, | ||
63 | { 4095, 0, 12, | ||
64 | MAD_F(0x10010010) /* 1.00024420024 => 1.00024420023, e 0.00000000001 */, | ||
65 | MAD_F(0x00020000) /* 0.00048828125 => 0.00048828125, e 0.00000000000 */ }, | ||
66 | { 8191, 0, 13, | ||
67 | MAD_F(0x10008004) /* 1.00012208522 => 1.00012208521, e 0.00000000001 */, | ||
68 | MAD_F(0x00010000) /* 0.00024414063 => 0.00024414062, e 0.00000000000 */ }, | ||
69 | { 16383, 0, 14, | ||
70 | MAD_F(0x10004001) /* 1.00006103888 => 1.00006103888, e -0.00000000000 */, | ||
71 | MAD_F(0x00008000) /* 0.00012207031 => 0.00012207031, e -0.00000000000 */ }, | ||
72 | { 32767, 0, 15, | ||
73 | MAD_F(0x10002000) /* 1.00003051851 => 1.00003051758, e 0.00000000093 */, | ||
74 | MAD_F(0x00004000) /* 0.00006103516 => 0.00006103516, e 0.00000000000 */ }, | ||
75 | { 65535, 0, 16, | ||
76 | MAD_F(0x10001000) /* 1.00001525902 => 1.00001525879, e 0.00000000023 */, | ||
77 | MAD_F(0x00002000) /* 0.00003051758 => 0.00003051758, e 0.00000000000 */ } | ||
diff --git a/lib/rbcodec/codecs/libmad/rq_table.dat b/lib/rbcodec/codecs/libmad/rq_table.dat new file mode 100644 index 0000000000..b3a37c13cd --- /dev/null +++ b/lib/rbcodec/codecs/libmad/rq_table.dat | |||
@@ -0,0 +1,8747 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | /* | ||
23 | * This is the lookup table used to compute x^(4/3) for Layer III | ||
24 | * requantization. To maintain the best possible accuracy, the value is | ||
25 | * stored as a normalized mantissa with exponent. The requantization | ||
26 | * algorithm recombines these parts with appropriate scaling. | ||
27 | */ | ||
28 | |||
29 | /* 0 */ 0x00000000 | (0 << 27) /* 0.000000000 */, | ||
30 | /* 1 */ 0x04000000 | (2 << 27) /* 0.250000000 */, | ||
31 | /* 2 */ 0x050a28be | (3 << 27) /* 0.314980262 */, | ||
32 | /* 3 */ 0x0453a5cd | (4 << 27) /* 0.270421794 */, | ||
33 | /* 4 */ 0x06597fa9 | (4 << 27) /* 0.396850263 */, | ||
34 | /* 5 */ 0x04466275 | (5 << 27) /* 0.267183742 */, | ||
35 | /* 6 */ 0x05738c72 | (5 << 27) /* 0.340710111 */, | ||
36 | /* 7 */ 0x06b1fc81 | (5 << 27) /* 0.418453696 */, | ||
37 | /* 8 */ 0x04000000 | (6 << 27) /* 0.250000000 */, | ||
38 | /* 9 */ 0x04ae20d7 | (6 << 27) /* 0.292511788 */, | ||
39 | /* 10 */ 0x0562d694 | (6 << 27) /* 0.336630420 */, | ||
40 | /* 11 */ 0x061dae96 | (6 << 27) /* 0.382246578 */, | ||
41 | /* 12 */ 0x06de47f4 | (6 << 27) /* 0.429267841 */, | ||
42 | /* 13 */ 0x07a44f7a | (6 << 27) /* 0.477614858 */, | ||
43 | /* 14 */ 0x0437be65 | (7 << 27) /* 0.263609310 */, | ||
44 | /* 15 */ 0x049fc824 | (7 << 27) /* 0.289009227 */, | ||
45 | |||
46 | /* 16 */ 0x050a28be | (7 << 27) /* 0.314980262 */, | ||
47 | /* 17 */ 0x0576c6f5 | (7 << 27) /* 0.341498336 */, | ||
48 | /* 18 */ 0x05e58c0b | (7 << 27) /* 0.368541759 */, | ||
49 | /* 19 */ 0x06566361 | (7 << 27) /* 0.396090870 */, | ||
50 | /* 20 */ 0x06c93a2e | (7 << 27) /* 0.424127753 */, | ||
51 | /* 21 */ 0x073dff3e | (7 << 27) /* 0.452635998 */, | ||
52 | /* 22 */ 0x07b4a2bc | (7 << 27) /* 0.481600510 */, | ||
53 | /* 23 */ 0x04168b05 | (8 << 27) /* 0.255503674 */, | ||
54 | /* 24 */ 0x0453a5cd | (8 << 27) /* 0.270421794 */, | ||
55 | /* 25 */ 0x04919b6a | (8 << 27) /* 0.285548607 */, | ||
56 | /* 26 */ 0x04d065fb | (8 << 27) /* 0.300878507 */, | ||
57 | /* 27 */ 0x05100000 | (8 << 27) /* 0.316406250 */, | ||
58 | /* 28 */ 0x05506451 | (8 << 27) /* 0.332126919 */, | ||
59 | /* 29 */ 0x05918e15 | (8 << 27) /* 0.348035890 */, | ||
60 | /* 30 */ 0x05d378bb | (8 << 27) /* 0.364128809 */, | ||
61 | /* 31 */ 0x06161ff3 | (8 << 27) /* 0.380401563 */, | ||
62 | |||
63 | /* 32 */ 0x06597fa9 | (8 << 27) /* 0.396850263 */, | ||
64 | /* 33 */ 0x069d9400 | (8 << 27) /* 0.413471222 */, | ||
65 | /* 34 */ 0x06e2594c | (8 << 27) /* 0.430260942 */, | ||
66 | /* 35 */ 0x0727cc11 | (8 << 27) /* 0.447216097 */, | ||
67 | /* 36 */ 0x076de8fc | (8 << 27) /* 0.464333519 */, | ||
68 | /* 37 */ 0x07b4ace3 | (8 << 27) /* 0.481610189 */, | ||
69 | /* 38 */ 0x07fc14bf | (8 << 27) /* 0.499043224 */, | ||
70 | /* 39 */ 0x04220ed7 | (9 << 27) /* 0.258314934 */, | ||
71 | /* 40 */ 0x04466275 | (9 << 27) /* 0.267183742 */, | ||
72 | /* 41 */ 0x046b03e7 | (9 << 27) /* 0.276126771 */, | ||
73 | /* 42 */ 0x048ff1e8 | (9 << 27) /* 0.285142811 */, | ||
74 | /* 43 */ 0x04b52b3f | (9 << 27) /* 0.294230696 */, | ||
75 | /* 44 */ 0x04daaec0 | (9 << 27) /* 0.303389310 */, | ||
76 | /* 45 */ 0x05007b49 | (9 << 27) /* 0.312617576 */, | ||
77 | /* 46 */ 0x05268fc6 | (9 << 27) /* 0.321914457 */, | ||
78 | /* 47 */ 0x054ceb2a | (9 << 27) /* 0.331278957 */, | ||
79 | |||
80 | /* 48 */ 0x05738c72 | (9 << 27) /* 0.340710111 */, | ||
81 | /* 49 */ 0x059a72a5 | (9 << 27) /* 0.350206992 */, | ||
82 | /* 50 */ 0x05c19cd3 | (9 << 27) /* 0.359768701 */, | ||
83 | /* 51 */ 0x05e90a12 | (9 << 27) /* 0.369394372 */, | ||
84 | /* 52 */ 0x0610b982 | (9 << 27) /* 0.379083164 */, | ||
85 | /* 53 */ 0x0638aa48 | (9 << 27) /* 0.388834268 */, | ||
86 | /* 54 */ 0x0660db91 | (9 << 27) /* 0.398646895 */, | ||
87 | /* 55 */ 0x06894c90 | (9 << 27) /* 0.408520284 */, | ||
88 | /* 56 */ 0x06b1fc81 | (9 << 27) /* 0.418453696 */, | ||
89 | /* 57 */ 0x06daeaa1 | (9 << 27) /* 0.428446415 */, | ||
90 | /* 58 */ 0x07041636 | (9 << 27) /* 0.438497744 */, | ||
91 | /* 59 */ 0x072d7e8b | (9 << 27) /* 0.448607009 */, | ||
92 | /* 60 */ 0x075722ef | (9 << 27) /* 0.458773552 */, | ||
93 | /* 61 */ 0x078102b8 | (9 << 27) /* 0.468996735 */, | ||
94 | /* 62 */ 0x07ab1d3e | (9 << 27) /* 0.479275937 */, | ||
95 | /* 63 */ 0x07d571e0 | (9 << 27) /* 0.489610555 */, | ||
96 | |||
97 | /* 64 */ 0x04000000 | (10 << 27) /* 0.250000000 */, | ||
98 | /* 65 */ 0x04156381 | (10 << 27) /* 0.255221850 */, | ||
99 | /* 66 */ 0x042ae32a | (10 << 27) /* 0.260470548 */, | ||
100 | /* 67 */ 0x04407eb1 | (10 << 27) /* 0.265745823 */, | ||
101 | /* 68 */ 0x045635cf | (10 << 27) /* 0.271047409 */, | ||
102 | /* 69 */ 0x046c083e | (10 << 27) /* 0.276375048 */, | ||
103 | /* 70 */ 0x0481f5bb | (10 << 27) /* 0.281728487 */, | ||
104 | /* 71 */ 0x0497fe03 | (10 << 27) /* 0.287107481 */, | ||
105 | /* 72 */ 0x04ae20d7 | (10 << 27) /* 0.292511788 */, | ||
106 | /* 73 */ 0x04c45df6 | (10 << 27) /* 0.297941173 */, | ||
107 | /* 74 */ 0x04dab524 | (10 << 27) /* 0.303395408 */, | ||
108 | /* 75 */ 0x04f12624 | (10 << 27) /* 0.308874267 */, | ||
109 | /* 76 */ 0x0507b0bc | (10 << 27) /* 0.314377532 */, | ||
110 | /* 77 */ 0x051e54b1 | (10 << 27) /* 0.319904987 */, | ||
111 | /* 78 */ 0x053511cb | (10 << 27) /* 0.325456423 */, | ||
112 | /* 79 */ 0x054be7d4 | (10 << 27) /* 0.331031635 */, | ||
113 | |||
114 | /* 80 */ 0x0562d694 | (10 << 27) /* 0.336630420 */, | ||
115 | /* 81 */ 0x0579ddd8 | (10 << 27) /* 0.342252584 */, | ||
116 | /* 82 */ 0x0590fd6c | (10 << 27) /* 0.347897931 */, | ||
117 | /* 83 */ 0x05a8351c | (10 << 27) /* 0.353566275 */, | ||
118 | /* 84 */ 0x05bf84b8 | (10 << 27) /* 0.359257429 */, | ||
119 | /* 85 */ 0x05d6ec0e | (10 << 27) /* 0.364971213 */, | ||
120 | /* 86 */ 0x05ee6aef | (10 << 27) /* 0.370707448 */, | ||
121 | /* 87 */ 0x0606012b | (10 << 27) /* 0.376465960 */, | ||
122 | /* 88 */ 0x061dae96 | (10 << 27) /* 0.382246578 */, | ||
123 | /* 89 */ 0x06357302 | (10 << 27) /* 0.388049134 */, | ||
124 | /* 90 */ 0x064d4e43 | (10 << 27) /* 0.393873464 */, | ||
125 | /* 91 */ 0x0665402d | (10 << 27) /* 0.399719406 */, | ||
126 | /* 92 */ 0x067d4896 | (10 << 27) /* 0.405586801 */, | ||
127 | /* 93 */ 0x06956753 | (10 << 27) /* 0.411475493 */, | ||
128 | /* 94 */ 0x06ad9c3d | (10 << 27) /* 0.417385331 */, | ||
129 | /* 95 */ 0x06c5e72b | (10 << 27) /* 0.423316162 */, | ||
130 | |||
131 | /* 96 */ 0x06de47f4 | (10 << 27) /* 0.429267841 */, | ||
132 | /* 97 */ 0x06f6be73 | (10 << 27) /* 0.435240221 */, | ||
133 | /* 98 */ 0x070f4a80 | (10 << 27) /* 0.441233161 */, | ||
134 | /* 99 */ 0x0727ebf7 | (10 << 27) /* 0.447246519 */, | ||
135 | /* 100 */ 0x0740a2b2 | (10 << 27) /* 0.453280160 */, | ||
136 | /* 101 */ 0x07596e8d | (10 << 27) /* 0.459333946 */, | ||
137 | /* 102 */ 0x07724f64 | (10 << 27) /* 0.465407744 */, | ||
138 | /* 103 */ 0x078b4514 | (10 << 27) /* 0.471501425 */, | ||
139 | /* 104 */ 0x07a44f7a | (10 << 27) /* 0.477614858 */, | ||
140 | /* 105 */ 0x07bd6e75 | (10 << 27) /* 0.483747918 */, | ||
141 | /* 106 */ 0x07d6a1e2 | (10 << 27) /* 0.489900479 */, | ||
142 | /* 107 */ 0x07efe9a1 | (10 << 27) /* 0.496072418 */, | ||
143 | /* 108 */ 0x0404a2c9 | (11 << 27) /* 0.251131807 */, | ||
144 | /* 109 */ 0x04115aca | (11 << 27) /* 0.254236974 */, | ||
145 | /* 110 */ 0x041e1cc4 | (11 << 27) /* 0.257351652 */, | ||
146 | /* 111 */ 0x042ae8a7 | (11 << 27) /* 0.260475783 */, | ||
147 | |||
148 | /* 112 */ 0x0437be65 | (11 << 27) /* 0.263609310 */, | ||
149 | /* 113 */ 0x04449dee | (11 << 27) /* 0.266752177 */, | ||
150 | /* 114 */ 0x04518733 | (11 << 27) /* 0.269904329 */, | ||
151 | /* 115 */ 0x045e7a26 | (11 << 27) /* 0.273065710 */, | ||
152 | /* 116 */ 0x046b76b9 | (11 << 27) /* 0.276236269 */, | ||
153 | /* 117 */ 0x04787cdc | (11 << 27) /* 0.279415952 */, | ||
154 | /* 118 */ 0x04858c83 | (11 << 27) /* 0.282604707 */, | ||
155 | /* 119 */ 0x0492a59f | (11 << 27) /* 0.285802482 */, | ||
156 | /* 120 */ 0x049fc824 | (11 << 27) /* 0.289009227 */, | ||
157 | /* 121 */ 0x04acf402 | (11 << 27) /* 0.292224893 */, | ||
158 | /* 122 */ 0x04ba292e | (11 << 27) /* 0.295449429 */, | ||
159 | /* 123 */ 0x04c7679a | (11 << 27) /* 0.298682788 */, | ||
160 | /* 124 */ 0x04d4af3a | (11 << 27) /* 0.301924921 */, | ||
161 | /* 125 */ 0x04e20000 | (11 << 27) /* 0.305175781 */, | ||
162 | /* 126 */ 0x04ef59e0 | (11 << 27) /* 0.308435322 */, | ||
163 | /* 127 */ 0x04fcbcce | (11 << 27) /* 0.311703498 */, | ||
164 | |||
165 | /* 128 */ 0x050a28be | (11 << 27) /* 0.314980262 */, | ||
166 | /* 129 */ 0x05179da4 | (11 << 27) /* 0.318265572 */, | ||
167 | /* 130 */ 0x05251b73 | (11 << 27) /* 0.321559381 */, | ||
168 | /* 131 */ 0x0532a220 | (11 << 27) /* 0.324861647 */, | ||
169 | /* 132 */ 0x054031a0 | (11 << 27) /* 0.328172327 */, | ||
170 | /* 133 */ 0x054dc9e7 | (11 << 27) /* 0.331491377 */, | ||
171 | /* 134 */ 0x055b6ae9 | (11 << 27) /* 0.334818756 */, | ||
172 | /* 135 */ 0x0569149c | (11 << 27) /* 0.338154423 */, | ||
173 | /* 136 */ 0x0576c6f5 | (11 << 27) /* 0.341498336 */, | ||
174 | /* 137 */ 0x058481e9 | (11 << 27) /* 0.344850455 */, | ||
175 | /* 138 */ 0x0592456d | (11 << 27) /* 0.348210741 */, | ||
176 | /* 139 */ 0x05a01176 | (11 << 27) /* 0.351579152 */, | ||
177 | /* 140 */ 0x05ade5fa | (11 << 27) /* 0.354955651 */, | ||
178 | /* 141 */ 0x05bbc2ef | (11 << 27) /* 0.358340200 */, | ||
179 | /* 142 */ 0x05c9a84a | (11 << 27) /* 0.361732758 */, | ||
180 | /* 143 */ 0x05d79601 | (11 << 27) /* 0.365133291 */, | ||
181 | |||
182 | /* 144 */ 0x05e58c0b | (11 << 27) /* 0.368541759 */, | ||
183 | /* 145 */ 0x05f38a5d | (11 << 27) /* 0.371958126 */, | ||
184 | /* 146 */ 0x060190ee | (11 << 27) /* 0.375382356 */, | ||
185 | /* 147 */ 0x060f9fb3 | (11 << 27) /* 0.378814413 */, | ||
186 | /* 148 */ 0x061db6a5 | (11 << 27) /* 0.382254261 */, | ||
187 | /* 149 */ 0x062bd5b8 | (11 << 27) /* 0.385701865 */, | ||
188 | /* 150 */ 0x0639fce4 | (11 << 27) /* 0.389157191 */, | ||
189 | /* 151 */ 0x06482c1f | (11 << 27) /* 0.392620204 */, | ||
190 | /* 152 */ 0x06566361 | (11 << 27) /* 0.396090870 */, | ||
191 | /* 153 */ 0x0664a2a0 | (11 << 27) /* 0.399569155 */, | ||
192 | /* 154 */ 0x0672e9d4 | (11 << 27) /* 0.403055027 */, | ||
193 | /* 155 */ 0x068138f3 | (11 << 27) /* 0.406548452 */, | ||
194 | /* 156 */ 0x068f8ff5 | (11 << 27) /* 0.410049398 */, | ||
195 | /* 157 */ 0x069deed1 | (11 << 27) /* 0.413557833 */, | ||
196 | /* 158 */ 0x06ac557f | (11 << 27) /* 0.417073724 */, | ||
197 | /* 159 */ 0x06bac3f6 | (11 << 27) /* 0.420597041 */, | ||
198 | |||
199 | /* 160 */ 0x06c93a2e | (11 << 27) /* 0.424127753 */, | ||
200 | /* 161 */ 0x06d7b81f | (11 << 27) /* 0.427665827 */, | ||
201 | /* 162 */ 0x06e63dc0 | (11 << 27) /* 0.431211234 */, | ||
202 | /* 163 */ 0x06f4cb09 | (11 << 27) /* 0.434763944 */, | ||
203 | /* 164 */ 0x07035ff3 | (11 << 27) /* 0.438323927 */, | ||
204 | /* 165 */ 0x0711fc75 | (11 << 27) /* 0.441891153 */, | ||
205 | /* 166 */ 0x0720a087 | (11 << 27) /* 0.445465593 */, | ||
206 | /* 167 */ 0x072f4c22 | (11 << 27) /* 0.449047217 */, | ||
207 | /* 168 */ 0x073dff3e | (11 << 27) /* 0.452635998 */, | ||
208 | /* 169 */ 0x074cb9d3 | (11 << 27) /* 0.456231906 */, | ||
209 | /* 170 */ 0x075b7bdb | (11 << 27) /* 0.459834914 */, | ||
210 | /* 171 */ 0x076a454c | (11 << 27) /* 0.463444993 */, | ||
211 | /* 172 */ 0x07791620 | (11 << 27) /* 0.467062117 */, | ||
212 | /* 173 */ 0x0787ee50 | (11 << 27) /* 0.470686258 */, | ||
213 | /* 174 */ 0x0796cdd4 | (11 << 27) /* 0.474317388 */, | ||
214 | /* 175 */ 0x07a5b4a5 | (11 << 27) /* 0.477955481 */, | ||
215 | |||
216 | /* 176 */ 0x07b4a2bc | (11 << 27) /* 0.481600510 */, | ||
217 | /* 177 */ 0x07c39812 | (11 << 27) /* 0.485252449 */, | ||
218 | /* 178 */ 0x07d294a0 | (11 << 27) /* 0.488911273 */, | ||
219 | /* 179 */ 0x07e1985f | (11 << 27) /* 0.492576954 */, | ||
220 | /* 180 */ 0x07f0a348 | (11 << 27) /* 0.496249468 */, | ||
221 | /* 181 */ 0x07ffb554 | (11 << 27) /* 0.499928790 */, | ||
222 | /* 182 */ 0x0407673f | (12 << 27) /* 0.251807447 */, | ||
223 | /* 183 */ 0x040ef75e | (12 << 27) /* 0.253653877 */, | ||
224 | /* 184 */ 0x04168b05 | (12 << 27) /* 0.255503674 */, | ||
225 | /* 185 */ 0x041e2230 | (12 << 27) /* 0.257356825 */, | ||
226 | /* 186 */ 0x0425bcdd | (12 << 27) /* 0.259213318 */, | ||
227 | /* 187 */ 0x042d5b07 | (12 << 27) /* 0.261073141 */, | ||
228 | /* 188 */ 0x0434fcad | (12 << 27) /* 0.262936282 */, | ||
229 | /* 189 */ 0x043ca1c9 | (12 << 27) /* 0.264802730 */, | ||
230 | /* 190 */ 0x04444a5a | (12 << 27) /* 0.266672472 */, | ||
231 | /* 191 */ 0x044bf65d | (12 << 27) /* 0.268545497 */, | ||
232 | |||
233 | /* 192 */ 0x0453a5cd | (12 << 27) /* 0.270421794 */, | ||
234 | /* 193 */ 0x045b58a9 | (12 << 27) /* 0.272301352 */, | ||
235 | /* 194 */ 0x04630eed | (12 << 27) /* 0.274184158 */, | ||
236 | /* 195 */ 0x046ac896 | (12 << 27) /* 0.276070203 */, | ||
237 | /* 196 */ 0x047285a2 | (12 << 27) /* 0.277959474 */, | ||
238 | /* 197 */ 0x047a460c | (12 << 27) /* 0.279851960 */, | ||
239 | /* 198 */ 0x048209d3 | (12 << 27) /* 0.281747652 */, | ||
240 | /* 199 */ 0x0489d0f4 | (12 << 27) /* 0.283646538 */, | ||
241 | /* 200 */ 0x04919b6a | (12 << 27) /* 0.285548607 */, | ||
242 | /* 201 */ 0x04996935 | (12 << 27) /* 0.287453849 */, | ||
243 | /* 202 */ 0x04a13a50 | (12 << 27) /* 0.289362253 */, | ||
244 | /* 203 */ 0x04a90eba | (12 << 27) /* 0.291273810 */, | ||
245 | /* 204 */ 0x04b0e66e | (12 << 27) /* 0.293188507 */, | ||
246 | /* 205 */ 0x04b8c16c | (12 << 27) /* 0.295106336 */, | ||
247 | /* 206 */ 0x04c09faf | (12 << 27) /* 0.297027285 */, | ||
248 | /* 207 */ 0x04c88135 | (12 << 27) /* 0.298951346 */, | ||
249 | |||
250 | /* 208 */ 0x04d065fb | (12 << 27) /* 0.300878507 */, | ||
251 | /* 209 */ 0x04d84dff | (12 << 27) /* 0.302808759 */, | ||
252 | /* 210 */ 0x04e0393e | (12 << 27) /* 0.304742092 */, | ||
253 | /* 211 */ 0x04e827b6 | (12 << 27) /* 0.306678497 */, | ||
254 | /* 212 */ 0x04f01963 | (12 << 27) /* 0.308617963 */, | ||
255 | /* 213 */ 0x04f80e44 | (12 << 27) /* 0.310560480 */, | ||
256 | /* 214 */ 0x05000655 | (12 << 27) /* 0.312506041 */, | ||
257 | /* 215 */ 0x05080195 | (12 << 27) /* 0.314454634 */, | ||
258 | /* 216 */ 0x05100000 | (12 << 27) /* 0.316406250 */, | ||
259 | /* 217 */ 0x05180194 | (12 << 27) /* 0.318360880 */, | ||
260 | /* 218 */ 0x0520064f | (12 << 27) /* 0.320318516 */, | ||
261 | /* 219 */ 0x05280e2d | (12 << 27) /* 0.322279147 */, | ||
262 | /* 220 */ 0x0530192e | (12 << 27) /* 0.324242764 */, | ||
263 | /* 221 */ 0x0538274e | (12 << 27) /* 0.326209359 */, | ||
264 | /* 222 */ 0x0540388a | (12 << 27) /* 0.328178922 */, | ||
265 | /* 223 */ 0x05484ce2 | (12 << 27) /* 0.330151445 */, | ||
266 | |||
267 | /* 224 */ 0x05506451 | (12 << 27) /* 0.332126919 */, | ||
268 | /* 225 */ 0x05587ed5 | (12 << 27) /* 0.334105334 */, | ||
269 | /* 226 */ 0x05609c6e | (12 << 27) /* 0.336086683 */, | ||
270 | /* 227 */ 0x0568bd17 | (12 << 27) /* 0.338070956 */, | ||
271 | /* 228 */ 0x0570e0cf | (12 << 27) /* 0.340058145 */, | ||
272 | /* 229 */ 0x05790793 | (12 << 27) /* 0.342048241 */, | ||
273 | /* 230 */ 0x05813162 | (12 << 27) /* 0.344041237 */, | ||
274 | /* 231 */ 0x05895e39 | (12 << 27) /* 0.346037122 */, | ||
275 | /* 232 */ 0x05918e15 | (12 << 27) /* 0.348035890 */, | ||
276 | /* 233 */ 0x0599c0f4 | (12 << 27) /* 0.350037532 */, | ||
277 | /* 234 */ 0x05a1f6d5 | (12 << 27) /* 0.352042040 */, | ||
278 | /* 235 */ 0x05aa2fb5 | (12 << 27) /* 0.354049405 */, | ||
279 | /* 236 */ 0x05b26b92 | (12 << 27) /* 0.356059619 */, | ||
280 | /* 237 */ 0x05baaa69 | (12 << 27) /* 0.358072674 */, | ||
281 | /* 238 */ 0x05c2ec39 | (12 << 27) /* 0.360088563 */, | ||
282 | /* 239 */ 0x05cb3100 | (12 << 27) /* 0.362107278 */, | ||
283 | |||
284 | /* 240 */ 0x05d378bb | (12 << 27) /* 0.364128809 */, | ||
285 | /* 241 */ 0x05dbc368 | (12 << 27) /* 0.366153151 */, | ||
286 | /* 242 */ 0x05e41105 | (12 << 27) /* 0.368180294 */, | ||
287 | /* 243 */ 0x05ec6190 | (12 << 27) /* 0.370210231 */, | ||
288 | /* 244 */ 0x05f4b507 | (12 << 27) /* 0.372242955 */, | ||
289 | /* 245 */ 0x05fd0b68 | (12 << 27) /* 0.374278458 */, | ||
290 | /* 246 */ 0x060564b1 | (12 << 27) /* 0.376316732 */, | ||
291 | /* 247 */ 0x060dc0e0 | (12 << 27) /* 0.378357769 */, | ||
292 | /* 248 */ 0x06161ff3 | (12 << 27) /* 0.380401563 */, | ||
293 | /* 249 */ 0x061e81e8 | (12 << 27) /* 0.382448106 */, | ||
294 | /* 250 */ 0x0626e6bc | (12 << 27) /* 0.384497391 */, | ||
295 | /* 251 */ 0x062f4e6f | (12 << 27) /* 0.386549409 */, | ||
296 | /* 252 */ 0x0637b8fd | (12 << 27) /* 0.388604155 */, | ||
297 | /* 253 */ 0x06402666 | (12 << 27) /* 0.390661620 */, | ||
298 | /* 254 */ 0x064896a7 | (12 << 27) /* 0.392721798 */, | ||
299 | /* 255 */ 0x065109be | (12 << 27) /* 0.394784681 */, | ||
300 | |||
301 | /* 256 */ 0x06597fa9 | (12 << 27) /* 0.396850263 */, | ||
302 | /* 257 */ 0x0661f867 | (12 << 27) /* 0.398918536 */, | ||
303 | /* 258 */ 0x066a73f5 | (12 << 27) /* 0.400989493 */, | ||
304 | /* 259 */ 0x0672f252 | (12 << 27) /* 0.403063128 */, | ||
305 | /* 260 */ 0x067b737c | (12 << 27) /* 0.405139433 */, | ||
306 | /* 261 */ 0x0683f771 | (12 << 27) /* 0.407218402 */, | ||
307 | /* 262 */ 0x068c7e2f | (12 << 27) /* 0.409300027 */, | ||
308 | /* 263 */ 0x069507b5 | (12 << 27) /* 0.411384303 */, | ||
309 | /* 264 */ 0x069d9400 | (12 << 27) /* 0.413471222 */, | ||
310 | /* 265 */ 0x06a6230f | (12 << 27) /* 0.415560778 */, | ||
311 | /* 266 */ 0x06aeb4e0 | (12 << 27) /* 0.417652964 */, | ||
312 | /* 267 */ 0x06b74971 | (12 << 27) /* 0.419747773 */, | ||
313 | /* 268 */ 0x06bfe0c0 | (12 << 27) /* 0.421845199 */, | ||
314 | /* 269 */ 0x06c87acc | (12 << 27) /* 0.423945235 */, | ||
315 | /* 270 */ 0x06d11794 | (12 << 27) /* 0.426047876 */, | ||
316 | /* 271 */ 0x06d9b714 | (12 << 27) /* 0.428153114 */, | ||
317 | |||
318 | /* 272 */ 0x06e2594c | (12 << 27) /* 0.430260942 */, | ||
319 | /* 273 */ 0x06eafe3a | (12 << 27) /* 0.432371356 */, | ||
320 | /* 274 */ 0x06f3a5dc | (12 << 27) /* 0.434484348 */, | ||
321 | /* 275 */ 0x06fc5030 | (12 << 27) /* 0.436599912 */, | ||
322 | /* 276 */ 0x0704fd35 | (12 << 27) /* 0.438718042 */, | ||
323 | /* 277 */ 0x070dacea | (12 << 27) /* 0.440838732 */, | ||
324 | /* 278 */ 0x07165f4b | (12 << 27) /* 0.442961975 */, | ||
325 | /* 279 */ 0x071f1459 | (12 << 27) /* 0.445087765 */, | ||
326 | /* 280 */ 0x0727cc11 | (12 << 27) /* 0.447216097 */, | ||
327 | /* 281 */ 0x07308671 | (12 << 27) /* 0.449346964 */, | ||
328 | /* 282 */ 0x07394378 | (12 << 27) /* 0.451480360 */, | ||
329 | /* 283 */ 0x07420325 | (12 << 27) /* 0.453616280 */, | ||
330 | /* 284 */ 0x074ac575 | (12 << 27) /* 0.455754717 */, | ||
331 | /* 285 */ 0x07538a67 | (12 << 27) /* 0.457895665 */, | ||
332 | /* 286 */ 0x075c51fa | (12 << 27) /* 0.460039119 */, | ||
333 | /* 287 */ 0x07651c2c | (12 << 27) /* 0.462185072 */, | ||
334 | |||
335 | /* 288 */ 0x076de8fc | (12 << 27) /* 0.464333519 */, | ||
336 | /* 289 */ 0x0776b867 | (12 << 27) /* 0.466484455 */, | ||
337 | /* 290 */ 0x077f8a6d | (12 << 27) /* 0.468637872 */, | ||
338 | /* 291 */ 0x07885f0b | (12 << 27) /* 0.470793767 */, | ||
339 | /* 292 */ 0x07913641 | (12 << 27) /* 0.472952132 */, | ||
340 | /* 293 */ 0x079a100c | (12 << 27) /* 0.475112962 */, | ||
341 | /* 294 */ 0x07a2ec6c | (12 << 27) /* 0.477276252 */, | ||
342 | /* 295 */ 0x07abcb5f | (12 << 27) /* 0.479441997 */, | ||
343 | /* 296 */ 0x07b4ace3 | (12 << 27) /* 0.481610189 */, | ||
344 | /* 297 */ 0x07bd90f6 | (12 << 27) /* 0.483780825 */, | ||
345 | /* 298 */ 0x07c67798 | (12 << 27) /* 0.485953899 */, | ||
346 | /* 299 */ 0x07cf60c7 | (12 << 27) /* 0.488129404 */, | ||
347 | /* 300 */ 0x07d84c81 | (12 << 27) /* 0.490307336 */, | ||
348 | /* 301 */ 0x07e13ac5 | (12 << 27) /* 0.492487690 */, | ||
349 | /* 302 */ 0x07ea2b92 | (12 << 27) /* 0.494670459 */, | ||
350 | /* 303 */ 0x07f31ee6 | (12 << 27) /* 0.496855639 */, | ||
351 | |||
352 | /* 304 */ 0x07fc14bf | (12 << 27) /* 0.499043224 */, | ||
353 | /* 305 */ 0x0402868e | (13 << 27) /* 0.250616605 */, | ||
354 | /* 306 */ 0x040703ff | (13 << 27) /* 0.251712795 */, | ||
355 | /* 307 */ 0x040b82b0 | (13 << 27) /* 0.252810180 */, | ||
356 | /* 308 */ 0x041002a1 | (13 << 27) /* 0.253908756 */, | ||
357 | /* 309 */ 0x041483d1 | (13 << 27) /* 0.255008523 */, | ||
358 | /* 310 */ 0x04190640 | (13 << 27) /* 0.256109476 */, | ||
359 | /* 311 */ 0x041d89ed | (13 << 27) /* 0.257211614 */, | ||
360 | /* 312 */ 0x04220ed7 | (13 << 27) /* 0.258314934 */, | ||
361 | /* 313 */ 0x042694fe | (13 << 27) /* 0.259419433 */, | ||
362 | /* 314 */ 0x042b1c60 | (13 << 27) /* 0.260525110 */, | ||
363 | /* 315 */ 0x042fa4fe | (13 << 27) /* 0.261631960 */, | ||
364 | /* 316 */ 0x04342ed7 | (13 << 27) /* 0.262739982 */, | ||
365 | /* 317 */ 0x0438b9e9 | (13 << 27) /* 0.263849174 */, | ||
366 | /* 318 */ 0x043d4635 | (13 << 27) /* 0.264959533 */, | ||
367 | /* 319 */ 0x0441d3b9 | (13 << 27) /* 0.266071056 */, | ||
368 | |||
369 | /* 320 */ 0x04466275 | (13 << 27) /* 0.267183742 */, | ||
370 | /* 321 */ 0x044af269 | (13 << 27) /* 0.268297587 */, | ||
371 | /* 322 */ 0x044f8393 | (13 << 27) /* 0.269412589 */, | ||
372 | /* 323 */ 0x045415f3 | (13 << 27) /* 0.270528746 */, | ||
373 | /* 324 */ 0x0458a989 | (13 << 27) /* 0.271646056 */, | ||
374 | /* 325 */ 0x045d3e53 | (13 << 27) /* 0.272764515 */, | ||
375 | /* 326 */ 0x0461d451 | (13 << 27) /* 0.273884123 */, | ||
376 | /* 327 */ 0x04666b83 | (13 << 27) /* 0.275004875 */, | ||
377 | /* 328 */ 0x046b03e7 | (13 << 27) /* 0.276126771 */, | ||
378 | /* 329 */ 0x046f9d7e | (13 << 27) /* 0.277249808 */, | ||
379 | /* 330 */ 0x04743847 | (13 << 27) /* 0.278373983 */, | ||
380 | /* 331 */ 0x0478d440 | (13 << 27) /* 0.279499294 */, | ||
381 | /* 332 */ 0x047d716a | (13 << 27) /* 0.280625739 */, | ||
382 | /* 333 */ 0x04820fc3 | (13 << 27) /* 0.281753315 */, | ||
383 | /* 334 */ 0x0486af4c | (13 << 27) /* 0.282882021 */, | ||
384 | /* 335 */ 0x048b5003 | (13 << 27) /* 0.284011853 */, | ||
385 | |||
386 | /* 336 */ 0x048ff1e8 | (13 << 27) /* 0.285142811 */, | ||
387 | /* 337 */ 0x049494fb | (13 << 27) /* 0.286274891 */, | ||
388 | /* 338 */ 0x0499393a | (13 << 27) /* 0.287408091 */, | ||
389 | /* 339 */ 0x049ddea5 | (13 << 27) /* 0.288542409 */, | ||
390 | /* 340 */ 0x04a2853c | (13 << 27) /* 0.289677844 */, | ||
391 | /* 341 */ 0x04a72cfe | (13 << 27) /* 0.290814392 */, | ||
392 | /* 342 */ 0x04abd5ea | (13 << 27) /* 0.291952051 */, | ||
393 | /* 343 */ 0x04b08000 | (13 << 27) /* 0.293090820 */, | ||
394 | /* 344 */ 0x04b52b3f | (13 << 27) /* 0.294230696 */, | ||
395 | /* 345 */ 0x04b9d7a7 | (13 << 27) /* 0.295371678 */, | ||
396 | /* 346 */ 0x04be8537 | (13 << 27) /* 0.296513762 */, | ||
397 | /* 347 */ 0x04c333ee | (13 << 27) /* 0.297656947 */, | ||
398 | /* 348 */ 0x04c7e3cc | (13 << 27) /* 0.298801231 */, | ||
399 | /* 349 */ 0x04cc94d1 | (13 << 27) /* 0.299946611 */, | ||
400 | /* 350 */ 0x04d146fb | (13 << 27) /* 0.301093085 */, | ||
401 | /* 351 */ 0x04d5fa4b | (13 << 27) /* 0.302240653 */, | ||
402 | |||
403 | /* 352 */ 0x04daaec0 | (13 << 27) /* 0.303389310 */, | ||
404 | /* 353 */ 0x04df6458 | (13 << 27) /* 0.304539056 */, | ||
405 | /* 354 */ 0x04e41b14 | (13 << 27) /* 0.305689888 */, | ||
406 | /* 355 */ 0x04e8d2f3 | (13 << 27) /* 0.306841804 */, | ||
407 | /* 356 */ 0x04ed8bf5 | (13 << 27) /* 0.307994802 */, | ||
408 | /* 357 */ 0x04f24618 | (13 << 27) /* 0.309148880 */, | ||
409 | /* 358 */ 0x04f7015d | (13 << 27) /* 0.310304037 */, | ||
410 | /* 359 */ 0x04fbbdc3 | (13 << 27) /* 0.311460269 */, | ||
411 | /* 360 */ 0x05007b49 | (13 << 27) /* 0.312617576 */, | ||
412 | /* 361 */ 0x050539ef | (13 << 27) /* 0.313775954 */, | ||
413 | /* 362 */ 0x0509f9b4 | (13 << 27) /* 0.314935403 */, | ||
414 | /* 363 */ 0x050eba98 | (13 << 27) /* 0.316095920 */, | ||
415 | /* 364 */ 0x05137c9a | (13 << 27) /* 0.317257503 */, | ||
416 | /* 365 */ 0x05183fba | (13 << 27) /* 0.318420150 */, | ||
417 | /* 366 */ 0x051d03f7 | (13 << 27) /* 0.319583859 */, | ||
418 | /* 367 */ 0x0521c950 | (13 << 27) /* 0.320748629 */, | ||
419 | |||
420 | /* 368 */ 0x05268fc6 | (13 << 27) /* 0.321914457 */, | ||
421 | /* 369 */ 0x052b5757 | (13 << 27) /* 0.323081342 */, | ||
422 | /* 370 */ 0x05302003 | (13 << 27) /* 0.324249281 */, | ||
423 | /* 371 */ 0x0534e9ca | (13 << 27) /* 0.325418273 */, | ||
424 | /* 372 */ 0x0539b4ab | (13 << 27) /* 0.326588316 */, | ||
425 | /* 373 */ 0x053e80a6 | (13 << 27) /* 0.327759407 */, | ||
426 | /* 374 */ 0x05434db9 | (13 << 27) /* 0.328931546 */, | ||
427 | /* 375 */ 0x05481be5 | (13 << 27) /* 0.330104730 */, | ||
428 | /* 376 */ 0x054ceb2a | (13 << 27) /* 0.331278957 */, | ||
429 | /* 377 */ 0x0551bb85 | (13 << 27) /* 0.332454225 */, | ||
430 | /* 378 */ 0x05568cf8 | (13 << 27) /* 0.333630533 */, | ||
431 | /* 379 */ 0x055b5f81 | (13 << 27) /* 0.334807879 */, | ||
432 | /* 380 */ 0x05603321 | (13 << 27) /* 0.335986261 */, | ||
433 | /* 381 */ 0x056507d6 | (13 << 27) /* 0.337165677 */, | ||
434 | /* 382 */ 0x0569dda0 | (13 << 27) /* 0.338346125 */, | ||
435 | /* 383 */ 0x056eb47f | (13 << 27) /* 0.339527604 */, | ||
436 | |||
437 | /* 384 */ 0x05738c72 | (13 << 27) /* 0.340710111 */, | ||
438 | /* 385 */ 0x05786578 | (13 << 27) /* 0.341893646 */, | ||
439 | /* 386 */ 0x057d3f92 | (13 << 27) /* 0.343078205 */, | ||
440 | /* 387 */ 0x05821abf | (13 << 27) /* 0.344263788 */, | ||
441 | /* 388 */ 0x0586f6fd | (13 << 27) /* 0.345450393 */, | ||
442 | /* 389 */ 0x058bd44e | (13 << 27) /* 0.346638017 */, | ||
443 | /* 390 */ 0x0590b2b0 | (13 << 27) /* 0.347826659 */, | ||
444 | /* 391 */ 0x05959222 | (13 << 27) /* 0.349016318 */, | ||
445 | /* 392 */ 0x059a72a5 | (13 << 27) /* 0.350206992 */, | ||
446 | /* 393 */ 0x059f5438 | (13 << 27) /* 0.351398678 */, | ||
447 | /* 394 */ 0x05a436da | (13 << 27) /* 0.352591376 */, | ||
448 | /* 395 */ 0x05a91a8c | (13 << 27) /* 0.353785083 */, | ||
449 | /* 396 */ 0x05adff4c | (13 << 27) /* 0.354979798 */, | ||
450 | /* 397 */ 0x05b2e51a | (13 << 27) /* 0.356175519 */, | ||
451 | /* 398 */ 0x05b7cbf5 | (13 << 27) /* 0.357372244 */, | ||
452 | /* 399 */ 0x05bcb3de | (13 << 27) /* 0.358569972 */, | ||
453 | |||
454 | /* 400 */ 0x05c19cd3 | (13 << 27) /* 0.359768701 */, | ||
455 | /* 401 */ 0x05c686d5 | (13 << 27) /* 0.360968429 */, | ||
456 | /* 402 */ 0x05cb71e2 | (13 << 27) /* 0.362169156 */, | ||
457 | /* 403 */ 0x05d05dfb | (13 << 27) /* 0.363370878 */, | ||
458 | /* 404 */ 0x05d54b1f | (13 << 27) /* 0.364573594 */, | ||
459 | /* 405 */ 0x05da394d | (13 << 27) /* 0.365777304 */, | ||
460 | /* 406 */ 0x05df2885 | (13 << 27) /* 0.366982004 */, | ||
461 | /* 407 */ 0x05e418c7 | (13 << 27) /* 0.368187694 */, | ||
462 | /* 408 */ 0x05e90a12 | (13 << 27) /* 0.369394372 */, | ||
463 | /* 409 */ 0x05edfc66 | (13 << 27) /* 0.370602036 */, | ||
464 | /* 410 */ 0x05f2efc2 | (13 << 27) /* 0.371810684 */, | ||
465 | /* 411 */ 0x05f7e426 | (13 << 27) /* 0.373020316 */, | ||
466 | /* 412 */ 0x05fcd992 | (13 << 27) /* 0.374230929 */, | ||
467 | /* 413 */ 0x0601d004 | (13 << 27) /* 0.375442522 */, | ||
468 | /* 414 */ 0x0606c77d | (13 << 27) /* 0.376655093 */, | ||
469 | /* 415 */ 0x060bbffd | (13 << 27) /* 0.377868641 */, | ||
470 | |||
471 | /* 416 */ 0x0610b982 | (13 << 27) /* 0.379083164 */, | ||
472 | /* 417 */ 0x0615b40c | (13 << 27) /* 0.380298661 */, | ||
473 | /* 418 */ 0x061aaf9c | (13 << 27) /* 0.381515130 */, | ||
474 | /* 419 */ 0x061fac2f | (13 << 27) /* 0.382732569 */, | ||
475 | /* 420 */ 0x0624a9c7 | (13 << 27) /* 0.383950977 */, | ||
476 | /* 421 */ 0x0629a863 | (13 << 27) /* 0.385170352 */, | ||
477 | /* 422 */ 0x062ea802 | (13 << 27) /* 0.386390694 */, | ||
478 | /* 423 */ 0x0633a8a3 | (13 << 27) /* 0.387611999 */, | ||
479 | /* 424 */ 0x0638aa48 | (13 << 27) /* 0.388834268 */, | ||
480 | /* 425 */ 0x063dacee | (13 << 27) /* 0.390057497 */, | ||
481 | /* 426 */ 0x0642b096 | (13 << 27) /* 0.391281687 */, | ||
482 | /* 427 */ 0x0647b53f | (13 << 27) /* 0.392506834 */, | ||
483 | /* 428 */ 0x064cbae9 | (13 << 27) /* 0.393732939 */, | ||
484 | /* 429 */ 0x0651c193 | (13 << 27) /* 0.394959999 */, | ||
485 | /* 430 */ 0x0656c93d | (13 << 27) /* 0.396188012 */, | ||
486 | /* 431 */ 0x065bd1e7 | (13 << 27) /* 0.397416978 */, | ||
487 | |||
488 | /* 432 */ 0x0660db91 | (13 << 27) /* 0.398646895 */, | ||
489 | /* 433 */ 0x0665e639 | (13 << 27) /* 0.399877761 */, | ||
490 | /* 434 */ 0x066af1df | (13 << 27) /* 0.401109575 */, | ||
491 | /* 435 */ 0x066ffe84 | (13 << 27) /* 0.402342335 */, | ||
492 | /* 436 */ 0x06750c26 | (13 << 27) /* 0.403576041 */, | ||
493 | /* 437 */ 0x067a1ac6 | (13 << 27) /* 0.404810690 */, | ||
494 | /* 438 */ 0x067f2a62 | (13 << 27) /* 0.406046281 */, | ||
495 | /* 439 */ 0x06843afb | (13 << 27) /* 0.407282813 */, | ||
496 | /* 440 */ 0x06894c90 | (13 << 27) /* 0.408520284 */, | ||
497 | /* 441 */ 0x068e5f21 | (13 << 27) /* 0.409758693 */, | ||
498 | /* 442 */ 0x069372ae | (13 << 27) /* 0.410998038 */, | ||
499 | /* 443 */ 0x06988735 | (13 << 27) /* 0.412238319 */, | ||
500 | /* 444 */ 0x069d9cb7 | (13 << 27) /* 0.413479532 */, | ||
501 | /* 445 */ 0x06a2b333 | (13 << 27) /* 0.414721679 */, | ||
502 | /* 446 */ 0x06a7caa9 | (13 << 27) /* 0.415964756 */, | ||
503 | /* 447 */ 0x06ace318 | (13 << 27) /* 0.417208762 */, | ||
504 | |||
505 | /* 448 */ 0x06b1fc81 | (13 << 27) /* 0.418453696 */, | ||
506 | /* 449 */ 0x06b716e2 | (13 << 27) /* 0.419699557 */, | ||
507 | /* 450 */ 0x06bc323b | (13 << 27) /* 0.420946343 */, | ||
508 | /* 451 */ 0x06c14e8d | (13 << 27) /* 0.422194054 */, | ||
509 | /* 452 */ 0x06c66bd6 | (13 << 27) /* 0.423442686 */, | ||
510 | /* 453 */ 0x06cb8a17 | (13 << 27) /* 0.424692240 */, | ||
511 | /* 454 */ 0x06d0a94e | (13 << 27) /* 0.425942714 */, | ||
512 | /* 455 */ 0x06d5c97c | (13 << 27) /* 0.427194106 */, | ||
513 | /* 456 */ 0x06daeaa1 | (13 << 27) /* 0.428446415 */, | ||
514 | /* 457 */ 0x06e00cbb | (13 << 27) /* 0.429699640 */, | ||
515 | /* 458 */ 0x06e52fca | (13 << 27) /* 0.430953779 */, | ||
516 | /* 459 */ 0x06ea53cf | (13 << 27) /* 0.432208832 */, | ||
517 | /* 460 */ 0x06ef78c8 | (13 << 27) /* 0.433464796 */, | ||
518 | /* 461 */ 0x06f49eb6 | (13 << 27) /* 0.434721671 */, | ||
519 | /* 462 */ 0x06f9c597 | (13 << 27) /* 0.435979455 */, | ||
520 | /* 463 */ 0x06feed6d | (13 << 27) /* 0.437238146 */, | ||
521 | |||
522 | /* 464 */ 0x07041636 | (13 << 27) /* 0.438497744 */, | ||
523 | /* 465 */ 0x07093ff2 | (13 << 27) /* 0.439758248 */, | ||
524 | /* 466 */ 0x070e6aa0 | (13 << 27) /* 0.441019655 */, | ||
525 | /* 467 */ 0x07139641 | (13 << 27) /* 0.442281965 */, | ||
526 | /* 468 */ 0x0718c2d3 | (13 << 27) /* 0.443545176 */, | ||
527 | /* 469 */ 0x071df058 | (13 << 27) /* 0.444809288 */, | ||
528 | /* 470 */ 0x07231ecd | (13 << 27) /* 0.446074298 */, | ||
529 | /* 471 */ 0x07284e34 | (13 << 27) /* 0.447340205 */, | ||
530 | /* 472 */ 0x072d7e8b | (13 << 27) /* 0.448607009 */, | ||
531 | /* 473 */ 0x0732afd2 | (13 << 27) /* 0.449874708 */, | ||
532 | /* 474 */ 0x0737e209 | (13 << 27) /* 0.451143300 */, | ||
533 | /* 475 */ 0x073d1530 | (13 << 27) /* 0.452412785 */, | ||
534 | /* 476 */ 0x07424946 | (13 << 27) /* 0.453683161 */, | ||
535 | /* 477 */ 0x07477e4b | (13 << 27) /* 0.454954427 */, | ||
536 | /* 478 */ 0x074cb43e | (13 << 27) /* 0.456226581 */, | ||
537 | /* 479 */ 0x0751eb20 | (13 << 27) /* 0.457499623 */, | ||
538 | |||
539 | /* 480 */ 0x075722ef | (13 << 27) /* 0.458773552 */, | ||
540 | /* 481 */ 0x075c5bac | (13 << 27) /* 0.460048365 */, | ||
541 | /* 482 */ 0x07619557 | (13 << 27) /* 0.461324062 */, | ||
542 | /* 483 */ 0x0766cfee | (13 << 27) /* 0.462600642 */, | ||
543 | /* 484 */ 0x076c0b72 | (13 << 27) /* 0.463878102 */, | ||
544 | /* 485 */ 0x077147e2 | (13 << 27) /* 0.465156443 */, | ||
545 | /* 486 */ 0x0776853e | (13 << 27) /* 0.466435663 */, | ||
546 | /* 487 */ 0x077bc385 | (13 << 27) /* 0.467715761 */, | ||
547 | /* 488 */ 0x078102b8 | (13 << 27) /* 0.468996735 */, | ||
548 | /* 489 */ 0x078642d6 | (13 << 27) /* 0.470278584 */, | ||
549 | /* 490 */ 0x078b83de | (13 << 27) /* 0.471561307 */, | ||
550 | /* 491 */ 0x0790c5d1 | (13 << 27) /* 0.472844904 */, | ||
551 | /* 492 */ 0x079608ae | (13 << 27) /* 0.474129372 */, | ||
552 | /* 493 */ 0x079b4c74 | (13 << 27) /* 0.475414710 */, | ||
553 | /* 494 */ 0x07a09124 | (13 << 27) /* 0.476700918 */, | ||
554 | /* 495 */ 0x07a5d6bd | (13 << 27) /* 0.477987994 */, | ||
555 | |||
556 | /* 496 */ 0x07ab1d3e | (13 << 27) /* 0.479275937 */, | ||
557 | /* 497 */ 0x07b064a8 | (13 << 27) /* 0.480564746 */, | ||
558 | /* 498 */ 0x07b5acfb | (13 << 27) /* 0.481854420 */, | ||
559 | /* 499 */ 0x07baf635 | (13 << 27) /* 0.483144957 */, | ||
560 | /* 500 */ 0x07c04056 | (13 << 27) /* 0.484436356 */, | ||
561 | /* 501 */ 0x07c58b5f | (13 << 27) /* 0.485728617 */, | ||
562 | /* 502 */ 0x07cad74e | (13 << 27) /* 0.487021738 */, | ||
563 | /* 503 */ 0x07d02424 | (13 << 27) /* 0.488315717 */, | ||
564 | /* 504 */ 0x07d571e0 | (13 << 27) /* 0.489610555 */, | ||
565 | /* 505 */ 0x07dac083 | (13 << 27) /* 0.490906249 */, | ||
566 | /* 506 */ 0x07e0100a | (13 << 27) /* 0.492202799 */, | ||
567 | /* 507 */ 0x07e56078 | (13 << 27) /* 0.493500203 */, | ||
568 | /* 508 */ 0x07eab1ca | (13 << 27) /* 0.494798460 */, | ||
569 | /* 509 */ 0x07f00401 | (13 << 27) /* 0.496097570 */, | ||
570 | /* 510 */ 0x07f5571d | (13 << 27) /* 0.497397530 */, | ||
571 | /* 511 */ 0x07faab1c | (13 << 27) /* 0.498698341 */, | ||
572 | |||
573 | /* 512 */ 0x04000000 | (14 << 27) /* 0.250000000 */, | ||
574 | /* 513 */ 0x0402aae3 | (14 << 27) /* 0.250651254 */, | ||
575 | /* 514 */ 0x04055638 | (14 << 27) /* 0.251302930 */, | ||
576 | /* 515 */ 0x040801ff | (14 << 27) /* 0.251955030 */, | ||
577 | /* 516 */ 0x040aae37 | (14 << 27) /* 0.252607552 */, | ||
578 | /* 517 */ 0x040d5ae0 | (14 << 27) /* 0.253260495 */, | ||
579 | /* 518 */ 0x041007fa | (14 << 27) /* 0.253913860 */, | ||
580 | /* 519 */ 0x0412b586 | (14 << 27) /* 0.254567645 */, | ||
581 | /* 520 */ 0x04156381 | (14 << 27) /* 0.255221850 */, | ||
582 | /* 521 */ 0x041811ee | (14 << 27) /* 0.255876475 */, | ||
583 | /* 522 */ 0x041ac0cb | (14 << 27) /* 0.256531518 */, | ||
584 | /* 523 */ 0x041d7018 | (14 << 27) /* 0.257186980 */, | ||
585 | /* 524 */ 0x04201fd5 | (14 << 27) /* 0.257842860 */, | ||
586 | /* 525 */ 0x0422d003 | (14 << 27) /* 0.258499157 */, | ||
587 | /* 526 */ 0x042580a0 | (14 << 27) /* 0.259155872 */, | ||
588 | /* 527 */ 0x042831ad | (14 << 27) /* 0.259813002 */, | ||
589 | |||
590 | /* 528 */ 0x042ae32a | (14 << 27) /* 0.260470548 */, | ||
591 | /* 529 */ 0x042d9516 | (14 << 27) /* 0.261128510 */, | ||
592 | /* 530 */ 0x04304772 | (14 << 27) /* 0.261786886 */, | ||
593 | /* 531 */ 0x0432fa3d | (14 << 27) /* 0.262445676 */, | ||
594 | /* 532 */ 0x0435ad76 | (14 << 27) /* 0.263104880 */, | ||
595 | /* 533 */ 0x0438611f | (14 << 27) /* 0.263764497 */, | ||
596 | /* 534 */ 0x043b1536 | (14 << 27) /* 0.264424527 */, | ||
597 | /* 535 */ 0x043dc9bc | (14 << 27) /* 0.265084969 */, | ||
598 | /* 536 */ 0x04407eb1 | (14 << 27) /* 0.265745823 */, | ||
599 | /* 537 */ 0x04433414 | (14 << 27) /* 0.266407088 */, | ||
600 | /* 538 */ 0x0445e9e5 | (14 << 27) /* 0.267068763 */, | ||
601 | /* 539 */ 0x0448a024 | (14 << 27) /* 0.267730848 */, | ||
602 | /* 540 */ 0x044b56d1 | (14 << 27) /* 0.268393343 */, | ||
603 | /* 541 */ 0x044e0dec | (14 << 27) /* 0.269056248 */, | ||
604 | /* 542 */ 0x0450c575 | (14 << 27) /* 0.269719560 */, | ||
605 | /* 543 */ 0x04537d6b | (14 << 27) /* 0.270383281 */, | ||
606 | |||
607 | /* 544 */ 0x045635cf | (14 << 27) /* 0.271047409 */, | ||
608 | /* 545 */ 0x0458ee9f | (14 << 27) /* 0.271711944 */, | ||
609 | /* 546 */ 0x045ba7dd | (14 << 27) /* 0.272376886 */, | ||
610 | /* 547 */ 0x045e6188 | (14 << 27) /* 0.273042234 */, | ||
611 | /* 548 */ 0x04611ba0 | (14 << 27) /* 0.273707988 */, | ||
612 | /* 549 */ 0x0463d625 | (14 << 27) /* 0.274374147 */, | ||
613 | /* 550 */ 0x04669116 | (14 << 27) /* 0.275040710 */, | ||
614 | /* 551 */ 0x04694c74 | (14 << 27) /* 0.275707677 */, | ||
615 | /* 552 */ 0x046c083e | (14 << 27) /* 0.276375048 */, | ||
616 | /* 553 */ 0x046ec474 | (14 << 27) /* 0.277042822 */, | ||
617 | /* 554 */ 0x04718116 | (14 << 27) /* 0.277710999 */, | ||
618 | /* 555 */ 0x04743e25 | (14 << 27) /* 0.278379578 */, | ||
619 | /* 556 */ 0x0476fb9f | (14 << 27) /* 0.279048558 */, | ||
620 | /* 557 */ 0x0479b984 | (14 << 27) /* 0.279717940 */, | ||
621 | /* 558 */ 0x047c77d6 | (14 << 27) /* 0.280387722 */, | ||
622 | /* 559 */ 0x047f3693 | (14 << 27) /* 0.281057905 */, | ||
623 | |||
624 | /* 560 */ 0x0481f5bb | (14 << 27) /* 0.281728487 */, | ||
625 | /* 561 */ 0x0484b54e | (14 << 27) /* 0.282399469 */, | ||
626 | /* 562 */ 0x0487754c | (14 << 27) /* 0.283070849 */, | ||
627 | /* 563 */ 0x048a35b6 | (14 << 27) /* 0.283742628 */, | ||
628 | /* 564 */ 0x048cf68a | (14 << 27) /* 0.284414805 */, | ||
629 | /* 565 */ 0x048fb7c8 | (14 << 27) /* 0.285087379 */, | ||
630 | /* 566 */ 0x04927972 | (14 << 27) /* 0.285760350 */, | ||
631 | /* 567 */ 0x04953b85 | (14 << 27) /* 0.286433717 */, | ||
632 | /* 568 */ 0x0497fe03 | (14 << 27) /* 0.287107481 */, | ||
633 | /* 569 */ 0x049ac0eb | (14 << 27) /* 0.287781640 */, | ||
634 | /* 570 */ 0x049d843e | (14 << 27) /* 0.288456194 */, | ||
635 | /* 571 */ 0x04a047fa | (14 << 27) /* 0.289131142 */, | ||
636 | /* 572 */ 0x04a30c20 | (14 << 27) /* 0.289806485 */, | ||
637 | /* 573 */ 0x04a5d0af | (14 << 27) /* 0.290482221 */, | ||
638 | /* 574 */ 0x04a895a8 | (14 << 27) /* 0.291158351 */, | ||
639 | /* 575 */ 0x04ab5b0b | (14 << 27) /* 0.291834873 */, | ||
640 | |||
641 | /* 576 */ 0x04ae20d7 | (14 << 27) /* 0.292511788 */, | ||
642 | /* 577 */ 0x04b0e70c | (14 << 27) /* 0.293189094 */, | ||
643 | /* 578 */ 0x04b3adaa | (14 << 27) /* 0.293866792 */, | ||
644 | /* 579 */ 0x04b674b1 | (14 << 27) /* 0.294544881 */, | ||
645 | /* 580 */ 0x04b93c21 | (14 << 27) /* 0.295223360 */, | ||
646 | /* 581 */ 0x04bc03fa | (14 << 27) /* 0.295902229 */, | ||
647 | /* 582 */ 0x04becc3b | (14 << 27) /* 0.296581488 */, | ||
648 | /* 583 */ 0x04c194e4 | (14 << 27) /* 0.297261136 */, | ||
649 | /* 584 */ 0x04c45df6 | (14 << 27) /* 0.297941173 */, | ||
650 | /* 585 */ 0x04c72771 | (14 << 27) /* 0.298621598 */, | ||
651 | /* 586 */ 0x04c9f153 | (14 << 27) /* 0.299302411 */, | ||
652 | /* 587 */ 0x04ccbb9d | (14 << 27) /* 0.299983611 */, | ||
653 | /* 588 */ 0x04cf864f | (14 << 27) /* 0.300665198 */, | ||
654 | /* 589 */ 0x04d25169 | (14 << 27) /* 0.301347172 */, | ||
655 | /* 590 */ 0x04d51ceb | (14 << 27) /* 0.302029532 */, | ||
656 | /* 591 */ 0x04d7e8d4 | (14 << 27) /* 0.302712277 */, | ||
657 | |||
658 | /* 592 */ 0x04dab524 | (14 << 27) /* 0.303395408 */, | ||
659 | /* 593 */ 0x04dd81dc | (14 << 27) /* 0.304078923 */, | ||
660 | /* 594 */ 0x04e04efb | (14 << 27) /* 0.304762823 */, | ||
661 | /* 595 */ 0x04e31c81 | (14 << 27) /* 0.305447106 */, | ||
662 | /* 596 */ 0x04e5ea6e | (14 << 27) /* 0.306131773 */, | ||
663 | /* 597 */ 0x04e8b8c2 | (14 << 27) /* 0.306816823 */, | ||
664 | /* 598 */ 0x04eb877c | (14 << 27) /* 0.307502256 */, | ||
665 | /* 599 */ 0x04ee569d | (14 << 27) /* 0.308188071 */, | ||
666 | /* 600 */ 0x04f12624 | (14 << 27) /* 0.308874267 */, | ||
667 | /* 601 */ 0x04f3f612 | (14 << 27) /* 0.309560845 */, | ||
668 | /* 602 */ 0x04f6c666 | (14 << 27) /* 0.310247804 */, | ||
669 | /* 603 */ 0x04f99721 | (14 << 27) /* 0.310935143 */, | ||
670 | /* 604 */ 0x04fc6841 | (14 << 27) /* 0.311622862 */, | ||
671 | /* 605 */ 0x04ff39c7 | (14 << 27) /* 0.312310961 */, | ||
672 | /* 606 */ 0x05020bb3 | (14 << 27) /* 0.312999439 */, | ||
673 | /* 607 */ 0x0504de05 | (14 << 27) /* 0.313688296 */, | ||
674 | |||
675 | /* 608 */ 0x0507b0bc | (14 << 27) /* 0.314377532 */, | ||
676 | /* 609 */ 0x050a83d8 | (14 << 27) /* 0.315067145 */, | ||
677 | /* 610 */ 0x050d575b | (14 << 27) /* 0.315757136 */, | ||
678 | /* 611 */ 0x05102b42 | (14 << 27) /* 0.316447504 */, | ||
679 | /* 612 */ 0x0512ff8e | (14 << 27) /* 0.317138249 */, | ||
680 | /* 613 */ 0x0515d440 | (14 << 27) /* 0.317829370 */, | ||
681 | /* 614 */ 0x0518a956 | (14 << 27) /* 0.318520867 */, | ||
682 | /* 615 */ 0x051b7ed1 | (14 << 27) /* 0.319212739 */, | ||
683 | /* 616 */ 0x051e54b1 | (14 << 27) /* 0.319904987 */, | ||
684 | /* 617 */ 0x05212af5 | (14 << 27) /* 0.320597609 */, | ||
685 | /* 618 */ 0x0524019e | (14 << 27) /* 0.321290606 */, | ||
686 | /* 619 */ 0x0526d8ab | (14 << 27) /* 0.321983976 */, | ||
687 | /* 620 */ 0x0529b01d | (14 << 27) /* 0.322677720 */, | ||
688 | /* 621 */ 0x052c87f2 | (14 << 27) /* 0.323371837 */, | ||
689 | /* 622 */ 0x052f602c | (14 << 27) /* 0.324066327 */, | ||
690 | /* 623 */ 0x053238ca | (14 << 27) /* 0.324761189 */, | ||
691 | |||
692 | /* 624 */ 0x053511cb | (14 << 27) /* 0.325456423 */, | ||
693 | /* 625 */ 0x0537eb30 | (14 << 27) /* 0.326152028 */, | ||
694 | /* 626 */ 0x053ac4f9 | (14 << 27) /* 0.326848005 */, | ||
695 | /* 627 */ 0x053d9f25 | (14 << 27) /* 0.327544352 */, | ||
696 | /* 628 */ 0x054079b5 | (14 << 27) /* 0.328241070 */, | ||
697 | /* 629 */ 0x054354a8 | (14 << 27) /* 0.328938157 */, | ||
698 | /* 630 */ 0x05462ffe | (14 << 27) /* 0.329635614 */, | ||
699 | /* 631 */ 0x05490bb7 | (14 << 27) /* 0.330333440 */, | ||
700 | /* 632 */ 0x054be7d4 | (14 << 27) /* 0.331031635 */, | ||
701 | /* 633 */ 0x054ec453 | (14 << 27) /* 0.331730198 */, | ||
702 | /* 634 */ 0x0551a134 | (14 << 27) /* 0.332429129 */, | ||
703 | /* 635 */ 0x05547e79 | (14 << 27) /* 0.333128427 */, | ||
704 | /* 636 */ 0x05575c20 | (14 << 27) /* 0.333828093 */, | ||
705 | /* 637 */ 0x055a3a2a | (14 << 27) /* 0.334528126 */, | ||
706 | /* 638 */ 0x055d1896 | (14 << 27) /* 0.335228525 */, | ||
707 | /* 639 */ 0x055ff764 | (14 << 27) /* 0.335929290 */, | ||
708 | |||
709 | /* 640 */ 0x0562d694 | (14 << 27) /* 0.336630420 */, | ||
710 | /* 641 */ 0x0565b627 | (14 << 27) /* 0.337331916 */, | ||
711 | /* 642 */ 0x0568961b | (14 << 27) /* 0.338033777 */, | ||
712 | /* 643 */ 0x056b7671 | (14 << 27) /* 0.338736002 */, | ||
713 | /* 644 */ 0x056e5729 | (14 << 27) /* 0.339438592 */, | ||
714 | /* 645 */ 0x05713843 | (14 << 27) /* 0.340141545 */, | ||
715 | /* 646 */ 0x057419be | (14 << 27) /* 0.340844862 */, | ||
716 | /* 647 */ 0x0576fb9a | (14 << 27) /* 0.341548541 */, | ||
717 | /* 648 */ 0x0579ddd8 | (14 << 27) /* 0.342252584 */, | ||
718 | /* 649 */ 0x057cc077 | (14 << 27) /* 0.342956988 */, | ||
719 | /* 650 */ 0x057fa378 | (14 << 27) /* 0.343661754 */, | ||
720 | /* 651 */ 0x058286d9 | (14 << 27) /* 0.344366882 */, | ||
721 | /* 652 */ 0x05856a9b | (14 << 27) /* 0.345072371 */, | ||
722 | /* 653 */ 0x05884ebe | (14 << 27) /* 0.345778221 */, | ||
723 | /* 654 */ 0x058b3342 | (14 << 27) /* 0.346484431 */, | ||
724 | /* 655 */ 0x058e1827 | (14 << 27) /* 0.347191002 */, | ||
725 | |||
726 | /* 656 */ 0x0590fd6c | (14 << 27) /* 0.347897931 */, | ||
727 | /* 657 */ 0x0593e311 | (14 << 27) /* 0.348605221 */, | ||
728 | /* 658 */ 0x0596c917 | (14 << 27) /* 0.349312869 */, | ||
729 | /* 659 */ 0x0599af7d | (14 << 27) /* 0.350020876 */, | ||
730 | /* 660 */ 0x059c9643 | (14 << 27) /* 0.350729240 */, | ||
731 | /* 661 */ 0x059f7d6a | (14 << 27) /* 0.351437963 */, | ||
732 | /* 662 */ 0x05a264f0 | (14 << 27) /* 0.352147044 */, | ||
733 | /* 663 */ 0x05a54cd6 | (14 << 27) /* 0.352856481 */, | ||
734 | /* 664 */ 0x05a8351c | (14 << 27) /* 0.353566275 */, | ||
735 | /* 665 */ 0x05ab1dc2 | (14 << 27) /* 0.354276426 */, | ||
736 | /* 666 */ 0x05ae06c7 | (14 << 27) /* 0.354986932 */, | ||
737 | /* 667 */ 0x05b0f02b | (14 << 27) /* 0.355697795 */, | ||
738 | /* 668 */ 0x05b3d9f0 | (14 << 27) /* 0.356409012 */, | ||
739 | /* 669 */ 0x05b6c413 | (14 << 27) /* 0.357120585 */, | ||
740 | /* 670 */ 0x05b9ae95 | (14 << 27) /* 0.357832512 */, | ||
741 | /* 671 */ 0x05bc9977 | (14 << 27) /* 0.358544794 */, | ||
742 | |||
743 | /* 672 */ 0x05bf84b8 | (14 << 27) /* 0.359257429 */, | ||
744 | /* 673 */ 0x05c27057 | (14 << 27) /* 0.359970419 */, | ||
745 | /* 674 */ 0x05c55c56 | (14 << 27) /* 0.360683761 */, | ||
746 | /* 675 */ 0x05c848b3 | (14 << 27) /* 0.361397456 */, | ||
747 | /* 676 */ 0x05cb356e | (14 << 27) /* 0.362111504 */, | ||
748 | /* 677 */ 0x05ce2289 | (14 << 27) /* 0.362825904 */, | ||
749 | /* 678 */ 0x05d11001 | (14 << 27) /* 0.363540655 */, | ||
750 | /* 679 */ 0x05d3fdd8 | (14 << 27) /* 0.364255759 */, | ||
751 | /* 680 */ 0x05d6ec0e | (14 << 27) /* 0.364971213 */, | ||
752 | /* 681 */ 0x05d9daa1 | (14 << 27) /* 0.365687018 */, | ||
753 | /* 682 */ 0x05dcc993 | (14 << 27) /* 0.366403174 */, | ||
754 | /* 683 */ 0x05dfb8e2 | (14 << 27) /* 0.367119680 */, | ||
755 | /* 684 */ 0x05e2a890 | (14 << 27) /* 0.367836535 */, | ||
756 | /* 685 */ 0x05e5989b | (14 << 27) /* 0.368553740 */, | ||
757 | /* 686 */ 0x05e88904 | (14 << 27) /* 0.369271294 */, | ||
758 | /* 687 */ 0x05eb79cb | (14 << 27) /* 0.369989197 */, | ||
759 | |||
760 | /* 688 */ 0x05ee6aef | (14 << 27) /* 0.370707448 */, | ||
761 | /* 689 */ 0x05f15c70 | (14 << 27) /* 0.371426047 */, | ||
762 | /* 690 */ 0x05f44e4f | (14 << 27) /* 0.372144994 */, | ||
763 | /* 691 */ 0x05f7408b | (14 << 27) /* 0.372864289 */, | ||
764 | /* 692 */ 0x05fa3324 | (14 << 27) /* 0.373583930 */, | ||
765 | /* 693 */ 0x05fd261b | (14 << 27) /* 0.374303918 */, | ||
766 | /* 694 */ 0x0600196e | (14 << 27) /* 0.375024253 */, | ||
767 | /* 695 */ 0x06030d1e | (14 << 27) /* 0.375744934 */, | ||
768 | /* 696 */ 0x0606012b | (14 << 27) /* 0.376465960 */, | ||
769 | /* 697 */ 0x0608f595 | (14 << 27) /* 0.377187332 */, | ||
770 | /* 698 */ 0x060bea5c | (14 << 27) /* 0.377909049 */, | ||
771 | /* 699 */ 0x060edf7f | (14 << 27) /* 0.378631110 */, | ||
772 | /* 700 */ 0x0611d4fe | (14 << 27) /* 0.379353516 */, | ||
773 | /* 701 */ 0x0614cada | (14 << 27) /* 0.380076266 */, | ||
774 | /* 702 */ 0x0617c112 | (14 << 27) /* 0.380799360 */, | ||
775 | /* 703 */ 0x061ab7a6 | (14 << 27) /* 0.381522798 */, | ||
776 | |||
777 | /* 704 */ 0x061dae96 | (14 << 27) /* 0.382246578 */, | ||
778 | /* 705 */ 0x0620a5e3 | (14 << 27) /* 0.382970701 */, | ||
779 | /* 706 */ 0x06239d8b | (14 << 27) /* 0.383695167 */, | ||
780 | /* 707 */ 0x0626958f | (14 << 27) /* 0.384419975 */, | ||
781 | /* 708 */ 0x06298def | (14 << 27) /* 0.385145124 */, | ||
782 | /* 709 */ 0x062c86aa | (14 << 27) /* 0.385870615 */, | ||
783 | /* 710 */ 0x062f7fc1 | (14 << 27) /* 0.386596448 */, | ||
784 | /* 711 */ 0x06327934 | (14 << 27) /* 0.387322621 */, | ||
785 | /* 712 */ 0x06357302 | (14 << 27) /* 0.388049134 */, | ||
786 | /* 713 */ 0x06386d2b | (14 << 27) /* 0.388775988 */, | ||
787 | /* 714 */ 0x063b67b0 | (14 << 27) /* 0.389503182 */, | ||
788 | /* 715 */ 0x063e6290 | (14 << 27) /* 0.390230715 */, | ||
789 | /* 716 */ 0x06415dcb | (14 << 27) /* 0.390958588 */, | ||
790 | /* 717 */ 0x06445960 | (14 << 27) /* 0.391686799 */, | ||
791 | /* 718 */ 0x06475551 | (14 << 27) /* 0.392415349 */, | ||
792 | /* 719 */ 0x064a519c | (14 << 27) /* 0.393144238 */, | ||
793 | |||
794 | /* 720 */ 0x064d4e43 | (14 << 27) /* 0.393873464 */, | ||
795 | /* 721 */ 0x06504b44 | (14 << 27) /* 0.394603028 */, | ||
796 | /* 722 */ 0x0653489f | (14 << 27) /* 0.395332930 */, | ||
797 | /* 723 */ 0x06564655 | (14 << 27) /* 0.396063168 */, | ||
798 | /* 724 */ 0x06594465 | (14 << 27) /* 0.396793743 */, | ||
799 | /* 725 */ 0x065c42d0 | (14 << 27) /* 0.397524655 */, | ||
800 | /* 726 */ 0x065f4195 | (14 << 27) /* 0.398255903 */, | ||
801 | /* 727 */ 0x066240b4 | (14 << 27) /* 0.398987487 */, | ||
802 | /* 728 */ 0x0665402d | (14 << 27) /* 0.399719406 */, | ||
803 | /* 729 */ 0x06684000 | (14 << 27) /* 0.400451660 */, | ||
804 | /* 730 */ 0x066b402d | (14 << 27) /* 0.401184249 */, | ||
805 | /* 731 */ 0x066e40b3 | (14 << 27) /* 0.401917173 */, | ||
806 | /* 732 */ 0x06714194 | (14 << 27) /* 0.402650431 */, | ||
807 | /* 733 */ 0x067442ce | (14 << 27) /* 0.403384024 */, | ||
808 | /* 734 */ 0x06774462 | (14 << 27) /* 0.404117949 */, | ||
809 | /* 735 */ 0x067a464f | (14 << 27) /* 0.404852209 */, | ||
810 | |||
811 | /* 736 */ 0x067d4896 | (14 << 27) /* 0.405586801 */, | ||
812 | /* 737 */ 0x06804b36 | (14 << 27) /* 0.406321726 */, | ||
813 | /* 738 */ 0x06834e2f | (14 << 27) /* 0.407056983 */, | ||
814 | /* 739 */ 0x06865181 | (14 << 27) /* 0.407792573 */, | ||
815 | /* 740 */ 0x0689552c | (14 << 27) /* 0.408528495 */, | ||
816 | /* 741 */ 0x068c5931 | (14 << 27) /* 0.409264748 */, | ||
817 | /* 742 */ 0x068f5d8e | (14 << 27) /* 0.410001332 */, | ||
818 | /* 743 */ 0x06926245 | (14 << 27) /* 0.410738247 */, | ||
819 | /* 744 */ 0x06956753 | (14 << 27) /* 0.411475493 */, | ||
820 | /* 745 */ 0x06986cbb | (14 << 27) /* 0.412213070 */, | ||
821 | /* 746 */ 0x069b727b | (14 << 27) /* 0.412950976 */, | ||
822 | /* 747 */ 0x069e7894 | (14 << 27) /* 0.413689213 */, | ||
823 | /* 748 */ 0x06a17f05 | (14 << 27) /* 0.414427779 */, | ||
824 | /* 749 */ 0x06a485cf | (14 << 27) /* 0.415166674 */, | ||
825 | /* 750 */ 0x06a78cf1 | (14 << 27) /* 0.415905897 */, | ||
826 | /* 751 */ 0x06aa946b | (14 << 27) /* 0.416645450 */, | ||
827 | |||
828 | /* 752 */ 0x06ad9c3d | (14 << 27) /* 0.417385331 */, | ||
829 | /* 753 */ 0x06b0a468 | (14 << 27) /* 0.418125540 */, | ||
830 | /* 754 */ 0x06b3acea | (14 << 27) /* 0.418866076 */, | ||
831 | /* 755 */ 0x06b6b5c4 | (14 << 27) /* 0.419606940 */, | ||
832 | /* 756 */ 0x06b9bef6 | (14 << 27) /* 0.420348132 */, | ||
833 | /* 757 */ 0x06bcc880 | (14 << 27) /* 0.421089650 */, | ||
834 | /* 758 */ 0x06bfd261 | (14 << 27) /* 0.421831494 */, | ||
835 | /* 759 */ 0x06c2dc9a | (14 << 27) /* 0.422573665 */, | ||
836 | /* 760 */ 0x06c5e72b | (14 << 27) /* 0.423316162 */, | ||
837 | /* 761 */ 0x06c8f213 | (14 << 27) /* 0.424058985 */, | ||
838 | /* 762 */ 0x06cbfd52 | (14 << 27) /* 0.424802133 */, | ||
839 | /* 763 */ 0x06cf08e9 | (14 << 27) /* 0.425545607 */, | ||
840 | /* 764 */ 0x06d214d7 | (14 << 27) /* 0.426289405 */, | ||
841 | /* 765 */ 0x06d5211c | (14 << 27) /* 0.427033528 */, | ||
842 | /* 766 */ 0x06d82db8 | (14 << 27) /* 0.427777975 */, | ||
843 | /* 767 */ 0x06db3aaa | (14 << 27) /* 0.428522746 */, | ||
844 | |||
845 | /* 768 */ 0x06de47f4 | (14 << 27) /* 0.429267841 */, | ||
846 | /* 769 */ 0x06e15595 | (14 << 27) /* 0.430013259 */, | ||
847 | /* 770 */ 0x06e4638d | (14 << 27) /* 0.430759001 */, | ||
848 | /* 771 */ 0x06e771db | (14 << 27) /* 0.431505065 */, | ||
849 | /* 772 */ 0x06ea807f | (14 << 27) /* 0.432251452 */, | ||
850 | /* 773 */ 0x06ed8f7b | (14 << 27) /* 0.432998162 */, | ||
851 | /* 774 */ 0x06f09ecc | (14 << 27) /* 0.433745193 */, | ||
852 | /* 775 */ 0x06f3ae75 | (14 << 27) /* 0.434492546 */, | ||
853 | /* 776 */ 0x06f6be73 | (14 << 27) /* 0.435240221 */, | ||
854 | /* 777 */ 0x06f9cec8 | (14 << 27) /* 0.435988217 */, | ||
855 | /* 778 */ 0x06fcdf72 | (14 << 27) /* 0.436736534 */, | ||
856 | /* 779 */ 0x06fff073 | (14 << 27) /* 0.437485172 */, | ||
857 | /* 780 */ 0x070301ca | (14 << 27) /* 0.438234130 */, | ||
858 | /* 781 */ 0x07061377 | (14 << 27) /* 0.438983408 */, | ||
859 | /* 782 */ 0x0709257a | (14 << 27) /* 0.439733006 */, | ||
860 | /* 783 */ 0x070c37d2 | (14 << 27) /* 0.440482924 */, | ||
861 | |||
862 | /* 784 */ 0x070f4a80 | (14 << 27) /* 0.441233161 */, | ||
863 | /* 785 */ 0x07125d84 | (14 << 27) /* 0.441983717 */, | ||
864 | /* 786 */ 0x071570de | (14 << 27) /* 0.442734592 */, | ||
865 | /* 787 */ 0x0718848d | (14 << 27) /* 0.443485785 */, | ||
866 | /* 788 */ 0x071b9891 | (14 << 27) /* 0.444237296 */, | ||
867 | /* 789 */ 0x071eaceb | (14 << 27) /* 0.444989126 */, | ||
868 | /* 790 */ 0x0721c19a | (14 << 27) /* 0.445741273 */, | ||
869 | /* 791 */ 0x0724d69e | (14 << 27) /* 0.446493738 */, | ||
870 | /* 792 */ 0x0727ebf7 | (14 << 27) /* 0.447246519 */, | ||
871 | /* 793 */ 0x072b01a6 | (14 << 27) /* 0.447999618 */, | ||
872 | /* 794 */ 0x072e17a9 | (14 << 27) /* 0.448753033 */, | ||
873 | /* 795 */ 0x07312e01 | (14 << 27) /* 0.449506765 */, | ||
874 | /* 796 */ 0x073444ae | (14 << 27) /* 0.450260813 */, | ||
875 | /* 797 */ 0x07375bb0 | (14 << 27) /* 0.451015176 */, | ||
876 | /* 798 */ 0x073a7307 | (14 << 27) /* 0.451769856 */, | ||
877 | /* 799 */ 0x073d8ab2 | (14 << 27) /* 0.452524850 */, | ||
878 | |||
879 | /* 800 */ 0x0740a2b2 | (14 << 27) /* 0.453280160 */, | ||
880 | /* 801 */ 0x0743bb06 | (14 << 27) /* 0.454035784 */, | ||
881 | /* 802 */ 0x0746d3af | (14 << 27) /* 0.454791723 */, | ||
882 | /* 803 */ 0x0749ecac | (14 << 27) /* 0.455547976 */, | ||
883 | /* 804 */ 0x074d05fe | (14 << 27) /* 0.456304543 */, | ||
884 | /* 805 */ 0x07501fa3 | (14 << 27) /* 0.457061423 */, | ||
885 | /* 806 */ 0x0753399d | (14 << 27) /* 0.457818618 */, | ||
886 | /* 807 */ 0x075653eb | (14 << 27) /* 0.458576125 */, | ||
887 | /* 808 */ 0x07596e8d | (14 << 27) /* 0.459333946 */, | ||
888 | /* 809 */ 0x075c8983 | (14 << 27) /* 0.460092079 */, | ||
889 | /* 810 */ 0x075fa4cc | (14 << 27) /* 0.460850524 */, | ||
890 | /* 811 */ 0x0762c06a | (14 << 27) /* 0.461609282 */, | ||
891 | /* 812 */ 0x0765dc5b | (14 << 27) /* 0.462368352 */, | ||
892 | /* 813 */ 0x0768f8a0 | (14 << 27) /* 0.463127733 */, | ||
893 | /* 814 */ 0x076c1538 | (14 << 27) /* 0.463887426 */, | ||
894 | /* 815 */ 0x076f3224 | (14 << 27) /* 0.464647430 */, | ||
895 | |||
896 | /* 816 */ 0x07724f64 | (14 << 27) /* 0.465407744 */, | ||
897 | /* 817 */ 0x07756cf7 | (14 << 27) /* 0.466168370 */, | ||
898 | /* 818 */ 0x07788add | (14 << 27) /* 0.466929306 */, | ||
899 | /* 819 */ 0x077ba916 | (14 << 27) /* 0.467690552 */, | ||
900 | /* 820 */ 0x077ec7a3 | (14 << 27) /* 0.468452108 */, | ||
901 | /* 821 */ 0x0781e683 | (14 << 27) /* 0.469213973 */, | ||
902 | /* 822 */ 0x078505b5 | (14 << 27) /* 0.469976148 */, | ||
903 | /* 823 */ 0x0788253b | (14 << 27) /* 0.470738632 */, | ||
904 | /* 824 */ 0x078b4514 | (14 << 27) /* 0.471501425 */, | ||
905 | /* 825 */ 0x078e653f | (14 << 27) /* 0.472264527 */, | ||
906 | /* 826 */ 0x079185be | (14 << 27) /* 0.473027937 */, | ||
907 | /* 827 */ 0x0794a68f | (14 << 27) /* 0.473791655 */, | ||
908 | /* 828 */ 0x0797c7b2 | (14 << 27) /* 0.474555681 */, | ||
909 | /* 829 */ 0x079ae929 | (14 << 27) /* 0.475320014 */, | ||
910 | /* 830 */ 0x079e0af1 | (14 << 27) /* 0.476084655 */, | ||
911 | /* 831 */ 0x07a12d0c | (14 << 27) /* 0.476849603 */, | ||
912 | |||
913 | /* 832 */ 0x07a44f7a | (14 << 27) /* 0.477614858 */, | ||
914 | /* 833 */ 0x07a7723a | (14 << 27) /* 0.478380420 */, | ||
915 | /* 834 */ 0x07aa954c | (14 << 27) /* 0.479146288 */, | ||
916 | /* 835 */ 0x07adb8b0 | (14 << 27) /* 0.479912463 */, | ||
917 | /* 836 */ 0x07b0dc67 | (14 << 27) /* 0.480678943 */, | ||
918 | /* 837 */ 0x07b4006f | (14 << 27) /* 0.481445729 */, | ||
919 | /* 838 */ 0x07b724ca | (14 << 27) /* 0.482212820 */, | ||
920 | /* 839 */ 0x07ba4976 | (14 << 27) /* 0.482980216 */, | ||
921 | /* 840 */ 0x07bd6e75 | (14 << 27) /* 0.483747918 */, | ||
922 | /* 841 */ 0x07c093c5 | (14 << 27) /* 0.484515924 */, | ||
923 | /* 842 */ 0x07c3b967 | (14 << 27) /* 0.485284235 */, | ||
924 | /* 843 */ 0x07c6df5a | (14 << 27) /* 0.486052849 */, | ||
925 | /* 844 */ 0x07ca059f | (14 << 27) /* 0.486821768 */, | ||
926 | /* 845 */ 0x07cd2c36 | (14 << 27) /* 0.487590991 */, | ||
927 | /* 846 */ 0x07d0531e | (14 << 27) /* 0.488360517 */, | ||
928 | /* 847 */ 0x07d37a57 | (14 << 27) /* 0.489130346 */, | ||
929 | |||
930 | /* 848 */ 0x07d6a1e2 | (14 << 27) /* 0.489900479 */, | ||
931 | /* 849 */ 0x07d9c9be | (14 << 27) /* 0.490670914 */, | ||
932 | /* 850 */ 0x07dcf1ec | (14 << 27) /* 0.491441651 */, | ||
933 | /* 851 */ 0x07e01a6a | (14 << 27) /* 0.492212691 */, | ||
934 | /* 852 */ 0x07e3433a | (14 << 27) /* 0.492984033 */, | ||
935 | /* 853 */ 0x07e66c5a | (14 << 27) /* 0.493755677 */, | ||
936 | /* 854 */ 0x07e995cc | (14 << 27) /* 0.494527623 */, | ||
937 | /* 855 */ 0x07ecbf8e | (14 << 27) /* 0.495299870 */, | ||
938 | /* 856 */ 0x07efe9a1 | (14 << 27) /* 0.496072418 */, | ||
939 | /* 857 */ 0x07f31405 | (14 << 27) /* 0.496845266 */, | ||
940 | /* 858 */ 0x07f63eba | (14 << 27) /* 0.497618416 */, | ||
941 | /* 859 */ 0x07f969c0 | (14 << 27) /* 0.498391866 */, | ||
942 | /* 860 */ 0x07fc9516 | (14 << 27) /* 0.499165616 */, | ||
943 | /* 861 */ 0x07ffc0bc | (14 << 27) /* 0.499939666 */, | ||
944 | /* 862 */ 0x04017659 | (15 << 27) /* 0.250357008 */, | ||
945 | /* 863 */ 0x04030c7d | (15 << 27) /* 0.250744333 */, | ||
946 | |||
947 | /* 864 */ 0x0404a2c9 | (15 << 27) /* 0.251131807 */, | ||
948 | /* 865 */ 0x0406393d | (15 << 27) /* 0.251519431 */, | ||
949 | /* 866 */ 0x0407cfd9 | (15 << 27) /* 0.251907204 */, | ||
950 | /* 867 */ 0x0409669d | (15 << 27) /* 0.252295127 */, | ||
951 | /* 868 */ 0x040afd89 | (15 << 27) /* 0.252683198 */, | ||
952 | /* 869 */ 0x040c949e | (15 << 27) /* 0.253071419 */, | ||
953 | /* 870 */ 0x040e2bda | (15 << 27) /* 0.253459789 */, | ||
954 | /* 871 */ 0x040fc33e | (15 << 27) /* 0.253848307 */, | ||
955 | /* 872 */ 0x04115aca | (15 << 27) /* 0.254236974 */, | ||
956 | /* 873 */ 0x0412f27e | (15 << 27) /* 0.254625790 */, | ||
957 | /* 874 */ 0x04148a5a | (15 << 27) /* 0.255014755 */, | ||
958 | /* 875 */ 0x0416225d | (15 << 27) /* 0.255403867 */, | ||
959 | /* 876 */ 0x0417ba89 | (15 << 27) /* 0.255793128 */, | ||
960 | /* 877 */ 0x041952dc | (15 << 27) /* 0.256182537 */, | ||
961 | /* 878 */ 0x041aeb57 | (15 << 27) /* 0.256572095 */, | ||
962 | /* 879 */ 0x041c83fa | (15 << 27) /* 0.256961800 */, | ||
963 | |||
964 | /* 880 */ 0x041e1cc4 | (15 << 27) /* 0.257351652 */, | ||
965 | /* 881 */ 0x041fb5b6 | (15 << 27) /* 0.257741653 */, | ||
966 | /* 882 */ 0x04214ed0 | (15 << 27) /* 0.258131801 */, | ||
967 | /* 883 */ 0x0422e811 | (15 << 27) /* 0.258522097 */, | ||
968 | /* 884 */ 0x04248179 | (15 << 27) /* 0.258912540 */, | ||
969 | /* 885 */ 0x04261b0a | (15 << 27) /* 0.259303130 */, | ||
970 | /* 886 */ 0x0427b4c2 | (15 << 27) /* 0.259693868 */, | ||
971 | /* 887 */ 0x04294ea1 | (15 << 27) /* 0.260084752 */, | ||
972 | /* 888 */ 0x042ae8a7 | (15 << 27) /* 0.260475783 */, | ||
973 | /* 889 */ 0x042c82d6 | (15 << 27) /* 0.260866961 */, | ||
974 | /* 890 */ 0x042e1d2b | (15 << 27) /* 0.261258286 */, | ||
975 | /* 891 */ 0x042fb7a8 | (15 << 27) /* 0.261649758 */, | ||
976 | /* 892 */ 0x0431524c | (15 << 27) /* 0.262041376 */, | ||
977 | /* 893 */ 0x0432ed17 | (15 << 27) /* 0.262433140 */, | ||
978 | /* 894 */ 0x0434880a | (15 << 27) /* 0.262825051 */, | ||
979 | /* 895 */ 0x04362324 | (15 << 27) /* 0.263217107 */, | ||
980 | |||
981 | /* 896 */ 0x0437be65 | (15 << 27) /* 0.263609310 */, | ||
982 | /* 897 */ 0x043959cd | (15 << 27) /* 0.264001659 */, | ||
983 | /* 898 */ 0x043af55d | (15 << 27) /* 0.264394153 */, | ||
984 | /* 899 */ 0x043c9113 | (15 << 27) /* 0.264786794 */, | ||
985 | /* 900 */ 0x043e2cf1 | (15 << 27) /* 0.265179580 */, | ||
986 | /* 901 */ 0x043fc8f6 | (15 << 27) /* 0.265572511 */, | ||
987 | /* 902 */ 0x04416522 | (15 << 27) /* 0.265965588 */, | ||
988 | /* 903 */ 0x04430174 | (15 << 27) /* 0.266358810 */, | ||
989 | /* 904 */ 0x04449dee | (15 << 27) /* 0.266752177 */, | ||
990 | /* 905 */ 0x04463a8f | (15 << 27) /* 0.267145689 */, | ||
991 | /* 906 */ 0x0447d756 | (15 << 27) /* 0.267539347 */, | ||
992 | /* 907 */ 0x04497445 | (15 << 27) /* 0.267933149 */, | ||
993 | /* 908 */ 0x044b115a | (15 << 27) /* 0.268327096 */, | ||
994 | /* 909 */ 0x044cae96 | (15 << 27) /* 0.268721187 */, | ||
995 | /* 910 */ 0x044e4bf9 | (15 << 27) /* 0.269115423 */, | ||
996 | /* 911 */ 0x044fe983 | (15 << 27) /* 0.269509804 */, | ||
997 | |||
998 | /* 912 */ 0x04518733 | (15 << 27) /* 0.269904329 */, | ||
999 | /* 913 */ 0x0453250a | (15 << 27) /* 0.270298998 */, | ||
1000 | /* 914 */ 0x0454c308 | (15 << 27) /* 0.270693811 */, | ||
1001 | /* 915 */ 0x0456612d | (15 << 27) /* 0.271088768 */, | ||
1002 | /* 916 */ 0x0457ff78 | (15 << 27) /* 0.271483869 */, | ||
1003 | /* 917 */ 0x04599dea | (15 << 27) /* 0.271879114 */, | ||
1004 | /* 918 */ 0x045b3c82 | (15 << 27) /* 0.272274503 */, | ||
1005 | /* 919 */ 0x045cdb41 | (15 << 27) /* 0.272670035 */, | ||
1006 | /* 920 */ 0x045e7a26 | (15 << 27) /* 0.273065710 */, | ||
1007 | /* 921 */ 0x04601932 | (15 << 27) /* 0.273461530 */, | ||
1008 | /* 922 */ 0x0461b864 | (15 << 27) /* 0.273857492 */, | ||
1009 | /* 923 */ 0x046357bd | (15 << 27) /* 0.274253597 */, | ||
1010 | /* 924 */ 0x0464f73c | (15 << 27) /* 0.274649846 */, | ||
1011 | /* 925 */ 0x046696e2 | (15 << 27) /* 0.275046238 */, | ||
1012 | /* 926 */ 0x046836ae | (15 << 27) /* 0.275442772 */, | ||
1013 | /* 927 */ 0x0469d6a0 | (15 << 27) /* 0.275839449 */, | ||
1014 | |||
1015 | /* 928 */ 0x046b76b9 | (15 << 27) /* 0.276236269 */, | ||
1016 | /* 929 */ 0x046d16f7 | (15 << 27) /* 0.276633232 */, | ||
1017 | /* 930 */ 0x046eb75c | (15 << 27) /* 0.277030337 */, | ||
1018 | /* 931 */ 0x047057e8 | (15 << 27) /* 0.277427584 */, | ||
1019 | /* 932 */ 0x0471f899 | (15 << 27) /* 0.277824973 */, | ||
1020 | /* 933 */ 0x04739971 | (15 << 27) /* 0.278222505 */, | ||
1021 | /* 934 */ 0x04753a6f | (15 << 27) /* 0.278620179 */, | ||
1022 | /* 935 */ 0x0476db92 | (15 << 27) /* 0.279017995 */, | ||
1023 | /* 936 */ 0x04787cdc | (15 << 27) /* 0.279415952 */, | ||
1024 | /* 937 */ 0x047a1e4c | (15 << 27) /* 0.279814051 */, | ||
1025 | /* 938 */ 0x047bbfe2 | (15 << 27) /* 0.280212292 */, | ||
1026 | /* 939 */ 0x047d619e | (15 << 27) /* 0.280610675 */, | ||
1027 | /* 940 */ 0x047f0380 | (15 << 27) /* 0.281009199 */, | ||
1028 | /* 941 */ 0x0480a588 | (15 << 27) /* 0.281407864 */, | ||
1029 | /* 942 */ 0x048247b6 | (15 << 27) /* 0.281806670 */, | ||
1030 | /* 943 */ 0x0483ea0a | (15 << 27) /* 0.282205618 */, | ||
1031 | |||
1032 | /* 944 */ 0x04858c83 | (15 << 27) /* 0.282604707 */, | ||
1033 | /* 945 */ 0x04872f22 | (15 << 27) /* 0.283003936 */, | ||
1034 | /* 946 */ 0x0488d1e8 | (15 << 27) /* 0.283403307 */, | ||
1035 | /* 947 */ 0x048a74d3 | (15 << 27) /* 0.283802818 */, | ||
1036 | /* 948 */ 0x048c17e3 | (15 << 27) /* 0.284202470 */, | ||
1037 | /* 949 */ 0x048dbb1a | (15 << 27) /* 0.284602263 */, | ||
1038 | /* 950 */ 0x048f5e76 | (15 << 27) /* 0.285002195 */, | ||
1039 | /* 951 */ 0x049101f8 | (15 << 27) /* 0.285402269 */, | ||
1040 | /* 952 */ 0x0492a59f | (15 << 27) /* 0.285802482 */, | ||
1041 | /* 953 */ 0x0494496c | (15 << 27) /* 0.286202836 */, | ||
1042 | /* 954 */ 0x0495ed5f | (15 << 27) /* 0.286603329 */, | ||
1043 | /* 955 */ 0x04979177 | (15 << 27) /* 0.287003963 */, | ||
1044 | /* 956 */ 0x049935b5 | (15 << 27) /* 0.287404737 */, | ||
1045 | /* 957 */ 0x049ada19 | (15 << 27) /* 0.287805650 */, | ||
1046 | /* 958 */ 0x049c7ea1 | (15 << 27) /* 0.288206703 */, | ||
1047 | /* 959 */ 0x049e2350 | (15 << 27) /* 0.288607895 */, | ||
1048 | |||
1049 | /* 960 */ 0x049fc824 | (15 << 27) /* 0.289009227 */, | ||
1050 | /* 961 */ 0x04a16d1d | (15 << 27) /* 0.289410699 */, | ||
1051 | /* 962 */ 0x04a3123b | (15 << 27) /* 0.289812309 */, | ||
1052 | /* 963 */ 0x04a4b77f | (15 << 27) /* 0.290214059 */, | ||
1053 | /* 964 */ 0x04a65ce8 | (15 << 27) /* 0.290615948 */, | ||
1054 | /* 965 */ 0x04a80277 | (15 << 27) /* 0.291017976 */, | ||
1055 | /* 966 */ 0x04a9a82b | (15 << 27) /* 0.291420143 */, | ||
1056 | /* 967 */ 0x04ab4e04 | (15 << 27) /* 0.291822449 */, | ||
1057 | /* 968 */ 0x04acf402 | (15 << 27) /* 0.292224893 */, | ||
1058 | /* 969 */ 0x04ae9a26 | (15 << 27) /* 0.292627476 */, | ||
1059 | /* 970 */ 0x04b0406e | (15 << 27) /* 0.293030197 */, | ||
1060 | /* 971 */ 0x04b1e6dc | (15 << 27) /* 0.293433057 */, | ||
1061 | /* 972 */ 0x04b38d6f | (15 << 27) /* 0.293836055 */, | ||
1062 | /* 973 */ 0x04b53427 | (15 << 27) /* 0.294239192 */, | ||
1063 | /* 974 */ 0x04b6db05 | (15 << 27) /* 0.294642466 */, | ||
1064 | /* 975 */ 0x04b88207 | (15 << 27) /* 0.295045879 */, | ||
1065 | |||
1066 | /* 976 */ 0x04ba292e | (15 << 27) /* 0.295449429 */, | ||
1067 | /* 977 */ 0x04bbd07a | (15 << 27) /* 0.295853118 */, | ||
1068 | /* 978 */ 0x04bd77ec | (15 << 27) /* 0.296256944 */, | ||
1069 | /* 979 */ 0x04bf1f82 | (15 << 27) /* 0.296660907 */, | ||
1070 | /* 980 */ 0x04c0c73d | (15 << 27) /* 0.297065009 */, | ||
1071 | /* 981 */ 0x04c26f1d | (15 << 27) /* 0.297469248 */, | ||
1072 | /* 982 */ 0x04c41722 | (15 << 27) /* 0.297873624 */, | ||
1073 | /* 983 */ 0x04c5bf4c | (15 << 27) /* 0.298278137 */, | ||
1074 | /* 984 */ 0x04c7679a | (15 << 27) /* 0.298682788 */, | ||
1075 | /* 985 */ 0x04c9100d | (15 << 27) /* 0.299087576 */, | ||
1076 | /* 986 */ 0x04cab8a6 | (15 << 27) /* 0.299492500 */, | ||
1077 | /* 987 */ 0x04cc6163 | (15 << 27) /* 0.299897562 */, | ||
1078 | /* 988 */ 0x04ce0a44 | (15 << 27) /* 0.300302761 */, | ||
1079 | /* 989 */ 0x04cfb34b | (15 << 27) /* 0.300708096 */, | ||
1080 | /* 990 */ 0x04d15c76 | (15 << 27) /* 0.301113568 */, | ||
1081 | /* 991 */ 0x04d305c5 | (15 << 27) /* 0.301519176 */, | ||
1082 | |||
1083 | /* 992 */ 0x04d4af3a | (15 << 27) /* 0.301924921 */, | ||
1084 | /* 993 */ 0x04d658d2 | (15 << 27) /* 0.302330802 */, | ||
1085 | /* 994 */ 0x04d80290 | (15 << 27) /* 0.302736820 */, | ||
1086 | /* 995 */ 0x04d9ac72 | (15 << 27) /* 0.303142973 */, | ||
1087 | /* 996 */ 0x04db5679 | (15 << 27) /* 0.303549263 */, | ||
1088 | /* 997 */ 0x04dd00a4 | (15 << 27) /* 0.303955689 */, | ||
1089 | /* 998 */ 0x04deaaf3 | (15 << 27) /* 0.304362251 */, | ||
1090 | /* 999 */ 0x04e05567 | (15 << 27) /* 0.304768948 */, | ||
1091 | /* 1000 */ 0x04e20000 | (15 << 27) /* 0.305175781 */, | ||
1092 | /* 1001 */ 0x04e3aabd | (15 << 27) /* 0.305582750 */, | ||
1093 | /* 1002 */ 0x04e5559e | (15 << 27) /* 0.305989854 */, | ||
1094 | /* 1003 */ 0x04e700a3 | (15 << 27) /* 0.306397094 */, | ||
1095 | /* 1004 */ 0x04e8abcd | (15 << 27) /* 0.306804470 */, | ||
1096 | /* 1005 */ 0x04ea571c | (15 << 27) /* 0.307211980 */, | ||
1097 | /* 1006 */ 0x04ec028e | (15 << 27) /* 0.307619626 */, | ||
1098 | /* 1007 */ 0x04edae25 | (15 << 27) /* 0.308027406 */, | ||
1099 | |||
1100 | /* 1008 */ 0x04ef59e0 | (15 << 27) /* 0.308435322 */, | ||
1101 | /* 1009 */ 0x04f105bf | (15 << 27) /* 0.308843373 */, | ||
1102 | /* 1010 */ 0x04f2b1c3 | (15 << 27) /* 0.309251558 */, | ||
1103 | /* 1011 */ 0x04f45dea | (15 << 27) /* 0.309659879 */, | ||
1104 | /* 1012 */ 0x04f60a36 | (15 << 27) /* 0.310068333 */, | ||
1105 | /* 1013 */ 0x04f7b6a6 | (15 << 27) /* 0.310476923 */, | ||
1106 | /* 1014 */ 0x04f9633a | (15 << 27) /* 0.310885647 */, | ||
1107 | /* 1015 */ 0x04fb0ff2 | (15 << 27) /* 0.311294505 */, | ||
1108 | /* 1016 */ 0x04fcbcce | (15 << 27) /* 0.311703498 */, | ||
1109 | /* 1017 */ 0x04fe69ce | (15 << 27) /* 0.312112625 */, | ||
1110 | /* 1018 */ 0x050016f3 | (15 << 27) /* 0.312521885 */, | ||
1111 | /* 1019 */ 0x0501c43b | (15 << 27) /* 0.312931280 */, | ||
1112 | /* 1020 */ 0x050371a7 | (15 << 27) /* 0.313340809 */, | ||
1113 | /* 1021 */ 0x05051f37 | (15 << 27) /* 0.313750472 */, | ||
1114 | /* 1022 */ 0x0506cceb | (15 << 27) /* 0.314160269 */, | ||
1115 | /* 1023 */ 0x05087ac2 | (15 << 27) /* 0.314570199 */, | ||
1116 | |||
1117 | /* 1024 */ 0x050a28be | (15 << 27) /* 0.314980262 */, | ||
1118 | /* 1025 */ 0x050bd6de | (15 << 27) /* 0.315390460 */, | ||
1119 | /* 1026 */ 0x050d8521 | (15 << 27) /* 0.315800790 */, | ||
1120 | /* 1027 */ 0x050f3388 | (15 << 27) /* 0.316211255 */, | ||
1121 | /* 1028 */ 0x0510e213 | (15 << 27) /* 0.316621852 */, | ||
1122 | /* 1029 */ 0x051290c2 | (15 << 27) /* 0.317032582 */, | ||
1123 | /* 1030 */ 0x05143f94 | (15 << 27) /* 0.317443446 */, | ||
1124 | /* 1031 */ 0x0515ee8a | (15 << 27) /* 0.317854442 */, | ||
1125 | /* 1032 */ 0x05179da4 | (15 << 27) /* 0.318265572 */, | ||
1126 | /* 1033 */ 0x05194ce1 | (15 << 27) /* 0.318676834 */, | ||
1127 | /* 1034 */ 0x051afc42 | (15 << 27) /* 0.319088229 */, | ||
1128 | /* 1035 */ 0x051cabc7 | (15 << 27) /* 0.319499756 */, | ||
1129 | /* 1036 */ 0x051e5b6f | (15 << 27) /* 0.319911417 */, | ||
1130 | /* 1037 */ 0x05200b3a | (15 << 27) /* 0.320323209 */, | ||
1131 | /* 1038 */ 0x0521bb2a | (15 << 27) /* 0.320735134 */, | ||
1132 | /* 1039 */ 0x05236b3d | (15 << 27) /* 0.321147192 */, | ||
1133 | |||
1134 | /* 1040 */ 0x05251b73 | (15 << 27) /* 0.321559381 */, | ||
1135 | /* 1041 */ 0x0526cbcd | (15 << 27) /* 0.321971703 */, | ||
1136 | /* 1042 */ 0x05287c4a | (15 << 27) /* 0.322384156 */, | ||
1137 | /* 1043 */ 0x052a2cea | (15 << 27) /* 0.322796742 */, | ||
1138 | /* 1044 */ 0x052bddae | (15 << 27) /* 0.323209460 */, | ||
1139 | /* 1045 */ 0x052d8e96 | (15 << 27) /* 0.323622309 */, | ||
1140 | /* 1046 */ 0x052f3fa1 | (15 << 27) /* 0.324035290 */, | ||
1141 | /* 1047 */ 0x0530f0cf | (15 << 27) /* 0.324448403 */, | ||
1142 | /* 1048 */ 0x0532a220 | (15 << 27) /* 0.324861647 */, | ||
1143 | /* 1049 */ 0x05345395 | (15 << 27) /* 0.325275023 */, | ||
1144 | /* 1050 */ 0x0536052d | (15 << 27) /* 0.325688530 */, | ||
1145 | /* 1051 */ 0x0537b6e8 | (15 << 27) /* 0.326102168 */, | ||
1146 | /* 1052 */ 0x053968c6 | (15 << 27) /* 0.326515938 */, | ||
1147 | /* 1053 */ 0x053b1ac8 | (15 << 27) /* 0.326929839 */, | ||
1148 | /* 1054 */ 0x053ccced | (15 << 27) /* 0.327343870 */, | ||
1149 | /* 1055 */ 0x053e7f35 | (15 << 27) /* 0.327758033 */, | ||
1150 | |||
1151 | /* 1056 */ 0x054031a0 | (15 << 27) /* 0.328172327 */, | ||
1152 | /* 1057 */ 0x0541e42e | (15 << 27) /* 0.328586751 */, | ||
1153 | /* 1058 */ 0x054396df | (15 << 27) /* 0.329001306 */, | ||
1154 | /* 1059 */ 0x054549b4 | (15 << 27) /* 0.329415992 */, | ||
1155 | /* 1060 */ 0x0546fcab | (15 << 27) /* 0.329830808 */, | ||
1156 | /* 1061 */ 0x0548afc6 | (15 << 27) /* 0.330245755 */, | ||
1157 | /* 1062 */ 0x054a6303 | (15 << 27) /* 0.330660832 */, | ||
1158 | /* 1063 */ 0x054c1663 | (15 << 27) /* 0.331076039 */, | ||
1159 | /* 1064 */ 0x054dc9e7 | (15 << 27) /* 0.331491377 */, | ||
1160 | /* 1065 */ 0x054f7d8d | (15 << 27) /* 0.331906845 */, | ||
1161 | /* 1066 */ 0x05513156 | (15 << 27) /* 0.332322443 */, | ||
1162 | /* 1067 */ 0x0552e542 | (15 << 27) /* 0.332738170 */, | ||
1163 | /* 1068 */ 0x05549951 | (15 << 27) /* 0.333154028 */, | ||
1164 | /* 1069 */ 0x05564d83 | (15 << 27) /* 0.333570016 */, | ||
1165 | /* 1070 */ 0x055801d8 | (15 << 27) /* 0.333986133 */, | ||
1166 | /* 1071 */ 0x0559b64f | (15 << 27) /* 0.334402380 */, | ||
1167 | |||
1168 | /* 1072 */ 0x055b6ae9 | (15 << 27) /* 0.334818756 */, | ||
1169 | /* 1073 */ 0x055d1fa6 | (15 << 27) /* 0.335235262 */, | ||
1170 | /* 1074 */ 0x055ed486 | (15 << 27) /* 0.335651898 */, | ||
1171 | /* 1075 */ 0x05608988 | (15 << 27) /* 0.336068662 */, | ||
1172 | /* 1076 */ 0x05623ead | (15 << 27) /* 0.336485556 */, | ||
1173 | /* 1077 */ 0x0563f3f5 | (15 << 27) /* 0.336902579 */, | ||
1174 | /* 1078 */ 0x0565a960 | (15 << 27) /* 0.337319732 */, | ||
1175 | /* 1079 */ 0x05675eed | (15 << 27) /* 0.337737013 */, | ||
1176 | /* 1080 */ 0x0569149c | (15 << 27) /* 0.338154423 */, | ||
1177 | /* 1081 */ 0x056aca6f | (15 << 27) /* 0.338571962 */, | ||
1178 | /* 1082 */ 0x056c8064 | (15 << 27) /* 0.338989630 */, | ||
1179 | /* 1083 */ 0x056e367b | (15 << 27) /* 0.339407426 */, | ||
1180 | /* 1084 */ 0x056fecb5 | (15 << 27) /* 0.339825351 */, | ||
1181 | /* 1085 */ 0x0571a311 | (15 << 27) /* 0.340243405 */, | ||
1182 | /* 1086 */ 0x05735990 | (15 << 27) /* 0.340661587 */, | ||
1183 | /* 1087 */ 0x05751032 | (15 << 27) /* 0.341079898 */, | ||
1184 | |||
1185 | /* 1088 */ 0x0576c6f5 | (15 << 27) /* 0.341498336 */, | ||
1186 | /* 1089 */ 0x05787ddc | (15 << 27) /* 0.341916903 */, | ||
1187 | /* 1090 */ 0x057a34e4 | (15 << 27) /* 0.342335598 */, | ||
1188 | /* 1091 */ 0x057bec0f | (15 << 27) /* 0.342754421 */, | ||
1189 | /* 1092 */ 0x057da35d | (15 << 27) /* 0.343173373 */, | ||
1190 | /* 1093 */ 0x057f5acc | (15 << 27) /* 0.343592452 */, | ||
1191 | /* 1094 */ 0x0581125e | (15 << 27) /* 0.344011659 */, | ||
1192 | /* 1095 */ 0x0582ca12 | (15 << 27) /* 0.344430993 */, | ||
1193 | /* 1096 */ 0x058481e9 | (15 << 27) /* 0.344850455 */, | ||
1194 | /* 1097 */ 0x058639e2 | (15 << 27) /* 0.345270045 */, | ||
1195 | /* 1098 */ 0x0587f1fd | (15 << 27) /* 0.345689763 */, | ||
1196 | /* 1099 */ 0x0589aa3a | (15 << 27) /* 0.346109608 */, | ||
1197 | /* 1100 */ 0x058b629a | (15 << 27) /* 0.346529580 */, | ||
1198 | /* 1101 */ 0x058d1b1b | (15 << 27) /* 0.346949679 */, | ||
1199 | /* 1102 */ 0x058ed3bf | (15 << 27) /* 0.347369906 */, | ||
1200 | /* 1103 */ 0x05908c85 | (15 << 27) /* 0.347790260 */, | ||
1201 | |||
1202 | /* 1104 */ 0x0592456d | (15 << 27) /* 0.348210741 */, | ||
1203 | /* 1105 */ 0x0593fe77 | (15 << 27) /* 0.348631348 */, | ||
1204 | /* 1106 */ 0x0595b7a3 | (15 << 27) /* 0.349052083 */, | ||
1205 | /* 1107 */ 0x059770f1 | (15 << 27) /* 0.349472945 */, | ||
1206 | /* 1108 */ 0x05992a61 | (15 << 27) /* 0.349893933 */, | ||
1207 | /* 1109 */ 0x059ae3f3 | (15 << 27) /* 0.350315048 */, | ||
1208 | /* 1110 */ 0x059c9da8 | (15 << 27) /* 0.350736290 */, | ||
1209 | /* 1111 */ 0x059e577e | (15 << 27) /* 0.351157658 */, | ||
1210 | /* 1112 */ 0x05a01176 | (15 << 27) /* 0.351579152 */, | ||
1211 | /* 1113 */ 0x05a1cb90 | (15 << 27) /* 0.352000773 */, | ||
1212 | /* 1114 */ 0x05a385cc | (15 << 27) /* 0.352422520 */, | ||
1213 | /* 1115 */ 0x05a5402a | (15 << 27) /* 0.352844394 */, | ||
1214 | /* 1116 */ 0x05a6faa9 | (15 << 27) /* 0.353266393 */, | ||
1215 | /* 1117 */ 0x05a8b54b | (15 << 27) /* 0.353688519 */, | ||
1216 | /* 1118 */ 0x05aa700e | (15 << 27) /* 0.354110771 */, | ||
1217 | /* 1119 */ 0x05ac2af3 | (15 << 27) /* 0.354533148 */, | ||
1218 | |||
1219 | /* 1120 */ 0x05ade5fa | (15 << 27) /* 0.354955651 */, | ||
1220 | /* 1121 */ 0x05afa123 | (15 << 27) /* 0.355378281 */, | ||
1221 | /* 1122 */ 0x05b15c6d | (15 << 27) /* 0.355801035 */, | ||
1222 | /* 1123 */ 0x05b317d9 | (15 << 27) /* 0.356223916 */, | ||
1223 | /* 1124 */ 0x05b4d367 | (15 << 27) /* 0.356646922 */, | ||
1224 | /* 1125 */ 0x05b68f16 | (15 << 27) /* 0.357070053 */, | ||
1225 | /* 1126 */ 0x05b84ae7 | (15 << 27) /* 0.357493310 */, | ||
1226 | /* 1127 */ 0x05ba06da | (15 << 27) /* 0.357916692 */, | ||
1227 | /* 1128 */ 0x05bbc2ef | (15 << 27) /* 0.358340200 */, | ||
1228 | /* 1129 */ 0x05bd7f25 | (15 << 27) /* 0.358763832 */, | ||
1229 | /* 1130 */ 0x05bf3b7c | (15 << 27) /* 0.359187590 */, | ||
1230 | /* 1131 */ 0x05c0f7f5 | (15 << 27) /* 0.359611472 */, | ||
1231 | /* 1132 */ 0x05c2b490 | (15 << 27) /* 0.360035480 */, | ||
1232 | /* 1133 */ 0x05c4714c | (15 << 27) /* 0.360459613 */, | ||
1233 | /* 1134 */ 0x05c62e2a | (15 << 27) /* 0.360883870 */, | ||
1234 | /* 1135 */ 0x05c7eb29 | (15 << 27) /* 0.361308252 */, | ||
1235 | |||
1236 | /* 1136 */ 0x05c9a84a | (15 << 27) /* 0.361732758 */, | ||
1237 | /* 1137 */ 0x05cb658c | (15 << 27) /* 0.362157390 */, | ||
1238 | /* 1138 */ 0x05cd22ef | (15 << 27) /* 0.362582145 */, | ||
1239 | /* 1139 */ 0x05cee074 | (15 << 27) /* 0.363007026 */, | ||
1240 | /* 1140 */ 0x05d09e1b | (15 << 27) /* 0.363432030 */, | ||
1241 | /* 1141 */ 0x05d25be2 | (15 << 27) /* 0.363857159 */, | ||
1242 | /* 1142 */ 0x05d419cb | (15 << 27) /* 0.364282412 */, | ||
1243 | /* 1143 */ 0x05d5d7d5 | (15 << 27) /* 0.364707789 */, | ||
1244 | /* 1144 */ 0x05d79601 | (15 << 27) /* 0.365133291 */, | ||
1245 | /* 1145 */ 0x05d9544e | (15 << 27) /* 0.365558916 */, | ||
1246 | /* 1146 */ 0x05db12bc | (15 << 27) /* 0.365984665 */, | ||
1247 | /* 1147 */ 0x05dcd14c | (15 << 27) /* 0.366410538 */, | ||
1248 | /* 1148 */ 0x05de8ffc | (15 << 27) /* 0.366836535 */, | ||
1249 | /* 1149 */ 0x05e04ece | (15 << 27) /* 0.367262655 */, | ||
1250 | /* 1150 */ 0x05e20dc1 | (15 << 27) /* 0.367688900 */, | ||
1251 | /* 1151 */ 0x05e3ccd5 | (15 << 27) /* 0.368115267 */, | ||
1252 | |||
1253 | /* 1152 */ 0x05e58c0b | (15 << 27) /* 0.368541759 */, | ||
1254 | /* 1153 */ 0x05e74b61 | (15 << 27) /* 0.368968373 */, | ||
1255 | /* 1154 */ 0x05e90ad9 | (15 << 27) /* 0.369395111 */, | ||
1256 | /* 1155 */ 0x05eaca72 | (15 << 27) /* 0.369821973 */, | ||
1257 | /* 1156 */ 0x05ec8a2b | (15 << 27) /* 0.370248957 */, | ||
1258 | /* 1157 */ 0x05ee4a06 | (15 << 27) /* 0.370676065 */, | ||
1259 | /* 1158 */ 0x05f00a02 | (15 << 27) /* 0.371103295 */, | ||
1260 | /* 1159 */ 0x05f1ca1f | (15 << 27) /* 0.371530649 */, | ||
1261 | /* 1160 */ 0x05f38a5d | (15 << 27) /* 0.371958126 */, | ||
1262 | /* 1161 */ 0x05f54abc | (15 << 27) /* 0.372385725 */, | ||
1263 | /* 1162 */ 0x05f70b3c | (15 << 27) /* 0.372813448 */, | ||
1264 | /* 1163 */ 0x05f8cbdc | (15 << 27) /* 0.373241292 */, | ||
1265 | /* 1164 */ 0x05fa8c9e | (15 << 27) /* 0.373669260 */, | ||
1266 | /* 1165 */ 0x05fc4d81 | (15 << 27) /* 0.374097350 */, | ||
1267 | /* 1166 */ 0x05fe0e84 | (15 << 27) /* 0.374525563 */, | ||
1268 | /* 1167 */ 0x05ffcfa8 | (15 << 27) /* 0.374953898 */, | ||
1269 | |||
1270 | /* 1168 */ 0x060190ee | (15 << 27) /* 0.375382356 */, | ||
1271 | /* 1169 */ 0x06035254 | (15 << 27) /* 0.375810936 */, | ||
1272 | /* 1170 */ 0x060513da | (15 << 27) /* 0.376239638 */, | ||
1273 | /* 1171 */ 0x0606d582 | (15 << 27) /* 0.376668462 */, | ||
1274 | /* 1172 */ 0x0608974a | (15 << 27) /* 0.377097408 */, | ||
1275 | /* 1173 */ 0x060a5934 | (15 << 27) /* 0.377526476 */, | ||
1276 | /* 1174 */ 0x060c1b3d | (15 << 27) /* 0.377955667 */, | ||
1277 | /* 1175 */ 0x060ddd68 | (15 << 27) /* 0.378384979 */, | ||
1278 | /* 1176 */ 0x060f9fb3 | (15 << 27) /* 0.378814413 */, | ||
1279 | /* 1177 */ 0x0611621f | (15 << 27) /* 0.379243968 */, | ||
1280 | /* 1178 */ 0x061324ac | (15 << 27) /* 0.379673646 */, | ||
1281 | /* 1179 */ 0x0614e759 | (15 << 27) /* 0.380103444 */, | ||
1282 | /* 1180 */ 0x0616aa27 | (15 << 27) /* 0.380533365 */, | ||
1283 | /* 1181 */ 0x06186d16 | (15 << 27) /* 0.380963407 */, | ||
1284 | /* 1182 */ 0x061a3025 | (15 << 27) /* 0.381393570 */, | ||
1285 | /* 1183 */ 0x061bf354 | (15 << 27) /* 0.381823855 */, | ||
1286 | |||
1287 | /* 1184 */ 0x061db6a5 | (15 << 27) /* 0.382254261 */, | ||
1288 | /* 1185 */ 0x061f7a15 | (15 << 27) /* 0.382684788 */, | ||
1289 | /* 1186 */ 0x06213da7 | (15 << 27) /* 0.383115436 */, | ||
1290 | /* 1187 */ 0x06230158 | (15 << 27) /* 0.383546205 */, | ||
1291 | /* 1188 */ 0x0624c52a | (15 << 27) /* 0.383977096 */, | ||
1292 | /* 1189 */ 0x0626891d | (15 << 27) /* 0.384408107 */, | ||
1293 | /* 1190 */ 0x06284d30 | (15 << 27) /* 0.384839239 */, | ||
1294 | /* 1191 */ 0x062a1164 | (15 << 27) /* 0.385270492 */, | ||
1295 | /* 1192 */ 0x062bd5b8 | (15 << 27) /* 0.385701865 */, | ||
1296 | /* 1193 */ 0x062d9a2c | (15 << 27) /* 0.386133359 */, | ||
1297 | /* 1194 */ 0x062f5ec1 | (15 << 27) /* 0.386564974 */, | ||
1298 | /* 1195 */ 0x06312376 | (15 << 27) /* 0.386996709 */, | ||
1299 | /* 1196 */ 0x0632e84b | (15 << 27) /* 0.387428565 */, | ||
1300 | /* 1197 */ 0x0634ad41 | (15 << 27) /* 0.387860541 */, | ||
1301 | /* 1198 */ 0x06367257 | (15 << 27) /* 0.388292637 */, | ||
1302 | /* 1199 */ 0x0638378d | (15 << 27) /* 0.388724854 */, | ||
1303 | |||
1304 | /* 1200 */ 0x0639fce4 | (15 << 27) /* 0.389157191 */, | ||
1305 | /* 1201 */ 0x063bc25b | (15 << 27) /* 0.389589648 */, | ||
1306 | /* 1202 */ 0x063d87f2 | (15 << 27) /* 0.390022225 */, | ||
1307 | /* 1203 */ 0x063f4da9 | (15 << 27) /* 0.390454922 */, | ||
1308 | /* 1204 */ 0x06411380 | (15 << 27) /* 0.390887739 */, | ||
1309 | /* 1205 */ 0x0642d978 | (15 << 27) /* 0.391320675 */, | ||
1310 | /* 1206 */ 0x06449f8f | (15 << 27) /* 0.391753732 */, | ||
1311 | /* 1207 */ 0x064665c7 | (15 << 27) /* 0.392186908 */, | ||
1312 | /* 1208 */ 0x06482c1f | (15 << 27) /* 0.392620204 */, | ||
1313 | /* 1209 */ 0x0649f297 | (15 << 27) /* 0.393053619 */, | ||
1314 | /* 1210 */ 0x064bb92f | (15 << 27) /* 0.393487154 */, | ||
1315 | /* 1211 */ 0x064d7fe8 | (15 << 27) /* 0.393920808 */, | ||
1316 | /* 1212 */ 0x064f46c0 | (15 << 27) /* 0.394354582 */, | ||
1317 | /* 1213 */ 0x06510db8 | (15 << 27) /* 0.394788475 */, | ||
1318 | /* 1214 */ 0x0652d4d0 | (15 << 27) /* 0.395222488 */, | ||
1319 | /* 1215 */ 0x06549c09 | (15 << 27) /* 0.395656619 */, | ||
1320 | |||
1321 | /* 1216 */ 0x06566361 | (15 << 27) /* 0.396090870 */, | ||
1322 | /* 1217 */ 0x06582ad9 | (15 << 27) /* 0.396525239 */, | ||
1323 | /* 1218 */ 0x0659f271 | (15 << 27) /* 0.396959728 */, | ||
1324 | /* 1219 */ 0x065bba29 | (15 << 27) /* 0.397394336 */, | ||
1325 | /* 1220 */ 0x065d8201 | (15 << 27) /* 0.397829062 */, | ||
1326 | /* 1221 */ 0x065f49f9 | (15 << 27) /* 0.398263907 */, | ||
1327 | /* 1222 */ 0x06611211 | (15 << 27) /* 0.398698871 */, | ||
1328 | /* 1223 */ 0x0662da49 | (15 << 27) /* 0.399133954 */, | ||
1329 | /* 1224 */ 0x0664a2a0 | (15 << 27) /* 0.399569155 */, | ||
1330 | /* 1225 */ 0x06666b17 | (15 << 27) /* 0.400004475 */, | ||
1331 | /* 1226 */ 0x066833ae | (15 << 27) /* 0.400439913 */, | ||
1332 | /* 1227 */ 0x0669fc65 | (15 << 27) /* 0.400875470 */, | ||
1333 | /* 1228 */ 0x066bc53c | (15 << 27) /* 0.401311145 */, | ||
1334 | /* 1229 */ 0x066d8e32 | (15 << 27) /* 0.401746938 */, | ||
1335 | /* 1230 */ 0x066f5748 | (15 << 27) /* 0.402182850 */, | ||
1336 | /* 1231 */ 0x0671207e | (15 << 27) /* 0.402618879 */, | ||
1337 | |||
1338 | /* 1232 */ 0x0672e9d4 | (15 << 27) /* 0.403055027 */, | ||
1339 | /* 1233 */ 0x0674b349 | (15 << 27) /* 0.403491293 */, | ||
1340 | /* 1234 */ 0x06767cde | (15 << 27) /* 0.403927676 */, | ||
1341 | /* 1235 */ 0x06784692 | (15 << 27) /* 0.404364178 */, | ||
1342 | /* 1236 */ 0x067a1066 | (15 << 27) /* 0.404800797 */, | ||
1343 | /* 1237 */ 0x067bda5a | (15 << 27) /* 0.405237535 */, | ||
1344 | /* 1238 */ 0x067da46d | (15 << 27) /* 0.405674390 */, | ||
1345 | /* 1239 */ 0x067f6ea0 | (15 << 27) /* 0.406111362 */, | ||
1346 | /* 1240 */ 0x068138f3 | (15 << 27) /* 0.406548452 */, | ||
1347 | /* 1241 */ 0x06830365 | (15 << 27) /* 0.406985660 */, | ||
1348 | /* 1242 */ 0x0684cdf6 | (15 << 27) /* 0.407422985 */, | ||
1349 | /* 1243 */ 0x068698a8 | (15 << 27) /* 0.407860427 */, | ||
1350 | /* 1244 */ 0x06886378 | (15 << 27) /* 0.408297987 */, | ||
1351 | /* 1245 */ 0x068a2e68 | (15 << 27) /* 0.408735664 */, | ||
1352 | /* 1246 */ 0x068bf978 | (15 << 27) /* 0.409173458 */, | ||
1353 | /* 1247 */ 0x068dc4a7 | (15 << 27) /* 0.409611370 */, | ||
1354 | |||
1355 | /* 1248 */ 0x068f8ff5 | (15 << 27) /* 0.410049398 */, | ||
1356 | /* 1249 */ 0x06915b63 | (15 << 27) /* 0.410487544 */, | ||
1357 | /* 1250 */ 0x069326f0 | (15 << 27) /* 0.410925806 */, | ||
1358 | /* 1251 */ 0x0694f29c | (15 << 27) /* 0.411364185 */, | ||
1359 | /* 1252 */ 0x0696be68 | (15 << 27) /* 0.411802681 */, | ||
1360 | /* 1253 */ 0x06988a54 | (15 << 27) /* 0.412241294 */, | ||
1361 | /* 1254 */ 0x069a565e | (15 << 27) /* 0.412680024 */, | ||
1362 | /* 1255 */ 0x069c2288 | (15 << 27) /* 0.413118870 */, | ||
1363 | /* 1256 */ 0x069deed1 | (15 << 27) /* 0.413557833 */, | ||
1364 | /* 1257 */ 0x069fbb3a | (15 << 27) /* 0.413996912 */, | ||
1365 | /* 1258 */ 0x06a187c1 | (15 << 27) /* 0.414436108 */, | ||
1366 | /* 1259 */ 0x06a35468 | (15 << 27) /* 0.414875420 */, | ||
1367 | /* 1260 */ 0x06a5212f | (15 << 27) /* 0.415314849 */, | ||
1368 | /* 1261 */ 0x06a6ee14 | (15 << 27) /* 0.415754393 */, | ||
1369 | /* 1262 */ 0x06a8bb18 | (15 << 27) /* 0.416194054 */, | ||
1370 | /* 1263 */ 0x06aa883c | (15 << 27) /* 0.416633831 */, | ||
1371 | |||
1372 | /* 1264 */ 0x06ac557f | (15 << 27) /* 0.417073724 */, | ||
1373 | /* 1265 */ 0x06ae22e1 | (15 << 27) /* 0.417513734 */, | ||
1374 | /* 1266 */ 0x06aff062 | (15 << 27) /* 0.417953859 */, | ||
1375 | /* 1267 */ 0x06b1be03 | (15 << 27) /* 0.418394100 */, | ||
1376 | /* 1268 */ 0x06b38bc2 | (15 << 27) /* 0.418834457 */, | ||
1377 | /* 1269 */ 0x06b559a1 | (15 << 27) /* 0.419274929 */, | ||
1378 | /* 1270 */ 0x06b7279e | (15 << 27) /* 0.419715518 */, | ||
1379 | /* 1271 */ 0x06b8f5bb | (15 << 27) /* 0.420156222 */, | ||
1380 | /* 1272 */ 0x06bac3f6 | (15 << 27) /* 0.420597041 */, | ||
1381 | /* 1273 */ 0x06bc9251 | (15 << 27) /* 0.421037977 */, | ||
1382 | /* 1274 */ 0x06be60cb | (15 << 27) /* 0.421479027 */, | ||
1383 | /* 1275 */ 0x06c02f63 | (15 << 27) /* 0.421920193 */, | ||
1384 | /* 1276 */ 0x06c1fe1b | (15 << 27) /* 0.422361475 */, | ||
1385 | /* 1277 */ 0x06c3ccf1 | (15 << 27) /* 0.422802871 */, | ||
1386 | /* 1278 */ 0x06c59be7 | (15 << 27) /* 0.423244383 */, | ||
1387 | /* 1279 */ 0x06c76afb | (15 << 27) /* 0.423686010 */, | ||
1388 | |||
1389 | /* 1280 */ 0x06c93a2e | (15 << 27) /* 0.424127753 */, | ||
1390 | /* 1281 */ 0x06cb0981 | (15 << 27) /* 0.424569610 */, | ||
1391 | /* 1282 */ 0x06ccd8f2 | (15 << 27) /* 0.425011582 */, | ||
1392 | /* 1283 */ 0x06cea881 | (15 << 27) /* 0.425453669 */, | ||
1393 | /* 1284 */ 0x06d07830 | (15 << 27) /* 0.425895871 */, | ||
1394 | /* 1285 */ 0x06d247fe | (15 << 27) /* 0.426338188 */, | ||
1395 | /* 1286 */ 0x06d417ea | (15 << 27) /* 0.426780620 */, | ||
1396 | /* 1287 */ 0x06d5e7f5 | (15 << 27) /* 0.427223166 */, | ||
1397 | /* 1288 */ 0x06d7b81f | (15 << 27) /* 0.427665827 */, | ||
1398 | /* 1289 */ 0x06d98868 | (15 << 27) /* 0.428108603 */, | ||
1399 | /* 1290 */ 0x06db58cf | (15 << 27) /* 0.428551493 */, | ||
1400 | /* 1291 */ 0x06dd2955 | (15 << 27) /* 0.428994497 */, | ||
1401 | /* 1292 */ 0x06def9fa | (15 << 27) /* 0.429437616 */, | ||
1402 | /* 1293 */ 0x06e0cabe | (15 << 27) /* 0.429880849 */, | ||
1403 | /* 1294 */ 0x06e29ba0 | (15 << 27) /* 0.430324197 */, | ||
1404 | /* 1295 */ 0x06e46ca1 | (15 << 27) /* 0.430767659 */, | ||
1405 | |||
1406 | /* 1296 */ 0x06e63dc0 | (15 << 27) /* 0.431211234 */, | ||
1407 | /* 1297 */ 0x06e80efe | (15 << 27) /* 0.431654924 */, | ||
1408 | /* 1298 */ 0x06e9e05b | (15 << 27) /* 0.432098728 */, | ||
1409 | /* 1299 */ 0x06ebb1d6 | (15 << 27) /* 0.432542647 */, | ||
1410 | /* 1300 */ 0x06ed8370 | (15 << 27) /* 0.432986678 */, | ||
1411 | /* 1301 */ 0x06ef5529 | (15 << 27) /* 0.433430824 */, | ||
1412 | /* 1302 */ 0x06f12700 | (15 << 27) /* 0.433875084 */, | ||
1413 | /* 1303 */ 0x06f2f8f5 | (15 << 27) /* 0.434319457 */, | ||
1414 | /* 1304 */ 0x06f4cb09 | (15 << 27) /* 0.434763944 */, | ||
1415 | /* 1305 */ 0x06f69d3c | (15 << 27) /* 0.435208545 */, | ||
1416 | /* 1306 */ 0x06f86f8d | (15 << 27) /* 0.435653259 */, | ||
1417 | /* 1307 */ 0x06fa41fd | (15 << 27) /* 0.436098087 */, | ||
1418 | /* 1308 */ 0x06fc148b | (15 << 27) /* 0.436543029 */, | ||
1419 | /* 1309 */ 0x06fde737 | (15 << 27) /* 0.436988083 */, | ||
1420 | /* 1310 */ 0x06ffba02 | (15 << 27) /* 0.437433251 */, | ||
1421 | /* 1311 */ 0x07018ceb | (15 << 27) /* 0.437878533 */, | ||
1422 | |||
1423 | /* 1312 */ 0x07035ff3 | (15 << 27) /* 0.438323927 */, | ||
1424 | /* 1313 */ 0x07053319 | (15 << 27) /* 0.438769435 */, | ||
1425 | /* 1314 */ 0x0707065d | (15 << 27) /* 0.439215056 */, | ||
1426 | /* 1315 */ 0x0708d9c0 | (15 << 27) /* 0.439660790 */, | ||
1427 | /* 1316 */ 0x070aad41 | (15 << 27) /* 0.440106636 */, | ||
1428 | /* 1317 */ 0x070c80e1 | (15 << 27) /* 0.440552596 */, | ||
1429 | /* 1318 */ 0x070e549f | (15 << 27) /* 0.440998669 */, | ||
1430 | /* 1319 */ 0x0710287b | (15 << 27) /* 0.441444855 */, | ||
1431 | /* 1320 */ 0x0711fc75 | (15 << 27) /* 0.441891153 */, | ||
1432 | /* 1321 */ 0x0713d08d | (15 << 27) /* 0.442337564 */, | ||
1433 | /* 1322 */ 0x0715a4c4 | (15 << 27) /* 0.442784088 */, | ||
1434 | /* 1323 */ 0x07177919 | (15 << 27) /* 0.443230724 */, | ||
1435 | /* 1324 */ 0x07194d8c | (15 << 27) /* 0.443677473 */, | ||
1436 | /* 1325 */ 0x071b221e | (15 << 27) /* 0.444124334 */, | ||
1437 | /* 1326 */ 0x071cf6ce | (15 << 27) /* 0.444571308 */, | ||
1438 | /* 1327 */ 0x071ecb9b | (15 << 27) /* 0.445018394 */, | ||
1439 | |||
1440 | /* 1328 */ 0x0720a087 | (15 << 27) /* 0.445465593 */, | ||
1441 | /* 1329 */ 0x07227591 | (15 << 27) /* 0.445912903 */, | ||
1442 | /* 1330 */ 0x07244ab9 | (15 << 27) /* 0.446360326 */, | ||
1443 | /* 1331 */ 0x07262000 | (15 << 27) /* 0.446807861 */, | ||
1444 | /* 1332 */ 0x0727f564 | (15 << 27) /* 0.447255509 */, | ||
1445 | /* 1333 */ 0x0729cae7 | (15 << 27) /* 0.447703268 */, | ||
1446 | /* 1334 */ 0x072ba087 | (15 << 27) /* 0.448151139 */, | ||
1447 | /* 1335 */ 0x072d7646 | (15 << 27) /* 0.448599122 */, | ||
1448 | /* 1336 */ 0x072f4c22 | (15 << 27) /* 0.449047217 */, | ||
1449 | /* 1337 */ 0x0731221d | (15 << 27) /* 0.449495424 */, | ||
1450 | /* 1338 */ 0x0732f835 | (15 << 27) /* 0.449943742 */, | ||
1451 | /* 1339 */ 0x0734ce6c | (15 << 27) /* 0.450392173 */, | ||
1452 | /* 1340 */ 0x0736a4c1 | (15 << 27) /* 0.450840715 */, | ||
1453 | /* 1341 */ 0x07387b33 | (15 << 27) /* 0.451289368 */, | ||
1454 | /* 1342 */ 0x073a51c4 | (15 << 27) /* 0.451738133 */, | ||
1455 | /* 1343 */ 0x073c2872 | (15 << 27) /* 0.452187010 */, | ||
1456 | |||
1457 | /* 1344 */ 0x073dff3e | (15 << 27) /* 0.452635998 */, | ||
1458 | /* 1345 */ 0x073fd628 | (15 << 27) /* 0.453085097 */, | ||
1459 | /* 1346 */ 0x0741ad30 | (15 << 27) /* 0.453534308 */, | ||
1460 | /* 1347 */ 0x07438456 | (15 << 27) /* 0.453983630 */, | ||
1461 | /* 1348 */ 0x07455b9a | (15 << 27) /* 0.454433063 */, | ||
1462 | /* 1349 */ 0x074732fc | (15 << 27) /* 0.454882607 */, | ||
1463 | /* 1350 */ 0x07490a7b | (15 << 27) /* 0.455332262 */, | ||
1464 | /* 1351 */ 0x074ae218 | (15 << 27) /* 0.455782029 */, | ||
1465 | /* 1352 */ 0x074cb9d3 | (15 << 27) /* 0.456231906 */, | ||
1466 | /* 1353 */ 0x074e91ac | (15 << 27) /* 0.456681894 */, | ||
1467 | /* 1354 */ 0x075069a3 | (15 << 27) /* 0.457131993 */, | ||
1468 | /* 1355 */ 0x075241b7 | (15 << 27) /* 0.457582203 */, | ||
1469 | /* 1356 */ 0x075419e9 | (15 << 27) /* 0.458032524 */, | ||
1470 | /* 1357 */ 0x0755f239 | (15 << 27) /* 0.458482956 */, | ||
1471 | /* 1358 */ 0x0757caa7 | (15 << 27) /* 0.458933498 */, | ||
1472 | /* 1359 */ 0x0759a332 | (15 << 27) /* 0.459384151 */, | ||
1473 | |||
1474 | /* 1360 */ 0x075b7bdb | (15 << 27) /* 0.459834914 */, | ||
1475 | /* 1361 */ 0x075d54a1 | (15 << 27) /* 0.460285788 */, | ||
1476 | /* 1362 */ 0x075f2d85 | (15 << 27) /* 0.460736772 */, | ||
1477 | /* 1363 */ 0x07610687 | (15 << 27) /* 0.461187867 */, | ||
1478 | /* 1364 */ 0x0762dfa6 | (15 << 27) /* 0.461639071 */, | ||
1479 | /* 1365 */ 0x0764b8e3 | (15 << 27) /* 0.462090387 */, | ||
1480 | /* 1366 */ 0x0766923e | (15 << 27) /* 0.462541812 */, | ||
1481 | /* 1367 */ 0x07686bb6 | (15 << 27) /* 0.462993348 */, | ||
1482 | /* 1368 */ 0x076a454c | (15 << 27) /* 0.463444993 */, | ||
1483 | /* 1369 */ 0x076c1eff | (15 << 27) /* 0.463896749 */, | ||
1484 | /* 1370 */ 0x076df8d0 | (15 << 27) /* 0.464348615 */, | ||
1485 | /* 1371 */ 0x076fd2be | (15 << 27) /* 0.464800591 */, | ||
1486 | /* 1372 */ 0x0771acca | (15 << 27) /* 0.465252676 */, | ||
1487 | /* 1373 */ 0x077386f3 | (15 << 27) /* 0.465704872 */, | ||
1488 | /* 1374 */ 0x0775613a | (15 << 27) /* 0.466157177 */, | ||
1489 | /* 1375 */ 0x07773b9e | (15 << 27) /* 0.466609592 */, | ||
1490 | |||
1491 | /* 1376 */ 0x07791620 | (15 << 27) /* 0.467062117 */, | ||
1492 | /* 1377 */ 0x077af0bf | (15 << 27) /* 0.467514751 */, | ||
1493 | /* 1378 */ 0x077ccb7c | (15 << 27) /* 0.467967495 */, | ||
1494 | /* 1379 */ 0x077ea656 | (15 << 27) /* 0.468420349 */, | ||
1495 | /* 1380 */ 0x0780814d | (15 << 27) /* 0.468873312 */, | ||
1496 | /* 1381 */ 0x07825c62 | (15 << 27) /* 0.469326384 */, | ||
1497 | /* 1382 */ 0x07843794 | (15 << 27) /* 0.469779566 */, | ||
1498 | /* 1383 */ 0x078612e3 | (15 << 27) /* 0.470232857 */, | ||
1499 | /* 1384 */ 0x0787ee50 | (15 << 27) /* 0.470686258 */, | ||
1500 | /* 1385 */ 0x0789c9da | (15 << 27) /* 0.471139767 */, | ||
1501 | /* 1386 */ 0x078ba581 | (15 << 27) /* 0.471593386 */, | ||
1502 | /* 1387 */ 0x078d8146 | (15 << 27) /* 0.472047114 */, | ||
1503 | /* 1388 */ 0x078f5d28 | (15 << 27) /* 0.472500951 */, | ||
1504 | /* 1389 */ 0x07913927 | (15 << 27) /* 0.472954896 */, | ||
1505 | /* 1390 */ 0x07931543 | (15 << 27) /* 0.473408951 */, | ||
1506 | /* 1391 */ 0x0794f17d | (15 << 27) /* 0.473863115 */, | ||
1507 | |||
1508 | /* 1392 */ 0x0796cdd4 | (15 << 27) /* 0.474317388 */, | ||
1509 | /* 1393 */ 0x0798aa48 | (15 << 27) /* 0.474771769 */, | ||
1510 | /* 1394 */ 0x079a86d9 | (15 << 27) /* 0.475226259 */, | ||
1511 | /* 1395 */ 0x079c6388 | (15 << 27) /* 0.475680858 */, | ||
1512 | /* 1396 */ 0x079e4053 | (15 << 27) /* 0.476135565 */, | ||
1513 | /* 1397 */ 0x07a01d3c | (15 << 27) /* 0.476590381 */, | ||
1514 | /* 1398 */ 0x07a1fa42 | (15 << 27) /* 0.477045306 */, | ||
1515 | /* 1399 */ 0x07a3d765 | (15 << 27) /* 0.477500339 */, | ||
1516 | /* 1400 */ 0x07a5b4a5 | (15 << 27) /* 0.477955481 */, | ||
1517 | /* 1401 */ 0x07a79202 | (15 << 27) /* 0.478410731 */, | ||
1518 | /* 1402 */ 0x07a96f7d | (15 << 27) /* 0.478866089 */, | ||
1519 | /* 1403 */ 0x07ab4d14 | (15 << 27) /* 0.479321555 */, | ||
1520 | /* 1404 */ 0x07ad2ac8 | (15 << 27) /* 0.479777130 */, | ||
1521 | /* 1405 */ 0x07af089a | (15 << 27) /* 0.480232813 */, | ||
1522 | /* 1406 */ 0x07b0e688 | (15 << 27) /* 0.480688604 */, | ||
1523 | /* 1407 */ 0x07b2c494 | (15 << 27) /* 0.481144503 */, | ||
1524 | |||
1525 | /* 1408 */ 0x07b4a2bc | (15 << 27) /* 0.481600510 */, | ||
1526 | /* 1409 */ 0x07b68102 | (15 << 27) /* 0.482056625 */, | ||
1527 | /* 1410 */ 0x07b85f64 | (15 << 27) /* 0.482512848 */, | ||
1528 | /* 1411 */ 0x07ba3de4 | (15 << 27) /* 0.482969179 */, | ||
1529 | /* 1412 */ 0x07bc1c80 | (15 << 27) /* 0.483425618 */, | ||
1530 | /* 1413 */ 0x07bdfb39 | (15 << 27) /* 0.483882164 */, | ||
1531 | /* 1414 */ 0x07bfda0f | (15 << 27) /* 0.484338818 */, | ||
1532 | /* 1415 */ 0x07c1b902 | (15 << 27) /* 0.484795580 */, | ||
1533 | /* 1416 */ 0x07c39812 | (15 << 27) /* 0.485252449 */, | ||
1534 | /* 1417 */ 0x07c5773f | (15 << 27) /* 0.485709426 */, | ||
1535 | /* 1418 */ 0x07c75689 | (15 << 27) /* 0.486166511 */, | ||
1536 | /* 1419 */ 0x07c935ef | (15 << 27) /* 0.486623703 */, | ||
1537 | /* 1420 */ 0x07cb1573 | (15 << 27) /* 0.487081002 */, | ||
1538 | /* 1421 */ 0x07ccf513 | (15 << 27) /* 0.487538409 */, | ||
1539 | /* 1422 */ 0x07ced4d0 | (15 << 27) /* 0.487995923 */, | ||
1540 | /* 1423 */ 0x07d0b4aa | (15 << 27) /* 0.488453544 */, | ||
1541 | |||
1542 | /* 1424 */ 0x07d294a0 | (15 << 27) /* 0.488911273 */, | ||
1543 | /* 1425 */ 0x07d474b3 | (15 << 27) /* 0.489369108 */, | ||
1544 | /* 1426 */ 0x07d654e4 | (15 << 27) /* 0.489827051 */, | ||
1545 | /* 1427 */ 0x07d83530 | (15 << 27) /* 0.490285101 */, | ||
1546 | /* 1428 */ 0x07da159a | (15 << 27) /* 0.490743258 */, | ||
1547 | /* 1429 */ 0x07dbf620 | (15 << 27) /* 0.491201522 */, | ||
1548 | /* 1430 */ 0x07ddd6c3 | (15 << 27) /* 0.491659892 */, | ||
1549 | /* 1431 */ 0x07dfb783 | (15 << 27) /* 0.492118370 */, | ||
1550 | /* 1432 */ 0x07e1985f | (15 << 27) /* 0.492576954 */, | ||
1551 | /* 1433 */ 0x07e37958 | (15 << 27) /* 0.493035645 */, | ||
1552 | /* 1434 */ 0x07e55a6e | (15 << 27) /* 0.493494443 */, | ||
1553 | /* 1435 */ 0x07e73ba0 | (15 << 27) /* 0.493953348 */, | ||
1554 | /* 1436 */ 0x07e91cef | (15 << 27) /* 0.494412359 */, | ||
1555 | /* 1437 */ 0x07eafe5a | (15 << 27) /* 0.494871476 */, | ||
1556 | /* 1438 */ 0x07ecdfe2 | (15 << 27) /* 0.495330701 */, | ||
1557 | /* 1439 */ 0x07eec187 | (15 << 27) /* 0.495790031 */, | ||
1558 | |||
1559 | /* 1440 */ 0x07f0a348 | (15 << 27) /* 0.496249468 */, | ||
1560 | /* 1441 */ 0x07f28526 | (15 << 27) /* 0.496709012 */, | ||
1561 | /* 1442 */ 0x07f46720 | (15 << 27) /* 0.497168662 */, | ||
1562 | /* 1443 */ 0x07f64937 | (15 << 27) /* 0.497628418 */, | ||
1563 | /* 1444 */ 0x07f82b6a | (15 << 27) /* 0.498088280 */, | ||
1564 | /* 1445 */ 0x07fa0dba | (15 << 27) /* 0.498548248 */, | ||
1565 | /* 1446 */ 0x07fbf026 | (15 << 27) /* 0.499008323 */, | ||
1566 | /* 1447 */ 0x07fdd2af | (15 << 27) /* 0.499468503 */, | ||
1567 | /* 1448 */ 0x07ffb554 | (15 << 27) /* 0.499928790 */, | ||
1568 | /* 1449 */ 0x0400cc0b | (16 << 27) /* 0.250194591 */, | ||
1569 | /* 1450 */ 0x0401bd7a | (16 << 27) /* 0.250424840 */, | ||
1570 | /* 1451 */ 0x0402aef7 | (16 << 27) /* 0.250655143 */, | ||
1571 | /* 1452 */ 0x0403a083 | (16 << 27) /* 0.250885498 */, | ||
1572 | /* 1453 */ 0x0404921c | (16 << 27) /* 0.251115906 */, | ||
1573 | /* 1454 */ 0x040583c4 | (16 << 27) /* 0.251346367 */, | ||
1574 | /* 1455 */ 0x0406757a | (16 << 27) /* 0.251576880 */, | ||
1575 | |||
1576 | /* 1456 */ 0x0407673f | (16 << 27) /* 0.251807447 */, | ||
1577 | /* 1457 */ 0x04085911 | (16 << 27) /* 0.252038066 */, | ||
1578 | /* 1458 */ 0x04094af1 | (16 << 27) /* 0.252268738 */, | ||
1579 | /* 1459 */ 0x040a3ce0 | (16 << 27) /* 0.252499463 */, | ||
1580 | /* 1460 */ 0x040b2edd | (16 << 27) /* 0.252730240 */, | ||
1581 | /* 1461 */ 0x040c20e8 | (16 << 27) /* 0.252961071 */, | ||
1582 | /* 1462 */ 0x040d1301 | (16 << 27) /* 0.253191953 */, | ||
1583 | /* 1463 */ 0x040e0529 | (16 << 27) /* 0.253422889 */, | ||
1584 | /* 1464 */ 0x040ef75e | (16 << 27) /* 0.253653877 */, | ||
1585 | /* 1465 */ 0x040fe9a1 | (16 << 27) /* 0.253884918 */, | ||
1586 | /* 1466 */ 0x0410dbf3 | (16 << 27) /* 0.254116011 */, | ||
1587 | /* 1467 */ 0x0411ce53 | (16 << 27) /* 0.254347157 */, | ||
1588 | /* 1468 */ 0x0412c0c1 | (16 << 27) /* 0.254578356 */, | ||
1589 | /* 1469 */ 0x0413b33d | (16 << 27) /* 0.254809606 */, | ||
1590 | /* 1470 */ 0x0414a5c7 | (16 << 27) /* 0.255040910 */, | ||
1591 | /* 1471 */ 0x0415985f | (16 << 27) /* 0.255272266 */, | ||
1592 | |||
1593 | /* 1472 */ 0x04168b05 | (16 << 27) /* 0.255503674 */, | ||
1594 | /* 1473 */ 0x04177db9 | (16 << 27) /* 0.255735135 */, | ||
1595 | /* 1474 */ 0x0418707c | (16 << 27) /* 0.255966648 */, | ||
1596 | /* 1475 */ 0x0419634c | (16 << 27) /* 0.256198213 */, | ||
1597 | /* 1476 */ 0x041a562a | (16 << 27) /* 0.256429831 */, | ||
1598 | /* 1477 */ 0x041b4917 | (16 << 27) /* 0.256661501 */, | ||
1599 | /* 1478 */ 0x041c3c11 | (16 << 27) /* 0.256893223 */, | ||
1600 | /* 1479 */ 0x041d2f1a | (16 << 27) /* 0.257124998 */, | ||
1601 | /* 1480 */ 0x041e2230 | (16 << 27) /* 0.257356825 */, | ||
1602 | /* 1481 */ 0x041f1555 | (16 << 27) /* 0.257588704 */, | ||
1603 | /* 1482 */ 0x04200888 | (16 << 27) /* 0.257820635 */, | ||
1604 | /* 1483 */ 0x0420fbc8 | (16 << 27) /* 0.258052619 */, | ||
1605 | /* 1484 */ 0x0421ef17 | (16 << 27) /* 0.258284654 */, | ||
1606 | /* 1485 */ 0x0422e273 | (16 << 27) /* 0.258516742 */, | ||
1607 | /* 1486 */ 0x0423d5de | (16 << 27) /* 0.258748882 */, | ||
1608 | /* 1487 */ 0x0424c956 | (16 << 27) /* 0.258981074 */, | ||
1609 | |||
1610 | /* 1488 */ 0x0425bcdd | (16 << 27) /* 0.259213318 */, | ||
1611 | /* 1489 */ 0x0426b071 | (16 << 27) /* 0.259445614 */, | ||
1612 | /* 1490 */ 0x0427a414 | (16 << 27) /* 0.259677962 */, | ||
1613 | /* 1491 */ 0x042897c4 | (16 << 27) /* 0.259910362 */, | ||
1614 | /* 1492 */ 0x04298b83 | (16 << 27) /* 0.260142814 */, | ||
1615 | /* 1493 */ 0x042a7f4f | (16 << 27) /* 0.260375318 */, | ||
1616 | /* 1494 */ 0x042b7329 | (16 << 27) /* 0.260607874 */, | ||
1617 | /* 1495 */ 0x042c6711 | (16 << 27) /* 0.260840481 */, | ||
1618 | /* 1496 */ 0x042d5b07 | (16 << 27) /* 0.261073141 */, | ||
1619 | /* 1497 */ 0x042e4f0b | (16 << 27) /* 0.261305852 */, | ||
1620 | /* 1498 */ 0x042f431d | (16 << 27) /* 0.261538616 */, | ||
1621 | /* 1499 */ 0x0430373d | (16 << 27) /* 0.261771431 */, | ||
1622 | /* 1500 */ 0x04312b6b | (16 << 27) /* 0.262004297 */, | ||
1623 | /* 1501 */ 0x04321fa6 | (16 << 27) /* 0.262237216 */, | ||
1624 | /* 1502 */ 0x043313f0 | (16 << 27) /* 0.262470186 */, | ||
1625 | /* 1503 */ 0x04340847 | (16 << 27) /* 0.262703208 */, | ||
1626 | |||
1627 | /* 1504 */ 0x0434fcad | (16 << 27) /* 0.262936282 */, | ||
1628 | /* 1505 */ 0x0435f120 | (16 << 27) /* 0.263169407 */, | ||
1629 | /* 1506 */ 0x0436e5a1 | (16 << 27) /* 0.263402584 */, | ||
1630 | /* 1507 */ 0x0437da2f | (16 << 27) /* 0.263635813 */, | ||
1631 | /* 1508 */ 0x0438cecc | (16 << 27) /* 0.263869093 */, | ||
1632 | /* 1509 */ 0x0439c377 | (16 << 27) /* 0.264102425 */, | ||
1633 | /* 1510 */ 0x043ab82f | (16 << 27) /* 0.264335808 */, | ||
1634 | /* 1511 */ 0x043bacf5 | (16 << 27) /* 0.264569243 */, | ||
1635 | /* 1512 */ 0x043ca1c9 | (16 << 27) /* 0.264802730 */, | ||
1636 | /* 1513 */ 0x043d96ab | (16 << 27) /* 0.265036267 */, | ||
1637 | /* 1514 */ 0x043e8b9b | (16 << 27) /* 0.265269857 */, | ||
1638 | /* 1515 */ 0x043f8098 | (16 << 27) /* 0.265503498 */, | ||
1639 | /* 1516 */ 0x044075a3 | (16 << 27) /* 0.265737190 */, | ||
1640 | /* 1517 */ 0x04416abc | (16 << 27) /* 0.265970933 */, | ||
1641 | /* 1518 */ 0x04425fe3 | (16 << 27) /* 0.266204728 */, | ||
1642 | /* 1519 */ 0x04435518 | (16 << 27) /* 0.266438574 */, | ||
1643 | |||
1644 | /* 1520 */ 0x04444a5a | (16 << 27) /* 0.266672472 */, | ||
1645 | /* 1521 */ 0x04453fab | (16 << 27) /* 0.266906421 */, | ||
1646 | /* 1522 */ 0x04463508 | (16 << 27) /* 0.267140421 */, | ||
1647 | /* 1523 */ 0x04472a74 | (16 << 27) /* 0.267374472 */, | ||
1648 | /* 1524 */ 0x04481fee | (16 << 27) /* 0.267608575 */, | ||
1649 | /* 1525 */ 0x04491575 | (16 << 27) /* 0.267842729 */, | ||
1650 | /* 1526 */ 0x044a0b0a | (16 << 27) /* 0.268076934 */, | ||
1651 | /* 1527 */ 0x044b00ac | (16 << 27) /* 0.268311190 */, | ||
1652 | /* 1528 */ 0x044bf65d | (16 << 27) /* 0.268545497 */, | ||
1653 | /* 1529 */ 0x044cec1b | (16 << 27) /* 0.268779856 */, | ||
1654 | /* 1530 */ 0x044de1e7 | (16 << 27) /* 0.269014265 */, | ||
1655 | /* 1531 */ 0x044ed7c0 | (16 << 27) /* 0.269248726 */, | ||
1656 | /* 1532 */ 0x044fcda8 | (16 << 27) /* 0.269483238 */, | ||
1657 | /* 1533 */ 0x0450c39c | (16 << 27) /* 0.269717800 */, | ||
1658 | /* 1534 */ 0x0451b99f | (16 << 27) /* 0.269952414 */, | ||
1659 | /* 1535 */ 0x0452afaf | (16 << 27) /* 0.270187079 */, | ||
1660 | |||
1661 | /* 1536 */ 0x0453a5cd | (16 << 27) /* 0.270421794 */, | ||
1662 | /* 1537 */ 0x04549bf9 | (16 << 27) /* 0.270656561 */, | ||
1663 | /* 1538 */ 0x04559232 | (16 << 27) /* 0.270891379 */, | ||
1664 | /* 1539 */ 0x04568879 | (16 << 27) /* 0.271126247 */, | ||
1665 | /* 1540 */ 0x04577ece | (16 << 27) /* 0.271361166 */, | ||
1666 | /* 1541 */ 0x04587530 | (16 << 27) /* 0.271596136 */, | ||
1667 | /* 1542 */ 0x04596ba0 | (16 << 27) /* 0.271831157 */, | ||
1668 | /* 1543 */ 0x045a621e | (16 << 27) /* 0.272066229 */, | ||
1669 | /* 1544 */ 0x045b58a9 | (16 << 27) /* 0.272301352 */, | ||
1670 | /* 1545 */ 0x045c4f42 | (16 << 27) /* 0.272536525 */, | ||
1671 | /* 1546 */ 0x045d45e9 | (16 << 27) /* 0.272771749 */, | ||
1672 | /* 1547 */ 0x045e3c9d | (16 << 27) /* 0.273007024 */, | ||
1673 | /* 1548 */ 0x045f335e | (16 << 27) /* 0.273242350 */, | ||
1674 | /* 1549 */ 0x04602a2e | (16 << 27) /* 0.273477726 */, | ||
1675 | /* 1550 */ 0x0461210b | (16 << 27) /* 0.273713153 */, | ||
1676 | /* 1551 */ 0x046217f5 | (16 << 27) /* 0.273948630 */, | ||
1677 | |||
1678 | /* 1552 */ 0x04630eed | (16 << 27) /* 0.274184158 */, | ||
1679 | /* 1553 */ 0x046405f3 | (16 << 27) /* 0.274419737 */, | ||
1680 | /* 1554 */ 0x0464fd06 | (16 << 27) /* 0.274655366 */, | ||
1681 | /* 1555 */ 0x0465f427 | (16 << 27) /* 0.274891046 */, | ||
1682 | /* 1556 */ 0x0466eb55 | (16 << 27) /* 0.275126776 */, | ||
1683 | /* 1557 */ 0x0467e291 | (16 << 27) /* 0.275362557 */, | ||
1684 | /* 1558 */ 0x0468d9db | (16 << 27) /* 0.275598389 */, | ||
1685 | /* 1559 */ 0x0469d132 | (16 << 27) /* 0.275834270 */, | ||
1686 | /* 1560 */ 0x046ac896 | (16 << 27) /* 0.276070203 */, | ||
1687 | /* 1561 */ 0x046bc009 | (16 << 27) /* 0.276306185 */, | ||
1688 | /* 1562 */ 0x046cb788 | (16 << 27) /* 0.276542218 */, | ||
1689 | /* 1563 */ 0x046daf15 | (16 << 27) /* 0.276778302 */, | ||
1690 | /* 1564 */ 0x046ea6b0 | (16 << 27) /* 0.277014435 */, | ||
1691 | /* 1565 */ 0x046f9e58 | (16 << 27) /* 0.277250619 */, | ||
1692 | /* 1566 */ 0x0470960e | (16 << 27) /* 0.277486854 */, | ||
1693 | /* 1567 */ 0x04718dd1 | (16 << 27) /* 0.277723139 */, | ||
1694 | |||
1695 | /* 1568 */ 0x047285a2 | (16 << 27) /* 0.277959474 */, | ||
1696 | /* 1569 */ 0x04737d80 | (16 << 27) /* 0.278195859 */, | ||
1697 | /* 1570 */ 0x0474756c | (16 << 27) /* 0.278432294 */, | ||
1698 | /* 1571 */ 0x04756d65 | (16 << 27) /* 0.278668780 */, | ||
1699 | /* 1572 */ 0x0476656b | (16 << 27) /* 0.278905316 */, | ||
1700 | /* 1573 */ 0x04775d7f | (16 << 27) /* 0.279141902 */, | ||
1701 | /* 1574 */ 0x047855a1 | (16 << 27) /* 0.279378538 */, | ||
1702 | /* 1575 */ 0x04794dd0 | (16 << 27) /* 0.279615224 */, | ||
1703 | /* 1576 */ 0x047a460c | (16 << 27) /* 0.279851960 */, | ||
1704 | /* 1577 */ 0x047b3e56 | (16 << 27) /* 0.280088747 */, | ||
1705 | /* 1578 */ 0x047c36ae | (16 << 27) /* 0.280325583 */, | ||
1706 | /* 1579 */ 0x047d2f12 | (16 << 27) /* 0.280562470 */, | ||
1707 | /* 1580 */ 0x047e2784 | (16 << 27) /* 0.280799406 */, | ||
1708 | /* 1581 */ 0x047f2004 | (16 << 27) /* 0.281036393 */, | ||
1709 | /* 1582 */ 0x04801891 | (16 << 27) /* 0.281273429 */, | ||
1710 | /* 1583 */ 0x0481112b | (16 << 27) /* 0.281510516 */, | ||
1711 | |||
1712 | /* 1584 */ 0x048209d3 | (16 << 27) /* 0.281747652 */, | ||
1713 | /* 1585 */ 0x04830288 | (16 << 27) /* 0.281984838 */, | ||
1714 | /* 1586 */ 0x0483fb4b | (16 << 27) /* 0.282222075 */, | ||
1715 | /* 1587 */ 0x0484f41b | (16 << 27) /* 0.282459361 */, | ||
1716 | /* 1588 */ 0x0485ecf8 | (16 << 27) /* 0.282696697 */, | ||
1717 | /* 1589 */ 0x0486e5e3 | (16 << 27) /* 0.282934082 */, | ||
1718 | /* 1590 */ 0x0487dedb | (16 << 27) /* 0.283171518 */, | ||
1719 | /* 1591 */ 0x0488d7e1 | (16 << 27) /* 0.283409003 */, | ||
1720 | /* 1592 */ 0x0489d0f4 | (16 << 27) /* 0.283646538 */, | ||
1721 | /* 1593 */ 0x048aca14 | (16 << 27) /* 0.283884123 */, | ||
1722 | /* 1594 */ 0x048bc341 | (16 << 27) /* 0.284121757 */, | ||
1723 | /* 1595 */ 0x048cbc7c | (16 << 27) /* 0.284359441 */, | ||
1724 | /* 1596 */ 0x048db5c4 | (16 << 27) /* 0.284597175 */, | ||
1725 | /* 1597 */ 0x048eaf1a | (16 << 27) /* 0.284834959 */, | ||
1726 | /* 1598 */ 0x048fa87d | (16 << 27) /* 0.285072792 */, | ||
1727 | /* 1599 */ 0x0490a1ed | (16 << 27) /* 0.285310675 */, | ||
1728 | |||
1729 | /* 1600 */ 0x04919b6a | (16 << 27) /* 0.285548607 */, | ||
1730 | /* 1601 */ 0x049294f5 | (16 << 27) /* 0.285786589 */, | ||
1731 | /* 1602 */ 0x04938e8d | (16 << 27) /* 0.286024621 */, | ||
1732 | /* 1603 */ 0x04948833 | (16 << 27) /* 0.286262702 */, | ||
1733 | /* 1604 */ 0x049581e5 | (16 << 27) /* 0.286500832 */, | ||
1734 | /* 1605 */ 0x04967ba5 | (16 << 27) /* 0.286739012 */, | ||
1735 | /* 1606 */ 0x04977573 | (16 << 27) /* 0.286977242 */, | ||
1736 | /* 1607 */ 0x04986f4d | (16 << 27) /* 0.287215521 */, | ||
1737 | /* 1608 */ 0x04996935 | (16 << 27) /* 0.287453849 */, | ||
1738 | /* 1609 */ 0x049a632a | (16 << 27) /* 0.287692227 */, | ||
1739 | /* 1610 */ 0x049b5d2c | (16 << 27) /* 0.287930654 */, | ||
1740 | /* 1611 */ 0x049c573c | (16 << 27) /* 0.288169131 */, | ||
1741 | /* 1612 */ 0x049d5159 | (16 << 27) /* 0.288407657 */, | ||
1742 | /* 1613 */ 0x049e4b83 | (16 << 27) /* 0.288646232 */, | ||
1743 | /* 1614 */ 0x049f45ba | (16 << 27) /* 0.288884857 */, | ||
1744 | /* 1615 */ 0x04a03ffe | (16 << 27) /* 0.289123530 */, | ||
1745 | |||
1746 | /* 1616 */ 0x04a13a50 | (16 << 27) /* 0.289362253 */, | ||
1747 | /* 1617 */ 0x04a234af | (16 << 27) /* 0.289601026 */, | ||
1748 | /* 1618 */ 0x04a32f1b | (16 << 27) /* 0.289839847 */, | ||
1749 | /* 1619 */ 0x04a42995 | (16 << 27) /* 0.290078718 */, | ||
1750 | /* 1620 */ 0x04a5241b | (16 << 27) /* 0.290317638 */, | ||
1751 | /* 1621 */ 0x04a61eaf | (16 << 27) /* 0.290556607 */, | ||
1752 | /* 1622 */ 0x04a71950 | (16 << 27) /* 0.290795626 */, | ||
1753 | /* 1623 */ 0x04a813fe | (16 << 27) /* 0.291034693 */, | ||
1754 | /* 1624 */ 0x04a90eba | (16 << 27) /* 0.291273810 */, | ||
1755 | /* 1625 */ 0x04aa0982 | (16 << 27) /* 0.291512975 */, | ||
1756 | /* 1626 */ 0x04ab0458 | (16 << 27) /* 0.291752190 */, | ||
1757 | /* 1627 */ 0x04abff3b | (16 << 27) /* 0.291991453 */, | ||
1758 | /* 1628 */ 0x04acfa2b | (16 << 27) /* 0.292230766 */, | ||
1759 | /* 1629 */ 0x04adf528 | (16 << 27) /* 0.292470128 */, | ||
1760 | /* 1630 */ 0x04aef032 | (16 << 27) /* 0.292709539 */, | ||
1761 | /* 1631 */ 0x04afeb4a | (16 << 27) /* 0.292948998 */, | ||
1762 | |||
1763 | /* 1632 */ 0x04b0e66e | (16 << 27) /* 0.293188507 */, | ||
1764 | /* 1633 */ 0x04b1e1a0 | (16 << 27) /* 0.293428065 */, | ||
1765 | /* 1634 */ 0x04b2dcdf | (16 << 27) /* 0.293667671 */, | ||
1766 | /* 1635 */ 0x04b3d82b | (16 << 27) /* 0.293907326 */, | ||
1767 | /* 1636 */ 0x04b4d384 | (16 << 27) /* 0.294147031 */, | ||
1768 | /* 1637 */ 0x04b5ceea | (16 << 27) /* 0.294386784 */, | ||
1769 | /* 1638 */ 0x04b6ca5e | (16 << 27) /* 0.294626585 */, | ||
1770 | /* 1639 */ 0x04b7c5de | (16 << 27) /* 0.294866436 */, | ||
1771 | /* 1640 */ 0x04b8c16c | (16 << 27) /* 0.295106336 */, | ||
1772 | /* 1641 */ 0x04b9bd06 | (16 << 27) /* 0.295346284 */, | ||
1773 | /* 1642 */ 0x04bab8ae | (16 << 27) /* 0.295586281 */, | ||
1774 | /* 1643 */ 0x04bbb463 | (16 << 27) /* 0.295826327 */, | ||
1775 | /* 1644 */ 0x04bcb024 | (16 << 27) /* 0.296066421 */, | ||
1776 | /* 1645 */ 0x04bdabf3 | (16 << 27) /* 0.296306564 */, | ||
1777 | /* 1646 */ 0x04bea7cf | (16 << 27) /* 0.296546756 */, | ||
1778 | /* 1647 */ 0x04bfa3b8 | (16 << 27) /* 0.296786996 */, | ||
1779 | |||
1780 | /* 1648 */ 0x04c09faf | (16 << 27) /* 0.297027285 */, | ||
1781 | /* 1649 */ 0x04c19bb2 | (16 << 27) /* 0.297267623 */, | ||
1782 | /* 1650 */ 0x04c297c2 | (16 << 27) /* 0.297508009 */, | ||
1783 | /* 1651 */ 0x04c393df | (16 << 27) /* 0.297748444 */, | ||
1784 | /* 1652 */ 0x04c49009 | (16 << 27) /* 0.297988927 */, | ||
1785 | /* 1653 */ 0x04c58c41 | (16 << 27) /* 0.298229459 */, | ||
1786 | /* 1654 */ 0x04c68885 | (16 << 27) /* 0.298470039 */, | ||
1787 | /* 1655 */ 0x04c784d6 | (16 << 27) /* 0.298710668 */, | ||
1788 | /* 1656 */ 0x04c88135 | (16 << 27) /* 0.298951346 */, | ||
1789 | /* 1657 */ 0x04c97da0 | (16 << 27) /* 0.299192071 */, | ||
1790 | /* 1658 */ 0x04ca7a18 | (16 << 27) /* 0.299432846 */, | ||
1791 | /* 1659 */ 0x04cb769e | (16 << 27) /* 0.299673668 */, | ||
1792 | /* 1660 */ 0x04cc7330 | (16 << 27) /* 0.299914539 */, | ||
1793 | /* 1661 */ 0x04cd6fcf | (16 << 27) /* 0.300155459 */, | ||
1794 | /* 1662 */ 0x04ce6c7b | (16 << 27) /* 0.300396426 */, | ||
1795 | /* 1663 */ 0x04cf6935 | (16 << 27) /* 0.300637443 */, | ||
1796 | |||
1797 | /* 1664 */ 0x04d065fb | (16 << 27) /* 0.300878507 */, | ||
1798 | /* 1665 */ 0x04d162ce | (16 << 27) /* 0.301119620 */, | ||
1799 | /* 1666 */ 0x04d25fae | (16 << 27) /* 0.301360781 */, | ||
1800 | /* 1667 */ 0x04d35c9b | (16 << 27) /* 0.301601990 */, | ||
1801 | /* 1668 */ 0x04d45995 | (16 << 27) /* 0.301843247 */, | ||
1802 | /* 1669 */ 0x04d5569c | (16 << 27) /* 0.302084553 */, | ||
1803 | /* 1670 */ 0x04d653b0 | (16 << 27) /* 0.302325907 */, | ||
1804 | /* 1671 */ 0x04d750d1 | (16 << 27) /* 0.302567309 */, | ||
1805 | /* 1672 */ 0x04d84dff | (16 << 27) /* 0.302808759 */, | ||
1806 | /* 1673 */ 0x04d94b3a | (16 << 27) /* 0.303050257 */, | ||
1807 | /* 1674 */ 0x04da4881 | (16 << 27) /* 0.303291804 */, | ||
1808 | /* 1675 */ 0x04db45d6 | (16 << 27) /* 0.303533399 */, | ||
1809 | /* 1676 */ 0x04dc4337 | (16 << 27) /* 0.303775041 */, | ||
1810 | /* 1677 */ 0x04dd40a6 | (16 << 27) /* 0.304016732 */, | ||
1811 | /* 1678 */ 0x04de3e21 | (16 << 27) /* 0.304258471 */, | ||
1812 | /* 1679 */ 0x04df3ba9 | (16 << 27) /* 0.304500257 */, | ||
1813 | |||
1814 | /* 1680 */ 0x04e0393e | (16 << 27) /* 0.304742092 */, | ||
1815 | /* 1681 */ 0x04e136e0 | (16 << 27) /* 0.304983975 */, | ||
1816 | /* 1682 */ 0x04e2348f | (16 << 27) /* 0.305225906 */, | ||
1817 | /* 1683 */ 0x04e3324b | (16 << 27) /* 0.305467885 */, | ||
1818 | /* 1684 */ 0x04e43013 | (16 << 27) /* 0.305709911 */, | ||
1819 | /* 1685 */ 0x04e52de9 | (16 << 27) /* 0.305951986 */, | ||
1820 | /* 1686 */ 0x04e62bcb | (16 << 27) /* 0.306194108 */, | ||
1821 | /* 1687 */ 0x04e729ba | (16 << 27) /* 0.306436279 */, | ||
1822 | /* 1688 */ 0x04e827b6 | (16 << 27) /* 0.306678497 */, | ||
1823 | /* 1689 */ 0x04e925bf | (16 << 27) /* 0.306920763 */, | ||
1824 | /* 1690 */ 0x04ea23d4 | (16 << 27) /* 0.307163077 */, | ||
1825 | /* 1691 */ 0x04eb21f7 | (16 << 27) /* 0.307405438 */, | ||
1826 | /* 1692 */ 0x04ec2026 | (16 << 27) /* 0.307647848 */, | ||
1827 | /* 1693 */ 0x04ed1e62 | (16 << 27) /* 0.307890305 */, | ||
1828 | /* 1694 */ 0x04ee1cab | (16 << 27) /* 0.308132810 */, | ||
1829 | /* 1695 */ 0x04ef1b01 | (16 << 27) /* 0.308375362 */, | ||
1830 | |||
1831 | /* 1696 */ 0x04f01963 | (16 << 27) /* 0.308617963 */, | ||
1832 | /* 1697 */ 0x04f117d3 | (16 << 27) /* 0.308860611 */, | ||
1833 | /* 1698 */ 0x04f2164f | (16 << 27) /* 0.309103306 */, | ||
1834 | /* 1699 */ 0x04f314d8 | (16 << 27) /* 0.309346050 */, | ||
1835 | /* 1700 */ 0x04f4136d | (16 << 27) /* 0.309588841 */, | ||
1836 | /* 1701 */ 0x04f51210 | (16 << 27) /* 0.309831679 */, | ||
1837 | /* 1702 */ 0x04f610bf | (16 << 27) /* 0.310074565 */, | ||
1838 | /* 1703 */ 0x04f70f7b | (16 << 27) /* 0.310317499 */, | ||
1839 | /* 1704 */ 0x04f80e44 | (16 << 27) /* 0.310560480 */, | ||
1840 | /* 1705 */ 0x04f90d19 | (16 << 27) /* 0.310803509 */, | ||
1841 | /* 1706 */ 0x04fa0bfc | (16 << 27) /* 0.311046586 */, | ||
1842 | /* 1707 */ 0x04fb0aeb | (16 << 27) /* 0.311289710 */, | ||
1843 | /* 1708 */ 0x04fc09e7 | (16 << 27) /* 0.311532881 */, | ||
1844 | /* 1709 */ 0x04fd08ef | (16 << 27) /* 0.311776100 */, | ||
1845 | /* 1710 */ 0x04fe0805 | (16 << 27) /* 0.312019366 */, | ||
1846 | /* 1711 */ 0x04ff0727 | (16 << 27) /* 0.312262680 */, | ||
1847 | |||
1848 | /* 1712 */ 0x05000655 | (16 << 27) /* 0.312506041 */, | ||
1849 | /* 1713 */ 0x05010591 | (16 << 27) /* 0.312749449 */, | ||
1850 | /* 1714 */ 0x050204d9 | (16 << 27) /* 0.312992905 */, | ||
1851 | /* 1715 */ 0x0503042e | (16 << 27) /* 0.313236408 */, | ||
1852 | /* 1716 */ 0x0504038f | (16 << 27) /* 0.313479959 */, | ||
1853 | /* 1717 */ 0x050502fe | (16 << 27) /* 0.313723556 */, | ||
1854 | /* 1718 */ 0x05060279 | (16 << 27) /* 0.313967202 */, | ||
1855 | /* 1719 */ 0x05070200 | (16 << 27) /* 0.314210894 */, | ||
1856 | /* 1720 */ 0x05080195 | (16 << 27) /* 0.314454634 */, | ||
1857 | /* 1721 */ 0x05090136 | (16 << 27) /* 0.314698420 */, | ||
1858 | /* 1722 */ 0x050a00e3 | (16 << 27) /* 0.314942255 */, | ||
1859 | /* 1723 */ 0x050b009e | (16 << 27) /* 0.315186136 */, | ||
1860 | /* 1724 */ 0x050c0065 | (16 << 27) /* 0.315430064 */, | ||
1861 | /* 1725 */ 0x050d0039 | (16 << 27) /* 0.315674040 */, | ||
1862 | /* 1726 */ 0x050e0019 | (16 << 27) /* 0.315918063 */, | ||
1863 | /* 1727 */ 0x050f0006 | (16 << 27) /* 0.316162133 */, | ||
1864 | |||
1865 | /* 1728 */ 0x05100000 | (16 << 27) /* 0.316406250 */, | ||
1866 | /* 1729 */ 0x05110006 | (16 << 27) /* 0.316650414 */, | ||
1867 | /* 1730 */ 0x05120019 | (16 << 27) /* 0.316894625 */, | ||
1868 | /* 1731 */ 0x05130039 | (16 << 27) /* 0.317138884 */, | ||
1869 | /* 1732 */ 0x05140065 | (16 << 27) /* 0.317383189 */, | ||
1870 | /* 1733 */ 0x0515009e | (16 << 27) /* 0.317627541 */, | ||
1871 | /* 1734 */ 0x051600e3 | (16 << 27) /* 0.317871941 */, | ||
1872 | /* 1735 */ 0x05170135 | (16 << 27) /* 0.318116387 */, | ||
1873 | /* 1736 */ 0x05180194 | (16 << 27) /* 0.318360880 */, | ||
1874 | /* 1737 */ 0x051901ff | (16 << 27) /* 0.318605421 */, | ||
1875 | /* 1738 */ 0x051a0277 | (16 << 27) /* 0.318850008 */, | ||
1876 | /* 1739 */ 0x051b02fc | (16 << 27) /* 0.319094642 */, | ||
1877 | /* 1740 */ 0x051c038d | (16 << 27) /* 0.319339323 */, | ||
1878 | /* 1741 */ 0x051d042a | (16 << 27) /* 0.319584051 */, | ||
1879 | /* 1742 */ 0x051e04d4 | (16 << 27) /* 0.319828826 */, | ||
1880 | /* 1743 */ 0x051f058b | (16 << 27) /* 0.320073647 */, | ||
1881 | |||
1882 | /* 1744 */ 0x0520064f | (16 << 27) /* 0.320318516 */, | ||
1883 | /* 1745 */ 0x0521071f | (16 << 27) /* 0.320563431 */, | ||
1884 | /* 1746 */ 0x052207fb | (16 << 27) /* 0.320808393 */, | ||
1885 | /* 1747 */ 0x052308e4 | (16 << 27) /* 0.321053402 */, | ||
1886 | /* 1748 */ 0x052409da | (16 << 27) /* 0.321298457 */, | ||
1887 | /* 1749 */ 0x05250adc | (16 << 27) /* 0.321543560 */, | ||
1888 | /* 1750 */ 0x05260bea | (16 << 27) /* 0.321788709 */, | ||
1889 | /* 1751 */ 0x05270d06 | (16 << 27) /* 0.322033904 */, | ||
1890 | /* 1752 */ 0x05280e2d | (16 << 27) /* 0.322279147 */, | ||
1891 | /* 1753 */ 0x05290f62 | (16 << 27) /* 0.322524436 */, | ||
1892 | /* 1754 */ 0x052a10a3 | (16 << 27) /* 0.322769771 */, | ||
1893 | /* 1755 */ 0x052b11f0 | (16 << 27) /* 0.323015154 */, | ||
1894 | /* 1756 */ 0x052c134a | (16 << 27) /* 0.323260583 */, | ||
1895 | /* 1757 */ 0x052d14b0 | (16 << 27) /* 0.323506058 */, | ||
1896 | /* 1758 */ 0x052e1623 | (16 << 27) /* 0.323751580 */, | ||
1897 | /* 1759 */ 0x052f17a2 | (16 << 27) /* 0.323997149 */, | ||
1898 | |||
1899 | /* 1760 */ 0x0530192e | (16 << 27) /* 0.324242764 */, | ||
1900 | /* 1761 */ 0x05311ac6 | (16 << 27) /* 0.324488426 */, | ||
1901 | /* 1762 */ 0x05321c6b | (16 << 27) /* 0.324734134 */, | ||
1902 | /* 1763 */ 0x05331e1c | (16 << 27) /* 0.324979889 */, | ||
1903 | /* 1764 */ 0x05341fda | (16 << 27) /* 0.325225690 */, | ||
1904 | /* 1765 */ 0x053521a4 | (16 << 27) /* 0.325471538 */, | ||
1905 | /* 1766 */ 0x0536237b | (16 << 27) /* 0.325717432 */, | ||
1906 | /* 1767 */ 0x0537255e | (16 << 27) /* 0.325963372 */, | ||
1907 | /* 1768 */ 0x0538274e | (16 << 27) /* 0.326209359 */, | ||
1908 | /* 1769 */ 0x0539294a | (16 << 27) /* 0.326455392 */, | ||
1909 | /* 1770 */ 0x053a2b52 | (16 << 27) /* 0.326701472 */, | ||
1910 | /* 1771 */ 0x053b2d67 | (16 << 27) /* 0.326947598 */, | ||
1911 | /* 1772 */ 0x053c2f89 | (16 << 27) /* 0.327193770 */, | ||
1912 | /* 1773 */ 0x053d31b6 | (16 << 27) /* 0.327439989 */, | ||
1913 | /* 1774 */ 0x053e33f1 | (16 << 27) /* 0.327686254 */, | ||
1914 | /* 1775 */ 0x053f3637 | (16 << 27) /* 0.327932565 */, | ||
1915 | |||
1916 | /* 1776 */ 0x0540388a | (16 << 27) /* 0.328178922 */, | ||
1917 | /* 1777 */ 0x05413aea | (16 << 27) /* 0.328425326 */, | ||
1918 | /* 1778 */ 0x05423d56 | (16 << 27) /* 0.328671776 */, | ||
1919 | /* 1779 */ 0x05433fce | (16 << 27) /* 0.328918272 */, | ||
1920 | /* 1780 */ 0x05444253 | (16 << 27) /* 0.329164814 */, | ||
1921 | /* 1781 */ 0x054544e4 | (16 << 27) /* 0.329411403 */, | ||
1922 | /* 1782 */ 0x05464781 | (16 << 27) /* 0.329658038 */, | ||
1923 | /* 1783 */ 0x05474a2b | (16 << 27) /* 0.329904718 */, | ||
1924 | /* 1784 */ 0x05484ce2 | (16 << 27) /* 0.330151445 */, | ||
1925 | /* 1785 */ 0x05494fa4 | (16 << 27) /* 0.330398218 */, | ||
1926 | /* 1786 */ 0x054a5273 | (16 << 27) /* 0.330645037 */, | ||
1927 | /* 1787 */ 0x054b554e | (16 << 27) /* 0.330891903 */, | ||
1928 | /* 1788 */ 0x054c5836 | (16 << 27) /* 0.331138814 */, | ||
1929 | /* 1789 */ 0x054d5b2a | (16 << 27) /* 0.331385771 */, | ||
1930 | /* 1790 */ 0x054e5e2b | (16 << 27) /* 0.331632774 */, | ||
1931 | /* 1791 */ 0x054f6138 | (16 << 27) /* 0.331879824 */, | ||
1932 | |||
1933 | /* 1792 */ 0x05506451 | (16 << 27) /* 0.332126919 */, | ||
1934 | /* 1793 */ 0x05516776 | (16 << 27) /* 0.332374060 */, | ||
1935 | /* 1794 */ 0x05526aa8 | (16 << 27) /* 0.332621247 */, | ||
1936 | /* 1795 */ 0x05536de6 | (16 << 27) /* 0.332868480 */, | ||
1937 | /* 1796 */ 0x05547131 | (16 << 27) /* 0.333115759 */, | ||
1938 | /* 1797 */ 0x05557487 | (16 << 27) /* 0.333363084 */, | ||
1939 | /* 1798 */ 0x055677ea | (16 << 27) /* 0.333610455 */, | ||
1940 | /* 1799 */ 0x05577b5a | (16 << 27) /* 0.333857872 */, | ||
1941 | /* 1800 */ 0x05587ed5 | (16 << 27) /* 0.334105334 */, | ||
1942 | /* 1801 */ 0x0559825e | (16 << 27) /* 0.334352843 */, | ||
1943 | /* 1802 */ 0x055a85f2 | (16 << 27) /* 0.334600397 */, | ||
1944 | /* 1803 */ 0x055b8992 | (16 << 27) /* 0.334847997 */, | ||
1945 | /* 1804 */ 0x055c8d3f | (16 << 27) /* 0.335095642 */, | ||
1946 | /* 1805 */ 0x055d90f9 | (16 << 27) /* 0.335343334 */, | ||
1947 | /* 1806 */ 0x055e94be | (16 << 27) /* 0.335591071 */, | ||
1948 | /* 1807 */ 0x055f9890 | (16 << 27) /* 0.335838854 */, | ||
1949 | |||
1950 | /* 1808 */ 0x05609c6e | (16 << 27) /* 0.336086683 */, | ||
1951 | /* 1809 */ 0x0561a058 | (16 << 27) /* 0.336334557 */, | ||
1952 | /* 1810 */ 0x0562a44f | (16 << 27) /* 0.336582477 */, | ||
1953 | /* 1811 */ 0x0563a851 | (16 << 27) /* 0.336830443 */, | ||
1954 | /* 1812 */ 0x0564ac60 | (16 << 27) /* 0.337078454 */, | ||
1955 | /* 1813 */ 0x0565b07c | (16 << 27) /* 0.337326511 */, | ||
1956 | /* 1814 */ 0x0566b4a3 | (16 << 27) /* 0.337574614 */, | ||
1957 | /* 1815 */ 0x0567b8d7 | (16 << 27) /* 0.337822762 */, | ||
1958 | /* 1816 */ 0x0568bd17 | (16 << 27) /* 0.338070956 */, | ||
1959 | /* 1817 */ 0x0569c163 | (16 << 27) /* 0.338319195 */, | ||
1960 | /* 1818 */ 0x056ac5bc | (16 << 27) /* 0.338567480 */, | ||
1961 | /* 1819 */ 0x056bca20 | (16 << 27) /* 0.338815811 */, | ||
1962 | /* 1820 */ 0x056cce91 | (16 << 27) /* 0.339064186 */, | ||
1963 | /* 1821 */ 0x056dd30e | (16 << 27) /* 0.339312608 */, | ||
1964 | /* 1822 */ 0x056ed798 | (16 << 27) /* 0.339561075 */, | ||
1965 | /* 1823 */ 0x056fdc2d | (16 << 27) /* 0.339809587 */, | ||
1966 | |||
1967 | /* 1824 */ 0x0570e0cf | (16 << 27) /* 0.340058145 */, | ||
1968 | /* 1825 */ 0x0571e57d | (16 << 27) /* 0.340306748 */, | ||
1969 | /* 1826 */ 0x0572ea37 | (16 << 27) /* 0.340555397 */, | ||
1970 | /* 1827 */ 0x0573eefd | (16 << 27) /* 0.340804091 */, | ||
1971 | /* 1828 */ 0x0574f3d0 | (16 << 27) /* 0.341052830 */, | ||
1972 | /* 1829 */ 0x0575f8ae | (16 << 27) /* 0.341301615 */, | ||
1973 | /* 1830 */ 0x0576fd99 | (16 << 27) /* 0.341550445 */, | ||
1974 | /* 1831 */ 0x05780290 | (16 << 27) /* 0.341799321 */, | ||
1975 | /* 1832 */ 0x05790793 | (16 << 27) /* 0.342048241 */, | ||
1976 | /* 1833 */ 0x057a0ca3 | (16 << 27) /* 0.342297207 */, | ||
1977 | /* 1834 */ 0x057b11be | (16 << 27) /* 0.342546219 */, | ||
1978 | /* 1835 */ 0x057c16e6 | (16 << 27) /* 0.342795275 */, | ||
1979 | /* 1836 */ 0x057d1c1a | (16 << 27) /* 0.343044377 */, | ||
1980 | /* 1837 */ 0x057e2159 | (16 << 27) /* 0.343293524 */, | ||
1981 | /* 1838 */ 0x057f26a6 | (16 << 27) /* 0.343542717 */, | ||
1982 | /* 1839 */ 0x05802bfe | (16 << 27) /* 0.343791954 */, | ||
1983 | |||
1984 | /* 1840 */ 0x05813162 | (16 << 27) /* 0.344041237 */, | ||
1985 | /* 1841 */ 0x058236d2 | (16 << 27) /* 0.344290564 */, | ||
1986 | /* 1842 */ 0x05833c4f | (16 << 27) /* 0.344539937 */, | ||
1987 | /* 1843 */ 0x058441d8 | (16 << 27) /* 0.344789356 */, | ||
1988 | /* 1844 */ 0x0585476c | (16 << 27) /* 0.345038819 */, | ||
1989 | /* 1845 */ 0x05864d0d | (16 << 27) /* 0.345288327 */, | ||
1990 | /* 1846 */ 0x058752ba | (16 << 27) /* 0.345537880 */, | ||
1991 | /* 1847 */ 0x05885873 | (16 << 27) /* 0.345787479 */, | ||
1992 | /* 1848 */ 0x05895e39 | (16 << 27) /* 0.346037122 */, | ||
1993 | /* 1849 */ 0x058a640a | (16 << 27) /* 0.346286811 */, | ||
1994 | /* 1850 */ 0x058b69e7 | (16 << 27) /* 0.346536545 */, | ||
1995 | /* 1851 */ 0x058c6fd1 | (16 << 27) /* 0.346786323 */, | ||
1996 | /* 1852 */ 0x058d75c6 | (16 << 27) /* 0.347036147 */, | ||
1997 | /* 1853 */ 0x058e7bc8 | (16 << 27) /* 0.347286015 */, | ||
1998 | /* 1854 */ 0x058f81d5 | (16 << 27) /* 0.347535929 */, | ||
1999 | /* 1855 */ 0x059087ef | (16 << 27) /* 0.347785887 */, | ||
2000 | |||
2001 | /* 1856 */ 0x05918e15 | (16 << 27) /* 0.348035890 */, | ||
2002 | /* 1857 */ 0x05929447 | (16 << 27) /* 0.348285939 */, | ||
2003 | /* 1858 */ 0x05939a84 | (16 << 27) /* 0.348536032 */, | ||
2004 | /* 1859 */ 0x0594a0ce | (16 << 27) /* 0.348786170 */, | ||
2005 | /* 1860 */ 0x0595a724 | (16 << 27) /* 0.349036353 */, | ||
2006 | /* 1861 */ 0x0596ad86 | (16 << 27) /* 0.349286580 */, | ||
2007 | /* 1862 */ 0x0597b3f4 | (16 << 27) /* 0.349536853 */, | ||
2008 | /* 1863 */ 0x0598ba6e | (16 << 27) /* 0.349787170 */, | ||
2009 | /* 1864 */ 0x0599c0f4 | (16 << 27) /* 0.350037532 */, | ||
2010 | /* 1865 */ 0x059ac786 | (16 << 27) /* 0.350287939 */, | ||
2011 | /* 1866 */ 0x059bce25 | (16 << 27) /* 0.350538391 */, | ||
2012 | /* 1867 */ 0x059cd4cf | (16 << 27) /* 0.350788887 */, | ||
2013 | /* 1868 */ 0x059ddb85 | (16 << 27) /* 0.351039428 */, | ||
2014 | /* 1869 */ 0x059ee247 | (16 << 27) /* 0.351290014 */, | ||
2015 | /* 1870 */ 0x059fe915 | (16 << 27) /* 0.351540645 */, | ||
2016 | /* 1871 */ 0x05a0efef | (16 << 27) /* 0.351791320 */, | ||
2017 | |||
2018 | /* 1872 */ 0x05a1f6d5 | (16 << 27) /* 0.352042040 */, | ||
2019 | /* 1873 */ 0x05a2fdc7 | (16 << 27) /* 0.352292804 */, | ||
2020 | /* 1874 */ 0x05a404c5 | (16 << 27) /* 0.352543613 */, | ||
2021 | /* 1875 */ 0x05a50bcf | (16 << 27) /* 0.352794467 */, | ||
2022 | /* 1876 */ 0x05a612e5 | (16 << 27) /* 0.353045365 */, | ||
2023 | /* 1877 */ 0x05a71a07 | (16 << 27) /* 0.353296308 */, | ||
2024 | /* 1878 */ 0x05a82135 | (16 << 27) /* 0.353547296 */, | ||
2025 | /* 1879 */ 0x05a9286f | (16 << 27) /* 0.353798328 */, | ||
2026 | /* 1880 */ 0x05aa2fb5 | (16 << 27) /* 0.354049405 */, | ||
2027 | /* 1881 */ 0x05ab3707 | (16 << 27) /* 0.354300526 */, | ||
2028 | /* 1882 */ 0x05ac3e65 | (16 << 27) /* 0.354551691 */, | ||
2029 | /* 1883 */ 0x05ad45ce | (16 << 27) /* 0.354802901 */, | ||
2030 | /* 1884 */ 0x05ae4d44 | (16 << 27) /* 0.355054156 */, | ||
2031 | /* 1885 */ 0x05af54c6 | (16 << 27) /* 0.355305455 */, | ||
2032 | /* 1886 */ 0x05b05c53 | (16 << 27) /* 0.355556799 */, | ||
2033 | /* 1887 */ 0x05b163ed | (16 << 27) /* 0.355808187 */, | ||
2034 | |||
2035 | /* 1888 */ 0x05b26b92 | (16 << 27) /* 0.356059619 */, | ||
2036 | /* 1889 */ 0x05b37343 | (16 << 27) /* 0.356311096 */, | ||
2037 | /* 1890 */ 0x05b47b00 | (16 << 27) /* 0.356562617 */, | ||
2038 | /* 1891 */ 0x05b582c9 | (16 << 27) /* 0.356814182 */, | ||
2039 | /* 1892 */ 0x05b68a9e | (16 << 27) /* 0.357065792 */, | ||
2040 | /* 1893 */ 0x05b7927f | (16 << 27) /* 0.357317446 */, | ||
2041 | /* 1894 */ 0x05b89a6c | (16 << 27) /* 0.357569145 */, | ||
2042 | /* 1895 */ 0x05b9a265 | (16 << 27) /* 0.357820887 */, | ||
2043 | /* 1896 */ 0x05baaa69 | (16 << 27) /* 0.358072674 */, | ||
2044 | /* 1897 */ 0x05bbb27a | (16 << 27) /* 0.358324506 */, | ||
2045 | /* 1898 */ 0x05bcba96 | (16 << 27) /* 0.358576381 */, | ||
2046 | /* 1899 */ 0x05bdc2be | (16 << 27) /* 0.358828301 */, | ||
2047 | /* 1900 */ 0x05becaf2 | (16 << 27) /* 0.359080265 */, | ||
2048 | /* 1901 */ 0x05bfd332 | (16 << 27) /* 0.359332273 */, | ||
2049 | /* 1902 */ 0x05c0db7e | (16 << 27) /* 0.359584326 */, | ||
2050 | /* 1903 */ 0x05c1e3d6 | (16 << 27) /* 0.359836423 */, | ||
2051 | |||
2052 | /* 1904 */ 0x05c2ec39 | (16 << 27) /* 0.360088563 */, | ||
2053 | /* 1905 */ 0x05c3f4a9 | (16 << 27) /* 0.360340748 */, | ||
2054 | /* 1906 */ 0x05c4fd24 | (16 << 27) /* 0.360592977 */, | ||
2055 | /* 1907 */ 0x05c605ab | (16 << 27) /* 0.360845251 */, | ||
2056 | /* 1908 */ 0x05c70e3e | (16 << 27) /* 0.361097568 */, | ||
2057 | /* 1909 */ 0x05c816dd | (16 << 27) /* 0.361349929 */, | ||
2058 | /* 1910 */ 0x05c91f87 | (16 << 27) /* 0.361602335 */, | ||
2059 | /* 1911 */ 0x05ca283e | (16 << 27) /* 0.361854784 */, | ||
2060 | /* 1912 */ 0x05cb3100 | (16 << 27) /* 0.362107278 */, | ||
2061 | /* 1913 */ 0x05cc39ce | (16 << 27) /* 0.362359815 */, | ||
2062 | /* 1914 */ 0x05cd42a8 | (16 << 27) /* 0.362612397 */, | ||
2063 | /* 1915 */ 0x05ce4b8d | (16 << 27) /* 0.362865022 */, | ||
2064 | /* 1916 */ 0x05cf547f | (16 << 27) /* 0.363117692 */, | ||
2065 | /* 1917 */ 0x05d05d7c | (16 << 27) /* 0.363370405 */, | ||
2066 | /* 1918 */ 0x05d16685 | (16 << 27) /* 0.363623163 */, | ||
2067 | /* 1919 */ 0x05d26f9a | (16 << 27) /* 0.363875964 */, | ||
2068 | |||
2069 | /* 1920 */ 0x05d378bb | (16 << 27) /* 0.364128809 */, | ||
2070 | /* 1921 */ 0x05d481e7 | (16 << 27) /* 0.364381698 */, | ||
2071 | /* 1922 */ 0x05d58b1f | (16 << 27) /* 0.364634632 */, | ||
2072 | /* 1923 */ 0x05d69463 | (16 << 27) /* 0.364887608 */, | ||
2073 | /* 1924 */ 0x05d79db3 | (16 << 27) /* 0.365140629 */, | ||
2074 | /* 1925 */ 0x05d8a70f | (16 << 27) /* 0.365393694 */, | ||
2075 | /* 1926 */ 0x05d9b076 | (16 << 27) /* 0.365646802 */, | ||
2076 | /* 1927 */ 0x05dab9e9 | (16 << 27) /* 0.365899955 */, | ||
2077 | /* 1928 */ 0x05dbc368 | (16 << 27) /* 0.366153151 */, | ||
2078 | /* 1929 */ 0x05dcccf2 | (16 << 27) /* 0.366406390 */, | ||
2079 | /* 1930 */ 0x05ddd689 | (16 << 27) /* 0.366659674 */, | ||
2080 | /* 1931 */ 0x05dee02b | (16 << 27) /* 0.366913001 */, | ||
2081 | /* 1932 */ 0x05dfe9d8 | (16 << 27) /* 0.367166372 */, | ||
2082 | /* 1933 */ 0x05e0f392 | (16 << 27) /* 0.367419787 */, | ||
2083 | /* 1934 */ 0x05e1fd57 | (16 << 27) /* 0.367673246 */, | ||
2084 | /* 1935 */ 0x05e30728 | (16 << 27) /* 0.367926748 */, | ||
2085 | |||
2086 | /* 1936 */ 0x05e41105 | (16 << 27) /* 0.368180294 */, | ||
2087 | /* 1937 */ 0x05e51aed | (16 << 27) /* 0.368433883 */, | ||
2088 | /* 1938 */ 0x05e624e1 | (16 << 27) /* 0.368687517 */, | ||
2089 | /* 1939 */ 0x05e72ee1 | (16 << 27) /* 0.368941193 */, | ||
2090 | /* 1940 */ 0x05e838ed | (16 << 27) /* 0.369194914 */, | ||
2091 | /* 1941 */ 0x05e94304 | (16 << 27) /* 0.369448678 */, | ||
2092 | /* 1942 */ 0x05ea4d27 | (16 << 27) /* 0.369702485 */, | ||
2093 | /* 1943 */ 0x05eb5756 | (16 << 27) /* 0.369956336 */, | ||
2094 | /* 1944 */ 0x05ec6190 | (16 << 27) /* 0.370210231 */, | ||
2095 | /* 1945 */ 0x05ed6bd6 | (16 << 27) /* 0.370464169 */, | ||
2096 | /* 1946 */ 0x05ee7628 | (16 << 27) /* 0.370718151 */, | ||
2097 | /* 1947 */ 0x05ef8085 | (16 << 27) /* 0.370972177 */, | ||
2098 | /* 1948 */ 0x05f08aee | (16 << 27) /* 0.371226245 */, | ||
2099 | /* 1949 */ 0x05f19563 | (16 << 27) /* 0.371480358 */, | ||
2100 | /* 1950 */ 0x05f29fe3 | (16 << 27) /* 0.371734513 */, | ||
2101 | /* 1951 */ 0x05f3aa6f | (16 << 27) /* 0.371988712 */, | ||
2102 | |||
2103 | /* 1952 */ 0x05f4b507 | (16 << 27) /* 0.372242955 */, | ||
2104 | /* 1953 */ 0x05f5bfab | (16 << 27) /* 0.372497241 */, | ||
2105 | /* 1954 */ 0x05f6ca5a | (16 << 27) /* 0.372751570 */, | ||
2106 | /* 1955 */ 0x05f7d514 | (16 << 27) /* 0.373005943 */, | ||
2107 | /* 1956 */ 0x05f8dfdb | (16 << 27) /* 0.373260359 */, | ||
2108 | /* 1957 */ 0x05f9eaad | (16 << 27) /* 0.373514819 */, | ||
2109 | /* 1958 */ 0x05faf58a | (16 << 27) /* 0.373769322 */, | ||
2110 | /* 1959 */ 0x05fc0073 | (16 << 27) /* 0.374023868 */, | ||
2111 | /* 1960 */ 0x05fd0b68 | (16 << 27) /* 0.374278458 */, | ||
2112 | /* 1961 */ 0x05fe1669 | (16 << 27) /* 0.374533091 */, | ||
2113 | /* 1962 */ 0x05ff2175 | (16 << 27) /* 0.374787767 */, | ||
2114 | /* 1963 */ 0x06002c8d | (16 << 27) /* 0.375042486 */, | ||
2115 | /* 1964 */ 0x060137b0 | (16 << 27) /* 0.375297249 */, | ||
2116 | /* 1965 */ 0x060242df | (16 << 27) /* 0.375552055 */, | ||
2117 | /* 1966 */ 0x06034e19 | (16 << 27) /* 0.375806904 */, | ||
2118 | /* 1967 */ 0x0604595f | (16 << 27) /* 0.376061796 */, | ||
2119 | |||
2120 | /* 1968 */ 0x060564b1 | (16 << 27) /* 0.376316732 */, | ||
2121 | /* 1969 */ 0x0606700f | (16 << 27) /* 0.376571710 */, | ||
2122 | /* 1970 */ 0x06077b77 | (16 << 27) /* 0.376826732 */, | ||
2123 | /* 1971 */ 0x060886ec | (16 << 27) /* 0.377081797 */, | ||
2124 | /* 1972 */ 0x0609926c | (16 << 27) /* 0.377336905 */, | ||
2125 | /* 1973 */ 0x060a9df8 | (16 << 27) /* 0.377592057 */, | ||
2126 | /* 1974 */ 0x060ba98f | (16 << 27) /* 0.377847251 */, | ||
2127 | /* 1975 */ 0x060cb532 | (16 << 27) /* 0.378102489 */, | ||
2128 | /* 1976 */ 0x060dc0e0 | (16 << 27) /* 0.378357769 */, | ||
2129 | /* 1977 */ 0x060ecc9a | (16 << 27) /* 0.378613093 */, | ||
2130 | /* 1978 */ 0x060fd860 | (16 << 27) /* 0.378868460 */, | ||
2131 | /* 1979 */ 0x0610e431 | (16 << 27) /* 0.379123870 */, | ||
2132 | /* 1980 */ 0x0611f00d | (16 << 27) /* 0.379379322 */, | ||
2133 | /* 1981 */ 0x0612fbf5 | (16 << 27) /* 0.379634818 */, | ||
2134 | /* 1982 */ 0x061407e9 | (16 << 27) /* 0.379890357 */, | ||
2135 | /* 1983 */ 0x061513e8 | (16 << 27) /* 0.380145939 */, | ||
2136 | |||
2137 | /* 1984 */ 0x06161ff3 | (16 << 27) /* 0.380401563 */, | ||
2138 | /* 1985 */ 0x06172c09 | (16 << 27) /* 0.380657231 */, | ||
2139 | /* 1986 */ 0x0618382b | (16 << 27) /* 0.380912942 */, | ||
2140 | /* 1987 */ 0x06194458 | (16 << 27) /* 0.381168695 */, | ||
2141 | /* 1988 */ 0x061a5091 | (16 << 27) /* 0.381424492 */, | ||
2142 | /* 1989 */ 0x061b5cd5 | (16 << 27) /* 0.381680331 */, | ||
2143 | /* 1990 */ 0x061c6925 | (16 << 27) /* 0.381936213 */, | ||
2144 | /* 1991 */ 0x061d7581 | (16 << 27) /* 0.382192138 */, | ||
2145 | /* 1992 */ 0x061e81e8 | (16 << 27) /* 0.382448106 */, | ||
2146 | /* 1993 */ 0x061f8e5a | (16 << 27) /* 0.382704117 */, | ||
2147 | /* 1994 */ 0x06209ad8 | (16 << 27) /* 0.382960171 */, | ||
2148 | /* 1995 */ 0x0621a761 | (16 << 27) /* 0.383216267 */, | ||
2149 | /* 1996 */ 0x0622b3f6 | (16 << 27) /* 0.383472406 */, | ||
2150 | /* 1997 */ 0x0623c096 | (16 << 27) /* 0.383728588 */, | ||
2151 | /* 1998 */ 0x0624cd42 | (16 << 27) /* 0.383984813 */, | ||
2152 | /* 1999 */ 0x0625d9f9 | (16 << 27) /* 0.384241080 */, | ||
2153 | |||
2154 | /* 2000 */ 0x0626e6bc | (16 << 27) /* 0.384497391 */, | ||
2155 | /* 2001 */ 0x0627f38a | (16 << 27) /* 0.384753744 */, | ||
2156 | /* 2002 */ 0x06290064 | (16 << 27) /* 0.385010139 */, | ||
2157 | /* 2003 */ 0x062a0d49 | (16 << 27) /* 0.385266578 */, | ||
2158 | /* 2004 */ 0x062b1a3a | (16 << 27) /* 0.385523059 */, | ||
2159 | /* 2005 */ 0x062c2736 | (16 << 27) /* 0.385779582 */, | ||
2160 | /* 2006 */ 0x062d343d | (16 << 27) /* 0.386036149 */, | ||
2161 | /* 2007 */ 0x062e4150 | (16 << 27) /* 0.386292758 */, | ||
2162 | /* 2008 */ 0x062f4e6f | (16 << 27) /* 0.386549409 */, | ||
2163 | /* 2009 */ 0x06305b99 | (16 << 27) /* 0.386806104 */, | ||
2164 | /* 2010 */ 0x063168ce | (16 << 27) /* 0.387062840 */, | ||
2165 | /* 2011 */ 0x0632760f | (16 << 27) /* 0.387319620 */, | ||
2166 | /* 2012 */ 0x0633835b | (16 << 27) /* 0.387576442 */, | ||
2167 | /* 2013 */ 0x063490b2 | (16 << 27) /* 0.387833306 */, | ||
2168 | /* 2014 */ 0x06359e15 | (16 << 27) /* 0.388090213 */, | ||
2169 | /* 2015 */ 0x0636ab83 | (16 << 27) /* 0.388347163 */, | ||
2170 | |||
2171 | /* 2016 */ 0x0637b8fd | (16 << 27) /* 0.388604155 */, | ||
2172 | /* 2017 */ 0x0638c682 | (16 << 27) /* 0.388861190 */, | ||
2173 | /* 2018 */ 0x0639d413 | (16 << 27) /* 0.389118267 */, | ||
2174 | /* 2019 */ 0x063ae1af | (16 << 27) /* 0.389375386 */, | ||
2175 | /* 2020 */ 0x063bef56 | (16 << 27) /* 0.389632548 */, | ||
2176 | /* 2021 */ 0x063cfd09 | (16 << 27) /* 0.389889752 */, | ||
2177 | /* 2022 */ 0x063e0ac7 | (16 << 27) /* 0.390146999 */, | ||
2178 | /* 2023 */ 0x063f1891 | (16 << 27) /* 0.390404289 */, | ||
2179 | /* 2024 */ 0x06402666 | (16 << 27) /* 0.390661620 */, | ||
2180 | /* 2025 */ 0x06413446 | (16 << 27) /* 0.390918994 */, | ||
2181 | /* 2026 */ 0x06424232 | (16 << 27) /* 0.391176411 */, | ||
2182 | /* 2027 */ 0x06435029 | (16 << 27) /* 0.391433869 */, | ||
2183 | /* 2028 */ 0x06445e2b | (16 << 27) /* 0.391691371 */, | ||
2184 | /* 2029 */ 0x06456c39 | (16 << 27) /* 0.391948914 */, | ||
2185 | /* 2030 */ 0x06467a52 | (16 << 27) /* 0.392206500 */, | ||
2186 | /* 2031 */ 0x06478877 | (16 << 27) /* 0.392464128 */, | ||
2187 | |||
2188 | /* 2032 */ 0x064896a7 | (16 << 27) /* 0.392721798 */, | ||
2189 | /* 2033 */ 0x0649a4e2 | (16 << 27) /* 0.392979511 */, | ||
2190 | /* 2034 */ 0x064ab328 | (16 << 27) /* 0.393237266 */, | ||
2191 | /* 2035 */ 0x064bc17a | (16 << 27) /* 0.393495063 */, | ||
2192 | /* 2036 */ 0x064ccfd8 | (16 << 27) /* 0.393752902 */, | ||
2193 | /* 2037 */ 0x064dde40 | (16 << 27) /* 0.394010784 */, | ||
2194 | /* 2038 */ 0x064eecb4 | (16 << 27) /* 0.394268707 */, | ||
2195 | /* 2039 */ 0x064ffb33 | (16 << 27) /* 0.394526673 */, | ||
2196 | /* 2040 */ 0x065109be | (16 << 27) /* 0.394784681 */, | ||
2197 | /* 2041 */ 0x06521854 | (16 << 27) /* 0.395042732 */, | ||
2198 | /* 2042 */ 0x065326f5 | (16 << 27) /* 0.395300824 */, | ||
2199 | /* 2043 */ 0x065435a1 | (16 << 27) /* 0.395558959 */, | ||
2200 | /* 2044 */ 0x06554459 | (16 << 27) /* 0.395817135 */, | ||
2201 | /* 2045 */ 0x0656531c | (16 << 27) /* 0.396075354 */, | ||
2202 | /* 2046 */ 0x065761ea | (16 << 27) /* 0.396333615 */, | ||
2203 | /* 2047 */ 0x065870c4 | (16 << 27) /* 0.396591918 */, | ||
2204 | |||
2205 | /* 2048 */ 0x06597fa9 | (16 << 27) /* 0.396850263 */, | ||
2206 | /* 2049 */ 0x065a8e99 | (16 << 27) /* 0.397108650 */, | ||
2207 | /* 2050 */ 0x065b9d95 | (16 << 27) /* 0.397367079 */, | ||
2208 | /* 2051 */ 0x065cac9c | (16 << 27) /* 0.397625550 */, | ||
2209 | /* 2052 */ 0x065dbbae | (16 << 27) /* 0.397884063 */, | ||
2210 | /* 2053 */ 0x065ecacb | (16 << 27) /* 0.398142619 */, | ||
2211 | /* 2054 */ 0x065fd9f4 | (16 << 27) /* 0.398401216 */, | ||
2212 | /* 2055 */ 0x0660e928 | (16 << 27) /* 0.398659855 */, | ||
2213 | /* 2056 */ 0x0661f867 | (16 << 27) /* 0.398918536 */, | ||
2214 | /* 2057 */ 0x066307b1 | (16 << 27) /* 0.399177259 */, | ||
2215 | /* 2058 */ 0x06641707 | (16 << 27) /* 0.399436024 */, | ||
2216 | /* 2059 */ 0x06652668 | (16 << 27) /* 0.399694831 */, | ||
2217 | /* 2060 */ 0x066635d4 | (16 << 27) /* 0.399953679 */, | ||
2218 | /* 2061 */ 0x0667454c | (16 << 27) /* 0.400212570 */, | ||
2219 | /* 2062 */ 0x066854ce | (16 << 27) /* 0.400471503 */, | ||
2220 | /* 2063 */ 0x0669645c | (16 << 27) /* 0.400730477 */, | ||
2221 | |||
2222 | /* 2064 */ 0x066a73f5 | (16 << 27) /* 0.400989493 */, | ||
2223 | /* 2065 */ 0x066b839a | (16 << 27) /* 0.401248551 */, | ||
2224 | /* 2066 */ 0x066c9349 | (16 << 27) /* 0.401507651 */, | ||
2225 | /* 2067 */ 0x066da304 | (16 << 27) /* 0.401766793 */, | ||
2226 | /* 2068 */ 0x066eb2ca | (16 << 27) /* 0.402025976 */, | ||
2227 | /* 2069 */ 0x066fc29b | (16 << 27) /* 0.402285202 */, | ||
2228 | /* 2070 */ 0x0670d278 | (16 << 27) /* 0.402544469 */, | ||
2229 | /* 2071 */ 0x0671e25f | (16 << 27) /* 0.402803777 */, | ||
2230 | /* 2072 */ 0x0672f252 | (16 << 27) /* 0.403063128 */, | ||
2231 | /* 2073 */ 0x06740250 | (16 << 27) /* 0.403322520 */, | ||
2232 | /* 2074 */ 0x0675125a | (16 << 27) /* 0.403581954 */, | ||
2233 | /* 2075 */ 0x0676226e | (16 << 27) /* 0.403841430 */, | ||
2234 | /* 2076 */ 0x0677328e | (16 << 27) /* 0.404100947 */, | ||
2235 | /* 2077 */ 0x067842b9 | (16 << 27) /* 0.404360506 */, | ||
2236 | /* 2078 */ 0x067952ef | (16 << 27) /* 0.404620107 */, | ||
2237 | /* 2079 */ 0x067a6330 | (16 << 27) /* 0.404879749 */, | ||
2238 | |||
2239 | /* 2080 */ 0x067b737c | (16 << 27) /* 0.405139433 */, | ||
2240 | /* 2081 */ 0x067c83d4 | (16 << 27) /* 0.405399159 */, | ||
2241 | /* 2082 */ 0x067d9436 | (16 << 27) /* 0.405658926 */, | ||
2242 | /* 2083 */ 0x067ea4a4 | (16 << 27) /* 0.405918735 */, | ||
2243 | /* 2084 */ 0x067fb51d | (16 << 27) /* 0.406178585 */, | ||
2244 | /* 2085 */ 0x0680c5a2 | (16 << 27) /* 0.406438477 */, | ||
2245 | /* 2086 */ 0x0681d631 | (16 << 27) /* 0.406698410 */, | ||
2246 | /* 2087 */ 0x0682e6cb | (16 << 27) /* 0.406958385 */, | ||
2247 | /* 2088 */ 0x0683f771 | (16 << 27) /* 0.407218402 */, | ||
2248 | /* 2089 */ 0x06850822 | (16 << 27) /* 0.407478460 */, | ||
2249 | /* 2090 */ 0x068618de | (16 << 27) /* 0.407738559 */, | ||
2250 | /* 2091 */ 0x068729a5 | (16 << 27) /* 0.407998700 */, | ||
2251 | /* 2092 */ 0x06883a77 | (16 << 27) /* 0.408258883 */, | ||
2252 | /* 2093 */ 0x06894b55 | (16 << 27) /* 0.408519107 */, | ||
2253 | /* 2094 */ 0x068a5c3d | (16 << 27) /* 0.408779372 */, | ||
2254 | /* 2095 */ 0x068b6d31 | (16 << 27) /* 0.409039679 */, | ||
2255 | |||
2256 | /* 2096 */ 0x068c7e2f | (16 << 27) /* 0.409300027 */, | ||
2257 | /* 2097 */ 0x068d8f39 | (16 << 27) /* 0.409560417 */, | ||
2258 | /* 2098 */ 0x068ea04e | (16 << 27) /* 0.409820848 */, | ||
2259 | /* 2099 */ 0x068fb16e | (16 << 27) /* 0.410081321 */, | ||
2260 | /* 2100 */ 0x0690c299 | (16 << 27) /* 0.410341834 */, | ||
2261 | /* 2101 */ 0x0691d3cf | (16 << 27) /* 0.410602390 */, | ||
2262 | /* 2102 */ 0x0692e511 | (16 << 27) /* 0.410862986 */, | ||
2263 | /* 2103 */ 0x0693f65d | (16 << 27) /* 0.411123624 */, | ||
2264 | /* 2104 */ 0x069507b5 | (16 << 27) /* 0.411384303 */, | ||
2265 | /* 2105 */ 0x06961917 | (16 << 27) /* 0.411645024 */, | ||
2266 | /* 2106 */ 0x06972a85 | (16 << 27) /* 0.411905785 */, | ||
2267 | /* 2107 */ 0x06983bfe | (16 << 27) /* 0.412166588 */, | ||
2268 | /* 2108 */ 0x06994d82 | (16 << 27) /* 0.412427433 */, | ||
2269 | /* 2109 */ 0x069a5f11 | (16 << 27) /* 0.412688318 */, | ||
2270 | /* 2110 */ 0x069b70ab | (16 << 27) /* 0.412949245 */, | ||
2271 | /* 2111 */ 0x069c8250 | (16 << 27) /* 0.413210213 */, | ||
2272 | |||
2273 | /* 2112 */ 0x069d9400 | (16 << 27) /* 0.413471222 */, | ||
2274 | /* 2113 */ 0x069ea5bb | (16 << 27) /* 0.413732273 */, | ||
2275 | /* 2114 */ 0x069fb781 | (16 << 27) /* 0.413993364 */, | ||
2276 | /* 2115 */ 0x06a0c953 | (16 << 27) /* 0.414254497 */, | ||
2277 | /* 2116 */ 0x06a1db2f | (16 << 27) /* 0.414515671 */, | ||
2278 | /* 2117 */ 0x06a2ed16 | (16 << 27) /* 0.414776886 */, | ||
2279 | /* 2118 */ 0x06a3ff09 | (16 << 27) /* 0.415038142 */, | ||
2280 | /* 2119 */ 0x06a51106 | (16 << 27) /* 0.415299440 */, | ||
2281 | /* 2120 */ 0x06a6230f | (16 << 27) /* 0.415560778 */, | ||
2282 | /* 2121 */ 0x06a73522 | (16 << 27) /* 0.415822157 */, | ||
2283 | /* 2122 */ 0x06a84741 | (16 << 27) /* 0.416083578 */, | ||
2284 | /* 2123 */ 0x06a9596a | (16 << 27) /* 0.416345040 */, | ||
2285 | /* 2124 */ 0x06aa6b9f | (16 << 27) /* 0.416606542 */, | ||
2286 | /* 2125 */ 0x06ab7ddf | (16 << 27) /* 0.416868086 */, | ||
2287 | /* 2126 */ 0x06ac9029 | (16 << 27) /* 0.417129671 */, | ||
2288 | /* 2127 */ 0x06ada27f | (16 << 27) /* 0.417391297 */, | ||
2289 | |||
2290 | /* 2128 */ 0x06aeb4e0 | (16 << 27) /* 0.417652964 */, | ||
2291 | /* 2129 */ 0x06afc74b | (16 << 27) /* 0.417914672 */, | ||
2292 | /* 2130 */ 0x06b0d9c2 | (16 << 27) /* 0.418176420 */, | ||
2293 | /* 2131 */ 0x06b1ec43 | (16 << 27) /* 0.418438210 */, | ||
2294 | /* 2132 */ 0x06b2fed0 | (16 << 27) /* 0.418700041 */, | ||
2295 | /* 2133 */ 0x06b41168 | (16 << 27) /* 0.418961912 */, | ||
2296 | /* 2134 */ 0x06b5240a | (16 << 27) /* 0.419223825 */, | ||
2297 | /* 2135 */ 0x06b636b8 | (16 << 27) /* 0.419485778 */, | ||
2298 | /* 2136 */ 0x06b74971 | (16 << 27) /* 0.419747773 */, | ||
2299 | /* 2137 */ 0x06b85c34 | (16 << 27) /* 0.420009808 */, | ||
2300 | /* 2138 */ 0x06b96f03 | (16 << 27) /* 0.420271884 */, | ||
2301 | /* 2139 */ 0x06ba81dc | (16 << 27) /* 0.420534001 */, | ||
2302 | /* 2140 */ 0x06bb94c1 | (16 << 27) /* 0.420796159 */, | ||
2303 | /* 2141 */ 0x06bca7b0 | (16 << 27) /* 0.421058358 */, | ||
2304 | /* 2142 */ 0x06bdbaaa | (16 << 27) /* 0.421320597 */, | ||
2305 | /* 2143 */ 0x06becdb0 | (16 << 27) /* 0.421582878 */, | ||
2306 | |||
2307 | /* 2144 */ 0x06bfe0c0 | (16 << 27) /* 0.421845199 */, | ||
2308 | /* 2145 */ 0x06c0f3db | (16 << 27) /* 0.422107561 */, | ||
2309 | /* 2146 */ 0x06c20702 | (16 << 27) /* 0.422369964 */, | ||
2310 | /* 2147 */ 0x06c31a33 | (16 << 27) /* 0.422632407 */, | ||
2311 | /* 2148 */ 0x06c42d6f | (16 << 27) /* 0.422894891 */, | ||
2312 | /* 2149 */ 0x06c540b6 | (16 << 27) /* 0.423157416 */, | ||
2313 | /* 2150 */ 0x06c65408 | (16 << 27) /* 0.423419982 */, | ||
2314 | /* 2151 */ 0x06c76765 | (16 << 27) /* 0.423682588 */, | ||
2315 | /* 2152 */ 0x06c87acc | (16 << 27) /* 0.423945235 */, | ||
2316 | /* 2153 */ 0x06c98e3f | (16 << 27) /* 0.424207923 */, | ||
2317 | /* 2154 */ 0x06caa1bd | (16 << 27) /* 0.424470652 */, | ||
2318 | /* 2155 */ 0x06cbb545 | (16 << 27) /* 0.424733421 */, | ||
2319 | /* 2156 */ 0x06ccc8d9 | (16 << 27) /* 0.424996230 */, | ||
2320 | /* 2157 */ 0x06cddc77 | (16 << 27) /* 0.425259081 */, | ||
2321 | /* 2158 */ 0x06cef020 | (16 << 27) /* 0.425521972 */, | ||
2322 | /* 2159 */ 0x06d003d4 | (16 << 27) /* 0.425784903 */, | ||
2323 | |||
2324 | /* 2160 */ 0x06d11794 | (16 << 27) /* 0.426047876 */, | ||
2325 | /* 2161 */ 0x06d22b5e | (16 << 27) /* 0.426310889 */, | ||
2326 | /* 2162 */ 0x06d33f32 | (16 << 27) /* 0.426573942 */, | ||
2327 | /* 2163 */ 0x06d45312 | (16 << 27) /* 0.426837036 */, | ||
2328 | /* 2164 */ 0x06d566fd | (16 << 27) /* 0.427100170 */, | ||
2329 | /* 2165 */ 0x06d67af2 | (16 << 27) /* 0.427363345 */, | ||
2330 | /* 2166 */ 0x06d78ef3 | (16 << 27) /* 0.427626561 */, | ||
2331 | /* 2167 */ 0x06d8a2fe | (16 << 27) /* 0.427889817 */, | ||
2332 | /* 2168 */ 0x06d9b714 | (16 << 27) /* 0.428153114 */, | ||
2333 | /* 2169 */ 0x06dacb35 | (16 << 27) /* 0.428416451 */, | ||
2334 | /* 2170 */ 0x06dbdf61 | (16 << 27) /* 0.428679828 */, | ||
2335 | /* 2171 */ 0x06dcf398 | (16 << 27) /* 0.428943246 */, | ||
2336 | /* 2172 */ 0x06de07d9 | (16 << 27) /* 0.429206704 */, | ||
2337 | /* 2173 */ 0x06df1c26 | (16 << 27) /* 0.429470203 */, | ||
2338 | /* 2174 */ 0x06e0307d | (16 << 27) /* 0.429733743 */, | ||
2339 | /* 2175 */ 0x06e144df | (16 << 27) /* 0.429997322 */, | ||
2340 | |||
2341 | /* 2176 */ 0x06e2594c | (16 << 27) /* 0.430260942 */, | ||
2342 | /* 2177 */ 0x06e36dc4 | (16 << 27) /* 0.430524603 */, | ||
2343 | /* 2178 */ 0x06e48246 | (16 << 27) /* 0.430788304 */, | ||
2344 | /* 2179 */ 0x06e596d4 | (16 << 27) /* 0.431052045 */, | ||
2345 | /* 2180 */ 0x06e6ab6c | (16 << 27) /* 0.431315826 */, | ||
2346 | /* 2181 */ 0x06e7c00f | (16 << 27) /* 0.431579648 */, | ||
2347 | /* 2182 */ 0x06e8d4bd | (16 << 27) /* 0.431843511 */, | ||
2348 | /* 2183 */ 0x06e9e976 | (16 << 27) /* 0.432107413 */, | ||
2349 | /* 2184 */ 0x06eafe3a | (16 << 27) /* 0.432371356 */, | ||
2350 | /* 2185 */ 0x06ec1308 | (16 << 27) /* 0.432635339 */, | ||
2351 | /* 2186 */ 0x06ed27e2 | (16 << 27) /* 0.432899362 */, | ||
2352 | /* 2187 */ 0x06ee3cc6 | (16 << 27) /* 0.433163426 */, | ||
2353 | /* 2188 */ 0x06ef51b4 | (16 << 27) /* 0.433427530 */, | ||
2354 | /* 2189 */ 0x06f066ae | (16 << 27) /* 0.433691674 */, | ||
2355 | /* 2190 */ 0x06f17bb3 | (16 << 27) /* 0.433955859 */, | ||
2356 | /* 2191 */ 0x06f290c2 | (16 << 27) /* 0.434220083 */, | ||
2357 | |||
2358 | /* 2192 */ 0x06f3a5dc | (16 << 27) /* 0.434484348 */, | ||
2359 | /* 2193 */ 0x06f4bb01 | (16 << 27) /* 0.434748653 */, | ||
2360 | /* 2194 */ 0x06f5d030 | (16 << 27) /* 0.435012998 */, | ||
2361 | /* 2195 */ 0x06f6e56b | (16 << 27) /* 0.435277383 */, | ||
2362 | /* 2196 */ 0x06f7fab0 | (16 << 27) /* 0.435541809 */, | ||
2363 | /* 2197 */ 0x06f91000 | (16 << 27) /* 0.435806274 */, | ||
2364 | /* 2198 */ 0x06fa255a | (16 << 27) /* 0.436070780 */, | ||
2365 | /* 2199 */ 0x06fb3ac0 | (16 << 27) /* 0.436335326 */, | ||
2366 | /* 2200 */ 0x06fc5030 | (16 << 27) /* 0.436599912 */, | ||
2367 | /* 2201 */ 0x06fd65ab | (16 << 27) /* 0.436864538 */, | ||
2368 | /* 2202 */ 0x06fe7b31 | (16 << 27) /* 0.437129204 */, | ||
2369 | /* 2203 */ 0x06ff90c2 | (16 << 27) /* 0.437393910 */, | ||
2370 | /* 2204 */ 0x0700a65d | (16 << 27) /* 0.437658657 */, | ||
2371 | /* 2205 */ 0x0701bc03 | (16 << 27) /* 0.437923443 */, | ||
2372 | /* 2206 */ 0x0702d1b4 | (16 << 27) /* 0.438188269 */, | ||
2373 | /* 2207 */ 0x0703e76f | (16 << 27) /* 0.438453136 */, | ||
2374 | |||
2375 | /* 2208 */ 0x0704fd35 | (16 << 27) /* 0.438718042 */, | ||
2376 | /* 2209 */ 0x07061306 | (16 << 27) /* 0.438982988 */, | ||
2377 | /* 2210 */ 0x070728e2 | (16 << 27) /* 0.439247975 */, | ||
2378 | /* 2211 */ 0x07083ec9 | (16 << 27) /* 0.439513001 */, | ||
2379 | /* 2212 */ 0x070954ba | (16 << 27) /* 0.439778067 */, | ||
2380 | /* 2213 */ 0x070a6ab6 | (16 << 27) /* 0.440043173 */, | ||
2381 | /* 2214 */ 0x070b80bc | (16 << 27) /* 0.440308320 */, | ||
2382 | /* 2215 */ 0x070c96ce | (16 << 27) /* 0.440573506 */, | ||
2383 | /* 2216 */ 0x070dacea | (16 << 27) /* 0.440838732 */, | ||
2384 | /* 2217 */ 0x070ec310 | (16 << 27) /* 0.441103997 */, | ||
2385 | /* 2218 */ 0x070fd942 | (16 << 27) /* 0.441369303 */, | ||
2386 | /* 2219 */ 0x0710ef7e | (16 << 27) /* 0.441634649 */, | ||
2387 | /* 2220 */ 0x071205c5 | (16 << 27) /* 0.441900034 */, | ||
2388 | /* 2221 */ 0x07131c17 | (16 << 27) /* 0.442165460 */, | ||
2389 | /* 2222 */ 0x07143273 | (16 << 27) /* 0.442430925 */, | ||
2390 | /* 2223 */ 0x071548da | (16 << 27) /* 0.442696430 */, | ||
2391 | |||
2392 | /* 2224 */ 0x07165f4b | (16 << 27) /* 0.442961975 */, | ||
2393 | /* 2225 */ 0x071775c8 | (16 << 27) /* 0.443227559 */, | ||
2394 | /* 2226 */ 0x07188c4f | (16 << 27) /* 0.443493184 */, | ||
2395 | /* 2227 */ 0x0719a2e0 | (16 << 27) /* 0.443758848 */, | ||
2396 | /* 2228 */ 0x071ab97d | (16 << 27) /* 0.444024552 */, | ||
2397 | /* 2229 */ 0x071bd024 | (16 << 27) /* 0.444290296 */, | ||
2398 | /* 2230 */ 0x071ce6d6 | (16 << 27) /* 0.444556079 */, | ||
2399 | /* 2231 */ 0x071dfd92 | (16 << 27) /* 0.444821902 */, | ||
2400 | /* 2232 */ 0x071f1459 | (16 << 27) /* 0.445087765 */, | ||
2401 | /* 2233 */ 0x07202b2b | (16 << 27) /* 0.445353668 */, | ||
2402 | /* 2234 */ 0x07214207 | (16 << 27) /* 0.445619610 */, | ||
2403 | /* 2235 */ 0x072258ee | (16 << 27) /* 0.445885592 */, | ||
2404 | /* 2236 */ 0x07236fe0 | (16 << 27) /* 0.446151614 */, | ||
2405 | /* 2237 */ 0x072486dc | (16 << 27) /* 0.446417675 */, | ||
2406 | /* 2238 */ 0x07259de3 | (16 << 27) /* 0.446683776 */, | ||
2407 | /* 2239 */ 0x0726b4f4 | (16 << 27) /* 0.446949917 */, | ||
2408 | |||
2409 | /* 2240 */ 0x0727cc11 | (16 << 27) /* 0.447216097 */, | ||
2410 | /* 2241 */ 0x0728e338 | (16 << 27) /* 0.447482317 */, | ||
2411 | /* 2242 */ 0x0729fa69 | (16 << 27) /* 0.447748576 */, | ||
2412 | /* 2243 */ 0x072b11a5 | (16 << 27) /* 0.448014875 */, | ||
2413 | /* 2244 */ 0x072c28ec | (16 << 27) /* 0.448281214 */, | ||
2414 | /* 2245 */ 0x072d403d | (16 << 27) /* 0.448547592 */, | ||
2415 | /* 2246 */ 0x072e5799 | (16 << 27) /* 0.448814010 */, | ||
2416 | /* 2247 */ 0x072f6f00 | (16 << 27) /* 0.449080467 */, | ||
2417 | /* 2248 */ 0x07308671 | (16 << 27) /* 0.449346964 */, | ||
2418 | /* 2249 */ 0x07319ded | (16 << 27) /* 0.449613501 */, | ||
2419 | /* 2250 */ 0x0732b573 | (16 << 27) /* 0.449880076 */, | ||
2420 | /* 2251 */ 0x0733cd04 | (16 << 27) /* 0.450146692 */, | ||
2421 | /* 2252 */ 0x0734e4a0 | (16 << 27) /* 0.450413347 */, | ||
2422 | /* 2253 */ 0x0735fc46 | (16 << 27) /* 0.450680041 */, | ||
2423 | /* 2254 */ 0x073713f7 | (16 << 27) /* 0.450946775 */, | ||
2424 | /* 2255 */ 0x07382bb2 | (16 << 27) /* 0.451213548 */, | ||
2425 | |||
2426 | /* 2256 */ 0x07394378 | (16 << 27) /* 0.451480360 */, | ||
2427 | /* 2257 */ 0x073a5b49 | (16 << 27) /* 0.451747213 */, | ||
2428 | /* 2258 */ 0x073b7324 | (16 << 27) /* 0.452014104 */, | ||
2429 | /* 2259 */ 0x073c8b0a | (16 << 27) /* 0.452281035 */, | ||
2430 | /* 2260 */ 0x073da2fa | (16 << 27) /* 0.452548005 */, | ||
2431 | /* 2261 */ 0x073ebaf5 | (16 << 27) /* 0.452815015 */, | ||
2432 | /* 2262 */ 0x073fd2fa | (16 << 27) /* 0.453082064 */, | ||
2433 | /* 2263 */ 0x0740eb0a | (16 << 27) /* 0.453349152 */, | ||
2434 | /* 2264 */ 0x07420325 | (16 << 27) /* 0.453616280 */, | ||
2435 | /* 2265 */ 0x07431b4a | (16 << 27) /* 0.453883447 */, | ||
2436 | /* 2266 */ 0x0744337a | (16 << 27) /* 0.454150653 */, | ||
2437 | /* 2267 */ 0x07454bb4 | (16 << 27) /* 0.454417899 */, | ||
2438 | /* 2268 */ 0x074663f8 | (16 << 27) /* 0.454685184 */, | ||
2439 | /* 2269 */ 0x07477c48 | (16 << 27) /* 0.454952508 */, | ||
2440 | /* 2270 */ 0x074894a2 | (16 << 27) /* 0.455219872 */, | ||
2441 | /* 2271 */ 0x0749ad06 | (16 << 27) /* 0.455487275 */, | ||
2442 | |||
2443 | /* 2272 */ 0x074ac575 | (16 << 27) /* 0.455754717 */, | ||
2444 | /* 2273 */ 0x074bddee | (16 << 27) /* 0.456022198 */, | ||
2445 | /* 2274 */ 0x074cf672 | (16 << 27) /* 0.456289719 */, | ||
2446 | /* 2275 */ 0x074e0f01 | (16 << 27) /* 0.456557278 */, | ||
2447 | /* 2276 */ 0x074f279a | (16 << 27) /* 0.456824877 */, | ||
2448 | /* 2277 */ 0x0750403e | (16 << 27) /* 0.457092516 */, | ||
2449 | /* 2278 */ 0x075158ec | (16 << 27) /* 0.457360193 */, | ||
2450 | /* 2279 */ 0x075271a4 | (16 << 27) /* 0.457627909 */, | ||
2451 | /* 2280 */ 0x07538a67 | (16 << 27) /* 0.457895665 */, | ||
2452 | /* 2281 */ 0x0754a335 | (16 << 27) /* 0.458163460 */, | ||
2453 | /* 2282 */ 0x0755bc0d | (16 << 27) /* 0.458431294 */, | ||
2454 | /* 2283 */ 0x0756d4f0 | (16 << 27) /* 0.458699167 */, | ||
2455 | /* 2284 */ 0x0757eddd | (16 << 27) /* 0.458967079 */, | ||
2456 | /* 2285 */ 0x075906d5 | (16 << 27) /* 0.459235030 */, | ||
2457 | /* 2286 */ 0x075a1fd7 | (16 << 27) /* 0.459503021 */, | ||
2458 | /* 2287 */ 0x075b38e3 | (16 << 27) /* 0.459771050 */, | ||
2459 | |||
2460 | /* 2288 */ 0x075c51fa | (16 << 27) /* 0.460039119 */, | ||
2461 | /* 2289 */ 0x075d6b1c | (16 << 27) /* 0.460307226 */, | ||
2462 | /* 2290 */ 0x075e8448 | (16 << 27) /* 0.460575373 */, | ||
2463 | /* 2291 */ 0x075f9d7f | (16 << 27) /* 0.460843559 */, | ||
2464 | /* 2292 */ 0x0760b6c0 | (16 << 27) /* 0.461111783 */, | ||
2465 | /* 2293 */ 0x0761d00b | (16 << 27) /* 0.461380047 */, | ||
2466 | /* 2294 */ 0x0762e961 | (16 << 27) /* 0.461648350 */, | ||
2467 | /* 2295 */ 0x076402c1 | (16 << 27) /* 0.461916691 */, | ||
2468 | /* 2296 */ 0x07651c2c | (16 << 27) /* 0.462185072 */, | ||
2469 | /* 2297 */ 0x076635a2 | (16 << 27) /* 0.462453492 */, | ||
2470 | /* 2298 */ 0x07674f22 | (16 << 27) /* 0.462721950 */, | ||
2471 | /* 2299 */ 0x076868ac | (16 << 27) /* 0.462990448 */, | ||
2472 | /* 2300 */ 0x07698240 | (16 << 27) /* 0.463258984 */, | ||
2473 | /* 2301 */ 0x076a9be0 | (16 << 27) /* 0.463527560 */, | ||
2474 | /* 2302 */ 0x076bb589 | (16 << 27) /* 0.463796174 */, | ||
2475 | /* 2303 */ 0x076ccf3d | (16 << 27) /* 0.464064827 */, | ||
2476 | |||
2477 | /* 2304 */ 0x076de8fc | (16 << 27) /* 0.464333519 */, | ||
2478 | /* 2305 */ 0x076f02c5 | (16 << 27) /* 0.464602250 */, | ||
2479 | /* 2306 */ 0x07701c98 | (16 << 27) /* 0.464871020 */, | ||
2480 | /* 2307 */ 0x07713676 | (16 << 27) /* 0.465139829 */, | ||
2481 | /* 2308 */ 0x0772505e | (16 << 27) /* 0.465408676 */, | ||
2482 | /* 2309 */ 0x07736a51 | (16 << 27) /* 0.465677563 */, | ||
2483 | /* 2310 */ 0x0774844e | (16 << 27) /* 0.465946488 */, | ||
2484 | /* 2311 */ 0x07759e55 | (16 << 27) /* 0.466215452 */, | ||
2485 | /* 2312 */ 0x0776b867 | (16 << 27) /* 0.466484455 */, | ||
2486 | /* 2313 */ 0x0777d283 | (16 << 27) /* 0.466753496 */, | ||
2487 | /* 2314 */ 0x0778ecaa | (16 << 27) /* 0.467022577 */, | ||
2488 | /* 2315 */ 0x077a06db | (16 << 27) /* 0.467291696 */, | ||
2489 | /* 2316 */ 0x077b2117 | (16 << 27) /* 0.467560854 */, | ||
2490 | /* 2317 */ 0x077c3b5d | (16 << 27) /* 0.467830050 */, | ||
2491 | /* 2318 */ 0x077d55ad | (16 << 27) /* 0.468099285 */, | ||
2492 | /* 2319 */ 0x077e7008 | (16 << 27) /* 0.468368560 */, | ||
2493 | |||
2494 | /* 2320 */ 0x077f8a6d | (16 << 27) /* 0.468637872 */, | ||
2495 | /* 2321 */ 0x0780a4dc | (16 << 27) /* 0.468907224 */, | ||
2496 | /* 2322 */ 0x0781bf56 | (16 << 27) /* 0.469176614 */, | ||
2497 | /* 2323 */ 0x0782d9da | (16 << 27) /* 0.469446043 */, | ||
2498 | /* 2324 */ 0x0783f469 | (16 << 27) /* 0.469715510 */, | ||
2499 | /* 2325 */ 0x07850f02 | (16 << 27) /* 0.469985016 */, | ||
2500 | /* 2326 */ 0x078629a5 | (16 << 27) /* 0.470254561 */, | ||
2501 | /* 2327 */ 0x07874453 | (16 << 27) /* 0.470524145 */, | ||
2502 | /* 2328 */ 0x07885f0b | (16 << 27) /* 0.470793767 */, | ||
2503 | /* 2329 */ 0x078979ce | (16 << 27) /* 0.471063427 */, | ||
2504 | /* 2330 */ 0x078a949a | (16 << 27) /* 0.471333126 */, | ||
2505 | /* 2331 */ 0x078baf72 | (16 << 27) /* 0.471602864 */, | ||
2506 | /* 2332 */ 0x078cca53 | (16 << 27) /* 0.471872641 */, | ||
2507 | /* 2333 */ 0x078de53f | (16 << 27) /* 0.472142456 */, | ||
2508 | /* 2334 */ 0x078f0035 | (16 << 27) /* 0.472412309 */, | ||
2509 | /* 2335 */ 0x07901b36 | (16 << 27) /* 0.472682201 */, | ||
2510 | |||
2511 | /* 2336 */ 0x07913641 | (16 << 27) /* 0.472952132 */, | ||
2512 | /* 2337 */ 0x07925156 | (16 << 27) /* 0.473222101 */, | ||
2513 | /* 2338 */ 0x07936c76 | (16 << 27) /* 0.473492108 */, | ||
2514 | /* 2339 */ 0x079487a0 | (16 << 27) /* 0.473762155 */, | ||
2515 | /* 2340 */ 0x0795a2d4 | (16 << 27) /* 0.474032239 */, | ||
2516 | /* 2341 */ 0x0796be13 | (16 << 27) /* 0.474302362 */, | ||
2517 | /* 2342 */ 0x0797d95c | (16 << 27) /* 0.474572524 */, | ||
2518 | /* 2343 */ 0x0798f4af | (16 << 27) /* 0.474842724 */, | ||
2519 | /* 2344 */ 0x079a100c | (16 << 27) /* 0.475112962 */, | ||
2520 | /* 2345 */ 0x079b2b74 | (16 << 27) /* 0.475383239 */, | ||
2521 | /* 2346 */ 0x079c46e7 | (16 << 27) /* 0.475653554 */, | ||
2522 | /* 2347 */ 0x079d6263 | (16 << 27) /* 0.475923908 */, | ||
2523 | /* 2348 */ 0x079e7dea | (16 << 27) /* 0.476194300 */, | ||
2524 | /* 2349 */ 0x079f997b | (16 << 27) /* 0.476464731 */, | ||
2525 | /* 2350 */ 0x07a0b516 | (16 << 27) /* 0.476735200 */, | ||
2526 | /* 2351 */ 0x07a1d0bc | (16 << 27) /* 0.477005707 */, | ||
2527 | |||
2528 | /* 2352 */ 0x07a2ec6c | (16 << 27) /* 0.477276252 */, | ||
2529 | /* 2353 */ 0x07a40827 | (16 << 27) /* 0.477546836 */, | ||
2530 | /* 2354 */ 0x07a523eb | (16 << 27) /* 0.477817459 */, | ||
2531 | /* 2355 */ 0x07a63fba | (16 << 27) /* 0.478088119 */, | ||
2532 | /* 2356 */ 0x07a75b93 | (16 << 27) /* 0.478358818 */, | ||
2533 | /* 2357 */ 0x07a87777 | (16 << 27) /* 0.478629555 */, | ||
2534 | /* 2358 */ 0x07a99364 | (16 << 27) /* 0.478900331 */, | ||
2535 | /* 2359 */ 0x07aaaf5c | (16 << 27) /* 0.479171145 */, | ||
2536 | /* 2360 */ 0x07abcb5f | (16 << 27) /* 0.479441997 */, | ||
2537 | /* 2361 */ 0x07ace76b | (16 << 27) /* 0.479712887 */, | ||
2538 | /* 2362 */ 0x07ae0382 | (16 << 27) /* 0.479983816 */, | ||
2539 | /* 2363 */ 0x07af1fa3 | (16 << 27) /* 0.480254782 */, | ||
2540 | /* 2364 */ 0x07b03bcf | (16 << 27) /* 0.480525787 */, | ||
2541 | /* 2365 */ 0x07b15804 | (16 << 27) /* 0.480796831 */, | ||
2542 | /* 2366 */ 0x07b27444 | (16 << 27) /* 0.481067912 */, | ||
2543 | /* 2367 */ 0x07b3908e | (16 << 27) /* 0.481339032 */, | ||
2544 | |||
2545 | /* 2368 */ 0x07b4ace3 | (16 << 27) /* 0.481610189 */, | ||
2546 | /* 2369 */ 0x07b5c941 | (16 << 27) /* 0.481881385 */, | ||
2547 | /* 2370 */ 0x07b6e5aa | (16 << 27) /* 0.482152620 */, | ||
2548 | /* 2371 */ 0x07b8021d | (16 << 27) /* 0.482423892 */, | ||
2549 | /* 2372 */ 0x07b91e9b | (16 << 27) /* 0.482695202 */, | ||
2550 | /* 2373 */ 0x07ba3b22 | (16 << 27) /* 0.482966551 */, | ||
2551 | /* 2374 */ 0x07bb57b4 | (16 << 27) /* 0.483237938 */, | ||
2552 | /* 2375 */ 0x07bc7450 | (16 << 27) /* 0.483509362 */, | ||
2553 | /* 2376 */ 0x07bd90f6 | (16 << 27) /* 0.483780825 */, | ||
2554 | /* 2377 */ 0x07beada7 | (16 << 27) /* 0.484052326 */, | ||
2555 | /* 2378 */ 0x07bfca61 | (16 << 27) /* 0.484323865 */, | ||
2556 | /* 2379 */ 0x07c0e726 | (16 << 27) /* 0.484595443 */, | ||
2557 | /* 2380 */ 0x07c203f5 | (16 << 27) /* 0.484867058 */, | ||
2558 | /* 2381 */ 0x07c320cf | (16 << 27) /* 0.485138711 */, | ||
2559 | /* 2382 */ 0x07c43db2 | (16 << 27) /* 0.485410402 */, | ||
2560 | /* 2383 */ 0x07c55aa0 | (16 << 27) /* 0.485682131 */, | ||
2561 | |||
2562 | /* 2384 */ 0x07c67798 | (16 << 27) /* 0.485953899 */, | ||
2563 | /* 2385 */ 0x07c7949a | (16 << 27) /* 0.486225704 */, | ||
2564 | /* 2386 */ 0x07c8b1a7 | (16 << 27) /* 0.486497547 */, | ||
2565 | /* 2387 */ 0x07c9cebd | (16 << 27) /* 0.486769429 */, | ||
2566 | /* 2388 */ 0x07caebde | (16 << 27) /* 0.487041348 */, | ||
2567 | /* 2389 */ 0x07cc0909 | (16 << 27) /* 0.487313305 */, | ||
2568 | /* 2390 */ 0x07cd263e | (16 << 27) /* 0.487585300 */, | ||
2569 | /* 2391 */ 0x07ce437d | (16 << 27) /* 0.487857333 */, | ||
2570 | /* 2392 */ 0x07cf60c7 | (16 << 27) /* 0.488129404 */, | ||
2571 | /* 2393 */ 0x07d07e1b | (16 << 27) /* 0.488401513 */, | ||
2572 | /* 2394 */ 0x07d19b79 | (16 << 27) /* 0.488673660 */, | ||
2573 | /* 2395 */ 0x07d2b8e1 | (16 << 27) /* 0.488945845 */, | ||
2574 | /* 2396 */ 0x07d3d653 | (16 << 27) /* 0.489218067 */, | ||
2575 | /* 2397 */ 0x07d4f3cf | (16 << 27) /* 0.489490328 */, | ||
2576 | /* 2398 */ 0x07d61156 | (16 << 27) /* 0.489762626 */, | ||
2577 | /* 2399 */ 0x07d72ee6 | (16 << 27) /* 0.490034962 */, | ||
2578 | |||
2579 | /* 2400 */ 0x07d84c81 | (16 << 27) /* 0.490307336 */, | ||
2580 | /* 2401 */ 0x07d96a26 | (16 << 27) /* 0.490579748 */, | ||
2581 | /* 2402 */ 0x07da87d5 | (16 << 27) /* 0.490852198 */, | ||
2582 | /* 2403 */ 0x07dba58f | (16 << 27) /* 0.491124686 */, | ||
2583 | /* 2404 */ 0x07dcc352 | (16 << 27) /* 0.491397211 */, | ||
2584 | /* 2405 */ 0x07dde120 | (16 << 27) /* 0.491669774 */, | ||
2585 | /* 2406 */ 0x07defef7 | (16 << 27) /* 0.491942375 */, | ||
2586 | /* 2407 */ 0x07e01cd9 | (16 << 27) /* 0.492215014 */, | ||
2587 | /* 2408 */ 0x07e13ac5 | (16 << 27) /* 0.492487690 */, | ||
2588 | /* 2409 */ 0x07e258bc | (16 << 27) /* 0.492760404 */, | ||
2589 | /* 2410 */ 0x07e376bc | (16 << 27) /* 0.493033156 */, | ||
2590 | /* 2411 */ 0x07e494c6 | (16 << 27) /* 0.493305946 */, | ||
2591 | /* 2412 */ 0x07e5b2db | (16 << 27) /* 0.493578773 */, | ||
2592 | /* 2413 */ 0x07e6d0f9 | (16 << 27) /* 0.493851638 */, | ||
2593 | /* 2414 */ 0x07e7ef22 | (16 << 27) /* 0.494124541 */, | ||
2594 | /* 2415 */ 0x07e90d55 | (16 << 27) /* 0.494397481 */, | ||
2595 | |||
2596 | /* 2416 */ 0x07ea2b92 | (16 << 27) /* 0.494670459 */, | ||
2597 | /* 2417 */ 0x07eb49d9 | (16 << 27) /* 0.494943475 */, | ||
2598 | /* 2418 */ 0x07ec682a | (16 << 27) /* 0.495216529 */, | ||
2599 | /* 2419 */ 0x07ed8686 | (16 << 27) /* 0.495489620 */, | ||
2600 | /* 2420 */ 0x07eea4eb | (16 << 27) /* 0.495762748 */, | ||
2601 | /* 2421 */ 0x07efc35b | (16 << 27) /* 0.496035915 */, | ||
2602 | /* 2422 */ 0x07f0e1d4 | (16 << 27) /* 0.496309119 */, | ||
2603 | /* 2423 */ 0x07f20058 | (16 << 27) /* 0.496582360 */, | ||
2604 | /* 2424 */ 0x07f31ee6 | (16 << 27) /* 0.496855639 */, | ||
2605 | /* 2425 */ 0x07f43d7e | (16 << 27) /* 0.497128956 */, | ||
2606 | /* 2426 */ 0x07f55c20 | (16 << 27) /* 0.497402310 */, | ||
2607 | /* 2427 */ 0x07f67acc | (16 << 27) /* 0.497675702 */, | ||
2608 | /* 2428 */ 0x07f79982 | (16 << 27) /* 0.497949132 */, | ||
2609 | /* 2429 */ 0x07f8b842 | (16 << 27) /* 0.498222598 */, | ||
2610 | /* 2430 */ 0x07f9d70c | (16 << 27) /* 0.498496103 */, | ||
2611 | /* 2431 */ 0x07faf5e1 | (16 << 27) /* 0.498769645 */, | ||
2612 | |||
2613 | /* 2432 */ 0x07fc14bf | (16 << 27) /* 0.499043224 */, | ||
2614 | /* 2433 */ 0x07fd33a8 | (16 << 27) /* 0.499316841 */, | ||
2615 | /* 2434 */ 0x07fe529a | (16 << 27) /* 0.499590496 */, | ||
2616 | /* 2435 */ 0x07ff7197 | (16 << 27) /* 0.499864188 */, | ||
2617 | /* 2436 */ 0x0400484f | (17 << 27) /* 0.250068959 */, | ||
2618 | /* 2437 */ 0x0400d7d7 | (17 << 27) /* 0.250205842 */, | ||
2619 | /* 2438 */ 0x04016764 | (17 << 27) /* 0.250342744 */, | ||
2620 | /* 2439 */ 0x0401f6f7 | (17 << 27) /* 0.250479665 */, | ||
2621 | /* 2440 */ 0x0402868e | (17 << 27) /* 0.250616605 */, | ||
2622 | /* 2441 */ 0x0403162b | (17 << 27) /* 0.250753563 */, | ||
2623 | /* 2442 */ 0x0403a5cc | (17 << 27) /* 0.250890540 */, | ||
2624 | /* 2443 */ 0x04043573 | (17 << 27) /* 0.251027536 */, | ||
2625 | /* 2444 */ 0x0404c51e | (17 << 27) /* 0.251164550 */, | ||
2626 | /* 2445 */ 0x040554cf | (17 << 27) /* 0.251301583 */, | ||
2627 | /* 2446 */ 0x0405e484 | (17 << 27) /* 0.251438635 */, | ||
2628 | /* 2447 */ 0x0406743f | (17 << 27) /* 0.251575706 */, | ||
2629 | |||
2630 | /* 2448 */ 0x040703ff | (17 << 27) /* 0.251712795 */, | ||
2631 | /* 2449 */ 0x040793c3 | (17 << 27) /* 0.251849903 */, | ||
2632 | /* 2450 */ 0x0408238d | (17 << 27) /* 0.251987029 */, | ||
2633 | /* 2451 */ 0x0408b35b | (17 << 27) /* 0.252124174 */, | ||
2634 | /* 2452 */ 0x0409432f | (17 << 27) /* 0.252261338 */, | ||
2635 | /* 2453 */ 0x0409d308 | (17 << 27) /* 0.252398520 */, | ||
2636 | /* 2454 */ 0x040a62e5 | (17 << 27) /* 0.252535721 */, | ||
2637 | /* 2455 */ 0x040af2c8 | (17 << 27) /* 0.252672941 */, | ||
2638 | /* 2456 */ 0x040b82b0 | (17 << 27) /* 0.252810180 */, | ||
2639 | /* 2457 */ 0x040c129c | (17 << 27) /* 0.252947436 */, | ||
2640 | /* 2458 */ 0x040ca28e | (17 << 27) /* 0.253084712 */, | ||
2641 | /* 2459 */ 0x040d3284 | (17 << 27) /* 0.253222006 */, | ||
2642 | /* 2460 */ 0x040dc280 | (17 << 27) /* 0.253359319 */, | ||
2643 | /* 2461 */ 0x040e5281 | (17 << 27) /* 0.253496651 */, | ||
2644 | /* 2462 */ 0x040ee286 | (17 << 27) /* 0.253634001 */, | ||
2645 | /* 2463 */ 0x040f7291 | (17 << 27) /* 0.253771369 */, | ||
2646 | |||
2647 | /* 2464 */ 0x041002a1 | (17 << 27) /* 0.253908756 */, | ||
2648 | /* 2465 */ 0x041092b5 | (17 << 27) /* 0.254046162 */, | ||
2649 | /* 2466 */ 0x041122cf | (17 << 27) /* 0.254183587 */, | ||
2650 | /* 2467 */ 0x0411b2ed | (17 << 27) /* 0.254321030 */, | ||
2651 | /* 2468 */ 0x04124311 | (17 << 27) /* 0.254458491 */, | ||
2652 | /* 2469 */ 0x0412d339 | (17 << 27) /* 0.254595971 */, | ||
2653 | /* 2470 */ 0x04136367 | (17 << 27) /* 0.254733470 */, | ||
2654 | /* 2471 */ 0x0413f399 | (17 << 27) /* 0.254870987 */, | ||
2655 | /* 2472 */ 0x041483d1 | (17 << 27) /* 0.255008523 */, | ||
2656 | /* 2473 */ 0x0415140d | (17 << 27) /* 0.255146077 */, | ||
2657 | /* 2474 */ 0x0415a44f | (17 << 27) /* 0.255283650 */, | ||
2658 | /* 2475 */ 0x04163495 | (17 << 27) /* 0.255421241 */, | ||
2659 | /* 2476 */ 0x0416c4e1 | (17 << 27) /* 0.255558851 */, | ||
2660 | /* 2477 */ 0x04175531 | (17 << 27) /* 0.255696480 */, | ||
2661 | /* 2478 */ 0x0417e586 | (17 << 27) /* 0.255834127 */, | ||
2662 | /* 2479 */ 0x041875e1 | (17 << 27) /* 0.255971792 */, | ||
2663 | |||
2664 | /* 2480 */ 0x04190640 | (17 << 27) /* 0.256109476 */, | ||
2665 | /* 2481 */ 0x041996a4 | (17 << 27) /* 0.256247179 */, | ||
2666 | /* 2482 */ 0x041a270d | (17 << 27) /* 0.256384900 */, | ||
2667 | /* 2483 */ 0x041ab77b | (17 << 27) /* 0.256522639 */, | ||
2668 | /* 2484 */ 0x041b47ef | (17 << 27) /* 0.256660397 */, | ||
2669 | /* 2485 */ 0x041bd867 | (17 << 27) /* 0.256798174 */, | ||
2670 | /* 2486 */ 0x041c68e4 | (17 << 27) /* 0.256935969 */, | ||
2671 | /* 2487 */ 0x041cf966 | (17 << 27) /* 0.257073782 */, | ||
2672 | /* 2488 */ 0x041d89ed | (17 << 27) /* 0.257211614 */, | ||
2673 | /* 2489 */ 0x041e1a79 | (17 << 27) /* 0.257349465 */, | ||
2674 | /* 2490 */ 0x041eab0a | (17 << 27) /* 0.257487334 */, | ||
2675 | /* 2491 */ 0x041f3b9f | (17 << 27) /* 0.257625221 */, | ||
2676 | /* 2492 */ 0x041fcc3a | (17 << 27) /* 0.257763127 */, | ||
2677 | /* 2493 */ 0x04205cda | (17 << 27) /* 0.257901051 */, | ||
2678 | /* 2494 */ 0x0420ed7f | (17 << 27) /* 0.258038994 */, | ||
2679 | /* 2495 */ 0x04217e28 | (17 << 27) /* 0.258176955 */, | ||
2680 | |||
2681 | /* 2496 */ 0x04220ed7 | (17 << 27) /* 0.258314934 */, | ||
2682 | /* 2497 */ 0x04229f8a | (17 << 27) /* 0.258452932 */, | ||
2683 | /* 2498 */ 0x04233043 | (17 << 27) /* 0.258590948 */, | ||
2684 | /* 2499 */ 0x0423c100 | (17 << 27) /* 0.258728983 */, | ||
2685 | /* 2500 */ 0x042451c3 | (17 << 27) /* 0.258867036 */, | ||
2686 | /* 2501 */ 0x0424e28a | (17 << 27) /* 0.259005108 */, | ||
2687 | /* 2502 */ 0x04257356 | (17 << 27) /* 0.259143198 */, | ||
2688 | /* 2503 */ 0x04260428 | (17 << 27) /* 0.259281307 */, | ||
2689 | /* 2504 */ 0x042694fe | (17 << 27) /* 0.259419433 */, | ||
2690 | /* 2505 */ 0x042725d9 | (17 << 27) /* 0.259557579 */, | ||
2691 | /* 2506 */ 0x0427b6b9 | (17 << 27) /* 0.259695742 */, | ||
2692 | /* 2507 */ 0x0428479e | (17 << 27) /* 0.259833924 */, | ||
2693 | /* 2508 */ 0x0428d888 | (17 << 27) /* 0.259972124 */, | ||
2694 | /* 2509 */ 0x04296976 | (17 << 27) /* 0.260110343 */, | ||
2695 | /* 2510 */ 0x0429fa6a | (17 << 27) /* 0.260248580 */, | ||
2696 | /* 2511 */ 0x042a8b63 | (17 << 27) /* 0.260386836 */, | ||
2697 | |||
2698 | /* 2512 */ 0x042b1c60 | (17 << 27) /* 0.260525110 */, | ||
2699 | /* 2513 */ 0x042bad63 | (17 << 27) /* 0.260663402 */, | ||
2700 | /* 2514 */ 0x042c3e6a | (17 << 27) /* 0.260801712 */, | ||
2701 | /* 2515 */ 0x042ccf77 | (17 << 27) /* 0.260940041 */, | ||
2702 | /* 2516 */ 0x042d6088 | (17 << 27) /* 0.261078388 */, | ||
2703 | /* 2517 */ 0x042df19e | (17 << 27) /* 0.261216754 */, | ||
2704 | /* 2518 */ 0x042e82b9 | (17 << 27) /* 0.261355137 */, | ||
2705 | /* 2519 */ 0x042f13d9 | (17 << 27) /* 0.261493540 */, | ||
2706 | /* 2520 */ 0x042fa4fe | (17 << 27) /* 0.261631960 */, | ||
2707 | /* 2521 */ 0x04303628 | (17 << 27) /* 0.261770399 */, | ||
2708 | /* 2522 */ 0x0430c757 | (17 << 27) /* 0.261908856 */, | ||
2709 | /* 2523 */ 0x0431588b | (17 << 27) /* 0.262047331 */, | ||
2710 | /* 2524 */ 0x0431e9c3 | (17 << 27) /* 0.262185825 */, | ||
2711 | /* 2525 */ 0x04327b01 | (17 << 27) /* 0.262324337 */, | ||
2712 | /* 2526 */ 0x04330c43 | (17 << 27) /* 0.262462867 */, | ||
2713 | /* 2527 */ 0x04339d8a | (17 << 27) /* 0.262601416 */, | ||
2714 | |||
2715 | /* 2528 */ 0x04342ed7 | (17 << 27) /* 0.262739982 */, | ||
2716 | /* 2529 */ 0x0434c028 | (17 << 27) /* 0.262878568 */, | ||
2717 | /* 2530 */ 0x0435517e | (17 << 27) /* 0.263017171 */, | ||
2718 | /* 2531 */ 0x0435e2d9 | (17 << 27) /* 0.263155792 */, | ||
2719 | /* 2532 */ 0x04367439 | (17 << 27) /* 0.263294432 */, | ||
2720 | /* 2533 */ 0x0437059e | (17 << 27) /* 0.263433090 */, | ||
2721 | /* 2534 */ 0x04379707 | (17 << 27) /* 0.263571767 */, | ||
2722 | /* 2535 */ 0x04382876 | (17 << 27) /* 0.263710461 */, | ||
2723 | /* 2536 */ 0x0438b9e9 | (17 << 27) /* 0.263849174 */, | ||
2724 | /* 2537 */ 0x04394b61 | (17 << 27) /* 0.263987905 */, | ||
2725 | /* 2538 */ 0x0439dcdf | (17 << 27) /* 0.264126655 */, | ||
2726 | /* 2539 */ 0x043a6e61 | (17 << 27) /* 0.264265422 */, | ||
2727 | /* 2540 */ 0x043affe8 | (17 << 27) /* 0.264404208 */, | ||
2728 | /* 2541 */ 0x043b9174 | (17 << 27) /* 0.264543012 */, | ||
2729 | /* 2542 */ 0x043c2305 | (17 << 27) /* 0.264681834 */, | ||
2730 | /* 2543 */ 0x043cb49a | (17 << 27) /* 0.264820674 */, | ||
2731 | |||
2732 | /* 2544 */ 0x043d4635 | (17 << 27) /* 0.264959533 */, | ||
2733 | /* 2545 */ 0x043dd7d4 | (17 << 27) /* 0.265098410 */, | ||
2734 | /* 2546 */ 0x043e6979 | (17 << 27) /* 0.265237305 */, | ||
2735 | /* 2547 */ 0x043efb22 | (17 << 27) /* 0.265376218 */, | ||
2736 | /* 2548 */ 0x043f8cd0 | (17 << 27) /* 0.265515149 */, | ||
2737 | /* 2549 */ 0x04401e83 | (17 << 27) /* 0.265654099 */, | ||
2738 | /* 2550 */ 0x0440b03b | (17 << 27) /* 0.265793066 */, | ||
2739 | /* 2551 */ 0x044141f7 | (17 << 27) /* 0.265932052 */, | ||
2740 | /* 2552 */ 0x0441d3b9 | (17 << 27) /* 0.266071056 */, | ||
2741 | /* 2553 */ 0x04426580 | (17 << 27) /* 0.266210078 */, | ||
2742 | /* 2554 */ 0x0442f74b | (17 << 27) /* 0.266349119 */, | ||
2743 | /* 2555 */ 0x0443891b | (17 << 27) /* 0.266488177 */, | ||
2744 | /* 2556 */ 0x04441af0 | (17 << 27) /* 0.266627254 */, | ||
2745 | /* 2557 */ 0x0444acca | (17 << 27) /* 0.266766349 */, | ||
2746 | /* 2558 */ 0x04453ea9 | (17 << 27) /* 0.266905462 */, | ||
2747 | /* 2559 */ 0x0445d08d | (17 << 27) /* 0.267044593 */, | ||
2748 | |||
2749 | /* 2560 */ 0x04466275 | (17 << 27) /* 0.267183742 */, | ||
2750 | /* 2561 */ 0x0446f463 | (17 << 27) /* 0.267322909 */, | ||
2751 | /* 2562 */ 0x04478655 | (17 << 27) /* 0.267462094 */, | ||
2752 | /* 2563 */ 0x0448184c | (17 << 27) /* 0.267601298 */, | ||
2753 | /* 2564 */ 0x0448aa48 | (17 << 27) /* 0.267740519 */, | ||
2754 | /* 2565 */ 0x04493c49 | (17 << 27) /* 0.267879759 */, | ||
2755 | /* 2566 */ 0x0449ce4f | (17 << 27) /* 0.268019017 */, | ||
2756 | /* 2567 */ 0x044a6059 | (17 << 27) /* 0.268158293 */, | ||
2757 | /* 2568 */ 0x044af269 | (17 << 27) /* 0.268297587 */, | ||
2758 | /* 2569 */ 0x044b847d | (17 << 27) /* 0.268436899 */, | ||
2759 | /* 2570 */ 0x044c1696 | (17 << 27) /* 0.268576229 */, | ||
2760 | /* 2571 */ 0x044ca8b4 | (17 << 27) /* 0.268715577 */, | ||
2761 | /* 2572 */ 0x044d3ad7 | (17 << 27) /* 0.268854943 */, | ||
2762 | /* 2573 */ 0x044dccff | (17 << 27) /* 0.268994328 */, | ||
2763 | /* 2574 */ 0x044e5f2b | (17 << 27) /* 0.269133730 */, | ||
2764 | /* 2575 */ 0x044ef15d | (17 << 27) /* 0.269273150 */, | ||
2765 | |||
2766 | /* 2576 */ 0x044f8393 | (17 << 27) /* 0.269412589 */, | ||
2767 | /* 2577 */ 0x045015ce | (17 << 27) /* 0.269552045 */, | ||
2768 | /* 2578 */ 0x0450a80e | (17 << 27) /* 0.269691520 */, | ||
2769 | /* 2579 */ 0x04513a53 | (17 << 27) /* 0.269831013 */, | ||
2770 | /* 2580 */ 0x0451cc9c | (17 << 27) /* 0.269970523 */, | ||
2771 | /* 2581 */ 0x04525eeb | (17 << 27) /* 0.270110052 */, | ||
2772 | /* 2582 */ 0x0452f13e | (17 << 27) /* 0.270249599 */, | ||
2773 | /* 2583 */ 0x04538396 | (17 << 27) /* 0.270389163 */, | ||
2774 | /* 2584 */ 0x045415f3 | (17 << 27) /* 0.270528746 */, | ||
2775 | /* 2585 */ 0x0454a855 | (17 << 27) /* 0.270668347 */, | ||
2776 | /* 2586 */ 0x04553abb | (17 << 27) /* 0.270807965 */, | ||
2777 | /* 2587 */ 0x0455cd27 | (17 << 27) /* 0.270947602 */, | ||
2778 | /* 2588 */ 0x04565f97 | (17 << 27) /* 0.271087257 */, | ||
2779 | /* 2589 */ 0x0456f20c | (17 << 27) /* 0.271226930 */, | ||
2780 | /* 2590 */ 0x04578486 | (17 << 27) /* 0.271366620 */, | ||
2781 | /* 2591 */ 0x04581705 | (17 << 27) /* 0.271506329 */, | ||
2782 | |||
2783 | /* 2592 */ 0x0458a989 | (17 << 27) /* 0.271646056 */, | ||
2784 | /* 2593 */ 0x04593c11 | (17 << 27) /* 0.271785800 */, | ||
2785 | /* 2594 */ 0x0459ce9e | (17 << 27) /* 0.271925563 */, | ||
2786 | /* 2595 */ 0x045a6130 | (17 << 27) /* 0.272065343 */, | ||
2787 | /* 2596 */ 0x045af3c7 | (17 << 27) /* 0.272205142 */, | ||
2788 | /* 2597 */ 0x045b8663 | (17 << 27) /* 0.272344958 */, | ||
2789 | /* 2598 */ 0x045c1903 | (17 << 27) /* 0.272484793 */, | ||
2790 | /* 2599 */ 0x045caba9 | (17 << 27) /* 0.272624645 */, | ||
2791 | /* 2600 */ 0x045d3e53 | (17 << 27) /* 0.272764515 */, | ||
2792 | /* 2601 */ 0x045dd102 | (17 << 27) /* 0.272904403 */, | ||
2793 | /* 2602 */ 0x045e63b6 | (17 << 27) /* 0.273044310 */, | ||
2794 | /* 2603 */ 0x045ef66e | (17 << 27) /* 0.273184234 */, | ||
2795 | /* 2604 */ 0x045f892b | (17 << 27) /* 0.273324176 */, | ||
2796 | /* 2605 */ 0x04601bee | (17 << 27) /* 0.273464136 */, | ||
2797 | /* 2606 */ 0x0460aeb5 | (17 << 27) /* 0.273604113 */, | ||
2798 | /* 2607 */ 0x04614180 | (17 << 27) /* 0.273744109 */, | ||
2799 | |||
2800 | /* 2608 */ 0x0461d451 | (17 << 27) /* 0.273884123 */, | ||
2801 | /* 2609 */ 0x04626727 | (17 << 27) /* 0.274024154 */, | ||
2802 | /* 2610 */ 0x0462fa01 | (17 << 27) /* 0.274164204 */, | ||
2803 | /* 2611 */ 0x04638ce0 | (17 << 27) /* 0.274304271 */, | ||
2804 | /* 2612 */ 0x04641fc4 | (17 << 27) /* 0.274444356 */, | ||
2805 | /* 2613 */ 0x0464b2ac | (17 << 27) /* 0.274584459 */, | ||
2806 | /* 2614 */ 0x0465459a | (17 << 27) /* 0.274724580 */, | ||
2807 | /* 2615 */ 0x0465d88c | (17 << 27) /* 0.274864719 */, | ||
2808 | /* 2616 */ 0x04666b83 | (17 << 27) /* 0.275004875 */, | ||
2809 | /* 2617 */ 0x0466fe7f | (17 << 27) /* 0.275145050 */, | ||
2810 | /* 2618 */ 0x0467917f | (17 << 27) /* 0.275285242 */, | ||
2811 | /* 2619 */ 0x04682485 | (17 << 27) /* 0.275425452 */, | ||
2812 | /* 2620 */ 0x0468b78f | (17 << 27) /* 0.275565681 */, | ||
2813 | /* 2621 */ 0x04694a9e | (17 << 27) /* 0.275705926 */, | ||
2814 | /* 2622 */ 0x0469ddb2 | (17 << 27) /* 0.275846190 */, | ||
2815 | /* 2623 */ 0x046a70ca | (17 << 27) /* 0.275986472 */, | ||
2816 | |||
2817 | /* 2624 */ 0x046b03e7 | (17 << 27) /* 0.276126771 */, | ||
2818 | /* 2625 */ 0x046b970a | (17 << 27) /* 0.276267088 */, | ||
2819 | /* 2626 */ 0x046c2a31 | (17 << 27) /* 0.276407423 */, | ||
2820 | /* 2627 */ 0x046cbd5c | (17 << 27) /* 0.276547776 */, | ||
2821 | /* 2628 */ 0x046d508d | (17 << 27) /* 0.276688147 */, | ||
2822 | /* 2629 */ 0x046de3c2 | (17 << 27) /* 0.276828535 */, | ||
2823 | /* 2630 */ 0x046e76fc | (17 << 27) /* 0.276968942 */, | ||
2824 | /* 2631 */ 0x046f0a3b | (17 << 27) /* 0.277109366 */, | ||
2825 | /* 2632 */ 0x046f9d7e | (17 << 27) /* 0.277249808 */, | ||
2826 | /* 2633 */ 0x047030c7 | (17 << 27) /* 0.277390267 */, | ||
2827 | /* 2634 */ 0x0470c414 | (17 << 27) /* 0.277530745 */, | ||
2828 | /* 2635 */ 0x04715766 | (17 << 27) /* 0.277671240 */, | ||
2829 | /* 2636 */ 0x0471eabc | (17 << 27) /* 0.277811753 */, | ||
2830 | /* 2637 */ 0x04727e18 | (17 << 27) /* 0.277952284 */, | ||
2831 | /* 2638 */ 0x04731178 | (17 << 27) /* 0.278092832 */, | ||
2832 | /* 2639 */ 0x0473a4dd | (17 << 27) /* 0.278233399 */, | ||
2833 | |||
2834 | /* 2640 */ 0x04743847 | (17 << 27) /* 0.278373983 */, | ||
2835 | /* 2641 */ 0x0474cbb5 | (17 << 27) /* 0.278514584 */, | ||
2836 | /* 2642 */ 0x04755f29 | (17 << 27) /* 0.278655204 */, | ||
2837 | /* 2643 */ 0x0475f2a1 | (17 << 27) /* 0.278795841 */, | ||
2838 | /* 2644 */ 0x0476861d | (17 << 27) /* 0.278936496 */, | ||
2839 | /* 2645 */ 0x0477199f | (17 << 27) /* 0.279077169 */, | ||
2840 | /* 2646 */ 0x0477ad25 | (17 << 27) /* 0.279217860 */, | ||
2841 | /* 2647 */ 0x047840b0 | (17 << 27) /* 0.279358568 */, | ||
2842 | /* 2648 */ 0x0478d440 | (17 << 27) /* 0.279499294 */, | ||
2843 | /* 2649 */ 0x047967d5 | (17 << 27) /* 0.279640037 */, | ||
2844 | /* 2650 */ 0x0479fb6e | (17 << 27) /* 0.279780799 */, | ||
2845 | /* 2651 */ 0x047a8f0c | (17 << 27) /* 0.279921578 */, | ||
2846 | /* 2652 */ 0x047b22af | (17 << 27) /* 0.280062375 */, | ||
2847 | /* 2653 */ 0x047bb657 | (17 << 27) /* 0.280203189 */, | ||
2848 | /* 2654 */ 0x047c4a03 | (17 << 27) /* 0.280344021 */, | ||
2849 | /* 2655 */ 0x047cddb4 | (17 << 27) /* 0.280484871 */, | ||
2850 | |||
2851 | /* 2656 */ 0x047d716a | (17 << 27) /* 0.280625739 */, | ||
2852 | /* 2657 */ 0x047e0524 | (17 << 27) /* 0.280766624 */, | ||
2853 | /* 2658 */ 0x047e98e4 | (17 << 27) /* 0.280907527 */, | ||
2854 | /* 2659 */ 0x047f2ca8 | (17 << 27) /* 0.281048447 */, | ||
2855 | /* 2660 */ 0x047fc071 | (17 << 27) /* 0.281189385 */, | ||
2856 | /* 2661 */ 0x0480543e | (17 << 27) /* 0.281330341 */, | ||
2857 | /* 2662 */ 0x0480e811 | (17 << 27) /* 0.281471315 */, | ||
2858 | /* 2663 */ 0x04817be8 | (17 << 27) /* 0.281612306 */, | ||
2859 | /* 2664 */ 0x04820fc3 | (17 << 27) /* 0.281753315 */, | ||
2860 | /* 2665 */ 0x0482a3a4 | (17 << 27) /* 0.281894341 */, | ||
2861 | /* 2666 */ 0x04833789 | (17 << 27) /* 0.282035386 */, | ||
2862 | /* 2667 */ 0x0483cb73 | (17 << 27) /* 0.282176447 */, | ||
2863 | /* 2668 */ 0x04845f62 | (17 << 27) /* 0.282317527 */, | ||
2864 | /* 2669 */ 0x0484f355 | (17 << 27) /* 0.282458624 */, | ||
2865 | /* 2670 */ 0x0485874d | (17 << 27) /* 0.282599738 */, | ||
2866 | /* 2671 */ 0x04861b4a | (17 << 27) /* 0.282740871 */, | ||
2867 | |||
2868 | /* 2672 */ 0x0486af4c | (17 << 27) /* 0.282882021 */, | ||
2869 | /* 2673 */ 0x04874352 | (17 << 27) /* 0.283023188 */, | ||
2870 | /* 2674 */ 0x0487d75d | (17 << 27) /* 0.283164373 */, | ||
2871 | /* 2675 */ 0x04886b6d | (17 << 27) /* 0.283305576 */, | ||
2872 | /* 2676 */ 0x0488ff82 | (17 << 27) /* 0.283446796 */, | ||
2873 | /* 2677 */ 0x0489939b | (17 << 27) /* 0.283588034 */, | ||
2874 | /* 2678 */ 0x048a27b9 | (17 << 27) /* 0.283729290 */, | ||
2875 | /* 2679 */ 0x048abbdc | (17 << 27) /* 0.283870563 */, | ||
2876 | /* 2680 */ 0x048b5003 | (17 << 27) /* 0.284011853 */, | ||
2877 | /* 2681 */ 0x048be42f | (17 << 27) /* 0.284153161 */, | ||
2878 | /* 2682 */ 0x048c7860 | (17 << 27) /* 0.284294487 */, | ||
2879 | /* 2683 */ 0x048d0c96 | (17 << 27) /* 0.284435831 */, | ||
2880 | /* 2684 */ 0x048da0d0 | (17 << 27) /* 0.284577192 */, | ||
2881 | /* 2685 */ 0x048e350f | (17 << 27) /* 0.284718570 */, | ||
2882 | /* 2686 */ 0x048ec953 | (17 << 27) /* 0.284859966 */, | ||
2883 | /* 2687 */ 0x048f5d9b | (17 << 27) /* 0.285001380 */, | ||
2884 | |||
2885 | /* 2688 */ 0x048ff1e8 | (17 << 27) /* 0.285142811 */, | ||
2886 | /* 2689 */ 0x0490863a | (17 << 27) /* 0.285284259 */, | ||
2887 | /* 2690 */ 0x04911a91 | (17 << 27) /* 0.285425726 */, | ||
2888 | /* 2691 */ 0x0491aeec | (17 << 27) /* 0.285567209 */, | ||
2889 | /* 2692 */ 0x0492434c | (17 << 27) /* 0.285708711 */, | ||
2890 | /* 2693 */ 0x0492d7b0 | (17 << 27) /* 0.285850229 */, | ||
2891 | /* 2694 */ 0x04936c1a | (17 << 27) /* 0.285991766 */, | ||
2892 | /* 2695 */ 0x04940088 | (17 << 27) /* 0.286133319 */, | ||
2893 | /* 2696 */ 0x049494fb | (17 << 27) /* 0.286274891 */, | ||
2894 | /* 2697 */ 0x04952972 | (17 << 27) /* 0.286416480 */, | ||
2895 | /* 2698 */ 0x0495bdee | (17 << 27) /* 0.286558086 */, | ||
2896 | /* 2699 */ 0x0496526f | (17 << 27) /* 0.286699710 */, | ||
2897 | /* 2700 */ 0x0496e6f5 | (17 << 27) /* 0.286841351 */, | ||
2898 | /* 2701 */ 0x04977b7f | (17 << 27) /* 0.286983010 */, | ||
2899 | /* 2702 */ 0x0498100e | (17 << 27) /* 0.287124686 */, | ||
2900 | /* 2703 */ 0x0498a4a1 | (17 << 27) /* 0.287266380 */, | ||
2901 | |||
2902 | /* 2704 */ 0x0499393a | (17 << 27) /* 0.287408091 */, | ||
2903 | /* 2705 */ 0x0499cdd7 | (17 << 27) /* 0.287549820 */, | ||
2904 | /* 2706 */ 0x049a6278 | (17 << 27) /* 0.287691566 */, | ||
2905 | /* 2707 */ 0x049af71f | (17 << 27) /* 0.287833330 */, | ||
2906 | /* 2708 */ 0x049b8bca | (17 << 27) /* 0.287975111 */, | ||
2907 | /* 2709 */ 0x049c207a | (17 << 27) /* 0.288116909 */, | ||
2908 | /* 2710 */ 0x049cb52e | (17 << 27) /* 0.288258725 */, | ||
2909 | /* 2711 */ 0x049d49e7 | (17 << 27) /* 0.288400559 */, | ||
2910 | /* 2712 */ 0x049ddea5 | (17 << 27) /* 0.288542409 */, | ||
2911 | /* 2713 */ 0x049e7367 | (17 << 27) /* 0.288684278 */, | ||
2912 | /* 2714 */ 0x049f082f | (17 << 27) /* 0.288826163 */, | ||
2913 | /* 2715 */ 0x049f9cfa | (17 << 27) /* 0.288968067 */, | ||
2914 | /* 2716 */ 0x04a031cb | (17 << 27) /* 0.289109987 */, | ||
2915 | /* 2717 */ 0x04a0c6a0 | (17 << 27) /* 0.289251925 */, | ||
2916 | /* 2718 */ 0x04a15b7a | (17 << 27) /* 0.289393881 */, | ||
2917 | /* 2719 */ 0x04a1f059 | (17 << 27) /* 0.289535854 */, | ||
2918 | |||
2919 | /* 2720 */ 0x04a2853c | (17 << 27) /* 0.289677844 */, | ||
2920 | /* 2721 */ 0x04a31a24 | (17 << 27) /* 0.289819851 */, | ||
2921 | /* 2722 */ 0x04a3af10 | (17 << 27) /* 0.289961876 */, | ||
2922 | /* 2723 */ 0x04a44401 | (17 << 27) /* 0.290103919 */, | ||
2923 | /* 2724 */ 0x04a4d8f7 | (17 << 27) /* 0.290245979 */, | ||
2924 | /* 2725 */ 0x04a56df2 | (17 << 27) /* 0.290388056 */, | ||
2925 | /* 2726 */ 0x04a602f1 | (17 << 27) /* 0.290530150 */, | ||
2926 | /* 2727 */ 0x04a697f5 | (17 << 27) /* 0.290672262 */, | ||
2927 | /* 2728 */ 0x04a72cfe | (17 << 27) /* 0.290814392 */, | ||
2928 | /* 2729 */ 0x04a7c20b | (17 << 27) /* 0.290956538 */, | ||
2929 | /* 2730 */ 0x04a8571d | (17 << 27) /* 0.291098703 */, | ||
2930 | /* 2731 */ 0x04a8ec33 | (17 << 27) /* 0.291240884 */, | ||
2931 | /* 2732 */ 0x04a9814e | (17 << 27) /* 0.291383083 */, | ||
2932 | /* 2733 */ 0x04aa166e | (17 << 27) /* 0.291525299 */, | ||
2933 | /* 2734 */ 0x04aaab93 | (17 << 27) /* 0.291667532 */, | ||
2934 | /* 2735 */ 0x04ab40bc | (17 << 27) /* 0.291809783 */, | ||
2935 | |||
2936 | /* 2736 */ 0x04abd5ea | (17 << 27) /* 0.291952051 */, | ||
2937 | /* 2737 */ 0x04ac6b1c | (17 << 27) /* 0.292094337 */, | ||
2938 | /* 2738 */ 0x04ad0053 | (17 << 27) /* 0.292236640 */, | ||
2939 | /* 2739 */ 0x04ad958f | (17 << 27) /* 0.292378960 */, | ||
2940 | /* 2740 */ 0x04ae2ad0 | (17 << 27) /* 0.292521297 */, | ||
2941 | /* 2741 */ 0x04aec015 | (17 << 27) /* 0.292663652 */, | ||
2942 | /* 2742 */ 0x04af555e | (17 << 27) /* 0.292806024 */, | ||
2943 | /* 2743 */ 0x04afeaad | (17 << 27) /* 0.292948414 */, | ||
2944 | /* 2744 */ 0x04b08000 | (17 << 27) /* 0.293090820 */, | ||
2945 | /* 2745 */ 0x04b11557 | (17 << 27) /* 0.293233244 */, | ||
2946 | /* 2746 */ 0x04b1aab4 | (17 << 27) /* 0.293375686 */, | ||
2947 | /* 2747 */ 0x04b24015 | (17 << 27) /* 0.293518144 */, | ||
2948 | /* 2748 */ 0x04b2d57a | (17 << 27) /* 0.293660620 */, | ||
2949 | /* 2749 */ 0x04b36ae4 | (17 << 27) /* 0.293803113 */, | ||
2950 | /* 2750 */ 0x04b40053 | (17 << 27) /* 0.293945624 */, | ||
2951 | /* 2751 */ 0x04b495c7 | (17 << 27) /* 0.294088151 */, | ||
2952 | |||
2953 | /* 2752 */ 0x04b52b3f | (17 << 27) /* 0.294230696 */, | ||
2954 | /* 2753 */ 0x04b5c0bc | (17 << 27) /* 0.294373259 */, | ||
2955 | /* 2754 */ 0x04b6563d | (17 << 27) /* 0.294515838 */, | ||
2956 | /* 2755 */ 0x04b6ebc3 | (17 << 27) /* 0.294658435 */, | ||
2957 | /* 2756 */ 0x04b7814e | (17 << 27) /* 0.294801049 */, | ||
2958 | /* 2757 */ 0x04b816dd | (17 << 27) /* 0.294943680 */, | ||
2959 | /* 2758 */ 0x04b8ac71 | (17 << 27) /* 0.295086329 */, | ||
2960 | /* 2759 */ 0x04b9420a | (17 << 27) /* 0.295228995 */, | ||
2961 | /* 2760 */ 0x04b9d7a7 | (17 << 27) /* 0.295371678 */, | ||
2962 | /* 2761 */ 0x04ba6d49 | (17 << 27) /* 0.295514378 */, | ||
2963 | /* 2762 */ 0x04bb02ef | (17 << 27) /* 0.295657095 */, | ||
2964 | /* 2763 */ 0x04bb989a | (17 << 27) /* 0.295799830 */, | ||
2965 | /* 2764 */ 0x04bc2e4a | (17 << 27) /* 0.295942582 */, | ||
2966 | /* 2765 */ 0x04bcc3fe | (17 << 27) /* 0.296085351 */, | ||
2967 | /* 2766 */ 0x04bd59b7 | (17 << 27) /* 0.296228138 */, | ||
2968 | /* 2767 */ 0x04bdef74 | (17 << 27) /* 0.296370941 */, | ||
2969 | |||
2970 | /* 2768 */ 0x04be8537 | (17 << 27) /* 0.296513762 */, | ||
2971 | /* 2769 */ 0x04bf1afd | (17 << 27) /* 0.296656600 */, | ||
2972 | /* 2770 */ 0x04bfb0c9 | (17 << 27) /* 0.296799455 */, | ||
2973 | /* 2771 */ 0x04c04699 | (17 << 27) /* 0.296942327 */, | ||
2974 | /* 2772 */ 0x04c0dc6d | (17 << 27) /* 0.297085217 */, | ||
2975 | /* 2773 */ 0x04c17247 | (17 << 27) /* 0.297228124 */, | ||
2976 | /* 2774 */ 0x04c20824 | (17 << 27) /* 0.297371048 */, | ||
2977 | /* 2775 */ 0x04c29e07 | (17 << 27) /* 0.297513989 */, | ||
2978 | /* 2776 */ 0x04c333ee | (17 << 27) /* 0.297656947 */, | ||
2979 | /* 2777 */ 0x04c3c9da | (17 << 27) /* 0.297799922 */, | ||
2980 | /* 2778 */ 0x04c45fca | (17 << 27) /* 0.297942915 */, | ||
2981 | /* 2779 */ 0x04c4f5bf | (17 << 27) /* 0.298085925 */, | ||
2982 | /* 2780 */ 0x04c58bb8 | (17 << 27) /* 0.298228951 */, | ||
2983 | /* 2781 */ 0x04c621b6 | (17 << 27) /* 0.298371996 */, | ||
2984 | /* 2782 */ 0x04c6b7b9 | (17 << 27) /* 0.298515057 */, | ||
2985 | /* 2783 */ 0x04c74dc0 | (17 << 27) /* 0.298658135 */, | ||
2986 | |||
2987 | /* 2784 */ 0x04c7e3cc | (17 << 27) /* 0.298801231 */, | ||
2988 | /* 2785 */ 0x04c879dd | (17 << 27) /* 0.298944343 */, | ||
2989 | /* 2786 */ 0x04c90ff2 | (17 << 27) /* 0.299087473 */, | ||
2990 | /* 2787 */ 0x04c9a60c | (17 << 27) /* 0.299230620 */, | ||
2991 | /* 2788 */ 0x04ca3c2a | (17 << 27) /* 0.299373784 */, | ||
2992 | /* 2789 */ 0x04cad24d | (17 << 27) /* 0.299516965 */, | ||
2993 | /* 2790 */ 0x04cb6874 | (17 << 27) /* 0.299660163 */, | ||
2994 | /* 2791 */ 0x04cbfea0 | (17 << 27) /* 0.299803378 */, | ||
2995 | /* 2792 */ 0x04cc94d1 | (17 << 27) /* 0.299946611 */, | ||
2996 | /* 2793 */ 0x04cd2b06 | (17 << 27) /* 0.300089860 */, | ||
2997 | /* 2794 */ 0x04cdc140 | (17 << 27) /* 0.300233127 */, | ||
2998 | /* 2795 */ 0x04ce577f | (17 << 27) /* 0.300376411 */, | ||
2999 | /* 2796 */ 0x04ceedc2 | (17 << 27) /* 0.300519711 */, | ||
3000 | /* 2797 */ 0x04cf8409 | (17 << 27) /* 0.300663029 */, | ||
3001 | /* 2798 */ 0x04d01a55 | (17 << 27) /* 0.300806364 */, | ||
3002 | /* 2799 */ 0x04d0b0a6 | (17 << 27) /* 0.300949716 */, | ||
3003 | |||
3004 | /* 2800 */ 0x04d146fb | (17 << 27) /* 0.301093085 */, | ||
3005 | /* 2801 */ 0x04d1dd55 | (17 << 27) /* 0.301236472 */, | ||
3006 | /* 2802 */ 0x04d273b4 | (17 << 27) /* 0.301379875 */, | ||
3007 | /* 2803 */ 0x04d30a17 | (17 << 27) /* 0.301523295 */, | ||
3008 | /* 2804 */ 0x04d3a07f | (17 << 27) /* 0.301666733 */, | ||
3009 | /* 2805 */ 0x04d436eb | (17 << 27) /* 0.301810187 */, | ||
3010 | /* 2806 */ 0x04d4cd5c | (17 << 27) /* 0.301953659 */, | ||
3011 | /* 2807 */ 0x04d563d1 | (17 << 27) /* 0.302097147 */, | ||
3012 | /* 2808 */ 0x04d5fa4b | (17 << 27) /* 0.302240653 */, | ||
3013 | /* 2809 */ 0x04d690ca | (17 << 27) /* 0.302384175 */, | ||
3014 | /* 2810 */ 0x04d7274d | (17 << 27) /* 0.302527715 */, | ||
3015 | /* 2811 */ 0x04d7bdd5 | (17 << 27) /* 0.302671271 */, | ||
3016 | /* 2812 */ 0x04d85461 | (17 << 27) /* 0.302814845 */, | ||
3017 | /* 2813 */ 0x04d8eaf2 | (17 << 27) /* 0.302958436 */, | ||
3018 | /* 2814 */ 0x04d98187 | (17 << 27) /* 0.303102044 */, | ||
3019 | /* 2815 */ 0x04da1821 | (17 << 27) /* 0.303245668 */, | ||
3020 | |||
3021 | /* 2816 */ 0x04daaec0 | (17 << 27) /* 0.303389310 */, | ||
3022 | /* 2817 */ 0x04db4563 | (17 << 27) /* 0.303532969 */, | ||
3023 | /* 2818 */ 0x04dbdc0a | (17 << 27) /* 0.303676645 */, | ||
3024 | /* 2819 */ 0x04dc72b7 | (17 << 27) /* 0.303820337 */, | ||
3025 | /* 2820 */ 0x04dd0967 | (17 << 27) /* 0.303964047 */, | ||
3026 | /* 2821 */ 0x04dda01d | (17 << 27) /* 0.304107774 */, | ||
3027 | /* 2822 */ 0x04de36d7 | (17 << 27) /* 0.304251517 */, | ||
3028 | /* 2823 */ 0x04decd95 | (17 << 27) /* 0.304395278 */, | ||
3029 | /* 2824 */ 0x04df6458 | (17 << 27) /* 0.304539056 */, | ||
3030 | /* 2825 */ 0x04dffb20 | (17 << 27) /* 0.304682850 */, | ||
3031 | /* 2826 */ 0x04e091ec | (17 << 27) /* 0.304826662 */, | ||
3032 | /* 2827 */ 0x04e128bc | (17 << 27) /* 0.304970491 */, | ||
3033 | /* 2828 */ 0x04e1bf92 | (17 << 27) /* 0.305114336 */, | ||
3034 | /* 2829 */ 0x04e2566b | (17 << 27) /* 0.305258199 */, | ||
3035 | /* 2830 */ 0x04e2ed4a | (17 << 27) /* 0.305402078 */, | ||
3036 | /* 2831 */ 0x04e3842d | (17 << 27) /* 0.305545974 */, | ||
3037 | |||
3038 | /* 2832 */ 0x04e41b14 | (17 << 27) /* 0.305689888 */, | ||
3039 | /* 2833 */ 0x04e4b200 | (17 << 27) /* 0.305833818 */, | ||
3040 | /* 2834 */ 0x04e548f1 | (17 << 27) /* 0.305977765 */, | ||
3041 | /* 2835 */ 0x04e5dfe6 | (17 << 27) /* 0.306121729 */, | ||
3042 | /* 2836 */ 0x04e676df | (17 << 27) /* 0.306265710 */, | ||
3043 | /* 2837 */ 0x04e70dde | (17 << 27) /* 0.306409708 */, | ||
3044 | /* 2838 */ 0x04e7a4e0 | (17 << 27) /* 0.306553723 */, | ||
3045 | /* 2839 */ 0x04e83be7 | (17 << 27) /* 0.306697755 */, | ||
3046 | /* 2840 */ 0x04e8d2f3 | (17 << 27) /* 0.306841804 */, | ||
3047 | /* 2841 */ 0x04e96a04 | (17 << 27) /* 0.306985869 */, | ||
3048 | /* 2842 */ 0x04ea0118 | (17 << 27) /* 0.307129952 */, | ||
3049 | /* 2843 */ 0x04ea9832 | (17 << 27) /* 0.307274051 */, | ||
3050 | /* 2844 */ 0x04eb2f50 | (17 << 27) /* 0.307418168 */, | ||
3051 | /* 2845 */ 0x04ebc672 | (17 << 27) /* 0.307562301 */, | ||
3052 | /* 2846 */ 0x04ec5d99 | (17 << 27) /* 0.307706451 */, | ||
3053 | /* 2847 */ 0x04ecf4c5 | (17 << 27) /* 0.307850618 */, | ||
3054 | |||
3055 | /* 2848 */ 0x04ed8bf5 | (17 << 27) /* 0.307994802 */, | ||
3056 | /* 2849 */ 0x04ee2329 | (17 << 27) /* 0.308139003 */, | ||
3057 | /* 2850 */ 0x04eeba63 | (17 << 27) /* 0.308283220 */, | ||
3058 | /* 2851 */ 0x04ef51a0 | (17 << 27) /* 0.308427455 */, | ||
3059 | /* 2852 */ 0x04efe8e2 | (17 << 27) /* 0.308571706 */, | ||
3060 | /* 2853 */ 0x04f08029 | (17 << 27) /* 0.308715974 */, | ||
3061 | /* 2854 */ 0x04f11774 | (17 << 27) /* 0.308860260 */, | ||
3062 | /* 2855 */ 0x04f1aec4 | (17 << 27) /* 0.309004561 */, | ||
3063 | /* 2856 */ 0x04f24618 | (17 << 27) /* 0.309148880 */, | ||
3064 | /* 2857 */ 0x04f2dd71 | (17 << 27) /* 0.309293216 */, | ||
3065 | /* 2858 */ 0x04f374cf | (17 << 27) /* 0.309437568 */, | ||
3066 | /* 2859 */ 0x04f40c30 | (17 << 27) /* 0.309581938 */, | ||
3067 | /* 2860 */ 0x04f4a397 | (17 << 27) /* 0.309726324 */, | ||
3068 | /* 2861 */ 0x04f53b02 | (17 << 27) /* 0.309870727 */, | ||
3069 | /* 2862 */ 0x04f5d271 | (17 << 27) /* 0.310015147 */, | ||
3070 | /* 2863 */ 0x04f669e5 | (17 << 27) /* 0.310159583 */, | ||
3071 | |||
3072 | /* 2864 */ 0x04f7015d | (17 << 27) /* 0.310304037 */, | ||
3073 | /* 2865 */ 0x04f798da | (17 << 27) /* 0.310448507 */, | ||
3074 | /* 2866 */ 0x04f8305c | (17 << 27) /* 0.310592994 */, | ||
3075 | /* 2867 */ 0x04f8c7e2 | (17 << 27) /* 0.310737498 */, | ||
3076 | /* 2868 */ 0x04f95f6c | (17 << 27) /* 0.310882018 */, | ||
3077 | /* 2869 */ 0x04f9f6fb | (17 << 27) /* 0.311026556 */, | ||
3078 | /* 2870 */ 0x04fa8e8f | (17 << 27) /* 0.311171110 */, | ||
3079 | /* 2871 */ 0x04fb2627 | (17 << 27) /* 0.311315681 */, | ||
3080 | /* 2872 */ 0x04fbbdc3 | (17 << 27) /* 0.311460269 */, | ||
3081 | /* 2873 */ 0x04fc5564 | (17 << 27) /* 0.311604874 */, | ||
3082 | /* 2874 */ 0x04fced0a | (17 << 27) /* 0.311749495 */, | ||
3083 | /* 2875 */ 0x04fd84b4 | (17 << 27) /* 0.311894133 */, | ||
3084 | /* 2876 */ 0x04fe1c62 | (17 << 27) /* 0.312038788 */, | ||
3085 | /* 2877 */ 0x04feb415 | (17 << 27) /* 0.312183460 */, | ||
3086 | /* 2878 */ 0x04ff4bcd | (17 << 27) /* 0.312328148 */, | ||
3087 | /* 2879 */ 0x04ffe389 | (17 << 27) /* 0.312472854 */, | ||
3088 | |||
3089 | /* 2880 */ 0x05007b49 | (17 << 27) /* 0.312617576 */, | ||
3090 | /* 2881 */ 0x0501130e | (17 << 27) /* 0.312762314 */, | ||
3091 | /* 2882 */ 0x0501aad8 | (17 << 27) /* 0.312907070 */, | ||
3092 | /* 2883 */ 0x050242a6 | (17 << 27) /* 0.313051842 */, | ||
3093 | /* 2884 */ 0x0502da78 | (17 << 27) /* 0.313196631 */, | ||
3094 | /* 2885 */ 0x0503724f | (17 << 27) /* 0.313341437 */, | ||
3095 | /* 2886 */ 0x05040a2b | (17 << 27) /* 0.313486259 */, | ||
3096 | /* 2887 */ 0x0504a20b | (17 << 27) /* 0.313631098 */, | ||
3097 | /* 2888 */ 0x050539ef | (17 << 27) /* 0.313775954 */, | ||
3098 | /* 2889 */ 0x0505d1d8 | (17 << 27) /* 0.313920827 */, | ||
3099 | /* 2890 */ 0x050669c5 | (17 << 27) /* 0.314065716 */, | ||
3100 | /* 2891 */ 0x050701b7 | (17 << 27) /* 0.314210622 */, | ||
3101 | /* 2892 */ 0x050799ae | (17 << 27) /* 0.314355545 */, | ||
3102 | /* 2893 */ 0x050831a9 | (17 << 27) /* 0.314500484 */, | ||
3103 | /* 2894 */ 0x0508c9a8 | (17 << 27) /* 0.314645440 */, | ||
3104 | /* 2895 */ 0x050961ac | (17 << 27) /* 0.314790413 */, | ||
3105 | |||
3106 | /* 2896 */ 0x0509f9b4 | (17 << 27) /* 0.314935403 */, | ||
3107 | /* 2897 */ 0x050a91c1 | (17 << 27) /* 0.315080409 */, | ||
3108 | /* 2898 */ 0x050b29d2 | (17 << 27) /* 0.315225432 */, | ||
3109 | /* 2899 */ 0x050bc1e8 | (17 << 27) /* 0.315370472 */, | ||
3110 | /* 2900 */ 0x050c5a02 | (17 << 27) /* 0.315515528 */, | ||
3111 | /* 2901 */ 0x050cf221 | (17 << 27) /* 0.315660601 */, | ||
3112 | /* 2902 */ 0x050d8a44 | (17 << 27) /* 0.315805690 */, | ||
3113 | /* 2903 */ 0x050e226c | (17 << 27) /* 0.315950797 */, | ||
3114 | /* 2904 */ 0x050eba98 | (17 << 27) /* 0.316095920 */, | ||
3115 | /* 2905 */ 0x050f52c9 | (17 << 27) /* 0.316241059 */, | ||
3116 | /* 2906 */ 0x050feafe | (17 << 27) /* 0.316386216 */, | ||
3117 | /* 2907 */ 0x05108337 | (17 << 27) /* 0.316531388 */, | ||
3118 | /* 2908 */ 0x05111b75 | (17 << 27) /* 0.316676578 */, | ||
3119 | /* 2909 */ 0x0511b3b8 | (17 << 27) /* 0.316821784 */, | ||
3120 | /* 2910 */ 0x05124bff | (17 << 27) /* 0.316967007 */, | ||
3121 | /* 2911 */ 0x0512e44a | (17 << 27) /* 0.317112247 */, | ||
3122 | |||
3123 | /* 2912 */ 0x05137c9a | (17 << 27) /* 0.317257503 */, | ||
3124 | /* 2913 */ 0x051414ee | (17 << 27) /* 0.317402775 */, | ||
3125 | /* 2914 */ 0x0514ad47 | (17 << 27) /* 0.317548065 */, | ||
3126 | /* 2915 */ 0x051545a5 | (17 << 27) /* 0.317693371 */, | ||
3127 | /* 2916 */ 0x0515de06 | (17 << 27) /* 0.317838693 */, | ||
3128 | /* 2917 */ 0x0516766d | (17 << 27) /* 0.317984033 */, | ||
3129 | /* 2918 */ 0x05170ed7 | (17 << 27) /* 0.318129388 */, | ||
3130 | /* 2919 */ 0x0517a746 | (17 << 27) /* 0.318274761 */, | ||
3131 | /* 2920 */ 0x05183fba | (17 << 27) /* 0.318420150 */, | ||
3132 | /* 2921 */ 0x0518d832 | (17 << 27) /* 0.318565555 */, | ||
3133 | /* 2922 */ 0x051970ae | (17 << 27) /* 0.318710978 */, | ||
3134 | /* 2923 */ 0x051a092f | (17 << 27) /* 0.318856416 */, | ||
3135 | /* 2924 */ 0x051aa1b5 | (17 << 27) /* 0.319001872 */, | ||
3136 | /* 2925 */ 0x051b3a3f | (17 << 27) /* 0.319147344 */, | ||
3137 | /* 2926 */ 0x051bd2cd | (17 << 27) /* 0.319292832 */, | ||
3138 | /* 2927 */ 0x051c6b60 | (17 << 27) /* 0.319438338 */, | ||
3139 | |||
3140 | /* 2928 */ 0x051d03f7 | (17 << 27) /* 0.319583859 */, | ||
3141 | /* 2929 */ 0x051d9c92 | (17 << 27) /* 0.319729398 */, | ||
3142 | /* 2930 */ 0x051e3532 | (17 << 27) /* 0.319874952 */, | ||
3143 | /* 2931 */ 0x051ecdd7 | (17 << 27) /* 0.320020524 */, | ||
3144 | /* 2932 */ 0x051f6680 | (17 << 27) /* 0.320166112 */, | ||
3145 | /* 2933 */ 0x051fff2d | (17 << 27) /* 0.320311716 */, | ||
3146 | /* 2934 */ 0x052097df | (17 << 27) /* 0.320457337 */, | ||
3147 | /* 2935 */ 0x05213095 | (17 << 27) /* 0.320602975 */, | ||
3148 | /* 2936 */ 0x0521c950 | (17 << 27) /* 0.320748629 */, | ||
3149 | /* 2937 */ 0x0522620f | (17 << 27) /* 0.320894300 */, | ||
3150 | /* 2938 */ 0x0522fad3 | (17 << 27) /* 0.321039987 */, | ||
3151 | /* 2939 */ 0x0523939b | (17 << 27) /* 0.321185691 */, | ||
3152 | /* 2940 */ 0x05242c68 | (17 << 27) /* 0.321331411 */, | ||
3153 | /* 2941 */ 0x0524c538 | (17 << 27) /* 0.321477148 */, | ||
3154 | /* 2942 */ 0x05255e0e | (17 << 27) /* 0.321622901 */, | ||
3155 | /* 2943 */ 0x0525f6e8 | (17 << 27) /* 0.321768671 */, | ||
3156 | |||
3157 | /* 2944 */ 0x05268fc6 | (17 << 27) /* 0.321914457 */, | ||
3158 | /* 2945 */ 0x052728a9 | (17 << 27) /* 0.322060260 */, | ||
3159 | /* 2946 */ 0x0527c190 | (17 << 27) /* 0.322206079 */, | ||
3160 | /* 2947 */ 0x05285a7b | (17 << 27) /* 0.322351915 */, | ||
3161 | /* 2948 */ 0x0528f36b | (17 << 27) /* 0.322497768 */, | ||
3162 | /* 2949 */ 0x05298c5f | (17 << 27) /* 0.322643636 */, | ||
3163 | /* 2950 */ 0x052a2558 | (17 << 27) /* 0.322789522 */, | ||
3164 | /* 2951 */ 0x052abe55 | (17 << 27) /* 0.322935424 */, | ||
3165 | /* 2952 */ 0x052b5757 | (17 << 27) /* 0.323081342 */, | ||
3166 | /* 2953 */ 0x052bf05d | (17 << 27) /* 0.323227277 */, | ||
3167 | /* 2954 */ 0x052c8968 | (17 << 27) /* 0.323373228 */, | ||
3168 | /* 2955 */ 0x052d2277 | (17 << 27) /* 0.323519196 */, | ||
3169 | /* 2956 */ 0x052dbb8a | (17 << 27) /* 0.323665180 */, | ||
3170 | /* 2957 */ 0x052e54a2 | (17 << 27) /* 0.323811180 */, | ||
3171 | /* 2958 */ 0x052eedbe | (17 << 27) /* 0.323957197 */, | ||
3172 | /* 2959 */ 0x052f86de | (17 << 27) /* 0.324103231 */, | ||
3173 | |||
3174 | /* 2960 */ 0x05302003 | (17 << 27) /* 0.324249281 */, | ||
3175 | /* 2961 */ 0x0530b92d | (17 << 27) /* 0.324395347 */, | ||
3176 | /* 2962 */ 0x0531525b | (17 << 27) /* 0.324541430 */, | ||
3177 | /* 2963 */ 0x0531eb8d | (17 << 27) /* 0.324687530 */, | ||
3178 | /* 2964 */ 0x053284c4 | (17 << 27) /* 0.324833646 */, | ||
3179 | /* 2965 */ 0x05331dff | (17 << 27) /* 0.324979778 */, | ||
3180 | /* 2966 */ 0x0533b73e | (17 << 27) /* 0.325125926 */, | ||
3181 | /* 2967 */ 0x05345082 | (17 << 27) /* 0.325272091 */, | ||
3182 | /* 2968 */ 0x0534e9ca | (17 << 27) /* 0.325418273 */, | ||
3183 | /* 2969 */ 0x05358317 | (17 << 27) /* 0.325564471 */, | ||
3184 | /* 2970 */ 0x05361c68 | (17 << 27) /* 0.325710685 */, | ||
3185 | /* 2971 */ 0x0536b5be | (17 << 27) /* 0.325856916 */, | ||
3186 | /* 2972 */ 0x05374f17 | (17 << 27) /* 0.326003163 */, | ||
3187 | /* 2973 */ 0x0537e876 | (17 << 27) /* 0.326149427 */, | ||
3188 | /* 2974 */ 0x053881d9 | (17 << 27) /* 0.326295707 */, | ||
3189 | /* 2975 */ 0x05391b40 | (17 << 27) /* 0.326442003 */, | ||
3190 | |||
3191 | /* 2976 */ 0x0539b4ab | (17 << 27) /* 0.326588316 */, | ||
3192 | /* 2977 */ 0x053a4e1b | (17 << 27) /* 0.326734645 */, | ||
3193 | /* 2978 */ 0x053ae78f | (17 << 27) /* 0.326880990 */, | ||
3194 | /* 2979 */ 0x053b8108 | (17 << 27) /* 0.327027352 */, | ||
3195 | /* 2980 */ 0x053c1a85 | (17 << 27) /* 0.327173730 */, | ||
3196 | /* 2981 */ 0x053cb407 | (17 << 27) /* 0.327320125 */, | ||
3197 | /* 2982 */ 0x053d4d8d | (17 << 27) /* 0.327466536 */, | ||
3198 | /* 2983 */ 0x053de717 | (17 << 27) /* 0.327612963 */, | ||
3199 | /* 2984 */ 0x053e80a6 | (17 << 27) /* 0.327759407 */, | ||
3200 | /* 2985 */ 0x053f1a39 | (17 << 27) /* 0.327905867 */, | ||
3201 | /* 2986 */ 0x053fb3d0 | (17 << 27) /* 0.328052344 */, | ||
3202 | /* 2987 */ 0x05404d6c | (17 << 27) /* 0.328198837 */, | ||
3203 | /* 2988 */ 0x0540e70c | (17 << 27) /* 0.328345346 */, | ||
3204 | /* 2989 */ 0x054180b1 | (17 << 27) /* 0.328491871 */, | ||
3205 | /* 2990 */ 0x05421a5a | (17 << 27) /* 0.328638413 */, | ||
3206 | /* 2991 */ 0x0542b407 | (17 << 27) /* 0.328784971 */, | ||
3207 | |||
3208 | /* 2992 */ 0x05434db9 | (17 << 27) /* 0.328931546 */, | ||
3209 | /* 2993 */ 0x0543e76f | (17 << 27) /* 0.329078137 */, | ||
3210 | /* 2994 */ 0x0544812a | (17 << 27) /* 0.329224744 */, | ||
3211 | /* 2995 */ 0x05451ae9 | (17 << 27) /* 0.329371367 */, | ||
3212 | /* 2996 */ 0x0545b4ac | (17 << 27) /* 0.329518007 */, | ||
3213 | /* 2997 */ 0x05464e74 | (17 << 27) /* 0.329664663 */, | ||
3214 | /* 2998 */ 0x0546e840 | (17 << 27) /* 0.329811336 */, | ||
3215 | /* 2999 */ 0x05478211 | (17 << 27) /* 0.329958024 */, | ||
3216 | /* 3000 */ 0x05481be5 | (17 << 27) /* 0.330104730 */, | ||
3217 | /* 3001 */ 0x0548b5bf | (17 << 27) /* 0.330251451 */, | ||
3218 | /* 3002 */ 0x05494f9c | (17 << 27) /* 0.330398189 */, | ||
3219 | /* 3003 */ 0x0549e97e | (17 << 27) /* 0.330544943 */, | ||
3220 | /* 3004 */ 0x054a8364 | (17 << 27) /* 0.330691713 */, | ||
3221 | /* 3005 */ 0x054b1d4f | (17 << 27) /* 0.330838499 */, | ||
3222 | /* 3006 */ 0x054bb73e | (17 << 27) /* 0.330985302 */, | ||
3223 | /* 3007 */ 0x054c5132 | (17 << 27) /* 0.331132121 */, | ||
3224 | |||
3225 | /* 3008 */ 0x054ceb2a | (17 << 27) /* 0.331278957 */, | ||
3226 | /* 3009 */ 0x054d8526 | (17 << 27) /* 0.331425808 */, | ||
3227 | /* 3010 */ 0x054e1f26 | (17 << 27) /* 0.331572676 */, | ||
3228 | /* 3011 */ 0x054eb92b | (17 << 27) /* 0.331719560 */, | ||
3229 | /* 3012 */ 0x054f5334 | (17 << 27) /* 0.331866461 */, | ||
3230 | /* 3013 */ 0x054fed42 | (17 << 27) /* 0.332013377 */, | ||
3231 | /* 3014 */ 0x05508754 | (17 << 27) /* 0.332160310 */, | ||
3232 | /* 3015 */ 0x0551216b | (17 << 27) /* 0.332307260 */, | ||
3233 | /* 3016 */ 0x0551bb85 | (17 << 27) /* 0.332454225 */, | ||
3234 | /* 3017 */ 0x055255a4 | (17 << 27) /* 0.332601207 */, | ||
3235 | /* 3018 */ 0x0552efc8 | (17 << 27) /* 0.332748205 */, | ||
3236 | /* 3019 */ 0x055389f0 | (17 << 27) /* 0.332895219 */, | ||
3237 | /* 3020 */ 0x0554241c | (17 << 27) /* 0.333042249 */, | ||
3238 | /* 3021 */ 0x0554be4c | (17 << 27) /* 0.333189296 */, | ||
3239 | /* 3022 */ 0x05555881 | (17 << 27) /* 0.333336359 */, | ||
3240 | /* 3023 */ 0x0555f2ba | (17 << 27) /* 0.333483438 */, | ||
3241 | |||
3242 | /* 3024 */ 0x05568cf8 | (17 << 27) /* 0.333630533 */, | ||
3243 | /* 3025 */ 0x0557273a | (17 << 27) /* 0.333777645 */, | ||
3244 | /* 3026 */ 0x0557c180 | (17 << 27) /* 0.333924772 */, | ||
3245 | /* 3027 */ 0x05585bcb | (17 << 27) /* 0.334071916 */, | ||
3246 | /* 3028 */ 0x0558f61a | (17 << 27) /* 0.334219076 */, | ||
3247 | /* 3029 */ 0x0559906d | (17 << 27) /* 0.334366253 */, | ||
3248 | /* 3030 */ 0x055a2ac5 | (17 << 27) /* 0.334513445 */, | ||
3249 | /* 3031 */ 0x055ac521 | (17 << 27) /* 0.334660654 */, | ||
3250 | /* 3032 */ 0x055b5f81 | (17 << 27) /* 0.334807879 */, | ||
3251 | /* 3033 */ 0x055bf9e6 | (17 << 27) /* 0.334955120 */, | ||
3252 | /* 3034 */ 0x055c944f | (17 << 27) /* 0.335102377 */, | ||
3253 | /* 3035 */ 0x055d2ebd | (17 << 27) /* 0.335249651 */, | ||
3254 | /* 3036 */ 0x055dc92e | (17 << 27) /* 0.335396941 */, | ||
3255 | /* 3037 */ 0x055e63a5 | (17 << 27) /* 0.335544246 */, | ||
3256 | /* 3038 */ 0x055efe1f | (17 << 27) /* 0.335691568 */, | ||
3257 | /* 3039 */ 0x055f989e | (17 << 27) /* 0.335838906 */, | ||
3258 | |||
3259 | /* 3040 */ 0x05603321 | (17 << 27) /* 0.335986261 */, | ||
3260 | /* 3041 */ 0x0560cda8 | (17 << 27) /* 0.336133631 */, | ||
3261 | /* 3042 */ 0x05616834 | (17 << 27) /* 0.336281018 */, | ||
3262 | /* 3043 */ 0x056202c4 | (17 << 27) /* 0.336428421 */, | ||
3263 | /* 3044 */ 0x05629d59 | (17 << 27) /* 0.336575840 */, | ||
3264 | /* 3045 */ 0x056337f2 | (17 << 27) /* 0.336723275 */, | ||
3265 | /* 3046 */ 0x0563d28f | (17 << 27) /* 0.336870726 */, | ||
3266 | /* 3047 */ 0x05646d30 | (17 << 27) /* 0.337018193 */, | ||
3267 | /* 3048 */ 0x056507d6 | (17 << 27) /* 0.337165677 */, | ||
3268 | /* 3049 */ 0x0565a280 | (17 << 27) /* 0.337313176 */, | ||
3269 | /* 3050 */ 0x05663d2f | (17 << 27) /* 0.337460692 */, | ||
3270 | /* 3051 */ 0x0566d7e1 | (17 << 27) /* 0.337608224 */, | ||
3271 | /* 3052 */ 0x05677298 | (17 << 27) /* 0.337755772 */, | ||
3272 | /* 3053 */ 0x05680d54 | (17 << 27) /* 0.337903336 */, | ||
3273 | /* 3054 */ 0x0568a814 | (17 << 27) /* 0.338050916 */, | ||
3274 | /* 3055 */ 0x056942d8 | (17 << 27) /* 0.338198513 */, | ||
3275 | |||
3276 | /* 3056 */ 0x0569dda0 | (17 << 27) /* 0.338346125 */, | ||
3277 | /* 3057 */ 0x056a786d | (17 << 27) /* 0.338493753 */, | ||
3278 | /* 3058 */ 0x056b133e | (17 << 27) /* 0.338641398 */, | ||
3279 | /* 3059 */ 0x056bae13 | (17 << 27) /* 0.338789059 */, | ||
3280 | /* 3060 */ 0x056c48ed | (17 << 27) /* 0.338936736 */, | ||
3281 | /* 3061 */ 0x056ce3cb | (17 << 27) /* 0.339084429 */, | ||
3282 | /* 3062 */ 0x056d7ead | (17 << 27) /* 0.339232138 */, | ||
3283 | /* 3063 */ 0x056e1994 | (17 << 27) /* 0.339379863 */, | ||
3284 | /* 3064 */ 0x056eb47f | (17 << 27) /* 0.339527604 */, | ||
3285 | /* 3065 */ 0x056f4f6e | (17 << 27) /* 0.339675361 */, | ||
3286 | /* 3066 */ 0x056fea62 | (17 << 27) /* 0.339823134 */, | ||
3287 | /* 3067 */ 0x0570855a | (17 << 27) /* 0.339970924 */, | ||
3288 | /* 3068 */ 0x05712056 | (17 << 27) /* 0.340118729 */, | ||
3289 | /* 3069 */ 0x0571bb56 | (17 << 27) /* 0.340266550 */, | ||
3290 | /* 3070 */ 0x0572565b | (17 << 27) /* 0.340414388 */, | ||
3291 | /* 3071 */ 0x0572f164 | (17 << 27) /* 0.340562242 */, | ||
3292 | |||
3293 | /* 3072 */ 0x05738c72 | (17 << 27) /* 0.340710111 */, | ||
3294 | /* 3073 */ 0x05742784 | (17 << 27) /* 0.340857997 */, | ||
3295 | /* 3074 */ 0x0574c29a | (17 << 27) /* 0.341005899 */, | ||
3296 | /* 3075 */ 0x05755db4 | (17 << 27) /* 0.341153816 */, | ||
3297 | /* 3076 */ 0x0575f8d3 | (17 << 27) /* 0.341301750 */, | ||
3298 | /* 3077 */ 0x057693f6 | (17 << 27) /* 0.341449700 */, | ||
3299 | /* 3078 */ 0x05772f1d | (17 << 27) /* 0.341597666 */, | ||
3300 | /* 3079 */ 0x0577ca49 | (17 << 27) /* 0.341745648 */, | ||
3301 | /* 3080 */ 0x05786578 | (17 << 27) /* 0.341893646 */, | ||
3302 | /* 3081 */ 0x057900ad | (17 << 27) /* 0.342041659 */, | ||
3303 | /* 3082 */ 0x05799be5 | (17 << 27) /* 0.342189689 */, | ||
3304 | /* 3083 */ 0x057a3722 | (17 << 27) /* 0.342337735 */, | ||
3305 | /* 3084 */ 0x057ad263 | (17 << 27) /* 0.342485797 */, | ||
3306 | /* 3085 */ 0x057b6da8 | (17 << 27) /* 0.342633875 */, | ||
3307 | /* 3086 */ 0x057c08f2 | (17 << 27) /* 0.342781969 */, | ||
3308 | /* 3087 */ 0x057ca440 | (17 << 27) /* 0.342930079 */, | ||
3309 | |||
3310 | /* 3088 */ 0x057d3f92 | (17 << 27) /* 0.343078205 */, | ||
3311 | /* 3089 */ 0x057ddae9 | (17 << 27) /* 0.343226347 */, | ||
3312 | /* 3090 */ 0x057e7644 | (17 << 27) /* 0.343374505 */, | ||
3313 | /* 3091 */ 0x057f11a3 | (17 << 27) /* 0.343522679 */, | ||
3314 | /* 3092 */ 0x057fad06 | (17 << 27) /* 0.343670869 */, | ||
3315 | /* 3093 */ 0x0580486e | (17 << 27) /* 0.343819075 */, | ||
3316 | /* 3094 */ 0x0580e3da | (17 << 27) /* 0.343967296 */, | ||
3317 | /* 3095 */ 0x05817f4a | (17 << 27) /* 0.344115534 */, | ||
3318 | /* 3096 */ 0x05821abf | (17 << 27) /* 0.344263788 */, | ||
3319 | /* 3097 */ 0x0582b638 | (17 << 27) /* 0.344412058 */, | ||
3320 | /* 3098 */ 0x058351b5 | (17 << 27) /* 0.344560343 */, | ||
3321 | /* 3099 */ 0x0583ed36 | (17 << 27) /* 0.344708645 */, | ||
3322 | /* 3100 */ 0x058488bc | (17 << 27) /* 0.344856963 */, | ||
3323 | /* 3101 */ 0x05852446 | (17 << 27) /* 0.345005296 */, | ||
3324 | /* 3102 */ 0x0585bfd4 | (17 << 27) /* 0.345153646 */, | ||
3325 | /* 3103 */ 0x05865b67 | (17 << 27) /* 0.345302011 */, | ||
3326 | |||
3327 | /* 3104 */ 0x0586f6fd | (17 << 27) /* 0.345450393 */, | ||
3328 | /* 3105 */ 0x05879298 | (17 << 27) /* 0.345598790 */, | ||
3329 | /* 3106 */ 0x05882e38 | (17 << 27) /* 0.345747203 */, | ||
3330 | /* 3107 */ 0x0588c9dc | (17 << 27) /* 0.345895632 */, | ||
3331 | /* 3108 */ 0x05896583 | (17 << 27) /* 0.346044077 */, | ||
3332 | /* 3109 */ 0x058a0130 | (17 << 27) /* 0.346192538 */, | ||
3333 | /* 3110 */ 0x058a9ce0 | (17 << 27) /* 0.346341015 */, | ||
3334 | /* 3111 */ 0x058b3895 | (17 << 27) /* 0.346489508 */, | ||
3335 | /* 3112 */ 0x058bd44e | (17 << 27) /* 0.346638017 */, | ||
3336 | /* 3113 */ 0x058c700b | (17 << 27) /* 0.346786542 */, | ||
3337 | /* 3114 */ 0x058d0bcd | (17 << 27) /* 0.346935082 */, | ||
3338 | /* 3115 */ 0x058da793 | (17 << 27) /* 0.347083639 */, | ||
3339 | /* 3116 */ 0x058e435d | (17 << 27) /* 0.347232211 */, | ||
3340 | /* 3117 */ 0x058edf2b | (17 << 27) /* 0.347380799 */, | ||
3341 | /* 3118 */ 0x058f7afe | (17 << 27) /* 0.347529403 */, | ||
3342 | /* 3119 */ 0x059016d5 | (17 << 27) /* 0.347678023 */, | ||
3343 | |||
3344 | /* 3120 */ 0x0590b2b0 | (17 << 27) /* 0.347826659 */, | ||
3345 | /* 3121 */ 0x05914e8f | (17 << 27) /* 0.347975311 */, | ||
3346 | /* 3122 */ 0x0591ea73 | (17 << 27) /* 0.348123979 */, | ||
3347 | /* 3123 */ 0x0592865b | (17 << 27) /* 0.348272662 */, | ||
3348 | /* 3124 */ 0x05932247 | (17 << 27) /* 0.348421362 */, | ||
3349 | /* 3125 */ 0x0593be37 | (17 << 27) /* 0.348570077 */, | ||
3350 | /* 3126 */ 0x05945a2c | (17 << 27) /* 0.348718808 */, | ||
3351 | /* 3127 */ 0x0594f625 | (17 << 27) /* 0.348867555 */, | ||
3352 | /* 3128 */ 0x05959222 | (17 << 27) /* 0.349016318 */, | ||
3353 | /* 3129 */ 0x05962e24 | (17 << 27) /* 0.349165097 */, | ||
3354 | /* 3130 */ 0x0596ca2a | (17 << 27) /* 0.349313892 */, | ||
3355 | /* 3131 */ 0x05976634 | (17 << 27) /* 0.349462702 */, | ||
3356 | /* 3132 */ 0x05980242 | (17 << 27) /* 0.349611528 */, | ||
3357 | /* 3133 */ 0x05989e54 | (17 << 27) /* 0.349760370 */, | ||
3358 | /* 3134 */ 0x05993a6b | (17 << 27) /* 0.349909228 */, | ||
3359 | /* 3135 */ 0x0599d686 | (17 << 27) /* 0.350058102 */, | ||
3360 | |||
3361 | /* 3136 */ 0x059a72a5 | (17 << 27) /* 0.350206992 */, | ||
3362 | /* 3137 */ 0x059b0ec9 | (17 << 27) /* 0.350355897 */, | ||
3363 | /* 3138 */ 0x059baaf1 | (17 << 27) /* 0.350504818 */, | ||
3364 | /* 3139 */ 0x059c471d | (17 << 27) /* 0.350653756 */, | ||
3365 | /* 3140 */ 0x059ce34d | (17 << 27) /* 0.350802708 */, | ||
3366 | /* 3141 */ 0x059d7f81 | (17 << 27) /* 0.350951677 */, | ||
3367 | /* 3142 */ 0x059e1bba | (17 << 27) /* 0.351100662 */, | ||
3368 | /* 3143 */ 0x059eb7f7 | (17 << 27) /* 0.351249662 */, | ||
3369 | /* 3144 */ 0x059f5438 | (17 << 27) /* 0.351398678 */, | ||
3370 | /* 3145 */ 0x059ff07e | (17 << 27) /* 0.351547710 */, | ||
3371 | /* 3146 */ 0x05a08cc7 | (17 << 27) /* 0.351696758 */, | ||
3372 | /* 3147 */ 0x05a12915 | (17 << 27) /* 0.351845821 */, | ||
3373 | /* 3148 */ 0x05a1c567 | (17 << 27) /* 0.351994901 */, | ||
3374 | /* 3149 */ 0x05a261be | (17 << 27) /* 0.352143996 */, | ||
3375 | /* 3150 */ 0x05a2fe18 | (17 << 27) /* 0.352293107 */, | ||
3376 | /* 3151 */ 0x05a39a77 | (17 << 27) /* 0.352442233 */, | ||
3377 | |||
3378 | /* 3152 */ 0x05a436da | (17 << 27) /* 0.352591376 */, | ||
3379 | /* 3153 */ 0x05a4d342 | (17 << 27) /* 0.352740534 */, | ||
3380 | /* 3154 */ 0x05a56fad | (17 << 27) /* 0.352889708 */, | ||
3381 | /* 3155 */ 0x05a60c1d | (17 << 27) /* 0.353038898 */, | ||
3382 | /* 3156 */ 0x05a6a891 | (17 << 27) /* 0.353188103 */, | ||
3383 | /* 3157 */ 0x05a7450a | (17 << 27) /* 0.353337325 */, | ||
3384 | /* 3158 */ 0x05a7e186 | (17 << 27) /* 0.353486562 */, | ||
3385 | /* 3159 */ 0x05a87e07 | (17 << 27) /* 0.353635814 */, | ||
3386 | /* 3160 */ 0x05a91a8c | (17 << 27) /* 0.353785083 */, | ||
3387 | /* 3161 */ 0x05a9b715 | (17 << 27) /* 0.353934367 */, | ||
3388 | /* 3162 */ 0x05aa53a2 | (17 << 27) /* 0.354083667 */, | ||
3389 | /* 3163 */ 0x05aaf034 | (17 << 27) /* 0.354232983 */, | ||
3390 | /* 3164 */ 0x05ab8cca | (17 << 27) /* 0.354382314 */, | ||
3391 | /* 3165 */ 0x05ac2964 | (17 << 27) /* 0.354531662 */, | ||
3392 | /* 3166 */ 0x05acc602 | (17 << 27) /* 0.354681025 */, | ||
3393 | /* 3167 */ 0x05ad62a5 | (17 << 27) /* 0.354830403 */, | ||
3394 | |||
3395 | /* 3168 */ 0x05adff4c | (17 << 27) /* 0.354979798 */, | ||
3396 | /* 3169 */ 0x05ae9bf7 | (17 << 27) /* 0.355129208 */, | ||
3397 | /* 3170 */ 0x05af38a6 | (17 << 27) /* 0.355278634 */, | ||
3398 | /* 3171 */ 0x05afd559 | (17 << 27) /* 0.355428075 */, | ||
3399 | /* 3172 */ 0x05b07211 | (17 << 27) /* 0.355577533 */, | ||
3400 | /* 3173 */ 0x05b10ecd | (17 << 27) /* 0.355727006 */, | ||
3401 | /* 3174 */ 0x05b1ab8d | (17 << 27) /* 0.355876494 */, | ||
3402 | /* 3175 */ 0x05b24851 | (17 << 27) /* 0.356025999 */, | ||
3403 | /* 3176 */ 0x05b2e51a | (17 << 27) /* 0.356175519 */, | ||
3404 | /* 3177 */ 0x05b381e6 | (17 << 27) /* 0.356325054 */, | ||
3405 | /* 3178 */ 0x05b41eb7 | (17 << 27) /* 0.356474606 */, | ||
3406 | /* 3179 */ 0x05b4bb8c | (17 << 27) /* 0.356624173 */, | ||
3407 | /* 3180 */ 0x05b55866 | (17 << 27) /* 0.356773756 */, | ||
3408 | /* 3181 */ 0x05b5f543 | (17 << 27) /* 0.356923354 */, | ||
3409 | /* 3182 */ 0x05b69225 | (17 << 27) /* 0.357072969 */, | ||
3410 | /* 3183 */ 0x05b72f0b | (17 << 27) /* 0.357222598 */, | ||
3411 | |||
3412 | /* 3184 */ 0x05b7cbf5 | (17 << 27) /* 0.357372244 */, | ||
3413 | /* 3185 */ 0x05b868e3 | (17 << 27) /* 0.357521905 */, | ||
3414 | /* 3186 */ 0x05b905d6 | (17 << 27) /* 0.357671582 */, | ||
3415 | /* 3187 */ 0x05b9a2cd | (17 << 27) /* 0.357821275 */, | ||
3416 | /* 3188 */ 0x05ba3fc8 | (17 << 27) /* 0.357970983 */, | ||
3417 | /* 3189 */ 0x05badcc7 | (17 << 27) /* 0.358120707 */, | ||
3418 | /* 3190 */ 0x05bb79ca | (17 << 27) /* 0.358270446 */, | ||
3419 | /* 3191 */ 0x05bc16d2 | (17 << 27) /* 0.358420201 */, | ||
3420 | /* 3192 */ 0x05bcb3de | (17 << 27) /* 0.358569972 */, | ||
3421 | /* 3193 */ 0x05bd50ee | (17 << 27) /* 0.358719758 */, | ||
3422 | /* 3194 */ 0x05bdee02 | (17 << 27) /* 0.358869560 */, | ||
3423 | /* 3195 */ 0x05be8b1a | (17 << 27) /* 0.359019378 */, | ||
3424 | /* 3196 */ 0x05bf2837 | (17 << 27) /* 0.359169211 */, | ||
3425 | /* 3197 */ 0x05bfc558 | (17 << 27) /* 0.359319060 */, | ||
3426 | /* 3198 */ 0x05c0627d | (17 << 27) /* 0.359468925 */, | ||
3427 | /* 3199 */ 0x05c0ffa6 | (17 << 27) /* 0.359618805 */, | ||
3428 | |||
3429 | /* 3200 */ 0x05c19cd3 | (17 << 27) /* 0.359768701 */, | ||
3430 | /* 3201 */ 0x05c23a05 | (17 << 27) /* 0.359918612 */, | ||
3431 | /* 3202 */ 0x05c2d73a | (17 << 27) /* 0.360068540 */, | ||
3432 | /* 3203 */ 0x05c37474 | (17 << 27) /* 0.360218482 */, | ||
3433 | /* 3204 */ 0x05c411b2 | (17 << 27) /* 0.360368440 */, | ||
3434 | /* 3205 */ 0x05c4aef5 | (17 << 27) /* 0.360518414 */, | ||
3435 | /* 3206 */ 0x05c54c3b | (17 << 27) /* 0.360668404 */, | ||
3436 | /* 3207 */ 0x05c5e986 | (17 << 27) /* 0.360818409 */, | ||
3437 | /* 3208 */ 0x05c686d5 | (17 << 27) /* 0.360968429 */, | ||
3438 | /* 3209 */ 0x05c72428 | (17 << 27) /* 0.361118466 */, | ||
3439 | /* 3210 */ 0x05c7c17f | (17 << 27) /* 0.361268517 */, | ||
3440 | /* 3211 */ 0x05c85eda | (17 << 27) /* 0.361418585 */, | ||
3441 | /* 3212 */ 0x05c8fc3a | (17 << 27) /* 0.361568668 */, | ||
3442 | /* 3213 */ 0x05c9999e | (17 << 27) /* 0.361718766 */, | ||
3443 | /* 3214 */ 0x05ca3706 | (17 << 27) /* 0.361868881 */, | ||
3444 | /* 3215 */ 0x05cad472 | (17 << 27) /* 0.362019010 */, | ||
3445 | |||
3446 | /* 3216 */ 0x05cb71e2 | (17 << 27) /* 0.362169156 */, | ||
3447 | /* 3217 */ 0x05cc0f57 | (17 << 27) /* 0.362319316 */, | ||
3448 | /* 3218 */ 0x05ccaccf | (17 << 27) /* 0.362469493 */, | ||
3449 | /* 3219 */ 0x05cd4a4c | (17 << 27) /* 0.362619685 */, | ||
3450 | /* 3220 */ 0x05cde7cd | (17 << 27) /* 0.362769892 */, | ||
3451 | /* 3221 */ 0x05ce8552 | (17 << 27) /* 0.362920115 */, | ||
3452 | /* 3222 */ 0x05cf22dc | (17 << 27) /* 0.363070354 */, | ||
3453 | /* 3223 */ 0x05cfc069 | (17 << 27) /* 0.363220608 */, | ||
3454 | /* 3224 */ 0x05d05dfb | (17 << 27) /* 0.363370878 */, | ||
3455 | /* 3225 */ 0x05d0fb91 | (17 << 27) /* 0.363521163 */, | ||
3456 | /* 3226 */ 0x05d1992b | (17 << 27) /* 0.363671464 */, | ||
3457 | /* 3227 */ 0x05d236c9 | (17 << 27) /* 0.363821780 */, | ||
3458 | /* 3228 */ 0x05d2d46c | (17 << 27) /* 0.363972112 */, | ||
3459 | /* 3229 */ 0x05d37212 | (17 << 27) /* 0.364122459 */, | ||
3460 | /* 3230 */ 0x05d40fbd | (17 << 27) /* 0.364272822 */, | ||
3461 | /* 3231 */ 0x05d4ad6c | (17 << 27) /* 0.364423200 */, | ||
3462 | |||
3463 | /* 3232 */ 0x05d54b1f | (17 << 27) /* 0.364573594 */, | ||
3464 | /* 3233 */ 0x05d5e8d6 | (17 << 27) /* 0.364724004 */, | ||
3465 | /* 3234 */ 0x05d68691 | (17 << 27) /* 0.364874429 */, | ||
3466 | /* 3235 */ 0x05d72451 | (17 << 27) /* 0.365024869 */, | ||
3467 | /* 3236 */ 0x05d7c215 | (17 << 27) /* 0.365175325 */, | ||
3468 | /* 3237 */ 0x05d85fdc | (17 << 27) /* 0.365325796 */, | ||
3469 | /* 3238 */ 0x05d8fda8 | (17 << 27) /* 0.365476283 */, | ||
3470 | /* 3239 */ 0x05d99b79 | (17 << 27) /* 0.365626786 */, | ||
3471 | /* 3240 */ 0x05da394d | (17 << 27) /* 0.365777304 */, | ||
3472 | /* 3241 */ 0x05dad726 | (17 << 27) /* 0.365927837 */, | ||
3473 | /* 3242 */ 0x05db7502 | (17 << 27) /* 0.366078386 */, | ||
3474 | /* 3243 */ 0x05dc12e3 | (17 << 27) /* 0.366228950 */, | ||
3475 | /* 3244 */ 0x05dcb0c8 | (17 << 27) /* 0.366379530 */, | ||
3476 | /* 3245 */ 0x05dd4eb1 | (17 << 27) /* 0.366530125 */, | ||
3477 | /* 3246 */ 0x05ddec9e | (17 << 27) /* 0.366680736 */, | ||
3478 | /* 3247 */ 0x05de8a90 | (17 << 27) /* 0.366831362 */, | ||
3479 | |||
3480 | /* 3248 */ 0x05df2885 | (17 << 27) /* 0.366982004 */, | ||
3481 | /* 3249 */ 0x05dfc67f | (17 << 27) /* 0.367132661 */, | ||
3482 | /* 3250 */ 0x05e0647d | (17 << 27) /* 0.367283334 */, | ||
3483 | /* 3251 */ 0x05e1027f | (17 << 27) /* 0.367434022 */, | ||
3484 | /* 3252 */ 0x05e1a085 | (17 << 27) /* 0.367584725 */, | ||
3485 | /* 3253 */ 0x05e23e8f | (17 << 27) /* 0.367735444 */, | ||
3486 | /* 3254 */ 0x05e2dc9e | (17 << 27) /* 0.367886179 */, | ||
3487 | /* 3255 */ 0x05e37ab0 | (17 << 27) /* 0.368036929 */, | ||
3488 | /* 3256 */ 0x05e418c7 | (17 << 27) /* 0.368187694 */, | ||
3489 | /* 3257 */ 0x05e4b6e2 | (17 << 27) /* 0.368338475 */, | ||
3490 | /* 3258 */ 0x05e55501 | (17 << 27) /* 0.368489271 */, | ||
3491 | /* 3259 */ 0x05e5f324 | (17 << 27) /* 0.368640082 */, | ||
3492 | /* 3260 */ 0x05e6914c | (17 << 27) /* 0.368790909 */, | ||
3493 | /* 3261 */ 0x05e72f77 | (17 << 27) /* 0.368941752 */, | ||
3494 | /* 3262 */ 0x05e7cda7 | (17 << 27) /* 0.369092610 */, | ||
3495 | /* 3263 */ 0x05e86bda | (17 << 27) /* 0.369243483 */, | ||
3496 | |||
3497 | /* 3264 */ 0x05e90a12 | (17 << 27) /* 0.369394372 */, | ||
3498 | /* 3265 */ 0x05e9a84e | (17 << 27) /* 0.369545276 */, | ||
3499 | /* 3266 */ 0x05ea468e | (17 << 27) /* 0.369696195 */, | ||
3500 | /* 3267 */ 0x05eae4d3 | (17 << 27) /* 0.369847130 */, | ||
3501 | /* 3268 */ 0x05eb831b | (17 << 27) /* 0.369998080 */, | ||
3502 | /* 3269 */ 0x05ec2168 | (17 << 27) /* 0.370149046 */, | ||
3503 | /* 3270 */ 0x05ecbfb8 | (17 << 27) /* 0.370300027 */, | ||
3504 | /* 3271 */ 0x05ed5e0d | (17 << 27) /* 0.370451024 */, | ||
3505 | /* 3272 */ 0x05edfc66 | (17 << 27) /* 0.370602036 */, | ||
3506 | /* 3273 */ 0x05ee9ac3 | (17 << 27) /* 0.370753063 */, | ||
3507 | /* 3274 */ 0x05ef3924 | (17 << 27) /* 0.370904105 */, | ||
3508 | /* 3275 */ 0x05efd78a | (17 << 27) /* 0.371055163 */, | ||
3509 | /* 3276 */ 0x05f075f3 | (17 << 27) /* 0.371206237 */, | ||
3510 | /* 3277 */ 0x05f11461 | (17 << 27) /* 0.371357326 */, | ||
3511 | /* 3278 */ 0x05f1b2d3 | (17 << 27) /* 0.371508430 */, | ||
3512 | /* 3279 */ 0x05f25148 | (17 << 27) /* 0.371659549 */, | ||
3513 | |||
3514 | /* 3280 */ 0x05f2efc2 | (17 << 27) /* 0.371810684 */, | ||
3515 | /* 3281 */ 0x05f38e40 | (17 << 27) /* 0.371961834 */, | ||
3516 | /* 3282 */ 0x05f42cc3 | (17 << 27) /* 0.372113000 */, | ||
3517 | /* 3283 */ 0x05f4cb49 | (17 << 27) /* 0.372264181 */, | ||
3518 | /* 3284 */ 0x05f569d3 | (17 << 27) /* 0.372415377 */, | ||
3519 | /* 3285 */ 0x05f60862 | (17 << 27) /* 0.372566589 */, | ||
3520 | /* 3286 */ 0x05f6a6f5 | (17 << 27) /* 0.372717816 */, | ||
3521 | /* 3287 */ 0x05f7458b | (17 << 27) /* 0.372869058 */, | ||
3522 | /* 3288 */ 0x05f7e426 | (17 << 27) /* 0.373020316 */, | ||
3523 | /* 3289 */ 0x05f882c5 | (17 << 27) /* 0.373171589 */, | ||
3524 | /* 3290 */ 0x05f92169 | (17 << 27) /* 0.373322877 */, | ||
3525 | /* 3291 */ 0x05f9c010 | (17 << 27) /* 0.373474181 */, | ||
3526 | /* 3292 */ 0x05fa5ebb | (17 << 27) /* 0.373625500 */, | ||
3527 | /* 3293 */ 0x05fafd6b | (17 << 27) /* 0.373776834 */, | ||
3528 | /* 3294 */ 0x05fb9c1e | (17 << 27) /* 0.373928184 */, | ||
3529 | /* 3295 */ 0x05fc3ad6 | (17 << 27) /* 0.374079549 */, | ||
3530 | |||
3531 | /* 3296 */ 0x05fcd992 | (17 << 27) /* 0.374230929 */, | ||
3532 | /* 3297 */ 0x05fd7852 | (17 << 27) /* 0.374382325 */, | ||
3533 | /* 3298 */ 0x05fe1716 | (17 << 27) /* 0.374533735 */, | ||
3534 | /* 3299 */ 0x05feb5de | (17 << 27) /* 0.374685162 */, | ||
3535 | /* 3300 */ 0x05ff54aa | (17 << 27) /* 0.374836603 */, | ||
3536 | /* 3301 */ 0x05fff37b | (17 << 27) /* 0.374988060 */, | ||
3537 | /* 3302 */ 0x0600924f | (17 << 27) /* 0.375139532 */, | ||
3538 | /* 3303 */ 0x06013128 | (17 << 27) /* 0.375291019 */, | ||
3539 | /* 3304 */ 0x0601d004 | (17 << 27) /* 0.375442522 */, | ||
3540 | /* 3305 */ 0x06026ee5 | (17 << 27) /* 0.375594040 */, | ||
3541 | /* 3306 */ 0x06030dca | (17 << 27) /* 0.375745573 */, | ||
3542 | /* 3307 */ 0x0603acb3 | (17 << 27) /* 0.375897122 */, | ||
3543 | /* 3308 */ 0x06044ba0 | (17 << 27) /* 0.376048685 */, | ||
3544 | /* 3309 */ 0x0604ea91 | (17 << 27) /* 0.376200265 */, | ||
3545 | /* 3310 */ 0x06058987 | (17 << 27) /* 0.376351859 */, | ||
3546 | /* 3311 */ 0x06062880 | (17 << 27) /* 0.376503468 */, | ||
3547 | |||
3548 | /* 3312 */ 0x0606c77d | (17 << 27) /* 0.376655093 */, | ||
3549 | /* 3313 */ 0x0607667f | (17 << 27) /* 0.376806733 */, | ||
3550 | /* 3314 */ 0x06080585 | (17 << 27) /* 0.376958389 */, | ||
3551 | /* 3315 */ 0x0608a48f | (17 << 27) /* 0.377110059 */, | ||
3552 | /* 3316 */ 0x0609439c | (17 << 27) /* 0.377261745 */, | ||
3553 | /* 3317 */ 0x0609e2ae | (17 << 27) /* 0.377413446 */, | ||
3554 | /* 3318 */ 0x060a81c4 | (17 << 27) /* 0.377565163 */, | ||
3555 | /* 3319 */ 0x060b20df | (17 << 27) /* 0.377716894 */, | ||
3556 | /* 3320 */ 0x060bbffd | (17 << 27) /* 0.377868641 */, | ||
3557 | /* 3321 */ 0x060c5f1f | (17 << 27) /* 0.378020403 */, | ||
3558 | /* 3322 */ 0x060cfe46 | (17 << 27) /* 0.378172181 */, | ||
3559 | /* 3323 */ 0x060d9d70 | (17 << 27) /* 0.378323973 */, | ||
3560 | /* 3324 */ 0x060e3c9f | (17 << 27) /* 0.378475781 */, | ||
3561 | /* 3325 */ 0x060edbd1 | (17 << 27) /* 0.378627604 */, | ||
3562 | /* 3326 */ 0x060f7b08 | (17 << 27) /* 0.378779442 */, | ||
3563 | /* 3327 */ 0x06101a43 | (17 << 27) /* 0.378931296 */, | ||
3564 | |||
3565 | /* 3328 */ 0x0610b982 | (17 << 27) /* 0.379083164 */, | ||
3566 | /* 3329 */ 0x061158c5 | (17 << 27) /* 0.379235048 */, | ||
3567 | /* 3330 */ 0x0611f80c | (17 << 27) /* 0.379386947 */, | ||
3568 | /* 3331 */ 0x06129757 | (17 << 27) /* 0.379538862 */, | ||
3569 | /* 3332 */ 0x061336a6 | (17 << 27) /* 0.379690791 */, | ||
3570 | /* 3333 */ 0x0613d5fa | (17 << 27) /* 0.379842736 */, | ||
3571 | /* 3334 */ 0x06147551 | (17 << 27) /* 0.379994696 */, | ||
3572 | /* 3335 */ 0x061514ad | (17 << 27) /* 0.380146671 */, | ||
3573 | /* 3336 */ 0x0615b40c | (17 << 27) /* 0.380298661 */, | ||
3574 | /* 3337 */ 0x06165370 | (17 << 27) /* 0.380450666 */, | ||
3575 | /* 3338 */ 0x0616f2d8 | (17 << 27) /* 0.380602687 */, | ||
3576 | /* 3339 */ 0x06179243 | (17 << 27) /* 0.380754723 */, | ||
3577 | /* 3340 */ 0x061831b3 | (17 << 27) /* 0.380906774 */, | ||
3578 | /* 3341 */ 0x0618d127 | (17 << 27) /* 0.381058840 */, | ||
3579 | /* 3342 */ 0x0619709f | (17 << 27) /* 0.381210921 */, | ||
3580 | /* 3343 */ 0x061a101b | (17 << 27) /* 0.381363018 */, | ||
3581 | |||
3582 | /* 3344 */ 0x061aaf9c | (17 << 27) /* 0.381515130 */, | ||
3583 | /* 3345 */ 0x061b4f20 | (17 << 27) /* 0.381667257 */, | ||
3584 | /* 3346 */ 0x061beea8 | (17 << 27) /* 0.381819399 */, | ||
3585 | /* 3347 */ 0x061c8e34 | (17 << 27) /* 0.381971556 */, | ||
3586 | /* 3348 */ 0x061d2dc5 | (17 << 27) /* 0.382123728 */, | ||
3587 | /* 3349 */ 0x061dcd59 | (17 << 27) /* 0.382275916 */, | ||
3588 | /* 3350 */ 0x061e6cf2 | (17 << 27) /* 0.382428118 */, | ||
3589 | /* 3351 */ 0x061f0c8f | (17 << 27) /* 0.382580336 */, | ||
3590 | /* 3352 */ 0x061fac2f | (17 << 27) /* 0.382732569 */, | ||
3591 | /* 3353 */ 0x06204bd4 | (17 << 27) /* 0.382884817 */, | ||
3592 | /* 3354 */ 0x0620eb7d | (17 << 27) /* 0.383037080 */, | ||
3593 | /* 3355 */ 0x06218b2a | (17 << 27) /* 0.383189358 */, | ||
3594 | /* 3356 */ 0x06222adb | (17 << 27) /* 0.383341652 */, | ||
3595 | /* 3357 */ 0x0622ca90 | (17 << 27) /* 0.383493960 */, | ||
3596 | /* 3358 */ 0x06236a49 | (17 << 27) /* 0.383646284 */, | ||
3597 | /* 3359 */ 0x06240a06 | (17 << 27) /* 0.383798623 */, | ||
3598 | |||
3599 | /* 3360 */ 0x0624a9c7 | (17 << 27) /* 0.383950977 */, | ||
3600 | /* 3361 */ 0x0625498d | (17 << 27) /* 0.384103346 */, | ||
3601 | /* 3362 */ 0x0625e956 | (17 << 27) /* 0.384255730 */, | ||
3602 | /* 3363 */ 0x06268923 | (17 << 27) /* 0.384408129 */, | ||
3603 | /* 3364 */ 0x062728f5 | (17 << 27) /* 0.384560544 */, | ||
3604 | /* 3365 */ 0x0627c8ca | (17 << 27) /* 0.384712973 */, | ||
3605 | /* 3366 */ 0x062868a4 | (17 << 27) /* 0.384865418 */, | ||
3606 | /* 3367 */ 0x06290881 | (17 << 27) /* 0.385017878 */, | ||
3607 | /* 3368 */ 0x0629a863 | (17 << 27) /* 0.385170352 */, | ||
3608 | /* 3369 */ 0x062a4849 | (17 << 27) /* 0.385322842 */, | ||
3609 | /* 3370 */ 0x062ae832 | (17 << 27) /* 0.385475347 */, | ||
3610 | /* 3371 */ 0x062b8820 | (17 << 27) /* 0.385627867 */, | ||
3611 | /* 3372 */ 0x062c2812 | (17 << 27) /* 0.385780402 */, | ||
3612 | /* 3373 */ 0x062cc808 | (17 << 27) /* 0.385932953 */, | ||
3613 | /* 3374 */ 0x062d6802 | (17 << 27) /* 0.386085518 */, | ||
3614 | /* 3375 */ 0x062e0800 | (17 << 27) /* 0.386238098 */, | ||
3615 | |||
3616 | /* 3376 */ 0x062ea802 | (17 << 27) /* 0.386390694 */, | ||
3617 | /* 3377 */ 0x062f4808 | (17 << 27) /* 0.386543304 */, | ||
3618 | /* 3378 */ 0x062fe812 | (17 << 27) /* 0.386695930 */, | ||
3619 | /* 3379 */ 0x06308820 | (17 << 27) /* 0.386848570 */, | ||
3620 | /* 3380 */ 0x06312832 | (17 << 27) /* 0.387001226 */, | ||
3621 | /* 3381 */ 0x0631c849 | (17 << 27) /* 0.387153897 */, | ||
3622 | /* 3382 */ 0x06326863 | (17 << 27) /* 0.387306582 */, | ||
3623 | /* 3383 */ 0x06330881 | (17 << 27) /* 0.387459283 */, | ||
3624 | /* 3384 */ 0x0633a8a3 | (17 << 27) /* 0.387611999 */, | ||
3625 | /* 3385 */ 0x063448ca | (17 << 27) /* 0.387764730 */, | ||
3626 | /* 3386 */ 0x0634e8f4 | (17 << 27) /* 0.387917476 */, | ||
3627 | /* 3387 */ 0x06358923 | (17 << 27) /* 0.388070237 */, | ||
3628 | /* 3388 */ 0x06362955 | (17 << 27) /* 0.388223013 */, | ||
3629 | /* 3389 */ 0x0636c98c | (17 << 27) /* 0.388375804 */, | ||
3630 | /* 3390 */ 0x063769c6 | (17 << 27) /* 0.388528610 */, | ||
3631 | /* 3391 */ 0x06380a05 | (17 << 27) /* 0.388681431 */, | ||
3632 | |||
3633 | /* 3392 */ 0x0638aa48 | (17 << 27) /* 0.388834268 */, | ||
3634 | /* 3393 */ 0x06394a8e | (17 << 27) /* 0.388987119 */, | ||
3635 | /* 3394 */ 0x0639ead9 | (17 << 27) /* 0.389139985 */, | ||
3636 | /* 3395 */ 0x063a8b28 | (17 << 27) /* 0.389292866 */, | ||
3637 | /* 3396 */ 0x063b2b7b | (17 << 27) /* 0.389445762 */, | ||
3638 | /* 3397 */ 0x063bcbd1 | (17 << 27) /* 0.389598674 */, | ||
3639 | /* 3398 */ 0x063c6c2c | (17 << 27) /* 0.389751600 */, | ||
3640 | /* 3399 */ 0x063d0c8b | (17 << 27) /* 0.389904541 */, | ||
3641 | /* 3400 */ 0x063dacee | (17 << 27) /* 0.390057497 */, | ||
3642 | /* 3401 */ 0x063e4d55 | (17 << 27) /* 0.390210468 */, | ||
3643 | /* 3402 */ 0x063eedc0 | (17 << 27) /* 0.390363455 */, | ||
3644 | /* 3403 */ 0x063f8e2f | (17 << 27) /* 0.390516456 */, | ||
3645 | /* 3404 */ 0x06402ea2 | (17 << 27) /* 0.390669472 */, | ||
3646 | /* 3405 */ 0x0640cf19 | (17 << 27) /* 0.390822503 */, | ||
3647 | /* 3406 */ 0x06416f94 | (17 << 27) /* 0.390975549 */, | ||
3648 | /* 3407 */ 0x06421013 | (17 << 27) /* 0.391128611 */, | ||
3649 | |||
3650 | /* 3408 */ 0x0642b096 | (17 << 27) /* 0.391281687 */, | ||
3651 | /* 3409 */ 0x0643511d | (17 << 27) /* 0.391434778 */, | ||
3652 | /* 3410 */ 0x0643f1a8 | (17 << 27) /* 0.391587884 */, | ||
3653 | /* 3411 */ 0x06449237 | (17 << 27) /* 0.391741005 */, | ||
3654 | /* 3412 */ 0x064532ca | (17 << 27) /* 0.391894141 */, | ||
3655 | /* 3413 */ 0x0645d361 | (17 << 27) /* 0.392047292 */, | ||
3656 | /* 3414 */ 0x064673fc | (17 << 27) /* 0.392200458 */, | ||
3657 | /* 3415 */ 0x0647149c | (17 << 27) /* 0.392353638 */, | ||
3658 | /* 3416 */ 0x0647b53f | (17 << 27) /* 0.392506834 */, | ||
3659 | /* 3417 */ 0x064855e6 | (17 << 27) /* 0.392660045 */, | ||
3660 | /* 3418 */ 0x0648f691 | (17 << 27) /* 0.392813271 */, | ||
3661 | /* 3419 */ 0x06499740 | (17 << 27) /* 0.392966511 */, | ||
3662 | /* 3420 */ 0x064a37f4 | (17 << 27) /* 0.393119767 */, | ||
3663 | /* 3421 */ 0x064ad8ab | (17 << 27) /* 0.393273038 */, | ||
3664 | /* 3422 */ 0x064b7966 | (17 << 27) /* 0.393426323 */, | ||
3665 | /* 3423 */ 0x064c1a25 | (17 << 27) /* 0.393579623 */, | ||
3666 | |||
3667 | /* 3424 */ 0x064cbae9 | (17 << 27) /* 0.393732939 */, | ||
3668 | /* 3425 */ 0x064d5bb0 | (17 << 27) /* 0.393886269 */, | ||
3669 | /* 3426 */ 0x064dfc7b | (17 << 27) /* 0.394039614 */, | ||
3670 | /* 3427 */ 0x064e9d4b | (17 << 27) /* 0.394192974 */, | ||
3671 | /* 3428 */ 0x064f3e1e | (17 << 27) /* 0.394346349 */, | ||
3672 | /* 3429 */ 0x064fdef5 | (17 << 27) /* 0.394499739 */, | ||
3673 | /* 3430 */ 0x06507fd0 | (17 << 27) /* 0.394653144 */, | ||
3674 | /* 3431 */ 0x065120b0 | (17 << 27) /* 0.394806564 */, | ||
3675 | /* 3432 */ 0x0651c193 | (17 << 27) /* 0.394959999 */, | ||
3676 | /* 3433 */ 0x0652627a | (17 << 27) /* 0.395113448 */, | ||
3677 | /* 3434 */ 0x06530366 | (17 << 27) /* 0.395266913 */, | ||
3678 | /* 3435 */ 0x0653a455 | (17 << 27) /* 0.395420392 */, | ||
3679 | /* 3436 */ 0x06544548 | (17 << 27) /* 0.395573886 */, | ||
3680 | /* 3437 */ 0x0654e640 | (17 << 27) /* 0.395727395 */, | ||
3681 | /* 3438 */ 0x0655873b | (17 << 27) /* 0.395880919 */, | ||
3682 | /* 3439 */ 0x0656283a | (17 << 27) /* 0.396034458 */, | ||
3683 | |||
3684 | /* 3440 */ 0x0656c93d | (17 << 27) /* 0.396188012 */, | ||
3685 | /* 3441 */ 0x06576a45 | (17 << 27) /* 0.396341581 */, | ||
3686 | /* 3442 */ 0x06580b50 | (17 << 27) /* 0.396495164 */, | ||
3687 | /* 3443 */ 0x0658ac5f | (17 << 27) /* 0.396648763 */, | ||
3688 | /* 3444 */ 0x06594d73 | (17 << 27) /* 0.396802376 */, | ||
3689 | /* 3445 */ 0x0659ee8a | (17 << 27) /* 0.396956004 */, | ||
3690 | /* 3446 */ 0x065a8fa5 | (17 << 27) /* 0.397109647 */, | ||
3691 | /* 3447 */ 0x065b30c4 | (17 << 27) /* 0.397263305 */, | ||
3692 | /* 3448 */ 0x065bd1e7 | (17 << 27) /* 0.397416978 */, | ||
3693 | /* 3449 */ 0x065c730f | (17 << 27) /* 0.397570666 */, | ||
3694 | /* 3450 */ 0x065d143a | (17 << 27) /* 0.397724368 */, | ||
3695 | /* 3451 */ 0x065db569 | (17 << 27) /* 0.397878085 */, | ||
3696 | /* 3452 */ 0x065e569c | (17 << 27) /* 0.398031818 */, | ||
3697 | /* 3453 */ 0x065ef7d3 | (17 << 27) /* 0.398185565 */, | ||
3698 | /* 3454 */ 0x065f990e | (17 << 27) /* 0.398339326 */, | ||
3699 | /* 3455 */ 0x06603a4e | (17 << 27) /* 0.398493103 */, | ||
3700 | |||
3701 | /* 3456 */ 0x0660db91 | (17 << 27) /* 0.398646895 */, | ||
3702 | /* 3457 */ 0x06617cd8 | (17 << 27) /* 0.398800701 */, | ||
3703 | /* 3458 */ 0x06621e23 | (17 << 27) /* 0.398954522 */, | ||
3704 | /* 3459 */ 0x0662bf72 | (17 << 27) /* 0.399108358 */, | ||
3705 | /* 3460 */ 0x066360c5 | (17 << 27) /* 0.399262209 */, | ||
3706 | /* 3461 */ 0x0664021c | (17 << 27) /* 0.399416075 */, | ||
3707 | /* 3462 */ 0x0664a377 | (17 << 27) /* 0.399569955 */, | ||
3708 | /* 3463 */ 0x066544d6 | (17 << 27) /* 0.399723851 */, | ||
3709 | /* 3464 */ 0x0665e639 | (17 << 27) /* 0.399877761 */, | ||
3710 | /* 3465 */ 0x066687a0 | (17 << 27) /* 0.400031686 */, | ||
3711 | /* 3466 */ 0x0667290b | (17 << 27) /* 0.400185625 */, | ||
3712 | /* 3467 */ 0x0667ca79 | (17 << 27) /* 0.400339580 */, | ||
3713 | /* 3468 */ 0x06686bec | (17 << 27) /* 0.400493549 */, | ||
3714 | /* 3469 */ 0x06690d63 | (17 << 27) /* 0.400647534 */, | ||
3715 | /* 3470 */ 0x0669aede | (17 << 27) /* 0.400801533 */, | ||
3716 | /* 3471 */ 0x066a505d | (17 << 27) /* 0.400955546 */, | ||
3717 | |||
3718 | /* 3472 */ 0x066af1df | (17 << 27) /* 0.401109575 */, | ||
3719 | /* 3473 */ 0x066b9366 | (17 << 27) /* 0.401263618 */, | ||
3720 | /* 3474 */ 0x066c34f1 | (17 << 27) /* 0.401417676 */, | ||
3721 | /* 3475 */ 0x066cd67f | (17 << 27) /* 0.401571749 */, | ||
3722 | /* 3476 */ 0x066d7812 | (17 << 27) /* 0.401725837 */, | ||
3723 | /* 3477 */ 0x066e19a9 | (17 << 27) /* 0.401879939 */, | ||
3724 | /* 3478 */ 0x066ebb43 | (17 << 27) /* 0.402034056 */, | ||
3725 | /* 3479 */ 0x066f5ce2 | (17 << 27) /* 0.402188188 */, | ||
3726 | /* 3480 */ 0x066ffe84 | (17 << 27) /* 0.402342335 */, | ||
3727 | /* 3481 */ 0x0670a02a | (17 << 27) /* 0.402496497 */, | ||
3728 | /* 3482 */ 0x067141d5 | (17 << 27) /* 0.402650673 */, | ||
3729 | /* 3483 */ 0x0671e383 | (17 << 27) /* 0.402804864 */, | ||
3730 | /* 3484 */ 0x06728535 | (17 << 27) /* 0.402959070 */, | ||
3731 | /* 3485 */ 0x067326ec | (17 << 27) /* 0.403113291 */, | ||
3732 | /* 3486 */ 0x0673c8a6 | (17 << 27) /* 0.403267526 */, | ||
3733 | /* 3487 */ 0x06746a64 | (17 << 27) /* 0.403421776 */, | ||
3734 | |||
3735 | /* 3488 */ 0x06750c26 | (17 << 27) /* 0.403576041 */, | ||
3736 | /* 3489 */ 0x0675adec | (17 << 27) /* 0.403730320 */, | ||
3737 | /* 3490 */ 0x06764fb6 | (17 << 27) /* 0.403884615 */, | ||
3738 | /* 3491 */ 0x0676f184 | (17 << 27) /* 0.404038924 */, | ||
3739 | /* 3492 */ 0x06779356 | (17 << 27) /* 0.404193247 */, | ||
3740 | /* 3493 */ 0x0678352c | (17 << 27) /* 0.404347586 */, | ||
3741 | /* 3494 */ 0x0678d706 | (17 << 27) /* 0.404501939 */, | ||
3742 | /* 3495 */ 0x067978e4 | (17 << 27) /* 0.404656307 */, | ||
3743 | /* 3496 */ 0x067a1ac6 | (17 << 27) /* 0.404810690 */, | ||
3744 | /* 3497 */ 0x067abcac | (17 << 27) /* 0.404965087 */, | ||
3745 | /* 3498 */ 0x067b5e95 | (17 << 27) /* 0.405119499 */, | ||
3746 | /* 3499 */ 0x067c0083 | (17 << 27) /* 0.405273926 */, | ||
3747 | /* 3500 */ 0x067ca275 | (17 << 27) /* 0.405428368 */, | ||
3748 | /* 3501 */ 0x067d446a | (17 << 27) /* 0.405582824 */, | ||
3749 | /* 3502 */ 0x067de664 | (17 << 27) /* 0.405737295 */, | ||
3750 | /* 3503 */ 0x067e8861 | (17 << 27) /* 0.405891781 */, | ||
3751 | |||
3752 | /* 3504 */ 0x067f2a62 | (17 << 27) /* 0.406046281 */, | ||
3753 | /* 3505 */ 0x067fcc68 | (17 << 27) /* 0.406200796 */, | ||
3754 | /* 3506 */ 0x06806e71 | (17 << 27) /* 0.406355326 */, | ||
3755 | /* 3507 */ 0x0681107e | (17 << 27) /* 0.406509870 */, | ||
3756 | /* 3508 */ 0x0681b28f | (17 << 27) /* 0.406664429 */, | ||
3757 | /* 3509 */ 0x068254a4 | (17 << 27) /* 0.406819003 */, | ||
3758 | /* 3510 */ 0x0682f6bd | (17 << 27) /* 0.406973592 */, | ||
3759 | /* 3511 */ 0x068398da | (17 << 27) /* 0.407128195 */, | ||
3760 | /* 3512 */ 0x06843afb | (17 << 27) /* 0.407282813 */, | ||
3761 | /* 3513 */ 0x0684dd20 | (17 << 27) /* 0.407437445 */, | ||
3762 | /* 3514 */ 0x06857f49 | (17 << 27) /* 0.407592093 */, | ||
3763 | /* 3515 */ 0x06862176 | (17 << 27) /* 0.407746754 */, | ||
3764 | /* 3516 */ 0x0686c3a6 | (17 << 27) /* 0.407901431 */, | ||
3765 | /* 3517 */ 0x068765db | (17 << 27) /* 0.408056122 */, | ||
3766 | /* 3518 */ 0x06880814 | (17 << 27) /* 0.408210828 */, | ||
3767 | /* 3519 */ 0x0688aa50 | (17 << 27) /* 0.408365549 */, | ||
3768 | |||
3769 | /* 3520 */ 0x06894c90 | (17 << 27) /* 0.408520284 */, | ||
3770 | /* 3521 */ 0x0689eed5 | (17 << 27) /* 0.408675034 */, | ||
3771 | /* 3522 */ 0x068a911d | (17 << 27) /* 0.408829798 */, | ||
3772 | /* 3523 */ 0x068b3369 | (17 << 27) /* 0.408984577 */, | ||
3773 | /* 3524 */ 0x068bd5b9 | (17 << 27) /* 0.409139371 */, | ||
3774 | /* 3525 */ 0x068c780e | (17 << 27) /* 0.409294180 */, | ||
3775 | /* 3526 */ 0x068d1a66 | (17 << 27) /* 0.409449003 */, | ||
3776 | /* 3527 */ 0x068dbcc1 | (17 << 27) /* 0.409603840 */, | ||
3777 | /* 3528 */ 0x068e5f21 | (17 << 27) /* 0.409758693 */, | ||
3778 | /* 3529 */ 0x068f0185 | (17 << 27) /* 0.409913560 */, | ||
3779 | /* 3530 */ 0x068fa3ed | (17 << 27) /* 0.410068441 */, | ||
3780 | /* 3531 */ 0x06904658 | (17 << 27) /* 0.410223338 */, | ||
3781 | /* 3532 */ 0x0690e8c8 | (17 << 27) /* 0.410378249 */, | ||
3782 | /* 3533 */ 0x06918b3c | (17 << 27) /* 0.410533174 */, | ||
3783 | /* 3534 */ 0x06922db3 | (17 << 27) /* 0.410688114 */, | ||
3784 | /* 3535 */ 0x0692d02e | (17 << 27) /* 0.410843069 */, | ||
3785 | |||
3786 | /* 3536 */ 0x069372ae | (17 << 27) /* 0.410998038 */, | ||
3787 | /* 3537 */ 0x06941531 | (17 << 27) /* 0.411153022 */, | ||
3788 | /* 3538 */ 0x0694b7b8 | (17 << 27) /* 0.411308021 */, | ||
3789 | /* 3539 */ 0x06955a43 | (17 << 27) /* 0.411463034 */, | ||
3790 | /* 3540 */ 0x0695fcd2 | (17 << 27) /* 0.411618062 */, | ||
3791 | /* 3541 */ 0x06969f65 | (17 << 27) /* 0.411773104 */, | ||
3792 | /* 3542 */ 0x069741fb | (17 << 27) /* 0.411928161 */, | ||
3793 | /* 3543 */ 0x0697e496 | (17 << 27) /* 0.412083232 */, | ||
3794 | /* 3544 */ 0x06988735 | (17 << 27) /* 0.412238319 */, | ||
3795 | /* 3545 */ 0x069929d7 | (17 << 27) /* 0.412393419 */, | ||
3796 | /* 3546 */ 0x0699cc7e | (17 << 27) /* 0.412548535 */, | ||
3797 | /* 3547 */ 0x069a6f28 | (17 << 27) /* 0.412703664 */, | ||
3798 | /* 3548 */ 0x069b11d6 | (17 << 27) /* 0.412858809 */, | ||
3799 | /* 3549 */ 0x069bb489 | (17 << 27) /* 0.413013968 */, | ||
3800 | /* 3550 */ 0x069c573f | (17 << 27) /* 0.413169142 */, | ||
3801 | /* 3551 */ 0x069cf9f9 | (17 << 27) /* 0.413324330 */, | ||
3802 | |||
3803 | /* 3552 */ 0x069d9cb7 | (17 << 27) /* 0.413479532 */, | ||
3804 | /* 3553 */ 0x069e3f78 | (17 << 27) /* 0.413634750 */, | ||
3805 | /* 3554 */ 0x069ee23e | (17 << 27) /* 0.413789982 */, | ||
3806 | /* 3555 */ 0x069f8508 | (17 << 27) /* 0.413945228 */, | ||
3807 | /* 3556 */ 0x06a027d5 | (17 << 27) /* 0.414100489 */, | ||
3808 | /* 3557 */ 0x06a0caa7 | (17 << 27) /* 0.414255765 */, | ||
3809 | /* 3558 */ 0x06a16d7c | (17 << 27) /* 0.414411055 */, | ||
3810 | /* 3559 */ 0x06a21055 | (17 << 27) /* 0.414566359 */, | ||
3811 | /* 3560 */ 0x06a2b333 | (17 << 27) /* 0.414721679 */, | ||
3812 | /* 3561 */ 0x06a35614 | (17 << 27) /* 0.414877012 */, | ||
3813 | /* 3562 */ 0x06a3f8f9 | (17 << 27) /* 0.415032361 */, | ||
3814 | /* 3563 */ 0x06a49be2 | (17 << 27) /* 0.415187723 */, | ||
3815 | /* 3564 */ 0x06a53ece | (17 << 27) /* 0.415343101 */, | ||
3816 | /* 3565 */ 0x06a5e1bf | (17 << 27) /* 0.415498493 */, | ||
3817 | /* 3566 */ 0x06a684b4 | (17 << 27) /* 0.415653899 */, | ||
3818 | /* 3567 */ 0x06a727ac | (17 << 27) /* 0.415809320 */, | ||
3819 | |||
3820 | /* 3568 */ 0x06a7caa9 | (17 << 27) /* 0.415964756 */, | ||
3821 | /* 3569 */ 0x06a86da9 | (17 << 27) /* 0.416120206 */, | ||
3822 | /* 3570 */ 0x06a910ad | (17 << 27) /* 0.416275670 */, | ||
3823 | /* 3571 */ 0x06a9b3b5 | (17 << 27) /* 0.416431149 */, | ||
3824 | /* 3572 */ 0x06aa56c1 | (17 << 27) /* 0.416586643 */, | ||
3825 | /* 3573 */ 0x06aaf9d1 | (17 << 27) /* 0.416742151 */, | ||
3826 | /* 3574 */ 0x06ab9ce5 | (17 << 27) /* 0.416897673 */, | ||
3827 | /* 3575 */ 0x06ac3ffc | (17 << 27) /* 0.417053210 */, | ||
3828 | /* 3576 */ 0x06ace318 | (17 << 27) /* 0.417208762 */, | ||
3829 | /* 3577 */ 0x06ad8637 | (17 << 27) /* 0.417364328 */, | ||
3830 | /* 3578 */ 0x06ae295b | (17 << 27) /* 0.417519909 */, | ||
3831 | /* 3579 */ 0x06aecc82 | (17 << 27) /* 0.417675504 */, | ||
3832 | /* 3580 */ 0x06af6fad | (17 << 27) /* 0.417831113 */, | ||
3833 | /* 3581 */ 0x06b012dc | (17 << 27) /* 0.417986737 */, | ||
3834 | /* 3582 */ 0x06b0b60f | (17 << 27) /* 0.418142376 */, | ||
3835 | /* 3583 */ 0x06b15946 | (17 << 27) /* 0.418298029 */, | ||
3836 | |||
3837 | /* 3584 */ 0x06b1fc81 | (17 << 27) /* 0.418453696 */, | ||
3838 | /* 3585 */ 0x06b29fbf | (17 << 27) /* 0.418609378 */, | ||
3839 | /* 3586 */ 0x06b34302 | (17 << 27) /* 0.418765075 */, | ||
3840 | /* 3587 */ 0x06b3e648 | (17 << 27) /* 0.418920786 */, | ||
3841 | /* 3588 */ 0x06b48992 | (17 << 27) /* 0.419076511 */, | ||
3842 | /* 3589 */ 0x06b52ce0 | (17 << 27) /* 0.419232251 */, | ||
3843 | /* 3590 */ 0x06b5d032 | (17 << 27) /* 0.419388005 */, | ||
3844 | /* 3591 */ 0x06b67388 | (17 << 27) /* 0.419543774 */, | ||
3845 | /* 3592 */ 0x06b716e2 | (17 << 27) /* 0.419699557 */, | ||
3846 | /* 3593 */ 0x06b7ba3f | (17 << 27) /* 0.419855355 */, | ||
3847 | /* 3594 */ 0x06b85da1 | (17 << 27) /* 0.420011167 */, | ||
3848 | /* 3595 */ 0x06b90106 | (17 << 27) /* 0.420166994 */, | ||
3849 | /* 3596 */ 0x06b9a470 | (17 << 27) /* 0.420322835 */, | ||
3850 | /* 3597 */ 0x06ba47dd | (17 << 27) /* 0.420478690 */, | ||
3851 | /* 3598 */ 0x06baeb4e | (17 << 27) /* 0.420634560 */, | ||
3852 | /* 3599 */ 0x06bb8ec3 | (17 << 27) /* 0.420790445 */, | ||
3853 | |||
3854 | /* 3600 */ 0x06bc323b | (17 << 27) /* 0.420946343 */, | ||
3855 | /* 3601 */ 0x06bcd5b8 | (17 << 27) /* 0.421102257 */, | ||
3856 | /* 3602 */ 0x06bd7939 | (17 << 27) /* 0.421258184 */, | ||
3857 | /* 3603 */ 0x06be1cbd | (17 << 27) /* 0.421414127 */, | ||
3858 | /* 3604 */ 0x06bec045 | (17 << 27) /* 0.421570083 */, | ||
3859 | /* 3605 */ 0x06bf63d1 | (17 << 27) /* 0.421726054 */, | ||
3860 | /* 3606 */ 0x06c00761 | (17 << 27) /* 0.421882040 */, | ||
3861 | /* 3607 */ 0x06c0aaf5 | (17 << 27) /* 0.422038039 */, | ||
3862 | /* 3608 */ 0x06c14e8d | (17 << 27) /* 0.422194054 */, | ||
3863 | /* 3609 */ 0x06c1f229 | (17 << 27) /* 0.422350082 */, | ||
3864 | /* 3610 */ 0x06c295c8 | (17 << 27) /* 0.422506125 */, | ||
3865 | /* 3611 */ 0x06c3396c | (17 << 27) /* 0.422662183 */, | ||
3866 | /* 3612 */ 0x06c3dd13 | (17 << 27) /* 0.422818255 */, | ||
3867 | /* 3613 */ 0x06c480be | (17 << 27) /* 0.422974341 */, | ||
3868 | /* 3614 */ 0x06c5246d | (17 << 27) /* 0.423130442 */, | ||
3869 | /* 3615 */ 0x06c5c820 | (17 << 27) /* 0.423286557 */, | ||
3870 | |||
3871 | /* 3616 */ 0x06c66bd6 | (17 << 27) /* 0.423442686 */, | ||
3872 | /* 3617 */ 0x06c70f91 | (17 << 27) /* 0.423598830 */, | ||
3873 | /* 3618 */ 0x06c7b34f | (17 << 27) /* 0.423754988 */, | ||
3874 | /* 3619 */ 0x06c85712 | (17 << 27) /* 0.423911161 */, | ||
3875 | /* 3620 */ 0x06c8fad8 | (17 << 27) /* 0.424067348 */, | ||
3876 | /* 3621 */ 0x06c99ea2 | (17 << 27) /* 0.424223550 */, | ||
3877 | /* 3622 */ 0x06ca4270 | (17 << 27) /* 0.424379765 */, | ||
3878 | /* 3623 */ 0x06cae641 | (17 << 27) /* 0.424535996 */, | ||
3879 | /* 3624 */ 0x06cb8a17 | (17 << 27) /* 0.424692240 */, | ||
3880 | /* 3625 */ 0x06cc2df0 | (17 << 27) /* 0.424848499 */, | ||
3881 | /* 3626 */ 0x06ccd1ce | (17 << 27) /* 0.425004772 */, | ||
3882 | /* 3627 */ 0x06cd75af | (17 << 27) /* 0.425161060 */, | ||
3883 | /* 3628 */ 0x06ce1994 | (17 << 27) /* 0.425317362 */, | ||
3884 | /* 3629 */ 0x06cebd7d | (17 << 27) /* 0.425473678 */, | ||
3885 | /* 3630 */ 0x06cf6169 | (17 << 27) /* 0.425630009 */, | ||
3886 | /* 3631 */ 0x06d0055a | (17 << 27) /* 0.425786354 */, | ||
3887 | |||
3888 | /* 3632 */ 0x06d0a94e | (17 << 27) /* 0.425942714 */, | ||
3889 | /* 3633 */ 0x06d14d47 | (17 << 27) /* 0.426099088 */, | ||
3890 | /* 3634 */ 0x06d1f143 | (17 << 27) /* 0.426255476 */, | ||
3891 | /* 3635 */ 0x06d29543 | (17 << 27) /* 0.426411878 */, | ||
3892 | /* 3636 */ 0x06d33947 | (17 << 27) /* 0.426568295 */, | ||
3893 | /* 3637 */ 0x06d3dd4e | (17 << 27) /* 0.426724726 */, | ||
3894 | /* 3638 */ 0x06d4815a | (17 << 27) /* 0.426881172 */, | ||
3895 | /* 3639 */ 0x06d52569 | (17 << 27) /* 0.427037632 */, | ||
3896 | /* 3640 */ 0x06d5c97c | (17 << 27) /* 0.427194106 */, | ||
3897 | /* 3641 */ 0x06d66d93 | (17 << 27) /* 0.427350594 */, | ||
3898 | /* 3642 */ 0x06d711ae | (17 << 27) /* 0.427507097 */, | ||
3899 | /* 3643 */ 0x06d7b5cd | (17 << 27) /* 0.427663614 */, | ||
3900 | /* 3644 */ 0x06d859f0 | (17 << 27) /* 0.427820146 */, | ||
3901 | /* 3645 */ 0x06d8fe16 | (17 << 27) /* 0.427976692 */, | ||
3902 | /* 3646 */ 0x06d9a240 | (17 << 27) /* 0.428133252 */, | ||
3903 | /* 3647 */ 0x06da466f | (17 << 27) /* 0.428289826 */, | ||
3904 | |||
3905 | /* 3648 */ 0x06daeaa1 | (17 << 27) /* 0.428446415 */, | ||
3906 | /* 3649 */ 0x06db8ed6 | (17 << 27) /* 0.428603018 */, | ||
3907 | /* 3650 */ 0x06dc3310 | (17 << 27) /* 0.428759635 */, | ||
3908 | /* 3651 */ 0x06dcd74d | (17 << 27) /* 0.428916267 */, | ||
3909 | /* 3652 */ 0x06dd7b8f | (17 << 27) /* 0.429072913 */, | ||
3910 | /* 3653 */ 0x06de1fd4 | (17 << 27) /* 0.429229573 */, | ||
3911 | /* 3654 */ 0x06dec41d | (17 << 27) /* 0.429386248 */, | ||
3912 | /* 3655 */ 0x06df686a | (17 << 27) /* 0.429542937 */, | ||
3913 | /* 3656 */ 0x06e00cbb | (17 << 27) /* 0.429699640 */, | ||
3914 | /* 3657 */ 0x06e0b10f | (17 << 27) /* 0.429856357 */, | ||
3915 | /* 3658 */ 0x06e15567 | (17 << 27) /* 0.430013089 */, | ||
3916 | /* 3659 */ 0x06e1f9c4 | (17 << 27) /* 0.430169835 */, | ||
3917 | /* 3660 */ 0x06e29e24 | (17 << 27) /* 0.430326595 */, | ||
3918 | /* 3661 */ 0x06e34287 | (17 << 27) /* 0.430483370 */, | ||
3919 | /* 3662 */ 0x06e3e6ef | (17 << 27) /* 0.430640159 */, | ||
3920 | /* 3663 */ 0x06e48b5b | (17 << 27) /* 0.430796962 */, | ||
3921 | |||
3922 | /* 3664 */ 0x06e52fca | (17 << 27) /* 0.430953779 */, | ||
3923 | /* 3665 */ 0x06e5d43d | (17 << 27) /* 0.431110611 */, | ||
3924 | /* 3666 */ 0x06e678b4 | (17 << 27) /* 0.431267457 */, | ||
3925 | /* 3667 */ 0x06e71d2f | (17 << 27) /* 0.431424317 */, | ||
3926 | /* 3668 */ 0x06e7c1ae | (17 << 27) /* 0.431581192 */, | ||
3927 | /* 3669 */ 0x06e86630 | (17 << 27) /* 0.431738080 */, | ||
3928 | /* 3670 */ 0x06e90ab7 | (17 << 27) /* 0.431894983 */, | ||
3929 | /* 3671 */ 0x06e9af41 | (17 << 27) /* 0.432051900 */, | ||
3930 | /* 3672 */ 0x06ea53cf | (17 << 27) /* 0.432208832 */, | ||
3931 | /* 3673 */ 0x06eaf860 | (17 << 27) /* 0.432365778 */, | ||
3932 | /* 3674 */ 0x06eb9cf6 | (17 << 27) /* 0.432522737 */, | ||
3933 | /* 3675 */ 0x06ec418f | (17 << 27) /* 0.432679712 */, | ||
3934 | /* 3676 */ 0x06ece62d | (17 << 27) /* 0.432836700 */, | ||
3935 | /* 3677 */ 0x06ed8ace | (17 << 27) /* 0.432993703 */, | ||
3936 | /* 3678 */ 0x06ee2f73 | (17 << 27) /* 0.433150720 */, | ||
3937 | /* 3679 */ 0x06eed41b | (17 << 27) /* 0.433307751 */, | ||
3938 | |||
3939 | /* 3680 */ 0x06ef78c8 | (17 << 27) /* 0.433464796 */, | ||
3940 | /* 3681 */ 0x06f01d78 | (17 << 27) /* 0.433621856 */, | ||
3941 | /* 3682 */ 0x06f0c22c | (17 << 27) /* 0.433778929 */, | ||
3942 | /* 3683 */ 0x06f166e4 | (17 << 27) /* 0.433936017 */, | ||
3943 | /* 3684 */ 0x06f20ba0 | (17 << 27) /* 0.434093120 */, | ||
3944 | /* 3685 */ 0x06f2b060 | (17 << 27) /* 0.434250236 */, | ||
3945 | /* 3686 */ 0x06f35523 | (17 << 27) /* 0.434407367 */, | ||
3946 | /* 3687 */ 0x06f3f9eb | (17 << 27) /* 0.434564512 */, | ||
3947 | /* 3688 */ 0x06f49eb6 | (17 << 27) /* 0.434721671 */, | ||
3948 | /* 3689 */ 0x06f54385 | (17 << 27) /* 0.434878844 */, | ||
3949 | /* 3690 */ 0x06f5e857 | (17 << 27) /* 0.435036032 */, | ||
3950 | /* 3691 */ 0x06f68d2e | (17 << 27) /* 0.435193233 */, | ||
3951 | /* 3692 */ 0x06f73208 | (17 << 27) /* 0.435350449 */, | ||
3952 | /* 3693 */ 0x06f7d6e6 | (17 << 27) /* 0.435507679 */, | ||
3953 | /* 3694 */ 0x06f87bc8 | (17 << 27) /* 0.435664924 */, | ||
3954 | /* 3695 */ 0x06f920ae | (17 << 27) /* 0.435822182 */, | ||
3955 | |||
3956 | /* 3696 */ 0x06f9c597 | (17 << 27) /* 0.435979455 */, | ||
3957 | /* 3697 */ 0x06fa6a85 | (17 << 27) /* 0.436136741 */, | ||
3958 | /* 3698 */ 0x06fb0f76 | (17 << 27) /* 0.436294042 */, | ||
3959 | /* 3699 */ 0x06fbb46b | (17 << 27) /* 0.436451358 */, | ||
3960 | /* 3700 */ 0x06fc5964 | (17 << 27) /* 0.436608687 */, | ||
3961 | /* 3701 */ 0x06fcfe60 | (17 << 27) /* 0.436766031 */, | ||
3962 | /* 3702 */ 0x06fda361 | (17 << 27) /* 0.436923388 */, | ||
3963 | /* 3703 */ 0x06fe4865 | (17 << 27) /* 0.437080760 */, | ||
3964 | /* 3704 */ 0x06feed6d | (17 << 27) /* 0.437238146 */, | ||
3965 | /* 3705 */ 0x06ff9279 | (17 << 27) /* 0.437395547 */, | ||
3966 | /* 3706 */ 0x07003788 | (17 << 27) /* 0.437552961 */, | ||
3967 | /* 3707 */ 0x0700dc9c | (17 << 27) /* 0.437710389 */, | ||
3968 | /* 3708 */ 0x070181b3 | (17 << 27) /* 0.437867832 */, | ||
3969 | /* 3709 */ 0x070226ce | (17 << 27) /* 0.438025289 */, | ||
3970 | /* 3710 */ 0x0702cbed | (17 << 27) /* 0.438182760 */, | ||
3971 | /* 3711 */ 0x0703710f | (17 << 27) /* 0.438340245 */, | ||
3972 | |||
3973 | /* 3712 */ 0x07041636 | (17 << 27) /* 0.438497744 */, | ||
3974 | /* 3713 */ 0x0704bb60 | (17 << 27) /* 0.438655258 */, | ||
3975 | /* 3714 */ 0x0705608e | (17 << 27) /* 0.438812785 */, | ||
3976 | /* 3715 */ 0x070605c0 | (17 << 27) /* 0.438970327 */, | ||
3977 | /* 3716 */ 0x0706aaf5 | (17 << 27) /* 0.439127883 */, | ||
3978 | /* 3717 */ 0x0707502f | (17 << 27) /* 0.439285453 */, | ||
3979 | /* 3718 */ 0x0707f56c | (17 << 27) /* 0.439443037 */, | ||
3980 | /* 3719 */ 0x07089aad | (17 << 27) /* 0.439600635 */, | ||
3981 | /* 3720 */ 0x07093ff2 | (17 << 27) /* 0.439758248 */, | ||
3982 | /* 3721 */ 0x0709e53a | (17 << 27) /* 0.439915874 */, | ||
3983 | /* 3722 */ 0x070a8a86 | (17 << 27) /* 0.440073515 */, | ||
3984 | /* 3723 */ 0x070b2fd7 | (17 << 27) /* 0.440231170 */, | ||
3985 | /* 3724 */ 0x070bd52a | (17 << 27) /* 0.440388839 */, | ||
3986 | /* 3725 */ 0x070c7a82 | (17 << 27) /* 0.440546522 */, | ||
3987 | /* 3726 */ 0x070d1fde | (17 << 27) /* 0.440704219 */, | ||
3988 | /* 3727 */ 0x070dc53d | (17 << 27) /* 0.440861930 */, | ||
3989 | |||
3990 | /* 3728 */ 0x070e6aa0 | (17 << 27) /* 0.441019655 */, | ||
3991 | /* 3729 */ 0x070f1007 | (17 << 27) /* 0.441177395 */, | ||
3992 | /* 3730 */ 0x070fb571 | (17 << 27) /* 0.441335148 */, | ||
3993 | /* 3731 */ 0x07105ae0 | (17 << 27) /* 0.441492916 */, | ||
3994 | /* 3732 */ 0x07110052 | (17 << 27) /* 0.441650697 */, | ||
3995 | /* 3733 */ 0x0711a5c8 | (17 << 27) /* 0.441808493 */, | ||
3996 | /* 3734 */ 0x07124b42 | (17 << 27) /* 0.441966303 */, | ||
3997 | /* 3735 */ 0x0712f0bf | (17 << 27) /* 0.442124127 */, | ||
3998 | /* 3736 */ 0x07139641 | (17 << 27) /* 0.442281965 */, | ||
3999 | /* 3737 */ 0x07143bc6 | (17 << 27) /* 0.442439817 */, | ||
4000 | /* 3738 */ 0x0714e14f | (17 << 27) /* 0.442597683 */, | ||
4001 | /* 3739 */ 0x071586db | (17 << 27) /* 0.442755564 */, | ||
4002 | /* 3740 */ 0x07162c6c | (17 << 27) /* 0.442913458 */, | ||
4003 | /* 3741 */ 0x0716d200 | (17 << 27) /* 0.443071366 */, | ||
4004 | /* 3742 */ 0x07177798 | (17 << 27) /* 0.443229289 */, | ||
4005 | /* 3743 */ 0x07181d34 | (17 << 27) /* 0.443387226 */, | ||
4006 | |||
4007 | /* 3744 */ 0x0718c2d3 | (17 << 27) /* 0.443545176 */, | ||
4008 | /* 3745 */ 0x07196877 | (17 << 27) /* 0.443703141 */, | ||
4009 | /* 3746 */ 0x071a0e1e | (17 << 27) /* 0.443861120 */, | ||
4010 | /* 3747 */ 0x071ab3c9 | (17 << 27) /* 0.444019113 */, | ||
4011 | /* 3748 */ 0x071b5977 | (17 << 27) /* 0.444177119 */, | ||
4012 | /* 3749 */ 0x071bff2a | (17 << 27) /* 0.444335140 */, | ||
4013 | /* 3750 */ 0x071ca4e0 | (17 << 27) /* 0.444493175 */, | ||
4014 | /* 3751 */ 0x071d4a9a | (17 << 27) /* 0.444651224 */, | ||
4015 | /* 3752 */ 0x071df058 | (17 << 27) /* 0.444809288 */, | ||
4016 | /* 3753 */ 0x071e9619 | (17 << 27) /* 0.444967365 */, | ||
4017 | /* 3754 */ 0x071f3bde | (17 << 27) /* 0.445125456 */, | ||
4018 | /* 3755 */ 0x071fe1a8 | (17 << 27) /* 0.445283561 */, | ||
4019 | /* 3756 */ 0x07208774 | (17 << 27) /* 0.445441680 */, | ||
4020 | /* 3757 */ 0x07212d45 | (17 << 27) /* 0.445599814 */, | ||
4021 | /* 3758 */ 0x0721d319 | (17 << 27) /* 0.445757961 */, | ||
4022 | /* 3759 */ 0x072278f1 | (17 << 27) /* 0.445916122 */, | ||
4023 | |||
4024 | /* 3760 */ 0x07231ecd | (17 << 27) /* 0.446074298 */, | ||
4025 | /* 3761 */ 0x0723c4ad | (17 << 27) /* 0.446232487 */, | ||
4026 | /* 3762 */ 0x07246a90 | (17 << 27) /* 0.446390690 */, | ||
4027 | /* 3763 */ 0x07251077 | (17 << 27) /* 0.446548908 */, | ||
4028 | /* 3764 */ 0x0725b662 | (17 << 27) /* 0.446707139 */, | ||
4029 | /* 3765 */ 0x07265c51 | (17 << 27) /* 0.446865385 */, | ||
4030 | /* 3766 */ 0x07270244 | (17 << 27) /* 0.447023644 */, | ||
4031 | /* 3767 */ 0x0727a83a | (17 << 27) /* 0.447181918 */, | ||
4032 | /* 3768 */ 0x07284e34 | (17 << 27) /* 0.447340205 */, | ||
4033 | /* 3769 */ 0x0728f431 | (17 << 27) /* 0.447498507 */, | ||
4034 | /* 3770 */ 0x07299a33 | (17 << 27) /* 0.447656822 */, | ||
4035 | /* 3771 */ 0x072a4038 | (17 << 27) /* 0.447815152 */, | ||
4036 | /* 3772 */ 0x072ae641 | (17 << 27) /* 0.447973495 */, | ||
4037 | /* 3773 */ 0x072b8c4e | (17 << 27) /* 0.448131853 */, | ||
4038 | /* 3774 */ 0x072c325e | (17 << 27) /* 0.448290224 */, | ||
4039 | /* 3775 */ 0x072cd873 | (17 << 27) /* 0.448448609 */, | ||
4040 | |||
4041 | /* 3776 */ 0x072d7e8b | (17 << 27) /* 0.448607009 */, | ||
4042 | /* 3777 */ 0x072e24a7 | (17 << 27) /* 0.448765422 */, | ||
4043 | /* 3778 */ 0x072ecac6 | (17 << 27) /* 0.448923850 */, | ||
4044 | /* 3779 */ 0x072f70e9 | (17 << 27) /* 0.449082291 */, | ||
4045 | /* 3780 */ 0x07301710 | (17 << 27) /* 0.449240746 */, | ||
4046 | /* 3781 */ 0x0730bd3b | (17 << 27) /* 0.449399216 */, | ||
4047 | /* 3782 */ 0x0731636a | (17 << 27) /* 0.449557699 */, | ||
4048 | /* 3783 */ 0x0732099c | (17 << 27) /* 0.449716196 */, | ||
4049 | /* 3784 */ 0x0732afd2 | (17 << 27) /* 0.449874708 */, | ||
4050 | /* 3785 */ 0x0733560c | (17 << 27) /* 0.450033233 */, | ||
4051 | /* 3786 */ 0x0733fc49 | (17 << 27) /* 0.450191772 */, | ||
4052 | /* 3787 */ 0x0734a28b | (17 << 27) /* 0.450350325 */, | ||
4053 | /* 3788 */ 0x073548d0 | (17 << 27) /* 0.450508892 */, | ||
4054 | /* 3789 */ 0x0735ef18 | (17 << 27) /* 0.450667473 */, | ||
4055 | /* 3790 */ 0x07369565 | (17 << 27) /* 0.450826068 */, | ||
4056 | /* 3791 */ 0x07373bb5 | (17 << 27) /* 0.450984677 */, | ||
4057 | |||
4058 | /* 3792 */ 0x0737e209 | (17 << 27) /* 0.451143300 */, | ||
4059 | /* 3793 */ 0x07388861 | (17 << 27) /* 0.451301937 */, | ||
4060 | /* 3794 */ 0x07392ebc | (17 << 27) /* 0.451460588 */, | ||
4061 | /* 3795 */ 0x0739d51c | (17 << 27) /* 0.451619252 */, | ||
4062 | /* 3796 */ 0x073a7b7f | (17 << 27) /* 0.451777931 */, | ||
4063 | /* 3797 */ 0x073b21e5 | (17 << 27) /* 0.451936623 */, | ||
4064 | /* 3798 */ 0x073bc850 | (17 << 27) /* 0.452095330 */, | ||
4065 | /* 3799 */ 0x073c6ebe | (17 << 27) /* 0.452254050 */, | ||
4066 | /* 3800 */ 0x073d1530 | (17 << 27) /* 0.452412785 */, | ||
4067 | /* 3801 */ 0x073dbba6 | (17 << 27) /* 0.452571533 */, | ||
4068 | /* 3802 */ 0x073e621f | (17 << 27) /* 0.452730295 */, | ||
4069 | /* 3803 */ 0x073f089c | (17 << 27) /* 0.452889071 */, | ||
4070 | /* 3804 */ 0x073faf1d | (17 << 27) /* 0.453047861 */, | ||
4071 | /* 3805 */ 0x074055a2 | (17 << 27) /* 0.453206665 */, | ||
4072 | /* 3806 */ 0x0740fc2a | (17 << 27) /* 0.453365483 */, | ||
4073 | /* 3807 */ 0x0741a2b6 | (17 << 27) /* 0.453524315 */, | ||
4074 | |||
4075 | /* 3808 */ 0x07424946 | (17 << 27) /* 0.453683161 */, | ||
4076 | /* 3809 */ 0x0742efd9 | (17 << 27) /* 0.453842020 */, | ||
4077 | /* 3810 */ 0x07439671 | (17 << 27) /* 0.454000894 */, | ||
4078 | /* 3811 */ 0x07443d0c | (17 << 27) /* 0.454159781 */, | ||
4079 | /* 3812 */ 0x0744e3aa | (17 << 27) /* 0.454318683 */, | ||
4080 | /* 3813 */ 0x07458a4d | (17 << 27) /* 0.454477598 */, | ||
4081 | /* 3814 */ 0x074630f3 | (17 << 27) /* 0.454636527 */, | ||
4082 | /* 3815 */ 0x0746d79d | (17 << 27) /* 0.454795470 */, | ||
4083 | /* 3816 */ 0x07477e4b | (17 << 27) /* 0.454954427 */, | ||
4084 | /* 3817 */ 0x074824fc | (17 << 27) /* 0.455113397 */, | ||
4085 | /* 3818 */ 0x0748cbb1 | (17 << 27) /* 0.455272382 */, | ||
4086 | /* 3819 */ 0x0749726a | (17 << 27) /* 0.455431381 */, | ||
4087 | /* 3820 */ 0x074a1927 | (17 << 27) /* 0.455590393 */, | ||
4088 | /* 3821 */ 0x074abfe7 | (17 << 27) /* 0.455749419 */, | ||
4089 | /* 3822 */ 0x074b66ab | (17 << 27) /* 0.455908459 */, | ||
4090 | /* 3823 */ 0x074c0d73 | (17 << 27) /* 0.456067513 */, | ||
4091 | |||
4092 | /* 3824 */ 0x074cb43e | (17 << 27) /* 0.456226581 */, | ||
4093 | /* 3825 */ 0x074d5b0d | (17 << 27) /* 0.456385663 */, | ||
4094 | /* 3826 */ 0x074e01e0 | (17 << 27) /* 0.456544759 */, | ||
4095 | /* 3827 */ 0x074ea8b7 | (17 << 27) /* 0.456703868 */, | ||
4096 | /* 3828 */ 0x074f4f91 | (17 << 27) /* 0.456862992 */, | ||
4097 | /* 3829 */ 0x074ff66f | (17 << 27) /* 0.457022129 */, | ||
4098 | /* 3830 */ 0x07509d51 | (17 << 27) /* 0.457181280 */, | ||
4099 | /* 3831 */ 0x07514437 | (17 << 27) /* 0.457340445 */, | ||
4100 | /* 3832 */ 0x0751eb20 | (17 << 27) /* 0.457499623 */, | ||
4101 | /* 3833 */ 0x0752920d | (17 << 27) /* 0.457658816 */, | ||
4102 | /* 3834 */ 0x075338fd | (17 << 27) /* 0.457818022 */, | ||
4103 | /* 3835 */ 0x0753dff2 | (17 << 27) /* 0.457977243 */, | ||
4104 | /* 3836 */ 0x075486ea | (17 << 27) /* 0.458136477 */, | ||
4105 | /* 3837 */ 0x07552de6 | (17 << 27) /* 0.458295725 */, | ||
4106 | /* 3838 */ 0x0755d4e5 | (17 << 27) /* 0.458454987 */, | ||
4107 | /* 3839 */ 0x07567be8 | (17 << 27) /* 0.458614262 */, | ||
4108 | |||
4109 | /* 3840 */ 0x075722ef | (17 << 27) /* 0.458773552 */, | ||
4110 | /* 3841 */ 0x0757c9fa | (17 << 27) /* 0.458932855 */, | ||
4111 | /* 3842 */ 0x07587108 | (17 << 27) /* 0.459092172 */, | ||
4112 | /* 3843 */ 0x0759181a | (17 << 27) /* 0.459251503 */, | ||
4113 | /* 3844 */ 0x0759bf30 | (17 << 27) /* 0.459410848 */, | ||
4114 | /* 3845 */ 0x075a664a | (17 << 27) /* 0.459570206 */, | ||
4115 | /* 3846 */ 0x075b0d67 | (17 << 27) /* 0.459729579 */, | ||
4116 | /* 3847 */ 0x075bb488 | (17 << 27) /* 0.459888965 */, | ||
4117 | /* 3848 */ 0x075c5bac | (17 << 27) /* 0.460048365 */, | ||
4118 | /* 3849 */ 0x075d02d5 | (17 << 27) /* 0.460207779 */, | ||
4119 | /* 3850 */ 0x075daa01 | (17 << 27) /* 0.460367206 */, | ||
4120 | /* 3851 */ 0x075e5130 | (17 << 27) /* 0.460526648 */, | ||
4121 | /* 3852 */ 0x075ef864 | (17 << 27) /* 0.460686103 */, | ||
4122 | /* 3853 */ 0x075f9f9b | (17 << 27) /* 0.460845572 */, | ||
4123 | /* 3854 */ 0x076046d6 | (17 << 27) /* 0.461005055 */, | ||
4124 | /* 3855 */ 0x0760ee14 | (17 << 27) /* 0.461164552 */, | ||
4125 | |||
4126 | /* 3856 */ 0x07619557 | (17 << 27) /* 0.461324062 */, | ||
4127 | /* 3857 */ 0x07623c9d | (17 << 27) /* 0.461483586 */, | ||
4128 | /* 3858 */ 0x0762e3e6 | (17 << 27) /* 0.461643124 */, | ||
4129 | /* 3859 */ 0x07638b34 | (17 << 27) /* 0.461802676 */, | ||
4130 | /* 3860 */ 0x07643285 | (17 << 27) /* 0.461962242 */, | ||
4131 | /* 3861 */ 0x0764d9d9 | (17 << 27) /* 0.462121821 */, | ||
4132 | /* 3862 */ 0x07658132 | (17 << 27) /* 0.462281414 */, | ||
4133 | /* 3863 */ 0x0766288e | (17 << 27) /* 0.462441021 */, | ||
4134 | /* 3864 */ 0x0766cfee | (17 << 27) /* 0.462600642 */, | ||
4135 | /* 3865 */ 0x07677751 | (17 << 27) /* 0.462760276 */, | ||
4136 | /* 3866 */ 0x07681eb9 | (17 << 27) /* 0.462919924 */, | ||
4137 | /* 3867 */ 0x0768c624 | (17 << 27) /* 0.463079586 */, | ||
4138 | /* 3868 */ 0x07696d92 | (17 << 27) /* 0.463239262 */, | ||
4139 | /* 3869 */ 0x076a1505 | (17 << 27) /* 0.463398951 */, | ||
4140 | /* 3870 */ 0x076abc7b | (17 << 27) /* 0.463558655 */, | ||
4141 | /* 3871 */ 0x076b63f4 | (17 << 27) /* 0.463718372 */, | ||
4142 | |||
4143 | /* 3872 */ 0x076c0b72 | (17 << 27) /* 0.463878102 */, | ||
4144 | /* 3873 */ 0x076cb2f3 | (17 << 27) /* 0.464037847 */, | ||
4145 | /* 3874 */ 0x076d5a78 | (17 << 27) /* 0.464197605 */, | ||
4146 | /* 3875 */ 0x076e0200 | (17 << 27) /* 0.464357377 */, | ||
4147 | /* 3876 */ 0x076ea98c | (17 << 27) /* 0.464517163 */, | ||
4148 | /* 3877 */ 0x076f511c | (17 << 27) /* 0.464676962 */, | ||
4149 | /* 3878 */ 0x076ff8b0 | (17 << 27) /* 0.464836776 */, | ||
4150 | /* 3879 */ 0x0770a047 | (17 << 27) /* 0.464996603 */, | ||
4151 | /* 3880 */ 0x077147e2 | (17 << 27) /* 0.465156443 */, | ||
4152 | /* 3881 */ 0x0771ef80 | (17 << 27) /* 0.465316298 */, | ||
4153 | /* 3882 */ 0x07729723 | (17 << 27) /* 0.465476166 */, | ||
4154 | /* 3883 */ 0x07733ec9 | (17 << 27) /* 0.465636048 */, | ||
4155 | /* 3884 */ 0x0773e672 | (17 << 27) /* 0.465795943 */, | ||
4156 | /* 3885 */ 0x07748e20 | (17 << 27) /* 0.465955853 */, | ||
4157 | /* 3886 */ 0x077535d1 | (17 << 27) /* 0.466115776 */, | ||
4158 | /* 3887 */ 0x0775dd85 | (17 << 27) /* 0.466275713 */, | ||
4159 | |||
4160 | /* 3888 */ 0x0776853e | (17 << 27) /* 0.466435663 */, | ||
4161 | /* 3889 */ 0x07772cfa | (17 << 27) /* 0.466595627 */, | ||
4162 | /* 3890 */ 0x0777d4ba | (17 << 27) /* 0.466755605 */, | ||
4163 | /* 3891 */ 0x07787c7d | (17 << 27) /* 0.466915597 */, | ||
4164 | /* 3892 */ 0x07792444 | (17 << 27) /* 0.467075602 */, | ||
4165 | /* 3893 */ 0x0779cc0f | (17 << 27) /* 0.467235621 */, | ||
4166 | /* 3894 */ 0x077a73dd | (17 << 27) /* 0.467395654 */, | ||
4167 | /* 3895 */ 0x077b1baf | (17 << 27) /* 0.467555701 */, | ||
4168 | /* 3896 */ 0x077bc385 | (17 << 27) /* 0.467715761 */, | ||
4169 | /* 3897 */ 0x077c6b5f | (17 << 27) /* 0.467875835 */, | ||
4170 | /* 3898 */ 0x077d133c | (17 << 27) /* 0.468035922 */, | ||
4171 | /* 3899 */ 0x077dbb1d | (17 << 27) /* 0.468196023 */, | ||
4172 | /* 3900 */ 0x077e6301 | (17 << 27) /* 0.468356138 */, | ||
4173 | /* 3901 */ 0x077f0ae9 | (17 << 27) /* 0.468516267 */, | ||
4174 | /* 3902 */ 0x077fb2d5 | (17 << 27) /* 0.468676409 */, | ||
4175 | /* 3903 */ 0x07805ac5 | (17 << 27) /* 0.468836565 */, | ||
4176 | |||
4177 | /* 3904 */ 0x078102b8 | (17 << 27) /* 0.468996735 */, | ||
4178 | /* 3905 */ 0x0781aaaf | (17 << 27) /* 0.469156918 */, | ||
4179 | /* 3906 */ 0x078252aa | (17 << 27) /* 0.469317115 */, | ||
4180 | /* 3907 */ 0x0782faa8 | (17 << 27) /* 0.469477326 */, | ||
4181 | /* 3908 */ 0x0783a2aa | (17 << 27) /* 0.469637550 */, | ||
4182 | /* 3909 */ 0x07844aaf | (17 << 27) /* 0.469797788 */, | ||
4183 | /* 3910 */ 0x0784f2b8 | (17 << 27) /* 0.469958040 */, | ||
4184 | /* 3911 */ 0x07859ac5 | (17 << 27) /* 0.470118305 */, | ||
4185 | /* 3912 */ 0x078642d6 | (17 << 27) /* 0.470278584 */, | ||
4186 | /* 3913 */ 0x0786eaea | (17 << 27) /* 0.470438877 */, | ||
4187 | /* 3914 */ 0x07879302 | (17 << 27) /* 0.470599183 */, | ||
4188 | /* 3915 */ 0x07883b1e | (17 << 27) /* 0.470759503 */, | ||
4189 | /* 3916 */ 0x0788e33d | (17 << 27) /* 0.470919836 */, | ||
4190 | /* 3917 */ 0x07898b60 | (17 << 27) /* 0.471080184 */, | ||
4191 | /* 3918 */ 0x078a3386 | (17 << 27) /* 0.471240545 */, | ||
4192 | /* 3919 */ 0x078adbb0 | (17 << 27) /* 0.471400919 */, | ||
4193 | |||
4194 | /* 3920 */ 0x078b83de | (17 << 27) /* 0.471561307 */, | ||
4195 | /* 3921 */ 0x078c2c10 | (17 << 27) /* 0.471721709 */, | ||
4196 | /* 3922 */ 0x078cd445 | (17 << 27) /* 0.471882125 */, | ||
4197 | /* 3923 */ 0x078d7c7e | (17 << 27) /* 0.472042554 */, | ||
4198 | /* 3924 */ 0x078e24ba | (17 << 27) /* 0.472202996 */, | ||
4199 | /* 3925 */ 0x078eccfb | (17 << 27) /* 0.472363453 */, | ||
4200 | /* 3926 */ 0x078f753e | (17 << 27) /* 0.472523923 */, | ||
4201 | /* 3927 */ 0x07901d86 | (17 << 27) /* 0.472684406 */, | ||
4202 | /* 3928 */ 0x0790c5d1 | (17 << 27) /* 0.472844904 */, | ||
4203 | /* 3929 */ 0x07916e20 | (17 << 27) /* 0.473005414 */, | ||
4204 | /* 3930 */ 0x07921672 | (17 << 27) /* 0.473165939 */, | ||
4205 | /* 3931 */ 0x0792bec8 | (17 << 27) /* 0.473326477 */, | ||
4206 | /* 3932 */ 0x07936722 | (17 << 27) /* 0.473487029 */, | ||
4207 | /* 3933 */ 0x07940f80 | (17 << 27) /* 0.473647594 */, | ||
4208 | /* 3934 */ 0x0794b7e1 | (17 << 27) /* 0.473808173 */, | ||
4209 | /* 3935 */ 0x07956045 | (17 << 27) /* 0.473968765 */, | ||
4210 | |||
4211 | /* 3936 */ 0x079608ae | (17 << 27) /* 0.474129372 */, | ||
4212 | /* 3937 */ 0x0796b11a | (17 << 27) /* 0.474289991 */, | ||
4213 | /* 3938 */ 0x0797598a | (17 << 27) /* 0.474450625 */, | ||
4214 | /* 3939 */ 0x079801fd | (17 << 27) /* 0.474611272 */, | ||
4215 | /* 3940 */ 0x0798aa74 | (17 << 27) /* 0.474771932 */, | ||
4216 | /* 3941 */ 0x079952ee | (17 << 27) /* 0.474932606 */, | ||
4217 | /* 3942 */ 0x0799fb6d | (17 << 27) /* 0.475093294 */, | ||
4218 | /* 3943 */ 0x079aa3ef | (17 << 27) /* 0.475253995 */, | ||
4219 | /* 3944 */ 0x079b4c74 | (17 << 27) /* 0.475414710 */, | ||
4220 | /* 3945 */ 0x079bf4fd | (17 << 27) /* 0.475575439 */, | ||
4221 | /* 3946 */ 0x079c9d8a | (17 << 27) /* 0.475736181 */, | ||
4222 | /* 3947 */ 0x079d461b | (17 << 27) /* 0.475896936 */, | ||
4223 | /* 3948 */ 0x079deeaf | (17 << 27) /* 0.476057705 */, | ||
4224 | /* 3949 */ 0x079e9747 | (17 << 27) /* 0.476218488 */, | ||
4225 | /* 3950 */ 0x079f3fe2 | (17 << 27) /* 0.476379285 */, | ||
4226 | /* 3951 */ 0x079fe881 | (17 << 27) /* 0.476540095 */, | ||
4227 | |||
4228 | /* 3952 */ 0x07a09124 | (17 << 27) /* 0.476700918 */, | ||
4229 | /* 3953 */ 0x07a139ca | (17 << 27) /* 0.476861755 */, | ||
4230 | /* 3954 */ 0x07a1e274 | (17 << 27) /* 0.477022606 */, | ||
4231 | /* 3955 */ 0x07a28b22 | (17 << 27) /* 0.477183470 */, | ||
4232 | /* 3956 */ 0x07a333d3 | (17 << 27) /* 0.477344348 */, | ||
4233 | /* 3957 */ 0x07a3dc88 | (17 << 27) /* 0.477505239 */, | ||
4234 | /* 3958 */ 0x07a48541 | (17 << 27) /* 0.477666144 */, | ||
4235 | /* 3959 */ 0x07a52dfd | (17 << 27) /* 0.477827062 */, | ||
4236 | /* 3960 */ 0x07a5d6bd | (17 << 27) /* 0.477987994 */, | ||
4237 | /* 3961 */ 0x07a67f80 | (17 << 27) /* 0.478148940 */, | ||
4238 | /* 3962 */ 0x07a72847 | (17 << 27) /* 0.478309899 */, | ||
4239 | /* 3963 */ 0x07a7d112 | (17 << 27) /* 0.478470871 */, | ||
4240 | /* 3964 */ 0x07a879e1 | (17 << 27) /* 0.478631857 */, | ||
4241 | /* 3965 */ 0x07a922b3 | (17 << 27) /* 0.478792857 */, | ||
4242 | /* 3966 */ 0x07a9cb88 | (17 << 27) /* 0.478953870 */, | ||
4243 | /* 3967 */ 0x07aa7462 | (17 << 27) /* 0.479114897 */, | ||
4244 | |||
4245 | /* 3968 */ 0x07ab1d3e | (17 << 27) /* 0.479275937 */, | ||
4246 | /* 3969 */ 0x07abc61f | (17 << 27) /* 0.479436991 */, | ||
4247 | /* 3970 */ 0x07ac6f03 | (17 << 27) /* 0.479598058 */, | ||
4248 | /* 3971 */ 0x07ad17eb | (17 << 27) /* 0.479759139 */, | ||
4249 | /* 3972 */ 0x07adc0d6 | (17 << 27) /* 0.479920233 */, | ||
4250 | /* 3973 */ 0x07ae69c6 | (17 << 27) /* 0.480081341 */, | ||
4251 | /* 3974 */ 0x07af12b8 | (17 << 27) /* 0.480242463 */, | ||
4252 | /* 3975 */ 0x07afbbaf | (17 << 27) /* 0.480403598 */, | ||
4253 | /* 3976 */ 0x07b064a8 | (17 << 27) /* 0.480564746 */, | ||
4254 | /* 3977 */ 0x07b10da6 | (17 << 27) /* 0.480725908 */, | ||
4255 | /* 3978 */ 0x07b1b6a7 | (17 << 27) /* 0.480887083 */, | ||
4256 | /* 3979 */ 0x07b25fac | (17 << 27) /* 0.481048272 */, | ||
4257 | /* 3980 */ 0x07b308b5 | (17 << 27) /* 0.481209475 */, | ||
4258 | /* 3981 */ 0x07b3b1c1 | (17 << 27) /* 0.481370691 */, | ||
4259 | /* 3982 */ 0x07b45ad0 | (17 << 27) /* 0.481531920 */, | ||
4260 | /* 3983 */ 0x07b503e4 | (17 << 27) /* 0.481693163 */, | ||
4261 | |||
4262 | /* 3984 */ 0x07b5acfb | (17 << 27) /* 0.481854420 */, | ||
4263 | /* 3985 */ 0x07b65615 | (17 << 27) /* 0.482015690 */, | ||
4264 | /* 3986 */ 0x07b6ff33 | (17 << 27) /* 0.482176973 */, | ||
4265 | /* 3987 */ 0x07b7a855 | (17 << 27) /* 0.482338270 */, | ||
4266 | /* 3988 */ 0x07b8517b | (17 << 27) /* 0.482499580 */, | ||
4267 | /* 3989 */ 0x07b8faa4 | (17 << 27) /* 0.482660904 */, | ||
4268 | /* 3990 */ 0x07b9a3d0 | (17 << 27) /* 0.482822242 */, | ||
4269 | /* 3991 */ 0x07ba4d01 | (17 << 27) /* 0.482983592 */, | ||
4270 | /* 3992 */ 0x07baf635 | (17 << 27) /* 0.483144957 */, | ||
4271 | /* 3993 */ 0x07bb9f6c | (17 << 27) /* 0.483306335 */, | ||
4272 | /* 3994 */ 0x07bc48a7 | (17 << 27) /* 0.483467726 */, | ||
4273 | /* 3995 */ 0x07bcf1e6 | (17 << 27) /* 0.483629131 */, | ||
4274 | /* 3996 */ 0x07bd9b28 | (17 << 27) /* 0.483790549 */, | ||
4275 | /* 3997 */ 0x07be446e | (17 << 27) /* 0.483951980 */, | ||
4276 | /* 3998 */ 0x07beedb8 | (17 << 27) /* 0.484113426 */, | ||
4277 | /* 3999 */ 0x07bf9705 | (17 << 27) /* 0.484274884 */, | ||
4278 | |||
4279 | /* 4000 */ 0x07c04056 | (17 << 27) /* 0.484436356 */, | ||
4280 | /* 4001 */ 0x07c0e9aa | (17 << 27) /* 0.484597842 */, | ||
4281 | /* 4002 */ 0x07c19302 | (17 << 27) /* 0.484759341 */, | ||
4282 | /* 4003 */ 0x07c23c5e | (17 << 27) /* 0.484920853 */, | ||
4283 | /* 4004 */ 0x07c2e5bd | (17 << 27) /* 0.485082379 */, | ||
4284 | /* 4005 */ 0x07c38f20 | (17 << 27) /* 0.485243918 */, | ||
4285 | /* 4006 */ 0x07c43887 | (17 << 27) /* 0.485405471 */, | ||
4286 | /* 4007 */ 0x07c4e1f1 | (17 << 27) /* 0.485567037 */, | ||
4287 | /* 4008 */ 0x07c58b5f | (17 << 27) /* 0.485728617 */, | ||
4288 | /* 4009 */ 0x07c634d0 | (17 << 27) /* 0.485890210 */, | ||
4289 | /* 4010 */ 0x07c6de45 | (17 << 27) /* 0.486051817 */, | ||
4290 | /* 4011 */ 0x07c787bd | (17 << 27) /* 0.486213436 */, | ||
4291 | /* 4012 */ 0x07c83139 | (17 << 27) /* 0.486375070 */, | ||
4292 | /* 4013 */ 0x07c8dab9 | (17 << 27) /* 0.486536717 */, | ||
4293 | /* 4014 */ 0x07c9843c | (17 << 27) /* 0.486698377 */, | ||
4294 | /* 4015 */ 0x07ca2dc3 | (17 << 27) /* 0.486860051 */, | ||
4295 | |||
4296 | /* 4016 */ 0x07cad74e | (17 << 27) /* 0.487021738 */, | ||
4297 | /* 4017 */ 0x07cb80dc | (17 << 27) /* 0.487183438 */, | ||
4298 | /* 4018 */ 0x07cc2a6e | (17 << 27) /* 0.487345152 */, | ||
4299 | /* 4019 */ 0x07ccd403 | (17 << 27) /* 0.487506879 */, | ||
4300 | /* 4020 */ 0x07cd7d9c | (17 << 27) /* 0.487668620 */, | ||
4301 | /* 4021 */ 0x07ce2739 | (17 << 27) /* 0.487830374 */, | ||
4302 | /* 4022 */ 0x07ced0d9 | (17 << 27) /* 0.487992142 */, | ||
4303 | /* 4023 */ 0x07cf7a7d | (17 << 27) /* 0.488153923 */, | ||
4304 | /* 4024 */ 0x07d02424 | (17 << 27) /* 0.488315717 */, | ||
4305 | /* 4025 */ 0x07d0cdcf | (17 << 27) /* 0.488477525 */, | ||
4306 | /* 4026 */ 0x07d1777e | (17 << 27) /* 0.488639346 */, | ||
4307 | /* 4027 */ 0x07d22130 | (17 << 27) /* 0.488801181 */, | ||
4308 | /* 4028 */ 0x07d2cae5 | (17 << 27) /* 0.488963029 */, | ||
4309 | /* 4029 */ 0x07d3749f | (17 << 27) /* 0.489124890 */, | ||
4310 | /* 4030 */ 0x07d41e5c | (17 << 27) /* 0.489286765 */, | ||
4311 | /* 4031 */ 0x07d4c81c | (17 << 27) /* 0.489448653 */, | ||
4312 | |||
4313 | /* 4032 */ 0x07d571e0 | (17 << 27) /* 0.489610555 */, | ||
4314 | /* 4033 */ 0x07d61ba8 | (17 << 27) /* 0.489772470 */, | ||
4315 | /* 4034 */ 0x07d6c573 | (17 << 27) /* 0.489934398 */, | ||
4316 | /* 4035 */ 0x07d76f42 | (17 << 27) /* 0.490096340 */, | ||
4317 | /* 4036 */ 0x07d81915 | (17 << 27) /* 0.490258295 */, | ||
4318 | /* 4037 */ 0x07d8c2eb | (17 << 27) /* 0.490420263 */, | ||
4319 | /* 4038 */ 0x07d96cc4 | (17 << 27) /* 0.490582245 */, | ||
4320 | /* 4039 */ 0x07da16a2 | (17 << 27) /* 0.490744240 */, | ||
4321 | /* 4040 */ 0x07dac083 | (17 << 27) /* 0.490906249 */, | ||
4322 | /* 4041 */ 0x07db6a67 | (17 << 27) /* 0.491068271 */, | ||
4323 | /* 4042 */ 0x07dc144f | (17 << 27) /* 0.491230306 */, | ||
4324 | /* 4043 */ 0x07dcbe3b | (17 << 27) /* 0.491392355 */, | ||
4325 | /* 4044 */ 0x07dd682a | (17 << 27) /* 0.491554417 */, | ||
4326 | /* 4045 */ 0x07de121d | (17 << 27) /* 0.491716492 */, | ||
4327 | /* 4046 */ 0x07debc13 | (17 << 27) /* 0.491878581 */, | ||
4328 | /* 4047 */ 0x07df660d | (17 << 27) /* 0.492040683 */, | ||
4329 | |||
4330 | /* 4048 */ 0x07e0100a | (17 << 27) /* 0.492202799 */, | ||
4331 | /* 4049 */ 0x07e0ba0c | (17 << 27) /* 0.492364928 */, | ||
4332 | /* 4050 */ 0x07e16410 | (17 << 27) /* 0.492527070 */, | ||
4333 | /* 4051 */ 0x07e20e19 | (17 << 27) /* 0.492689225 */, | ||
4334 | /* 4052 */ 0x07e2b824 | (17 << 27) /* 0.492851394 */, | ||
4335 | /* 4053 */ 0x07e36234 | (17 << 27) /* 0.493013576 */, | ||
4336 | /* 4054 */ 0x07e40c47 | (17 << 27) /* 0.493175772 */, | ||
4337 | /* 4055 */ 0x07e4b65e | (17 << 27) /* 0.493337981 */, | ||
4338 | /* 4056 */ 0x07e56078 | (17 << 27) /* 0.493500203 */, | ||
4339 | /* 4057 */ 0x07e60a95 | (17 << 27) /* 0.493662438 */, | ||
4340 | /* 4058 */ 0x07e6b4b7 | (17 << 27) /* 0.493824687 */, | ||
4341 | /* 4059 */ 0x07e75edc | (17 << 27) /* 0.493986949 */, | ||
4342 | /* 4060 */ 0x07e80904 | (17 << 27) /* 0.494149225 */, | ||
4343 | /* 4061 */ 0x07e8b330 | (17 << 27) /* 0.494311514 */, | ||
4344 | /* 4062 */ 0x07e95d60 | (17 << 27) /* 0.494473816 */, | ||
4345 | /* 4063 */ 0x07ea0793 | (17 << 27) /* 0.494636131 */, | ||
4346 | |||
4347 | /* 4064 */ 0x07eab1ca | (17 << 27) /* 0.494798460 */, | ||
4348 | /* 4065 */ 0x07eb5c04 | (17 << 27) /* 0.494960802 */, | ||
4349 | /* 4066 */ 0x07ec0642 | (17 << 27) /* 0.495123158 */, | ||
4350 | /* 4067 */ 0x07ecb084 | (17 << 27) /* 0.495285526 */, | ||
4351 | /* 4068 */ 0x07ed5ac9 | (17 << 27) /* 0.495447908 */, | ||
4352 | /* 4069 */ 0x07ee0512 | (17 << 27) /* 0.495610304 */, | ||
4353 | /* 4070 */ 0x07eeaf5e | (17 << 27) /* 0.495772712 */, | ||
4354 | /* 4071 */ 0x07ef59ae | (17 << 27) /* 0.495935134 */, | ||
4355 | /* 4072 */ 0x07f00401 | (17 << 27) /* 0.496097570 */, | ||
4356 | /* 4073 */ 0x07f0ae58 | (17 << 27) /* 0.496260018 */, | ||
4357 | /* 4074 */ 0x07f158b3 | (17 << 27) /* 0.496422480 */, | ||
4358 | /* 4075 */ 0x07f20311 | (17 << 27) /* 0.496584955 */, | ||
4359 | /* 4076 */ 0x07f2ad72 | (17 << 27) /* 0.496747444 */, | ||
4360 | /* 4077 */ 0x07f357d8 | (17 << 27) /* 0.496909945 */, | ||
4361 | /* 4078 */ 0x07f40240 | (17 << 27) /* 0.497072460 */, | ||
4362 | /* 4079 */ 0x07f4acad | (17 << 27) /* 0.497234989 */, | ||
4363 | |||
4364 | /* 4080 */ 0x07f5571d | (17 << 27) /* 0.497397530 */, | ||
4365 | /* 4081 */ 0x07f60190 | (17 << 27) /* 0.497560085 */, | ||
4366 | /* 4082 */ 0x07f6ac07 | (17 << 27) /* 0.497722653 */, | ||
4367 | /* 4083 */ 0x07f75682 | (17 << 27) /* 0.497885235 */, | ||
4368 | /* 4084 */ 0x07f80100 | (17 << 27) /* 0.498047829 */, | ||
4369 | /* 4085 */ 0x07f8ab82 | (17 << 27) /* 0.498210437 */, | ||
4370 | /* 4086 */ 0x07f95607 | (17 << 27) /* 0.498373058 */, | ||
4371 | /* 4087 */ 0x07fa0090 | (17 << 27) /* 0.498535693 */, | ||
4372 | /* 4088 */ 0x07faab1c | (17 << 27) /* 0.498698341 */, | ||
4373 | /* 4089 */ 0x07fb55ac | (17 << 27) /* 0.498861002 */, | ||
4374 | /* 4090 */ 0x07fc0040 | (17 << 27) /* 0.499023676 */, | ||
4375 | /* 4091 */ 0x07fcaad7 | (17 << 27) /* 0.499186364 */, | ||
4376 | /* 4092 */ 0x07fd5572 | (17 << 27) /* 0.499349064 */, | ||
4377 | /* 4093 */ 0x07fe0010 | (17 << 27) /* 0.499511778 */, | ||
4378 | /* 4094 */ 0x07feaab2 | (17 << 27) /* 0.499674506 */, | ||
4379 | /* 4095 */ 0x07ff5557 | (17 << 27) /* 0.499837246 */, | ||
4380 | |||
4381 | /* 4096 */ 0x04000000 | (18 << 27) /* 0.250000000 */, | ||
4382 | /* 4097 */ 0x04005556 | (18 << 27) /* 0.250081384 */, | ||
4383 | /* 4098 */ 0x0400aaae | (18 << 27) /* 0.250162774 */, | ||
4384 | /* 4099 */ 0x04010008 | (18 << 27) /* 0.250244170 */, | ||
4385 | /* 4100 */ 0x04015563 | (18 << 27) /* 0.250325574 */, | ||
4386 | /* 4101 */ 0x0401aac1 | (18 << 27) /* 0.250406984 */, | ||
4387 | /* 4102 */ 0x04020020 | (18 << 27) /* 0.250488400 */, | ||
4388 | /* 4103 */ 0x04025581 | (18 << 27) /* 0.250569824 */, | ||
4389 | /* 4104 */ 0x0402aae3 | (18 << 27) /* 0.250651254 */, | ||
4390 | /* 4105 */ 0x04030048 | (18 << 27) /* 0.250732690 */, | ||
4391 | /* 4106 */ 0x040355ae | (18 << 27) /* 0.250814133 */, | ||
4392 | /* 4107 */ 0x0403ab16 | (18 << 27) /* 0.250895583 */, | ||
4393 | /* 4108 */ 0x04040080 | (18 << 27) /* 0.250977039 */, | ||
4394 | /* 4109 */ 0x040455eb | (18 << 27) /* 0.251058502 */, | ||
4395 | /* 4110 */ 0x0404ab59 | (18 << 27) /* 0.251139971 */, | ||
4396 | /* 4111 */ 0x040500c8 | (18 << 27) /* 0.251221448 */, | ||
4397 | |||
4398 | /* 4112 */ 0x04055638 | (18 << 27) /* 0.251302930 */, | ||
4399 | /* 4113 */ 0x0405abab | (18 << 27) /* 0.251384420 */, | ||
4400 | /* 4114 */ 0x0406011f | (18 << 27) /* 0.251465916 */, | ||
4401 | /* 4115 */ 0x04065696 | (18 << 27) /* 0.251547418 */, | ||
4402 | /* 4116 */ 0x0406ac0e | (18 << 27) /* 0.251628927 */, | ||
4403 | /* 4117 */ 0x04070187 | (18 << 27) /* 0.251710443 */, | ||
4404 | /* 4118 */ 0x04075703 | (18 << 27) /* 0.251791965 */, | ||
4405 | /* 4119 */ 0x0407ac80 | (18 << 27) /* 0.251873494 */, | ||
4406 | /* 4120 */ 0x040801ff | (18 << 27) /* 0.251955030 */, | ||
4407 | /* 4121 */ 0x04085780 | (18 << 27) /* 0.252036572 */, | ||
4408 | /* 4122 */ 0x0408ad02 | (18 << 27) /* 0.252118121 */, | ||
4409 | /* 4123 */ 0x04090287 | (18 << 27) /* 0.252199676 */, | ||
4410 | /* 4124 */ 0x0409580d | (18 << 27) /* 0.252281238 */, | ||
4411 | /* 4125 */ 0x0409ad95 | (18 << 27) /* 0.252362807 */, | ||
4412 | /* 4126 */ 0x040a031e | (18 << 27) /* 0.252444382 */, | ||
4413 | /* 4127 */ 0x040a58aa | (18 << 27) /* 0.252525963 */, | ||
4414 | |||
4415 | /* 4128 */ 0x040aae37 | (18 << 27) /* 0.252607552 */, | ||
4416 | /* 4129 */ 0x040b03c6 | (18 << 27) /* 0.252689147 */, | ||
4417 | /* 4130 */ 0x040b5957 | (18 << 27) /* 0.252770748 */, | ||
4418 | /* 4131 */ 0x040baee9 | (18 << 27) /* 0.252852356 */, | ||
4419 | /* 4132 */ 0x040c047e | (18 << 27) /* 0.252933971 */, | ||
4420 | /* 4133 */ 0x040c5a14 | (18 << 27) /* 0.253015592 */, | ||
4421 | /* 4134 */ 0x040cafab | (18 << 27) /* 0.253097220 */, | ||
4422 | /* 4135 */ 0x040d0545 | (18 << 27) /* 0.253178854 */, | ||
4423 | /* 4136 */ 0x040d5ae0 | (18 << 27) /* 0.253260495 */, | ||
4424 | /* 4137 */ 0x040db07d | (18 << 27) /* 0.253342143 */, | ||
4425 | /* 4138 */ 0x040e061c | (18 << 27) /* 0.253423797 */, | ||
4426 | /* 4139 */ 0x040e5bbd | (18 << 27) /* 0.253505457 */, | ||
4427 | /* 4140 */ 0x040eb15f | (18 << 27) /* 0.253587125 */, | ||
4428 | /* 4141 */ 0x040f0703 | (18 << 27) /* 0.253668799 */, | ||
4429 | /* 4142 */ 0x040f5ca9 | (18 << 27) /* 0.253750479 */, | ||
4430 | /* 4143 */ 0x040fb251 | (18 << 27) /* 0.253832166 */, | ||
4431 | |||
4432 | /* 4144 */ 0x041007fa | (18 << 27) /* 0.253913860 */, | ||
4433 | /* 4145 */ 0x04105da6 | (18 << 27) /* 0.253995560 */, | ||
4434 | /* 4146 */ 0x0410b353 | (18 << 27) /* 0.254077266 */, | ||
4435 | /* 4147 */ 0x04110901 | (18 << 27) /* 0.254158980 */, | ||
4436 | /* 4148 */ 0x04115eb2 | (18 << 27) /* 0.254240700 */, | ||
4437 | /* 4149 */ 0x0411b464 | (18 << 27) /* 0.254322426 */, | ||
4438 | /* 4150 */ 0x04120a18 | (18 << 27) /* 0.254404159 */, | ||
4439 | /* 4151 */ 0x04125fce | (18 << 27) /* 0.254485899 */, | ||
4440 | /* 4152 */ 0x0412b586 | (18 << 27) /* 0.254567645 */, | ||
4441 | /* 4153 */ 0x04130b3f | (18 << 27) /* 0.254649397 */, | ||
4442 | /* 4154 */ 0x041360fa | (18 << 27) /* 0.254731157 */, | ||
4443 | /* 4155 */ 0x0413b6b7 | (18 << 27) /* 0.254812922 */, | ||
4444 | /* 4156 */ 0x04140c75 | (18 << 27) /* 0.254894695 */, | ||
4445 | /* 4157 */ 0x04146236 | (18 << 27) /* 0.254976474 */, | ||
4446 | /* 4158 */ 0x0414b7f8 | (18 << 27) /* 0.255058259 */, | ||
4447 | /* 4159 */ 0x04150dbc | (18 << 27) /* 0.255140051 */, | ||
4448 | |||
4449 | /* 4160 */ 0x04156381 | (18 << 27) /* 0.255221850 */, | ||
4450 | /* 4161 */ 0x0415b949 | (18 << 27) /* 0.255303655 */, | ||
4451 | /* 4162 */ 0x04160f12 | (18 << 27) /* 0.255385467 */, | ||
4452 | /* 4163 */ 0x041664dd | (18 << 27) /* 0.255467285 */, | ||
4453 | /* 4164 */ 0x0416baaa | (18 << 27) /* 0.255549110 */, | ||
4454 | /* 4165 */ 0x04171078 | (18 << 27) /* 0.255630941 */, | ||
4455 | /* 4166 */ 0x04176648 | (18 << 27) /* 0.255712779 */, | ||
4456 | /* 4167 */ 0x0417bc1a | (18 << 27) /* 0.255794624 */, | ||
4457 | /* 4168 */ 0x041811ee | (18 << 27) /* 0.255876475 */, | ||
4458 | /* 4169 */ 0x041867c3 | (18 << 27) /* 0.255958332 */, | ||
4459 | /* 4170 */ 0x0418bd9b | (18 << 27) /* 0.256040196 */, | ||
4460 | /* 4171 */ 0x04191374 | (18 << 27) /* 0.256122067 */, | ||
4461 | /* 4172 */ 0x0419694e | (18 << 27) /* 0.256203944 */, | ||
4462 | /* 4173 */ 0x0419bf2b | (18 << 27) /* 0.256285828 */, | ||
4463 | /* 4174 */ 0x041a1509 | (18 << 27) /* 0.256367718 */, | ||
4464 | /* 4175 */ 0x041a6ae9 | (18 << 27) /* 0.256449615 */, | ||
4465 | |||
4466 | /* 4176 */ 0x041ac0cb | (18 << 27) /* 0.256531518 */, | ||
4467 | /* 4177 */ 0x041b16ae | (18 << 27) /* 0.256613428 */, | ||
4468 | /* 4178 */ 0x041b6c94 | (18 << 27) /* 0.256695344 */, | ||
4469 | /* 4179 */ 0x041bc27b | (18 << 27) /* 0.256777267 */, | ||
4470 | /* 4180 */ 0x041c1863 | (18 << 27) /* 0.256859197 */, | ||
4471 | /* 4181 */ 0x041c6e4e | (18 << 27) /* 0.256941133 */, | ||
4472 | /* 4182 */ 0x041cc43a | (18 << 27) /* 0.257023076 */, | ||
4473 | /* 4183 */ 0x041d1a28 | (18 << 27) /* 0.257105025 */, | ||
4474 | /* 4184 */ 0x041d7018 | (18 << 27) /* 0.257186980 */, | ||
4475 | /* 4185 */ 0x041dc60a | (18 << 27) /* 0.257268942 */, | ||
4476 | /* 4186 */ 0x041e1bfd | (18 << 27) /* 0.257350911 */, | ||
4477 | /* 4187 */ 0x041e71f2 | (18 << 27) /* 0.257432886 */, | ||
4478 | /* 4188 */ 0x041ec7e9 | (18 << 27) /* 0.257514868 */, | ||
4479 | /* 4189 */ 0x041f1de1 | (18 << 27) /* 0.257596856 */, | ||
4480 | /* 4190 */ 0x041f73dc | (18 << 27) /* 0.257678851 */, | ||
4481 | /* 4191 */ 0x041fc9d8 | (18 << 27) /* 0.257760852 */, | ||
4482 | |||
4483 | /* 4192 */ 0x04201fd5 | (18 << 27) /* 0.257842860 */, | ||
4484 | /* 4193 */ 0x042075d5 | (18 << 27) /* 0.257924875 */, | ||
4485 | /* 4194 */ 0x0420cbd6 | (18 << 27) /* 0.258006895 */, | ||
4486 | /* 4195 */ 0x042121d9 | (18 << 27) /* 0.258088923 */, | ||
4487 | /* 4196 */ 0x042177de | (18 << 27) /* 0.258170957 */, | ||
4488 | /* 4197 */ 0x0421cde5 | (18 << 27) /* 0.258252997 */, | ||
4489 | /* 4198 */ 0x042223ed | (18 << 27) /* 0.258335044 */, | ||
4490 | /* 4199 */ 0x042279f7 | (18 << 27) /* 0.258417097 */, | ||
4491 | /* 4200 */ 0x0422d003 | (18 << 27) /* 0.258499157 */, | ||
4492 | /* 4201 */ 0x04232611 | (18 << 27) /* 0.258581224 */, | ||
4493 | /* 4202 */ 0x04237c20 | (18 << 27) /* 0.258663297 */, | ||
4494 | /* 4203 */ 0x0423d231 | (18 << 27) /* 0.258745376 */, | ||
4495 | /* 4204 */ 0x04242844 | (18 << 27) /* 0.258827462 */, | ||
4496 | /* 4205 */ 0x04247e58 | (18 << 27) /* 0.258909555 */, | ||
4497 | /* 4206 */ 0x0424d46e | (18 << 27) /* 0.258991654 */, | ||
4498 | /* 4207 */ 0x04252a87 | (18 << 27) /* 0.259073760 */, | ||
4499 | |||
4500 | /* 4208 */ 0x042580a0 | (18 << 27) /* 0.259155872 */, | ||
4501 | /* 4209 */ 0x0425d6bc | (18 << 27) /* 0.259237990 */, | ||
4502 | /* 4210 */ 0x04262cd9 | (18 << 27) /* 0.259320115 */, | ||
4503 | /* 4211 */ 0x042682f8 | (18 << 27) /* 0.259402247 */, | ||
4504 | /* 4212 */ 0x0426d919 | (18 << 27) /* 0.259484385 */, | ||
4505 | /* 4213 */ 0x04272f3b | (18 << 27) /* 0.259566529 */, | ||
4506 | /* 4214 */ 0x04278560 | (18 << 27) /* 0.259648680 */, | ||
4507 | /* 4215 */ 0x0427db86 | (18 << 27) /* 0.259730838 */, | ||
4508 | /* 4216 */ 0x042831ad | (18 << 27) /* 0.259813002 */, | ||
4509 | /* 4217 */ 0x042887d7 | (18 << 27) /* 0.259895173 */, | ||
4510 | /* 4218 */ 0x0428de02 | (18 << 27) /* 0.259977350 */, | ||
4511 | /* 4219 */ 0x0429342f | (18 << 27) /* 0.260059533 */, | ||
4512 | /* 4220 */ 0x04298a5e | (18 << 27) /* 0.260141723 */, | ||
4513 | /* 4221 */ 0x0429e08e | (18 << 27) /* 0.260223920 */, | ||
4514 | /* 4222 */ 0x042a36c0 | (18 << 27) /* 0.260306123 */, | ||
4515 | /* 4223 */ 0x042a8cf4 | (18 << 27) /* 0.260388332 */, | ||
4516 | |||
4517 | /* 4224 */ 0x042ae32a | (18 << 27) /* 0.260470548 */, | ||
4518 | /* 4225 */ 0x042b3962 | (18 << 27) /* 0.260552771 */, | ||
4519 | /* 4226 */ 0x042b8f9b | (18 << 27) /* 0.260635000 */, | ||
4520 | /* 4227 */ 0x042be5d6 | (18 << 27) /* 0.260717235 */, | ||
4521 | /* 4228 */ 0x042c3c12 | (18 << 27) /* 0.260799477 */, | ||
4522 | /* 4229 */ 0x042c9251 | (18 << 27) /* 0.260881725 */, | ||
4523 | /* 4230 */ 0x042ce891 | (18 << 27) /* 0.260963980 */, | ||
4524 | /* 4231 */ 0x042d3ed3 | (18 << 27) /* 0.261046242 */, | ||
4525 | /* 4232 */ 0x042d9516 | (18 << 27) /* 0.261128510 */, | ||
4526 | /* 4233 */ 0x042deb5c | (18 << 27) /* 0.261210784 */, | ||
4527 | /* 4234 */ 0x042e41a3 | (18 << 27) /* 0.261293065 */, | ||
4528 | /* 4235 */ 0x042e97ec | (18 << 27) /* 0.261375352 */, | ||
4529 | /* 4236 */ 0x042eee36 | (18 << 27) /* 0.261457646 */, | ||
4530 | /* 4237 */ 0x042f4482 | (18 << 27) /* 0.261539946 */, | ||
4531 | /* 4238 */ 0x042f9ad1 | (18 << 27) /* 0.261622253 */, | ||
4532 | /* 4239 */ 0x042ff120 | (18 << 27) /* 0.261704566 */, | ||
4533 | |||
4534 | /* 4240 */ 0x04304772 | (18 << 27) /* 0.261786886 */, | ||
4535 | /* 4241 */ 0x04309dc5 | (18 << 27) /* 0.261869212 */, | ||
4536 | /* 4242 */ 0x0430f41a | (18 << 27) /* 0.261951545 */, | ||
4537 | /* 4243 */ 0x04314a71 | (18 << 27) /* 0.262033884 */, | ||
4538 | /* 4244 */ 0x0431a0c9 | (18 << 27) /* 0.262116229 */, | ||
4539 | /* 4245 */ 0x0431f723 | (18 << 27) /* 0.262198581 */, | ||
4540 | /* 4246 */ 0x04324d7f | (18 << 27) /* 0.262280940 */, | ||
4541 | /* 4247 */ 0x0432a3dd | (18 << 27) /* 0.262363305 */, | ||
4542 | /* 4248 */ 0x0432fa3d | (18 << 27) /* 0.262445676 */, | ||
4543 | /* 4249 */ 0x0433509e | (18 << 27) /* 0.262528054 */, | ||
4544 | /* 4250 */ 0x0433a701 | (18 << 27) /* 0.262610438 */, | ||
4545 | /* 4251 */ 0x0433fd65 | (18 << 27) /* 0.262692829 */, | ||
4546 | /* 4252 */ 0x043453cc | (18 << 27) /* 0.262775227 */, | ||
4547 | /* 4253 */ 0x0434aa34 | (18 << 27) /* 0.262857630 */, | ||
4548 | /* 4254 */ 0x0435009d | (18 << 27) /* 0.262940040 */, | ||
4549 | /* 4255 */ 0x04355709 | (18 << 27) /* 0.263022457 */, | ||
4550 | |||
4551 | /* 4256 */ 0x0435ad76 | (18 << 27) /* 0.263104880 */, | ||
4552 | /* 4257 */ 0x043603e5 | (18 << 27) /* 0.263187310 */, | ||
4553 | /* 4258 */ 0x04365a56 | (18 << 27) /* 0.263269746 */, | ||
4554 | /* 4259 */ 0x0436b0c9 | (18 << 27) /* 0.263352188 */, | ||
4555 | /* 4260 */ 0x0437073d | (18 << 27) /* 0.263434637 */, | ||
4556 | /* 4261 */ 0x04375db3 | (18 << 27) /* 0.263517093 */, | ||
4557 | /* 4262 */ 0x0437b42a | (18 << 27) /* 0.263599554 */, | ||
4558 | /* 4263 */ 0x04380aa4 | (18 << 27) /* 0.263682023 */, | ||
4559 | /* 4264 */ 0x0438611f | (18 << 27) /* 0.263764497 */, | ||
4560 | /* 4265 */ 0x0438b79c | (18 << 27) /* 0.263846979 */, | ||
4561 | /* 4266 */ 0x04390e1a | (18 << 27) /* 0.263929466 */, | ||
4562 | /* 4267 */ 0x0439649b | (18 << 27) /* 0.264011960 */, | ||
4563 | /* 4268 */ 0x0439bb1d | (18 << 27) /* 0.264094461 */, | ||
4564 | /* 4269 */ 0x043a11a1 | (18 << 27) /* 0.264176968 */, | ||
4565 | /* 4270 */ 0x043a6826 | (18 << 27) /* 0.264259481 */, | ||
4566 | /* 4271 */ 0x043abead | (18 << 27) /* 0.264342001 */, | ||
4567 | |||
4568 | /* 4272 */ 0x043b1536 | (18 << 27) /* 0.264424527 */, | ||
4569 | /* 4273 */ 0x043b6bc1 | (18 << 27) /* 0.264507060 */, | ||
4570 | /* 4274 */ 0x043bc24d | (18 << 27) /* 0.264589599 */, | ||
4571 | /* 4275 */ 0x043c18dc | (18 << 27) /* 0.264672145 */, | ||
4572 | /* 4276 */ 0x043c6f6c | (18 << 27) /* 0.264754697 */, | ||
4573 | /* 4277 */ 0x043cc5fd | (18 << 27) /* 0.264837255 */, | ||
4574 | /* 4278 */ 0x043d1c91 | (18 << 27) /* 0.264919820 */, | ||
4575 | /* 4279 */ 0x043d7326 | (18 << 27) /* 0.265002392 */, | ||
4576 | /* 4280 */ 0x043dc9bc | (18 << 27) /* 0.265084969 */, | ||
4577 | /* 4281 */ 0x043e2055 | (18 << 27) /* 0.265167554 */, | ||
4578 | /* 4282 */ 0x043e76ef | (18 << 27) /* 0.265250144 */, | ||
4579 | /* 4283 */ 0x043ecd8b | (18 << 27) /* 0.265332741 */, | ||
4580 | /* 4284 */ 0x043f2429 | (18 << 27) /* 0.265415345 */, | ||
4581 | /* 4285 */ 0x043f7ac8 | (18 << 27) /* 0.265497955 */, | ||
4582 | /* 4286 */ 0x043fd169 | (18 << 27) /* 0.265580571 */, | ||
4583 | /* 4287 */ 0x0440280c | (18 << 27) /* 0.265663194 */, | ||
4584 | |||
4585 | /* 4288 */ 0x04407eb1 | (18 << 27) /* 0.265745823 */, | ||
4586 | /* 4289 */ 0x0440d557 | (18 << 27) /* 0.265828459 */, | ||
4587 | /* 4290 */ 0x04412bff | (18 << 27) /* 0.265911101 */, | ||
4588 | /* 4291 */ 0x044182a9 | (18 << 27) /* 0.265993749 */, | ||
4589 | /* 4292 */ 0x0441d955 | (18 << 27) /* 0.266076404 */, | ||
4590 | /* 4293 */ 0x04423002 | (18 << 27) /* 0.266159065 */, | ||
4591 | /* 4294 */ 0x044286b1 | (18 << 27) /* 0.266241733 */, | ||
4592 | /* 4295 */ 0x0442dd61 | (18 << 27) /* 0.266324407 */, | ||
4593 | /* 4296 */ 0x04433414 | (18 << 27) /* 0.266407088 */, | ||
4594 | /* 4297 */ 0x04438ac8 | (18 << 27) /* 0.266489775 */, | ||
4595 | /* 4298 */ 0x0443e17e | (18 << 27) /* 0.266572468 */, | ||
4596 | /* 4299 */ 0x04443835 | (18 << 27) /* 0.266655168 */, | ||
4597 | /* 4300 */ 0x04448eef | (18 << 27) /* 0.266737874 */, | ||
4598 | /* 4301 */ 0x0444e5aa | (18 << 27) /* 0.266820587 */, | ||
4599 | /* 4302 */ 0x04453c66 | (18 << 27) /* 0.266903306 */, | ||
4600 | /* 4303 */ 0x04459325 | (18 << 27) /* 0.266986031 */, | ||
4601 | |||
4602 | /* 4304 */ 0x0445e9e5 | (18 << 27) /* 0.267068763 */, | ||
4603 | /* 4305 */ 0x044640a7 | (18 << 27) /* 0.267151501 */, | ||
4604 | /* 4306 */ 0x0446976a | (18 << 27) /* 0.267234246 */, | ||
4605 | /* 4307 */ 0x0446ee30 | (18 << 27) /* 0.267316997 */, | ||
4606 | /* 4308 */ 0x044744f7 | (18 << 27) /* 0.267399755 */, | ||
4607 | /* 4309 */ 0x04479bc0 | (18 << 27) /* 0.267482518 */, | ||
4608 | /* 4310 */ 0x0447f28a | (18 << 27) /* 0.267565289 */, | ||
4609 | /* 4311 */ 0x04484956 | (18 << 27) /* 0.267648065 */, | ||
4610 | /* 4312 */ 0x0448a024 | (18 << 27) /* 0.267730848 */, | ||
4611 | /* 4313 */ 0x0448f6f4 | (18 << 27) /* 0.267813638 */, | ||
4612 | /* 4314 */ 0x04494dc5 | (18 << 27) /* 0.267896434 */, | ||
4613 | /* 4315 */ 0x0449a498 | (18 << 27) /* 0.267979236 */, | ||
4614 | /* 4316 */ 0x0449fb6d | (18 << 27) /* 0.268062045 */, | ||
4615 | /* 4317 */ 0x044a5243 | (18 << 27) /* 0.268144860 */, | ||
4616 | /* 4318 */ 0x044aa91c | (18 << 27) /* 0.268227681 */, | ||
4617 | /* 4319 */ 0x044afff6 | (18 << 27) /* 0.268310509 */, | ||
4618 | |||
4619 | /* 4320 */ 0x044b56d1 | (18 << 27) /* 0.268393343 */, | ||
4620 | /* 4321 */ 0x044badaf | (18 << 27) /* 0.268476184 */, | ||
4621 | /* 4322 */ 0x044c048e | (18 << 27) /* 0.268559031 */, | ||
4622 | /* 4323 */ 0x044c5b6f | (18 << 27) /* 0.268641885 */, | ||
4623 | /* 4324 */ 0x044cb251 | (18 << 27) /* 0.268724744 */, | ||
4624 | /* 4325 */ 0x044d0935 | (18 << 27) /* 0.268807611 */, | ||
4625 | /* 4326 */ 0x044d601b | (18 << 27) /* 0.268890483 */, | ||
4626 | /* 4327 */ 0x044db703 | (18 << 27) /* 0.268973362 */, | ||
4627 | /* 4328 */ 0x044e0dec | (18 << 27) /* 0.269056248 */, | ||
4628 | /* 4329 */ 0x044e64d7 | (18 << 27) /* 0.269139139 */, | ||
4629 | /* 4330 */ 0x044ebbc4 | (18 << 27) /* 0.269222037 */, | ||
4630 | /* 4331 */ 0x044f12b3 | (18 << 27) /* 0.269304942 */, | ||
4631 | /* 4332 */ 0x044f69a3 | (18 << 27) /* 0.269387853 */, | ||
4632 | /* 4333 */ 0x044fc095 | (18 << 27) /* 0.269470770 */, | ||
4633 | /* 4334 */ 0x04501788 | (18 << 27) /* 0.269553694 */, | ||
4634 | /* 4335 */ 0x04506e7e | (18 << 27) /* 0.269636624 */, | ||
4635 | |||
4636 | /* 4336 */ 0x0450c575 | (18 << 27) /* 0.269719560 */, | ||
4637 | /* 4337 */ 0x04511c6e | (18 << 27) /* 0.269802503 */, | ||
4638 | /* 4338 */ 0x04517368 | (18 << 27) /* 0.269885452 */, | ||
4639 | /* 4339 */ 0x0451ca64 | (18 << 27) /* 0.269968408 */, | ||
4640 | /* 4340 */ 0x04522162 | (18 << 27) /* 0.270051370 */, | ||
4641 | /* 4341 */ 0x04527862 | (18 << 27) /* 0.270134338 */, | ||
4642 | /* 4342 */ 0x0452cf63 | (18 << 27) /* 0.270217312 */, | ||
4643 | /* 4343 */ 0x04532666 | (18 << 27) /* 0.270300293 */, | ||
4644 | /* 4344 */ 0x04537d6b | (18 << 27) /* 0.270383281 */, | ||
4645 | /* 4345 */ 0x0453d472 | (18 << 27) /* 0.270466275 */, | ||
4646 | /* 4346 */ 0x04542b7a | (18 << 27) /* 0.270549275 */, | ||
4647 | /* 4347 */ 0x04548284 | (18 << 27) /* 0.270632281 */, | ||
4648 | /* 4348 */ 0x0454d98f | (18 << 27) /* 0.270715294 */, | ||
4649 | /* 4349 */ 0x0455309c | (18 << 27) /* 0.270798313 */, | ||
4650 | /* 4350 */ 0x045587ab | (18 << 27) /* 0.270881339 */, | ||
4651 | /* 4351 */ 0x0455debc | (18 << 27) /* 0.270964371 */, | ||
4652 | |||
4653 | /* 4352 */ 0x045635cf | (18 << 27) /* 0.271047409 */, | ||
4654 | /* 4353 */ 0x04568ce3 | (18 << 27) /* 0.271130454 */, | ||
4655 | /* 4354 */ 0x0456e3f9 | (18 << 27) /* 0.271213505 */, | ||
4656 | /* 4355 */ 0x04573b10 | (18 << 27) /* 0.271296562 */, | ||
4657 | /* 4356 */ 0x04579229 | (18 << 27) /* 0.271379626 */, | ||
4658 | /* 4357 */ 0x0457e944 | (18 << 27) /* 0.271462696 */, | ||
4659 | /* 4358 */ 0x04584061 | (18 << 27) /* 0.271545772 */, | ||
4660 | /* 4359 */ 0x0458977f | (18 << 27) /* 0.271628855 */, | ||
4661 | /* 4360 */ 0x0458ee9f | (18 << 27) /* 0.271711944 */, | ||
4662 | /* 4361 */ 0x045945c1 | (18 << 27) /* 0.271795040 */, | ||
4663 | /* 4362 */ 0x04599ce5 | (18 << 27) /* 0.271878142 */, | ||
4664 | /* 4363 */ 0x0459f40a | (18 << 27) /* 0.271961250 */, | ||
4665 | /* 4364 */ 0x045a4b31 | (18 << 27) /* 0.272044365 */, | ||
4666 | /* 4365 */ 0x045aa259 | (18 << 27) /* 0.272127486 */, | ||
4667 | /* 4366 */ 0x045af984 | (18 << 27) /* 0.272210613 */, | ||
4668 | /* 4367 */ 0x045b50b0 | (18 << 27) /* 0.272293746 */, | ||
4669 | |||
4670 | /* 4368 */ 0x045ba7dd | (18 << 27) /* 0.272376886 */, | ||
4671 | /* 4369 */ 0x045bff0d | (18 << 27) /* 0.272460033 */, | ||
4672 | /* 4370 */ 0x045c563e | (18 << 27) /* 0.272543185 */, | ||
4673 | /* 4371 */ 0x045cad71 | (18 << 27) /* 0.272626344 */, | ||
4674 | /* 4372 */ 0x045d04a5 | (18 << 27) /* 0.272709510 */, | ||
4675 | /* 4373 */ 0x045d5bdc | (18 << 27) /* 0.272792681 */, | ||
4676 | /* 4374 */ 0x045db313 | (18 << 27) /* 0.272875859 */, | ||
4677 | /* 4375 */ 0x045e0a4d | (18 << 27) /* 0.272959044 */, | ||
4678 | /* 4376 */ 0x045e6188 | (18 << 27) /* 0.273042234 */, | ||
4679 | /* 4377 */ 0x045eb8c5 | (18 << 27) /* 0.273125431 */, | ||
4680 | /* 4378 */ 0x045f1004 | (18 << 27) /* 0.273208635 */, | ||
4681 | /* 4379 */ 0x045f6745 | (18 << 27) /* 0.273291844 */, | ||
4682 | /* 4380 */ 0x045fbe87 | (18 << 27) /* 0.273375060 */, | ||
4683 | /* 4381 */ 0x046015cb | (18 << 27) /* 0.273458283 */, | ||
4684 | /* 4382 */ 0x04606d10 | (18 << 27) /* 0.273541511 */, | ||
4685 | /* 4383 */ 0x0460c457 | (18 << 27) /* 0.273624747 */, | ||
4686 | |||
4687 | /* 4384 */ 0x04611ba0 | (18 << 27) /* 0.273707988 */, | ||
4688 | /* 4385 */ 0x046172eb | (18 << 27) /* 0.273791236 */, | ||
4689 | /* 4386 */ 0x0461ca37 | (18 << 27) /* 0.273874490 */, | ||
4690 | /* 4387 */ 0x04622185 | (18 << 27) /* 0.273957750 */, | ||
4691 | /* 4388 */ 0x046278d5 | (18 << 27) /* 0.274041017 */, | ||
4692 | /* 4389 */ 0x0462d026 | (18 << 27) /* 0.274124290 */, | ||
4693 | /* 4390 */ 0x0463277a | (18 << 27) /* 0.274207569 */, | ||
4694 | /* 4391 */ 0x04637ece | (18 << 27) /* 0.274290855 */, | ||
4695 | /* 4392 */ 0x0463d625 | (18 << 27) /* 0.274374147 */, | ||
4696 | /* 4393 */ 0x04642d7d | (18 << 27) /* 0.274457445 */, | ||
4697 | /* 4394 */ 0x046484d7 | (18 << 27) /* 0.274540749 */, | ||
4698 | /* 4395 */ 0x0464dc33 | (18 << 27) /* 0.274624060 */, | ||
4699 | /* 4396 */ 0x04653390 | (18 << 27) /* 0.274707378 */, | ||
4700 | /* 4397 */ 0x04658aef | (18 << 27) /* 0.274790701 */, | ||
4701 | /* 4398 */ 0x0465e250 | (18 << 27) /* 0.274874031 */, | ||
4702 | /* 4399 */ 0x046639b2 | (18 << 27) /* 0.274957367 */, | ||
4703 | |||
4704 | /* 4400 */ 0x04669116 | (18 << 27) /* 0.275040710 */, | ||
4705 | /* 4401 */ 0x0466e87c | (18 << 27) /* 0.275124059 */, | ||
4706 | /* 4402 */ 0x04673fe3 | (18 << 27) /* 0.275207414 */, | ||
4707 | /* 4403 */ 0x0467974d | (18 << 27) /* 0.275290775 */, | ||
4708 | /* 4404 */ 0x0467eeb7 | (18 << 27) /* 0.275374143 */, | ||
4709 | /* 4405 */ 0x04684624 | (18 << 27) /* 0.275457517 */, | ||
4710 | /* 4406 */ 0x04689d92 | (18 << 27) /* 0.275540897 */, | ||
4711 | /* 4407 */ 0x0468f502 | (18 << 27) /* 0.275624284 */, | ||
4712 | /* 4408 */ 0x04694c74 | (18 << 27) /* 0.275707677 */, | ||
4713 | /* 4409 */ 0x0469a3e7 | (18 << 27) /* 0.275791076 */, | ||
4714 | /* 4410 */ 0x0469fb5c | (18 << 27) /* 0.275874482 */, | ||
4715 | /* 4411 */ 0x046a52d3 | (18 << 27) /* 0.275957894 */, | ||
4716 | /* 4412 */ 0x046aaa4b | (18 << 27) /* 0.276041312 */, | ||
4717 | /* 4413 */ 0x046b01c5 | (18 << 27) /* 0.276124737 */, | ||
4718 | /* 4414 */ 0x046b5941 | (18 << 27) /* 0.276208167 */, | ||
4719 | /* 4415 */ 0x046bb0bf | (18 << 27) /* 0.276291605 */, | ||
4720 | |||
4721 | /* 4416 */ 0x046c083e | (18 << 27) /* 0.276375048 */, | ||
4722 | /* 4417 */ 0x046c5fbf | (18 << 27) /* 0.276458498 */, | ||
4723 | /* 4418 */ 0x046cb741 | (18 << 27) /* 0.276541954 */, | ||
4724 | /* 4419 */ 0x046d0ec5 | (18 << 27) /* 0.276625416 */, | ||
4725 | /* 4420 */ 0x046d664b | (18 << 27) /* 0.276708885 */, | ||
4726 | /* 4421 */ 0x046dbdd3 | (18 << 27) /* 0.276792360 */, | ||
4727 | /* 4422 */ 0x046e155c | (18 << 27) /* 0.276875841 */, | ||
4728 | /* 4423 */ 0x046e6ce7 | (18 << 27) /* 0.276959328 */, | ||
4729 | /* 4424 */ 0x046ec474 | (18 << 27) /* 0.277042822 */, | ||
4730 | /* 4425 */ 0x046f1c02 | (18 << 27) /* 0.277126322 */, | ||
4731 | /* 4426 */ 0x046f7392 | (18 << 27) /* 0.277209829 */, | ||
4732 | /* 4427 */ 0x046fcb24 | (18 << 27) /* 0.277293341 */, | ||
4733 | /* 4428 */ 0x047022b8 | (18 << 27) /* 0.277376860 */, | ||
4734 | /* 4429 */ 0x04707a4d | (18 << 27) /* 0.277460385 */, | ||
4735 | /* 4430 */ 0x0470d1e4 | (18 << 27) /* 0.277543917 */, | ||
4736 | /* 4431 */ 0x0471297c | (18 << 27) /* 0.277627455 */, | ||
4737 | |||
4738 | /* 4432 */ 0x04718116 | (18 << 27) /* 0.277710999 */, | ||
4739 | /* 4433 */ 0x0471d8b2 | (18 << 27) /* 0.277794549 */, | ||
4740 | /* 4434 */ 0x04723050 | (18 << 27) /* 0.277878106 */, | ||
4741 | /* 4435 */ 0x047287ef | (18 << 27) /* 0.277961669 */, | ||
4742 | /* 4436 */ 0x0472df90 | (18 << 27) /* 0.278045238 */, | ||
4743 | /* 4437 */ 0x04733733 | (18 << 27) /* 0.278128813 */, | ||
4744 | /* 4438 */ 0x04738ed7 | (18 << 27) /* 0.278212395 */, | ||
4745 | /* 4439 */ 0x0473e67d | (18 << 27) /* 0.278295983 */, | ||
4746 | /* 4440 */ 0x04743e25 | (18 << 27) /* 0.278379578 */, | ||
4747 | /* 4441 */ 0x047495ce | (18 << 27) /* 0.278463178 */, | ||
4748 | /* 4442 */ 0x0474ed79 | (18 << 27) /* 0.278546785 */, | ||
4749 | /* 4443 */ 0x04754526 | (18 << 27) /* 0.278630398 */, | ||
4750 | /* 4444 */ 0x04759cd4 | (18 << 27) /* 0.278714018 */, | ||
4751 | /* 4445 */ 0x0475f484 | (18 << 27) /* 0.278797643 */, | ||
4752 | /* 4446 */ 0x04764c36 | (18 << 27) /* 0.278881275 */, | ||
4753 | /* 4447 */ 0x0476a3ea | (18 << 27) /* 0.278964914 */, | ||
4754 | |||
4755 | /* 4448 */ 0x0476fb9f | (18 << 27) /* 0.279048558 */, | ||
4756 | /* 4449 */ 0x04775356 | (18 << 27) /* 0.279132209 */, | ||
4757 | /* 4450 */ 0x0477ab0e | (18 << 27) /* 0.279215866 */, | ||
4758 | /* 4451 */ 0x047802c8 | (18 << 27) /* 0.279299529 */, | ||
4759 | /* 4452 */ 0x04785a84 | (18 << 27) /* 0.279383199 */, | ||
4760 | /* 4453 */ 0x0478b242 | (18 << 27) /* 0.279466875 */, | ||
4761 | /* 4454 */ 0x04790a01 | (18 << 27) /* 0.279550557 */, | ||
4762 | /* 4455 */ 0x047961c2 | (18 << 27) /* 0.279634245 */, | ||
4763 | /* 4456 */ 0x0479b984 | (18 << 27) /* 0.279717940 */, | ||
4764 | /* 4457 */ 0x047a1149 | (18 << 27) /* 0.279801641 */, | ||
4765 | /* 4458 */ 0x047a690f | (18 << 27) /* 0.279885348 */, | ||
4766 | /* 4459 */ 0x047ac0d6 | (18 << 27) /* 0.279969061 */, | ||
4767 | /* 4460 */ 0x047b18a0 | (18 << 27) /* 0.280052781 */, | ||
4768 | /* 4461 */ 0x047b706b | (18 << 27) /* 0.280136507 */, | ||
4769 | /* 4462 */ 0x047bc837 | (18 << 27) /* 0.280220239 */, | ||
4770 | /* 4463 */ 0x047c2006 | (18 << 27) /* 0.280303978 */, | ||
4771 | |||
4772 | /* 4464 */ 0x047c77d6 | (18 << 27) /* 0.280387722 */, | ||
4773 | /* 4465 */ 0x047ccfa8 | (18 << 27) /* 0.280471473 */, | ||
4774 | /* 4466 */ 0x047d277b | (18 << 27) /* 0.280555230 */, | ||
4775 | /* 4467 */ 0x047d7f50 | (18 << 27) /* 0.280638994 */, | ||
4776 | /* 4468 */ 0x047dd727 | (18 << 27) /* 0.280722764 */, | ||
4777 | /* 4469 */ 0x047e2eff | (18 << 27) /* 0.280806540 */, | ||
4778 | /* 4470 */ 0x047e86d9 | (18 << 27) /* 0.280890322 */, | ||
4779 | /* 4471 */ 0x047edeb5 | (18 << 27) /* 0.280974110 */, | ||
4780 | /* 4472 */ 0x047f3693 | (18 << 27) /* 0.281057905 */, | ||
4781 | /* 4473 */ 0x047f8e72 | (18 << 27) /* 0.281141706 */, | ||
4782 | /* 4474 */ 0x047fe653 | (18 << 27) /* 0.281225513 */, | ||
4783 | /* 4475 */ 0x04803e35 | (18 << 27) /* 0.281309326 */, | ||
4784 | /* 4476 */ 0x04809619 | (18 << 27) /* 0.281393146 */, | ||
4785 | /* 4477 */ 0x0480edff | (18 << 27) /* 0.281476972 */, | ||
4786 | /* 4478 */ 0x048145e7 | (18 << 27) /* 0.281560804 */, | ||
4787 | /* 4479 */ 0x04819dd0 | (18 << 27) /* 0.281644643 */, | ||
4788 | |||
4789 | /* 4480 */ 0x0481f5bb | (18 << 27) /* 0.281728487 */, | ||
4790 | /* 4481 */ 0x04824da7 | (18 << 27) /* 0.281812338 */, | ||
4791 | /* 4482 */ 0x0482a595 | (18 << 27) /* 0.281896195 */, | ||
4792 | /* 4483 */ 0x0482fd85 | (18 << 27) /* 0.281980059 */, | ||
4793 | /* 4484 */ 0x04835577 | (18 << 27) /* 0.282063928 */, | ||
4794 | /* 4485 */ 0x0483ad6a | (18 << 27) /* 0.282147804 */, | ||
4795 | /* 4486 */ 0x0484055f | (18 << 27) /* 0.282231686 */, | ||
4796 | /* 4487 */ 0x04845d56 | (18 << 27) /* 0.282315574 */, | ||
4797 | /* 4488 */ 0x0484b54e | (18 << 27) /* 0.282399469 */, | ||
4798 | /* 4489 */ 0x04850d48 | (18 << 27) /* 0.282483370 */, | ||
4799 | /* 4490 */ 0x04856544 | (18 << 27) /* 0.282567277 */, | ||
4800 | /* 4491 */ 0x0485bd41 | (18 << 27) /* 0.282651190 */, | ||
4801 | /* 4492 */ 0x04861540 | (18 << 27) /* 0.282735109 */, | ||
4802 | /* 4493 */ 0x04866d40 | (18 << 27) /* 0.282819035 */, | ||
4803 | /* 4494 */ 0x0486c543 | (18 << 27) /* 0.282902967 */, | ||
4804 | /* 4495 */ 0x04871d47 | (18 << 27) /* 0.282986905 */, | ||
4805 | |||
4806 | /* 4496 */ 0x0487754c | (18 << 27) /* 0.283070849 */, | ||
4807 | /* 4497 */ 0x0487cd54 | (18 << 27) /* 0.283154800 */, | ||
4808 | /* 4498 */ 0x0488255d | (18 << 27) /* 0.283238757 */, | ||
4809 | /* 4499 */ 0x04887d67 | (18 << 27) /* 0.283322720 */, | ||
4810 | /* 4500 */ 0x0488d574 | (18 << 27) /* 0.283406689 */, | ||
4811 | /* 4501 */ 0x04892d82 | (18 << 27) /* 0.283490665 */, | ||
4812 | /* 4502 */ 0x04898591 | (18 << 27) /* 0.283574646 */, | ||
4813 | /* 4503 */ 0x0489dda3 | (18 << 27) /* 0.283658634 */, | ||
4814 | /* 4504 */ 0x048a35b6 | (18 << 27) /* 0.283742628 */, | ||
4815 | /* 4505 */ 0x048a8dca | (18 << 27) /* 0.283826629 */, | ||
4816 | /* 4506 */ 0x048ae5e1 | (18 << 27) /* 0.283910635 */, | ||
4817 | /* 4507 */ 0x048b3df9 | (18 << 27) /* 0.283994648 */, | ||
4818 | /* 4508 */ 0x048b9612 | (18 << 27) /* 0.284078667 */, | ||
4819 | /* 4509 */ 0x048bee2e | (18 << 27) /* 0.284162692 */, | ||
4820 | /* 4510 */ 0x048c464b | (18 << 27) /* 0.284246723 */, | ||
4821 | /* 4511 */ 0x048c9e69 | (18 << 27) /* 0.284330761 */, | ||
4822 | |||
4823 | /* 4512 */ 0x048cf68a | (18 << 27) /* 0.284414805 */, | ||
4824 | /* 4513 */ 0x048d4eac | (18 << 27) /* 0.284498855 */, | ||
4825 | /* 4514 */ 0x048da6cf | (18 << 27) /* 0.284582911 */, | ||
4826 | /* 4515 */ 0x048dfef5 | (18 << 27) /* 0.284666974 */, | ||
4827 | /* 4516 */ 0x048e571c | (18 << 27) /* 0.284751042 */, | ||
4828 | /* 4517 */ 0x048eaf44 | (18 << 27) /* 0.284835117 */, | ||
4829 | /* 4518 */ 0x048f076f | (18 << 27) /* 0.284919198 */, | ||
4830 | /* 4519 */ 0x048f5f9b | (18 << 27) /* 0.285003285 */, | ||
4831 | /* 4520 */ 0x048fb7c8 | (18 << 27) /* 0.285087379 */, | ||
4832 | /* 4521 */ 0x04900ff8 | (18 << 27) /* 0.285171479 */, | ||
4833 | /* 4522 */ 0x04906829 | (18 << 27) /* 0.285255584 */, | ||
4834 | /* 4523 */ 0x0490c05b | (18 << 27) /* 0.285339697 */, | ||
4835 | /* 4524 */ 0x04911890 | (18 << 27) /* 0.285423815 */, | ||
4836 | /* 4525 */ 0x049170c6 | (18 << 27) /* 0.285507939 */, | ||
4837 | /* 4526 */ 0x0491c8fd | (18 << 27) /* 0.285592070 */, | ||
4838 | /* 4527 */ 0x04922137 | (18 << 27) /* 0.285676207 */, | ||
4839 | |||
4840 | /* 4528 */ 0x04927972 | (18 << 27) /* 0.285760350 */, | ||
4841 | /* 4529 */ 0x0492d1ae | (18 << 27) /* 0.285844499 */, | ||
4842 | /* 4530 */ 0x049329ed | (18 << 27) /* 0.285928655 */, | ||
4843 | /* 4531 */ 0x0493822c | (18 << 27) /* 0.286012816 */, | ||
4844 | /* 4532 */ 0x0493da6e | (18 << 27) /* 0.286096984 */, | ||
4845 | /* 4533 */ 0x049432b1 | (18 << 27) /* 0.286181158 */, | ||
4846 | /* 4534 */ 0x04948af6 | (18 << 27) /* 0.286265338 */, | ||
4847 | /* 4535 */ 0x0494e33d | (18 << 27) /* 0.286349525 */, | ||
4848 | /* 4536 */ 0x04953b85 | (18 << 27) /* 0.286433717 */, | ||
4849 | /* 4537 */ 0x049593cf | (18 << 27) /* 0.286517916 */, | ||
4850 | /* 4538 */ 0x0495ec1b | (18 << 27) /* 0.286602121 */, | ||
4851 | /* 4539 */ 0x04964468 | (18 << 27) /* 0.286686332 */, | ||
4852 | /* 4540 */ 0x04969cb7 | (18 << 27) /* 0.286770550 */, | ||
4853 | /* 4541 */ 0x0496f508 | (18 << 27) /* 0.286854773 */, | ||
4854 | /* 4542 */ 0x04974d5a | (18 << 27) /* 0.286939003 */, | ||
4855 | /* 4543 */ 0x0497a5ae | (18 << 27) /* 0.287023239 */, | ||
4856 | |||
4857 | /* 4544 */ 0x0497fe03 | (18 << 27) /* 0.287107481 */, | ||
4858 | /* 4545 */ 0x0498565a | (18 << 27) /* 0.287191729 */, | ||
4859 | /* 4546 */ 0x0498aeb3 | (18 << 27) /* 0.287275983 */, | ||
4860 | /* 4547 */ 0x0499070e | (18 << 27) /* 0.287360244 */, | ||
4861 | /* 4548 */ 0x04995f6a | (18 << 27) /* 0.287444511 */, | ||
4862 | /* 4549 */ 0x0499b7c8 | (18 << 27) /* 0.287528784 */, | ||
4863 | /* 4550 */ 0x049a1027 | (18 << 27) /* 0.287613063 */, | ||
4864 | /* 4551 */ 0x049a6889 | (18 << 27) /* 0.287697348 */, | ||
4865 | /* 4552 */ 0x049ac0eb | (18 << 27) /* 0.287781640 */, | ||
4866 | /* 4553 */ 0x049b1950 | (18 << 27) /* 0.287865937 */, | ||
4867 | /* 4554 */ 0x049b71b6 | (18 << 27) /* 0.287950241 */, | ||
4868 | /* 4555 */ 0x049bca1e | (18 << 27) /* 0.288034551 */, | ||
4869 | /* 4556 */ 0x049c2287 | (18 << 27) /* 0.288118867 */, | ||
4870 | /* 4557 */ 0x049c7af2 | (18 << 27) /* 0.288203190 */, | ||
4871 | /* 4558 */ 0x049cd35f | (18 << 27) /* 0.288287518 */, | ||
4872 | /* 4559 */ 0x049d2bce | (18 << 27) /* 0.288371853 */, | ||
4873 | |||
4874 | /* 4560 */ 0x049d843e | (18 << 27) /* 0.288456194 */, | ||
4875 | /* 4561 */ 0x049ddcaf | (18 << 27) /* 0.288540541 */, | ||
4876 | /* 4562 */ 0x049e3523 | (18 << 27) /* 0.288624894 */, | ||
4877 | /* 4563 */ 0x049e8d98 | (18 << 27) /* 0.288709253 */, | ||
4878 | /* 4564 */ 0x049ee60e | (18 << 27) /* 0.288793619 */, | ||
4879 | /* 4565 */ 0x049f3e87 | (18 << 27) /* 0.288877990 */, | ||
4880 | /* 4566 */ 0x049f9701 | (18 << 27) /* 0.288962368 */, | ||
4881 | /* 4567 */ 0x049fef7c | (18 << 27) /* 0.289046752 */, | ||
4882 | /* 4568 */ 0x04a047fa | (18 << 27) /* 0.289131142 */, | ||
4883 | /* 4569 */ 0x04a0a079 | (18 << 27) /* 0.289215538 */, | ||
4884 | /* 4570 */ 0x04a0f8f9 | (18 << 27) /* 0.289299941 */, | ||
4885 | /* 4571 */ 0x04a1517c | (18 << 27) /* 0.289384349 */, | ||
4886 | /* 4572 */ 0x04a1a9ff | (18 << 27) /* 0.289468764 */, | ||
4887 | /* 4573 */ 0x04a20285 | (18 << 27) /* 0.289553185 */, | ||
4888 | /* 4574 */ 0x04a25b0c | (18 << 27) /* 0.289637612 */, | ||
4889 | /* 4575 */ 0x04a2b395 | (18 << 27) /* 0.289722045 */, | ||
4890 | |||
4891 | /* 4576 */ 0x04a30c20 | (18 << 27) /* 0.289806485 */, | ||
4892 | /* 4577 */ 0x04a364ac | (18 << 27) /* 0.289890930 */, | ||
4893 | /* 4578 */ 0x04a3bd3a | (18 << 27) /* 0.289975382 */, | ||
4894 | /* 4579 */ 0x04a415c9 | (18 << 27) /* 0.290059840 */, | ||
4895 | /* 4580 */ 0x04a46e5a | (18 << 27) /* 0.290144304 */, | ||
4896 | /* 4581 */ 0x04a4c6ed | (18 << 27) /* 0.290228774 */, | ||
4897 | /* 4582 */ 0x04a51f81 | (18 << 27) /* 0.290313250 */, | ||
4898 | /* 4583 */ 0x04a57818 | (18 << 27) /* 0.290397733 */, | ||
4899 | /* 4584 */ 0x04a5d0af | (18 << 27) /* 0.290482221 */, | ||
4900 | /* 4585 */ 0x04a62949 | (18 << 27) /* 0.290566716 */, | ||
4901 | /* 4586 */ 0x04a681e4 | (18 << 27) /* 0.290651217 */, | ||
4902 | /* 4587 */ 0x04a6da80 | (18 << 27) /* 0.290735724 */, | ||
4903 | /* 4588 */ 0x04a7331f | (18 << 27) /* 0.290820237 */, | ||
4904 | /* 4589 */ 0x04a78bbf | (18 << 27) /* 0.290904756 */, | ||
4905 | /* 4590 */ 0x04a7e460 | (18 << 27) /* 0.290989281 */, | ||
4906 | /* 4591 */ 0x04a83d03 | (18 << 27) /* 0.291073813 */, | ||
4907 | |||
4908 | /* 4592 */ 0x04a895a8 | (18 << 27) /* 0.291158351 */, | ||
4909 | /* 4593 */ 0x04a8ee4f | (18 << 27) /* 0.291242894 */, | ||
4910 | /* 4594 */ 0x04a946f7 | (18 << 27) /* 0.291327444 */, | ||
4911 | /* 4595 */ 0x04a99fa1 | (18 << 27) /* 0.291412001 */, | ||
4912 | /* 4596 */ 0x04a9f84c | (18 << 27) /* 0.291496563 */, | ||
4913 | /* 4597 */ 0x04aa50fa | (18 << 27) /* 0.291581131 */, | ||
4914 | /* 4598 */ 0x04aaa9a8 | (18 << 27) /* 0.291665706 */, | ||
4915 | /* 4599 */ 0x04ab0259 | (18 << 27) /* 0.291750286 */, | ||
4916 | /* 4600 */ 0x04ab5b0b | (18 << 27) /* 0.291834873 */, | ||
4917 | /* 4601 */ 0x04abb3bf | (18 << 27) /* 0.291919466 */, | ||
4918 | /* 4602 */ 0x04ac0c74 | (18 << 27) /* 0.292004065 */, | ||
4919 | /* 4603 */ 0x04ac652b | (18 << 27) /* 0.292088670 */, | ||
4920 | /* 4604 */ 0x04acbde4 | (18 << 27) /* 0.292173281 */, | ||
4921 | /* 4605 */ 0x04ad169e | (18 << 27) /* 0.292257899 */, | ||
4922 | /* 4606 */ 0x04ad6f5a | (18 << 27) /* 0.292342522 */, | ||
4923 | /* 4607 */ 0x04adc818 | (18 << 27) /* 0.292427152 */, | ||
4924 | |||
4925 | /* 4608 */ 0x04ae20d7 | (18 << 27) /* 0.292511788 */, | ||
4926 | /* 4609 */ 0x04ae7998 | (18 << 27) /* 0.292596430 */, | ||
4927 | /* 4610 */ 0x04aed25a | (18 << 27) /* 0.292681078 */, | ||
4928 | /* 4611 */ 0x04af2b1e | (18 << 27) /* 0.292765732 */, | ||
4929 | /* 4612 */ 0x04af83e4 | (18 << 27) /* 0.292850392 */, | ||
4930 | /* 4613 */ 0x04afdcac | (18 << 27) /* 0.292935058 */, | ||
4931 | /* 4614 */ 0x04b03575 | (18 << 27) /* 0.293019731 */, | ||
4932 | /* 4615 */ 0x04b08e40 | (18 << 27) /* 0.293104409 */, | ||
4933 | /* 4616 */ 0x04b0e70c | (18 << 27) /* 0.293189094 */, | ||
4934 | /* 4617 */ 0x04b13fda | (18 << 27) /* 0.293273785 */, | ||
4935 | /* 4618 */ 0x04b198aa | (18 << 27) /* 0.293358482 */, | ||
4936 | /* 4619 */ 0x04b1f17b | (18 << 27) /* 0.293443185 */, | ||
4937 | /* 4620 */ 0x04b24a4e | (18 << 27) /* 0.293527894 */, | ||
4938 | /* 4621 */ 0x04b2a322 | (18 << 27) /* 0.293612609 */, | ||
4939 | /* 4622 */ 0x04b2fbf9 | (18 << 27) /* 0.293697331 */, | ||
4940 | /* 4623 */ 0x04b354d1 | (18 << 27) /* 0.293782058 */, | ||
4941 | |||
4942 | /* 4624 */ 0x04b3adaa | (18 << 27) /* 0.293866792 */, | ||
4943 | /* 4625 */ 0x04b40685 | (18 << 27) /* 0.293951532 */, | ||
4944 | /* 4626 */ 0x04b45f62 | (18 << 27) /* 0.294036278 */, | ||
4945 | /* 4627 */ 0x04b4b840 | (18 << 27) /* 0.294121029 */, | ||
4946 | /* 4628 */ 0x04b51120 | (18 << 27) /* 0.294205788 */, | ||
4947 | /* 4629 */ 0x04b56a02 | (18 << 27) /* 0.294290552 */, | ||
4948 | /* 4630 */ 0x04b5c2e6 | (18 << 27) /* 0.294375322 */, | ||
4949 | /* 4631 */ 0x04b61bcb | (18 << 27) /* 0.294460098 */, | ||
4950 | /* 4632 */ 0x04b674b1 | (18 << 27) /* 0.294544881 */, | ||
4951 | /* 4633 */ 0x04b6cd99 | (18 << 27) /* 0.294629669 */, | ||
4952 | /* 4634 */ 0x04b72683 | (18 << 27) /* 0.294714464 */, | ||
4953 | /* 4635 */ 0x04b77f6f | (18 << 27) /* 0.294799265 */, | ||
4954 | /* 4636 */ 0x04b7d85c | (18 << 27) /* 0.294884072 */, | ||
4955 | /* 4637 */ 0x04b8314b | (18 << 27) /* 0.294968885 */, | ||
4956 | /* 4638 */ 0x04b88a3b | (18 << 27) /* 0.295053704 */, | ||
4957 | /* 4639 */ 0x04b8e32d | (18 << 27) /* 0.295138529 */, | ||
4958 | |||
4959 | /* 4640 */ 0x04b93c21 | (18 << 27) /* 0.295223360 */, | ||
4960 | /* 4641 */ 0x04b99516 | (18 << 27) /* 0.295308197 */, | ||
4961 | /* 4642 */ 0x04b9ee0d | (18 << 27) /* 0.295393041 */, | ||
4962 | /* 4643 */ 0x04ba4706 | (18 << 27) /* 0.295477890 */, | ||
4963 | /* 4644 */ 0x04baa000 | (18 << 27) /* 0.295562746 */, | ||
4964 | /* 4645 */ 0x04baf8fc | (18 << 27) /* 0.295647608 */, | ||
4965 | /* 4646 */ 0x04bb51fa | (18 << 27) /* 0.295732476 */, | ||
4966 | /* 4647 */ 0x04bbaaf9 | (18 << 27) /* 0.295817349 */, | ||
4967 | /* 4648 */ 0x04bc03fa | (18 << 27) /* 0.295902229 */, | ||
4968 | /* 4649 */ 0x04bc5cfc | (18 << 27) /* 0.295987115 */, | ||
4969 | /* 4650 */ 0x04bcb600 | (18 << 27) /* 0.296072008 */, | ||
4970 | /* 4651 */ 0x04bd0f06 | (18 << 27) /* 0.296156906 */, | ||
4971 | /* 4652 */ 0x04bd680d | (18 << 27) /* 0.296241810 */, | ||
4972 | /* 4653 */ 0x04bdc116 | (18 << 27) /* 0.296326721 */, | ||
4973 | /* 4654 */ 0x04be1a21 | (18 << 27) /* 0.296411637 */, | ||
4974 | /* 4655 */ 0x04be732d | (18 << 27) /* 0.296496560 */, | ||
4975 | |||
4976 | /* 4656 */ 0x04becc3b | (18 << 27) /* 0.296581488 */, | ||
4977 | /* 4657 */ 0x04bf254a | (18 << 27) /* 0.296666423 */, | ||
4978 | /* 4658 */ 0x04bf7e5b | (18 << 27) /* 0.296751364 */, | ||
4979 | /* 4659 */ 0x04bfd76e | (18 << 27) /* 0.296836311 */, | ||
4980 | /* 4660 */ 0x04c03083 | (18 << 27) /* 0.296921264 */, | ||
4981 | /* 4661 */ 0x04c08999 | (18 << 27) /* 0.297006223 */, | ||
4982 | /* 4662 */ 0x04c0e2b0 | (18 << 27) /* 0.297091188 */, | ||
4983 | /* 4663 */ 0x04c13bca | (18 << 27) /* 0.297176159 */, | ||
4984 | /* 4664 */ 0x04c194e4 | (18 << 27) /* 0.297261136 */, | ||
4985 | /* 4665 */ 0x04c1ee01 | (18 << 27) /* 0.297346120 */, | ||
4986 | /* 4666 */ 0x04c2471f | (18 << 27) /* 0.297431109 */, | ||
4987 | /* 4667 */ 0x04c2a03f | (18 << 27) /* 0.297516105 */, | ||
4988 | /* 4668 */ 0x04c2f960 | (18 << 27) /* 0.297601106 */, | ||
4989 | /* 4669 */ 0x04c35283 | (18 << 27) /* 0.297686114 */, | ||
4990 | /* 4670 */ 0x04c3aba8 | (18 << 27) /* 0.297771128 */, | ||
4991 | /* 4671 */ 0x04c404ce | (18 << 27) /* 0.297856147 */, | ||
4992 | |||
4993 | /* 4672 */ 0x04c45df6 | (18 << 27) /* 0.297941173 */, | ||
4994 | /* 4673 */ 0x04c4b720 | (18 << 27) /* 0.298026205 */, | ||
4995 | /* 4674 */ 0x04c5104b | (18 << 27) /* 0.298111243 */, | ||
4996 | /* 4675 */ 0x04c56978 | (18 << 27) /* 0.298196287 */, | ||
4997 | /* 4676 */ 0x04c5c2a7 | (18 << 27) /* 0.298281337 */, | ||
4998 | /* 4677 */ 0x04c61bd7 | (18 << 27) /* 0.298366393 */, | ||
4999 | /* 4678 */ 0x04c67508 | (18 << 27) /* 0.298451456 */, | ||
5000 | /* 4679 */ 0x04c6ce3c | (18 << 27) /* 0.298536524 */, | ||
5001 | /* 4680 */ 0x04c72771 | (18 << 27) /* 0.298621598 */, | ||
5002 | /* 4681 */ 0x04c780a7 | (18 << 27) /* 0.298706679 */, | ||
5003 | /* 4682 */ 0x04c7d9df | (18 << 27) /* 0.298791765 */, | ||
5004 | /* 4683 */ 0x04c83319 | (18 << 27) /* 0.298876858 */, | ||
5005 | /* 4684 */ 0x04c88c55 | (18 << 27) /* 0.298961956 */, | ||
5006 | /* 4685 */ 0x04c8e592 | (18 << 27) /* 0.299047061 */, | ||
5007 | /* 4686 */ 0x04c93ed1 | (18 << 27) /* 0.299132172 */, | ||
5008 | /* 4687 */ 0x04c99811 | (18 << 27) /* 0.299217288 */, | ||
5009 | |||
5010 | /* 4688 */ 0x04c9f153 | (18 << 27) /* 0.299302411 */, | ||
5011 | /* 4689 */ 0x04ca4a97 | (18 << 27) /* 0.299387540 */, | ||
5012 | /* 4690 */ 0x04caa3dc | (18 << 27) /* 0.299472675 */, | ||
5013 | /* 4691 */ 0x04cafd23 | (18 << 27) /* 0.299557816 */, | ||
5014 | /* 4692 */ 0x04cb566b | (18 << 27) /* 0.299642963 */, | ||
5015 | /* 4693 */ 0x04cbafb5 | (18 << 27) /* 0.299728116 */, | ||
5016 | /* 4694 */ 0x04cc0901 | (18 << 27) /* 0.299813275 */, | ||
5017 | /* 4695 */ 0x04cc624e | (18 << 27) /* 0.299898440 */, | ||
5018 | /* 4696 */ 0x04ccbb9d | (18 << 27) /* 0.299983611 */, | ||
5019 | /* 4697 */ 0x04cd14ee | (18 << 27) /* 0.300068789 */, | ||
5020 | /* 4698 */ 0x04cd6e40 | (18 << 27) /* 0.300153972 */, | ||
5021 | /* 4699 */ 0x04cdc794 | (18 << 27) /* 0.300239161 */, | ||
5022 | /* 4700 */ 0x04ce20e9 | (18 << 27) /* 0.300324357 */, | ||
5023 | /* 4701 */ 0x04ce7a40 | (18 << 27) /* 0.300409558 */, | ||
5024 | /* 4702 */ 0x04ced399 | (18 << 27) /* 0.300494765 */, | ||
5025 | /* 4703 */ 0x04cf2cf3 | (18 << 27) /* 0.300579979 */, | ||
5026 | |||
5027 | /* 4704 */ 0x04cf864f | (18 << 27) /* 0.300665198 */, | ||
5028 | /* 4705 */ 0x04cfdfad | (18 << 27) /* 0.300750424 */, | ||
5029 | /* 4706 */ 0x04d0390c | (18 << 27) /* 0.300835656 */, | ||
5030 | /* 4707 */ 0x04d0926d | (18 << 27) /* 0.300920893 */, | ||
5031 | /* 4708 */ 0x04d0ebcf | (18 << 27) /* 0.301006137 */, | ||
5032 | /* 4709 */ 0x04d14533 | (18 << 27) /* 0.301091387 */, | ||
5033 | /* 4710 */ 0x04d19e99 | (18 << 27) /* 0.301176643 */, | ||
5034 | /* 4711 */ 0x04d1f800 | (18 << 27) /* 0.301261904 */, | ||
5035 | /* 4712 */ 0x04d25169 | (18 << 27) /* 0.301347172 */, | ||
5036 | /* 4713 */ 0x04d2aad4 | (18 << 27) /* 0.301432446 */, | ||
5037 | /* 4714 */ 0x04d30440 | (18 << 27) /* 0.301517726 */, | ||
5038 | /* 4715 */ 0x04d35dae | (18 << 27) /* 0.301603012 */, | ||
5039 | /* 4716 */ 0x04d3b71d | (18 << 27) /* 0.301688304 */, | ||
5040 | /* 4717 */ 0x04d4108e | (18 << 27) /* 0.301773602 */, | ||
5041 | /* 4718 */ 0x04d46a01 | (18 << 27) /* 0.301858906 */, | ||
5042 | /* 4719 */ 0x04d4c375 | (18 << 27) /* 0.301944216 */, | ||
5043 | |||
5044 | /* 4720 */ 0x04d51ceb | (18 << 27) /* 0.302029532 */, | ||
5045 | /* 4721 */ 0x04d57662 | (18 << 27) /* 0.302114854 */, | ||
5046 | /* 4722 */ 0x04d5cfdb | (18 << 27) /* 0.302200182 */, | ||
5047 | /* 4723 */ 0x04d62956 | (18 << 27) /* 0.302285516 */, | ||
5048 | /* 4724 */ 0x04d682d2 | (18 << 27) /* 0.302370856 */, | ||
5049 | /* 4725 */ 0x04d6dc50 | (18 << 27) /* 0.302456203 */, | ||
5050 | /* 4726 */ 0x04d735d0 | (18 << 27) /* 0.302541555 */, | ||
5051 | /* 4727 */ 0x04d78f51 | (18 << 27) /* 0.302626913 */, | ||
5052 | /* 4728 */ 0x04d7e8d4 | (18 << 27) /* 0.302712277 */, | ||
5053 | /* 4729 */ 0x04d84258 | (18 << 27) /* 0.302797648 */, | ||
5054 | /* 4730 */ 0x04d89bde | (18 << 27) /* 0.302883024 */, | ||
5055 | /* 4731 */ 0x04d8f566 | (18 << 27) /* 0.302968406 */, | ||
5056 | /* 4732 */ 0x04d94eef | (18 << 27) /* 0.303053794 */, | ||
5057 | /* 4733 */ 0x04d9a87a | (18 << 27) /* 0.303139189 */, | ||
5058 | /* 4734 */ 0x04da0207 | (18 << 27) /* 0.303224589 */, | ||
5059 | /* 4735 */ 0x04da5b95 | (18 << 27) /* 0.303309995 */, | ||
5060 | |||
5061 | /* 4736 */ 0x04dab524 | (18 << 27) /* 0.303395408 */, | ||
5062 | /* 4737 */ 0x04db0eb6 | (18 << 27) /* 0.303480826 */, | ||
5063 | /* 4738 */ 0x04db6849 | (18 << 27) /* 0.303566251 */, | ||
5064 | /* 4739 */ 0x04dbc1dd | (18 << 27) /* 0.303651681 */, | ||
5065 | /* 4740 */ 0x04dc1b73 | (18 << 27) /* 0.303737117 */, | ||
5066 | /* 4741 */ 0x04dc750b | (18 << 27) /* 0.303822560 */, | ||
5067 | /* 4742 */ 0x04dccea5 | (18 << 27) /* 0.303908008 */, | ||
5068 | /* 4743 */ 0x04dd2840 | (18 << 27) /* 0.303993463 */, | ||
5069 | /* 4744 */ 0x04dd81dc | (18 << 27) /* 0.304078923 */, | ||
5070 | /* 4745 */ 0x04dddb7a | (18 << 27) /* 0.304164390 */, | ||
5071 | /* 4746 */ 0x04de351a | (18 << 27) /* 0.304249862 */, | ||
5072 | /* 4747 */ 0x04de8ebc | (18 << 27) /* 0.304335340 */, | ||
5073 | /* 4748 */ 0x04dee85f | (18 << 27) /* 0.304420825 */, | ||
5074 | /* 4749 */ 0x04df4203 | (18 << 27) /* 0.304506315 */, | ||
5075 | /* 4750 */ 0x04df9baa | (18 << 27) /* 0.304591812 */, | ||
5076 | /* 4751 */ 0x04dff552 | (18 << 27) /* 0.304677314 */, | ||
5077 | |||
5078 | /* 4752 */ 0x04e04efb | (18 << 27) /* 0.304762823 */, | ||
5079 | /* 4753 */ 0x04e0a8a6 | (18 << 27) /* 0.304848337 */, | ||
5080 | /* 4754 */ 0x04e10253 | (18 << 27) /* 0.304933858 */, | ||
5081 | /* 4755 */ 0x04e15c01 | (18 << 27) /* 0.305019384 */, | ||
5082 | /* 4756 */ 0x04e1b5b1 | (18 << 27) /* 0.305104917 */, | ||
5083 | /* 4757 */ 0x04e20f63 | (18 << 27) /* 0.305190455 */, | ||
5084 | /* 4758 */ 0x04e26916 | (18 << 27) /* 0.305275999 */, | ||
5085 | /* 4759 */ 0x04e2c2cb | (18 << 27) /* 0.305361550 */, | ||
5086 | /* 4760 */ 0x04e31c81 | (18 << 27) /* 0.305447106 */, | ||
5087 | /* 4761 */ 0x04e37639 | (18 << 27) /* 0.305532669 */, | ||
5088 | /* 4762 */ 0x04e3cff3 | (18 << 27) /* 0.305618237 */, | ||
5089 | /* 4763 */ 0x04e429ae | (18 << 27) /* 0.305703811 */, | ||
5090 | /* 4764 */ 0x04e4836b | (18 << 27) /* 0.305789392 */, | ||
5091 | /* 4765 */ 0x04e4dd29 | (18 << 27) /* 0.305874978 */, | ||
5092 | /* 4766 */ 0x04e536e9 | (18 << 27) /* 0.305960571 */, | ||
5093 | /* 4767 */ 0x04e590ab | (18 << 27) /* 0.306046169 */, | ||
5094 | |||
5095 | /* 4768 */ 0x04e5ea6e | (18 << 27) /* 0.306131773 */, | ||
5096 | /* 4769 */ 0x04e64433 | (18 << 27) /* 0.306217383 */, | ||
5097 | /* 4770 */ 0x04e69df9 | (18 << 27) /* 0.306303000 */, | ||
5098 | /* 4771 */ 0x04e6f7c1 | (18 << 27) /* 0.306388622 */, | ||
5099 | /* 4772 */ 0x04e7518b | (18 << 27) /* 0.306474250 */, | ||
5100 | /* 4773 */ 0x04e7ab56 | (18 << 27) /* 0.306559885 */, | ||
5101 | /* 4774 */ 0x04e80523 | (18 << 27) /* 0.306645525 */, | ||
5102 | /* 4775 */ 0x04e85ef2 | (18 << 27) /* 0.306731171 */, | ||
5103 | /* 4776 */ 0x04e8b8c2 | (18 << 27) /* 0.306816823 */, | ||
5104 | /* 4777 */ 0x04e91293 | (18 << 27) /* 0.306902481 */, | ||
5105 | /* 4778 */ 0x04e96c67 | (18 << 27) /* 0.306988145 */, | ||
5106 | /* 4779 */ 0x04e9c63b | (18 << 27) /* 0.307073816 */, | ||
5107 | /* 4780 */ 0x04ea2012 | (18 << 27) /* 0.307159492 */, | ||
5108 | /* 4781 */ 0x04ea79ea | (18 << 27) /* 0.307245174 */, | ||
5109 | /* 4782 */ 0x04ead3c4 | (18 << 27) /* 0.307330862 */, | ||
5110 | /* 4783 */ 0x04eb2d9f | (18 << 27) /* 0.307416556 */, | ||
5111 | |||
5112 | /* 4784 */ 0x04eb877c | (18 << 27) /* 0.307502256 */, | ||
5113 | /* 4785 */ 0x04ebe15b | (18 << 27) /* 0.307587962 */, | ||
5114 | /* 4786 */ 0x04ec3b3b | (18 << 27) /* 0.307673674 */, | ||
5115 | /* 4787 */ 0x04ec951c | (18 << 27) /* 0.307759392 */, | ||
5116 | /* 4788 */ 0x04ecef00 | (18 << 27) /* 0.307845115 */, | ||
5117 | /* 4789 */ 0x04ed48e5 | (18 << 27) /* 0.307930845 */, | ||
5118 | /* 4790 */ 0x04eda2cb | (18 << 27) /* 0.308016581 */, | ||
5119 | /* 4791 */ 0x04edfcb3 | (18 << 27) /* 0.308102323 */, | ||
5120 | /* 4792 */ 0x04ee569d | (18 << 27) /* 0.308188071 */, | ||
5121 | /* 4793 */ 0x04eeb088 | (18 << 27) /* 0.308273824 */, | ||
5122 | /* 4794 */ 0x04ef0a75 | (18 << 27) /* 0.308359584 */, | ||
5123 | /* 4795 */ 0x04ef6464 | (18 << 27) /* 0.308445350 */, | ||
5124 | /* 4796 */ 0x04efbe54 | (18 << 27) /* 0.308531121 */, | ||
5125 | /* 4797 */ 0x04f01846 | (18 << 27) /* 0.308616899 */, | ||
5126 | /* 4798 */ 0x04f07239 | (18 << 27) /* 0.308702682 */, | ||
5127 | /* 4799 */ 0x04f0cc2e | (18 << 27) /* 0.308788472 */, | ||
5128 | |||
5129 | /* 4800 */ 0x04f12624 | (18 << 27) /* 0.308874267 */, | ||
5130 | /* 4801 */ 0x04f1801d | (18 << 27) /* 0.308960068 */, | ||
5131 | /* 4802 */ 0x04f1da16 | (18 << 27) /* 0.309045876 */, | ||
5132 | /* 4803 */ 0x04f23412 | (18 << 27) /* 0.309131689 */, | ||
5133 | /* 4804 */ 0x04f28e0f | (18 << 27) /* 0.309217508 */, | ||
5134 | /* 4805 */ 0x04f2e80d | (18 << 27) /* 0.309303334 */, | ||
5135 | /* 4806 */ 0x04f3420d | (18 << 27) /* 0.309389165 */, | ||
5136 | /* 4807 */ 0x04f39c0f | (18 << 27) /* 0.309475002 */, | ||
5137 | /* 4808 */ 0x04f3f612 | (18 << 27) /* 0.309560845 */, | ||
5138 | /* 4809 */ 0x04f45017 | (18 << 27) /* 0.309646694 */, | ||
5139 | /* 4810 */ 0x04f4aa1e | (18 << 27) /* 0.309732549 */, | ||
5140 | /* 4811 */ 0x04f50426 | (18 << 27) /* 0.309818410 */, | ||
5141 | /* 4812 */ 0x04f55e30 | (18 << 27) /* 0.309904277 */, | ||
5142 | /* 4813 */ 0x04f5b83b | (18 << 27) /* 0.309990150 */, | ||
5143 | /* 4814 */ 0x04f61248 | (18 << 27) /* 0.310076028 */, | ||
5144 | /* 4815 */ 0x04f66c56 | (18 << 27) /* 0.310161913 */, | ||
5145 | |||
5146 | /* 4816 */ 0x04f6c666 | (18 << 27) /* 0.310247804 */, | ||
5147 | /* 4817 */ 0x04f72078 | (18 << 27) /* 0.310333700 */, | ||
5148 | /* 4818 */ 0x04f77a8b | (18 << 27) /* 0.310419603 */, | ||
5149 | /* 4819 */ 0x04f7d4a0 | (18 << 27) /* 0.310505511 */, | ||
5150 | /* 4820 */ 0x04f82eb7 | (18 << 27) /* 0.310591426 */, | ||
5151 | /* 4821 */ 0x04f888cf | (18 << 27) /* 0.310677346 */, | ||
5152 | /* 4822 */ 0x04f8e2e9 | (18 << 27) /* 0.310763272 */, | ||
5153 | /* 4823 */ 0x04f93d04 | (18 << 27) /* 0.310849205 */, | ||
5154 | /* 4824 */ 0x04f99721 | (18 << 27) /* 0.310935143 */, | ||
5155 | /* 4825 */ 0x04f9f13f | (18 << 27) /* 0.311021087 */, | ||
5156 | /* 4826 */ 0x04fa4b5f | (18 << 27) /* 0.311107037 */, | ||
5157 | /* 4827 */ 0x04faa581 | (18 << 27) /* 0.311192993 */, | ||
5158 | /* 4828 */ 0x04faffa4 | (18 << 27) /* 0.311278955 */, | ||
5159 | /* 4829 */ 0x04fb59c9 | (18 << 27) /* 0.311364923 */, | ||
5160 | /* 4830 */ 0x04fbb3ef | (18 << 27) /* 0.311450897 */, | ||
5161 | /* 4831 */ 0x04fc0e17 | (18 << 27) /* 0.311536877 */, | ||
5162 | |||
5163 | /* 4832 */ 0x04fc6841 | (18 << 27) /* 0.311622862 */, | ||
5164 | /* 4833 */ 0x04fcc26c | (18 << 27) /* 0.311708854 */, | ||
5165 | /* 4834 */ 0x04fd1c99 | (18 << 27) /* 0.311794851 */, | ||
5166 | /* 4835 */ 0x04fd76c7 | (18 << 27) /* 0.311880855 */, | ||
5167 | /* 4836 */ 0x04fdd0f7 | (18 << 27) /* 0.311966864 */, | ||
5168 | /* 4837 */ 0x04fe2b29 | (18 << 27) /* 0.312052880 */, | ||
5169 | /* 4838 */ 0x04fe855c | (18 << 27) /* 0.312138901 */, | ||
5170 | /* 4839 */ 0x04fedf91 | (18 << 27) /* 0.312224928 */, | ||
5171 | /* 4840 */ 0x04ff39c7 | (18 << 27) /* 0.312310961 */, | ||
5172 | /* 4841 */ 0x04ff93ff | (18 << 27) /* 0.312397000 */, | ||
5173 | /* 4842 */ 0x04ffee38 | (18 << 27) /* 0.312483045 */, | ||
5174 | /* 4843 */ 0x05004874 | (18 << 27) /* 0.312569096 */, | ||
5175 | /* 4844 */ 0x0500a2b0 | (18 << 27) /* 0.312655153 */, | ||
5176 | /* 4845 */ 0x0500fcef | (18 << 27) /* 0.312741216 */, | ||
5177 | /* 4846 */ 0x0501572e | (18 << 27) /* 0.312827284 */, | ||
5178 | /* 4847 */ 0x0501b170 | (18 << 27) /* 0.312913359 */, | ||
5179 | |||
5180 | /* 4848 */ 0x05020bb3 | (18 << 27) /* 0.312999439 */, | ||
5181 | /* 4849 */ 0x050265f8 | (18 << 27) /* 0.313085526 */, | ||
5182 | /* 4850 */ 0x0502c03e | (18 << 27) /* 0.313171618 */, | ||
5183 | /* 4851 */ 0x05031a86 | (18 << 27) /* 0.313257716 */, | ||
5184 | /* 4852 */ 0x050374cf | (18 << 27) /* 0.313343820 */, | ||
5185 | /* 4853 */ 0x0503cf1a | (18 << 27) /* 0.313429931 */, | ||
5186 | /* 4854 */ 0x05042967 | (18 << 27) /* 0.313516047 */, | ||
5187 | /* 4855 */ 0x050483b5 | (18 << 27) /* 0.313602168 */, | ||
5188 | /* 4856 */ 0x0504de05 | (18 << 27) /* 0.313688296 */, | ||
5189 | /* 4857 */ 0x05053856 | (18 << 27) /* 0.313774430 */, | ||
5190 | /* 4858 */ 0x050592a9 | (18 << 27) /* 0.313860570 */, | ||
5191 | /* 4859 */ 0x0505ecfd | (18 << 27) /* 0.313946715 */, | ||
5192 | /* 4860 */ 0x05064754 | (18 << 27) /* 0.314032867 */, | ||
5193 | /* 4861 */ 0x0506a1ab | (18 << 27) /* 0.314119024 */, | ||
5194 | /* 4862 */ 0x0506fc04 | (18 << 27) /* 0.314205187 */, | ||
5195 | /* 4863 */ 0x0507565f | (18 << 27) /* 0.314291357 */, | ||
5196 | |||
5197 | /* 4864 */ 0x0507b0bc | (18 << 27) /* 0.314377532 */, | ||
5198 | /* 4865 */ 0x05080b1a | (18 << 27) /* 0.314463713 */, | ||
5199 | /* 4866 */ 0x05086579 | (18 << 27) /* 0.314549900 */, | ||
5200 | /* 4867 */ 0x0508bfdb | (18 << 27) /* 0.314636092 */, | ||
5201 | /* 4868 */ 0x05091a3d | (18 << 27) /* 0.314722291 */, | ||
5202 | /* 4869 */ 0x050974a2 | (18 << 27) /* 0.314808496 */, | ||
5203 | /* 4870 */ 0x0509cf08 | (18 << 27) /* 0.314894706 */, | ||
5204 | /* 4871 */ 0x050a296f | (18 << 27) /* 0.314980923 */, | ||
5205 | /* 4872 */ 0x050a83d8 | (18 << 27) /* 0.315067145 */, | ||
5206 | /* 4873 */ 0x050ade43 | (18 << 27) /* 0.315153373 */, | ||
5207 | /* 4874 */ 0x050b38af | (18 << 27) /* 0.315239607 */, | ||
5208 | /* 4875 */ 0x050b931d | (18 << 27) /* 0.315325847 */, | ||
5209 | /* 4876 */ 0x050bed8d | (18 << 27) /* 0.315412093 */, | ||
5210 | /* 4877 */ 0x050c47fe | (18 << 27) /* 0.315498345 */, | ||
5211 | /* 4878 */ 0x050ca271 | (18 << 27) /* 0.315584603 */, | ||
5212 | /* 4879 */ 0x050cfce5 | (18 << 27) /* 0.315670866 */, | ||
5213 | |||
5214 | /* 4880 */ 0x050d575b | (18 << 27) /* 0.315757136 */, | ||
5215 | /* 4881 */ 0x050db1d2 | (18 << 27) /* 0.315843411 */, | ||
5216 | /* 4882 */ 0x050e0c4b | (18 << 27) /* 0.315929693 */, | ||
5217 | /* 4883 */ 0x050e66c5 | (18 << 27) /* 0.316015980 */, | ||
5218 | /* 4884 */ 0x050ec141 | (18 << 27) /* 0.316102273 */, | ||
5219 | /* 4885 */ 0x050f1bbf | (18 << 27) /* 0.316188572 */, | ||
5220 | /* 4886 */ 0x050f763e | (18 << 27) /* 0.316274877 */, | ||
5221 | /* 4887 */ 0x050fd0bf | (18 << 27) /* 0.316361187 */, | ||
5222 | /* 4888 */ 0x05102b42 | (18 << 27) /* 0.316447504 */, | ||
5223 | /* 4889 */ 0x051085c6 | (18 << 27) /* 0.316533826 */, | ||
5224 | /* 4890 */ 0x0510e04b | (18 << 27) /* 0.316620155 */, | ||
5225 | /* 4891 */ 0x05113ad3 | (18 << 27) /* 0.316706489 */, | ||
5226 | /* 4892 */ 0x0511955b | (18 << 27) /* 0.316792829 */, | ||
5227 | /* 4893 */ 0x0511efe6 | (18 << 27) /* 0.316879175 */, | ||
5228 | /* 4894 */ 0x05124a72 | (18 << 27) /* 0.316965527 */, | ||
5229 | /* 4895 */ 0x0512a4ff | (18 << 27) /* 0.317051885 */, | ||
5230 | |||
5231 | /* 4896 */ 0x0512ff8e | (18 << 27) /* 0.317138249 */, | ||
5232 | /* 4897 */ 0x05135a1f | (18 << 27) /* 0.317224618 */, | ||
5233 | /* 4898 */ 0x0513b4b1 | (18 << 27) /* 0.317310994 */, | ||
5234 | /* 4899 */ 0x05140f45 | (18 << 27) /* 0.317397375 */, | ||
5235 | /* 4900 */ 0x051469da | (18 << 27) /* 0.317483762 */, | ||
5236 | /* 4901 */ 0x0514c471 | (18 << 27) /* 0.317570155 */, | ||
5237 | /* 4902 */ 0x05151f0a | (18 << 27) /* 0.317656554 */, | ||
5238 | /* 4903 */ 0x051579a4 | (18 << 27) /* 0.317742959 */, | ||
5239 | /* 4904 */ 0x0515d440 | (18 << 27) /* 0.317829370 */, | ||
5240 | /* 4905 */ 0x05162edd | (18 << 27) /* 0.317915786 */, | ||
5241 | /* 4906 */ 0x0516897c | (18 << 27) /* 0.318002209 */, | ||
5242 | /* 4907 */ 0x0516e41c | (18 << 27) /* 0.318088637 */, | ||
5243 | /* 4908 */ 0x05173ebe | (18 << 27) /* 0.318175071 */, | ||
5244 | /* 4909 */ 0x05179962 | (18 << 27) /* 0.318261511 */, | ||
5245 | /* 4910 */ 0x0517f407 | (18 << 27) /* 0.318347957 */, | ||
5246 | /* 4911 */ 0x05184eae | (18 << 27) /* 0.318434409 */, | ||
5247 | |||
5248 | /* 4912 */ 0x0518a956 | (18 << 27) /* 0.318520867 */, | ||
5249 | /* 4913 */ 0x05190400 | (18 << 27) /* 0.318607330 */, | ||
5250 | /* 4914 */ 0x05195eab | (18 << 27) /* 0.318693800 */, | ||
5251 | /* 4915 */ 0x0519b958 | (18 << 27) /* 0.318780275 */, | ||
5252 | /* 4916 */ 0x051a1407 | (18 << 27) /* 0.318866756 */, | ||
5253 | /* 4917 */ 0x051a6eb7 | (18 << 27) /* 0.318953243 */, | ||
5254 | /* 4918 */ 0x051ac969 | (18 << 27) /* 0.319039736 */, | ||
5255 | /* 4919 */ 0x051b241c | (18 << 27) /* 0.319126235 */, | ||
5256 | /* 4920 */ 0x051b7ed1 | (18 << 27) /* 0.319212739 */, | ||
5257 | /* 4921 */ 0x051bd987 | (18 << 27) /* 0.319299250 */, | ||
5258 | /* 4922 */ 0x051c3440 | (18 << 27) /* 0.319385766 */, | ||
5259 | /* 4923 */ 0x051c8ef9 | (18 << 27) /* 0.319472288 */, | ||
5260 | /* 4924 */ 0x051ce9b4 | (18 << 27) /* 0.319558816 */, | ||
5261 | /* 4925 */ 0x051d4471 | (18 << 27) /* 0.319645350 */, | ||
5262 | /* 4926 */ 0x051d9f2f | (18 << 27) /* 0.319731890 */, | ||
5263 | /* 4927 */ 0x051df9ef | (18 << 27) /* 0.319818435 */, | ||
5264 | |||
5265 | /* 4928 */ 0x051e54b1 | (18 << 27) /* 0.319904987 */, | ||
5266 | /* 4929 */ 0x051eaf74 | (18 << 27) /* 0.319991544 */, | ||
5267 | /* 4930 */ 0x051f0a38 | (18 << 27) /* 0.320078107 */, | ||
5268 | /* 4931 */ 0x051f64ff | (18 << 27) /* 0.320164676 */, | ||
5269 | /* 4932 */ 0x051fbfc6 | (18 << 27) /* 0.320251251 */, | ||
5270 | /* 4933 */ 0x05201a90 | (18 << 27) /* 0.320337832 */, | ||
5271 | /* 4934 */ 0x0520755b | (18 << 27) /* 0.320424419 */, | ||
5272 | /* 4935 */ 0x0520d027 | (18 << 27) /* 0.320511011 */, | ||
5273 | /* 4936 */ 0x05212af5 | (18 << 27) /* 0.320597609 */, | ||
5274 | /* 4937 */ 0x052185c5 | (18 << 27) /* 0.320684213 */, | ||
5275 | /* 4938 */ 0x0521e096 | (18 << 27) /* 0.320770823 */, | ||
5276 | /* 4939 */ 0x05223b69 | (18 << 27) /* 0.320857439 */, | ||
5277 | /* 4940 */ 0x0522963d | (18 << 27) /* 0.320944061 */, | ||
5278 | /* 4941 */ 0x0522f113 | (18 << 27) /* 0.321030688 */, | ||
5279 | /* 4942 */ 0x05234bea | (18 << 27) /* 0.321117322 */, | ||
5280 | /* 4943 */ 0x0523a6c3 | (18 << 27) /* 0.321203961 */, | ||
5281 | |||
5282 | /* 4944 */ 0x0524019e | (18 << 27) /* 0.321290606 */, | ||
5283 | /* 4945 */ 0x05245c7a | (18 << 27) /* 0.321377257 */, | ||
5284 | /* 4946 */ 0x0524b758 | (18 << 27) /* 0.321463913 */, | ||
5285 | /* 4947 */ 0x05251237 | (18 << 27) /* 0.321550576 */, | ||
5286 | /* 4948 */ 0x05256d18 | (18 << 27) /* 0.321637244 */, | ||
5287 | /* 4949 */ 0x0525c7fb | (18 << 27) /* 0.321723919 */, | ||
5288 | /* 4950 */ 0x052622df | (18 << 27) /* 0.321810599 */, | ||
5289 | /* 4951 */ 0x05267dc4 | (18 << 27) /* 0.321897285 */, | ||
5290 | /* 4952 */ 0x0526d8ab | (18 << 27) /* 0.321983976 */, | ||
5291 | /* 4953 */ 0x05273394 | (18 << 27) /* 0.322070674 */, | ||
5292 | /* 4954 */ 0x05278e7e | (18 << 27) /* 0.322157377 */, | ||
5293 | /* 4955 */ 0x0527e96a | (18 << 27) /* 0.322244087 */, | ||
5294 | /* 4956 */ 0x05284457 | (18 << 27) /* 0.322330802 */, | ||
5295 | /* 4957 */ 0x05289f46 | (18 << 27) /* 0.322417523 */, | ||
5296 | /* 4958 */ 0x0528fa37 | (18 << 27) /* 0.322504249 */, | ||
5297 | /* 4959 */ 0x05295529 | (18 << 27) /* 0.322590982 */, | ||
5298 | |||
5299 | /* 4960 */ 0x0529b01d | (18 << 27) /* 0.322677720 */, | ||
5300 | /* 4961 */ 0x052a0b12 | (18 << 27) /* 0.322764465 */, | ||
5301 | /* 4962 */ 0x052a6609 | (18 << 27) /* 0.322851215 */, | ||
5302 | /* 4963 */ 0x052ac101 | (18 << 27) /* 0.322937971 */, | ||
5303 | /* 4964 */ 0x052b1bfb | (18 << 27) /* 0.323024732 */, | ||
5304 | /* 4965 */ 0x052b76f7 | (18 << 27) /* 0.323111500 */, | ||
5305 | /* 4966 */ 0x052bd1f4 | (18 << 27) /* 0.323198273 */, | ||
5306 | /* 4967 */ 0x052c2cf2 | (18 << 27) /* 0.323285052 */, | ||
5307 | /* 4968 */ 0x052c87f2 | (18 << 27) /* 0.323371837 */, | ||
5308 | /* 4969 */ 0x052ce2f4 | (18 << 27) /* 0.323458628 */, | ||
5309 | /* 4970 */ 0x052d3df7 | (18 << 27) /* 0.323545425 */, | ||
5310 | /* 4971 */ 0x052d98fc | (18 << 27) /* 0.323632227 */, | ||
5311 | /* 4972 */ 0x052df403 | (18 << 27) /* 0.323719036 */, | ||
5312 | /* 4973 */ 0x052e4f0b | (18 << 27) /* 0.323805850 */, | ||
5313 | /* 4974 */ 0x052eaa14 | (18 << 27) /* 0.323892670 */, | ||
5314 | /* 4975 */ 0x052f051f | (18 << 27) /* 0.323979496 */, | ||
5315 | |||
5316 | /* 4976 */ 0x052f602c | (18 << 27) /* 0.324066327 */, | ||
5317 | /* 4977 */ 0x052fbb3a | (18 << 27) /* 0.324153165 */, | ||
5318 | /* 4978 */ 0x0530164a | (18 << 27) /* 0.324240008 */, | ||
5319 | /* 4979 */ 0x0530715b | (18 << 27) /* 0.324326857 */, | ||
5320 | /* 4980 */ 0x0530cc6e | (18 << 27) /* 0.324413712 */, | ||
5321 | /* 4981 */ 0x05312783 | (18 << 27) /* 0.324500572 */, | ||
5322 | /* 4982 */ 0x05318299 | (18 << 27) /* 0.324587439 */, | ||
5323 | /* 4983 */ 0x0531ddb0 | (18 << 27) /* 0.324674311 */, | ||
5324 | /* 4984 */ 0x053238ca | (18 << 27) /* 0.324761189 */, | ||
5325 | /* 4985 */ 0x053293e4 | (18 << 27) /* 0.324848073 */, | ||
5326 | /* 4986 */ 0x0532ef01 | (18 << 27) /* 0.324934963 */, | ||
5327 | /* 4987 */ 0x05334a1e | (18 << 27) /* 0.325021858 */, | ||
5328 | /* 4988 */ 0x0533a53e | (18 << 27) /* 0.325108760 */, | ||
5329 | /* 4989 */ 0x0534005f | (18 << 27) /* 0.325195667 */, | ||
5330 | /* 4990 */ 0x05345b81 | (18 << 27) /* 0.325282580 */, | ||
5331 | /* 4991 */ 0x0534b6a5 | (18 << 27) /* 0.325369498 */, | ||
5332 | |||
5333 | /* 4992 */ 0x053511cb | (18 << 27) /* 0.325456423 */, | ||
5334 | /* 4993 */ 0x05356cf2 | (18 << 27) /* 0.325543353 */, | ||
5335 | /* 4994 */ 0x0535c81b | (18 << 27) /* 0.325630290 */, | ||
5336 | /* 4995 */ 0x05362345 | (18 << 27) /* 0.325717232 */, | ||
5337 | /* 4996 */ 0x05367e71 | (18 << 27) /* 0.325804179 */, | ||
5338 | /* 4997 */ 0x0536d99f | (18 << 27) /* 0.325891133 */, | ||
5339 | /* 4998 */ 0x053734ce | (18 << 27) /* 0.325978092 */, | ||
5340 | /* 4999 */ 0x05378ffe | (18 << 27) /* 0.326065057 */, | ||
5341 | /* 5000 */ 0x0537eb30 | (18 << 27) /* 0.326152028 */, | ||
5342 | /* 5001 */ 0x05384664 | (18 << 27) /* 0.326239005 */, | ||
5343 | /* 5002 */ 0x0538a199 | (18 << 27) /* 0.326325988 */, | ||
5344 | /* 5003 */ 0x0538fcd0 | (18 << 27) /* 0.326412976 */, | ||
5345 | /* 5004 */ 0x05395808 | (18 << 27) /* 0.326499970 */, | ||
5346 | /* 5005 */ 0x0539b342 | (18 << 27) /* 0.326586970 */, | ||
5347 | /* 5006 */ 0x053a0e7d | (18 << 27) /* 0.326673976 */, | ||
5348 | /* 5007 */ 0x053a69ba | (18 << 27) /* 0.326760988 */, | ||
5349 | |||
5350 | /* 5008 */ 0x053ac4f9 | (18 << 27) /* 0.326848005 */, | ||
5351 | /* 5009 */ 0x053b2039 | (18 << 27) /* 0.326935028 */, | ||
5352 | /* 5010 */ 0x053b7b7b | (18 << 27) /* 0.327022057 */, | ||
5353 | /* 5011 */ 0x053bd6be | (18 << 27) /* 0.327109092 */, | ||
5354 | /* 5012 */ 0x053c3203 | (18 << 27) /* 0.327196132 */, | ||
5355 | /* 5013 */ 0x053c8d49 | (18 << 27) /* 0.327283178 */, | ||
5356 | /* 5014 */ 0x053ce891 | (18 << 27) /* 0.327370231 */, | ||
5357 | /* 5015 */ 0x053d43da | (18 << 27) /* 0.327457288 */, | ||
5358 | /* 5016 */ 0x053d9f25 | (18 << 27) /* 0.327544352 */, | ||
5359 | /* 5017 */ 0x053dfa72 | (18 << 27) /* 0.327631421 */, | ||
5360 | /* 5018 */ 0x053e55c0 | (18 << 27) /* 0.327718497 */, | ||
5361 | /* 5019 */ 0x053eb10f | (18 << 27) /* 0.327805578 */, | ||
5362 | /* 5020 */ 0x053f0c61 | (18 << 27) /* 0.327892665 */, | ||
5363 | /* 5021 */ 0x053f67b3 | (18 << 27) /* 0.327979757 */, | ||
5364 | /* 5022 */ 0x053fc308 | (18 << 27) /* 0.328066855 */, | ||
5365 | /* 5023 */ 0x05401e5e | (18 << 27) /* 0.328153960 */, | ||
5366 | |||
5367 | /* 5024 */ 0x054079b5 | (18 << 27) /* 0.328241070 */, | ||
5368 | /* 5025 */ 0x0540d50e | (18 << 27) /* 0.328328185 */, | ||
5369 | /* 5026 */ 0x05413068 | (18 << 27) /* 0.328415307 */, | ||
5370 | /* 5027 */ 0x05418bc4 | (18 << 27) /* 0.328502434 */, | ||
5371 | /* 5028 */ 0x0541e722 | (18 << 27) /* 0.328589567 */, | ||
5372 | /* 5029 */ 0x05424281 | (18 << 27) /* 0.328676706 */, | ||
5373 | /* 5030 */ 0x05429de2 | (18 << 27) /* 0.328763850 */, | ||
5374 | /* 5031 */ 0x0542f944 | (18 << 27) /* 0.328851001 */, | ||
5375 | /* 5032 */ 0x054354a8 | (18 << 27) /* 0.328938157 */, | ||
5376 | /* 5033 */ 0x0543b00d | (18 << 27) /* 0.329025319 */, | ||
5377 | /* 5034 */ 0x05440b74 | (18 << 27) /* 0.329112486 */, | ||
5378 | /* 5035 */ 0x054466dd | (18 << 27) /* 0.329199660 */, | ||
5379 | /* 5036 */ 0x0544c247 | (18 << 27) /* 0.329286839 */, | ||
5380 | /* 5037 */ 0x05451db2 | (18 << 27) /* 0.329374024 */, | ||
5381 | /* 5038 */ 0x0545791f | (18 << 27) /* 0.329461215 */, | ||
5382 | /* 5039 */ 0x0545d48e | (18 << 27) /* 0.329548411 */, | ||
5383 | |||
5384 | /* 5040 */ 0x05462ffe | (18 << 27) /* 0.329635614 */, | ||
5385 | /* 5041 */ 0x05468b70 | (18 << 27) /* 0.329722822 */, | ||
5386 | /* 5042 */ 0x0546e6e3 | (18 << 27) /* 0.329810036 */, | ||
5387 | /* 5043 */ 0x05474258 | (18 << 27) /* 0.329897255 */, | ||
5388 | /* 5044 */ 0x05479dce | (18 << 27) /* 0.329984481 */, | ||
5389 | /* 5045 */ 0x0547f946 | (18 << 27) /* 0.330071712 */, | ||
5390 | /* 5046 */ 0x054854c0 | (18 << 27) /* 0.330158949 */, | ||
5391 | /* 5047 */ 0x0548b03b | (18 << 27) /* 0.330246191 */, | ||
5392 | /* 5048 */ 0x05490bb7 | (18 << 27) /* 0.330333440 */, | ||
5393 | /* 5049 */ 0x05496735 | (18 << 27) /* 0.330420694 */, | ||
5394 | /* 5050 */ 0x0549c2b5 | (18 << 27) /* 0.330507954 */, | ||
5395 | /* 5051 */ 0x054a1e36 | (18 << 27) /* 0.330595220 */, | ||
5396 | /* 5052 */ 0x054a79b9 | (18 << 27) /* 0.330682491 */, | ||
5397 | /* 5053 */ 0x054ad53d | (18 << 27) /* 0.330769768 */, | ||
5398 | /* 5054 */ 0x054b30c3 | (18 << 27) /* 0.330857051 */, | ||
5399 | /* 5055 */ 0x054b8c4b | (18 << 27) /* 0.330944340 */, | ||
5400 | |||
5401 | /* 5056 */ 0x054be7d4 | (18 << 27) /* 0.331031635 */, | ||
5402 | /* 5057 */ 0x054c435e | (18 << 27) /* 0.331118935 */, | ||
5403 | /* 5058 */ 0x054c9eea | (18 << 27) /* 0.331206241 */, | ||
5404 | /* 5059 */ 0x054cfa78 | (18 << 27) /* 0.331293553 */, | ||
5405 | /* 5060 */ 0x054d5607 | (18 << 27) /* 0.331380870 */, | ||
5406 | /* 5061 */ 0x054db197 | (18 << 27) /* 0.331468193 */, | ||
5407 | /* 5062 */ 0x054e0d2a | (18 << 27) /* 0.331555522 */, | ||
5408 | /* 5063 */ 0x054e68bd | (18 << 27) /* 0.331642857 */, | ||
5409 | /* 5064 */ 0x054ec453 | (18 << 27) /* 0.331730198 */, | ||
5410 | /* 5065 */ 0x054f1fe9 | (18 << 27) /* 0.331817544 */, | ||
5411 | /* 5066 */ 0x054f7b82 | (18 << 27) /* 0.331904896 */, | ||
5412 | /* 5067 */ 0x054fd71c | (18 << 27) /* 0.331992254 */, | ||
5413 | /* 5068 */ 0x055032b7 | (18 << 27) /* 0.332079617 */, | ||
5414 | /* 5069 */ 0x05508e54 | (18 << 27) /* 0.332166986 */, | ||
5415 | /* 5070 */ 0x0550e9f3 | (18 << 27) /* 0.332254361 */, | ||
5416 | /* 5071 */ 0x05514593 | (18 << 27) /* 0.332341742 */, | ||
5417 | |||
5418 | /* 5072 */ 0x0551a134 | (18 << 27) /* 0.332429129 */, | ||
5419 | /* 5073 */ 0x0551fcd8 | (18 << 27) /* 0.332516521 */, | ||
5420 | /* 5074 */ 0x0552587c | (18 << 27) /* 0.332603919 */, | ||
5421 | /* 5075 */ 0x0552b423 | (18 << 27) /* 0.332691323 */, | ||
5422 | /* 5076 */ 0x05530fca | (18 << 27) /* 0.332778732 */, | ||
5423 | /* 5077 */ 0x05536b74 | (18 << 27) /* 0.332866147 */, | ||
5424 | /* 5078 */ 0x0553c71f | (18 << 27) /* 0.332953568 */, | ||
5425 | /* 5079 */ 0x055422cb | (18 << 27) /* 0.333040995 */, | ||
5426 | /* 5080 */ 0x05547e79 | (18 << 27) /* 0.333128427 */, | ||
5427 | /* 5081 */ 0x0554da29 | (18 << 27) /* 0.333215865 */, | ||
5428 | /* 5082 */ 0x055535da | (18 << 27) /* 0.333303309 */, | ||
5429 | /* 5083 */ 0x0555918c | (18 << 27) /* 0.333390759 */, | ||
5430 | /* 5084 */ 0x0555ed40 | (18 << 27) /* 0.333478214 */, | ||
5431 | /* 5085 */ 0x055648f6 | (18 << 27) /* 0.333565675 */, | ||
5432 | /* 5086 */ 0x0556a4ad | (18 << 27) /* 0.333653142 */, | ||
5433 | /* 5087 */ 0x05570066 | (18 << 27) /* 0.333740615 */, | ||
5434 | |||
5435 | /* 5088 */ 0x05575c20 | (18 << 27) /* 0.333828093 */, | ||
5436 | /* 5089 */ 0x0557b7dc | (18 << 27) /* 0.333915577 */, | ||
5437 | /* 5090 */ 0x05581399 | (18 << 27) /* 0.334003067 */, | ||
5438 | /* 5091 */ 0x05586f58 | (18 << 27) /* 0.334090562 */, | ||
5439 | /* 5092 */ 0x0558cb19 | (18 << 27) /* 0.334178063 */, | ||
5440 | /* 5093 */ 0x055926db | (18 << 27) /* 0.334265570 */, | ||
5441 | /* 5094 */ 0x0559829e | (18 << 27) /* 0.334353083 */, | ||
5442 | /* 5095 */ 0x0559de63 | (18 << 27) /* 0.334440601 */, | ||
5443 | /* 5096 */ 0x055a3a2a | (18 << 27) /* 0.334528126 */, | ||
5444 | /* 5097 */ 0x055a95f2 | (18 << 27) /* 0.334615655 */, | ||
5445 | /* 5098 */ 0x055af1bb | (18 << 27) /* 0.334703191 */, | ||
5446 | /* 5099 */ 0x055b4d87 | (18 << 27) /* 0.334790732 */, | ||
5447 | /* 5100 */ 0x055ba953 | (18 << 27) /* 0.334878279 */, | ||
5448 | /* 5101 */ 0x055c0522 | (18 << 27) /* 0.334965832 */, | ||
5449 | /* 5102 */ 0x055c60f1 | (18 << 27) /* 0.335053391 */, | ||
5450 | /* 5103 */ 0x055cbcc3 | (18 << 27) /* 0.335140955 */, | ||
5451 | |||
5452 | /* 5104 */ 0x055d1896 | (18 << 27) /* 0.335228525 */, | ||
5453 | /* 5105 */ 0x055d746a | (18 << 27) /* 0.335316100 */, | ||
5454 | /* 5106 */ 0x055dd040 | (18 << 27) /* 0.335403682 */, | ||
5455 | /* 5107 */ 0x055e2c17 | (18 << 27) /* 0.335491269 */, | ||
5456 | /* 5108 */ 0x055e87f0 | (18 << 27) /* 0.335578861 */, | ||
5457 | /* 5109 */ 0x055ee3cb | (18 << 27) /* 0.335666460 */, | ||
5458 | /* 5110 */ 0x055f3fa7 | (18 << 27) /* 0.335754064 */, | ||
5459 | /* 5111 */ 0x055f9b85 | (18 << 27) /* 0.335841674 */, | ||
5460 | /* 5112 */ 0x055ff764 | (18 << 27) /* 0.335929290 */, | ||
5461 | /* 5113 */ 0x05605344 | (18 << 27) /* 0.336016911 */, | ||
5462 | /* 5114 */ 0x0560af27 | (18 << 27) /* 0.336104538 */, | ||
5463 | /* 5115 */ 0x05610b0a | (18 << 27) /* 0.336192171 */, | ||
5464 | /* 5116 */ 0x056166f0 | (18 << 27) /* 0.336279809 */, | ||
5465 | /* 5117 */ 0x0561c2d7 | (18 << 27) /* 0.336367453 */, | ||
5466 | /* 5118 */ 0x05621ebf | (18 << 27) /* 0.336455103 */, | ||
5467 | /* 5119 */ 0x05627aa9 | (18 << 27) /* 0.336542759 */, | ||
5468 | |||
5469 | /* 5120 */ 0x0562d694 | (18 << 27) /* 0.336630420 */, | ||
5470 | /* 5121 */ 0x05633281 | (18 << 27) /* 0.336718087 */, | ||
5471 | /* 5122 */ 0x05638e70 | (18 << 27) /* 0.336805760 */, | ||
5472 | /* 5123 */ 0x0563ea60 | (18 << 27) /* 0.336893439 */, | ||
5473 | /* 5124 */ 0x05644651 | (18 << 27) /* 0.336981123 */, | ||
5474 | /* 5125 */ 0x0564a244 | (18 << 27) /* 0.337068813 */, | ||
5475 | /* 5126 */ 0x0564fe39 | (18 << 27) /* 0.337156508 */, | ||
5476 | /* 5127 */ 0x05655a2f | (18 << 27) /* 0.337244209 */, | ||
5477 | /* 5128 */ 0x0565b627 | (18 << 27) /* 0.337331916 */, | ||
5478 | /* 5129 */ 0x05661220 | (18 << 27) /* 0.337419629 */, | ||
5479 | /* 5130 */ 0x05666e1a | (18 << 27) /* 0.337507347 */, | ||
5480 | /* 5131 */ 0x0566ca17 | (18 << 27) /* 0.337595071 */, | ||
5481 | /* 5132 */ 0x05672614 | (18 << 27) /* 0.337682801 */, | ||
5482 | /* 5133 */ 0x05678214 | (18 << 27) /* 0.337770537 */, | ||
5483 | /* 5134 */ 0x0567de15 | (18 << 27) /* 0.337858278 */, | ||
5484 | /* 5135 */ 0x05683a17 | (18 << 27) /* 0.337946025 */, | ||
5485 | |||
5486 | /* 5136 */ 0x0568961b | (18 << 27) /* 0.338033777 */, | ||
5487 | /* 5137 */ 0x0568f220 | (18 << 27) /* 0.338121535 */, | ||
5488 | /* 5138 */ 0x05694e27 | (18 << 27) /* 0.338209299 */, | ||
5489 | /* 5139 */ 0x0569aa30 | (18 << 27) /* 0.338297069 */, | ||
5490 | /* 5140 */ 0x056a063a | (18 << 27) /* 0.338384844 */, | ||
5491 | /* 5141 */ 0x056a6245 | (18 << 27) /* 0.338472625 */, | ||
5492 | /* 5142 */ 0x056abe52 | (18 << 27) /* 0.338560412 */, | ||
5493 | /* 5143 */ 0x056b1a61 | (18 << 27) /* 0.338648204 */, | ||
5494 | /* 5144 */ 0x056b7671 | (18 << 27) /* 0.338736002 */, | ||
5495 | /* 5145 */ 0x056bd283 | (18 << 27) /* 0.338823806 */, | ||
5496 | /* 5146 */ 0x056c2e96 | (18 << 27) /* 0.338911616 */, | ||
5497 | /* 5147 */ 0x056c8aab | (18 << 27) /* 0.338999431 */, | ||
5498 | /* 5148 */ 0x056ce6c1 | (18 << 27) /* 0.339087252 */, | ||
5499 | /* 5149 */ 0x056d42d9 | (18 << 27) /* 0.339175078 */, | ||
5500 | /* 5150 */ 0x056d9ef2 | (18 << 27) /* 0.339262910 */, | ||
5501 | /* 5151 */ 0x056dfb0d | (18 << 27) /* 0.339350748 */, | ||
5502 | |||
5503 | /* 5152 */ 0x056e5729 | (18 << 27) /* 0.339438592 */, | ||
5504 | /* 5153 */ 0x056eb347 | (18 << 27) /* 0.339526441 */, | ||
5505 | /* 5154 */ 0x056f0f66 | (18 << 27) /* 0.339614296 */, | ||
5506 | /* 5155 */ 0x056f6b87 | (18 << 27) /* 0.339702157 */, | ||
5507 | /* 5156 */ 0x056fc7aa | (18 << 27) /* 0.339790023 */, | ||
5508 | /* 5157 */ 0x057023cd | (18 << 27) /* 0.339877895 */, | ||
5509 | /* 5158 */ 0x05707ff3 | (18 << 27) /* 0.339965773 */, | ||
5510 | /* 5159 */ 0x0570dc1a | (18 << 27) /* 0.340053656 */, | ||
5511 | /* 5160 */ 0x05713843 | (18 << 27) /* 0.340141545 */, | ||
5512 | /* 5161 */ 0x0571946d | (18 << 27) /* 0.340229440 */, | ||
5513 | /* 5162 */ 0x0571f098 | (18 << 27) /* 0.340317340 */, | ||
5514 | /* 5163 */ 0x05724cc5 | (18 << 27) /* 0.340405246 */, | ||
5515 | /* 5164 */ 0x0572a8f4 | (18 << 27) /* 0.340493158 */, | ||
5516 | /* 5165 */ 0x05730524 | (18 << 27) /* 0.340581075 */, | ||
5517 | /* 5166 */ 0x05736156 | (18 << 27) /* 0.340668999 */, | ||
5518 | /* 5167 */ 0x0573bd89 | (18 << 27) /* 0.340756927 */, | ||
5519 | |||
5520 | /* 5168 */ 0x057419be | (18 << 27) /* 0.340844862 */, | ||
5521 | /* 5169 */ 0x057475f4 | (18 << 27) /* 0.340932802 */, | ||
5522 | /* 5170 */ 0x0574d22c | (18 << 27) /* 0.341020748 */, | ||
5523 | /* 5171 */ 0x05752e65 | (18 << 27) /* 0.341108699 */, | ||
5524 | /* 5172 */ 0x05758aa0 | (18 << 27) /* 0.341196656 */, | ||
5525 | /* 5173 */ 0x0575e6dc | (18 << 27) /* 0.341284619 */, | ||
5526 | /* 5174 */ 0x0576431a | (18 << 27) /* 0.341372587 */, | ||
5527 | /* 5175 */ 0x05769f59 | (18 << 27) /* 0.341460562 */, | ||
5528 | /* 5176 */ 0x0576fb9a | (18 << 27) /* 0.341548541 */, | ||
5529 | /* 5177 */ 0x057757dd | (18 << 27) /* 0.341636527 */, | ||
5530 | /* 5178 */ 0x0577b421 | (18 << 27) /* 0.341724518 */, | ||
5531 | /* 5179 */ 0x05781066 | (18 << 27) /* 0.341812515 */, | ||
5532 | /* 5180 */ 0x05786cad | (18 << 27) /* 0.341900517 */, | ||
5533 | /* 5181 */ 0x0578c8f5 | (18 << 27) /* 0.341988525 */, | ||
5534 | /* 5182 */ 0x0579253f | (18 << 27) /* 0.342076539 */, | ||
5535 | /* 5183 */ 0x0579818b | (18 << 27) /* 0.342164558 */, | ||
5536 | |||
5537 | /* 5184 */ 0x0579ddd8 | (18 << 27) /* 0.342252584 */, | ||
5538 | /* 5185 */ 0x057a3a27 | (18 << 27) /* 0.342340614 */, | ||
5539 | /* 5186 */ 0x057a9677 | (18 << 27) /* 0.342428651 */, | ||
5540 | /* 5187 */ 0x057af2c8 | (18 << 27) /* 0.342516693 */, | ||
5541 | /* 5188 */ 0x057b4f1c | (18 << 27) /* 0.342604741 */, | ||
5542 | /* 5189 */ 0x057bab70 | (18 << 27) /* 0.342692794 */, | ||
5543 | /* 5190 */ 0x057c07c6 | (18 << 27) /* 0.342780853 */, | ||
5544 | /* 5191 */ 0x057c641e | (18 << 27) /* 0.342868918 */, | ||
5545 | /* 5192 */ 0x057cc077 | (18 << 27) /* 0.342956988 */, | ||
5546 | /* 5193 */ 0x057d1cd2 | (18 << 27) /* 0.343045064 */, | ||
5547 | /* 5194 */ 0x057d792e | (18 << 27) /* 0.343133146 */, | ||
5548 | /* 5195 */ 0x057dd58c | (18 << 27) /* 0.343221233 */, | ||
5549 | /* 5196 */ 0x057e31eb | (18 << 27) /* 0.343309326 */, | ||
5550 | /* 5197 */ 0x057e8e4c | (18 << 27) /* 0.343397425 */, | ||
5551 | /* 5198 */ 0x057eeaae | (18 << 27) /* 0.343485529 */, | ||
5552 | /* 5199 */ 0x057f4712 | (18 << 27) /* 0.343573639 */, | ||
5553 | |||
5554 | /* 5200 */ 0x057fa378 | (18 << 27) /* 0.343661754 */, | ||
5555 | /* 5201 */ 0x057fffde | (18 << 27) /* 0.343749876 */, | ||
5556 | /* 5202 */ 0x05805c47 | (18 << 27) /* 0.343838003 */, | ||
5557 | /* 5203 */ 0x0580b8b1 | (18 << 27) /* 0.343926135 */, | ||
5558 | /* 5204 */ 0x0581151c | (18 << 27) /* 0.344014273 */, | ||
5559 | /* 5205 */ 0x05817189 | (18 << 27) /* 0.344102417 */, | ||
5560 | /* 5206 */ 0x0581cdf7 | (18 << 27) /* 0.344190566 */, | ||
5561 | /* 5207 */ 0x05822a67 | (18 << 27) /* 0.344278722 */, | ||
5562 | /* 5208 */ 0x058286d9 | (18 << 27) /* 0.344366882 */, | ||
5563 | /* 5209 */ 0x0582e34c | (18 << 27) /* 0.344455049 */, | ||
5564 | /* 5210 */ 0x05833fc0 | (18 << 27) /* 0.344543221 */, | ||
5565 | /* 5211 */ 0x05839c36 | (18 << 27) /* 0.344631398 */, | ||
5566 | /* 5212 */ 0x0583f8ae | (18 << 27) /* 0.344719582 */, | ||
5567 | /* 5213 */ 0x05845527 | (18 << 27) /* 0.344807771 */, | ||
5568 | /* 5214 */ 0x0584b1a1 | (18 << 27) /* 0.344895965 */, | ||
5569 | /* 5215 */ 0x05850e1e | (18 << 27) /* 0.344984165 */, | ||
5570 | |||
5571 | /* 5216 */ 0x05856a9b | (18 << 27) /* 0.345072371 */, | ||
5572 | /* 5217 */ 0x0585c71a | (18 << 27) /* 0.345160583 */, | ||
5573 | /* 5218 */ 0x0586239b | (18 << 27) /* 0.345248800 */, | ||
5574 | /* 5219 */ 0x0586801d | (18 << 27) /* 0.345337023 */, | ||
5575 | /* 5220 */ 0x0586dca1 | (18 << 27) /* 0.345425251 */, | ||
5576 | /* 5221 */ 0x05873926 | (18 << 27) /* 0.345513485 */, | ||
5577 | /* 5222 */ 0x058795ac | (18 << 27) /* 0.345601725 */, | ||
5578 | /* 5223 */ 0x0587f235 | (18 << 27) /* 0.345689970 */, | ||
5579 | /* 5224 */ 0x05884ebe | (18 << 27) /* 0.345778221 */, | ||
5580 | /* 5225 */ 0x0588ab49 | (18 << 27) /* 0.345866478 */, | ||
5581 | /* 5226 */ 0x058907d6 | (18 << 27) /* 0.345954740 */, | ||
5582 | /* 5227 */ 0x05896464 | (18 << 27) /* 0.346043008 */, | ||
5583 | /* 5228 */ 0x0589c0f4 | (18 << 27) /* 0.346131281 */, | ||
5584 | /* 5229 */ 0x058a1d85 | (18 << 27) /* 0.346219560 */, | ||
5585 | /* 5230 */ 0x058a7a18 | (18 << 27) /* 0.346307845 */, | ||
5586 | /* 5231 */ 0x058ad6ac | (18 << 27) /* 0.346396135 */, | ||
5587 | |||
5588 | /* 5232 */ 0x058b3342 | (18 << 27) /* 0.346484431 */, | ||
5589 | /* 5233 */ 0x058b8fd9 | (18 << 27) /* 0.346572733 */, | ||
5590 | /* 5234 */ 0x058bec72 | (18 << 27) /* 0.346661040 */, | ||
5591 | /* 5235 */ 0x058c490c | (18 << 27) /* 0.346749353 */, | ||
5592 | /* 5236 */ 0x058ca5a8 | (18 << 27) /* 0.346837671 */, | ||
5593 | /* 5237 */ 0x058d0246 | (18 << 27) /* 0.346925996 */, | ||
5594 | /* 5238 */ 0x058d5ee4 | (18 << 27) /* 0.347014325 */, | ||
5595 | /* 5239 */ 0x058dbb85 | (18 << 27) /* 0.347102661 */, | ||
5596 | /* 5240 */ 0x058e1827 | (18 << 27) /* 0.347191002 */, | ||
5597 | /* 5241 */ 0x058e74ca | (18 << 27) /* 0.347279348 */, | ||
5598 | /* 5242 */ 0x058ed16f | (18 << 27) /* 0.347367700 */, | ||
5599 | /* 5243 */ 0x058f2e15 | (18 << 27) /* 0.347456058 */, | ||
5600 | /* 5244 */ 0x058f8abd | (18 << 27) /* 0.347544422 */, | ||
5601 | /* 5245 */ 0x058fe766 | (18 << 27) /* 0.347632791 */, | ||
5602 | /* 5246 */ 0x05904411 | (18 << 27) /* 0.347721165 */, | ||
5603 | /* 5247 */ 0x0590a0be | (18 << 27) /* 0.347809546 */, | ||
5604 | |||
5605 | /* 5248 */ 0x0590fd6c | (18 << 27) /* 0.347897931 */, | ||
5606 | /* 5249 */ 0x05915a1b | (18 << 27) /* 0.347986323 */, | ||
5607 | /* 5250 */ 0x0591b6cc | (18 << 27) /* 0.348074720 */, | ||
5608 | /* 5251 */ 0x0592137e | (18 << 27) /* 0.348163123 */, | ||
5609 | /* 5252 */ 0x05927032 | (18 << 27) /* 0.348251531 */, | ||
5610 | /* 5253 */ 0x0592cce8 | (18 << 27) /* 0.348339945 */, | ||
5611 | /* 5254 */ 0x0593299f | (18 << 27) /* 0.348428365 */, | ||
5612 | /* 5255 */ 0x05938657 | (18 << 27) /* 0.348516790 */, | ||
5613 | /* 5256 */ 0x0593e311 | (18 << 27) /* 0.348605221 */, | ||
5614 | /* 5257 */ 0x05943fcd | (18 << 27) /* 0.348693657 */, | ||
5615 | /* 5258 */ 0x05949c8a | (18 << 27) /* 0.348782099 */, | ||
5616 | /* 5259 */ 0x0594f948 | (18 << 27) /* 0.348870547 */, | ||
5617 | /* 5260 */ 0x05955608 | (18 << 27) /* 0.348959000 */, | ||
5618 | /* 5261 */ 0x0595b2ca | (18 << 27) /* 0.349047459 */, | ||
5619 | /* 5262 */ 0x05960f8c | (18 << 27) /* 0.349135923 */, | ||
5620 | /* 5263 */ 0x05966c51 | (18 << 27) /* 0.349224393 */, | ||
5621 | |||
5622 | /* 5264 */ 0x0596c917 | (18 << 27) /* 0.349312869 */, | ||
5623 | /* 5265 */ 0x059725de | (18 << 27) /* 0.349401350 */, | ||
5624 | /* 5266 */ 0x059782a7 | (18 << 27) /* 0.349489837 */, | ||
5625 | /* 5267 */ 0x0597df72 | (18 << 27) /* 0.349578329 */, | ||
5626 | /* 5268 */ 0x05983c3e | (18 << 27) /* 0.349666827 */, | ||
5627 | /* 5269 */ 0x0598990c | (18 << 27) /* 0.349755331 */, | ||
5628 | /* 5270 */ 0x0598f5db | (18 << 27) /* 0.349843840 */, | ||
5629 | /* 5271 */ 0x059952ab | (18 << 27) /* 0.349932355 */, | ||
5630 | /* 5272 */ 0x0599af7d | (18 << 27) /* 0.350020876 */, | ||
5631 | /* 5273 */ 0x059a0c51 | (18 << 27) /* 0.350109402 */, | ||
5632 | /* 5274 */ 0x059a6926 | (18 << 27) /* 0.350197933 */, | ||
5633 | /* 5275 */ 0x059ac5fc | (18 << 27) /* 0.350286470 */, | ||
5634 | /* 5276 */ 0x059b22d4 | (18 << 27) /* 0.350375013 */, | ||
5635 | /* 5277 */ 0x059b7fae | (18 << 27) /* 0.350463562 */, | ||
5636 | /* 5278 */ 0x059bdc89 | (18 << 27) /* 0.350552116 */, | ||
5637 | /* 5279 */ 0x059c3965 | (18 << 27) /* 0.350640675 */, | ||
5638 | |||
5639 | /* 5280 */ 0x059c9643 | (18 << 27) /* 0.350729240 */, | ||
5640 | /* 5281 */ 0x059cf323 | (18 << 27) /* 0.350817811 */, | ||
5641 | /* 5282 */ 0x059d5004 | (18 << 27) /* 0.350906388 */, | ||
5642 | /* 5283 */ 0x059dace6 | (18 << 27) /* 0.350994970 */, | ||
5643 | /* 5284 */ 0x059e09cb | (18 << 27) /* 0.351083557 */, | ||
5644 | /* 5285 */ 0x059e66b0 | (18 << 27) /* 0.351172150 */, | ||
5645 | /* 5286 */ 0x059ec397 | (18 << 27) /* 0.351260749 */, | ||
5646 | /* 5287 */ 0x059f2080 | (18 << 27) /* 0.351349353 */, | ||
5647 | /* 5288 */ 0x059f7d6a | (18 << 27) /* 0.351437963 */, | ||
5648 | /* 5289 */ 0x059fda55 | (18 << 27) /* 0.351526579 */, | ||
5649 | /* 5290 */ 0x05a03742 | (18 << 27) /* 0.351615200 */, | ||
5650 | /* 5291 */ 0x05a09431 | (18 << 27) /* 0.351703827 */, | ||
5651 | /* 5292 */ 0x05a0f121 | (18 << 27) /* 0.351792459 */, | ||
5652 | /* 5293 */ 0x05a14e12 | (18 << 27) /* 0.351881097 */, | ||
5653 | /* 5294 */ 0x05a1ab05 | (18 << 27) /* 0.351969740 */, | ||
5654 | /* 5295 */ 0x05a207fa | (18 << 27) /* 0.352058389 */, | ||
5655 | |||
5656 | /* 5296 */ 0x05a264f0 | (18 << 27) /* 0.352147044 */, | ||
5657 | /* 5297 */ 0x05a2c1e7 | (18 << 27) /* 0.352235704 */, | ||
5658 | /* 5298 */ 0x05a31ee1 | (18 << 27) /* 0.352324369 */, | ||
5659 | /* 5299 */ 0x05a37bdb | (18 << 27) /* 0.352413041 */, | ||
5660 | /* 5300 */ 0x05a3d8d7 | (18 << 27) /* 0.352501718 */, | ||
5661 | /* 5301 */ 0x05a435d5 | (18 << 27) /* 0.352590400 */, | ||
5662 | /* 5302 */ 0x05a492d4 | (18 << 27) /* 0.352679088 */, | ||
5663 | /* 5303 */ 0x05a4efd4 | (18 << 27) /* 0.352767782 */, | ||
5664 | /* 5304 */ 0x05a54cd6 | (18 << 27) /* 0.352856481 */, | ||
5665 | /* 5305 */ 0x05a5a9da | (18 << 27) /* 0.352945186 */, | ||
5666 | /* 5306 */ 0x05a606df | (18 << 27) /* 0.353033896 */, | ||
5667 | /* 5307 */ 0x05a663e5 | (18 << 27) /* 0.353122612 */, | ||
5668 | /* 5308 */ 0x05a6c0ed | (18 << 27) /* 0.353211333 */, | ||
5669 | /* 5309 */ 0x05a71df7 | (18 << 27) /* 0.353300061 */, | ||
5670 | /* 5310 */ 0x05a77b02 | (18 << 27) /* 0.353388793 */, | ||
5671 | /* 5311 */ 0x05a7d80e | (18 << 27) /* 0.353477531 */, | ||
5672 | |||
5673 | /* 5312 */ 0x05a8351c | (18 << 27) /* 0.353566275 */, | ||
5674 | /* 5313 */ 0x05a8922c | (18 << 27) /* 0.353655024 */, | ||
5675 | /* 5314 */ 0x05a8ef3c | (18 << 27) /* 0.353743779 */, | ||
5676 | /* 5315 */ 0x05a94c4f | (18 << 27) /* 0.353832540 */, | ||
5677 | /* 5316 */ 0x05a9a963 | (18 << 27) /* 0.353921306 */, | ||
5678 | /* 5317 */ 0x05aa0678 | (18 << 27) /* 0.354010077 */, | ||
5679 | /* 5318 */ 0x05aa638f | (18 << 27) /* 0.354098855 */, | ||
5680 | /* 5319 */ 0x05aac0a8 | (18 << 27) /* 0.354187637 */, | ||
5681 | /* 5320 */ 0x05ab1dc2 | (18 << 27) /* 0.354276426 */, | ||
5682 | /* 5321 */ 0x05ab7add | (18 << 27) /* 0.354365220 */, | ||
5683 | /* 5322 */ 0x05abd7fa | (18 << 27) /* 0.354454019 */, | ||
5684 | /* 5323 */ 0x05ac3518 | (18 << 27) /* 0.354542824 */, | ||
5685 | /* 5324 */ 0x05ac9238 | (18 << 27) /* 0.354631635 */, | ||
5686 | /* 5325 */ 0x05acef5a | (18 << 27) /* 0.354720451 */, | ||
5687 | /* 5326 */ 0x05ad4c7d | (18 << 27) /* 0.354809272 */, | ||
5688 | /* 5327 */ 0x05ada9a1 | (18 << 27) /* 0.354898100 */, | ||
5689 | |||
5690 | /* 5328 */ 0x05ae06c7 | (18 << 27) /* 0.354986932 */, | ||
5691 | /* 5329 */ 0x05ae63ee | (18 << 27) /* 0.355075771 */, | ||
5692 | /* 5330 */ 0x05aec117 | (18 << 27) /* 0.355164615 */, | ||
5693 | /* 5331 */ 0x05af1e41 | (18 << 27) /* 0.355253464 */, | ||
5694 | /* 5332 */ 0x05af7b6d | (18 << 27) /* 0.355342319 */, | ||
5695 | /* 5333 */ 0x05afd89b | (18 << 27) /* 0.355431180 */, | ||
5696 | /* 5334 */ 0x05b035c9 | (18 << 27) /* 0.355520046 */, | ||
5697 | /* 5335 */ 0x05b092fa | (18 << 27) /* 0.355608917 */, | ||
5698 | /* 5336 */ 0x05b0f02b | (18 << 27) /* 0.355697795 */, | ||
5699 | /* 5337 */ 0x05b14d5f | (18 << 27) /* 0.355786677 */, | ||
5700 | /* 5338 */ 0x05b1aa94 | (18 << 27) /* 0.355875566 */, | ||
5701 | /* 5339 */ 0x05b207ca | (18 << 27) /* 0.355964460 */, | ||
5702 | /* 5340 */ 0x05b26502 | (18 << 27) /* 0.356053359 */, | ||
5703 | /* 5341 */ 0x05b2c23b | (18 << 27) /* 0.356142264 */, | ||
5704 | /* 5342 */ 0x05b31f76 | (18 << 27) /* 0.356231175 */, | ||
5705 | /* 5343 */ 0x05b37cb2 | (18 << 27) /* 0.356320091 */, | ||
5706 | |||
5707 | /* 5344 */ 0x05b3d9f0 | (18 << 27) /* 0.356409012 */, | ||
5708 | /* 5345 */ 0x05b4372f | (18 << 27) /* 0.356497940 */, | ||
5709 | /* 5346 */ 0x05b4946f | (18 << 27) /* 0.356586872 */, | ||
5710 | /* 5347 */ 0x05b4f1b2 | (18 << 27) /* 0.356675811 */, | ||
5711 | /* 5348 */ 0x05b54ef5 | (18 << 27) /* 0.356764754 */, | ||
5712 | /* 5349 */ 0x05b5ac3a | (18 << 27) /* 0.356853704 */, | ||
5713 | /* 5350 */ 0x05b60981 | (18 << 27) /* 0.356942659 */, | ||
5714 | /* 5351 */ 0x05b666c9 | (18 << 27) /* 0.357031619 */, | ||
5715 | /* 5352 */ 0x05b6c413 | (18 << 27) /* 0.357120585 */, | ||
5716 | /* 5353 */ 0x05b7215e | (18 << 27) /* 0.357209557 */, | ||
5717 | /* 5354 */ 0x05b77eab | (18 << 27) /* 0.357298534 */, | ||
5718 | /* 5355 */ 0x05b7dbf9 | (18 << 27) /* 0.357387516 */, | ||
5719 | /* 5356 */ 0x05b83948 | (18 << 27) /* 0.357476504 */, | ||
5720 | /* 5357 */ 0x05b89699 | (18 << 27) /* 0.357565498 */, | ||
5721 | /* 5358 */ 0x05b8f3ec | (18 << 27) /* 0.357654497 */, | ||
5722 | /* 5359 */ 0x05b95140 | (18 << 27) /* 0.357743502 */, | ||
5723 | |||
5724 | /* 5360 */ 0x05b9ae95 | (18 << 27) /* 0.357832512 */, | ||
5725 | /* 5361 */ 0x05ba0bec | (18 << 27) /* 0.357921528 */, | ||
5726 | /* 5362 */ 0x05ba6945 | (18 << 27) /* 0.358010550 */, | ||
5727 | /* 5363 */ 0x05bac69f | (18 << 27) /* 0.358099576 */, | ||
5728 | /* 5364 */ 0x05bb23fa | (18 << 27) /* 0.358188609 */, | ||
5729 | /* 5365 */ 0x05bb8157 | (18 << 27) /* 0.358277647 */, | ||
5730 | /* 5366 */ 0x05bbdeb6 | (18 << 27) /* 0.358366690 */, | ||
5731 | /* 5367 */ 0x05bc3c16 | (18 << 27) /* 0.358455739 */, | ||
5732 | /* 5368 */ 0x05bc9977 | (18 << 27) /* 0.358544794 */, | ||
5733 | /* 5369 */ 0x05bcf6da | (18 << 27) /* 0.358633854 */, | ||
5734 | /* 5370 */ 0x05bd543e | (18 << 27) /* 0.358722920 */, | ||
5735 | /* 5371 */ 0x05bdb1a4 | (18 << 27) /* 0.358811991 */, | ||
5736 | /* 5372 */ 0x05be0f0b | (18 << 27) /* 0.358901067 */, | ||
5737 | /* 5373 */ 0x05be6c74 | (18 << 27) /* 0.358990150 */, | ||
5738 | /* 5374 */ 0x05bec9df | (18 << 27) /* 0.359079237 */, | ||
5739 | /* 5375 */ 0x05bf274a | (18 << 27) /* 0.359168331 */, | ||
5740 | |||
5741 | /* 5376 */ 0x05bf84b8 | (18 << 27) /* 0.359257429 */, | ||
5742 | /* 5377 */ 0x05bfe226 | (18 << 27) /* 0.359346534 */, | ||
5743 | /* 5378 */ 0x05c03f97 | (18 << 27) /* 0.359435644 */, | ||
5744 | /* 5379 */ 0x05c09d08 | (18 << 27) /* 0.359524759 */, | ||
5745 | /* 5380 */ 0x05c0fa7c | (18 << 27) /* 0.359613880 */, | ||
5746 | /* 5381 */ 0x05c157f0 | (18 << 27) /* 0.359703006 */, | ||
5747 | /* 5382 */ 0x05c1b566 | (18 << 27) /* 0.359792138 */, | ||
5748 | /* 5383 */ 0x05c212de | (18 << 27) /* 0.359881276 */, | ||
5749 | /* 5384 */ 0x05c27057 | (18 << 27) /* 0.359970419 */, | ||
5750 | /* 5385 */ 0x05c2cdd2 | (18 << 27) /* 0.360059567 */, | ||
5751 | /* 5386 */ 0x05c32b4e | (18 << 27) /* 0.360148721 */, | ||
5752 | /* 5387 */ 0x05c388cb | (18 << 27) /* 0.360237881 */, | ||
5753 | /* 5388 */ 0x05c3e64b | (18 << 27) /* 0.360327046 */, | ||
5754 | /* 5389 */ 0x05c443cb | (18 << 27) /* 0.360416216 */, | ||
5755 | /* 5390 */ 0x05c4a14d | (18 << 27) /* 0.360505392 */, | ||
5756 | /* 5391 */ 0x05c4fed1 | (18 << 27) /* 0.360594574 */, | ||
5757 | |||
5758 | /* 5392 */ 0x05c55c56 | (18 << 27) /* 0.360683761 */, | ||
5759 | /* 5393 */ 0x05c5b9dc | (18 << 27) /* 0.360772953 */, | ||
5760 | /* 5394 */ 0x05c61764 | (18 << 27) /* 0.360862152 */, | ||
5761 | /* 5395 */ 0x05c674ed | (18 << 27) /* 0.360951355 */, | ||
5762 | /* 5396 */ 0x05c6d278 | (18 << 27) /* 0.361040564 */, | ||
5763 | /* 5397 */ 0x05c73005 | (18 << 27) /* 0.361129779 */, | ||
5764 | /* 5398 */ 0x05c78d93 | (18 << 27) /* 0.361218999 */, | ||
5765 | /* 5399 */ 0x05c7eb22 | (18 << 27) /* 0.361308225 */, | ||
5766 | /* 5400 */ 0x05c848b3 | (18 << 27) /* 0.361397456 */, | ||
5767 | /* 5401 */ 0x05c8a645 | (18 << 27) /* 0.361486693 */, | ||
5768 | /* 5402 */ 0x05c903d9 | (18 << 27) /* 0.361575935 */, | ||
5769 | /* 5403 */ 0x05c9616e | (18 << 27) /* 0.361665183 */, | ||
5770 | /* 5404 */ 0x05c9bf05 | (18 << 27) /* 0.361754436 */, | ||
5771 | /* 5405 */ 0x05ca1c9d | (18 << 27) /* 0.361843695 */, | ||
5772 | /* 5406 */ 0x05ca7a37 | (18 << 27) /* 0.361932959 */, | ||
5773 | /* 5407 */ 0x05cad7d2 | (18 << 27) /* 0.362022229 */, | ||
5774 | |||
5775 | /* 5408 */ 0x05cb356e | (18 << 27) /* 0.362111504 */, | ||
5776 | /* 5409 */ 0x05cb930d | (18 << 27) /* 0.362200785 */, | ||
5777 | /* 5410 */ 0x05cbf0ac | (18 << 27) /* 0.362290071 */, | ||
5778 | /* 5411 */ 0x05cc4e4d | (18 << 27) /* 0.362379362 */, | ||
5779 | /* 5412 */ 0x05ccabf0 | (18 << 27) /* 0.362468660 */, | ||
5780 | /* 5413 */ 0x05cd0994 | (18 << 27) /* 0.362557962 */, | ||
5781 | /* 5414 */ 0x05cd6739 | (18 << 27) /* 0.362647271 */, | ||
5782 | /* 5415 */ 0x05cdc4e0 | (18 << 27) /* 0.362736584 */, | ||
5783 | /* 5416 */ 0x05ce2289 | (18 << 27) /* 0.362825904 */, | ||
5784 | /* 5417 */ 0x05ce8033 | (18 << 27) /* 0.362915228 */, | ||
5785 | /* 5418 */ 0x05ceddde | (18 << 27) /* 0.363004559 */, | ||
5786 | /* 5419 */ 0x05cf3b8b | (18 << 27) /* 0.363093894 */, | ||
5787 | /* 5420 */ 0x05cf9939 | (18 << 27) /* 0.363183236 */, | ||
5788 | /* 5421 */ 0x05cff6e9 | (18 << 27) /* 0.363272582 */, | ||
5789 | /* 5422 */ 0x05d0549a | (18 << 27) /* 0.363361935 */, | ||
5790 | /* 5423 */ 0x05d0b24d | (18 << 27) /* 0.363451292 */, | ||
5791 | |||
5792 | /* 5424 */ 0x05d11001 | (18 << 27) /* 0.363540655 */, | ||
5793 | /* 5425 */ 0x05d16db7 | (18 << 27) /* 0.363630024 */, | ||
5794 | /* 5426 */ 0x05d1cb6e | (18 << 27) /* 0.363719398 */, | ||
5795 | /* 5427 */ 0x05d22927 | (18 << 27) /* 0.363808778 */, | ||
5796 | /* 5428 */ 0x05d286e1 | (18 << 27) /* 0.363898163 */, | ||
5797 | /* 5429 */ 0x05d2e49d | (18 << 27) /* 0.363987554 */, | ||
5798 | /* 5430 */ 0x05d3425a | (18 << 27) /* 0.364076950 */, | ||
5799 | /* 5431 */ 0x05d3a018 | (18 << 27) /* 0.364166352 */, | ||
5800 | /* 5432 */ 0x05d3fdd8 | (18 << 27) /* 0.364255759 */, | ||
5801 | /* 5433 */ 0x05d45b9a | (18 << 27) /* 0.364345171 */, | ||
5802 | /* 5434 */ 0x05d4b95d | (18 << 27) /* 0.364434589 */, | ||
5803 | /* 5435 */ 0x05d51721 | (18 << 27) /* 0.364524013 */, | ||
5804 | /* 5436 */ 0x05d574e7 | (18 << 27) /* 0.364613442 */, | ||
5805 | /* 5437 */ 0x05d5d2af | (18 << 27) /* 0.364702877 */, | ||
5806 | /* 5438 */ 0x05d63078 | (18 << 27) /* 0.364792317 */, | ||
5807 | /* 5439 */ 0x05d68e42 | (18 << 27) /* 0.364881762 */, | ||
5808 | |||
5809 | /* 5440 */ 0x05d6ec0e | (18 << 27) /* 0.364971213 */, | ||
5810 | /* 5441 */ 0x05d749db | (18 << 27) /* 0.365060669 */, | ||
5811 | /* 5442 */ 0x05d7a7aa | (18 << 27) /* 0.365150131 */, | ||
5812 | /* 5443 */ 0x05d8057a | (18 << 27) /* 0.365239599 */, | ||
5813 | /* 5444 */ 0x05d8634c | (18 << 27) /* 0.365329072 */, | ||
5814 | /* 5445 */ 0x05d8c11f | (18 << 27) /* 0.365418550 */, | ||
5815 | /* 5446 */ 0x05d91ef4 | (18 << 27) /* 0.365508034 */, | ||
5816 | /* 5447 */ 0x05d97cca | (18 << 27) /* 0.365597523 */, | ||
5817 | /* 5448 */ 0x05d9daa1 | (18 << 27) /* 0.365687018 */, | ||
5818 | /* 5449 */ 0x05da387a | (18 << 27) /* 0.365776518 */, | ||
5819 | /* 5450 */ 0x05da9655 | (18 << 27) /* 0.365866024 */, | ||
5820 | /* 5451 */ 0x05daf431 | (18 << 27) /* 0.365955536 */, | ||
5821 | /* 5452 */ 0x05db520e | (18 << 27) /* 0.366045052 */, | ||
5822 | /* 5453 */ 0x05dbafed | (18 << 27) /* 0.366134574 */, | ||
5823 | /* 5454 */ 0x05dc0dce | (18 << 27) /* 0.366224102 */, | ||
5824 | /* 5455 */ 0x05dc6baf | (18 << 27) /* 0.366313635 */, | ||
5825 | |||
5826 | /* 5456 */ 0x05dcc993 | (18 << 27) /* 0.366403174 */, | ||
5827 | /* 5457 */ 0x05dd2778 | (18 << 27) /* 0.366492718 */, | ||
5828 | /* 5458 */ 0x05dd855e | (18 << 27) /* 0.366582267 */, | ||
5829 | /* 5459 */ 0x05dde346 | (18 << 27) /* 0.366671822 */, | ||
5830 | /* 5460 */ 0x05de412f | (18 << 27) /* 0.366761383 */, | ||
5831 | /* 5461 */ 0x05de9f1a | (18 << 27) /* 0.366850949 */, | ||
5832 | /* 5462 */ 0x05defd06 | (18 << 27) /* 0.366940520 */, | ||
5833 | /* 5463 */ 0x05df5af3 | (18 << 27) /* 0.367030097 */, | ||
5834 | /* 5464 */ 0x05dfb8e2 | (18 << 27) /* 0.367119680 */, | ||
5835 | /* 5465 */ 0x05e016d3 | (18 << 27) /* 0.367209267 */, | ||
5836 | /* 5466 */ 0x05e074c5 | (18 << 27) /* 0.367298861 */, | ||
5837 | /* 5467 */ 0x05e0d2b8 | (18 << 27) /* 0.367388459 */, | ||
5838 | /* 5468 */ 0x05e130ad | (18 << 27) /* 0.367478064 */, | ||
5839 | /* 5469 */ 0x05e18ea4 | (18 << 27) /* 0.367567673 */, | ||
5840 | /* 5470 */ 0x05e1ec9c | (18 << 27) /* 0.367657288 */, | ||
5841 | /* 5471 */ 0x05e24a95 | (18 << 27) /* 0.367746909 */, | ||
5842 | |||
5843 | /* 5472 */ 0x05e2a890 | (18 << 27) /* 0.367836535 */, | ||
5844 | /* 5473 */ 0x05e3068c | (18 << 27) /* 0.367926167 */, | ||
5845 | /* 5474 */ 0x05e3648a | (18 << 27) /* 0.368015804 */, | ||
5846 | /* 5475 */ 0x05e3c289 | (18 << 27) /* 0.368105446 */, | ||
5847 | /* 5476 */ 0x05e4208a | (18 << 27) /* 0.368195094 */, | ||
5848 | /* 5477 */ 0x05e47e8c | (18 << 27) /* 0.368284747 */, | ||
5849 | /* 5478 */ 0x05e4dc8f | (18 << 27) /* 0.368374406 */, | ||
5850 | /* 5479 */ 0x05e53a94 | (18 << 27) /* 0.368464070 */, | ||
5851 | /* 5480 */ 0x05e5989b | (18 << 27) /* 0.368553740 */, | ||
5852 | /* 5481 */ 0x05e5f6a3 | (18 << 27) /* 0.368643415 */, | ||
5853 | /* 5482 */ 0x05e654ac | (18 << 27) /* 0.368733096 */, | ||
5854 | /* 5483 */ 0x05e6b2b7 | (18 << 27) /* 0.368822782 */, | ||
5855 | /* 5484 */ 0x05e710c4 | (18 << 27) /* 0.368912473 */, | ||
5856 | /* 5485 */ 0x05e76ed2 | (18 << 27) /* 0.369002170 */, | ||
5857 | /* 5486 */ 0x05e7cce1 | (18 << 27) /* 0.369091873 */, | ||
5858 | /* 5487 */ 0x05e82af2 | (18 << 27) /* 0.369181581 */, | ||
5859 | |||
5860 | /* 5488 */ 0x05e88904 | (18 << 27) /* 0.369271294 */, | ||
5861 | /* 5489 */ 0x05e8e718 | (18 << 27) /* 0.369361013 */, | ||
5862 | /* 5490 */ 0x05e9452d | (18 << 27) /* 0.369450737 */, | ||
5863 | /* 5491 */ 0x05e9a343 | (18 << 27) /* 0.369540467 */, | ||
5864 | /* 5492 */ 0x05ea015c | (18 << 27) /* 0.369630202 */, | ||
5865 | /* 5493 */ 0x05ea5f75 | (18 << 27) /* 0.369719942 */, | ||
5866 | /* 5494 */ 0x05eabd90 | (18 << 27) /* 0.369809688 */, | ||
5867 | /* 5495 */ 0x05eb1bad | (18 << 27) /* 0.369899440 */, | ||
5868 | /* 5496 */ 0x05eb79cb | (18 << 27) /* 0.369989197 */, | ||
5869 | /* 5497 */ 0x05ebd7ea | (18 << 27) /* 0.370078959 */, | ||
5870 | /* 5498 */ 0x05ec360b | (18 << 27) /* 0.370168727 */, | ||
5871 | /* 5499 */ 0x05ec942d | (18 << 27) /* 0.370258500 */, | ||
5872 | /* 5500 */ 0x05ecf251 | (18 << 27) /* 0.370348279 */, | ||
5873 | /* 5501 */ 0x05ed5076 | (18 << 27) /* 0.370438063 */, | ||
5874 | /* 5502 */ 0x05edae9d | (18 << 27) /* 0.370527853 */, | ||
5875 | /* 5503 */ 0x05ee0cc5 | (18 << 27) /* 0.370617648 */, | ||
5876 | |||
5877 | /* 5504 */ 0x05ee6aef | (18 << 27) /* 0.370707448 */, | ||
5878 | /* 5505 */ 0x05eec91a | (18 << 27) /* 0.370797254 */, | ||
5879 | /* 5506 */ 0x05ef2746 | (18 << 27) /* 0.370887065 */, | ||
5880 | /* 5507 */ 0x05ef8574 | (18 << 27) /* 0.370976882 */, | ||
5881 | /* 5508 */ 0x05efe3a4 | (18 << 27) /* 0.371066704 */, | ||
5882 | /* 5509 */ 0x05f041d5 | (18 << 27) /* 0.371156532 */, | ||
5883 | /* 5510 */ 0x05f0a007 | (18 << 27) /* 0.371246365 */, | ||
5884 | /* 5511 */ 0x05f0fe3b | (18 << 27) /* 0.371336203 */, | ||
5885 | /* 5512 */ 0x05f15c70 | (18 << 27) /* 0.371426047 */, | ||
5886 | /* 5513 */ 0x05f1baa7 | (18 << 27) /* 0.371515897 */, | ||
5887 | /* 5514 */ 0x05f218df | (18 << 27) /* 0.371605751 */, | ||
5888 | /* 5515 */ 0x05f27719 | (18 << 27) /* 0.371695612 */, | ||
5889 | /* 5516 */ 0x05f2d554 | (18 << 27) /* 0.371785477 */, | ||
5890 | /* 5517 */ 0x05f33390 | (18 << 27) /* 0.371875348 */, | ||
5891 | /* 5518 */ 0x05f391cf | (18 << 27) /* 0.371965225 */, | ||
5892 | /* 5519 */ 0x05f3f00e | (18 << 27) /* 0.372055107 */, | ||
5893 | |||
5894 | /* 5520 */ 0x05f44e4f | (18 << 27) /* 0.372144994 */, | ||
5895 | /* 5521 */ 0x05f4ac91 | (18 << 27) /* 0.372234887 */, | ||
5896 | /* 5522 */ 0x05f50ad5 | (18 << 27) /* 0.372324785 */, | ||
5897 | /* 5523 */ 0x05f5691b | (18 << 27) /* 0.372414689 */, | ||
5898 | /* 5524 */ 0x05f5c761 | (18 << 27) /* 0.372504598 */, | ||
5899 | /* 5525 */ 0x05f625aa | (18 << 27) /* 0.372594513 */, | ||
5900 | /* 5526 */ 0x05f683f3 | (18 << 27) /* 0.372684433 */, | ||
5901 | /* 5527 */ 0x05f6e23f | (18 << 27) /* 0.372774358 */, | ||
5902 | /* 5528 */ 0x05f7408b | (18 << 27) /* 0.372864289 */, | ||
5903 | /* 5529 */ 0x05f79ed9 | (18 << 27) /* 0.372954225 */, | ||
5904 | /* 5530 */ 0x05f7fd29 | (18 << 27) /* 0.373044167 */, | ||
5905 | /* 5531 */ 0x05f85b7a | (18 << 27) /* 0.373134114 */, | ||
5906 | /* 5532 */ 0x05f8b9cc | (18 << 27) /* 0.373224066 */, | ||
5907 | /* 5533 */ 0x05f91820 | (18 << 27) /* 0.373314024 */, | ||
5908 | /* 5534 */ 0x05f97675 | (18 << 27) /* 0.373403987 */, | ||
5909 | /* 5535 */ 0x05f9d4cc | (18 << 27) /* 0.373493956 */, | ||
5910 | |||
5911 | /* 5536 */ 0x05fa3324 | (18 << 27) /* 0.373583930 */, | ||
5912 | /* 5537 */ 0x05fa917e | (18 << 27) /* 0.373673910 */, | ||
5913 | /* 5538 */ 0x05faefd9 | (18 << 27) /* 0.373763895 */, | ||
5914 | /* 5539 */ 0x05fb4e36 | (18 << 27) /* 0.373853885 */, | ||
5915 | /* 5540 */ 0x05fbac94 | (18 << 27) /* 0.373943881 */, | ||
5916 | /* 5541 */ 0x05fc0af3 | (18 << 27) /* 0.374033882 */, | ||
5917 | /* 5542 */ 0x05fc6954 | (18 << 27) /* 0.374123889 */, | ||
5918 | /* 5543 */ 0x05fcc7b7 | (18 << 27) /* 0.374213901 */, | ||
5919 | /* 5544 */ 0x05fd261b | (18 << 27) /* 0.374303918 */, | ||
5920 | /* 5545 */ 0x05fd8480 | (18 << 27) /* 0.374393941 */, | ||
5921 | /* 5546 */ 0x05fde2e7 | (18 << 27) /* 0.374483970 */, | ||
5922 | /* 5547 */ 0x05fe414f | (18 << 27) /* 0.374574003 */, | ||
5923 | /* 5548 */ 0x05fe9fb9 | (18 << 27) /* 0.374664042 */, | ||
5924 | /* 5549 */ 0x05fefe24 | (18 << 27) /* 0.374754087 */, | ||
5925 | /* 5550 */ 0x05ff5c91 | (18 << 27) /* 0.374844137 */, | ||
5926 | /* 5551 */ 0x05ffbaff | (18 << 27) /* 0.374934192 */, | ||
5927 | |||
5928 | /* 5552 */ 0x0600196e | (18 << 27) /* 0.375024253 */, | ||
5929 | /* 5553 */ 0x060077df | (18 << 27) /* 0.375114319 */, | ||
5930 | /* 5554 */ 0x0600d651 | (18 << 27) /* 0.375204391 */, | ||
5931 | /* 5555 */ 0x060134c5 | (18 << 27) /* 0.375294468 */, | ||
5932 | /* 5556 */ 0x0601933b | (18 << 27) /* 0.375384550 */, | ||
5933 | /* 5557 */ 0x0601f1b1 | (18 << 27) /* 0.375474638 */, | ||
5934 | /* 5558 */ 0x0602502a | (18 << 27) /* 0.375564731 */, | ||
5935 | /* 5559 */ 0x0602aea3 | (18 << 27) /* 0.375654830 */, | ||
5936 | /* 5560 */ 0x06030d1e | (18 << 27) /* 0.375744934 */, | ||
5937 | /* 5561 */ 0x06036b9b | (18 << 27) /* 0.375835043 */, | ||
5938 | /* 5562 */ 0x0603ca19 | (18 << 27) /* 0.375925158 */, | ||
5939 | /* 5563 */ 0x06042898 | (18 << 27) /* 0.376015278 */, | ||
5940 | /* 5564 */ 0x06048719 | (18 << 27) /* 0.376105404 */, | ||
5941 | /* 5565 */ 0x0604e59c | (18 << 27) /* 0.376195535 */, | ||
5942 | /* 5566 */ 0x0605441f | (18 << 27) /* 0.376285671 */, | ||
5943 | /* 5567 */ 0x0605a2a5 | (18 << 27) /* 0.376375813 */, | ||
5944 | |||
5945 | /* 5568 */ 0x0606012b | (18 << 27) /* 0.376465960 */, | ||
5946 | /* 5569 */ 0x06065fb4 | (18 << 27) /* 0.376556113 */, | ||
5947 | /* 5570 */ 0x0606be3d | (18 << 27) /* 0.376646271 */, | ||
5948 | /* 5571 */ 0x06071cc8 | (18 << 27) /* 0.376736434 */, | ||
5949 | /* 5572 */ 0x06077b55 | (18 << 27) /* 0.376826603 */, | ||
5950 | /* 5573 */ 0x0607d9e3 | (18 << 27) /* 0.376916777 */, | ||
5951 | /* 5574 */ 0x06083872 | (18 << 27) /* 0.377006957 */, | ||
5952 | /* 5575 */ 0x06089703 | (18 << 27) /* 0.377097141 */, | ||
5953 | /* 5576 */ 0x0608f595 | (18 << 27) /* 0.377187332 */, | ||
5954 | /* 5577 */ 0x06095429 | (18 << 27) /* 0.377277528 */, | ||
5955 | /* 5578 */ 0x0609b2be | (18 << 27) /* 0.377367729 */, | ||
5956 | /* 5579 */ 0x060a1155 | (18 << 27) /* 0.377457935 */, | ||
5957 | /* 5580 */ 0x060a6fed | (18 << 27) /* 0.377548147 */, | ||
5958 | /* 5581 */ 0x060ace86 | (18 << 27) /* 0.377638364 */, | ||
5959 | /* 5582 */ 0x060b2d21 | (18 << 27) /* 0.377728587 */, | ||
5960 | /* 5583 */ 0x060b8bbe | (18 << 27) /* 0.377818815 */, | ||
5961 | |||
5962 | /* 5584 */ 0x060bea5c | (18 << 27) /* 0.377909049 */, | ||
5963 | /* 5585 */ 0x060c48fb | (18 << 27) /* 0.377999288 */, | ||
5964 | /* 5586 */ 0x060ca79c | (18 << 27) /* 0.378089532 */, | ||
5965 | /* 5587 */ 0x060d063e | (18 << 27) /* 0.378179781 */, | ||
5966 | /* 5588 */ 0x060d64e1 | (18 << 27) /* 0.378270036 */, | ||
5967 | /* 5589 */ 0x060dc387 | (18 << 27) /* 0.378360297 */, | ||
5968 | /* 5590 */ 0x060e222d | (18 << 27) /* 0.378450563 */, | ||
5969 | /* 5591 */ 0x060e80d5 | (18 << 27) /* 0.378540834 */, | ||
5970 | /* 5592 */ 0x060edf7f | (18 << 27) /* 0.378631110 */, | ||
5971 | /* 5593 */ 0x060f3e29 | (18 << 27) /* 0.378721392 */, | ||
5972 | /* 5594 */ 0x060f9cd6 | (18 << 27) /* 0.378811680 */, | ||
5973 | /* 5595 */ 0x060ffb83 | (18 << 27) /* 0.378901972 */, | ||
5974 | /* 5596 */ 0x06105a33 | (18 << 27) /* 0.378992270 */, | ||
5975 | /* 5597 */ 0x0610b8e3 | (18 << 27) /* 0.379082574 */, | ||
5976 | /* 5598 */ 0x06111795 | (18 << 27) /* 0.379172883 */, | ||
5977 | /* 5599 */ 0x06117649 | (18 << 27) /* 0.379263197 */, | ||
5978 | |||
5979 | /* 5600 */ 0x0611d4fe | (18 << 27) /* 0.379353516 */, | ||
5980 | /* 5601 */ 0x061233b4 | (18 << 27) /* 0.379443841 */, | ||
5981 | /* 5602 */ 0x0612926c | (18 << 27) /* 0.379534172 */, | ||
5982 | /* 5603 */ 0x0612f125 | (18 << 27) /* 0.379624507 */, | ||
5983 | /* 5604 */ 0x06134fe0 | (18 << 27) /* 0.379714848 */, | ||
5984 | /* 5605 */ 0x0613ae9c | (18 << 27) /* 0.379805195 */, | ||
5985 | /* 5606 */ 0x06140d5a | (18 << 27) /* 0.379895547 */, | ||
5986 | /* 5607 */ 0x06146c19 | (18 << 27) /* 0.379985904 */, | ||
5987 | /* 5608 */ 0x0614cada | (18 << 27) /* 0.380076266 */, | ||
5988 | /* 5609 */ 0x0615299c | (18 << 27) /* 0.380166634 */, | ||
5989 | /* 5610 */ 0x0615885f | (18 << 27) /* 0.380257008 */, | ||
5990 | /* 5611 */ 0x0615e724 | (18 << 27) /* 0.380347386 */, | ||
5991 | /* 5612 */ 0x061645ea | (18 << 27) /* 0.380437770 */, | ||
5992 | /* 5613 */ 0x0616a4b2 | (18 << 27) /* 0.380528160 */, | ||
5993 | /* 5614 */ 0x0617037b | (18 << 27) /* 0.380618555 */, | ||
5994 | /* 5615 */ 0x06176246 | (18 << 27) /* 0.380708955 */, | ||
5995 | |||
5996 | /* 5616 */ 0x0617c112 | (18 << 27) /* 0.380799360 */, | ||
5997 | /* 5617 */ 0x06181fdf | (18 << 27) /* 0.380889771 */, | ||
5998 | /* 5618 */ 0x06187eae | (18 << 27) /* 0.380980187 */, | ||
5999 | /* 5619 */ 0x0618dd7e | (18 << 27) /* 0.381070609 */, | ||
6000 | /* 5620 */ 0x06193c50 | (18 << 27) /* 0.381161036 */, | ||
6001 | /* 5621 */ 0x06199b24 | (18 << 27) /* 0.381251468 */, | ||
6002 | /* 5622 */ 0x0619f9f8 | (18 << 27) /* 0.381341906 */, | ||
6003 | /* 5623 */ 0x061a58ce | (18 << 27) /* 0.381432349 */, | ||
6004 | /* 5624 */ 0x061ab7a6 | (18 << 27) /* 0.381522798 */, | ||
6005 | /* 5625 */ 0x061b167f | (18 << 27) /* 0.381613251 */, | ||
6006 | /* 5626 */ 0x061b7559 | (18 << 27) /* 0.381703711 */, | ||
6007 | /* 5627 */ 0x061bd435 | (18 << 27) /* 0.381794175 */, | ||
6008 | /* 5628 */ 0x061c3313 | (18 << 27) /* 0.381884645 */, | ||
6009 | /* 5629 */ 0x061c91f1 | (18 << 27) /* 0.381975120 */, | ||
6010 | /* 5630 */ 0x061cf0d2 | (18 << 27) /* 0.382065601 */, | ||
6011 | /* 5631 */ 0x061d4fb3 | (18 << 27) /* 0.382156087 */, | ||
6012 | |||
6013 | /* 5632 */ 0x061dae96 | (18 << 27) /* 0.382246578 */, | ||
6014 | /* 5633 */ 0x061e0d7b | (18 << 27) /* 0.382337075 */, | ||
6015 | /* 5634 */ 0x061e6c61 | (18 << 27) /* 0.382427577 */, | ||
6016 | /* 5635 */ 0x061ecb48 | (18 << 27) /* 0.382518084 */, | ||
6017 | /* 5636 */ 0x061f2a31 | (18 << 27) /* 0.382608597 */, | ||
6018 | /* 5637 */ 0x061f891b | (18 << 27) /* 0.382699115 */, | ||
6019 | /* 5638 */ 0x061fe807 | (18 << 27) /* 0.382789638 */, | ||
6020 | /* 5639 */ 0x062046f4 | (18 << 27) /* 0.382880167 */, | ||
6021 | /* 5640 */ 0x0620a5e3 | (18 << 27) /* 0.382970701 */, | ||
6022 | /* 5641 */ 0x062104d3 | (18 << 27) /* 0.383061241 */, | ||
6023 | /* 5642 */ 0x062163c4 | (18 << 27) /* 0.383151786 */, | ||
6024 | /* 5643 */ 0x0621c2b7 | (18 << 27) /* 0.383242336 */, | ||
6025 | /* 5644 */ 0x062221ab | (18 << 27) /* 0.383332891 */, | ||
6026 | /* 5645 */ 0x062280a1 | (18 << 27) /* 0.383423452 */, | ||
6027 | /* 5646 */ 0x0622df98 | (18 << 27) /* 0.383514018 */, | ||
6028 | /* 5647 */ 0x06233e91 | (18 << 27) /* 0.383604590 */, | ||
6029 | |||
6030 | /* 5648 */ 0x06239d8b | (18 << 27) /* 0.383695167 */, | ||
6031 | /* 5649 */ 0x0623fc86 | (18 << 27) /* 0.383785749 */, | ||
6032 | /* 5650 */ 0x06245b83 | (18 << 27) /* 0.383876337 */, | ||
6033 | /* 5651 */ 0x0624ba82 | (18 << 27) /* 0.383966930 */, | ||
6034 | /* 5652 */ 0x06251981 | (18 << 27) /* 0.384057528 */, | ||
6035 | /* 5653 */ 0x06257883 | (18 << 27) /* 0.384148132 */, | ||
6036 | /* 5654 */ 0x0625d785 | (18 << 27) /* 0.384238741 */, | ||
6037 | /* 5655 */ 0x06263689 | (18 << 27) /* 0.384329355 */, | ||
6038 | /* 5656 */ 0x0626958f | (18 << 27) /* 0.384419975 */, | ||
6039 | /* 5657 */ 0x0626f496 | (18 << 27) /* 0.384510600 */, | ||
6040 | /* 5658 */ 0x0627539e | (18 << 27) /* 0.384601230 */, | ||
6041 | /* 5659 */ 0x0627b2a8 | (18 << 27) /* 0.384691866 */, | ||
6042 | /* 5660 */ 0x062811b3 | (18 << 27) /* 0.384782507 */, | ||
6043 | /* 5661 */ 0x062870c0 | (18 << 27) /* 0.384873153 */, | ||
6044 | /* 5662 */ 0x0628cfce | (18 << 27) /* 0.384963805 */, | ||
6045 | /* 5663 */ 0x06292ede | (18 << 27) /* 0.385054462 */, | ||
6046 | |||
6047 | /* 5664 */ 0x06298def | (18 << 27) /* 0.385145124 */, | ||
6048 | /* 5665 */ 0x0629ed01 | (18 << 27) /* 0.385235792 */, | ||
6049 | /* 5666 */ 0x062a4c15 | (18 << 27) /* 0.385326465 */, | ||
6050 | /* 5667 */ 0x062aab2a | (18 << 27) /* 0.385417143 */, | ||
6051 | /* 5668 */ 0x062b0a41 | (18 << 27) /* 0.385507827 */, | ||
6052 | /* 5669 */ 0x062b6959 | (18 << 27) /* 0.385598516 */, | ||
6053 | /* 5670 */ 0x062bc873 | (18 << 27) /* 0.385689211 */, | ||
6054 | /* 5671 */ 0x062c278e | (18 << 27) /* 0.385779910 */, | ||
6055 | /* 5672 */ 0x062c86aa | (18 << 27) /* 0.385870615 */, | ||
6056 | /* 5673 */ 0x062ce5c8 | (18 << 27) /* 0.385961326 */, | ||
6057 | /* 5674 */ 0x062d44e8 | (18 << 27) /* 0.386052041 */, | ||
6058 | /* 5675 */ 0x062da408 | (18 << 27) /* 0.386142762 */, | ||
6059 | /* 5676 */ 0x062e032a | (18 << 27) /* 0.386233489 */, | ||
6060 | /* 5677 */ 0x062e624e | (18 << 27) /* 0.386324221 */, | ||
6061 | /* 5678 */ 0x062ec173 | (18 << 27) /* 0.386414958 */, | ||
6062 | /* 5679 */ 0x062f209a | (18 << 27) /* 0.386505700 */, | ||
6063 | |||
6064 | /* 5680 */ 0x062f7fc1 | (18 << 27) /* 0.386596448 */, | ||
6065 | /* 5681 */ 0x062fdeeb | (18 << 27) /* 0.386687201 */, | ||
6066 | /* 5682 */ 0x06303e16 | (18 << 27) /* 0.386777959 */, | ||
6067 | /* 5683 */ 0x06309d42 | (18 << 27) /* 0.386868723 */, | ||
6068 | /* 5684 */ 0x0630fc6f | (18 << 27) /* 0.386959492 */, | ||
6069 | /* 5685 */ 0x06315b9e | (18 << 27) /* 0.387050266 */, | ||
6070 | /* 5686 */ 0x0631bacf | (18 << 27) /* 0.387141045 */, | ||
6071 | /* 5687 */ 0x06321a01 | (18 << 27) /* 0.387231830 */, | ||
6072 | /* 5688 */ 0x06327934 | (18 << 27) /* 0.387322621 */, | ||
6073 | /* 5689 */ 0x0632d869 | (18 << 27) /* 0.387413416 */, | ||
6074 | /* 5690 */ 0x0633379f | (18 << 27) /* 0.387504217 */, | ||
6075 | /* 5691 */ 0x063396d7 | (18 << 27) /* 0.387595023 */, | ||
6076 | /* 5692 */ 0x0633f610 | (18 << 27) /* 0.387685835 */, | ||
6077 | /* 5693 */ 0x0634554a | (18 << 27) /* 0.387776652 */, | ||
6078 | /* 5694 */ 0x0634b486 | (18 << 27) /* 0.387867474 */, | ||
6079 | /* 5695 */ 0x063513c3 | (18 << 27) /* 0.387958301 */, | ||
6080 | |||
6081 | /* 5696 */ 0x06357302 | (18 << 27) /* 0.388049134 */, | ||
6082 | /* 5697 */ 0x0635d242 | (18 << 27) /* 0.388139972 */, | ||
6083 | /* 5698 */ 0x06363184 | (18 << 27) /* 0.388230816 */, | ||
6084 | /* 5699 */ 0x063690c7 | (18 << 27) /* 0.388321665 */, | ||
6085 | /* 5700 */ 0x0636f00b | (18 << 27) /* 0.388412519 */, | ||
6086 | /* 5701 */ 0x06374f51 | (18 << 27) /* 0.388503378 */, | ||
6087 | /* 5702 */ 0x0637ae99 | (18 << 27) /* 0.388594243 */, | ||
6088 | /* 5703 */ 0x06380de1 | (18 << 27) /* 0.388685113 */, | ||
6089 | /* 5704 */ 0x06386d2b | (18 << 27) /* 0.388775988 */, | ||
6090 | /* 5705 */ 0x0638cc77 | (18 << 27) /* 0.388866869 */, | ||
6091 | /* 5706 */ 0x06392bc4 | (18 << 27) /* 0.388957755 */, | ||
6092 | /* 5707 */ 0x06398b12 | (18 << 27) /* 0.389048646 */, | ||
6093 | /* 5708 */ 0x0639ea62 | (18 << 27) /* 0.389139542 */, | ||
6094 | /* 5709 */ 0x063a49b4 | (18 << 27) /* 0.389230444 */, | ||
6095 | /* 5710 */ 0x063aa906 | (18 << 27) /* 0.389321352 */, | ||
6096 | /* 5711 */ 0x063b085a | (18 << 27) /* 0.389412264 */, | ||
6097 | |||
6098 | /* 5712 */ 0x063b67b0 | (18 << 27) /* 0.389503182 */, | ||
6099 | /* 5713 */ 0x063bc707 | (18 << 27) /* 0.389594105 */, | ||
6100 | /* 5714 */ 0x063c265f | (18 << 27) /* 0.389685033 */, | ||
6101 | /* 5715 */ 0x063c85b9 | (18 << 27) /* 0.389775967 */, | ||
6102 | /* 5716 */ 0x063ce514 | (18 << 27) /* 0.389866906 */, | ||
6103 | /* 5717 */ 0x063d4471 | (18 << 27) /* 0.389957850 */, | ||
6104 | /* 5718 */ 0x063da3cf | (18 << 27) /* 0.390048800 */, | ||
6105 | /* 5719 */ 0x063e032f | (18 << 27) /* 0.390139755 */, | ||
6106 | /* 5720 */ 0x063e6290 | (18 << 27) /* 0.390230715 */, | ||
6107 | /* 5721 */ 0x063ec1f2 | (18 << 27) /* 0.390321681 */, | ||
6108 | /* 5722 */ 0x063f2156 | (18 << 27) /* 0.390412651 */, | ||
6109 | /* 5723 */ 0x063f80bb | (18 << 27) /* 0.390503628 */, | ||
6110 | /* 5724 */ 0x063fe022 | (18 << 27) /* 0.390594609 */, | ||
6111 | /* 5725 */ 0x06403f8a | (18 << 27) /* 0.390685596 */, | ||
6112 | /* 5726 */ 0x06409ef3 | (18 << 27) /* 0.390776588 */, | ||
6113 | /* 5727 */ 0x0640fe5e | (18 << 27) /* 0.390867585 */, | ||
6114 | |||
6115 | /* 5728 */ 0x06415dcb | (18 << 27) /* 0.390958588 */, | ||
6116 | /* 5729 */ 0x0641bd38 | (18 << 27) /* 0.391049596 */, | ||
6117 | /* 5730 */ 0x06421ca7 | (18 << 27) /* 0.391140609 */, | ||
6118 | /* 5731 */ 0x06427c18 | (18 << 27) /* 0.391231627 */, | ||
6119 | /* 5732 */ 0x0642db8a | (18 << 27) /* 0.391322651 */, | ||
6120 | /* 5733 */ 0x06433afd | (18 << 27) /* 0.391413680 */, | ||
6121 | /* 5734 */ 0x06439a72 | (18 << 27) /* 0.391504714 */, | ||
6122 | /* 5735 */ 0x0643f9e9 | (18 << 27) /* 0.391595754 */, | ||
6123 | /* 5736 */ 0x06445960 | (18 << 27) /* 0.391686799 */, | ||
6124 | /* 5737 */ 0x0644b8d9 | (18 << 27) /* 0.391777849 */, | ||
6125 | /* 5738 */ 0x06451854 | (18 << 27) /* 0.391868905 */, | ||
6126 | /* 5739 */ 0x064577d0 | (18 << 27) /* 0.391959966 */, | ||
6127 | /* 5740 */ 0x0645d74d | (18 << 27) /* 0.392051032 */, | ||
6128 | /* 5741 */ 0x064636cc | (18 << 27) /* 0.392142103 */, | ||
6129 | /* 5742 */ 0x0646964c | (18 << 27) /* 0.392233180 */, | ||
6130 | /* 5743 */ 0x0646f5ce | (18 << 27) /* 0.392324262 */, | ||
6131 | |||
6132 | /* 5744 */ 0x06475551 | (18 << 27) /* 0.392415349 */, | ||
6133 | /* 5745 */ 0x0647b4d5 | (18 << 27) /* 0.392506442 */, | ||
6134 | /* 5746 */ 0x0648145b | (18 << 27) /* 0.392597540 */, | ||
6135 | /* 5747 */ 0x064873e3 | (18 << 27) /* 0.392688643 */, | ||
6136 | /* 5748 */ 0x0648d36b | (18 << 27) /* 0.392779751 */, | ||
6137 | /* 5749 */ 0x064932f6 | (18 << 27) /* 0.392870865 */, | ||
6138 | /* 5750 */ 0x06499281 | (18 << 27) /* 0.392961984 */, | ||
6139 | /* 5751 */ 0x0649f20e | (18 << 27) /* 0.393053108 */, | ||
6140 | /* 5752 */ 0x064a519c | (18 << 27) /* 0.393144238 */, | ||
6141 | /* 5753 */ 0x064ab12c | (18 << 27) /* 0.393235372 */, | ||
6142 | /* 5754 */ 0x064b10be | (18 << 27) /* 0.393326513 */, | ||
6143 | /* 5755 */ 0x064b7050 | (18 << 27) /* 0.393417658 */, | ||
6144 | /* 5756 */ 0x064bcfe4 | (18 << 27) /* 0.393508809 */, | ||
6145 | /* 5757 */ 0x064c2f7a | (18 << 27) /* 0.393599965 */, | ||
6146 | /* 5758 */ 0x064c8f11 | (18 << 27) /* 0.393691126 */, | ||
6147 | /* 5759 */ 0x064ceea9 | (18 << 27) /* 0.393782292 */, | ||
6148 | |||
6149 | /* 5760 */ 0x064d4e43 | (18 << 27) /* 0.393873464 */, | ||
6150 | /* 5761 */ 0x064dadde | (18 << 27) /* 0.393964641 */, | ||
6151 | /* 5762 */ 0x064e0d7a | (18 << 27) /* 0.394055823 */, | ||
6152 | /* 5763 */ 0x064e6d18 | (18 << 27) /* 0.394147011 */, | ||
6153 | /* 5764 */ 0x064eccb8 | (18 << 27) /* 0.394238204 */, | ||
6154 | /* 5765 */ 0x064f2c59 | (18 << 27) /* 0.394329402 */, | ||
6155 | /* 5766 */ 0x064f8bfb | (18 << 27) /* 0.394420605 */, | ||
6156 | /* 5767 */ 0x064feb9e | (18 << 27) /* 0.394511814 */, | ||
6157 | /* 5768 */ 0x06504b44 | (18 << 27) /* 0.394603028 */, | ||
6158 | /* 5769 */ 0x0650aaea | (18 << 27) /* 0.394694247 */, | ||
6159 | /* 5770 */ 0x06510a92 | (18 << 27) /* 0.394785472 */, | ||
6160 | /* 5771 */ 0x06516a3b | (18 << 27) /* 0.394876702 */, | ||
6161 | /* 5772 */ 0x0651c9e6 | (18 << 27) /* 0.394967937 */, | ||
6162 | /* 5773 */ 0x06522992 | (18 << 27) /* 0.395059177 */, | ||
6163 | /* 5774 */ 0x06528940 | (18 << 27) /* 0.395150423 */, | ||
6164 | /* 5775 */ 0x0652e8ef | (18 << 27) /* 0.395241673 */, | ||
6165 | |||
6166 | /* 5776 */ 0x0653489f | (18 << 27) /* 0.395332930 */, | ||
6167 | /* 5777 */ 0x0653a851 | (18 << 27) /* 0.395424191 */, | ||
6168 | /* 5778 */ 0x06540804 | (18 << 27) /* 0.395515458 */, | ||
6169 | /* 5779 */ 0x065467b9 | (18 << 27) /* 0.395606730 */, | ||
6170 | /* 5780 */ 0x0654c76f | (18 << 27) /* 0.395698007 */, | ||
6171 | /* 5781 */ 0x06552726 | (18 << 27) /* 0.395789289 */, | ||
6172 | /* 5782 */ 0x065586df | (18 << 27) /* 0.395880577 */, | ||
6173 | /* 5783 */ 0x0655e699 | (18 << 27) /* 0.395971870 */, | ||
6174 | /* 5784 */ 0x06564655 | (18 << 27) /* 0.396063168 */, | ||
6175 | /* 5785 */ 0x0656a612 | (18 << 27) /* 0.396154472 */, | ||
6176 | /* 5786 */ 0x065705d0 | (18 << 27) /* 0.396245780 */, | ||
6177 | /* 5787 */ 0x06576590 | (18 << 27) /* 0.396337094 */, | ||
6178 | /* 5788 */ 0x0657c552 | (18 << 27) /* 0.396428414 */, | ||
6179 | /* 5789 */ 0x06582514 | (18 << 27) /* 0.396519738 */, | ||
6180 | /* 5790 */ 0x065884d9 | (18 << 27) /* 0.396611068 */, | ||
6181 | /* 5791 */ 0x0658e49e | (18 << 27) /* 0.396702403 */, | ||
6182 | |||
6183 | /* 5792 */ 0x06594465 | (18 << 27) /* 0.396793743 */, | ||
6184 | /* 5793 */ 0x0659a42e | (18 << 27) /* 0.396885089 */, | ||
6185 | /* 5794 */ 0x065a03f7 | (18 << 27) /* 0.396976440 */, | ||
6186 | /* 5795 */ 0x065a63c3 | (18 << 27) /* 0.397067796 */, | ||
6187 | /* 5796 */ 0x065ac38f | (18 << 27) /* 0.397159157 */, | ||
6188 | /* 5797 */ 0x065b235d | (18 << 27) /* 0.397250524 */, | ||
6189 | /* 5798 */ 0x065b832d | (18 << 27) /* 0.397341896 */, | ||
6190 | /* 5799 */ 0x065be2fe | (18 << 27) /* 0.397433273 */, | ||
6191 | /* 5800 */ 0x065c42d0 | (18 << 27) /* 0.397524655 */, | ||
6192 | /* 5801 */ 0x065ca2a3 | (18 << 27) /* 0.397616043 */, | ||
6193 | /* 5802 */ 0x065d0279 | (18 << 27) /* 0.397707436 */, | ||
6194 | /* 5803 */ 0x065d624f | (18 << 27) /* 0.397798834 */, | ||
6195 | /* 5804 */ 0x065dc227 | (18 << 27) /* 0.397890237 */, | ||
6196 | /* 5805 */ 0x065e2200 | (18 << 27) /* 0.397981646 */, | ||
6197 | /* 5806 */ 0x065e81db | (18 << 27) /* 0.398073059 */, | ||
6198 | /* 5807 */ 0x065ee1b7 | (18 << 27) /* 0.398164479 */, | ||
6199 | |||
6200 | /* 5808 */ 0x065f4195 | (18 << 27) /* 0.398255903 */, | ||
6201 | /* 5809 */ 0x065fa174 | (18 << 27) /* 0.398347333 */, | ||
6202 | /* 5810 */ 0x06600154 | (18 << 27) /* 0.398438767 */, | ||
6203 | /* 5811 */ 0x06606136 | (18 << 27) /* 0.398530207 */, | ||
6204 | /* 5812 */ 0x0660c119 | (18 << 27) /* 0.398621653 */, | ||
6205 | /* 5813 */ 0x066120fd | (18 << 27) /* 0.398713103 */, | ||
6206 | /* 5814 */ 0x066180e3 | (18 << 27) /* 0.398804559 */, | ||
6207 | /* 5815 */ 0x0661e0cb | (18 << 27) /* 0.398896020 */, | ||
6208 | /* 5816 */ 0x066240b4 | (18 << 27) /* 0.398987487 */, | ||
6209 | /* 5817 */ 0x0662a09e | (18 << 27) /* 0.399078958 */, | ||
6210 | /* 5818 */ 0x06630089 | (18 << 27) /* 0.399170435 */, | ||
6211 | /* 5819 */ 0x06636077 | (18 << 27) /* 0.399261917 */, | ||
6212 | /* 5820 */ 0x0663c065 | (18 << 27) /* 0.399353404 */, | ||
6213 | /* 5821 */ 0x06642055 | (18 << 27) /* 0.399444897 */, | ||
6214 | /* 5822 */ 0x06648046 | (18 << 27) /* 0.399536395 */, | ||
6215 | /* 5823 */ 0x0664e039 | (18 << 27) /* 0.399627898 */, | ||
6216 | |||
6217 | /* 5824 */ 0x0665402d | (18 << 27) /* 0.399719406 */, | ||
6218 | /* 5825 */ 0x0665a022 | (18 << 27) /* 0.399810919 */, | ||
6219 | /* 5826 */ 0x06660019 | (18 << 27) /* 0.399902438 */, | ||
6220 | /* 5827 */ 0x06666011 | (18 << 27) /* 0.399993962 */, | ||
6221 | /* 5828 */ 0x0666c00b | (18 << 27) /* 0.400085491 */, | ||
6222 | /* 5829 */ 0x06672006 | (18 << 27) /* 0.400177026 */, | ||
6223 | /* 5830 */ 0x06678003 | (18 << 27) /* 0.400268565 */, | ||
6224 | /* 5831 */ 0x0667e000 | (18 << 27) /* 0.400360110 */, | ||
6225 | /* 5832 */ 0x06684000 | (18 << 27) /* 0.400451660 */, | ||
6226 | /* 5833 */ 0x0668a000 | (18 << 27) /* 0.400543216 */, | ||
6227 | /* 5834 */ 0x06690003 | (18 << 27) /* 0.400634776 */, | ||
6228 | /* 5835 */ 0x06696006 | (18 << 27) /* 0.400726342 */, | ||
6229 | /* 5836 */ 0x0669c00b | (18 << 27) /* 0.400817913 */, | ||
6230 | /* 5837 */ 0x066a2011 | (18 << 27) /* 0.400909489 */, | ||
6231 | /* 5838 */ 0x066a8019 | (18 << 27) /* 0.401001071 */, | ||
6232 | /* 5839 */ 0x066ae022 | (18 << 27) /* 0.401092657 */, | ||
6233 | |||
6234 | /* 5840 */ 0x066b402d | (18 << 27) /* 0.401184249 */, | ||
6235 | /* 5841 */ 0x066ba039 | (18 << 27) /* 0.401275847 */, | ||
6236 | /* 5842 */ 0x066c0046 | (18 << 27) /* 0.401367449 */, | ||
6237 | /* 5843 */ 0x066c6055 | (18 << 27) /* 0.401459057 */, | ||
6238 | /* 5844 */ 0x066cc065 | (18 << 27) /* 0.401550670 */, | ||
6239 | /* 5845 */ 0x066d2076 | (18 << 27) /* 0.401642288 */, | ||
6240 | /* 5846 */ 0x066d8089 | (18 << 27) /* 0.401733911 */, | ||
6241 | /* 5847 */ 0x066de09e | (18 << 27) /* 0.401825540 */, | ||
6242 | /* 5848 */ 0x066e40b3 | (18 << 27) /* 0.401917173 */, | ||
6243 | /* 5849 */ 0x066ea0cb | (18 << 27) /* 0.402008812 */, | ||
6244 | /* 5850 */ 0x066f00e3 | (18 << 27) /* 0.402100457 */, | ||
6245 | /* 5851 */ 0x066f60fd | (18 << 27) /* 0.402192106 */, | ||
6246 | /* 5852 */ 0x066fc118 | (18 << 27) /* 0.402283761 */, | ||
6247 | /* 5853 */ 0x06702135 | (18 << 27) /* 0.402375420 */, | ||
6248 | /* 5854 */ 0x06708153 | (18 << 27) /* 0.402467086 */, | ||
6249 | /* 5855 */ 0x0670e173 | (18 << 27) /* 0.402558756 */, | ||
6250 | |||
6251 | /* 5856 */ 0x06714194 | (18 << 27) /* 0.402650431 */, | ||
6252 | /* 5857 */ 0x0671a1b6 | (18 << 27) /* 0.402742112 */, | ||
6253 | /* 5858 */ 0x067201da | (18 << 27) /* 0.402833798 */, | ||
6254 | /* 5859 */ 0x067261ff | (18 << 27) /* 0.402925489 */, | ||
6255 | /* 5860 */ 0x0672c226 | (18 << 27) /* 0.403017186 */, | ||
6256 | /* 5861 */ 0x0673224e | (18 << 27) /* 0.403108887 */, | ||
6257 | /* 5862 */ 0x06738277 | (18 << 27) /* 0.403200594 */, | ||
6258 | /* 5863 */ 0x0673e2a2 | (18 << 27) /* 0.403292306 */, | ||
6259 | /* 5864 */ 0x067442ce | (18 << 27) /* 0.403384024 */, | ||
6260 | /* 5865 */ 0x0674a2fc | (18 << 27) /* 0.403475746 */, | ||
6261 | /* 5866 */ 0x0675032b | (18 << 27) /* 0.403567474 */, | ||
6262 | /* 5867 */ 0x0675635b | (18 << 27) /* 0.403659207 */, | ||
6263 | /* 5868 */ 0x0675c38d | (18 << 27) /* 0.403750945 */, | ||
6264 | /* 5869 */ 0x067623c0 | (18 << 27) /* 0.403842688 */, | ||
6265 | /* 5870 */ 0x067683f4 | (18 << 27) /* 0.403934437 */, | ||
6266 | /* 5871 */ 0x0676e42a | (18 << 27) /* 0.404026190 */, | ||
6267 | |||
6268 | /* 5872 */ 0x06774462 | (18 << 27) /* 0.404117949 */, | ||
6269 | /* 5873 */ 0x0677a49b | (18 << 27) /* 0.404209714 */, | ||
6270 | /* 5874 */ 0x067804d5 | (18 << 27) /* 0.404301483 */, | ||
6271 | /* 5875 */ 0x06786510 | (18 << 27) /* 0.404393258 */, | ||
6272 | /* 5876 */ 0x0678c54d | (18 << 27) /* 0.404485037 */, | ||
6273 | /* 5877 */ 0x0679258c | (18 << 27) /* 0.404576822 */, | ||
6274 | /* 5878 */ 0x067985cb | (18 << 27) /* 0.404668613 */, | ||
6275 | /* 5879 */ 0x0679e60c | (18 << 27) /* 0.404760408 */, | ||
6276 | /* 5880 */ 0x067a464f | (18 << 27) /* 0.404852209 */, | ||
6277 | /* 5881 */ 0x067aa693 | (18 << 27) /* 0.404944014 */, | ||
6278 | /* 5882 */ 0x067b06d8 | (18 << 27) /* 0.405035825 */, | ||
6279 | /* 5883 */ 0x067b671f | (18 << 27) /* 0.405127642 */, | ||
6280 | /* 5884 */ 0x067bc767 | (18 << 27) /* 0.405219463 */, | ||
6281 | /* 5885 */ 0x067c27b1 | (18 << 27) /* 0.405311290 */, | ||
6282 | /* 5886 */ 0x067c87fc | (18 << 27) /* 0.405403122 */, | ||
6283 | /* 5887 */ 0x067ce848 | (18 << 27) /* 0.405494959 */, | ||
6284 | |||
6285 | /* 5888 */ 0x067d4896 | (18 << 27) /* 0.405586801 */, | ||
6286 | /* 5889 */ 0x067da8e5 | (18 << 27) /* 0.405678648 */, | ||
6287 | /* 5890 */ 0x067e0935 | (18 << 27) /* 0.405770501 */, | ||
6288 | /* 5891 */ 0x067e6987 | (18 << 27) /* 0.405862359 */, | ||
6289 | /* 5892 */ 0x067ec9da | (18 << 27) /* 0.405954222 */, | ||
6290 | /* 5893 */ 0x067f2a2f | (18 << 27) /* 0.406046090 */, | ||
6291 | /* 5894 */ 0x067f8a85 | (18 << 27) /* 0.406137963 */, | ||
6292 | /* 5895 */ 0x067feadd | (18 << 27) /* 0.406229842 */, | ||
6293 | /* 5896 */ 0x06804b36 | (18 << 27) /* 0.406321726 */, | ||
6294 | /* 5897 */ 0x0680ab90 | (18 << 27) /* 0.406413615 */, | ||
6295 | /* 5898 */ 0x06810beb | (18 << 27) /* 0.406505509 */, | ||
6296 | /* 5899 */ 0x06816c49 | (18 << 27) /* 0.406597408 */, | ||
6297 | /* 5900 */ 0x0681cca7 | (18 << 27) /* 0.406689313 */, | ||
6298 | /* 5901 */ 0x06822d07 | (18 << 27) /* 0.406781223 */, | ||
6299 | /* 5902 */ 0x06828d68 | (18 << 27) /* 0.406873138 */, | ||
6300 | /* 5903 */ 0x0682edcb | (18 << 27) /* 0.406965058 */, | ||
6301 | |||
6302 | /* 5904 */ 0x06834e2f | (18 << 27) /* 0.407056983 */, | ||
6303 | /* 5905 */ 0x0683ae94 | (18 << 27) /* 0.407148914 */, | ||
6304 | /* 5906 */ 0x06840efb | (18 << 27) /* 0.407240850 */, | ||
6305 | /* 5907 */ 0x06846f63 | (18 << 27) /* 0.407332791 */, | ||
6306 | /* 5908 */ 0x0684cfcd | (18 << 27) /* 0.407424737 */, | ||
6307 | /* 5909 */ 0x06853038 | (18 << 27) /* 0.407516688 */, | ||
6308 | /* 5910 */ 0x068590a4 | (18 << 27) /* 0.407608645 */, | ||
6309 | /* 5911 */ 0x0685f112 | (18 << 27) /* 0.407700606 */, | ||
6310 | /* 5912 */ 0x06865181 | (18 << 27) /* 0.407792573 */, | ||
6311 | /* 5913 */ 0x0686b1f2 | (18 << 27) /* 0.407884545 */, | ||
6312 | /* 5914 */ 0x06871264 | (18 << 27) /* 0.407976522 */, | ||
6313 | /* 5915 */ 0x068772d7 | (18 << 27) /* 0.408068505 */, | ||
6314 | /* 5916 */ 0x0687d34c | (18 << 27) /* 0.408160492 */, | ||
6315 | /* 5917 */ 0x068833c2 | (18 << 27) /* 0.408252485 */, | ||
6316 | /* 5918 */ 0x06889439 | (18 << 27) /* 0.408344483 */, | ||
6317 | /* 5919 */ 0x0688f4b2 | (18 << 27) /* 0.408436486 */, | ||
6318 | |||
6319 | /* 5920 */ 0x0689552c | (18 << 27) /* 0.408528495 */, | ||
6320 | /* 5921 */ 0x0689b5a8 | (18 << 27) /* 0.408620508 */, | ||
6321 | /* 5922 */ 0x068a1625 | (18 << 27) /* 0.408712527 */, | ||
6322 | /* 5923 */ 0x068a76a4 | (18 << 27) /* 0.408804551 */, | ||
6323 | /* 5924 */ 0x068ad724 | (18 << 27) /* 0.408896580 */, | ||
6324 | /* 5925 */ 0x068b37a5 | (18 << 27) /* 0.408988614 */, | ||
6325 | /* 5926 */ 0x068b9827 | (18 << 27) /* 0.409080653 */, | ||
6326 | /* 5927 */ 0x068bf8ac | (18 << 27) /* 0.409172698 */, | ||
6327 | /* 5928 */ 0x068c5931 | (18 << 27) /* 0.409264748 */, | ||
6328 | /* 5929 */ 0x068cb9b8 | (18 << 27) /* 0.409356803 */, | ||
6329 | /* 5930 */ 0x068d1a40 | (18 << 27) /* 0.409448863 */, | ||
6330 | /* 5931 */ 0x068d7aca | (18 << 27) /* 0.409540928 */, | ||
6331 | /* 5932 */ 0x068ddb54 | (18 << 27) /* 0.409632999 */, | ||
6332 | /* 5933 */ 0x068e3be1 | (18 << 27) /* 0.409725074 */, | ||
6333 | /* 5934 */ 0x068e9c6f | (18 << 27) /* 0.409817155 */, | ||
6334 | /* 5935 */ 0x068efcfe | (18 << 27) /* 0.409909241 */, | ||
6335 | |||
6336 | /* 5936 */ 0x068f5d8e | (18 << 27) /* 0.410001332 */, | ||
6337 | /* 5937 */ 0x068fbe20 | (18 << 27) /* 0.410093428 */, | ||
6338 | /* 5938 */ 0x06901eb4 | (18 << 27) /* 0.410185530 */, | ||
6339 | /* 5939 */ 0x06907f48 | (18 << 27) /* 0.410277637 */, | ||
6340 | /* 5940 */ 0x0690dfde | (18 << 27) /* 0.410369748 */, | ||
6341 | /* 5941 */ 0x06914076 | (18 << 27) /* 0.410461865 */, | ||
6342 | /* 5942 */ 0x0691a10f | (18 << 27) /* 0.410553988 */, | ||
6343 | /* 5943 */ 0x069201a9 | (18 << 27) /* 0.410646115 */, | ||
6344 | /* 5944 */ 0x06926245 | (18 << 27) /* 0.410738247 */, | ||
6345 | /* 5945 */ 0x0692c2e2 | (18 << 27) /* 0.410830385 */, | ||
6346 | /* 5946 */ 0x06932380 | (18 << 27) /* 0.410922528 */, | ||
6347 | /* 5947 */ 0x06938420 | (18 << 27) /* 0.411014676 */, | ||
6348 | /* 5948 */ 0x0693e4c1 | (18 << 27) /* 0.411106829 */, | ||
6349 | /* 5949 */ 0x06944563 | (18 << 27) /* 0.411198987 */, | ||
6350 | /* 5950 */ 0x0694a607 | (18 << 27) /* 0.411291151 */, | ||
6351 | /* 5951 */ 0x069506ad | (18 << 27) /* 0.411383320 */, | ||
6352 | |||
6353 | /* 5952 */ 0x06956753 | (18 << 27) /* 0.411475493 */, | ||
6354 | /* 5953 */ 0x0695c7fc | (18 << 27) /* 0.411567672 */, | ||
6355 | /* 5954 */ 0x069628a5 | (18 << 27) /* 0.411659857 */, | ||
6356 | /* 5955 */ 0x06968950 | (18 << 27) /* 0.411752046 */, | ||
6357 | /* 5956 */ 0x0696e9fc | (18 << 27) /* 0.411844240 */, | ||
6358 | /* 5957 */ 0x06974aaa | (18 << 27) /* 0.411936440 */, | ||
6359 | /* 5958 */ 0x0697ab59 | (18 << 27) /* 0.412028645 */, | ||
6360 | /* 5959 */ 0x06980c09 | (18 << 27) /* 0.412120855 */, | ||
6361 | /* 5960 */ 0x06986cbb | (18 << 27) /* 0.412213070 */, | ||
6362 | /* 5961 */ 0x0698cd6e | (18 << 27) /* 0.412305290 */, | ||
6363 | /* 5962 */ 0x06992e23 | (18 << 27) /* 0.412397516 */, | ||
6364 | /* 5963 */ 0x06998ed9 | (18 << 27) /* 0.412489746 */, | ||
6365 | /* 5964 */ 0x0699ef90 | (18 << 27) /* 0.412581982 */, | ||
6366 | /* 5965 */ 0x069a5049 | (18 << 27) /* 0.412674223 */, | ||
6367 | /* 5966 */ 0x069ab103 | (18 << 27) /* 0.412766469 */, | ||
6368 | /* 5967 */ 0x069b11bf | (18 << 27) /* 0.412858720 */, | ||
6369 | |||
6370 | /* 5968 */ 0x069b727b | (18 << 27) /* 0.412950976 */, | ||
6371 | /* 5969 */ 0x069bd33a | (18 << 27) /* 0.413043238 */, | ||
6372 | /* 5970 */ 0x069c33f9 | (18 << 27) /* 0.413135505 */, | ||
6373 | /* 5971 */ 0x069c94ba | (18 << 27) /* 0.413227776 */, | ||
6374 | /* 5972 */ 0x069cf57d | (18 << 27) /* 0.413320053 */, | ||
6375 | /* 5973 */ 0x069d5641 | (18 << 27) /* 0.413412335 */, | ||
6376 | /* 5974 */ 0x069db706 | (18 << 27) /* 0.413504623 */, | ||
6377 | /* 5975 */ 0x069e17cc | (18 << 27) /* 0.413596915 */, | ||
6378 | /* 5976 */ 0x069e7894 | (18 << 27) /* 0.413689213 */, | ||
6379 | /* 5977 */ 0x069ed95e | (18 << 27) /* 0.413781515 */, | ||
6380 | /* 5978 */ 0x069f3a28 | (18 << 27) /* 0.413873823 */, | ||
6381 | /* 5979 */ 0x069f9af4 | (18 << 27) /* 0.413966136 */, | ||
6382 | /* 5980 */ 0x069ffbc2 | (18 << 27) /* 0.414058454 */, | ||
6383 | /* 5981 */ 0x06a05c91 | (18 << 27) /* 0.414150778 */, | ||
6384 | /* 5982 */ 0x06a0bd61 | (18 << 27) /* 0.414243106 */, | ||
6385 | /* 5983 */ 0x06a11e32 | (18 << 27) /* 0.414335440 */, | ||
6386 | |||
6387 | /* 5984 */ 0x06a17f05 | (18 << 27) /* 0.414427779 */, | ||
6388 | /* 5985 */ 0x06a1dfda | (18 << 27) /* 0.414520122 */, | ||
6389 | /* 5986 */ 0x06a240b0 | (18 << 27) /* 0.414612471 */, | ||
6390 | /* 5987 */ 0x06a2a187 | (18 << 27) /* 0.414704826 */, | ||
6391 | /* 5988 */ 0x06a3025f | (18 << 27) /* 0.414797185 */, | ||
6392 | /* 5989 */ 0x06a36339 | (18 << 27) /* 0.414889549 */, | ||
6393 | /* 5990 */ 0x06a3c414 | (18 << 27) /* 0.414981919 */, | ||
6394 | /* 5991 */ 0x06a424f1 | (18 << 27) /* 0.415074294 */, | ||
6395 | /* 5992 */ 0x06a485cf | (18 << 27) /* 0.415166674 */, | ||
6396 | /* 5993 */ 0x06a4e6ae | (18 << 27) /* 0.415259059 */, | ||
6397 | /* 5994 */ 0x06a5478f | (18 << 27) /* 0.415351449 */, | ||
6398 | /* 5995 */ 0x06a5a871 | (18 << 27) /* 0.415443844 */, | ||
6399 | /* 5996 */ 0x06a60955 | (18 << 27) /* 0.415536244 */, | ||
6400 | /* 5997 */ 0x06a66a3a | (18 << 27) /* 0.415628650 */, | ||
6401 | /* 5998 */ 0x06a6cb20 | (18 << 27) /* 0.415721061 */, | ||
6402 | /* 5999 */ 0x06a72c08 | (18 << 27) /* 0.415813476 */, | ||
6403 | |||
6404 | /* 6000 */ 0x06a78cf1 | (18 << 27) /* 0.415905897 */, | ||
6405 | /* 6001 */ 0x06a7eddb | (18 << 27) /* 0.415998324 */, | ||
6406 | /* 6002 */ 0x06a84ec7 | (18 << 27) /* 0.416090755 */, | ||
6407 | /* 6003 */ 0x06a8afb4 | (18 << 27) /* 0.416183191 */, | ||
6408 | /* 6004 */ 0x06a910a3 | (18 << 27) /* 0.416275633 */, | ||
6409 | /* 6005 */ 0x06a97193 | (18 << 27) /* 0.416368079 */, | ||
6410 | /* 6006 */ 0x06a9d284 | (18 << 27) /* 0.416460531 */, | ||
6411 | /* 6007 */ 0x06aa3377 | (18 << 27) /* 0.416552988 */, | ||
6412 | /* 6008 */ 0x06aa946b | (18 << 27) /* 0.416645450 */, | ||
6413 | /* 6009 */ 0x06aaf561 | (18 << 27) /* 0.416737917 */, | ||
6414 | /* 6010 */ 0x06ab5657 | (18 << 27) /* 0.416830389 */, | ||
6415 | /* 6011 */ 0x06abb750 | (18 << 27) /* 0.416922867 */, | ||
6416 | /* 6012 */ 0x06ac1849 | (18 << 27) /* 0.417015349 */, | ||
6417 | /* 6013 */ 0x06ac7944 | (18 << 27) /* 0.417107837 */, | ||
6418 | /* 6014 */ 0x06acda41 | (18 << 27) /* 0.417200330 */, | ||
6419 | /* 6015 */ 0x06ad3b3e | (18 << 27) /* 0.417292828 */, | ||
6420 | |||
6421 | /* 6016 */ 0x06ad9c3d | (18 << 27) /* 0.417385331 */, | ||
6422 | /* 6017 */ 0x06adfd3e | (18 << 27) /* 0.417477839 */, | ||
6423 | /* 6018 */ 0x06ae5e40 | (18 << 27) /* 0.417570352 */, | ||
6424 | /* 6019 */ 0x06aebf43 | (18 << 27) /* 0.417662871 */, | ||
6425 | /* 6020 */ 0x06af2047 | (18 << 27) /* 0.417755394 */, | ||
6426 | /* 6021 */ 0x06af814d | (18 << 27) /* 0.417847923 */, | ||
6427 | /* 6022 */ 0x06afe255 | (18 << 27) /* 0.417940457 */, | ||
6428 | /* 6023 */ 0x06b0435e | (18 << 27) /* 0.418032996 */, | ||
6429 | /* 6024 */ 0x06b0a468 | (18 << 27) /* 0.418125540 */, | ||
6430 | /* 6025 */ 0x06b10573 | (18 << 27) /* 0.418218089 */, | ||
6431 | /* 6026 */ 0x06b16680 | (18 << 27) /* 0.418310643 */, | ||
6432 | /* 6027 */ 0x06b1c78e | (18 << 27) /* 0.418403203 */, | ||
6433 | /* 6028 */ 0x06b2289e | (18 << 27) /* 0.418495767 */, | ||
6434 | /* 6029 */ 0x06b289af | (18 << 27) /* 0.418588337 */, | ||
6435 | /* 6030 */ 0x06b2eac1 | (18 << 27) /* 0.418680911 */, | ||
6436 | /* 6031 */ 0x06b34bd5 | (18 << 27) /* 0.418773491 */, | ||
6437 | |||
6438 | /* 6032 */ 0x06b3acea | (18 << 27) /* 0.418866076 */, | ||
6439 | /* 6033 */ 0x06b40e00 | (18 << 27) /* 0.418958666 */, | ||
6440 | /* 6034 */ 0x06b46f18 | (18 << 27) /* 0.419051262 */, | ||
6441 | /* 6035 */ 0x06b4d031 | (18 << 27) /* 0.419143862 */, | ||
6442 | /* 6036 */ 0x06b5314c | (18 << 27) /* 0.419236467 */, | ||
6443 | /* 6037 */ 0x06b59268 | (18 << 27) /* 0.419329078 */, | ||
6444 | /* 6038 */ 0x06b5f385 | (18 << 27) /* 0.419421694 */, | ||
6445 | /* 6039 */ 0x06b654a4 | (18 << 27) /* 0.419514314 */, | ||
6446 | /* 6040 */ 0x06b6b5c4 | (18 << 27) /* 0.419606940 */, | ||
6447 | /* 6041 */ 0x06b716e6 | (18 << 27) /* 0.419699571 */, | ||
6448 | /* 6042 */ 0x06b77808 | (18 << 27) /* 0.419792208 */, | ||
6449 | /* 6043 */ 0x06b7d92d | (18 << 27) /* 0.419884849 */, | ||
6450 | /* 6044 */ 0x06b83a52 | (18 << 27) /* 0.419977495 */, | ||
6451 | /* 6045 */ 0x06b89b79 | (18 << 27) /* 0.420070147 */, | ||
6452 | /* 6046 */ 0x06b8fca1 | (18 << 27) /* 0.420162803 */, | ||
6453 | /* 6047 */ 0x06b95dcb | (18 << 27) /* 0.420255465 */, | ||
6454 | |||
6455 | /* 6048 */ 0x06b9bef6 | (18 << 27) /* 0.420348132 */, | ||
6456 | /* 6049 */ 0x06ba2023 | (18 << 27) /* 0.420440803 */, | ||
6457 | /* 6050 */ 0x06ba8150 | (18 << 27) /* 0.420533481 */, | ||
6458 | /* 6051 */ 0x06bae280 | (18 << 27) /* 0.420626163 */, | ||
6459 | /* 6052 */ 0x06bb43b0 | (18 << 27) /* 0.420718850 */, | ||
6460 | /* 6053 */ 0x06bba4e2 | (18 << 27) /* 0.420811542 */, | ||
6461 | /* 6054 */ 0x06bc0615 | (18 << 27) /* 0.420904240 */, | ||
6462 | /* 6055 */ 0x06bc674a | (18 << 27) /* 0.420996942 */, | ||
6463 | /* 6056 */ 0x06bcc880 | (18 << 27) /* 0.421089650 */, | ||
6464 | /* 6057 */ 0x06bd29b7 | (18 << 27) /* 0.421182362 */, | ||
6465 | /* 6058 */ 0x06bd8af0 | (18 << 27) /* 0.421275080 */, | ||
6466 | /* 6059 */ 0x06bdec2a | (18 << 27) /* 0.421367803 */, | ||
6467 | /* 6060 */ 0x06be4d66 | (18 << 27) /* 0.421460531 */, | ||
6468 | /* 6061 */ 0x06beaea3 | (18 << 27) /* 0.421553264 */, | ||
6469 | /* 6062 */ 0x06bf0fe1 | (18 << 27) /* 0.421646003 */, | ||
6470 | /* 6063 */ 0x06bf7120 | (18 << 27) /* 0.421738746 */, | ||
6471 | |||
6472 | /* 6064 */ 0x06bfd261 | (18 << 27) /* 0.421831494 */, | ||
6473 | /* 6065 */ 0x06c033a4 | (18 << 27) /* 0.421924248 */, | ||
6474 | /* 6066 */ 0x06c094e7 | (18 << 27) /* 0.422017007 */, | ||
6475 | /* 6067 */ 0x06c0f62c | (18 << 27) /* 0.422109770 */, | ||
6476 | /* 6068 */ 0x06c15773 | (18 << 27) /* 0.422202539 */, | ||
6477 | /* 6069 */ 0x06c1b8bb | (18 << 27) /* 0.422295313 */, | ||
6478 | /* 6070 */ 0x06c21a04 | (18 << 27) /* 0.422388092 */, | ||
6479 | /* 6071 */ 0x06c27b4e | (18 << 27) /* 0.422480876 */, | ||
6480 | /* 6072 */ 0x06c2dc9a | (18 << 27) /* 0.422573665 */, | ||
6481 | /* 6073 */ 0x06c33de8 | (18 << 27) /* 0.422666460 */, | ||
6482 | /* 6074 */ 0x06c39f36 | (18 << 27) /* 0.422759259 */, | ||
6483 | /* 6075 */ 0x06c40086 | (18 << 27) /* 0.422852064 */, | ||
6484 | /* 6076 */ 0x06c461d8 | (18 << 27) /* 0.422944873 */, | ||
6485 | /* 6077 */ 0x06c4c32a | (18 << 27) /* 0.423037688 */, | ||
6486 | /* 6078 */ 0x06c5247f | (18 << 27) /* 0.423130508 */, | ||
6487 | /* 6079 */ 0x06c585d4 | (18 << 27) /* 0.423223333 */, | ||
6488 | |||
6489 | /* 6080 */ 0x06c5e72b | (18 << 27) /* 0.423316162 */, | ||
6490 | /* 6081 */ 0x06c64883 | (18 << 27) /* 0.423408997 */, | ||
6491 | /* 6082 */ 0x06c6a9dd | (18 << 27) /* 0.423501838 */, | ||
6492 | /* 6083 */ 0x06c70b38 | (18 << 27) /* 0.423594683 */, | ||
6493 | /* 6084 */ 0x06c76c94 | (18 << 27) /* 0.423687533 */, | ||
6494 | /* 6085 */ 0x06c7cdf2 | (18 << 27) /* 0.423780389 */, | ||
6495 | /* 6086 */ 0x06c82f51 | (18 << 27) /* 0.423873249 */, | ||
6496 | /* 6087 */ 0x06c890b1 | (18 << 27) /* 0.423966115 */, | ||
6497 | /* 6088 */ 0x06c8f213 | (18 << 27) /* 0.424058985 */, | ||
6498 | /* 6089 */ 0x06c95376 | (18 << 27) /* 0.424151861 */, | ||
6499 | /* 6090 */ 0x06c9b4da | (18 << 27) /* 0.424244742 */, | ||
6500 | /* 6091 */ 0x06ca1640 | (18 << 27) /* 0.424337628 */, | ||
6501 | /* 6092 */ 0x06ca77a8 | (18 << 27) /* 0.424430519 */, | ||
6502 | /* 6093 */ 0x06cad910 | (18 << 27) /* 0.424523415 */, | ||
6503 | /* 6094 */ 0x06cb3a7a | (18 << 27) /* 0.424616316 */, | ||
6504 | /* 6095 */ 0x06cb9be5 | (18 << 27) /* 0.424709222 */, | ||
6505 | |||
6506 | /* 6096 */ 0x06cbfd52 | (18 << 27) /* 0.424802133 */, | ||
6507 | /* 6097 */ 0x06cc5ec0 | (18 << 27) /* 0.424895050 */, | ||
6508 | /* 6098 */ 0x06ccc030 | (18 << 27) /* 0.424987971 */, | ||
6509 | /* 6099 */ 0x06cd21a0 | (18 << 27) /* 0.425080898 */, | ||
6510 | /* 6100 */ 0x06cd8313 | (18 << 27) /* 0.425173829 */, | ||
6511 | /* 6101 */ 0x06cde486 | (18 << 27) /* 0.425266766 */, | ||
6512 | /* 6102 */ 0x06ce45fb | (18 << 27) /* 0.425359708 */, | ||
6513 | /* 6103 */ 0x06cea771 | (18 << 27) /* 0.425452655 */, | ||
6514 | /* 6104 */ 0x06cf08e9 | (18 << 27) /* 0.425545607 */, | ||
6515 | /* 6105 */ 0x06cf6a62 | (18 << 27) /* 0.425638564 */, | ||
6516 | /* 6106 */ 0x06cfcbdc | (18 << 27) /* 0.425731526 */, | ||
6517 | /* 6107 */ 0x06d02d58 | (18 << 27) /* 0.425824493 */, | ||
6518 | /* 6108 */ 0x06d08ed5 | (18 << 27) /* 0.425917465 */, | ||
6519 | /* 6109 */ 0x06d0f053 | (18 << 27) /* 0.426010443 */, | ||
6520 | /* 6110 */ 0x06d151d3 | (18 << 27) /* 0.426103425 */, | ||
6521 | /* 6111 */ 0x06d1b354 | (18 << 27) /* 0.426196412 */, | ||
6522 | |||
6523 | /* 6112 */ 0x06d214d7 | (18 << 27) /* 0.426289405 */, | ||
6524 | /* 6113 */ 0x06d2765a | (18 << 27) /* 0.426382403 */, | ||
6525 | /* 6114 */ 0x06d2d7e0 | (18 << 27) /* 0.426475405 */, | ||
6526 | /* 6115 */ 0x06d33966 | (18 << 27) /* 0.426568413 */, | ||
6527 | /* 6116 */ 0x06d39aee | (18 << 27) /* 0.426661426 */, | ||
6528 | /* 6117 */ 0x06d3fc77 | (18 << 27) /* 0.426754444 */, | ||
6529 | /* 6118 */ 0x06d45e02 | (18 << 27) /* 0.426847467 */, | ||
6530 | /* 6119 */ 0x06d4bf8e | (18 << 27) /* 0.426940495 */, | ||
6531 | /* 6120 */ 0x06d5211c | (18 << 27) /* 0.427033528 */, | ||
6532 | /* 6121 */ 0x06d582aa | (18 << 27) /* 0.427126566 */, | ||
6533 | /* 6122 */ 0x06d5e43a | (18 << 27) /* 0.427219609 */, | ||
6534 | /* 6123 */ 0x06d645cc | (18 << 27) /* 0.427312657 */, | ||
6535 | /* 6124 */ 0x06d6a75f | (18 << 27) /* 0.427405711 */, | ||
6536 | /* 6125 */ 0x06d708f3 | (18 << 27) /* 0.427498769 */, | ||
6537 | /* 6126 */ 0x06d76a88 | (18 << 27) /* 0.427591833 */, | ||
6538 | /* 6127 */ 0x06d7cc1f | (18 << 27) /* 0.427684901 */, | ||
6539 | |||
6540 | /* 6128 */ 0x06d82db8 | (18 << 27) /* 0.427777975 */, | ||
6541 | /* 6129 */ 0x06d88f51 | (18 << 27) /* 0.427871054 */, | ||
6542 | /* 6130 */ 0x06d8f0ec | (18 << 27) /* 0.427964137 */, | ||
6543 | /* 6131 */ 0x06d95288 | (18 << 27) /* 0.428057226 */, | ||
6544 | /* 6132 */ 0x06d9b426 | (18 << 27) /* 0.428150320 */, | ||
6545 | /* 6133 */ 0x06da15c5 | (18 << 27) /* 0.428243419 */, | ||
6546 | /* 6134 */ 0x06da7766 | (18 << 27) /* 0.428336523 */, | ||
6547 | /* 6135 */ 0x06dad907 | (18 << 27) /* 0.428429632 */, | ||
6548 | /* 6136 */ 0x06db3aaa | (18 << 27) /* 0.428522746 */, | ||
6549 | /* 6137 */ 0x06db9c4f | (18 << 27) /* 0.428615865 */, | ||
6550 | /* 6138 */ 0x06dbfdf5 | (18 << 27) /* 0.428708989 */, | ||
6551 | /* 6139 */ 0x06dc5f9c | (18 << 27) /* 0.428802119 */, | ||
6552 | /* 6140 */ 0x06dcc145 | (18 << 27) /* 0.428895253 */, | ||
6553 | /* 6141 */ 0x06dd22ee | (18 << 27) /* 0.428988392 */, | ||
6554 | /* 6142 */ 0x06dd849a | (18 << 27) /* 0.429081537 */, | ||
6555 | /* 6143 */ 0x06dde646 | (18 << 27) /* 0.429174686 */, | ||
6556 | |||
6557 | /* 6144 */ 0x06de47f4 | (18 << 27) /* 0.429267841 */, | ||
6558 | /* 6145 */ 0x06dea9a4 | (18 << 27) /* 0.429361001 */, | ||
6559 | /* 6146 */ 0x06df0b54 | (18 << 27) /* 0.429454165 */, | ||
6560 | /* 6147 */ 0x06df6d06 | (18 << 27) /* 0.429547335 */, | ||
6561 | /* 6148 */ 0x06dfceba | (18 << 27) /* 0.429640510 */, | ||
6562 | /* 6149 */ 0x06e0306f | (18 << 27) /* 0.429733690 */, | ||
6563 | /* 6150 */ 0x06e09225 | (18 << 27) /* 0.429826874 */, | ||
6564 | /* 6151 */ 0x06e0f3dc | (18 << 27) /* 0.429920064 */, | ||
6565 | /* 6152 */ 0x06e15595 | (18 << 27) /* 0.430013259 */, | ||
6566 | /* 6153 */ 0x06e1b74f | (18 << 27) /* 0.430106459 */, | ||
6567 | /* 6154 */ 0x06e2190b | (18 << 27) /* 0.430199664 */, | ||
6568 | /* 6155 */ 0x06e27ac8 | (18 << 27) /* 0.430292875 */, | ||
6569 | /* 6156 */ 0x06e2dc86 | (18 << 27) /* 0.430386090 */, | ||
6570 | /* 6157 */ 0x06e33e46 | (18 << 27) /* 0.430479310 */, | ||
6571 | /* 6158 */ 0x06e3a007 | (18 << 27) /* 0.430572535 */, | ||
6572 | /* 6159 */ 0x06e401c9 | (18 << 27) /* 0.430665765 */, | ||
6573 | |||
6574 | /* 6160 */ 0x06e4638d | (18 << 27) /* 0.430759001 */, | ||
6575 | /* 6161 */ 0x06e4c552 | (18 << 27) /* 0.430852241 */, | ||
6576 | /* 6162 */ 0x06e52718 | (18 << 27) /* 0.430945487 */, | ||
6577 | /* 6163 */ 0x06e588e0 | (18 << 27) /* 0.431038737 */, | ||
6578 | /* 6164 */ 0x06e5eaa9 | (18 << 27) /* 0.431131993 */, | ||
6579 | /* 6165 */ 0x06e64c73 | (18 << 27) /* 0.431225253 */, | ||
6580 | /* 6166 */ 0x06e6ae3f | (18 << 27) /* 0.431318519 */, | ||
6581 | /* 6167 */ 0x06e7100c | (18 << 27) /* 0.431411790 */, | ||
6582 | /* 6168 */ 0x06e771db | (18 << 27) /* 0.431505065 */, | ||
6583 | /* 6169 */ 0x06e7d3ab | (18 << 27) /* 0.431598346 */, | ||
6584 | /* 6170 */ 0x06e8357c | (18 << 27) /* 0.431691632 */, | ||
6585 | /* 6171 */ 0x06e8974e | (18 << 27) /* 0.431784923 */, | ||
6586 | /* 6172 */ 0x06e8f922 | (18 << 27) /* 0.431878218 */, | ||
6587 | /* 6173 */ 0x06e95af8 | (18 << 27) /* 0.431971519 */, | ||
6588 | /* 6174 */ 0x06e9bcce | (18 << 27) /* 0.432064825 */, | ||
6589 | /* 6175 */ 0x06ea1ea6 | (18 << 27) /* 0.432158136 */, | ||
6590 | |||
6591 | /* 6176 */ 0x06ea807f | (18 << 27) /* 0.432251452 */, | ||
6592 | /* 6177 */ 0x06eae25a | (18 << 27) /* 0.432344773 */, | ||
6593 | /* 6178 */ 0x06eb4436 | (18 << 27) /* 0.432438099 */, | ||
6594 | /* 6179 */ 0x06eba614 | (18 << 27) /* 0.432531431 */, | ||
6595 | /* 6180 */ 0x06ec07f2 | (18 << 27) /* 0.432624767 */, | ||
6596 | /* 6181 */ 0x06ec69d2 | (18 << 27) /* 0.432718108 */, | ||
6597 | /* 6182 */ 0x06eccbb4 | (18 << 27) /* 0.432811454 */, | ||
6598 | /* 6183 */ 0x06ed2d97 | (18 << 27) /* 0.432904805 */, | ||
6599 | /* 6184 */ 0x06ed8f7b | (18 << 27) /* 0.432998162 */, | ||
6600 | /* 6185 */ 0x06edf160 | (18 << 27) /* 0.433091523 */, | ||
6601 | /* 6186 */ 0x06ee5347 | (18 << 27) /* 0.433184889 */, | ||
6602 | /* 6187 */ 0x06eeb52f | (18 << 27) /* 0.433278261 */, | ||
6603 | /* 6188 */ 0x06ef1719 | (18 << 27) /* 0.433371637 */, | ||
6604 | /* 6189 */ 0x06ef7904 | (18 << 27) /* 0.433465019 */, | ||
6605 | /* 6190 */ 0x06efdaf0 | (18 << 27) /* 0.433558405 */, | ||
6606 | /* 6191 */ 0x06f03cde | (18 << 27) /* 0.433651797 */, | ||
6607 | |||
6608 | /* 6192 */ 0x06f09ecc | (18 << 27) /* 0.433745193 */, | ||
6609 | /* 6193 */ 0x06f100bd | (18 << 27) /* 0.433838595 */, | ||
6610 | /* 6194 */ 0x06f162ae | (18 << 27) /* 0.433932001 */, | ||
6611 | /* 6195 */ 0x06f1c4a1 | (18 << 27) /* 0.434025413 */, | ||
6612 | /* 6196 */ 0x06f22696 | (18 << 27) /* 0.434118830 */, | ||
6613 | /* 6197 */ 0x06f2888b | (18 << 27) /* 0.434212251 */, | ||
6614 | /* 6198 */ 0x06f2ea82 | (18 << 27) /* 0.434305678 */, | ||
6615 | /* 6199 */ 0x06f34c7b | (18 << 27) /* 0.434399110 */, | ||
6616 | /* 6200 */ 0x06f3ae75 | (18 << 27) /* 0.434492546 */, | ||
6617 | /* 6201 */ 0x06f41070 | (18 << 27) /* 0.434585988 */, | ||
6618 | /* 6202 */ 0x06f4726c | (18 << 27) /* 0.434679435 */, | ||
6619 | /* 6203 */ 0x06f4d46a | (18 << 27) /* 0.434772887 */, | ||
6620 | /* 6204 */ 0x06f53669 | (18 << 27) /* 0.434866344 */, | ||
6621 | /* 6205 */ 0x06f59869 | (18 << 27) /* 0.434959806 */, | ||
6622 | /* 6206 */ 0x06f5fa6b | (18 << 27) /* 0.435053272 */, | ||
6623 | /* 6207 */ 0x06f65c6e | (18 << 27) /* 0.435146744 */, | ||
6624 | |||
6625 | /* 6208 */ 0x06f6be73 | (18 << 27) /* 0.435240221 */, | ||
6626 | /* 6209 */ 0x06f72079 | (18 << 27) /* 0.435333703 */, | ||
6627 | /* 6210 */ 0x06f78280 | (18 << 27) /* 0.435427190 */, | ||
6628 | /* 6211 */ 0x06f7e489 | (18 << 27) /* 0.435520682 */, | ||
6629 | /* 6212 */ 0x06f84693 | (18 << 27) /* 0.435614179 */, | ||
6630 | /* 6213 */ 0x06f8a89e | (18 << 27) /* 0.435707681 */, | ||
6631 | /* 6214 */ 0x06f90aaa | (18 << 27) /* 0.435801188 */, | ||
6632 | /* 6215 */ 0x06f96cb8 | (18 << 27) /* 0.435894700 */, | ||
6633 | /* 6216 */ 0x06f9cec8 | (18 << 27) /* 0.435988217 */, | ||
6634 | /* 6217 */ 0x06fa30d8 | (18 << 27) /* 0.436081739 */, | ||
6635 | /* 6218 */ 0x06fa92ea | (18 << 27) /* 0.436175266 */, | ||
6636 | /* 6219 */ 0x06faf4fe | (18 << 27) /* 0.436268799 */, | ||
6637 | /* 6220 */ 0x06fb5712 | (18 << 27) /* 0.436362336 */, | ||
6638 | /* 6221 */ 0x06fbb928 | (18 << 27) /* 0.436455878 */, | ||
6639 | /* 6222 */ 0x06fc1b40 | (18 << 27) /* 0.436549425 */, | ||
6640 | /* 6223 */ 0x06fc7d58 | (18 << 27) /* 0.436642977 */, | ||
6641 | |||
6642 | /* 6224 */ 0x06fcdf72 | (18 << 27) /* 0.436736534 */, | ||
6643 | /* 6225 */ 0x06fd418e | (18 << 27) /* 0.436830096 */, | ||
6644 | /* 6226 */ 0x06fda3ab | (18 << 27) /* 0.436923664 */, | ||
6645 | /* 6227 */ 0x06fe05c9 | (18 << 27) /* 0.437017236 */, | ||
6646 | /* 6228 */ 0x06fe67e8 | (18 << 27) /* 0.437110813 */, | ||
6647 | /* 6229 */ 0x06feca09 | (18 << 27) /* 0.437204395 */, | ||
6648 | /* 6230 */ 0x06ff2c2b | (18 << 27) /* 0.437297982 */, | ||
6649 | /* 6231 */ 0x06ff8e4f | (18 << 27) /* 0.437391575 */, | ||
6650 | /* 6232 */ 0x06fff073 | (18 << 27) /* 0.437485172 */, | ||
6651 | /* 6233 */ 0x0700529a | (18 << 27) /* 0.437578774 */, | ||
6652 | /* 6234 */ 0x0700b4c1 | (18 << 27) /* 0.437672381 */, | ||
6653 | /* 6235 */ 0x070116ea | (18 << 27) /* 0.437765994 */, | ||
6654 | /* 6236 */ 0x07017914 | (18 << 27) /* 0.437859611 */, | ||
6655 | /* 6237 */ 0x0701db40 | (18 << 27) /* 0.437953233 */, | ||
6656 | /* 6238 */ 0x07023d6c | (18 << 27) /* 0.438046860 */, | ||
6657 | /* 6239 */ 0x07029f9b | (18 << 27) /* 0.438140493 */, | ||
6658 | |||
6659 | /* 6240 */ 0x070301ca | (18 << 27) /* 0.438234130 */, | ||
6660 | /* 6241 */ 0x070363fb | (18 << 27) /* 0.438327772 */, | ||
6661 | /* 6242 */ 0x0703c62d | (18 << 27) /* 0.438421419 */, | ||
6662 | /* 6243 */ 0x07042861 | (18 << 27) /* 0.438515072 */, | ||
6663 | /* 6244 */ 0x07048a96 | (18 << 27) /* 0.438608729 */, | ||
6664 | /* 6245 */ 0x0704eccc | (18 << 27) /* 0.438702391 */, | ||
6665 | /* 6246 */ 0x07054f04 | (18 << 27) /* 0.438796059 */, | ||
6666 | /* 6247 */ 0x0705b13d | (18 << 27) /* 0.438889731 */, | ||
6667 | /* 6248 */ 0x07061377 | (18 << 27) /* 0.438983408 */, | ||
6668 | /* 6249 */ 0x070675b3 | (18 << 27) /* 0.439077090 */, | ||
6669 | /* 6250 */ 0x0706d7f0 | (18 << 27) /* 0.439170778 */, | ||
6670 | /* 6251 */ 0x07073a2e | (18 << 27) /* 0.439264470 */, | ||
6671 | /* 6252 */ 0x07079c6e | (18 << 27) /* 0.439358167 */, | ||
6672 | /* 6253 */ 0x0707feaf | (18 << 27) /* 0.439451869 */, | ||
6673 | /* 6254 */ 0x070860f1 | (18 << 27) /* 0.439545577 */, | ||
6674 | /* 6255 */ 0x0708c335 | (18 << 27) /* 0.439639289 */, | ||
6675 | |||
6676 | /* 6256 */ 0x0709257a | (18 << 27) /* 0.439733006 */, | ||
6677 | /* 6257 */ 0x070987c0 | (18 << 27) /* 0.439826728 */, | ||
6678 | /* 6258 */ 0x0709ea08 | (18 << 27) /* 0.439920456 */, | ||
6679 | /* 6259 */ 0x070a4c51 | (18 << 27) /* 0.440014188 */, | ||
6680 | /* 6260 */ 0x070aae9b | (18 << 27) /* 0.440107925 */, | ||
6681 | /* 6261 */ 0x070b10e7 | (18 << 27) /* 0.440201667 */, | ||
6682 | /* 6262 */ 0x070b7334 | (18 << 27) /* 0.440295414 */, | ||
6683 | /* 6263 */ 0x070bd583 | (18 << 27) /* 0.440389167 */, | ||
6684 | /* 6264 */ 0x070c37d2 | (18 << 27) /* 0.440482924 */, | ||
6685 | /* 6265 */ 0x070c9a23 | (18 << 27) /* 0.440576686 */, | ||
6686 | /* 6266 */ 0x070cfc76 | (18 << 27) /* 0.440670453 */, | ||
6687 | /* 6267 */ 0x070d5eca | (18 << 27) /* 0.440764225 */, | ||
6688 | /* 6268 */ 0x070dc11f | (18 << 27) /* 0.440858002 */, | ||
6689 | /* 6269 */ 0x070e2375 | (18 << 27) /* 0.440951784 */, | ||
6690 | /* 6270 */ 0x070e85cd | (18 << 27) /* 0.441045572 */, | ||
6691 | /* 6271 */ 0x070ee826 | (18 << 27) /* 0.441139364 */, | ||
6692 | |||
6693 | /* 6272 */ 0x070f4a80 | (18 << 27) /* 0.441233161 */, | ||
6694 | /* 6273 */ 0x070facdc | (18 << 27) /* 0.441326963 */, | ||
6695 | /* 6274 */ 0x07100f39 | (18 << 27) /* 0.441420770 */, | ||
6696 | /* 6275 */ 0x07107198 | (18 << 27) /* 0.441514582 */, | ||
6697 | /* 6276 */ 0x0710d3f8 | (18 << 27) /* 0.441608399 */, | ||
6698 | /* 6277 */ 0x07113659 | (18 << 27) /* 0.441702221 */, | ||
6699 | /* 6278 */ 0x071198bb | (18 << 27) /* 0.441796048 */, | ||
6700 | /* 6279 */ 0x0711fb1f | (18 << 27) /* 0.441889880 */, | ||
6701 | /* 6280 */ 0x07125d84 | (18 << 27) /* 0.441983717 */, | ||
6702 | /* 6281 */ 0x0712bfeb | (18 << 27) /* 0.442077559 */, | ||
6703 | /* 6282 */ 0x07132253 | (18 << 27) /* 0.442171406 */, | ||
6704 | /* 6283 */ 0x071384bc | (18 << 27) /* 0.442265257 */, | ||
6705 | /* 6284 */ 0x0713e726 | (18 << 27) /* 0.442359114 */, | ||
6706 | /* 6285 */ 0x07144992 | (18 << 27) /* 0.442452976 */, | ||
6707 | /* 6286 */ 0x0714abff | (18 << 27) /* 0.442546843 */, | ||
6708 | /* 6287 */ 0x07150e6e | (18 << 27) /* 0.442640715 */, | ||
6709 | |||
6710 | /* 6288 */ 0x071570de | (18 << 27) /* 0.442734592 */, | ||
6711 | /* 6289 */ 0x0715d34f | (18 << 27) /* 0.442828473 */, | ||
6712 | /* 6290 */ 0x071635c1 | (18 << 27) /* 0.442922360 */, | ||
6713 | /* 6291 */ 0x07169835 | (18 << 27) /* 0.443016252 */, | ||
6714 | /* 6292 */ 0x0716faaa | (18 << 27) /* 0.443110148 */, | ||
6715 | /* 6293 */ 0x07175d21 | (18 << 27) /* 0.443204050 */, | ||
6716 | /* 6294 */ 0x0717bf99 | (18 << 27) /* 0.443297957 */, | ||
6717 | /* 6295 */ 0x07182212 | (18 << 27) /* 0.443391868 */, | ||
6718 | /* 6296 */ 0x0718848d | (18 << 27) /* 0.443485785 */, | ||
6719 | /* 6297 */ 0x0718e709 | (18 << 27) /* 0.443579706 */, | ||
6720 | /* 6298 */ 0x07194986 | (18 << 27) /* 0.443673633 */, | ||
6721 | /* 6299 */ 0x0719ac04 | (18 << 27) /* 0.443767564 */, | ||
6722 | /* 6300 */ 0x071a0e84 | (18 << 27) /* 0.443861501 */, | ||
6723 | /* 6301 */ 0x071a7105 | (18 << 27) /* 0.443955442 */, | ||
6724 | /* 6302 */ 0x071ad388 | (18 << 27) /* 0.444049389 */, | ||
6725 | /* 6303 */ 0x071b360c | (18 << 27) /* 0.444143340 */, | ||
6726 | |||
6727 | /* 6304 */ 0x071b9891 | (18 << 27) /* 0.444237296 */, | ||
6728 | /* 6305 */ 0x071bfb18 | (18 << 27) /* 0.444331258 */, | ||
6729 | /* 6306 */ 0x071c5d9f | (18 << 27) /* 0.444425224 */, | ||
6730 | /* 6307 */ 0x071cc029 | (18 << 27) /* 0.444519195 */, | ||
6731 | /* 6308 */ 0x071d22b3 | (18 << 27) /* 0.444613171 */, | ||
6732 | /* 6309 */ 0x071d853f | (18 << 27) /* 0.444707153 */, | ||
6733 | /* 6310 */ 0x071de7cc | (18 << 27) /* 0.444801139 */, | ||
6734 | /* 6311 */ 0x071e4a5b | (18 << 27) /* 0.444895130 */, | ||
6735 | /* 6312 */ 0x071eaceb | (18 << 27) /* 0.444989126 */, | ||
6736 | /* 6313 */ 0x071f0f7c | (18 << 27) /* 0.445083127 */, | ||
6737 | /* 6314 */ 0x071f720e | (18 << 27) /* 0.445177133 */, | ||
6738 | /* 6315 */ 0x071fd4a2 | (18 << 27) /* 0.445271144 */, | ||
6739 | /* 6316 */ 0x07203737 | (18 << 27) /* 0.445365160 */, | ||
6740 | /* 6317 */ 0x072099ce | (18 << 27) /* 0.445459181 */, | ||
6741 | /* 6318 */ 0x0720fc66 | (18 << 27) /* 0.445553206 */, | ||
6742 | /* 6319 */ 0x07215eff | (18 << 27) /* 0.445647237 */, | ||
6743 | |||
6744 | /* 6320 */ 0x0721c19a | (18 << 27) /* 0.445741273 */, | ||
6745 | /* 6321 */ 0x07222436 | (18 << 27) /* 0.445835314 */, | ||
6746 | /* 6322 */ 0x072286d3 | (18 << 27) /* 0.445929359 */, | ||
6747 | /* 6323 */ 0x0722e971 | (18 << 27) /* 0.446023410 */, | ||
6748 | /* 6324 */ 0x07234c11 | (18 << 27) /* 0.446117466 */, | ||
6749 | /* 6325 */ 0x0723aeb2 | (18 << 27) /* 0.446211526 */, | ||
6750 | /* 6326 */ 0x07241155 | (18 << 27) /* 0.446305592 */, | ||
6751 | /* 6327 */ 0x072473f9 | (18 << 27) /* 0.446399662 */, | ||
6752 | /* 6328 */ 0x0724d69e | (18 << 27) /* 0.446493738 */, | ||
6753 | /* 6329 */ 0x07253944 | (18 << 27) /* 0.446587818 */, | ||
6754 | /* 6330 */ 0x07259bec | (18 << 27) /* 0.446681903 */, | ||
6755 | /* 6331 */ 0x0725fe95 | (18 << 27) /* 0.446775994 */, | ||
6756 | /* 6332 */ 0x07266140 | (18 << 27) /* 0.446870089 */, | ||
6757 | /* 6333 */ 0x0726c3ec | (18 << 27) /* 0.446964189 */, | ||
6758 | /* 6334 */ 0x07272699 | (18 << 27) /* 0.447058294 */, | ||
6759 | /* 6335 */ 0x07278947 | (18 << 27) /* 0.447152404 */, | ||
6760 | |||
6761 | /* 6336 */ 0x0727ebf7 | (18 << 27) /* 0.447246519 */, | ||
6762 | /* 6337 */ 0x07284ea8 | (18 << 27) /* 0.447340639 */, | ||
6763 | /* 6338 */ 0x0728b15b | (18 << 27) /* 0.447434764 */, | ||
6764 | /* 6339 */ 0x0729140f | (18 << 27) /* 0.447528894 */, | ||
6765 | /* 6340 */ 0x072976c4 | (18 << 27) /* 0.447623029 */, | ||
6766 | /* 6341 */ 0x0729d97a | (18 << 27) /* 0.447717169 */, | ||
6767 | /* 6342 */ 0x072a3c32 | (18 << 27) /* 0.447811314 */, | ||
6768 | /* 6343 */ 0x072a9eeb | (18 << 27) /* 0.447905463 */, | ||
6769 | /* 6344 */ 0x072b01a6 | (18 << 27) /* 0.447999618 */, | ||
6770 | /* 6345 */ 0x072b6461 | (18 << 27) /* 0.448093778 */, | ||
6771 | /* 6346 */ 0x072bc71e | (18 << 27) /* 0.448187942 */, | ||
6772 | /* 6347 */ 0x072c29dd | (18 << 27) /* 0.448282112 */, | ||
6773 | /* 6348 */ 0x072c8c9d | (18 << 27) /* 0.448376286 */, | ||
6774 | /* 6349 */ 0x072cef5e | (18 << 27) /* 0.448470466 */, | ||
6775 | /* 6350 */ 0x072d5220 | (18 << 27) /* 0.448564650 */, | ||
6776 | /* 6351 */ 0x072db4e4 | (18 << 27) /* 0.448658839 */, | ||
6777 | |||
6778 | /* 6352 */ 0x072e17a9 | (18 << 27) /* 0.448753033 */, | ||
6779 | /* 6353 */ 0x072e7a6f | (18 << 27) /* 0.448847233 */, | ||
6780 | /* 6354 */ 0x072edd37 | (18 << 27) /* 0.448941437 */, | ||
6781 | /* 6355 */ 0x072f4000 | (18 << 27) /* 0.449035646 */, | ||
6782 | /* 6356 */ 0x072fa2ca | (18 << 27) /* 0.449129860 */, | ||
6783 | /* 6357 */ 0x07300596 | (18 << 27) /* 0.449224079 */, | ||
6784 | /* 6358 */ 0x07306863 | (18 << 27) /* 0.449318303 */, | ||
6785 | /* 6359 */ 0x0730cb32 | (18 << 27) /* 0.449412531 */, | ||
6786 | /* 6360 */ 0x07312e01 | (18 << 27) /* 0.449506765 */, | ||
6787 | /* 6361 */ 0x073190d2 | (18 << 27) /* 0.449601004 */, | ||
6788 | /* 6362 */ 0x0731f3a5 | (18 << 27) /* 0.449695247 */, | ||
6789 | /* 6363 */ 0x07325678 | (18 << 27) /* 0.449789496 */, | ||
6790 | /* 6364 */ 0x0732b94d | (18 << 27) /* 0.449883749 */, | ||
6791 | /* 6365 */ 0x07331c23 | (18 << 27) /* 0.449978008 */, | ||
6792 | /* 6366 */ 0x07337efb | (18 << 27) /* 0.450072271 */, | ||
6793 | /* 6367 */ 0x0733e1d4 | (18 << 27) /* 0.450166540 */, | ||
6794 | |||
6795 | /* 6368 */ 0x073444ae | (18 << 27) /* 0.450260813 */, | ||
6796 | /* 6369 */ 0x0734a78a | (18 << 27) /* 0.450355091 */, | ||
6797 | /* 6370 */ 0x07350a67 | (18 << 27) /* 0.450449374 */, | ||
6798 | /* 6371 */ 0x07356d45 | (18 << 27) /* 0.450543662 */, | ||
6799 | /* 6372 */ 0x0735d025 | (18 << 27) /* 0.450637955 */, | ||
6800 | /* 6373 */ 0x07363306 | (18 << 27) /* 0.450732253 */, | ||
6801 | /* 6374 */ 0x073695e8 | (18 << 27) /* 0.450826556 */, | ||
6802 | /* 6375 */ 0x0736f8cb | (18 << 27) /* 0.450920864 */, | ||
6803 | /* 6376 */ 0x07375bb0 | (18 << 27) /* 0.451015176 */, | ||
6804 | /* 6377 */ 0x0737be96 | (18 << 27) /* 0.451109494 */, | ||
6805 | /* 6378 */ 0x0738217e | (18 << 27) /* 0.451203817 */, | ||
6806 | /* 6379 */ 0x07388467 | (18 << 27) /* 0.451298144 */, | ||
6807 | /* 6380 */ 0x0738e751 | (18 << 27) /* 0.451392477 */, | ||
6808 | /* 6381 */ 0x07394a3d | (18 << 27) /* 0.451486814 */, | ||
6809 | /* 6382 */ 0x0739ad29 | (18 << 27) /* 0.451581156 */, | ||
6810 | /* 6383 */ 0x073a1017 | (18 << 27) /* 0.451675503 */, | ||
6811 | |||
6812 | /* 6384 */ 0x073a7307 | (18 << 27) /* 0.451769856 */, | ||
6813 | /* 6385 */ 0x073ad5f8 | (18 << 27) /* 0.451864213 */, | ||
6814 | /* 6386 */ 0x073b38ea | (18 << 27) /* 0.451958575 */, | ||
6815 | /* 6387 */ 0x073b9bdd | (18 << 27) /* 0.452052942 */, | ||
6816 | /* 6388 */ 0x073bfed2 | (18 << 27) /* 0.452147313 */, | ||
6817 | /* 6389 */ 0x073c61c8 | (18 << 27) /* 0.452241690 */, | ||
6818 | /* 6390 */ 0x073cc4bf | (18 << 27) /* 0.452336072 */, | ||
6819 | /* 6391 */ 0x073d27b8 | (18 << 27) /* 0.452430458 */, | ||
6820 | /* 6392 */ 0x073d8ab2 | (18 << 27) /* 0.452524850 */, | ||
6821 | /* 6393 */ 0x073dedae | (18 << 27) /* 0.452619246 */, | ||
6822 | /* 6394 */ 0x073e50aa | (18 << 27) /* 0.452713648 */, | ||
6823 | /* 6395 */ 0x073eb3a8 | (18 << 27) /* 0.452808054 */, | ||
6824 | /* 6396 */ 0x073f16a8 | (18 << 27) /* 0.452902465 */, | ||
6825 | /* 6397 */ 0x073f79a8 | (18 << 27) /* 0.452996882 */, | ||
6826 | /* 6398 */ 0x073fdcaa | (18 << 27) /* 0.453091303 */, | ||
6827 | /* 6399 */ 0x07403fad | (18 << 27) /* 0.453185729 */, | ||
6828 | |||
6829 | /* 6400 */ 0x0740a2b2 | (18 << 27) /* 0.453280160 */, | ||
6830 | /* 6401 */ 0x074105b8 | (18 << 27) /* 0.453374595 */, | ||
6831 | /* 6402 */ 0x074168bf | (18 << 27) /* 0.453469036 */, | ||
6832 | /* 6403 */ 0x0741cbc8 | (18 << 27) /* 0.453563482 */, | ||
6833 | /* 6404 */ 0x07422ed2 | (18 << 27) /* 0.453657932 */, | ||
6834 | /* 6405 */ 0x074291dd | (18 << 27) /* 0.453752388 */, | ||
6835 | /* 6406 */ 0x0742f4e9 | (18 << 27) /* 0.453846848 */, | ||
6836 | /* 6407 */ 0x074357f7 | (18 << 27) /* 0.453941314 */, | ||
6837 | /* 6408 */ 0x0743bb06 | (18 << 27) /* 0.454035784 */, | ||
6838 | /* 6409 */ 0x07441e17 | (18 << 27) /* 0.454130259 */, | ||
6839 | /* 6410 */ 0x07448129 | (18 << 27) /* 0.454224739 */, | ||
6840 | /* 6411 */ 0x0744e43c | (18 << 27) /* 0.454319224 */, | ||
6841 | /* 6412 */ 0x07454750 | (18 << 27) /* 0.454413714 */, | ||
6842 | /* 6413 */ 0x0745aa66 | (18 << 27) /* 0.454508209 */, | ||
6843 | /* 6414 */ 0x07460d7d | (18 << 27) /* 0.454602708 */, | ||
6844 | /* 6415 */ 0x07467095 | (18 << 27) /* 0.454697213 */, | ||
6845 | |||
6846 | /* 6416 */ 0x0746d3af | (18 << 27) /* 0.454791723 */, | ||
6847 | /* 6417 */ 0x074736ca | (18 << 27) /* 0.454886237 */, | ||
6848 | /* 6418 */ 0x074799e7 | (18 << 27) /* 0.454980756 */, | ||
6849 | /* 6419 */ 0x0747fd04 | (18 << 27) /* 0.455075281 */, | ||
6850 | /* 6420 */ 0x07486023 | (18 << 27) /* 0.455169810 */, | ||
6851 | /* 6421 */ 0x0748c344 | (18 << 27) /* 0.455264344 */, | ||
6852 | /* 6422 */ 0x07492665 | (18 << 27) /* 0.455358883 */, | ||
6853 | /* 6423 */ 0x07498988 | (18 << 27) /* 0.455453427 */, | ||
6854 | /* 6424 */ 0x0749ecac | (18 << 27) /* 0.455547976 */, | ||
6855 | /* 6425 */ 0x074a4fd2 | (18 << 27) /* 0.455642529 */, | ||
6856 | /* 6426 */ 0x074ab2f9 | (18 << 27) /* 0.455737088 */, | ||
6857 | /* 6427 */ 0x074b1621 | (18 << 27) /* 0.455831652 */, | ||
6858 | /* 6428 */ 0x074b794b | (18 << 27) /* 0.455926220 */, | ||
6859 | /* 6429 */ 0x074bdc75 | (18 << 27) /* 0.456020793 */, | ||
6860 | /* 6430 */ 0x074c3fa1 | (18 << 27) /* 0.456115372 */, | ||
6861 | /* 6431 */ 0x074ca2cf | (18 << 27) /* 0.456209955 */, | ||
6862 | |||
6863 | /* 6432 */ 0x074d05fe | (18 << 27) /* 0.456304543 */, | ||
6864 | /* 6433 */ 0x074d692e | (18 << 27) /* 0.456399136 */, | ||
6865 | /* 6434 */ 0x074dcc5f | (18 << 27) /* 0.456493733 */, | ||
6866 | /* 6435 */ 0x074e2f92 | (18 << 27) /* 0.456588336 */, | ||
6867 | /* 6436 */ 0x074e92c6 | (18 << 27) /* 0.456682944 */, | ||
6868 | /* 6437 */ 0x074ef5fb | (18 << 27) /* 0.456777556 */, | ||
6869 | /* 6438 */ 0x074f5932 | (18 << 27) /* 0.456872174 */, | ||
6870 | /* 6439 */ 0x074fbc6a | (18 << 27) /* 0.456966796 */, | ||
6871 | /* 6440 */ 0x07501fa3 | (18 << 27) /* 0.457061423 */, | ||
6872 | /* 6441 */ 0x075082de | (18 << 27) /* 0.457156056 */, | ||
6873 | /* 6442 */ 0x0750e61a | (18 << 27) /* 0.457250693 */, | ||
6874 | /* 6443 */ 0x07514957 | (18 << 27) /* 0.457345335 */, | ||
6875 | /* 6444 */ 0x0751ac96 | (18 << 27) /* 0.457439981 */, | ||
6876 | /* 6445 */ 0x07520fd6 | (18 << 27) /* 0.457534633 */, | ||
6877 | /* 6446 */ 0x07527317 | (18 << 27) /* 0.457629290 */, | ||
6878 | /* 6447 */ 0x0752d659 | (18 << 27) /* 0.457723951 */, | ||
6879 | |||
6880 | /* 6448 */ 0x0753399d | (18 << 27) /* 0.457818618 */, | ||
6881 | /* 6449 */ 0x07539ce2 | (18 << 27) /* 0.457913289 */, | ||
6882 | /* 6450 */ 0x07540029 | (18 << 27) /* 0.458007965 */, | ||
6883 | /* 6451 */ 0x07546371 | (18 << 27) /* 0.458102646 */, | ||
6884 | /* 6452 */ 0x0754c6ba | (18 << 27) /* 0.458197332 */, | ||
6885 | /* 6453 */ 0x07552a04 | (18 << 27) /* 0.458292023 */, | ||
6886 | /* 6454 */ 0x07558d50 | (18 << 27) /* 0.458386719 */, | ||
6887 | /* 6455 */ 0x0755f09d | (18 << 27) /* 0.458481420 */, | ||
6888 | /* 6456 */ 0x075653eb | (18 << 27) /* 0.458576125 */, | ||
6889 | /* 6457 */ 0x0756b73b | (18 << 27) /* 0.458670836 */, | ||
6890 | /* 6458 */ 0x07571a8c | (18 << 27) /* 0.458765551 */, | ||
6891 | /* 6459 */ 0x07577dde | (18 << 27) /* 0.458860271 */, | ||
6892 | /* 6460 */ 0x0757e131 | (18 << 27) /* 0.458954996 */, | ||
6893 | /* 6461 */ 0x07584486 | (18 << 27) /* 0.459049726 */, | ||
6894 | /* 6462 */ 0x0758a7dd | (18 << 27) /* 0.459144461 */, | ||
6895 | /* 6463 */ 0x07590b34 | (18 << 27) /* 0.459239201 */, | ||
6896 | |||
6897 | /* 6464 */ 0x07596e8d | (18 << 27) /* 0.459333946 */, | ||
6898 | /* 6465 */ 0x0759d1e7 | (18 << 27) /* 0.459428695 */, | ||
6899 | /* 6466 */ 0x075a3542 | (18 << 27) /* 0.459523450 */, | ||
6900 | /* 6467 */ 0x075a989f | (18 << 27) /* 0.459618209 */, | ||
6901 | /* 6468 */ 0x075afbfd | (18 << 27) /* 0.459712973 */, | ||
6902 | /* 6469 */ 0x075b5f5d | (18 << 27) /* 0.459807742 */, | ||
6903 | /* 6470 */ 0x075bc2bd | (18 << 27) /* 0.459902516 */, | ||
6904 | /* 6471 */ 0x075c261f | (18 << 27) /* 0.459997295 */, | ||
6905 | /* 6472 */ 0x075c8983 | (18 << 27) /* 0.460092079 */, | ||
6906 | /* 6473 */ 0x075cece7 | (18 << 27) /* 0.460186867 */, | ||
6907 | /* 6474 */ 0x075d504d | (18 << 27) /* 0.460281661 */, | ||
6908 | /* 6475 */ 0x075db3b5 | (18 << 27) /* 0.460376459 */, | ||
6909 | /* 6476 */ 0x075e171d | (18 << 27) /* 0.460471262 */, | ||
6910 | /* 6477 */ 0x075e7a87 | (18 << 27) /* 0.460566071 */, | ||
6911 | /* 6478 */ 0x075eddf2 | (18 << 27) /* 0.460660884 */, | ||
6912 | /* 6479 */ 0x075f415f | (18 << 27) /* 0.460755701 */, | ||
6913 | |||
6914 | /* 6480 */ 0x075fa4cc | (18 << 27) /* 0.460850524 */, | ||
6915 | /* 6481 */ 0x0760083b | (18 << 27) /* 0.460945352 */, | ||
6916 | /* 6482 */ 0x07606bac | (18 << 27) /* 0.461040184 */, | ||
6917 | /* 6483 */ 0x0760cf1e | (18 << 27) /* 0.461135022 */, | ||
6918 | /* 6484 */ 0x07613291 | (18 << 27) /* 0.461229864 */, | ||
6919 | /* 6485 */ 0x07619605 | (18 << 27) /* 0.461324711 */, | ||
6920 | /* 6486 */ 0x0761f97b | (18 << 27) /* 0.461419563 */, | ||
6921 | /* 6487 */ 0x07625cf2 | (18 << 27) /* 0.461514420 */, | ||
6922 | /* 6488 */ 0x0762c06a | (18 << 27) /* 0.461609282 */, | ||
6923 | /* 6489 */ 0x076323e3 | (18 << 27) /* 0.461704149 */, | ||
6924 | /* 6490 */ 0x0763875e | (18 << 27) /* 0.461799020 */, | ||
6925 | /* 6491 */ 0x0763eadb | (18 << 27) /* 0.461893897 */, | ||
6926 | /* 6492 */ 0x07644e58 | (18 << 27) /* 0.461988778 */, | ||
6927 | /* 6493 */ 0x0764b1d7 | (18 << 27) /* 0.462083664 */, | ||
6928 | /* 6494 */ 0x07651557 | (18 << 27) /* 0.462178555 */, | ||
6929 | /* 6495 */ 0x076578d8 | (18 << 27) /* 0.462273451 */, | ||
6930 | |||
6931 | /* 6496 */ 0x0765dc5b | (18 << 27) /* 0.462368352 */, | ||
6932 | /* 6497 */ 0x07663fdf | (18 << 27) /* 0.462463257 */, | ||
6933 | /* 6498 */ 0x0766a364 | (18 << 27) /* 0.462558168 */, | ||
6934 | /* 6499 */ 0x076706eb | (18 << 27) /* 0.462653083 */, | ||
6935 | /* 6500 */ 0x07676a73 | (18 << 27) /* 0.462748003 */, | ||
6936 | /* 6501 */ 0x0767cdfc | (18 << 27) /* 0.462842928 */, | ||
6937 | /* 6502 */ 0x07683187 | (18 << 27) /* 0.462937858 */, | ||
6938 | /* 6503 */ 0x07689513 | (18 << 27) /* 0.463032793 */, | ||
6939 | /* 6504 */ 0x0768f8a0 | (18 << 27) /* 0.463127733 */, | ||
6940 | /* 6505 */ 0x07695c2e | (18 << 27) /* 0.463222678 */, | ||
6941 | /* 6506 */ 0x0769bfbe | (18 << 27) /* 0.463317627 */, | ||
6942 | /* 6507 */ 0x076a234f | (18 << 27) /* 0.463412581 */, | ||
6943 | /* 6508 */ 0x076a86e2 | (18 << 27) /* 0.463507540 */, | ||
6944 | /* 6509 */ 0x076aea75 | (18 << 27) /* 0.463602504 */, | ||
6945 | /* 6510 */ 0x076b4e0a | (18 << 27) /* 0.463697473 */, | ||
6946 | /* 6511 */ 0x076bb1a1 | (18 << 27) /* 0.463792447 */, | ||
6947 | |||
6948 | /* 6512 */ 0x076c1538 | (18 << 27) /* 0.463887426 */, | ||
6949 | /* 6513 */ 0x076c78d1 | (18 << 27) /* 0.463982409 */, | ||
6950 | /* 6514 */ 0x076cdc6c | (18 << 27) /* 0.464077398 */, | ||
6951 | /* 6515 */ 0x076d4007 | (18 << 27) /* 0.464172391 */, | ||
6952 | /* 6516 */ 0x076da3a4 | (18 << 27) /* 0.464267389 */, | ||
6953 | /* 6517 */ 0x076e0742 | (18 << 27) /* 0.464362392 */, | ||
6954 | /* 6518 */ 0x076e6ae2 | (18 << 27) /* 0.464457399 */, | ||
6955 | /* 6519 */ 0x076ece82 | (18 << 27) /* 0.464552412 */, | ||
6956 | /* 6520 */ 0x076f3224 | (18 << 27) /* 0.464647430 */, | ||
6957 | /* 6521 */ 0x076f95c8 | (18 << 27) /* 0.464742452 */, | ||
6958 | /* 6522 */ 0x076ff96c | (18 << 27) /* 0.464837479 */, | ||
6959 | /* 6523 */ 0x07705d12 | (18 << 27) /* 0.464932511 */, | ||
6960 | /* 6524 */ 0x0770c0ba | (18 << 27) /* 0.465027548 */, | ||
6961 | /* 6525 */ 0x07712462 | (18 << 27) /* 0.465122590 */, | ||
6962 | /* 6526 */ 0x0771880c | (18 << 27) /* 0.465217637 */, | ||
6963 | /* 6527 */ 0x0771ebb7 | (18 << 27) /* 0.465312688 */, | ||
6964 | |||
6965 | /* 6528 */ 0x07724f64 | (18 << 27) /* 0.465407744 */, | ||
6966 | /* 6529 */ 0x0772b312 | (18 << 27) /* 0.465502806 */, | ||
6967 | /* 6530 */ 0x077316c1 | (18 << 27) /* 0.465597872 */, | ||
6968 | /* 6531 */ 0x07737a71 | (18 << 27) /* 0.465692943 */, | ||
6969 | /* 6532 */ 0x0773de23 | (18 << 27) /* 0.465788018 */, | ||
6970 | /* 6533 */ 0x077441d6 | (18 << 27) /* 0.465883099 */, | ||
6971 | /* 6534 */ 0x0774a58a | (18 << 27) /* 0.465978184 */, | ||
6972 | /* 6535 */ 0x07750940 | (18 << 27) /* 0.466073275 */, | ||
6973 | /* 6536 */ 0x07756cf7 | (18 << 27) /* 0.466168370 */, | ||
6974 | /* 6537 */ 0x0775d0af | (18 << 27) /* 0.466263470 */, | ||
6975 | /* 6538 */ 0x07763468 | (18 << 27) /* 0.466358575 */, | ||
6976 | /* 6539 */ 0x07769823 | (18 << 27) /* 0.466453684 */, | ||
6977 | /* 6540 */ 0x0776fbdf | (18 << 27) /* 0.466548799 */, | ||
6978 | /* 6541 */ 0x07775f9d | (18 << 27) /* 0.466643918 */, | ||
6979 | /* 6542 */ 0x0777c35c | (18 << 27) /* 0.466739043 */, | ||
6980 | /* 6543 */ 0x0778271c | (18 << 27) /* 0.466834172 */, | ||
6981 | |||
6982 | /* 6544 */ 0x07788add | (18 << 27) /* 0.466929306 */, | ||
6983 | /* 6545 */ 0x0778ee9f | (18 << 27) /* 0.467024445 */, | ||
6984 | /* 6546 */ 0x07795263 | (18 << 27) /* 0.467119588 */, | ||
6985 | /* 6547 */ 0x0779b629 | (18 << 27) /* 0.467214737 */, | ||
6986 | /* 6548 */ 0x077a19ef | (18 << 27) /* 0.467309890 */, | ||
6987 | /* 6549 */ 0x077a7db7 | (18 << 27) /* 0.467405048 */, | ||
6988 | /* 6550 */ 0x077ae180 | (18 << 27) /* 0.467500211 */, | ||
6989 | /* 6551 */ 0x077b454b | (18 << 27) /* 0.467595379 */, | ||
6990 | /* 6552 */ 0x077ba916 | (18 << 27) /* 0.467690552 */, | ||
6991 | /* 6553 */ 0x077c0ce3 | (18 << 27) /* 0.467785729 */, | ||
6992 | /* 6554 */ 0x077c70b2 | (18 << 27) /* 0.467880912 */, | ||
6993 | /* 6555 */ 0x077cd481 | (18 << 27) /* 0.467976099 */, | ||
6994 | /* 6556 */ 0x077d3852 | (18 << 27) /* 0.468071291 */, | ||
6995 | /* 6557 */ 0x077d9c24 | (18 << 27) /* 0.468166488 */, | ||
6996 | /* 6558 */ 0x077dfff8 | (18 << 27) /* 0.468261690 */, | ||
6997 | /* 6559 */ 0x077e63cd | (18 << 27) /* 0.468356896 */, | ||
6998 | |||
6999 | /* 6560 */ 0x077ec7a3 | (18 << 27) /* 0.468452108 */, | ||
7000 | /* 6561 */ 0x077f2b7a | (18 << 27) /* 0.468547324 */, | ||
7001 | /* 6562 */ 0x077f8f53 | (18 << 27) /* 0.468642545 */, | ||
7002 | /* 6563 */ 0x077ff32d | (18 << 27) /* 0.468737771 */, | ||
7003 | /* 6564 */ 0x07805708 | (18 << 27) /* 0.468833002 */, | ||
7004 | /* 6565 */ 0x0780bae5 | (18 << 27) /* 0.468928237 */, | ||
7005 | /* 6566 */ 0x07811ec3 | (18 << 27) /* 0.469023478 */, | ||
7006 | /* 6567 */ 0x078182a2 | (18 << 27) /* 0.469118723 */, | ||
7007 | /* 6568 */ 0x0781e683 | (18 << 27) /* 0.469213973 */, | ||
7008 | /* 6569 */ 0x07824a64 | (18 << 27) /* 0.469309228 */, | ||
7009 | /* 6570 */ 0x0782ae47 | (18 << 27) /* 0.469404488 */, | ||
7010 | /* 6571 */ 0x0783122c | (18 << 27) /* 0.469499752 */, | ||
7011 | /* 6572 */ 0x07837612 | (18 << 27) /* 0.469595022 */, | ||
7012 | /* 6573 */ 0x0783d9f9 | (18 << 27) /* 0.469690296 */, | ||
7013 | /* 6574 */ 0x07843de1 | (18 << 27) /* 0.469785575 */, | ||
7014 | /* 6575 */ 0x0784a1ca | (18 << 27) /* 0.469880859 */, | ||
7015 | |||
7016 | /* 6576 */ 0x078505b5 | (18 << 27) /* 0.469976148 */, | ||
7017 | /* 6577 */ 0x078569a2 | (18 << 27) /* 0.470071442 */, | ||
7018 | /* 6578 */ 0x0785cd8f | (18 << 27) /* 0.470166740 */, | ||
7019 | /* 6579 */ 0x0786317e | (18 << 27) /* 0.470262043 */, | ||
7020 | /* 6580 */ 0x0786956e | (18 << 27) /* 0.470357351 */, | ||
7021 | /* 6581 */ 0x0786f95f | (18 << 27) /* 0.470452664 */, | ||
7022 | /* 6582 */ 0x07875d52 | (18 << 27) /* 0.470547982 */, | ||
7023 | /* 6583 */ 0x0787c146 | (18 << 27) /* 0.470643305 */, | ||
7024 | /* 6584 */ 0x0788253b | (18 << 27) /* 0.470738632 */, | ||
7025 | /* 6585 */ 0x07888932 | (18 << 27) /* 0.470833964 */, | ||
7026 | /* 6586 */ 0x0788ed2a | (18 << 27) /* 0.470929301 */, | ||
7027 | /* 6587 */ 0x07895123 | (18 << 27) /* 0.471024643 */, | ||
7028 | /* 6588 */ 0x0789b51d | (18 << 27) /* 0.471119990 */, | ||
7029 | /* 6589 */ 0x078a1919 | (18 << 27) /* 0.471215341 */, | ||
7030 | /* 6590 */ 0x078a7d16 | (18 << 27) /* 0.471310698 */, | ||
7031 | /* 6591 */ 0x078ae114 | (18 << 27) /* 0.471406059 */, | ||
7032 | |||
7033 | /* 6592 */ 0x078b4514 | (18 << 27) /* 0.471501425 */, | ||
7034 | /* 6593 */ 0x078ba915 | (18 << 27) /* 0.471596796 */, | ||
7035 | /* 6594 */ 0x078c0d17 | (18 << 27) /* 0.471692171 */, | ||
7036 | /* 6595 */ 0x078c711a | (18 << 27) /* 0.471787552 */, | ||
7037 | /* 6596 */ 0x078cd51f | (18 << 27) /* 0.471882937 */, | ||
7038 | /* 6597 */ 0x078d3925 | (18 << 27) /* 0.471978327 */, | ||
7039 | /* 6598 */ 0x078d9d2d | (18 << 27) /* 0.472073722 */, | ||
7040 | /* 6599 */ 0x078e0135 | (18 << 27) /* 0.472169122 */, | ||
7041 | /* 6600 */ 0x078e653f | (18 << 27) /* 0.472264527 */, | ||
7042 | /* 6601 */ 0x078ec94b | (18 << 27) /* 0.472359936 */, | ||
7043 | /* 6602 */ 0x078f2d57 | (18 << 27) /* 0.472455350 */, | ||
7044 | /* 6603 */ 0x078f9165 | (18 << 27) /* 0.472550769 */, | ||
7045 | /* 6604 */ 0x078ff574 | (18 << 27) /* 0.472646193 */, | ||
7046 | /* 6605 */ 0x07905985 | (18 << 27) /* 0.472741622 */, | ||
7047 | /* 6606 */ 0x0790bd96 | (18 << 27) /* 0.472837055 */, | ||
7048 | /* 6607 */ 0x079121a9 | (18 << 27) /* 0.472932493 */, | ||
7049 | |||
7050 | /* 6608 */ 0x079185be | (18 << 27) /* 0.473027937 */, | ||
7051 | /* 6609 */ 0x0791e9d3 | (18 << 27) /* 0.473123384 */, | ||
7052 | /* 6610 */ 0x07924dea | (18 << 27) /* 0.473218837 */, | ||
7053 | /* 6611 */ 0x0792b202 | (18 << 27) /* 0.473314295 */, | ||
7054 | /* 6612 */ 0x0793161c | (18 << 27) /* 0.473409757 */, | ||
7055 | /* 6613 */ 0x07937a37 | (18 << 27) /* 0.473505224 */, | ||
7056 | /* 6614 */ 0x0793de53 | (18 << 27) /* 0.473600696 */, | ||
7057 | /* 6615 */ 0x07944270 | (18 << 27) /* 0.473696173 */, | ||
7058 | /* 6616 */ 0x0794a68f | (18 << 27) /* 0.473791655 */, | ||
7059 | /* 6617 */ 0x07950aaf | (18 << 27) /* 0.473887141 */, | ||
7060 | /* 6618 */ 0x07956ed0 | (18 << 27) /* 0.473982632 */, | ||
7061 | /* 6619 */ 0x0795d2f2 | (18 << 27) /* 0.474078128 */, | ||
7062 | /* 6620 */ 0x07963716 | (18 << 27) /* 0.474173629 */, | ||
7063 | /* 6621 */ 0x07969b3b | (18 << 27) /* 0.474269135 */, | ||
7064 | /* 6622 */ 0x0796ff62 | (18 << 27) /* 0.474364645 */, | ||
7065 | /* 6623 */ 0x07976389 | (18 << 27) /* 0.474460161 */, | ||
7066 | |||
7067 | /* 6624 */ 0x0797c7b2 | (18 << 27) /* 0.474555681 */, | ||
7068 | /* 6625 */ 0x07982bdd | (18 << 27) /* 0.474651205 */, | ||
7069 | /* 6626 */ 0x07989008 | (18 << 27) /* 0.474746735 */, | ||
7070 | /* 6627 */ 0x0798f435 | (18 << 27) /* 0.474842270 */, | ||
7071 | /* 6628 */ 0x07995863 | (18 << 27) /* 0.474937809 */, | ||
7072 | /* 6629 */ 0x0799bc92 | (18 << 27) /* 0.475033353 */, | ||
7073 | /* 6630 */ 0x079a20c3 | (18 << 27) /* 0.475128902 */, | ||
7074 | /* 6631 */ 0x079a84f5 | (18 << 27) /* 0.475224456 */, | ||
7075 | /* 6632 */ 0x079ae929 | (18 << 27) /* 0.475320014 */, | ||
7076 | /* 6633 */ 0x079b4d5d | (18 << 27) /* 0.475415578 */, | ||
7077 | /* 6634 */ 0x079bb193 | (18 << 27) /* 0.475511146 */, | ||
7078 | /* 6635 */ 0x079c15ca | (18 << 27) /* 0.475606719 */, | ||
7079 | /* 6636 */ 0x079c7a03 | (18 << 27) /* 0.475702296 */, | ||
7080 | /* 6637 */ 0x079cde3c | (18 << 27) /* 0.475797879 */, | ||
7081 | /* 6638 */ 0x079d4277 | (18 << 27) /* 0.475893466 */, | ||
7082 | /* 6639 */ 0x079da6b4 | (18 << 27) /* 0.475989058 */, | ||
7083 | |||
7084 | /* 6640 */ 0x079e0af1 | (18 << 27) /* 0.476084655 */, | ||
7085 | /* 6641 */ 0x079e6f30 | (18 << 27) /* 0.476180257 */, | ||
7086 | /* 6642 */ 0x079ed370 | (18 << 27) /* 0.476275863 */, | ||
7087 | /* 6643 */ 0x079f37b2 | (18 << 27) /* 0.476371475 */, | ||
7088 | /* 6644 */ 0x079f9bf5 | (18 << 27) /* 0.476467091 */, | ||
7089 | /* 6645 */ 0x07a00039 | (18 << 27) /* 0.476562712 */, | ||
7090 | /* 6646 */ 0x07a0647e | (18 << 27) /* 0.476658338 */, | ||
7091 | /* 6647 */ 0x07a0c8c5 | (18 << 27) /* 0.476753968 */, | ||
7092 | /* 6648 */ 0x07a12d0c | (18 << 27) /* 0.476849603 */, | ||
7093 | /* 6649 */ 0x07a19156 | (18 << 27) /* 0.476945243 */, | ||
7094 | /* 6650 */ 0x07a1f5a0 | (18 << 27) /* 0.477040888 */, | ||
7095 | /* 6651 */ 0x07a259ec | (18 << 27) /* 0.477136538 */, | ||
7096 | /* 6652 */ 0x07a2be39 | (18 << 27) /* 0.477232193 */, | ||
7097 | /* 6653 */ 0x07a32287 | (18 << 27) /* 0.477327852 */, | ||
7098 | /* 6654 */ 0x07a386d7 | (18 << 27) /* 0.477423516 */, | ||
7099 | /* 6655 */ 0x07a3eb28 | (18 << 27) /* 0.477519185 */, | ||
7100 | |||
7101 | /* 6656 */ 0x07a44f7a | (18 << 27) /* 0.477614858 */, | ||
7102 | /* 6657 */ 0x07a4b3ce | (18 << 27) /* 0.477710537 */, | ||
7103 | /* 6658 */ 0x07a51822 | (18 << 27) /* 0.477806220 */, | ||
7104 | /* 6659 */ 0x07a57c78 | (18 << 27) /* 0.477901908 */, | ||
7105 | /* 6660 */ 0x07a5e0d0 | (18 << 27) /* 0.477997601 */, | ||
7106 | /* 6661 */ 0x07a64528 | (18 << 27) /* 0.478093299 */, | ||
7107 | /* 6662 */ 0x07a6a982 | (18 << 27) /* 0.478189001 */, | ||
7108 | /* 6663 */ 0x07a70ddd | (18 << 27) /* 0.478284708 */, | ||
7109 | /* 6664 */ 0x07a7723a | (18 << 27) /* 0.478380420 */, | ||
7110 | /* 6665 */ 0x07a7d698 | (18 << 27) /* 0.478476137 */, | ||
7111 | /* 6666 */ 0x07a83af7 | (18 << 27) /* 0.478571858 */, | ||
7112 | /* 6667 */ 0x07a89f57 | (18 << 27) /* 0.478667585 */, | ||
7113 | /* 6668 */ 0x07a903b9 | (18 << 27) /* 0.478763316 */, | ||
7114 | /* 6669 */ 0x07a9681c | (18 << 27) /* 0.478859052 */, | ||
7115 | /* 6670 */ 0x07a9cc80 | (18 << 27) /* 0.478954793 */, | ||
7116 | /* 6671 */ 0x07aa30e5 | (18 << 27) /* 0.479050538 */, | ||
7117 | |||
7118 | /* 6672 */ 0x07aa954c | (18 << 27) /* 0.479146288 */, | ||
7119 | /* 6673 */ 0x07aaf9b4 | (18 << 27) /* 0.479242043 */, | ||
7120 | /* 6674 */ 0x07ab5e1e | (18 << 27) /* 0.479337803 */, | ||
7121 | /* 6675 */ 0x07abc288 | (18 << 27) /* 0.479433568 */, | ||
7122 | /* 6676 */ 0x07ac26f4 | (18 << 27) /* 0.479529337 */, | ||
7123 | /* 6677 */ 0x07ac8b61 | (18 << 27) /* 0.479625111 */, | ||
7124 | /* 6678 */ 0x07acefd0 | (18 << 27) /* 0.479720890 */, | ||
7125 | /* 6679 */ 0x07ad543f | (18 << 27) /* 0.479816674 */, | ||
7126 | /* 6680 */ 0x07adb8b0 | (18 << 27) /* 0.479912463 */, | ||
7127 | /* 6681 */ 0x07ae1d23 | (18 << 27) /* 0.480008256 */, | ||
7128 | /* 6682 */ 0x07ae8196 | (18 << 27) /* 0.480104054 */, | ||
7129 | /* 6683 */ 0x07aee60b | (18 << 27) /* 0.480199857 */, | ||
7130 | /* 6684 */ 0x07af4a81 | (18 << 27) /* 0.480295664 */, | ||
7131 | /* 6685 */ 0x07afaef9 | (18 << 27) /* 0.480391477 */, | ||
7132 | /* 6686 */ 0x07b01372 | (18 << 27) /* 0.480487294 */, | ||
7133 | /* 6687 */ 0x07b077ec | (18 << 27) /* 0.480583116 */, | ||
7134 | |||
7135 | /* 6688 */ 0x07b0dc67 | (18 << 27) /* 0.480678943 */, | ||
7136 | /* 6689 */ 0x07b140e4 | (18 << 27) /* 0.480774774 */, | ||
7137 | /* 6690 */ 0x07b1a561 | (18 << 27) /* 0.480870611 */, | ||
7138 | /* 6691 */ 0x07b209e1 | (18 << 27) /* 0.480966452 */, | ||
7139 | /* 6692 */ 0x07b26e61 | (18 << 27) /* 0.481062298 */, | ||
7140 | /* 6693 */ 0x07b2d2e3 | (18 << 27) /* 0.481158148 */, | ||
7141 | /* 6694 */ 0x07b33766 | (18 << 27) /* 0.481254004 */, | ||
7142 | /* 6695 */ 0x07b39bea | (18 << 27) /* 0.481349864 */, | ||
7143 | /* 6696 */ 0x07b4006f | (18 << 27) /* 0.481445729 */, | ||
7144 | /* 6697 */ 0x07b464f6 | (18 << 27) /* 0.481541598 */, | ||
7145 | /* 6698 */ 0x07b4c97e | (18 << 27) /* 0.481637473 */, | ||
7146 | /* 6699 */ 0x07b52e08 | (18 << 27) /* 0.481733352 */, | ||
7147 | /* 6700 */ 0x07b59292 | (18 << 27) /* 0.481829236 */, | ||
7148 | /* 6701 */ 0x07b5f71e | (18 << 27) /* 0.481925125 */, | ||
7149 | /* 6702 */ 0x07b65bac | (18 << 27) /* 0.482021019 */, | ||
7150 | /* 6703 */ 0x07b6c03a | (18 << 27) /* 0.482116917 */, | ||
7151 | |||
7152 | /* 6704 */ 0x07b724ca | (18 << 27) /* 0.482212820 */, | ||
7153 | /* 6705 */ 0x07b7895b | (18 << 27) /* 0.482308728 */, | ||
7154 | /* 6706 */ 0x07b7eded | (18 << 27) /* 0.482404640 */, | ||
7155 | /* 6707 */ 0x07b85281 | (18 << 27) /* 0.482500558 */, | ||
7156 | /* 6708 */ 0x07b8b716 | (18 << 27) /* 0.482596480 */, | ||
7157 | /* 6709 */ 0x07b91bac | (18 << 27) /* 0.482692407 */, | ||
7158 | /* 6710 */ 0x07b98044 | (18 << 27) /* 0.482788339 */, | ||
7159 | /* 6711 */ 0x07b9e4dc | (18 << 27) /* 0.482884275 */, | ||
7160 | /* 6712 */ 0x07ba4976 | (18 << 27) /* 0.482980216 */, | ||
7161 | /* 6713 */ 0x07baae12 | (18 << 27) /* 0.483076162 */, | ||
7162 | /* 6714 */ 0x07bb12ae | (18 << 27) /* 0.483172113 */, | ||
7163 | /* 6715 */ 0x07bb774c | (18 << 27) /* 0.483268069 */, | ||
7164 | /* 6716 */ 0x07bbdbeb | (18 << 27) /* 0.483364029 */, | ||
7165 | /* 6717 */ 0x07bc408c | (18 << 27) /* 0.483459994 */, | ||
7166 | /* 6718 */ 0x07bca52d | (18 << 27) /* 0.483555964 */, | ||
7167 | /* 6719 */ 0x07bd09d0 | (18 << 27) /* 0.483651939 */, | ||
7168 | |||
7169 | /* 6720 */ 0x07bd6e75 | (18 << 27) /* 0.483747918 */, | ||
7170 | /* 6721 */ 0x07bdd31a | (18 << 27) /* 0.483843902 */, | ||
7171 | /* 6722 */ 0x07be37c1 | (18 << 27) /* 0.483939891 */, | ||
7172 | /* 6723 */ 0x07be9c69 | (18 << 27) /* 0.484035885 */, | ||
7173 | /* 6724 */ 0x07bf0113 | (18 << 27) /* 0.484131883 */, | ||
7174 | /* 6725 */ 0x07bf65bd | (18 << 27) /* 0.484227886 */, | ||
7175 | /* 6726 */ 0x07bfca69 | (18 << 27) /* 0.484323894 */, | ||
7176 | /* 6727 */ 0x07c02f16 | (18 << 27) /* 0.484419907 */, | ||
7177 | /* 6728 */ 0x07c093c5 | (18 << 27) /* 0.484515924 */, | ||
7178 | /* 6729 */ 0x07c0f875 | (18 << 27) /* 0.484611946 */, | ||
7179 | /* 6730 */ 0x07c15d26 | (18 << 27) /* 0.484707973 */, | ||
7180 | /* 6731 */ 0x07c1c1d8 | (18 << 27) /* 0.484804005 */, | ||
7181 | /* 6732 */ 0x07c2268b | (18 << 27) /* 0.484900041 */, | ||
7182 | /* 6733 */ 0x07c28b40 | (18 << 27) /* 0.484996083 */, | ||
7183 | /* 6734 */ 0x07c2eff6 | (18 << 27) /* 0.485092128 */, | ||
7184 | /* 6735 */ 0x07c354ae | (18 << 27) /* 0.485188179 */, | ||
7185 | |||
7186 | /* 6736 */ 0x07c3b967 | (18 << 27) /* 0.485284235 */, | ||
7187 | /* 6737 */ 0x07c41e21 | (18 << 27) /* 0.485380295 */, | ||
7188 | /* 6738 */ 0x07c482dc | (18 << 27) /* 0.485476360 */, | ||
7189 | /* 6739 */ 0x07c4e798 | (18 << 27) /* 0.485572430 */, | ||
7190 | /* 6740 */ 0x07c54c56 | (18 << 27) /* 0.485668504 */, | ||
7191 | /* 6741 */ 0x07c5b115 | (18 << 27) /* 0.485764583 */, | ||
7192 | /* 6742 */ 0x07c615d6 | (18 << 27) /* 0.485860667 */, | ||
7193 | /* 6743 */ 0x07c67a97 | (18 << 27) /* 0.485956756 */, | ||
7194 | /* 6744 */ 0x07c6df5a | (18 << 27) /* 0.486052849 */, | ||
7195 | /* 6745 */ 0x07c7441e | (18 << 27) /* 0.486148948 */, | ||
7196 | /* 6746 */ 0x07c7a8e4 | (18 << 27) /* 0.486245051 */, | ||
7197 | /* 6747 */ 0x07c80daa | (18 << 27) /* 0.486341158 */, | ||
7198 | /* 6748 */ 0x07c87272 | (18 << 27) /* 0.486437271 */, | ||
7199 | /* 6749 */ 0x07c8d73c | (18 << 27) /* 0.486533388 */, | ||
7200 | /* 6750 */ 0x07c93c06 | (18 << 27) /* 0.486629510 */, | ||
7201 | /* 6751 */ 0x07c9a0d2 | (18 << 27) /* 0.486725637 */, | ||
7202 | |||
7203 | /* 6752 */ 0x07ca059f | (18 << 27) /* 0.486821768 */, | ||
7204 | /* 6753 */ 0x07ca6a6d | (18 << 27) /* 0.486917905 */, | ||
7205 | /* 6754 */ 0x07cacf3d | (18 << 27) /* 0.487014045 */, | ||
7206 | /* 6755 */ 0x07cb340e | (18 << 27) /* 0.487110191 */, | ||
7207 | /* 6756 */ 0x07cb98e0 | (18 << 27) /* 0.487206342 */, | ||
7208 | /* 6757 */ 0x07cbfdb4 | (18 << 27) /* 0.487302497 */, | ||
7209 | /* 6758 */ 0x07cc6288 | (18 << 27) /* 0.487398657 */, | ||
7210 | /* 6759 */ 0x07ccc75e | (18 << 27) /* 0.487494821 */, | ||
7211 | /* 6760 */ 0x07cd2c36 | (18 << 27) /* 0.487590991 */, | ||
7212 | /* 6761 */ 0x07cd910e | (18 << 27) /* 0.487687165 */, | ||
7213 | /* 6762 */ 0x07cdf5e8 | (18 << 27) /* 0.487783344 */, | ||
7214 | /* 6763 */ 0x07ce5ac3 | (18 << 27) /* 0.487879528 */, | ||
7215 | /* 6764 */ 0x07cebfa0 | (18 << 27) /* 0.487975716 */, | ||
7216 | /* 6765 */ 0x07cf247d | (18 << 27) /* 0.488071909 */, | ||
7217 | /* 6766 */ 0x07cf895c | (18 << 27) /* 0.488168107 */, | ||
7218 | /* 6767 */ 0x07cfee3c | (18 << 27) /* 0.488264310 */, | ||
7219 | |||
7220 | /* 6768 */ 0x07d0531e | (18 << 27) /* 0.488360517 */, | ||
7221 | /* 6769 */ 0x07d0b801 | (18 << 27) /* 0.488456729 */, | ||
7222 | /* 6770 */ 0x07d11ce5 | (18 << 27) /* 0.488552946 */, | ||
7223 | /* 6771 */ 0x07d181ca | (18 << 27) /* 0.488649167 */, | ||
7224 | /* 6772 */ 0x07d1e6b0 | (18 << 27) /* 0.488745394 */, | ||
7225 | /* 6773 */ 0x07d24b98 | (18 << 27) /* 0.488841625 */, | ||
7226 | /* 6774 */ 0x07d2b081 | (18 << 27) /* 0.488937860 */, | ||
7227 | /* 6775 */ 0x07d3156c | (18 << 27) /* 0.489034101 */, | ||
7228 | /* 6776 */ 0x07d37a57 | (18 << 27) /* 0.489130346 */, | ||
7229 | /* 6777 */ 0x07d3df44 | (18 << 27) /* 0.489226596 */, | ||
7230 | /* 6778 */ 0x07d44432 | (18 << 27) /* 0.489322851 */, | ||
7231 | /* 6779 */ 0x07d4a922 | (18 << 27) /* 0.489419110 */, | ||
7232 | /* 6780 */ 0x07d50e13 | (18 << 27) /* 0.489515375 */, | ||
7233 | /* 6781 */ 0x07d57305 | (18 << 27) /* 0.489611643 */, | ||
7234 | /* 6782 */ 0x07d5d7f8 | (18 << 27) /* 0.489707917 */, | ||
7235 | /* 6783 */ 0x07d63cec | (18 << 27) /* 0.489804195 */, | ||
7236 | |||
7237 | /* 6784 */ 0x07d6a1e2 | (18 << 27) /* 0.489900479 */, | ||
7238 | /* 6785 */ 0x07d706d9 | (18 << 27) /* 0.489996766 */, | ||
7239 | /* 6786 */ 0x07d76bd2 | (18 << 27) /* 0.490093059 */, | ||
7240 | /* 6787 */ 0x07d7d0cb | (18 << 27) /* 0.490189356 */, | ||
7241 | /* 6788 */ 0x07d835c6 | (18 << 27) /* 0.490285658 */, | ||
7242 | /* 6789 */ 0x07d89ac2 | (18 << 27) /* 0.490381965 */, | ||
7243 | /* 6790 */ 0x07d8ffc0 | (18 << 27) /* 0.490478277 */, | ||
7244 | /* 6791 */ 0x07d964be | (18 << 27) /* 0.490574593 */, | ||
7245 | /* 6792 */ 0x07d9c9be | (18 << 27) /* 0.490670914 */, | ||
7246 | /* 6793 */ 0x07da2ebf | (18 << 27) /* 0.490767239 */, | ||
7247 | /* 6794 */ 0x07da93c2 | (18 << 27) /* 0.490863570 */, | ||
7248 | /* 6795 */ 0x07daf8c6 | (18 << 27) /* 0.490959905 */, | ||
7249 | /* 6796 */ 0x07db5dcb | (18 << 27) /* 0.491056245 */, | ||
7250 | /* 6797 */ 0x07dbc2d1 | (18 << 27) /* 0.491152589 */, | ||
7251 | /* 6798 */ 0x07dc27d9 | (18 << 27) /* 0.491248939 */, | ||
7252 | /* 6799 */ 0x07dc8ce1 | (18 << 27) /* 0.491345293 */, | ||
7253 | |||
7254 | /* 6800 */ 0x07dcf1ec | (18 << 27) /* 0.491441651 */, | ||
7255 | /* 6801 */ 0x07dd56f7 | (18 << 27) /* 0.491538015 */, | ||
7256 | /* 6802 */ 0x07ddbc04 | (18 << 27) /* 0.491634383 */, | ||
7257 | /* 6803 */ 0x07de2111 | (18 << 27) /* 0.491730756 */, | ||
7258 | /* 6804 */ 0x07de8621 | (18 << 27) /* 0.491827134 */, | ||
7259 | /* 6805 */ 0x07deeb31 | (18 << 27) /* 0.491923516 */, | ||
7260 | /* 6806 */ 0x07df5043 | (18 << 27) /* 0.492019903 */, | ||
7261 | /* 6807 */ 0x07dfb556 | (18 << 27) /* 0.492116295 */, | ||
7262 | /* 6808 */ 0x07e01a6a | (18 << 27) /* 0.492212691 */, | ||
7263 | /* 6809 */ 0x07e07f80 | (18 << 27) /* 0.492309093 */, | ||
7264 | /* 6810 */ 0x07e0e496 | (18 << 27) /* 0.492405499 */, | ||
7265 | /* 6811 */ 0x07e149ae | (18 << 27) /* 0.492501909 */, | ||
7266 | /* 6812 */ 0x07e1aec8 | (18 << 27) /* 0.492598325 */, | ||
7267 | /* 6813 */ 0x07e213e2 | (18 << 27) /* 0.492694745 */, | ||
7268 | /* 6814 */ 0x07e278fe | (18 << 27) /* 0.492791170 */, | ||
7269 | /* 6815 */ 0x07e2de1b | (18 << 27) /* 0.492887599 */, | ||
7270 | |||
7271 | /* 6816 */ 0x07e3433a | (18 << 27) /* 0.492984033 */, | ||
7272 | /* 6817 */ 0x07e3a859 | (18 << 27) /* 0.493080472 */, | ||
7273 | /* 6818 */ 0x07e40d7a | (18 << 27) /* 0.493176916 */, | ||
7274 | /* 6819 */ 0x07e4729c | (18 << 27) /* 0.493273365 */, | ||
7275 | /* 6820 */ 0x07e4d7c0 | (18 << 27) /* 0.493369818 */, | ||
7276 | /* 6821 */ 0x07e53ce4 | (18 << 27) /* 0.493466275 */, | ||
7277 | /* 6822 */ 0x07e5a20a | (18 << 27) /* 0.493562738 */, | ||
7278 | /* 6823 */ 0x07e60732 | (18 << 27) /* 0.493659205 */, | ||
7279 | /* 6824 */ 0x07e66c5a | (18 << 27) /* 0.493755677 */, | ||
7280 | /* 6825 */ 0x07e6d184 | (18 << 27) /* 0.493852154 */, | ||
7281 | /* 6826 */ 0x07e736af | (18 << 27) /* 0.493948635 */, | ||
7282 | /* 6827 */ 0x07e79bdb | (18 << 27) /* 0.494045122 */, | ||
7283 | /* 6828 */ 0x07e80109 | (18 << 27) /* 0.494141612 */, | ||
7284 | /* 6829 */ 0x07e86638 | (18 << 27) /* 0.494238108 */, | ||
7285 | /* 6830 */ 0x07e8cb68 | (18 << 27) /* 0.494334608 */, | ||
7286 | /* 6831 */ 0x07e93099 | (18 << 27) /* 0.494431113 */, | ||
7287 | |||
7288 | /* 6832 */ 0x07e995cc | (18 << 27) /* 0.494527623 */, | ||
7289 | /* 6833 */ 0x07e9fb00 | (18 << 27) /* 0.494624137 */, | ||
7290 | /* 6834 */ 0x07ea6035 | (18 << 27) /* 0.494720656 */, | ||
7291 | /* 6835 */ 0x07eac56b | (18 << 27) /* 0.494817180 */, | ||
7292 | /* 6836 */ 0x07eb2aa3 | (18 << 27) /* 0.494913709 */, | ||
7293 | /* 6837 */ 0x07eb8fdc | (18 << 27) /* 0.495010242 */, | ||
7294 | /* 6838 */ 0x07ebf516 | (18 << 27) /* 0.495106780 */, | ||
7295 | /* 6839 */ 0x07ec5a51 | (18 << 27) /* 0.495203322 */, | ||
7296 | /* 6840 */ 0x07ecbf8e | (18 << 27) /* 0.495299870 */, | ||
7297 | /* 6841 */ 0x07ed24cc | (18 << 27) /* 0.495396422 */, | ||
7298 | /* 6842 */ 0x07ed8a0b | (18 << 27) /* 0.495492978 */, | ||
7299 | /* 6843 */ 0x07edef4c | (18 << 27) /* 0.495589540 */, | ||
7300 | /* 6844 */ 0x07ee548e | (18 << 27) /* 0.495686106 */, | ||
7301 | /* 6845 */ 0x07eeb9d1 | (18 << 27) /* 0.495782677 */, | ||
7302 | /* 6846 */ 0x07ef1f15 | (18 << 27) /* 0.495879252 */, | ||
7303 | /* 6847 */ 0x07ef845b | (18 << 27) /* 0.495975833 */, | ||
7304 | |||
7305 | /* 6848 */ 0x07efe9a1 | (18 << 27) /* 0.496072418 */, | ||
7306 | /* 6849 */ 0x07f04ee9 | (18 << 27) /* 0.496169007 */, | ||
7307 | /* 6850 */ 0x07f0b433 | (18 << 27) /* 0.496265602 */, | ||
7308 | /* 6851 */ 0x07f1197d | (18 << 27) /* 0.496362201 */, | ||
7309 | /* 6852 */ 0x07f17ec9 | (18 << 27) /* 0.496458804 */, | ||
7310 | /* 6853 */ 0x07f1e416 | (18 << 27) /* 0.496555413 */, | ||
7311 | /* 6854 */ 0x07f24965 | (18 << 27) /* 0.496652026 */, | ||
7312 | /* 6855 */ 0x07f2aeb5 | (18 << 27) /* 0.496748644 */, | ||
7313 | /* 6856 */ 0x07f31405 | (18 << 27) /* 0.496845266 */, | ||
7314 | /* 6857 */ 0x07f37958 | (18 << 27) /* 0.496941894 */, | ||
7315 | /* 6858 */ 0x07f3deab | (18 << 27) /* 0.497038526 */, | ||
7316 | /* 6859 */ 0x07f44400 | (18 << 27) /* 0.497135162 */, | ||
7317 | /* 6860 */ 0x07f4a956 | (18 << 27) /* 0.497231804 */, | ||
7318 | /* 6861 */ 0x07f50ead | (18 << 27) /* 0.497328450 */, | ||
7319 | /* 6862 */ 0x07f57405 | (18 << 27) /* 0.497425100 */, | ||
7320 | /* 6863 */ 0x07f5d95f | (18 << 27) /* 0.497521756 */, | ||
7321 | |||
7322 | /* 6864 */ 0x07f63eba | (18 << 27) /* 0.497618416 */, | ||
7323 | /* 6865 */ 0x07f6a416 | (18 << 27) /* 0.497715081 */, | ||
7324 | /* 6866 */ 0x07f70974 | (18 << 27) /* 0.497811750 */, | ||
7325 | /* 6867 */ 0x07f76ed3 | (18 << 27) /* 0.497908425 */, | ||
7326 | /* 6868 */ 0x07f7d433 | (18 << 27) /* 0.498005103 */, | ||
7327 | /* 6869 */ 0x07f83994 | (18 << 27) /* 0.498101787 */, | ||
7328 | /* 6870 */ 0x07f89ef7 | (18 << 27) /* 0.498198475 */, | ||
7329 | /* 6871 */ 0x07f9045a | (18 << 27) /* 0.498295168 */, | ||
7330 | /* 6872 */ 0x07f969c0 | (18 << 27) /* 0.498391866 */, | ||
7331 | /* 6873 */ 0x07f9cf26 | (18 << 27) /* 0.498488568 */, | ||
7332 | /* 6874 */ 0x07fa348e | (18 << 27) /* 0.498585275 */, | ||
7333 | /* 6875 */ 0x07fa99f6 | (18 << 27) /* 0.498681987 */, | ||
7334 | /* 6876 */ 0x07faff60 | (18 << 27) /* 0.498778704 */, | ||
7335 | /* 6877 */ 0x07fb64cc | (18 << 27) /* 0.498875425 */, | ||
7336 | /* 6878 */ 0x07fbca38 | (18 << 27) /* 0.498972150 */, | ||
7337 | /* 6879 */ 0x07fc2fa6 | (18 << 27) /* 0.499068881 */, | ||
7338 | |||
7339 | /* 6880 */ 0x07fc9516 | (18 << 27) /* 0.499165616 */, | ||
7340 | /* 6881 */ 0x07fcfa86 | (18 << 27) /* 0.499262356 */, | ||
7341 | /* 6882 */ 0x07fd5ff8 | (18 << 27) /* 0.499359101 */, | ||
7342 | /* 6883 */ 0x07fdc56b | (18 << 27) /* 0.499455850 */, | ||
7343 | /* 6884 */ 0x07fe2adf | (18 << 27) /* 0.499552604 */, | ||
7344 | /* 6885 */ 0x07fe9054 | (18 << 27) /* 0.499649362 */, | ||
7345 | /* 6886 */ 0x07fef5cb | (18 << 27) /* 0.499746126 */, | ||
7346 | /* 6887 */ 0x07ff5b43 | (18 << 27) /* 0.499842894 */, | ||
7347 | /* 6888 */ 0x07ffc0bc | (18 << 27) /* 0.499939666 */, | ||
7348 | /* 6889 */ 0x0400131b | (19 << 27) /* 0.250018222 */, | ||
7349 | /* 6890 */ 0x040045d9 | (19 << 27) /* 0.250066613 */, | ||
7350 | /* 6891 */ 0x04007897 | (19 << 27) /* 0.250115006 */, | ||
7351 | /* 6892 */ 0x0400ab57 | (19 << 27) /* 0.250163402 */, | ||
7352 | /* 6893 */ 0x0400de16 | (19 << 27) /* 0.250211800 */, | ||
7353 | /* 6894 */ 0x040110d7 | (19 << 27) /* 0.250260200 */, | ||
7354 | /* 6895 */ 0x04014398 | (19 << 27) /* 0.250308603 */, | ||
7355 | |||
7356 | /* 6896 */ 0x04017659 | (19 << 27) /* 0.250357008 */, | ||
7357 | /* 6897 */ 0x0401a91c | (19 << 27) /* 0.250405415 */, | ||
7358 | /* 6898 */ 0x0401dbdf | (19 << 27) /* 0.250453825 */, | ||
7359 | /* 6899 */ 0x04020ea2 | (19 << 27) /* 0.250502237 */, | ||
7360 | /* 6900 */ 0x04024166 | (19 << 27) /* 0.250550652 */, | ||
7361 | /* 6901 */ 0x0402742b | (19 << 27) /* 0.250599068 */, | ||
7362 | /* 6902 */ 0x0402a6f0 | (19 << 27) /* 0.250647488 */, | ||
7363 | /* 6903 */ 0x0402d9b6 | (19 << 27) /* 0.250695909 */, | ||
7364 | /* 6904 */ 0x04030c7d | (19 << 27) /* 0.250744333 */, | ||
7365 | /* 6905 */ 0x04033f44 | (19 << 27) /* 0.250792759 */, | ||
7366 | /* 6906 */ 0x0403720c | (19 << 27) /* 0.250841187 */, | ||
7367 | /* 6907 */ 0x0403a4d5 | (19 << 27) /* 0.250889618 */, | ||
7368 | /* 6908 */ 0x0403d79e | (19 << 27) /* 0.250938051 */, | ||
7369 | /* 6909 */ 0x04040a68 | (19 << 27) /* 0.250986487 */, | ||
7370 | /* 6910 */ 0x04043d32 | (19 << 27) /* 0.251034924 */, | ||
7371 | /* 6911 */ 0x04046ffd | (19 << 27) /* 0.251083365 */, | ||
7372 | |||
7373 | /* 6912 */ 0x0404a2c9 | (19 << 27) /* 0.251131807 */, | ||
7374 | /* 6913 */ 0x0404d595 | (19 << 27) /* 0.251180252 */, | ||
7375 | /* 6914 */ 0x04050862 | (19 << 27) /* 0.251228699 */, | ||
7376 | /* 6915 */ 0x04053b30 | (19 << 27) /* 0.251277148 */, | ||
7377 | /* 6916 */ 0x04056dfe | (19 << 27) /* 0.251325600 */, | ||
7378 | /* 6917 */ 0x0405a0cd | (19 << 27) /* 0.251374054 */, | ||
7379 | /* 6918 */ 0x0405d39c | (19 << 27) /* 0.251422511 */, | ||
7380 | /* 6919 */ 0x0406066c | (19 << 27) /* 0.251470970 */, | ||
7381 | /* 6920 */ 0x0406393d | (19 << 27) /* 0.251519431 */, | ||
7382 | /* 6921 */ 0x04066c0e | (19 << 27) /* 0.251567894 */, | ||
7383 | /* 6922 */ 0x04069ee0 | (19 << 27) /* 0.251616360 */, | ||
7384 | /* 6923 */ 0x0406d1b3 | (19 << 27) /* 0.251664828 */, | ||
7385 | /* 6924 */ 0x04070486 | (19 << 27) /* 0.251713299 */, | ||
7386 | /* 6925 */ 0x0407375a | (19 << 27) /* 0.251761772 */, | ||
7387 | /* 6926 */ 0x04076a2e | (19 << 27) /* 0.251810247 */, | ||
7388 | /* 6927 */ 0x04079d03 | (19 << 27) /* 0.251858724 */, | ||
7389 | |||
7390 | /* 6928 */ 0x0407cfd9 | (19 << 27) /* 0.251907204 */, | ||
7391 | /* 6929 */ 0x040802af | (19 << 27) /* 0.251955686 */, | ||
7392 | /* 6930 */ 0x04083586 | (19 << 27) /* 0.252004171 */, | ||
7393 | /* 6931 */ 0x0408685e | (19 << 27) /* 0.252052658 */, | ||
7394 | /* 6932 */ 0x04089b36 | (19 << 27) /* 0.252101147 */, | ||
7395 | /* 6933 */ 0x0408ce0f | (19 << 27) /* 0.252149638 */, | ||
7396 | /* 6934 */ 0x040900e8 | (19 << 27) /* 0.252198132 */, | ||
7397 | /* 6935 */ 0x040933c2 | (19 << 27) /* 0.252246628 */, | ||
7398 | /* 6936 */ 0x0409669d | (19 << 27) /* 0.252295127 */, | ||
7399 | /* 6937 */ 0x04099978 | (19 << 27) /* 0.252343627 */, | ||
7400 | /* 6938 */ 0x0409cc54 | (19 << 27) /* 0.252392131 */, | ||
7401 | /* 6939 */ 0x0409ff31 | (19 << 27) /* 0.252440636 */, | ||
7402 | /* 6940 */ 0x040a320e | (19 << 27) /* 0.252489144 */, | ||
7403 | /* 6941 */ 0x040a64ec | (19 << 27) /* 0.252537654 */, | ||
7404 | /* 6942 */ 0x040a97cb | (19 << 27) /* 0.252586166 */, | ||
7405 | /* 6943 */ 0x040acaaa | (19 << 27) /* 0.252634681 */, | ||
7406 | |||
7407 | /* 6944 */ 0x040afd89 | (19 << 27) /* 0.252683198 */, | ||
7408 | /* 6945 */ 0x040b306a | (19 << 27) /* 0.252731718 */, | ||
7409 | /* 6946 */ 0x040b634b | (19 << 27) /* 0.252780240 */, | ||
7410 | /* 6947 */ 0x040b962c | (19 << 27) /* 0.252828764 */, | ||
7411 | /* 6948 */ 0x040bc90e | (19 << 27) /* 0.252877290 */, | ||
7412 | /* 6949 */ 0x040bfbf1 | (19 << 27) /* 0.252925819 */, | ||
7413 | /* 6950 */ 0x040c2ed5 | (19 << 27) /* 0.252974350 */, | ||
7414 | /* 6951 */ 0x040c61b9 | (19 << 27) /* 0.253022883 */, | ||
7415 | /* 6952 */ 0x040c949e | (19 << 27) /* 0.253071419 */, | ||
7416 | /* 6953 */ 0x040cc783 | (19 << 27) /* 0.253119957 */, | ||
7417 | /* 6954 */ 0x040cfa69 | (19 << 27) /* 0.253168498 */, | ||
7418 | /* 6955 */ 0x040d2d4f | (19 << 27) /* 0.253217040 */, | ||
7419 | /* 6956 */ 0x040d6037 | (19 << 27) /* 0.253265585 */, | ||
7420 | /* 6957 */ 0x040d931e | (19 << 27) /* 0.253314133 */, | ||
7421 | /* 6958 */ 0x040dc607 | (19 << 27) /* 0.253362682 */, | ||
7422 | /* 6959 */ 0x040df8f0 | (19 << 27) /* 0.253411234 */, | ||
7423 | |||
7424 | /* 6960 */ 0x040e2bda | (19 << 27) /* 0.253459789 */, | ||
7425 | /* 6961 */ 0x040e5ec4 | (19 << 27) /* 0.253508345 */, | ||
7426 | /* 6962 */ 0x040e91af | (19 << 27) /* 0.253556904 */, | ||
7427 | /* 6963 */ 0x040ec49b | (19 << 27) /* 0.253605466 */, | ||
7428 | /* 6964 */ 0x040ef787 | (19 << 27) /* 0.253654029 */, | ||
7429 | /* 6965 */ 0x040f2a74 | (19 << 27) /* 0.253702595 */, | ||
7430 | /* 6966 */ 0x040f5d61 | (19 << 27) /* 0.253751164 */, | ||
7431 | /* 6967 */ 0x040f904f | (19 << 27) /* 0.253799734 */, | ||
7432 | /* 6968 */ 0x040fc33e | (19 << 27) /* 0.253848307 */, | ||
7433 | /* 6969 */ 0x040ff62d | (19 << 27) /* 0.253896883 */, | ||
7434 | /* 6970 */ 0x0410291d | (19 << 27) /* 0.253945460 */, | ||
7435 | /* 6971 */ 0x04105c0e | (19 << 27) /* 0.253994040 */, | ||
7436 | /* 6972 */ 0x04108eff | (19 << 27) /* 0.254042622 */, | ||
7437 | /* 6973 */ 0x0410c1f1 | (19 << 27) /* 0.254091207 */, | ||
7438 | /* 6974 */ 0x0410f4e3 | (19 << 27) /* 0.254139794 */, | ||
7439 | /* 6975 */ 0x041127d6 | (19 << 27) /* 0.254188383 */, | ||
7440 | |||
7441 | /* 6976 */ 0x04115aca | (19 << 27) /* 0.254236974 */, | ||
7442 | /* 6977 */ 0x04118dbe | (19 << 27) /* 0.254285568 */, | ||
7443 | /* 6978 */ 0x0411c0b3 | (19 << 27) /* 0.254334165 */, | ||
7444 | /* 6979 */ 0x0411f3a9 | (19 << 27) /* 0.254382763 */, | ||
7445 | /* 6980 */ 0x0412269f | (19 << 27) /* 0.254431364 */, | ||
7446 | /* 6981 */ 0x04125996 | (19 << 27) /* 0.254479967 */, | ||
7447 | /* 6982 */ 0x04128c8d | (19 << 27) /* 0.254528572 */, | ||
7448 | /* 6983 */ 0x0412bf85 | (19 << 27) /* 0.254577180 */, | ||
7449 | /* 6984 */ 0x0412f27e | (19 << 27) /* 0.254625790 */, | ||
7450 | /* 6985 */ 0x04132577 | (19 << 27) /* 0.254674403 */, | ||
7451 | /* 6986 */ 0x04135871 | (19 << 27) /* 0.254723017 */, | ||
7452 | /* 6987 */ 0x04138b6c | (19 << 27) /* 0.254771635 */, | ||
7453 | /* 6988 */ 0x0413be67 | (19 << 27) /* 0.254820254 */, | ||
7454 | /* 6989 */ 0x0413f163 | (19 << 27) /* 0.254868876 */, | ||
7455 | /* 6990 */ 0x0414245f | (19 << 27) /* 0.254917500 */, | ||
7456 | /* 6991 */ 0x0414575c | (19 << 27) /* 0.254966126 */, | ||
7457 | |||
7458 | /* 6992 */ 0x04148a5a | (19 << 27) /* 0.255014755 */, | ||
7459 | /* 6993 */ 0x0414bd58 | (19 << 27) /* 0.255063386 */, | ||
7460 | /* 6994 */ 0x0414f057 | (19 << 27) /* 0.255112019 */, | ||
7461 | /* 6995 */ 0x04152356 | (19 << 27) /* 0.255160655 */, | ||
7462 | /* 6996 */ 0x04155657 | (19 << 27) /* 0.255209292 */, | ||
7463 | /* 6997 */ 0x04158957 | (19 << 27) /* 0.255257933 */, | ||
7464 | /* 6998 */ 0x0415bc59 | (19 << 27) /* 0.255306575 */, | ||
7465 | /* 6999 */ 0x0415ef5b | (19 << 27) /* 0.255355220 */, | ||
7466 | /* 7000 */ 0x0416225d | (19 << 27) /* 0.255403867 */, | ||
7467 | /* 7001 */ 0x04165561 | (19 << 27) /* 0.255452517 */, | ||
7468 | /* 7002 */ 0x04168864 | (19 << 27) /* 0.255501169 */, | ||
7469 | /* 7003 */ 0x0416bb69 | (19 << 27) /* 0.255549823 */, | ||
7470 | /* 7004 */ 0x0416ee6e | (19 << 27) /* 0.255598479 */, | ||
7471 | /* 7005 */ 0x04172174 | (19 << 27) /* 0.255647138 */, | ||
7472 | /* 7006 */ 0x0417547a | (19 << 27) /* 0.255695799 */, | ||
7473 | /* 7007 */ 0x04178781 | (19 << 27) /* 0.255744463 */, | ||
7474 | |||
7475 | /* 7008 */ 0x0417ba89 | (19 << 27) /* 0.255793128 */, | ||
7476 | /* 7009 */ 0x0417ed91 | (19 << 27) /* 0.255841796 */, | ||
7477 | /* 7010 */ 0x0418209a | (19 << 27) /* 0.255890467 */, | ||
7478 | /* 7011 */ 0x041853a3 | (19 << 27) /* 0.255939139 */, | ||
7479 | /* 7012 */ 0x041886ad | (19 << 27) /* 0.255987814 */, | ||
7480 | /* 7013 */ 0x0418b9b8 | (19 << 27) /* 0.256036492 */, | ||
7481 | /* 7014 */ 0x0418ecc3 | (19 << 27) /* 0.256085171 */, | ||
7482 | /* 7015 */ 0x04191fcf | (19 << 27) /* 0.256133853 */, | ||
7483 | /* 7016 */ 0x041952dc | (19 << 27) /* 0.256182537 */, | ||
7484 | /* 7017 */ 0x041985e9 | (19 << 27) /* 0.256231224 */, | ||
7485 | /* 7018 */ 0x0419b8f7 | (19 << 27) /* 0.256279913 */, | ||
7486 | /* 7019 */ 0x0419ec05 | (19 << 27) /* 0.256328604 */, | ||
7487 | /* 7020 */ 0x041a1f15 | (19 << 27) /* 0.256377297 */, | ||
7488 | /* 7021 */ 0x041a5224 | (19 << 27) /* 0.256425993 */, | ||
7489 | /* 7022 */ 0x041a8534 | (19 << 27) /* 0.256474691 */, | ||
7490 | /* 7023 */ 0x041ab845 | (19 << 27) /* 0.256523392 */, | ||
7491 | |||
7492 | /* 7024 */ 0x041aeb57 | (19 << 27) /* 0.256572095 */, | ||
7493 | /* 7025 */ 0x041b1e69 | (19 << 27) /* 0.256620800 */, | ||
7494 | /* 7026 */ 0x041b517c | (19 << 27) /* 0.256669507 */, | ||
7495 | /* 7027 */ 0x041b848f | (19 << 27) /* 0.256718217 */, | ||
7496 | /* 7028 */ 0x041bb7a3 | (19 << 27) /* 0.256766929 */, | ||
7497 | /* 7029 */ 0x041beab8 | (19 << 27) /* 0.256815643 */, | ||
7498 | /* 7030 */ 0x041c1dcd | (19 << 27) /* 0.256864359 */, | ||
7499 | /* 7031 */ 0x041c50e3 | (19 << 27) /* 0.256913078 */, | ||
7500 | /* 7032 */ 0x041c83fa | (19 << 27) /* 0.256961800 */, | ||
7501 | /* 7033 */ 0x041cb711 | (19 << 27) /* 0.257010523 */, | ||
7502 | /* 7034 */ 0x041cea28 | (19 << 27) /* 0.257059249 */, | ||
7503 | /* 7035 */ 0x041d1d41 | (19 << 27) /* 0.257107977 */, | ||
7504 | /* 7036 */ 0x041d505a | (19 << 27) /* 0.257156708 */, | ||
7505 | /* 7037 */ 0x041d8373 | (19 << 27) /* 0.257205440 */, | ||
7506 | /* 7038 */ 0x041db68e | (19 << 27) /* 0.257254175 */, | ||
7507 | /* 7039 */ 0x041de9a8 | (19 << 27) /* 0.257302913 */, | ||
7508 | |||
7509 | /* 7040 */ 0x041e1cc4 | (19 << 27) /* 0.257351652 */, | ||
7510 | /* 7041 */ 0x041e4fe0 | (19 << 27) /* 0.257400394 */, | ||
7511 | /* 7042 */ 0x041e82fd | (19 << 27) /* 0.257449139 */, | ||
7512 | /* 7043 */ 0x041eb61a | (19 << 27) /* 0.257497885 */, | ||
7513 | /* 7044 */ 0x041ee938 | (19 << 27) /* 0.257546634 */, | ||
7514 | /* 7045 */ 0x041f1c57 | (19 << 27) /* 0.257595386 */, | ||
7515 | /* 7046 */ 0x041f4f76 | (19 << 27) /* 0.257644139 */, | ||
7516 | /* 7047 */ 0x041f8296 | (19 << 27) /* 0.257692895 */, | ||
7517 | /* 7048 */ 0x041fb5b6 | (19 << 27) /* 0.257741653 */, | ||
7518 | /* 7049 */ 0x041fe8d7 | (19 << 27) /* 0.257790414 */, | ||
7519 | /* 7050 */ 0x04201bf9 | (19 << 27) /* 0.257839176 */, | ||
7520 | /* 7051 */ 0x04204f1b | (19 << 27) /* 0.257887941 */, | ||
7521 | /* 7052 */ 0x0420823e | (19 << 27) /* 0.257936709 */, | ||
7522 | /* 7053 */ 0x0420b561 | (19 << 27) /* 0.257985478 */, | ||
7523 | /* 7054 */ 0x0420e885 | (19 << 27) /* 0.258034250 */, | ||
7524 | /* 7055 */ 0x04211baa | (19 << 27) /* 0.258083025 */, | ||
7525 | |||
7526 | /* 7056 */ 0x04214ed0 | (19 << 27) /* 0.258131801 */, | ||
7527 | /* 7057 */ 0x042181f6 | (19 << 27) /* 0.258180580 */, | ||
7528 | /* 7058 */ 0x0421b51c | (19 << 27) /* 0.258229361 */, | ||
7529 | /* 7059 */ 0x0421e843 | (19 << 27) /* 0.258278145 */, | ||
7530 | /* 7060 */ 0x04221b6b | (19 << 27) /* 0.258326931 */, | ||
7531 | /* 7061 */ 0x04224e94 | (19 << 27) /* 0.258375719 */, | ||
7532 | /* 7062 */ 0x042281bd | (19 << 27) /* 0.258424509 */, | ||
7533 | /* 7063 */ 0x0422b4e6 | (19 << 27) /* 0.258473302 */, | ||
7534 | /* 7064 */ 0x0422e811 | (19 << 27) /* 0.258522097 */, | ||
7535 | /* 7065 */ 0x04231b3c | (19 << 27) /* 0.258570894 */, | ||
7536 | /* 7066 */ 0x04234e67 | (19 << 27) /* 0.258619694 */, | ||
7537 | /* 7067 */ 0x04238193 | (19 << 27) /* 0.258668496 */, | ||
7538 | /* 7068 */ 0x0423b4c0 | (19 << 27) /* 0.258717300 */, | ||
7539 | /* 7069 */ 0x0423e7ee | (19 << 27) /* 0.258766106 */, | ||
7540 | /* 7070 */ 0x04241b1c | (19 << 27) /* 0.258814915 */, | ||
7541 | /* 7071 */ 0x04244e4a | (19 << 27) /* 0.258863726 */, | ||
7542 | |||
7543 | /* 7072 */ 0x04248179 | (19 << 27) /* 0.258912540 */, | ||
7544 | /* 7073 */ 0x0424b4a9 | (19 << 27) /* 0.258961356 */, | ||
7545 | /* 7074 */ 0x0424e7da | (19 << 27) /* 0.259010174 */, | ||
7546 | /* 7075 */ 0x04251b0b | (19 << 27) /* 0.259058994 */, | ||
7547 | /* 7076 */ 0x04254e3d | (19 << 27) /* 0.259107817 */, | ||
7548 | /* 7077 */ 0x0425816f | (19 << 27) /* 0.259156642 */, | ||
7549 | /* 7078 */ 0x0425b4a2 | (19 << 27) /* 0.259205469 */, | ||
7550 | /* 7079 */ 0x0425e7d6 | (19 << 27) /* 0.259254298 */, | ||
7551 | /* 7080 */ 0x04261b0a | (19 << 27) /* 0.259303130 */, | ||
7552 | /* 7081 */ 0x04264e3f | (19 << 27) /* 0.259351964 */, | ||
7553 | /* 7082 */ 0x04268174 | (19 << 27) /* 0.259400801 */, | ||
7554 | /* 7083 */ 0x0426b4aa | (19 << 27) /* 0.259449639 */, | ||
7555 | /* 7084 */ 0x0426e7e1 | (19 << 27) /* 0.259498480 */, | ||
7556 | /* 7085 */ 0x04271b18 | (19 << 27) /* 0.259547324 */, | ||
7557 | /* 7086 */ 0x04274e50 | (19 << 27) /* 0.259596169 */, | ||
7558 | /* 7087 */ 0x04278188 | (19 << 27) /* 0.259645017 */, | ||
7559 | |||
7560 | /* 7088 */ 0x0427b4c2 | (19 << 27) /* 0.259693868 */, | ||
7561 | /* 7089 */ 0x0427e7fb | (19 << 27) /* 0.259742720 */, | ||
7562 | /* 7090 */ 0x04281b36 | (19 << 27) /* 0.259791575 */, | ||
7563 | /* 7091 */ 0x04284e71 | (19 << 27) /* 0.259840432 */, | ||
7564 | /* 7092 */ 0x042881ac | (19 << 27) /* 0.259889291 */, | ||
7565 | /* 7093 */ 0x0428b4e8 | (19 << 27) /* 0.259938153 */, | ||
7566 | /* 7094 */ 0x0428e825 | (19 << 27) /* 0.259987017 */, | ||
7567 | /* 7095 */ 0x04291b63 | (19 << 27) /* 0.260035883 */, | ||
7568 | /* 7096 */ 0x04294ea1 | (19 << 27) /* 0.260084752 */, | ||
7569 | /* 7097 */ 0x042981df | (19 << 27) /* 0.260133623 */, | ||
7570 | /* 7098 */ 0x0429b51f | (19 << 27) /* 0.260182496 */, | ||
7571 | /* 7099 */ 0x0429e85f | (19 << 27) /* 0.260231372 */, | ||
7572 | /* 7100 */ 0x042a1b9f | (19 << 27) /* 0.260280249 */, | ||
7573 | /* 7101 */ 0x042a4ee0 | (19 << 27) /* 0.260329129 */, | ||
7574 | /* 7102 */ 0x042a8222 | (19 << 27) /* 0.260378012 */, | ||
7575 | /* 7103 */ 0x042ab564 | (19 << 27) /* 0.260426896 */, | ||
7576 | |||
7577 | /* 7104 */ 0x042ae8a7 | (19 << 27) /* 0.260475783 */, | ||
7578 | /* 7105 */ 0x042b1beb | (19 << 27) /* 0.260524673 */, | ||
7579 | /* 7106 */ 0x042b4f2f | (19 << 27) /* 0.260573564 */, | ||
7580 | /* 7107 */ 0x042b8274 | (19 << 27) /* 0.260622458 */, | ||
7581 | /* 7108 */ 0x042bb5ba | (19 << 27) /* 0.260671354 */, | ||
7582 | /* 7109 */ 0x042be900 | (19 << 27) /* 0.260720252 */, | ||
7583 | /* 7110 */ 0x042c1c46 | (19 << 27) /* 0.260769153 */, | ||
7584 | /* 7111 */ 0x042c4f8e | (19 << 27) /* 0.260818056 */, | ||
7585 | /* 7112 */ 0x042c82d6 | (19 << 27) /* 0.260866961 */, | ||
7586 | /* 7113 */ 0x042cb61e | (19 << 27) /* 0.260915869 */, | ||
7587 | /* 7114 */ 0x042ce967 | (19 << 27) /* 0.260964779 */, | ||
7588 | /* 7115 */ 0x042d1cb1 | (19 << 27) /* 0.261013691 */, | ||
7589 | /* 7116 */ 0x042d4ffb | (19 << 27) /* 0.261062606 */, | ||
7590 | /* 7117 */ 0x042d8346 | (19 << 27) /* 0.261111522 */, | ||
7591 | /* 7118 */ 0x042db692 | (19 << 27) /* 0.261160441 */, | ||
7592 | /* 7119 */ 0x042de9de | (19 << 27) /* 0.261209363 */, | ||
7593 | |||
7594 | /* 7120 */ 0x042e1d2b | (19 << 27) /* 0.261258286 */, | ||
7595 | /* 7121 */ 0x042e5078 | (19 << 27) /* 0.261307212 */, | ||
7596 | /* 7122 */ 0x042e83c6 | (19 << 27) /* 0.261356140 */, | ||
7597 | /* 7123 */ 0x042eb715 | (19 << 27) /* 0.261405071 */, | ||
7598 | /* 7124 */ 0x042eea64 | (19 << 27) /* 0.261454004 */, | ||
7599 | /* 7125 */ 0x042f1db4 | (19 << 27) /* 0.261502939 */, | ||
7600 | /* 7126 */ 0x042f5105 | (19 << 27) /* 0.261551876 */, | ||
7601 | /* 7127 */ 0x042f8456 | (19 << 27) /* 0.261600816 */, | ||
7602 | /* 7128 */ 0x042fb7a8 | (19 << 27) /* 0.261649758 */, | ||
7603 | /* 7129 */ 0x042feafa | (19 << 27) /* 0.261698702 */, | ||
7604 | /* 7130 */ 0x04301e4d | (19 << 27) /* 0.261747649 */, | ||
7605 | /* 7131 */ 0x043051a1 | (19 << 27) /* 0.261796597 */, | ||
7606 | /* 7132 */ 0x043084f5 | (19 << 27) /* 0.261845548 */, | ||
7607 | /* 7133 */ 0x0430b84a | (19 << 27) /* 0.261894502 */, | ||
7608 | /* 7134 */ 0x0430eb9f | (19 << 27) /* 0.261943458 */, | ||
7609 | /* 7135 */ 0x04311ef5 | (19 << 27) /* 0.261992416 */, | ||
7610 | |||
7611 | /* 7136 */ 0x0431524c | (19 << 27) /* 0.262041376 */, | ||
7612 | /* 7137 */ 0x043185a3 | (19 << 27) /* 0.262090338 */, | ||
7613 | /* 7138 */ 0x0431b8fb | (19 << 27) /* 0.262139303 */, | ||
7614 | /* 7139 */ 0x0431ec54 | (19 << 27) /* 0.262188270 */, | ||
7615 | /* 7140 */ 0x04321fad | (19 << 27) /* 0.262237240 */, | ||
7616 | /* 7141 */ 0x04325306 | (19 << 27) /* 0.262286211 */, | ||
7617 | /* 7142 */ 0x04328661 | (19 << 27) /* 0.262335185 */, | ||
7618 | /* 7143 */ 0x0432b9bc | (19 << 27) /* 0.262384162 */, | ||
7619 | /* 7144 */ 0x0432ed17 | (19 << 27) /* 0.262433140 */, | ||
7620 | /* 7145 */ 0x04332074 | (19 << 27) /* 0.262482121 */, | ||
7621 | /* 7146 */ 0x043353d0 | (19 << 27) /* 0.262531104 */, | ||
7622 | /* 7147 */ 0x0433872e | (19 << 27) /* 0.262580089 */, | ||
7623 | /* 7148 */ 0x0433ba8c | (19 << 27) /* 0.262629077 */, | ||
7624 | /* 7149 */ 0x0433edea | (19 << 27) /* 0.262678067 */, | ||
7625 | /* 7150 */ 0x0434214a | (19 << 27) /* 0.262727059 */, | ||
7626 | /* 7151 */ 0x043454aa | (19 << 27) /* 0.262776054 */, | ||
7627 | |||
7628 | /* 7152 */ 0x0434880a | (19 << 27) /* 0.262825051 */, | ||
7629 | /* 7153 */ 0x0434bb6b | (19 << 27) /* 0.262874050 */, | ||
7630 | /* 7154 */ 0x0434eecd | (19 << 27) /* 0.262923051 */, | ||
7631 | /* 7155 */ 0x0435222f | (19 << 27) /* 0.262972055 */, | ||
7632 | /* 7156 */ 0x04355592 | (19 << 27) /* 0.263021061 */, | ||
7633 | /* 7157 */ 0x043588f6 | (19 << 27) /* 0.263070069 */, | ||
7634 | /* 7158 */ 0x0435bc5a | (19 << 27) /* 0.263119079 */, | ||
7635 | /* 7159 */ 0x0435efbf | (19 << 27) /* 0.263168092 */, | ||
7636 | /* 7160 */ 0x04362324 | (19 << 27) /* 0.263217107 */, | ||
7637 | /* 7161 */ 0x0436568a | (19 << 27) /* 0.263266125 */, | ||
7638 | /* 7162 */ 0x043689f1 | (19 << 27) /* 0.263315144 */, | ||
7639 | /* 7163 */ 0x0436bd58 | (19 << 27) /* 0.263364166 */, | ||
7640 | /* 7164 */ 0x0436f0c0 | (19 << 27) /* 0.263413191 */, | ||
7641 | /* 7165 */ 0x04372428 | (19 << 27) /* 0.263462217 */, | ||
7642 | /* 7166 */ 0x04375791 | (19 << 27) /* 0.263511246 */, | ||
7643 | /* 7167 */ 0x04378afb | (19 << 27) /* 0.263560277 */, | ||
7644 | |||
7645 | /* 7168 */ 0x0437be65 | (19 << 27) /* 0.263609310 */, | ||
7646 | /* 7169 */ 0x0437f1d0 | (19 << 27) /* 0.263658346 */, | ||
7647 | /* 7170 */ 0x0438253c | (19 << 27) /* 0.263707384 */, | ||
7648 | /* 7171 */ 0x043858a8 | (19 << 27) /* 0.263756424 */, | ||
7649 | /* 7172 */ 0x04388c14 | (19 << 27) /* 0.263805466 */, | ||
7650 | /* 7173 */ 0x0438bf82 | (19 << 27) /* 0.263854511 */, | ||
7651 | /* 7174 */ 0x0438f2f0 | (19 << 27) /* 0.263903558 */, | ||
7652 | /* 7175 */ 0x0439265e | (19 << 27) /* 0.263952607 */, | ||
7653 | /* 7176 */ 0x043959cd | (19 << 27) /* 0.264001659 */, | ||
7654 | /* 7177 */ 0x04398d3d | (19 << 27) /* 0.264050713 */, | ||
7655 | /* 7178 */ 0x0439c0ae | (19 << 27) /* 0.264099769 */, | ||
7656 | /* 7179 */ 0x0439f41f | (19 << 27) /* 0.264148827 */, | ||
7657 | /* 7180 */ 0x043a2790 | (19 << 27) /* 0.264197888 */, | ||
7658 | /* 7181 */ 0x043a5b02 | (19 << 27) /* 0.264246951 */, | ||
7659 | /* 7182 */ 0x043a8e75 | (19 << 27) /* 0.264296016 */, | ||
7660 | /* 7183 */ 0x043ac1e9 | (19 << 27) /* 0.264345084 */, | ||
7661 | |||
7662 | /* 7184 */ 0x043af55d | (19 << 27) /* 0.264394153 */, | ||
7663 | /* 7185 */ 0x043b28d2 | (19 << 27) /* 0.264443225 */, | ||
7664 | /* 7186 */ 0x043b5c47 | (19 << 27) /* 0.264492300 */, | ||
7665 | /* 7187 */ 0x043b8fbd | (19 << 27) /* 0.264541376 */, | ||
7666 | /* 7188 */ 0x043bc333 | (19 << 27) /* 0.264590455 */, | ||
7667 | /* 7189 */ 0x043bf6aa | (19 << 27) /* 0.264639536 */, | ||
7668 | /* 7190 */ 0x043c2a22 | (19 << 27) /* 0.264688620 */, | ||
7669 | /* 7191 */ 0x043c5d9a | (19 << 27) /* 0.264737706 */, | ||
7670 | /* 7192 */ 0x043c9113 | (19 << 27) /* 0.264786794 */, | ||
7671 | /* 7193 */ 0x043cc48d | (19 << 27) /* 0.264835884 */, | ||
7672 | /* 7194 */ 0x043cf807 | (19 << 27) /* 0.264884976 */, | ||
7673 | /* 7195 */ 0x043d2b82 | (19 << 27) /* 0.264934071 */, | ||
7674 | /* 7196 */ 0x043d5efd | (19 << 27) /* 0.264983168 */, | ||
7675 | /* 7197 */ 0x043d9279 | (19 << 27) /* 0.265032268 */, | ||
7676 | /* 7198 */ 0x043dc5f6 | (19 << 27) /* 0.265081369 */, | ||
7677 | /* 7199 */ 0x043df973 | (19 << 27) /* 0.265130473 */, | ||
7678 | |||
7679 | /* 7200 */ 0x043e2cf1 | (19 << 27) /* 0.265179580 */, | ||
7680 | /* 7201 */ 0x043e6070 | (19 << 27) /* 0.265228688 */, | ||
7681 | /* 7202 */ 0x043e93ef | (19 << 27) /* 0.265277799 */, | ||
7682 | /* 7203 */ 0x043ec76e | (19 << 27) /* 0.265326912 */, | ||
7683 | /* 7204 */ 0x043efaef | (19 << 27) /* 0.265376027 */, | ||
7684 | /* 7205 */ 0x043f2e6f | (19 << 27) /* 0.265425145 */, | ||
7685 | /* 7206 */ 0x043f61f1 | (19 << 27) /* 0.265474264 */, | ||
7686 | /* 7207 */ 0x043f9573 | (19 << 27) /* 0.265523387 */, | ||
7687 | /* 7208 */ 0x043fc8f6 | (19 << 27) /* 0.265572511 */, | ||
7688 | /* 7209 */ 0x043ffc79 | (19 << 27) /* 0.265621638 */, | ||
7689 | /* 7210 */ 0x04402ffd | (19 << 27) /* 0.265670766 */, | ||
7690 | /* 7211 */ 0x04406382 | (19 << 27) /* 0.265719898 */, | ||
7691 | /* 7212 */ 0x04409707 | (19 << 27) /* 0.265769031 */, | ||
7692 | /* 7213 */ 0x0440ca8d | (19 << 27) /* 0.265818167 */, | ||
7693 | /* 7214 */ 0x0440fe13 | (19 << 27) /* 0.265867305 */, | ||
7694 | /* 7215 */ 0x0441319a | (19 << 27) /* 0.265916445 */, | ||
7695 | |||
7696 | /* 7216 */ 0x04416522 | (19 << 27) /* 0.265965588 */, | ||
7697 | /* 7217 */ 0x044198aa | (19 << 27) /* 0.266014732 */, | ||
7698 | /* 7218 */ 0x0441cc33 | (19 << 27) /* 0.266063880 */, | ||
7699 | /* 7219 */ 0x0441ffbc | (19 << 27) /* 0.266113029 */, | ||
7700 | /* 7220 */ 0x04423346 | (19 << 27) /* 0.266162181 */, | ||
7701 | /* 7221 */ 0x044266d1 | (19 << 27) /* 0.266211334 */, | ||
7702 | /* 7222 */ 0x04429a5c | (19 << 27) /* 0.266260491 */, | ||
7703 | /* 7223 */ 0x0442cde8 | (19 << 27) /* 0.266309649 */, | ||
7704 | /* 7224 */ 0x04430174 | (19 << 27) /* 0.266358810 */, | ||
7705 | /* 7225 */ 0x04433501 | (19 << 27) /* 0.266407973 */, | ||
7706 | /* 7226 */ 0x0443688f | (19 << 27) /* 0.266457138 */, | ||
7707 | /* 7227 */ 0x04439c1d | (19 << 27) /* 0.266506305 */, | ||
7708 | /* 7228 */ 0x0443cfac | (19 << 27) /* 0.266555475 */, | ||
7709 | /* 7229 */ 0x0444033c | (19 << 27) /* 0.266604647 */, | ||
7710 | /* 7230 */ 0x044436cc | (19 << 27) /* 0.266653822 */, | ||
7711 | /* 7231 */ 0x04446a5d | (19 << 27) /* 0.266702998 */, | ||
7712 | |||
7713 | /* 7232 */ 0x04449dee | (19 << 27) /* 0.266752177 */, | ||
7714 | /* 7233 */ 0x0444d180 | (19 << 27) /* 0.266801358 */, | ||
7715 | /* 7234 */ 0x04450513 | (19 << 27) /* 0.266850541 */, | ||
7716 | /* 7235 */ 0x044538a6 | (19 << 27) /* 0.266899727 */, | ||
7717 | /* 7236 */ 0x04456c39 | (19 << 27) /* 0.266948915 */, | ||
7718 | /* 7237 */ 0x04459fce | (19 << 27) /* 0.266998105 */, | ||
7719 | /* 7238 */ 0x0445d363 | (19 << 27) /* 0.267047298 */, | ||
7720 | /* 7239 */ 0x044606f8 | (19 << 27) /* 0.267096492 */, | ||
7721 | /* 7240 */ 0x04463a8f | (19 << 27) /* 0.267145689 */, | ||
7722 | /* 7241 */ 0x04466e25 | (19 << 27) /* 0.267194888 */, | ||
7723 | /* 7242 */ 0x0446a1bd | (19 << 27) /* 0.267244090 */, | ||
7724 | /* 7243 */ 0x0446d555 | (19 << 27) /* 0.267293294 */, | ||
7725 | /* 7244 */ 0x044708ee | (19 << 27) /* 0.267342500 */, | ||
7726 | /* 7245 */ 0x04473c87 | (19 << 27) /* 0.267391708 */, | ||
7727 | /* 7246 */ 0x04477021 | (19 << 27) /* 0.267440919 */, | ||
7728 | /* 7247 */ 0x0447a3bb | (19 << 27) /* 0.267490131 */, | ||
7729 | |||
7730 | /* 7248 */ 0x0447d756 | (19 << 27) /* 0.267539347 */, | ||
7731 | /* 7249 */ 0x04480af2 | (19 << 27) /* 0.267588564 */, | ||
7732 | /* 7250 */ 0x04483e8e | (19 << 27) /* 0.267637783 */, | ||
7733 | /* 7251 */ 0x0448722b | (19 << 27) /* 0.267687005 */, | ||
7734 | /* 7252 */ 0x0448a5c9 | (19 << 27) /* 0.267736229 */, | ||
7735 | /* 7253 */ 0x0448d967 | (19 << 27) /* 0.267785456 */, | ||
7736 | /* 7254 */ 0x04490d05 | (19 << 27) /* 0.267834685 */, | ||
7737 | /* 7255 */ 0x044940a5 | (19 << 27) /* 0.267883915 */, | ||
7738 | /* 7256 */ 0x04497445 | (19 << 27) /* 0.267933149 */, | ||
7739 | /* 7257 */ 0x0449a7e5 | (19 << 27) /* 0.267982384 */, | ||
7740 | /* 7258 */ 0x0449db86 | (19 << 27) /* 0.268031622 */, | ||
7741 | /* 7259 */ 0x044a0f28 | (19 << 27) /* 0.268080862 */, | ||
7742 | /* 7260 */ 0x044a42ca | (19 << 27) /* 0.268130104 */, | ||
7743 | /* 7261 */ 0x044a766d | (19 << 27) /* 0.268179349 */, | ||
7744 | /* 7262 */ 0x044aaa11 | (19 << 27) /* 0.268228595 */, | ||
7745 | /* 7263 */ 0x044addb5 | (19 << 27) /* 0.268277844 */, | ||
7746 | |||
7747 | /* 7264 */ 0x044b115a | (19 << 27) /* 0.268327096 */, | ||
7748 | /* 7265 */ 0x044b44ff | (19 << 27) /* 0.268376349 */, | ||
7749 | /* 7266 */ 0x044b78a5 | (19 << 27) /* 0.268425605 */, | ||
7750 | /* 7267 */ 0x044bac4c | (19 << 27) /* 0.268474863 */, | ||
7751 | /* 7268 */ 0x044bdff3 | (19 << 27) /* 0.268524123 */, | ||
7752 | /* 7269 */ 0x044c139b | (19 << 27) /* 0.268573386 */, | ||
7753 | /* 7270 */ 0x044c4743 | (19 << 27) /* 0.268622651 */, | ||
7754 | /* 7271 */ 0x044c7aec | (19 << 27) /* 0.268671918 */, | ||
7755 | /* 7272 */ 0x044cae96 | (19 << 27) /* 0.268721187 */, | ||
7756 | /* 7273 */ 0x044ce240 | (19 << 27) /* 0.268770459 */, | ||
7757 | /* 7274 */ 0x044d15eb | (19 << 27) /* 0.268819733 */, | ||
7758 | /* 7275 */ 0x044d4997 | (19 << 27) /* 0.268869009 */, | ||
7759 | /* 7276 */ 0x044d7d43 | (19 << 27) /* 0.268918287 */, | ||
7760 | /* 7277 */ 0x044db0ef | (19 << 27) /* 0.268967568 */, | ||
7761 | /* 7278 */ 0x044de49d | (19 << 27) /* 0.269016851 */, | ||
7762 | /* 7279 */ 0x044e184b | (19 << 27) /* 0.269066136 */, | ||
7763 | |||
7764 | /* 7280 */ 0x044e4bf9 | (19 << 27) /* 0.269115423 */, | ||
7765 | /* 7281 */ 0x044e7fa8 | (19 << 27) /* 0.269164713 */, | ||
7766 | /* 7282 */ 0x044eb358 | (19 << 27) /* 0.269214005 */, | ||
7767 | /* 7283 */ 0x044ee708 | (19 << 27) /* 0.269263299 */, | ||
7768 | /* 7284 */ 0x044f1ab9 | (19 << 27) /* 0.269312595 */, | ||
7769 | /* 7285 */ 0x044f4e6b | (19 << 27) /* 0.269361894 */, | ||
7770 | /* 7286 */ 0x044f821d | (19 << 27) /* 0.269411195 */, | ||
7771 | /* 7287 */ 0x044fb5cf | (19 << 27) /* 0.269460498 */, | ||
7772 | /* 7288 */ 0x044fe983 | (19 << 27) /* 0.269509804 */, | ||
7773 | /* 7289 */ 0x04501d37 | (19 << 27) /* 0.269559111 */, | ||
7774 | /* 7290 */ 0x045050eb | (19 << 27) /* 0.269608421 */, | ||
7775 | /* 7291 */ 0x045084a0 | (19 << 27) /* 0.269657734 */, | ||
7776 | /* 7292 */ 0x0450b856 | (19 << 27) /* 0.269707048 */, | ||
7777 | /* 7293 */ 0x0450ec0d | (19 << 27) /* 0.269756365 */, | ||
7778 | /* 7294 */ 0x04511fc4 | (19 << 27) /* 0.269805684 */, | ||
7779 | /* 7295 */ 0x0451537b | (19 << 27) /* 0.269855005 */, | ||
7780 | |||
7781 | /* 7296 */ 0x04518733 | (19 << 27) /* 0.269904329 */, | ||
7782 | /* 7297 */ 0x0451baec | (19 << 27) /* 0.269953654 */, | ||
7783 | /* 7298 */ 0x0451eea5 | (19 << 27) /* 0.270002982 */, | ||
7784 | /* 7299 */ 0x0452225f | (19 << 27) /* 0.270052313 */, | ||
7785 | /* 7300 */ 0x0452561a | (19 << 27) /* 0.270101645 */, | ||
7786 | /* 7301 */ 0x045289d5 | (19 << 27) /* 0.270150980 */, | ||
7787 | /* 7302 */ 0x0452bd91 | (19 << 27) /* 0.270200317 */, | ||
7788 | /* 7303 */ 0x0452f14d | (19 << 27) /* 0.270249656 */, | ||
7789 | /* 7304 */ 0x0453250a | (19 << 27) /* 0.270298998 */, | ||
7790 | /* 7305 */ 0x045358c8 | (19 << 27) /* 0.270348341 */, | ||
7791 | /* 7306 */ 0x04538c86 | (19 << 27) /* 0.270397687 */, | ||
7792 | /* 7307 */ 0x0453c045 | (19 << 27) /* 0.270447036 */, | ||
7793 | /* 7308 */ 0x0453f405 | (19 << 27) /* 0.270496386 */, | ||
7794 | /* 7309 */ 0x045427c5 | (19 << 27) /* 0.270545739 */, | ||
7795 | /* 7310 */ 0x04545b85 | (19 << 27) /* 0.270595094 */, | ||
7796 | /* 7311 */ 0x04548f46 | (19 << 27) /* 0.270644451 */, | ||
7797 | |||
7798 | /* 7312 */ 0x0454c308 | (19 << 27) /* 0.270693811 */, | ||
7799 | /* 7313 */ 0x0454f6cb | (19 << 27) /* 0.270743173 */, | ||
7800 | /* 7314 */ 0x04552a8e | (19 << 27) /* 0.270792537 */, | ||
7801 | /* 7315 */ 0x04555e51 | (19 << 27) /* 0.270841903 */, | ||
7802 | /* 7316 */ 0x04559216 | (19 << 27) /* 0.270891271 */, | ||
7803 | /* 7317 */ 0x0455c5db | (19 << 27) /* 0.270940642 */, | ||
7804 | /* 7318 */ 0x0455f9a0 | (19 << 27) /* 0.270990015 */, | ||
7805 | /* 7319 */ 0x04562d66 | (19 << 27) /* 0.271039390 */, | ||
7806 | /* 7320 */ 0x0456612d | (19 << 27) /* 0.271088768 */, | ||
7807 | /* 7321 */ 0x045694f4 | (19 << 27) /* 0.271138148 */, | ||
7808 | /* 7322 */ 0x0456c8bc | (19 << 27) /* 0.271187530 */, | ||
7809 | /* 7323 */ 0x0456fc84 | (19 << 27) /* 0.271236914 */, | ||
7810 | /* 7324 */ 0x0457304e | (19 << 27) /* 0.271286301 */, | ||
7811 | /* 7325 */ 0x04576417 | (19 << 27) /* 0.271335689 */, | ||
7812 | /* 7326 */ 0x045797e2 | (19 << 27) /* 0.271385080 */, | ||
7813 | /* 7327 */ 0x0457cbac | (19 << 27) /* 0.271434474 */, | ||
7814 | |||
7815 | /* 7328 */ 0x0457ff78 | (19 << 27) /* 0.271483869 */, | ||
7816 | /* 7329 */ 0x04583344 | (19 << 27) /* 0.271533267 */, | ||
7817 | /* 7330 */ 0x04586711 | (19 << 27) /* 0.271582667 */, | ||
7818 | /* 7331 */ 0x04589ade | (19 << 27) /* 0.271632069 */, | ||
7819 | /* 7332 */ 0x0458ceac | (19 << 27) /* 0.271681474 */, | ||
7820 | /* 7333 */ 0x0459027b | (19 << 27) /* 0.271730880 */, | ||
7821 | /* 7334 */ 0x0459364a | (19 << 27) /* 0.271780289 */, | ||
7822 | /* 7335 */ 0x04596a19 | (19 << 27) /* 0.271829701 */, | ||
7823 | /* 7336 */ 0x04599dea | (19 << 27) /* 0.271879114 */, | ||
7824 | /* 7337 */ 0x0459d1bb | (19 << 27) /* 0.271928530 */, | ||
7825 | /* 7338 */ 0x045a058c | (19 << 27) /* 0.271977948 */, | ||
7826 | /* 7339 */ 0x045a395e | (19 << 27) /* 0.272027368 */, | ||
7827 | /* 7340 */ 0x045a6d31 | (19 << 27) /* 0.272076790 */, | ||
7828 | /* 7341 */ 0x045aa104 | (19 << 27) /* 0.272126215 */, | ||
7829 | /* 7342 */ 0x045ad4d8 | (19 << 27) /* 0.272175642 */, | ||
7830 | /* 7343 */ 0x045b08ad | (19 << 27) /* 0.272225071 */, | ||
7831 | |||
7832 | /* 7344 */ 0x045b3c82 | (19 << 27) /* 0.272274503 */, | ||
7833 | /* 7345 */ 0x045b7058 | (19 << 27) /* 0.272323936 */, | ||
7834 | /* 7346 */ 0x045ba42e | (19 << 27) /* 0.272373372 */, | ||
7835 | /* 7347 */ 0x045bd805 | (19 << 27) /* 0.272422810 */, | ||
7836 | /* 7348 */ 0x045c0bdd | (19 << 27) /* 0.272472251 */, | ||
7837 | /* 7349 */ 0x045c3fb5 | (19 << 27) /* 0.272521693 */, | ||
7838 | /* 7350 */ 0x045c738e | (19 << 27) /* 0.272571138 */, | ||
7839 | /* 7351 */ 0x045ca767 | (19 << 27) /* 0.272620585 */, | ||
7840 | /* 7352 */ 0x045cdb41 | (19 << 27) /* 0.272670035 */, | ||
7841 | /* 7353 */ 0x045d0f1b | (19 << 27) /* 0.272719486 */, | ||
7842 | /* 7354 */ 0x045d42f7 | (19 << 27) /* 0.272768940 */, | ||
7843 | /* 7355 */ 0x045d76d2 | (19 << 27) /* 0.272818396 */, | ||
7844 | /* 7356 */ 0x045daaaf | (19 << 27) /* 0.272867855 */, | ||
7845 | /* 7357 */ 0x045dde8c | (19 << 27) /* 0.272917315 */, | ||
7846 | /* 7358 */ 0x045e1269 | (19 << 27) /* 0.272966778 */, | ||
7847 | /* 7359 */ 0x045e4647 | (19 << 27) /* 0.273016243 */, | ||
7848 | |||
7849 | /* 7360 */ 0x045e7a26 | (19 << 27) /* 0.273065710 */, | ||
7850 | /* 7361 */ 0x045eae06 | (19 << 27) /* 0.273115180 */, | ||
7851 | /* 7362 */ 0x045ee1e6 | (19 << 27) /* 0.273164652 */, | ||
7852 | /* 7363 */ 0x045f15c6 | (19 << 27) /* 0.273214126 */, | ||
7853 | /* 7364 */ 0x045f49a7 | (19 << 27) /* 0.273263602 */, | ||
7854 | /* 7365 */ 0x045f7d89 | (19 << 27) /* 0.273313081 */, | ||
7855 | /* 7366 */ 0x045fb16c | (19 << 27) /* 0.273362561 */, | ||
7856 | /* 7367 */ 0x045fe54f | (19 << 27) /* 0.273412044 */, | ||
7857 | /* 7368 */ 0x04601932 | (19 << 27) /* 0.273461530 */, | ||
7858 | /* 7369 */ 0x04604d16 | (19 << 27) /* 0.273511017 */, | ||
7859 | /* 7370 */ 0x046080fb | (19 << 27) /* 0.273560507 */, | ||
7860 | /* 7371 */ 0x0460b4e1 | (19 << 27) /* 0.273609999 */, | ||
7861 | /* 7372 */ 0x0460e8c7 | (19 << 27) /* 0.273659493 */, | ||
7862 | /* 7373 */ 0x04611cad | (19 << 27) /* 0.273708989 */, | ||
7863 | /* 7374 */ 0x04615094 | (19 << 27) /* 0.273758488 */, | ||
7864 | /* 7375 */ 0x0461847c | (19 << 27) /* 0.273807989 */, | ||
7865 | |||
7866 | /* 7376 */ 0x0461b864 | (19 << 27) /* 0.273857492 */, | ||
7867 | /* 7377 */ 0x0461ec4d | (19 << 27) /* 0.273906997 */, | ||
7868 | /* 7378 */ 0x04622037 | (19 << 27) /* 0.273956505 */, | ||
7869 | /* 7379 */ 0x04625421 | (19 << 27) /* 0.274006015 */, | ||
7870 | /* 7380 */ 0x0462880c | (19 << 27) /* 0.274055527 */, | ||
7871 | /* 7381 */ 0x0462bbf7 | (19 << 27) /* 0.274105041 */, | ||
7872 | /* 7382 */ 0x0462efe3 | (19 << 27) /* 0.274154558 */, | ||
7873 | /* 7383 */ 0x046323d0 | (19 << 27) /* 0.274204076 */, | ||
7874 | /* 7384 */ 0x046357bd | (19 << 27) /* 0.274253597 */, | ||
7875 | /* 7385 */ 0x04638bab | (19 << 27) /* 0.274303121 */, | ||
7876 | /* 7386 */ 0x0463bf99 | (19 << 27) /* 0.274352646 */, | ||
7877 | /* 7387 */ 0x0463f388 | (19 << 27) /* 0.274402174 */, | ||
7878 | /* 7388 */ 0x04642778 | (19 << 27) /* 0.274451704 */, | ||
7879 | /* 7389 */ 0x04645b68 | (19 << 27) /* 0.274501236 */, | ||
7880 | /* 7390 */ 0x04648f59 | (19 << 27) /* 0.274550771 */, | ||
7881 | /* 7391 */ 0x0464c34a | (19 << 27) /* 0.274600307 */, | ||
7882 | |||
7883 | /* 7392 */ 0x0464f73c | (19 << 27) /* 0.274649846 */, | ||
7884 | /* 7393 */ 0x04652b2f | (19 << 27) /* 0.274699387 */, | ||
7885 | /* 7394 */ 0x04655f22 | (19 << 27) /* 0.274748931 */, | ||
7886 | /* 7395 */ 0x04659316 | (19 << 27) /* 0.274798476 */, | ||
7887 | /* 7396 */ 0x0465c70a | (19 << 27) /* 0.274848024 */, | ||
7888 | /* 7397 */ 0x0465faff | (19 << 27) /* 0.274897574 */, | ||
7889 | /* 7398 */ 0x04662ef5 | (19 << 27) /* 0.274947126 */, | ||
7890 | /* 7399 */ 0x046662eb | (19 << 27) /* 0.274996681 */, | ||
7891 | /* 7400 */ 0x046696e2 | (19 << 27) /* 0.275046238 */, | ||
7892 | /* 7401 */ 0x0466cad9 | (19 << 27) /* 0.275095797 */, | ||
7893 | /* 7402 */ 0x0466fed1 | (19 << 27) /* 0.275145358 */, | ||
7894 | /* 7403 */ 0x046732ca | (19 << 27) /* 0.275194921 */, | ||
7895 | /* 7404 */ 0x046766c3 | (19 << 27) /* 0.275244487 */, | ||
7896 | /* 7405 */ 0x04679abd | (19 << 27) /* 0.275294055 */, | ||
7897 | /* 7406 */ 0x0467ceb7 | (19 << 27) /* 0.275343625 */, | ||
7898 | /* 7407 */ 0x046802b2 | (19 << 27) /* 0.275393198 */, | ||
7899 | |||
7900 | /* 7408 */ 0x046836ae | (19 << 27) /* 0.275442772 */, | ||
7901 | /* 7409 */ 0x04686aaa | (19 << 27) /* 0.275492349 */, | ||
7902 | /* 7410 */ 0x04689ea7 | (19 << 27) /* 0.275541928 */, | ||
7903 | /* 7411 */ 0x0468d2a4 | (19 << 27) /* 0.275591509 */, | ||
7904 | /* 7412 */ 0x046906a2 | (19 << 27) /* 0.275641093 */, | ||
7905 | /* 7413 */ 0x04693aa1 | (19 << 27) /* 0.275690679 */, | ||
7906 | /* 7414 */ 0x04696ea0 | (19 << 27) /* 0.275740267 */, | ||
7907 | /* 7415 */ 0x0469a2a0 | (19 << 27) /* 0.275789857 */, | ||
7908 | /* 7416 */ 0x0469d6a0 | (19 << 27) /* 0.275839449 */, | ||
7909 | /* 7417 */ 0x046a0aa1 | (19 << 27) /* 0.275889044 */, | ||
7910 | /* 7418 */ 0x046a3ea3 | (19 << 27) /* 0.275938641 */, | ||
7911 | /* 7419 */ 0x046a72a5 | (19 << 27) /* 0.275988240 */, | ||
7912 | /* 7420 */ 0x046aa6a8 | (19 << 27) /* 0.276037842 */, | ||
7913 | /* 7421 */ 0x046adaab | (19 << 27) /* 0.276087445 */, | ||
7914 | /* 7422 */ 0x046b0eaf | (19 << 27) /* 0.276137051 */, | ||
7915 | /* 7423 */ 0x046b42b3 | (19 << 27) /* 0.276186659 */, | ||
7916 | |||
7917 | /* 7424 */ 0x046b76b9 | (19 << 27) /* 0.276236269 */, | ||
7918 | /* 7425 */ 0x046baabe | (19 << 27) /* 0.276285882 */, | ||
7919 | /* 7426 */ 0x046bdec5 | (19 << 27) /* 0.276335497 */, | ||
7920 | /* 7427 */ 0x046c12cc | (19 << 27) /* 0.276385113 */, | ||
7921 | /* 7428 */ 0x046c46d3 | (19 << 27) /* 0.276434733 */, | ||
7922 | /* 7429 */ 0x046c7adb | (19 << 27) /* 0.276484354 */, | ||
7923 | /* 7430 */ 0x046caee4 | (19 << 27) /* 0.276533978 */, | ||
7924 | /* 7431 */ 0x046ce2ee | (19 << 27) /* 0.276583604 */, | ||
7925 | /* 7432 */ 0x046d16f7 | (19 << 27) /* 0.276633232 */, | ||
7926 | /* 7433 */ 0x046d4b02 | (19 << 27) /* 0.276682862 */, | ||
7927 | /* 7434 */ 0x046d7f0d | (19 << 27) /* 0.276732495 */, | ||
7928 | /* 7435 */ 0x046db319 | (19 << 27) /* 0.276782129 */, | ||
7929 | /* 7436 */ 0x046de725 | (19 << 27) /* 0.276831766 */, | ||
7930 | /* 7437 */ 0x046e1b32 | (19 << 27) /* 0.276881406 */, | ||
7931 | /* 7438 */ 0x046e4f40 | (19 << 27) /* 0.276931047 */, | ||
7932 | /* 7439 */ 0x046e834e | (19 << 27) /* 0.276980691 */, | ||
7933 | |||
7934 | /* 7440 */ 0x046eb75c | (19 << 27) /* 0.277030337 */, | ||
7935 | /* 7441 */ 0x046eeb6c | (19 << 27) /* 0.277079985 */, | ||
7936 | /* 7442 */ 0x046f1f7c | (19 << 27) /* 0.277129635 */, | ||
7937 | /* 7443 */ 0x046f538c | (19 << 27) /* 0.277179288 */, | ||
7938 | /* 7444 */ 0x046f879d | (19 << 27) /* 0.277228942 */, | ||
7939 | /* 7445 */ 0x046fbbaf | (19 << 27) /* 0.277278600 */, | ||
7940 | /* 7446 */ 0x046fefc1 | (19 << 27) /* 0.277328259 */, | ||
7941 | /* 7447 */ 0x047023d4 | (19 << 27) /* 0.277377920 */, | ||
7942 | /* 7448 */ 0x047057e8 | (19 << 27) /* 0.277427584 */, | ||
7943 | /* 7449 */ 0x04708bfc | (19 << 27) /* 0.277477250 */, | ||
7944 | /* 7450 */ 0x0470c011 | (19 << 27) /* 0.277526918 */, | ||
7945 | /* 7451 */ 0x0470f426 | (19 << 27) /* 0.277576588 */, | ||
7946 | /* 7452 */ 0x0471283c | (19 << 27) /* 0.277626261 */, | ||
7947 | /* 7453 */ 0x04715c52 | (19 << 27) /* 0.277675936 */, | ||
7948 | /* 7454 */ 0x04719069 | (19 << 27) /* 0.277725613 */, | ||
7949 | /* 7455 */ 0x0471c481 | (19 << 27) /* 0.277775292 */, | ||
7950 | |||
7951 | /* 7456 */ 0x0471f899 | (19 << 27) /* 0.277824973 */, | ||
7952 | /* 7457 */ 0x04722cb2 | (19 << 27) /* 0.277874657 */, | ||
7953 | /* 7458 */ 0x047260cc | (19 << 27) /* 0.277924343 */, | ||
7954 | /* 7459 */ 0x047294e6 | (19 << 27) /* 0.277974031 */, | ||
7955 | /* 7460 */ 0x0472c900 | (19 << 27) /* 0.278023722 */, | ||
7956 | /* 7461 */ 0x0472fd1b | (19 << 27) /* 0.278073414 */, | ||
7957 | /* 7462 */ 0x04733137 | (19 << 27) /* 0.278123109 */, | ||
7958 | /* 7463 */ 0x04736554 | (19 << 27) /* 0.278172806 */, | ||
7959 | /* 7464 */ 0x04739971 | (19 << 27) /* 0.278222505 */, | ||
7960 | /* 7465 */ 0x0473cd8e | (19 << 27) /* 0.278272207 */, | ||
7961 | /* 7466 */ 0x047401ad | (19 << 27) /* 0.278321910 */, | ||
7962 | /* 7467 */ 0x047435cb | (19 << 27) /* 0.278371616 */, | ||
7963 | /* 7468 */ 0x047469eb | (19 << 27) /* 0.278421324 */, | ||
7964 | /* 7469 */ 0x04749e0b | (19 << 27) /* 0.278471035 */, | ||
7965 | /* 7470 */ 0x0474d22c | (19 << 27) /* 0.278520747 */, | ||
7966 | /* 7471 */ 0x0475064d | (19 << 27) /* 0.278570462 */, | ||
7967 | |||
7968 | /* 7472 */ 0x04753a6f | (19 << 27) /* 0.278620179 */, | ||
7969 | /* 7473 */ 0x04756e91 | (19 << 27) /* 0.278669898 */, | ||
7970 | /* 7474 */ 0x0475a2b4 | (19 << 27) /* 0.278719619 */, | ||
7971 | /* 7475 */ 0x0475d6d7 | (19 << 27) /* 0.278769343 */, | ||
7972 | /* 7476 */ 0x04760afc | (19 << 27) /* 0.278819069 */, | ||
7973 | /* 7477 */ 0x04763f20 | (19 << 27) /* 0.278868797 */, | ||
7974 | /* 7478 */ 0x04767346 | (19 << 27) /* 0.278918527 */, | ||
7975 | /* 7479 */ 0x0476a76c | (19 << 27) /* 0.278968260 */, | ||
7976 | /* 7480 */ 0x0476db92 | (19 << 27) /* 0.279017995 */, | ||
7977 | /* 7481 */ 0x04770fba | (19 << 27) /* 0.279067731 */, | ||
7978 | /* 7482 */ 0x047743e1 | (19 << 27) /* 0.279117471 */, | ||
7979 | /* 7483 */ 0x0477780a | (19 << 27) /* 0.279167212 */, | ||
7980 | /* 7484 */ 0x0477ac33 | (19 << 27) /* 0.279216956 */, | ||
7981 | /* 7485 */ 0x0477e05c | (19 << 27) /* 0.279266701 */, | ||
7982 | /* 7486 */ 0x04781486 | (19 << 27) /* 0.279316449 */, | ||
7983 | /* 7487 */ 0x047848b1 | (19 << 27) /* 0.279366200 */, | ||
7984 | |||
7985 | /* 7488 */ 0x04787cdc | (19 << 27) /* 0.279415952 */, | ||
7986 | /* 7489 */ 0x0478b108 | (19 << 27) /* 0.279465707 */, | ||
7987 | /* 7490 */ 0x0478e535 | (19 << 27) /* 0.279515464 */, | ||
7988 | /* 7491 */ 0x04791962 | (19 << 27) /* 0.279565223 */, | ||
7989 | /* 7492 */ 0x04794d8f | (19 << 27) /* 0.279614984 */, | ||
7990 | /* 7493 */ 0x047981be | (19 << 27) /* 0.279664748 */, | ||
7991 | /* 7494 */ 0x0479b5ed | (19 << 27) /* 0.279714513 */, | ||
7992 | /* 7495 */ 0x0479ea1c | (19 << 27) /* 0.279764281 */, | ||
7993 | /* 7496 */ 0x047a1e4c | (19 << 27) /* 0.279814051 */, | ||
7994 | /* 7497 */ 0x047a527d | (19 << 27) /* 0.279863824 */, | ||
7995 | /* 7498 */ 0x047a86ae | (19 << 27) /* 0.279913598 */, | ||
7996 | /* 7499 */ 0x047abae0 | (19 << 27) /* 0.279963375 */, | ||
7997 | /* 7500 */ 0x047aef12 | (19 << 27) /* 0.280013154 */, | ||
7998 | /* 7501 */ 0x047b2346 | (19 << 27) /* 0.280062935 */, | ||
7999 | /* 7502 */ 0x047b5779 | (19 << 27) /* 0.280112719 */, | ||
8000 | /* 7503 */ 0x047b8bad | (19 << 27) /* 0.280162504 */, | ||
8001 | |||
8002 | /* 7504 */ 0x047bbfe2 | (19 << 27) /* 0.280212292 */, | ||
8003 | /* 7505 */ 0x047bf418 | (19 << 27) /* 0.280262082 */, | ||
8004 | /* 7506 */ 0x047c284e | (19 << 27) /* 0.280311875 */, | ||
8005 | /* 7507 */ 0x047c5c84 | (19 << 27) /* 0.280361669 */, | ||
8006 | /* 7508 */ 0x047c90bb | (19 << 27) /* 0.280411466 */, | ||
8007 | /* 7509 */ 0x047cc4f3 | (19 << 27) /* 0.280461265 */, | ||
8008 | /* 7510 */ 0x047cf92c | (19 << 27) /* 0.280511066 */, | ||
8009 | /* 7511 */ 0x047d2d65 | (19 << 27) /* 0.280560869 */, | ||
8010 | /* 7512 */ 0x047d619e | (19 << 27) /* 0.280610675 */, | ||
8011 | /* 7513 */ 0x047d95d8 | (19 << 27) /* 0.280660483 */, | ||
8012 | /* 7514 */ 0x047dca13 | (19 << 27) /* 0.280710292 */, | ||
8013 | /* 7515 */ 0x047dfe4e | (19 << 27) /* 0.280760105 */, | ||
8014 | /* 7516 */ 0x047e328a | (19 << 27) /* 0.280809919 */, | ||
8015 | /* 7517 */ 0x047e66c7 | (19 << 27) /* 0.280859736 */, | ||
8016 | /* 7518 */ 0x047e9b04 | (19 << 27) /* 0.280909554 */, | ||
8017 | /* 7519 */ 0x047ecf42 | (19 << 27) /* 0.280959375 */, | ||
8018 | |||
8019 | /* 7520 */ 0x047f0380 | (19 << 27) /* 0.281009199 */, | ||
8020 | /* 7521 */ 0x047f37bf | (19 << 27) /* 0.281059024 */, | ||
8021 | /* 7522 */ 0x047f6bff | (19 << 27) /* 0.281108852 */, | ||
8022 | /* 7523 */ 0x047fa03f | (19 << 27) /* 0.281158682 */, | ||
8023 | /* 7524 */ 0x047fd47f | (19 << 27) /* 0.281208514 */, | ||
8024 | /* 7525 */ 0x048008c1 | (19 << 27) /* 0.281258348 */, | ||
8025 | /* 7526 */ 0x04803d02 | (19 << 27) /* 0.281308184 */, | ||
8026 | /* 7527 */ 0x04807145 | (19 << 27) /* 0.281358023 */, | ||
8027 | /* 7528 */ 0x0480a588 | (19 << 27) /* 0.281407864 */, | ||
8028 | /* 7529 */ 0x0480d9cc | (19 << 27) /* 0.281457707 */, | ||
8029 | /* 7530 */ 0x04810e10 | (19 << 27) /* 0.281507552 */, | ||
8030 | /* 7531 */ 0x04814255 | (19 << 27) /* 0.281557400 */, | ||
8031 | /* 7532 */ 0x0481769a | (19 << 27) /* 0.281607250 */, | ||
8032 | /* 7533 */ 0x0481aae0 | (19 << 27) /* 0.281657101 */, | ||
8033 | /* 7534 */ 0x0481df27 | (19 << 27) /* 0.281706956 */, | ||
8034 | /* 7535 */ 0x0482136e | (19 << 27) /* 0.281756812 */, | ||
8035 | |||
8036 | /* 7536 */ 0x048247b6 | (19 << 27) /* 0.281806670 */, | ||
8037 | /* 7537 */ 0x04827bfe | (19 << 27) /* 0.281856531 */, | ||
8038 | /* 7538 */ 0x0482b047 | (19 << 27) /* 0.281906394 */, | ||
8039 | /* 7539 */ 0x0482e491 | (19 << 27) /* 0.281956259 */, | ||
8040 | /* 7540 */ 0x048318db | (19 << 27) /* 0.282006127 */, | ||
8041 | /* 7541 */ 0x04834d26 | (19 << 27) /* 0.282055996 */, | ||
8042 | /* 7542 */ 0x04838171 | (19 << 27) /* 0.282105868 */, | ||
8043 | /* 7543 */ 0x0483b5bd | (19 << 27) /* 0.282155742 */, | ||
8044 | /* 7544 */ 0x0483ea0a | (19 << 27) /* 0.282205618 */, | ||
8045 | /* 7545 */ 0x04841e57 | (19 << 27) /* 0.282255496 */, | ||
8046 | /* 7546 */ 0x048452a4 | (19 << 27) /* 0.282305377 */, | ||
8047 | /* 7547 */ 0x048486f3 | (19 << 27) /* 0.282355260 */, | ||
8048 | /* 7548 */ 0x0484bb42 | (19 << 27) /* 0.282405145 */, | ||
8049 | /* 7549 */ 0x0484ef91 | (19 << 27) /* 0.282455032 */, | ||
8050 | /* 7550 */ 0x048523e1 | (19 << 27) /* 0.282504921 */, | ||
8051 | /* 7551 */ 0x04855832 | (19 << 27) /* 0.282554813 */, | ||
8052 | |||
8053 | /* 7552 */ 0x04858c83 | (19 << 27) /* 0.282604707 */, | ||
8054 | /* 7553 */ 0x0485c0d5 | (19 << 27) /* 0.282654603 */, | ||
8055 | /* 7554 */ 0x0485f527 | (19 << 27) /* 0.282704501 */, | ||
8056 | /* 7555 */ 0x0486297a | (19 << 27) /* 0.282754401 */, | ||
8057 | /* 7556 */ 0x04865dce | (19 << 27) /* 0.282804304 */, | ||
8058 | /* 7557 */ 0x04869222 | (19 << 27) /* 0.282854209 */, | ||
8059 | /* 7558 */ 0x0486c677 | (19 << 27) /* 0.282904116 */, | ||
8060 | /* 7559 */ 0x0486facc | (19 << 27) /* 0.282954025 */, | ||
8061 | /* 7560 */ 0x04872f22 | (19 << 27) /* 0.283003936 */, | ||
8062 | /* 7561 */ 0x04876379 | (19 << 27) /* 0.283053850 */, | ||
8063 | /* 7562 */ 0x048797d0 | (19 << 27) /* 0.283103766 */, | ||
8064 | /* 7563 */ 0x0487cc28 | (19 << 27) /* 0.283153684 */, | ||
8065 | /* 7564 */ 0x04880080 | (19 << 27) /* 0.283203604 */, | ||
8066 | /* 7565 */ 0x048834d9 | (19 << 27) /* 0.283253527 */, | ||
8067 | /* 7566 */ 0x04886933 | (19 << 27) /* 0.283303451 */, | ||
8068 | /* 7567 */ 0x04889d8d | (19 << 27) /* 0.283353378 */, | ||
8069 | |||
8070 | /* 7568 */ 0x0488d1e8 | (19 << 27) /* 0.283403307 */, | ||
8071 | /* 7569 */ 0x04890643 | (19 << 27) /* 0.283453238 */, | ||
8072 | /* 7570 */ 0x04893a9f | (19 << 27) /* 0.283503172 */, | ||
8073 | /* 7571 */ 0x04896efb | (19 << 27) /* 0.283553107 */, | ||
8074 | /* 7572 */ 0x0489a358 | (19 << 27) /* 0.283603045 */, | ||
8075 | /* 7573 */ 0x0489d7b6 | (19 << 27) /* 0.283652985 */, | ||
8076 | /* 7574 */ 0x048a0c14 | (19 << 27) /* 0.283702927 */, | ||
8077 | /* 7575 */ 0x048a4073 | (19 << 27) /* 0.283752872 */, | ||
8078 | /* 7576 */ 0x048a74d3 | (19 << 27) /* 0.283802818 */, | ||
8079 | /* 7577 */ 0x048aa933 | (19 << 27) /* 0.283852767 */, | ||
8080 | /* 7578 */ 0x048add93 | (19 << 27) /* 0.283902718 */, | ||
8081 | /* 7579 */ 0x048b11f5 | (19 << 27) /* 0.283952671 */, | ||
8082 | /* 7580 */ 0x048b4656 | (19 << 27) /* 0.284002627 */, | ||
8083 | /* 7581 */ 0x048b7ab9 | (19 << 27) /* 0.284052584 */, | ||
8084 | /* 7582 */ 0x048baf1c | (19 << 27) /* 0.284102544 */, | ||
8085 | /* 7583 */ 0x048be37f | (19 << 27) /* 0.284152506 */, | ||
8086 | |||
8087 | /* 7584 */ 0x048c17e3 | (19 << 27) /* 0.284202470 */, | ||
8088 | /* 7585 */ 0x048c4c48 | (19 << 27) /* 0.284252436 */, | ||
8089 | /* 7586 */ 0x048c80ad | (19 << 27) /* 0.284302405 */, | ||
8090 | /* 7587 */ 0x048cb513 | (19 << 27) /* 0.284352376 */, | ||
8091 | /* 7588 */ 0x048ce97a | (19 << 27) /* 0.284402349 */, | ||
8092 | /* 7589 */ 0x048d1de1 | (19 << 27) /* 0.284452324 */, | ||
8093 | /* 7590 */ 0x048d5249 | (19 << 27) /* 0.284502301 */, | ||
8094 | /* 7591 */ 0x048d86b1 | (19 << 27) /* 0.284552281 */, | ||
8095 | /* 7592 */ 0x048dbb1a | (19 << 27) /* 0.284602263 */, | ||
8096 | /* 7593 */ 0x048def83 | (19 << 27) /* 0.284652246 */, | ||
8097 | /* 7594 */ 0x048e23ed | (19 << 27) /* 0.284702233 */, | ||
8098 | /* 7595 */ 0x048e5858 | (19 << 27) /* 0.284752221 */, | ||
8099 | /* 7596 */ 0x048e8cc3 | (19 << 27) /* 0.284802211 */, | ||
8100 | /* 7597 */ 0x048ec12f | (19 << 27) /* 0.284852204 */, | ||
8101 | /* 7598 */ 0x048ef59b | (19 << 27) /* 0.284902199 */, | ||
8102 | /* 7599 */ 0x048f2a08 | (19 << 27) /* 0.284952196 */, | ||
8103 | |||
8104 | /* 7600 */ 0x048f5e76 | (19 << 27) /* 0.285002195 */, | ||
8105 | /* 7601 */ 0x048f92e4 | (19 << 27) /* 0.285052197 */, | ||
8106 | /* 7602 */ 0x048fc753 | (19 << 27) /* 0.285102201 */, | ||
8107 | /* 7603 */ 0x048ffbc2 | (19 << 27) /* 0.285152206 */, | ||
8108 | /* 7604 */ 0x04903032 | (19 << 27) /* 0.285202214 */, | ||
8109 | /* 7605 */ 0x049064a3 | (19 << 27) /* 0.285252225 */, | ||
8110 | /* 7606 */ 0x04909914 | (19 << 27) /* 0.285302237 */, | ||
8111 | /* 7607 */ 0x0490cd86 | (19 << 27) /* 0.285352252 */, | ||
8112 | /* 7608 */ 0x049101f8 | (19 << 27) /* 0.285402269 */, | ||
8113 | /* 7609 */ 0x0491366b | (19 << 27) /* 0.285452288 */, | ||
8114 | /* 7610 */ 0x04916ade | (19 << 27) /* 0.285502309 */, | ||
8115 | /* 7611 */ 0x04919f52 | (19 << 27) /* 0.285552332 */, | ||
8116 | /* 7612 */ 0x0491d3c7 | (19 << 27) /* 0.285602358 */, | ||
8117 | /* 7613 */ 0x0492083c | (19 << 27) /* 0.285652386 */, | ||
8118 | /* 7614 */ 0x04923cb2 | (19 << 27) /* 0.285702416 */, | ||
8119 | /* 7615 */ 0x04927128 | (19 << 27) /* 0.285752448 */, | ||
8120 | |||
8121 | /* 7616 */ 0x0492a59f | (19 << 27) /* 0.285802482 */, | ||
8122 | /* 7617 */ 0x0492da17 | (19 << 27) /* 0.285852519 */, | ||
8123 | /* 7618 */ 0x04930e8f | (19 << 27) /* 0.285902557 */, | ||
8124 | /* 7619 */ 0x04934308 | (19 << 27) /* 0.285952598 */, | ||
8125 | /* 7620 */ 0x04937781 | (19 << 27) /* 0.286002641 */, | ||
8126 | /* 7621 */ 0x0493abfb | (19 << 27) /* 0.286052687 */, | ||
8127 | /* 7622 */ 0x0493e076 | (19 << 27) /* 0.286102734 */, | ||
8128 | /* 7623 */ 0x049414f1 | (19 << 27) /* 0.286152784 */, | ||
8129 | /* 7624 */ 0x0494496c | (19 << 27) /* 0.286202836 */, | ||
8130 | /* 7625 */ 0x04947de9 | (19 << 27) /* 0.286252890 */, | ||
8131 | /* 7626 */ 0x0494b266 | (19 << 27) /* 0.286302946 */, | ||
8132 | /* 7627 */ 0x0494e6e3 | (19 << 27) /* 0.286353005 */, | ||
8133 | /* 7628 */ 0x04951b61 | (19 << 27) /* 0.286403065 */, | ||
8134 | /* 7629 */ 0x04954fe0 | (19 << 27) /* 0.286453128 */, | ||
8135 | /* 7630 */ 0x0495845f | (19 << 27) /* 0.286503193 */, | ||
8136 | /* 7631 */ 0x0495b8df | (19 << 27) /* 0.286553260 */, | ||
8137 | |||
8138 | /* 7632 */ 0x0495ed5f | (19 << 27) /* 0.286603329 */, | ||
8139 | /* 7633 */ 0x049621e0 | (19 << 27) /* 0.286653401 */, | ||
8140 | /* 7634 */ 0x04965662 | (19 << 27) /* 0.286703475 */, | ||
8141 | /* 7635 */ 0x04968ae4 | (19 << 27) /* 0.286753551 */, | ||
8142 | /* 7636 */ 0x0496bf67 | (19 << 27) /* 0.286803629 */, | ||
8143 | /* 7637 */ 0x0496f3ea | (19 << 27) /* 0.286853709 */, | ||
8144 | /* 7638 */ 0x0497286e | (19 << 27) /* 0.286903792 */, | ||
8145 | /* 7639 */ 0x04975cf2 | (19 << 27) /* 0.286953876 */, | ||
8146 | /* 7640 */ 0x04979177 | (19 << 27) /* 0.287003963 */, | ||
8147 | /* 7641 */ 0x0497c5fd | (19 << 27) /* 0.287054052 */, | ||
8148 | /* 7642 */ 0x0497fa83 | (19 << 27) /* 0.287104143 */, | ||
8149 | /* 7643 */ 0x04982f0a | (19 << 27) /* 0.287154237 */, | ||
8150 | /* 7644 */ 0x04986392 | (19 << 27) /* 0.287204332 */, | ||
8151 | /* 7645 */ 0x0498981a | (19 << 27) /* 0.287254430 */, | ||
8152 | /* 7646 */ 0x0498cca2 | (19 << 27) /* 0.287304530 */, | ||
8153 | /* 7647 */ 0x0499012c | (19 << 27) /* 0.287354632 */, | ||
8154 | |||
8155 | /* 7648 */ 0x049935b5 | (19 << 27) /* 0.287404737 */, | ||
8156 | /* 7649 */ 0x04996a40 | (19 << 27) /* 0.287454843 */, | ||
8157 | /* 7650 */ 0x04999ecb | (19 << 27) /* 0.287504952 */, | ||
8158 | /* 7651 */ 0x0499d356 | (19 << 27) /* 0.287555063 */, | ||
8159 | /* 7652 */ 0x049a07e2 | (19 << 27) /* 0.287605176 */, | ||
8160 | /* 7653 */ 0x049a3c6f | (19 << 27) /* 0.287655291 */, | ||
8161 | /* 7654 */ 0x049a70fc | (19 << 27) /* 0.287705409 */, | ||
8162 | /* 7655 */ 0x049aa58a | (19 << 27) /* 0.287755528 */, | ||
8163 | /* 7656 */ 0x049ada19 | (19 << 27) /* 0.287805650 */, | ||
8164 | /* 7657 */ 0x049b0ea8 | (19 << 27) /* 0.287855774 */, | ||
8165 | /* 7658 */ 0x049b4337 | (19 << 27) /* 0.287905900 */, | ||
8166 | /* 7659 */ 0x049b77c8 | (19 << 27) /* 0.287956028 */, | ||
8167 | /* 7660 */ 0x049bac58 | (19 << 27) /* 0.288006159 */, | ||
8168 | /* 7661 */ 0x049be0ea | (19 << 27) /* 0.288056292 */, | ||
8169 | /* 7662 */ 0x049c157c | (19 << 27) /* 0.288106427 */, | ||
8170 | /* 7663 */ 0x049c4a0e | (19 << 27) /* 0.288156564 */, | ||
8171 | |||
8172 | /* 7664 */ 0x049c7ea1 | (19 << 27) /* 0.288206703 */, | ||
8173 | /* 7665 */ 0x049cb335 | (19 << 27) /* 0.288256844 */, | ||
8174 | /* 7666 */ 0x049ce7ca | (19 << 27) /* 0.288306988 */, | ||
8175 | /* 7667 */ 0x049d1c5e | (19 << 27) /* 0.288357134 */, | ||
8176 | /* 7668 */ 0x049d50f4 | (19 << 27) /* 0.288407282 */, | ||
8177 | /* 7669 */ 0x049d858a | (19 << 27) /* 0.288457432 */, | ||
8178 | /* 7670 */ 0x049dba21 | (19 << 27) /* 0.288507584 */, | ||
8179 | /* 7671 */ 0x049deeb8 | (19 << 27) /* 0.288557739 */, | ||
8180 | /* 7672 */ 0x049e2350 | (19 << 27) /* 0.288607895 */, | ||
8181 | /* 7673 */ 0x049e57e8 | (19 << 27) /* 0.288658054 */, | ||
8182 | /* 7674 */ 0x049e8c81 | (19 << 27) /* 0.288708215 */, | ||
8183 | /* 7675 */ 0x049ec11b | (19 << 27) /* 0.288758379 */, | ||
8184 | /* 7676 */ 0x049ef5b5 | (19 << 27) /* 0.288808544 */, | ||
8185 | /* 7677 */ 0x049f2a50 | (19 << 27) /* 0.288858712 */, | ||
8186 | /* 7678 */ 0x049f5eeb | (19 << 27) /* 0.288908881 */, | ||
8187 | /* 7679 */ 0x049f9387 | (19 << 27) /* 0.288959053 */, | ||
8188 | |||
8189 | /* 7680 */ 0x049fc824 | (19 << 27) /* 0.289009227 */, | ||
8190 | /* 7681 */ 0x049ffcc1 | (19 << 27) /* 0.289059404 */, | ||
8191 | /* 7682 */ 0x04a0315e | (19 << 27) /* 0.289109582 */, | ||
8192 | /* 7683 */ 0x04a065fd | (19 << 27) /* 0.289159763 */, | ||
8193 | /* 7684 */ 0x04a09a9b | (19 << 27) /* 0.289209946 */, | ||
8194 | /* 7685 */ 0x04a0cf3b | (19 << 27) /* 0.289260131 */, | ||
8195 | /* 7686 */ 0x04a103db | (19 << 27) /* 0.289310318 */, | ||
8196 | /* 7687 */ 0x04a1387b | (19 << 27) /* 0.289360507 */, | ||
8197 | /* 7688 */ 0x04a16d1d | (19 << 27) /* 0.289410699 */, | ||
8198 | /* 7689 */ 0x04a1a1be | (19 << 27) /* 0.289460893 */, | ||
8199 | /* 7690 */ 0x04a1d661 | (19 << 27) /* 0.289511088 */, | ||
8200 | /* 7691 */ 0x04a20b04 | (19 << 27) /* 0.289561287 */, | ||
8201 | /* 7692 */ 0x04a23fa7 | (19 << 27) /* 0.289611487 */, | ||
8202 | /* 7693 */ 0x04a2744b | (19 << 27) /* 0.289661689 */, | ||
8203 | /* 7694 */ 0x04a2a8f0 | (19 << 27) /* 0.289711894 */, | ||
8204 | /* 7695 */ 0x04a2dd95 | (19 << 27) /* 0.289762101 */, | ||
8205 | |||
8206 | /* 7696 */ 0x04a3123b | (19 << 27) /* 0.289812309 */, | ||
8207 | /* 7697 */ 0x04a346e2 | (19 << 27) /* 0.289862521 */, | ||
8208 | /* 7698 */ 0x04a37b89 | (19 << 27) /* 0.289912734 */, | ||
8209 | /* 7699 */ 0x04a3b030 | (19 << 27) /* 0.289962949 */, | ||
8210 | /* 7700 */ 0x04a3e4d8 | (19 << 27) /* 0.290013167 */, | ||
8211 | /* 7701 */ 0x04a41981 | (19 << 27) /* 0.290063387 */, | ||
8212 | /* 7702 */ 0x04a44e2b | (19 << 27) /* 0.290113609 */, | ||
8213 | /* 7703 */ 0x04a482d5 | (19 << 27) /* 0.290163833 */, | ||
8214 | /* 7704 */ 0x04a4b77f | (19 << 27) /* 0.290214059 */, | ||
8215 | /* 7705 */ 0x04a4ec2a | (19 << 27) /* 0.290264288 */, | ||
8216 | /* 7706 */ 0x04a520d6 | (19 << 27) /* 0.290314519 */, | ||
8217 | /* 7707 */ 0x04a55582 | (19 << 27) /* 0.290364751 */, | ||
8218 | /* 7708 */ 0x04a58a2f | (19 << 27) /* 0.290414986 */, | ||
8219 | /* 7709 */ 0x04a5bedd | (19 << 27) /* 0.290465224 */, | ||
8220 | /* 7710 */ 0x04a5f38b | (19 << 27) /* 0.290515463 */, | ||
8221 | /* 7711 */ 0x04a62839 | (19 << 27) /* 0.290565705 */, | ||
8222 | |||
8223 | /* 7712 */ 0x04a65ce8 | (19 << 27) /* 0.290615948 */, | ||
8224 | /* 7713 */ 0x04a69198 | (19 << 27) /* 0.290666194 */, | ||
8225 | /* 7714 */ 0x04a6c648 | (19 << 27) /* 0.290716442 */, | ||
8226 | /* 7715 */ 0x04a6faf9 | (19 << 27) /* 0.290766692 */, | ||
8227 | /* 7716 */ 0x04a72fab | (19 << 27) /* 0.290816945 */, | ||
8228 | /* 7717 */ 0x04a7645d | (19 << 27) /* 0.290867199 */, | ||
8229 | /* 7718 */ 0x04a79910 | (19 << 27) /* 0.290917456 */, | ||
8230 | /* 7719 */ 0x04a7cdc3 | (19 << 27) /* 0.290967715 */, | ||
8231 | /* 7720 */ 0x04a80277 | (19 << 27) /* 0.291017976 */, | ||
8232 | /* 7721 */ 0x04a8372b | (19 << 27) /* 0.291068239 */, | ||
8233 | /* 7722 */ 0x04a86be0 | (19 << 27) /* 0.291118505 */, | ||
8234 | /* 7723 */ 0x04a8a096 | (19 << 27) /* 0.291168772 */, | ||
8235 | /* 7724 */ 0x04a8d54c | (19 << 27) /* 0.291219042 */, | ||
8236 | /* 7725 */ 0x04a90a03 | (19 << 27) /* 0.291269314 */, | ||
8237 | /* 7726 */ 0x04a93eba | (19 << 27) /* 0.291319588 */, | ||
8238 | /* 7727 */ 0x04a97372 | (19 << 27) /* 0.291369865 */, | ||
8239 | |||
8240 | /* 7728 */ 0x04a9a82b | (19 << 27) /* 0.291420143 */, | ||
8241 | /* 7729 */ 0x04a9dce4 | (19 << 27) /* 0.291470424 */, | ||
8242 | /* 7730 */ 0x04aa119d | (19 << 27) /* 0.291520706 */, | ||
8243 | /* 7731 */ 0x04aa4658 | (19 << 27) /* 0.291570991 */, | ||
8244 | /* 7732 */ 0x04aa7b13 | (19 << 27) /* 0.291621278 */, | ||
8245 | /* 7733 */ 0x04aaafce | (19 << 27) /* 0.291671568 */, | ||
8246 | /* 7734 */ 0x04aae48a | (19 << 27) /* 0.291721859 */, | ||
8247 | /* 7735 */ 0x04ab1947 | (19 << 27) /* 0.291772153 */, | ||
8248 | /* 7736 */ 0x04ab4e04 | (19 << 27) /* 0.291822449 */, | ||
8249 | /* 7737 */ 0x04ab82c2 | (19 << 27) /* 0.291872747 */, | ||
8250 | /* 7738 */ 0x04abb780 | (19 << 27) /* 0.291923047 */, | ||
8251 | /* 7739 */ 0x04abec3f | (19 << 27) /* 0.291973349 */, | ||
8252 | /* 7740 */ 0x04ac20fe | (19 << 27) /* 0.292023653 */, | ||
8253 | /* 7741 */ 0x04ac55be | (19 << 27) /* 0.292073960 */, | ||
8254 | /* 7742 */ 0x04ac8a7f | (19 << 27) /* 0.292124269 */, | ||
8255 | /* 7743 */ 0x04acbf40 | (19 << 27) /* 0.292174580 */, | ||
8256 | |||
8257 | /* 7744 */ 0x04acf402 | (19 << 27) /* 0.292224893 */, | ||
8258 | /* 7745 */ 0x04ad28c5 | (19 << 27) /* 0.292275208 */, | ||
8259 | /* 7746 */ 0x04ad5d88 | (19 << 27) /* 0.292325526 */, | ||
8260 | /* 7747 */ 0x04ad924b | (19 << 27) /* 0.292375845 */, | ||
8261 | /* 7748 */ 0x04adc70f | (19 << 27) /* 0.292426167 */, | ||
8262 | /* 7749 */ 0x04adfbd4 | (19 << 27) /* 0.292476491 */, | ||
8263 | /* 7750 */ 0x04ae3099 | (19 << 27) /* 0.292526817 */, | ||
8264 | /* 7751 */ 0x04ae655f | (19 << 27) /* 0.292577145 */, | ||
8265 | /* 7752 */ 0x04ae9a26 | (19 << 27) /* 0.292627476 */, | ||
8266 | /* 7753 */ 0x04aeceed | (19 << 27) /* 0.292677808 */, | ||
8267 | /* 7754 */ 0x04af03b4 | (19 << 27) /* 0.292728143 */, | ||
8268 | /* 7755 */ 0x04af387d | (19 << 27) /* 0.292778480 */, | ||
8269 | /* 7756 */ 0x04af6d45 | (19 << 27) /* 0.292828819 */, | ||
8270 | /* 7757 */ 0x04afa20f | (19 << 27) /* 0.292879160 */, | ||
8271 | /* 7758 */ 0x04afd6d9 | (19 << 27) /* 0.292929504 */, | ||
8272 | /* 7759 */ 0x04b00ba3 | (19 << 27) /* 0.292979849 */, | ||
8273 | |||
8274 | /* 7760 */ 0x04b0406e | (19 << 27) /* 0.293030197 */, | ||
8275 | /* 7761 */ 0x04b0753a | (19 << 27) /* 0.293080547 */, | ||
8276 | /* 7762 */ 0x04b0aa06 | (19 << 27) /* 0.293130899 */, | ||
8277 | /* 7763 */ 0x04b0ded3 | (19 << 27) /* 0.293181253 */, | ||
8278 | /* 7764 */ 0x04b113a1 | (19 << 27) /* 0.293231610 */, | ||
8279 | /* 7765 */ 0x04b1486f | (19 << 27) /* 0.293281968 */, | ||
8280 | /* 7766 */ 0x04b17d3d | (19 << 27) /* 0.293332329 */, | ||
8281 | /* 7767 */ 0x04b1b20c | (19 << 27) /* 0.293382692 */, | ||
8282 | /* 7768 */ 0x04b1e6dc | (19 << 27) /* 0.293433057 */, | ||
8283 | /* 7769 */ 0x04b21bad | (19 << 27) /* 0.293483424 */, | ||
8284 | /* 7770 */ 0x04b2507d | (19 << 27) /* 0.293533794 */, | ||
8285 | /* 7771 */ 0x04b2854f | (19 << 27) /* 0.293584165 */, | ||
8286 | /* 7772 */ 0x04b2ba21 | (19 << 27) /* 0.293634539 */, | ||
8287 | /* 7773 */ 0x04b2eef4 | (19 << 27) /* 0.293684915 */, | ||
8288 | /* 7774 */ 0x04b323c7 | (19 << 27) /* 0.293735293 */, | ||
8289 | /* 7775 */ 0x04b3589b | (19 << 27) /* 0.293785673 */, | ||
8290 | |||
8291 | /* 7776 */ 0x04b38d6f | (19 << 27) /* 0.293836055 */, | ||
8292 | /* 7777 */ 0x04b3c244 | (19 << 27) /* 0.293886440 */, | ||
8293 | /* 7778 */ 0x04b3f71a | (19 << 27) /* 0.293936826 */, | ||
8294 | /* 7779 */ 0x04b42bf0 | (19 << 27) /* 0.293987215 */, | ||
8295 | /* 7780 */ 0x04b460c7 | (19 << 27) /* 0.294037606 */, | ||
8296 | /* 7781 */ 0x04b4959e | (19 << 27) /* 0.294087999 */, | ||
8297 | /* 7782 */ 0x04b4ca76 | (19 << 27) /* 0.294138395 */, | ||
8298 | /* 7783 */ 0x04b4ff4e | (19 << 27) /* 0.294188792 */, | ||
8299 | /* 7784 */ 0x04b53427 | (19 << 27) /* 0.294239192 */, | ||
8300 | /* 7785 */ 0x04b56901 | (19 << 27) /* 0.294289593 */, | ||
8301 | /* 7786 */ 0x04b59ddb | (19 << 27) /* 0.294339997 */, | ||
8302 | /* 7787 */ 0x04b5d2b6 | (19 << 27) /* 0.294390403 */, | ||
8303 | /* 7788 */ 0x04b60791 | (19 << 27) /* 0.294440812 */, | ||
8304 | /* 7789 */ 0x04b63c6d | (19 << 27) /* 0.294491222 */, | ||
8305 | /* 7790 */ 0x04b6714a | (19 << 27) /* 0.294541635 */, | ||
8306 | /* 7791 */ 0x04b6a627 | (19 << 27) /* 0.294592049 */, | ||
8307 | |||
8308 | /* 7792 */ 0x04b6db05 | (19 << 27) /* 0.294642466 */, | ||
8309 | /* 7793 */ 0x04b70fe3 | (19 << 27) /* 0.294692885 */, | ||
8310 | /* 7794 */ 0x04b744c2 | (19 << 27) /* 0.294743306 */, | ||
8311 | /* 7795 */ 0x04b779a1 | (19 << 27) /* 0.294793730 */, | ||
8312 | /* 7796 */ 0x04b7ae81 | (19 << 27) /* 0.294844155 */, | ||
8313 | /* 7797 */ 0x04b7e362 | (19 << 27) /* 0.294894583 */, | ||
8314 | /* 7798 */ 0x04b81843 | (19 << 27) /* 0.294945013 */, | ||
8315 | /* 7799 */ 0x04b84d24 | (19 << 27) /* 0.294995445 */, | ||
8316 | /* 7800 */ 0x04b88207 | (19 << 27) /* 0.295045879 */, | ||
8317 | /* 7801 */ 0x04b8b6ea | (19 << 27) /* 0.295096315 */, | ||
8318 | /* 7802 */ 0x04b8ebcd | (19 << 27) /* 0.295146753 */, | ||
8319 | /* 7803 */ 0x04b920b1 | (19 << 27) /* 0.295197194 */, | ||
8320 | /* 7804 */ 0x04b95596 | (19 << 27) /* 0.295247637 */, | ||
8321 | /* 7805 */ 0x04b98a7b | (19 << 27) /* 0.295298082 */, | ||
8322 | /* 7806 */ 0x04b9bf61 | (19 << 27) /* 0.295348529 */, | ||
8323 | /* 7807 */ 0x04b9f447 | (19 << 27) /* 0.295398978 */, | ||
8324 | |||
8325 | /* 7808 */ 0x04ba292e | (19 << 27) /* 0.295449429 */, | ||
8326 | /* 7809 */ 0x04ba5e16 | (19 << 27) /* 0.295499883 */, | ||
8327 | /* 7810 */ 0x04ba92fe | (19 << 27) /* 0.295550338 */, | ||
8328 | /* 7811 */ 0x04bac7e6 | (19 << 27) /* 0.295600796 */, | ||
8329 | /* 7812 */ 0x04bafcd0 | (19 << 27) /* 0.295651256 */, | ||
8330 | /* 7813 */ 0x04bb31b9 | (19 << 27) /* 0.295701718 */, | ||
8331 | /* 7814 */ 0x04bb66a4 | (19 << 27) /* 0.295752183 */, | ||
8332 | /* 7815 */ 0x04bb9b8f | (19 << 27) /* 0.295802649 */, | ||
8333 | /* 7816 */ 0x04bbd07a | (19 << 27) /* 0.295853118 */, | ||
8334 | /* 7817 */ 0x04bc0566 | (19 << 27) /* 0.295903588 */, | ||
8335 | /* 7818 */ 0x04bc3a53 | (19 << 27) /* 0.295954061 */, | ||
8336 | /* 7819 */ 0x04bc6f40 | (19 << 27) /* 0.296004536 */, | ||
8337 | /* 7820 */ 0x04bca42e | (19 << 27) /* 0.296055013 */, | ||
8338 | /* 7821 */ 0x04bcd91d | (19 << 27) /* 0.296105493 */, | ||
8339 | /* 7822 */ 0x04bd0e0c | (19 << 27) /* 0.296155974 */, | ||
8340 | /* 7823 */ 0x04bd42fb | (19 << 27) /* 0.296206458 */, | ||
8341 | |||
8342 | /* 7824 */ 0x04bd77ec | (19 << 27) /* 0.296256944 */, | ||
8343 | /* 7825 */ 0x04bdacdc | (19 << 27) /* 0.296307432 */, | ||
8344 | /* 7826 */ 0x04bde1ce | (19 << 27) /* 0.296357922 */, | ||
8345 | /* 7827 */ 0x04be16c0 | (19 << 27) /* 0.296408414 */, | ||
8346 | /* 7828 */ 0x04be4bb2 | (19 << 27) /* 0.296458908 */, | ||
8347 | /* 7829 */ 0x04be80a5 | (19 << 27) /* 0.296509405 */, | ||
8348 | /* 7830 */ 0x04beb599 | (19 << 27) /* 0.296559904 */, | ||
8349 | /* 7831 */ 0x04beea8d | (19 << 27) /* 0.296610404 */, | ||
8350 | /* 7832 */ 0x04bf1f82 | (19 << 27) /* 0.296660907 */, | ||
8351 | /* 7833 */ 0x04bf5477 | (19 << 27) /* 0.296711413 */, | ||
8352 | /* 7834 */ 0x04bf896d | (19 << 27) /* 0.296761920 */, | ||
8353 | /* 7835 */ 0x04bfbe64 | (19 << 27) /* 0.296812429 */, | ||
8354 | /* 7836 */ 0x04bff35b | (19 << 27) /* 0.296862941 */, | ||
8355 | /* 7837 */ 0x04c02852 | (19 << 27) /* 0.296913455 */, | ||
8356 | /* 7838 */ 0x04c05d4b | (19 << 27) /* 0.296963971 */, | ||
8357 | /* 7839 */ 0x04c09243 | (19 << 27) /* 0.297014489 */, | ||
8358 | |||
8359 | /* 7840 */ 0x04c0c73d | (19 << 27) /* 0.297065009 */, | ||
8360 | /* 7841 */ 0x04c0fc37 | (19 << 27) /* 0.297115531 */, | ||
8361 | /* 7842 */ 0x04c13131 | (19 << 27) /* 0.297166056 */, | ||
8362 | /* 7843 */ 0x04c1662d | (19 << 27) /* 0.297216582 */, | ||
8363 | /* 7844 */ 0x04c19b28 | (19 << 27) /* 0.297267111 */, | ||
8364 | /* 7845 */ 0x04c1d025 | (19 << 27) /* 0.297317642 */, | ||
8365 | /* 7846 */ 0x04c20521 | (19 << 27) /* 0.297368175 */, | ||
8366 | /* 7847 */ 0x04c23a1f | (19 << 27) /* 0.297418710 */, | ||
8367 | /* 7848 */ 0x04c26f1d | (19 << 27) /* 0.297469248 */, | ||
8368 | /* 7849 */ 0x04c2a41b | (19 << 27) /* 0.297519787 */, | ||
8369 | /* 7850 */ 0x04c2d91b | (19 << 27) /* 0.297570329 */, | ||
8370 | /* 7851 */ 0x04c30e1a | (19 << 27) /* 0.297620873 */, | ||
8371 | /* 7852 */ 0x04c3431b | (19 << 27) /* 0.297671418 */, | ||
8372 | /* 7853 */ 0x04c3781c | (19 << 27) /* 0.297721967 */, | ||
8373 | /* 7854 */ 0x04c3ad1d | (19 << 27) /* 0.297772517 */, | ||
8374 | /* 7855 */ 0x04c3e21f | (19 << 27) /* 0.297823069 */, | ||
8375 | |||
8376 | /* 7856 */ 0x04c41722 | (19 << 27) /* 0.297873624 */, | ||
8377 | /* 7857 */ 0x04c44c25 | (19 << 27) /* 0.297924180 */, | ||
8378 | /* 7858 */ 0x04c48129 | (19 << 27) /* 0.297974739 */, | ||
8379 | /* 7859 */ 0x04c4b62d | (19 << 27) /* 0.298025300 */, | ||
8380 | /* 7860 */ 0x04c4eb32 | (19 << 27) /* 0.298075863 */, | ||
8381 | /* 7861 */ 0x04c52038 | (19 << 27) /* 0.298126429 */, | ||
8382 | /* 7862 */ 0x04c5553e | (19 << 27) /* 0.298176996 */, | ||
8383 | /* 7863 */ 0x04c58a44 | (19 << 27) /* 0.298227565 */, | ||
8384 | /* 7864 */ 0x04c5bf4c | (19 << 27) /* 0.298278137 */, | ||
8385 | /* 7865 */ 0x04c5f453 | (19 << 27) /* 0.298328711 */, | ||
8386 | /* 7866 */ 0x04c6295c | (19 << 27) /* 0.298379287 */, | ||
8387 | /* 7867 */ 0x04c65e65 | (19 << 27) /* 0.298429865 */, | ||
8388 | /* 7868 */ 0x04c6936e | (19 << 27) /* 0.298480445 */, | ||
8389 | /* 7869 */ 0x04c6c878 | (19 << 27) /* 0.298531028 */, | ||
8390 | /* 7870 */ 0x04c6fd83 | (19 << 27) /* 0.298581612 */, | ||
8391 | /* 7871 */ 0x04c7328e | (19 << 27) /* 0.298632199 */, | ||
8392 | |||
8393 | /* 7872 */ 0x04c7679a | (19 << 27) /* 0.298682788 */, | ||
8394 | /* 7873 */ 0x04c79ca7 | (19 << 27) /* 0.298733379 */, | ||
8395 | /* 7874 */ 0x04c7d1b4 | (19 << 27) /* 0.298783972 */, | ||
8396 | /* 7875 */ 0x04c806c1 | (19 << 27) /* 0.298834567 */, | ||
8397 | /* 7876 */ 0x04c83bcf | (19 << 27) /* 0.298885165 */, | ||
8398 | /* 7877 */ 0x04c870de | (19 << 27) /* 0.298935764 */, | ||
8399 | /* 7878 */ 0x04c8a5ed | (19 << 27) /* 0.298986366 */, | ||
8400 | /* 7879 */ 0x04c8dafd | (19 << 27) /* 0.299036970 */, | ||
8401 | /* 7880 */ 0x04c9100d | (19 << 27) /* 0.299087576 */, | ||
8402 | /* 7881 */ 0x04c9451e | (19 << 27) /* 0.299138184 */, | ||
8403 | /* 7882 */ 0x04c97a30 | (19 << 27) /* 0.299188794 */, | ||
8404 | /* 7883 */ 0x04c9af42 | (19 << 27) /* 0.299239406 */, | ||
8405 | /* 7884 */ 0x04c9e455 | (19 << 27) /* 0.299290021 */, | ||
8406 | /* 7885 */ 0x04ca1968 | (19 << 27) /* 0.299340638 */, | ||
8407 | /* 7886 */ 0x04ca4e7c | (19 << 27) /* 0.299391256 */, | ||
8408 | /* 7887 */ 0x04ca8391 | (19 << 27) /* 0.299441877 */, | ||
8409 | |||
8410 | /* 7888 */ 0x04cab8a6 | (19 << 27) /* 0.299492500 */, | ||
8411 | /* 7889 */ 0x04caedbb | (19 << 27) /* 0.299543126 */, | ||
8412 | /* 7890 */ 0x04cb22d1 | (19 << 27) /* 0.299593753 */, | ||
8413 | /* 7891 */ 0x04cb57e8 | (19 << 27) /* 0.299644382 */, | ||
8414 | /* 7892 */ 0x04cb8d00 | (19 << 27) /* 0.299695014 */, | ||
8415 | /* 7893 */ 0x04cbc217 | (19 << 27) /* 0.299745648 */, | ||
8416 | /* 7894 */ 0x04cbf730 | (19 << 27) /* 0.299796284 */, | ||
8417 | /* 7895 */ 0x04cc2c49 | (19 << 27) /* 0.299846922 */, | ||
8418 | /* 7896 */ 0x04cc6163 | (19 << 27) /* 0.299897562 */, | ||
8419 | /* 7897 */ 0x04cc967d | (19 << 27) /* 0.299948204 */, | ||
8420 | /* 7898 */ 0x04cccb98 | (19 << 27) /* 0.299998849 */, | ||
8421 | /* 7899 */ 0x04cd00b3 | (19 << 27) /* 0.300049495 */, | ||
8422 | /* 7900 */ 0x04cd35cf | (19 << 27) /* 0.300100144 */, | ||
8423 | /* 7901 */ 0x04cd6aeb | (19 << 27) /* 0.300150795 */, | ||
8424 | /* 7902 */ 0x04cda008 | (19 << 27) /* 0.300201448 */, | ||
8425 | /* 7903 */ 0x04cdd526 | (19 << 27) /* 0.300252103 */, | ||
8426 | |||
8427 | /* 7904 */ 0x04ce0a44 | (19 << 27) /* 0.300302761 */, | ||
8428 | /* 7905 */ 0x04ce3f63 | (19 << 27) /* 0.300353420 */, | ||
8429 | /* 7906 */ 0x04ce7482 | (19 << 27) /* 0.300404082 */, | ||
8430 | /* 7907 */ 0x04cea9a2 | (19 << 27) /* 0.300454745 */, | ||
8431 | /* 7908 */ 0x04cedec3 | (19 << 27) /* 0.300505411 */, | ||
8432 | /* 7909 */ 0x04cf13e4 | (19 << 27) /* 0.300556079 */, | ||
8433 | /* 7910 */ 0x04cf4906 | (19 << 27) /* 0.300606749 */, | ||
8434 | /* 7911 */ 0x04cf7e28 | (19 << 27) /* 0.300657421 */, | ||
8435 | /* 7912 */ 0x04cfb34b | (19 << 27) /* 0.300708096 */, | ||
8436 | /* 7913 */ 0x04cfe86e | (19 << 27) /* 0.300758772 */, | ||
8437 | /* 7914 */ 0x04d01d92 | (19 << 27) /* 0.300809451 */, | ||
8438 | /* 7915 */ 0x04d052b6 | (19 << 27) /* 0.300860132 */, | ||
8439 | /* 7916 */ 0x04d087db | (19 << 27) /* 0.300910815 */, | ||
8440 | /* 7917 */ 0x04d0bd01 | (19 << 27) /* 0.300961500 */, | ||
8441 | /* 7918 */ 0x04d0f227 | (19 << 27) /* 0.301012187 */, | ||
8442 | /* 7919 */ 0x04d1274e | (19 << 27) /* 0.301062876 */, | ||
8443 | |||
8444 | /* 7920 */ 0x04d15c76 | (19 << 27) /* 0.301113568 */, | ||
8445 | /* 7921 */ 0x04d1919e | (19 << 27) /* 0.301164261 */, | ||
8446 | /* 7922 */ 0x04d1c6c6 | (19 << 27) /* 0.301214957 */, | ||
8447 | /* 7923 */ 0x04d1fbef | (19 << 27) /* 0.301265655 */, | ||
8448 | /* 7924 */ 0x04d23119 | (19 << 27) /* 0.301316355 */, | ||
8449 | /* 7925 */ 0x04d26643 | (19 << 27) /* 0.301367057 */, | ||
8450 | /* 7926 */ 0x04d29b6e | (19 << 27) /* 0.301417761 */, | ||
8451 | /* 7927 */ 0x04d2d099 | (19 << 27) /* 0.301468468 */, | ||
8452 | /* 7928 */ 0x04d305c5 | (19 << 27) /* 0.301519176 */, | ||
8453 | /* 7929 */ 0x04d33af2 | (19 << 27) /* 0.301569887 */, | ||
8454 | /* 7930 */ 0x04d3701f | (19 << 27) /* 0.301620599 */, | ||
8455 | /* 7931 */ 0x04d3a54d | (19 << 27) /* 0.301671314 */, | ||
8456 | /* 7932 */ 0x04d3da7b | (19 << 27) /* 0.301722031 */, | ||
8457 | /* 7933 */ 0x04d40faa | (19 << 27) /* 0.301772751 */, | ||
8458 | /* 7934 */ 0x04d444d9 | (19 << 27) /* 0.301823472 */, | ||
8459 | /* 7935 */ 0x04d47a09 | (19 << 27) /* 0.301874195 */, | ||
8460 | |||
8461 | /* 7936 */ 0x04d4af3a | (19 << 27) /* 0.301924921 */, | ||
8462 | /* 7937 */ 0x04d4e46b | (19 << 27) /* 0.301975649 */, | ||
8463 | /* 7938 */ 0x04d5199c | (19 << 27) /* 0.302026378 */, | ||
8464 | /* 7939 */ 0x04d54ecf | (19 << 27) /* 0.302077110 */, | ||
8465 | /* 7940 */ 0x04d58401 | (19 << 27) /* 0.302127845 */, | ||
8466 | /* 7941 */ 0x04d5b935 | (19 << 27) /* 0.302178581 */, | ||
8467 | /* 7942 */ 0x04d5ee69 | (19 << 27) /* 0.302229319 */, | ||
8468 | /* 7943 */ 0x04d6239d | (19 << 27) /* 0.302280060 */, | ||
8469 | /* 7944 */ 0x04d658d2 | (19 << 27) /* 0.302330802 */, | ||
8470 | /* 7945 */ 0x04d68e08 | (19 << 27) /* 0.302381547 */, | ||
8471 | /* 7946 */ 0x04d6c33e | (19 << 27) /* 0.302432294 */, | ||
8472 | /* 7947 */ 0x04d6f875 | (19 << 27) /* 0.302483043 */, | ||
8473 | /* 7948 */ 0x04d72dad | (19 << 27) /* 0.302533794 */, | ||
8474 | /* 7949 */ 0x04d762e5 | (19 << 27) /* 0.302584547 */, | ||
8475 | /* 7950 */ 0x04d7981d | (19 << 27) /* 0.302635303 */, | ||
8476 | /* 7951 */ 0x04d7cd56 | (19 << 27) /* 0.302686060 */, | ||
8477 | |||
8478 | /* 7952 */ 0x04d80290 | (19 << 27) /* 0.302736820 */, | ||
8479 | /* 7953 */ 0x04d837ca | (19 << 27) /* 0.302787581 */, | ||
8480 | /* 7954 */ 0x04d86d05 | (19 << 27) /* 0.302838345 */, | ||
8481 | /* 7955 */ 0x04d8a240 | (19 << 27) /* 0.302889111 */, | ||
8482 | /* 7956 */ 0x04d8d77c | (19 << 27) /* 0.302939879 */, | ||
8483 | /* 7957 */ 0x04d90cb9 | (19 << 27) /* 0.302990650 */, | ||
8484 | /* 7958 */ 0x04d941f6 | (19 << 27) /* 0.303041422 */, | ||
8485 | /* 7959 */ 0x04d97734 | (19 << 27) /* 0.303092197 */, | ||
8486 | /* 7960 */ 0x04d9ac72 | (19 << 27) /* 0.303142973 */, | ||
8487 | /* 7961 */ 0x04d9e1b1 | (19 << 27) /* 0.303193752 */, | ||
8488 | /* 7962 */ 0x04da16f0 | (19 << 27) /* 0.303244533 */, | ||
8489 | /* 7963 */ 0x04da4c30 | (19 << 27) /* 0.303295316 */, | ||
8490 | /* 7964 */ 0x04da8171 | (19 << 27) /* 0.303346101 */, | ||
8491 | /* 7965 */ 0x04dab6b2 | (19 << 27) /* 0.303396889 */, | ||
8492 | /* 7966 */ 0x04daebf4 | (19 << 27) /* 0.303447678 */, | ||
8493 | /* 7967 */ 0x04db2136 | (19 << 27) /* 0.303498469 */, | ||
8494 | |||
8495 | /* 7968 */ 0x04db5679 | (19 << 27) /* 0.303549263 */, | ||
8496 | /* 7969 */ 0x04db8bbc | (19 << 27) /* 0.303600059 */, | ||
8497 | /* 7970 */ 0x04dbc100 | (19 << 27) /* 0.303650857 */, | ||
8498 | /* 7971 */ 0x04dbf644 | (19 << 27) /* 0.303701657 */, | ||
8499 | /* 7972 */ 0x04dc2b8a | (19 << 27) /* 0.303752459 */, | ||
8500 | /* 7973 */ 0x04dc60cf | (19 << 27) /* 0.303803263 */, | ||
8501 | /* 7974 */ 0x04dc9616 | (19 << 27) /* 0.303854070 */, | ||
8502 | /* 7975 */ 0x04dccb5c | (19 << 27) /* 0.303904878 */, | ||
8503 | /* 7976 */ 0x04dd00a4 | (19 << 27) /* 0.303955689 */, | ||
8504 | /* 7977 */ 0x04dd35ec | (19 << 27) /* 0.304006502 */, | ||
8505 | /* 7978 */ 0x04dd6b34 | (19 << 27) /* 0.304057317 */, | ||
8506 | /* 7979 */ 0x04dda07d | (19 << 27) /* 0.304108134 */, | ||
8507 | /* 7980 */ 0x04ddd5c7 | (19 << 27) /* 0.304158953 */, | ||
8508 | /* 7981 */ 0x04de0b11 | (19 << 27) /* 0.304209774 */, | ||
8509 | /* 7982 */ 0x04de405c | (19 << 27) /* 0.304260597 */, | ||
8510 | /* 7983 */ 0x04de75a7 | (19 << 27) /* 0.304311423 */, | ||
8511 | |||
8512 | /* 7984 */ 0x04deaaf3 | (19 << 27) /* 0.304362251 */, | ||
8513 | /* 7985 */ 0x04dee040 | (19 << 27) /* 0.304413080 */, | ||
8514 | /* 7986 */ 0x04df158d | (19 << 27) /* 0.304463912 */, | ||
8515 | /* 7987 */ 0x04df4adb | (19 << 27) /* 0.304514746 */, | ||
8516 | /* 7988 */ 0x04df8029 | (19 << 27) /* 0.304565582 */, | ||
8517 | /* 7989 */ 0x04dfb578 | (19 << 27) /* 0.304616421 */, | ||
8518 | /* 7990 */ 0x04dfeac7 | (19 << 27) /* 0.304667261 */, | ||
8519 | /* 7991 */ 0x04e02017 | (19 << 27) /* 0.304718103 */, | ||
8520 | /* 7992 */ 0x04e05567 | (19 << 27) /* 0.304768948 */, | ||
8521 | /* 7993 */ 0x04e08ab8 | (19 << 27) /* 0.304819795 */, | ||
8522 | /* 7994 */ 0x04e0c00a | (19 << 27) /* 0.304870644 */, | ||
8523 | /* 7995 */ 0x04e0f55c | (19 << 27) /* 0.304921495 */, | ||
8524 | /* 7996 */ 0x04e12aaf | (19 << 27) /* 0.304972348 */, | ||
8525 | /* 7997 */ 0x04e16002 | (19 << 27) /* 0.305023203 */, | ||
8526 | /* 7998 */ 0x04e19556 | (19 << 27) /* 0.305074060 */, | ||
8527 | /* 7999 */ 0x04e1caab | (19 << 27) /* 0.305124920 */, | ||
8528 | |||
8529 | /* 8000 */ 0x04e20000 | (19 << 27) /* 0.305175781 */, | ||
8530 | /* 8001 */ 0x04e23555 | (19 << 27) /* 0.305226645 */, | ||
8531 | /* 8002 */ 0x04e26aac | (19 << 27) /* 0.305277511 */, | ||
8532 | /* 8003 */ 0x04e2a002 | (19 << 27) /* 0.305328379 */, | ||
8533 | /* 8004 */ 0x04e2d55a | (19 << 27) /* 0.305379249 */, | ||
8534 | /* 8005 */ 0x04e30ab2 | (19 << 27) /* 0.305430121 */, | ||
8535 | /* 8006 */ 0x04e3400a | (19 << 27) /* 0.305480995 */, | ||
8536 | /* 8007 */ 0x04e37563 | (19 << 27) /* 0.305531872 */, | ||
8537 | /* 8008 */ 0x04e3aabd | (19 << 27) /* 0.305582750 */, | ||
8538 | /* 8009 */ 0x04e3e017 | (19 << 27) /* 0.305633631 */, | ||
8539 | /* 8010 */ 0x04e41572 | (19 << 27) /* 0.305684513 */, | ||
8540 | /* 8011 */ 0x04e44acd | (19 << 27) /* 0.305735398 */, | ||
8541 | /* 8012 */ 0x04e48029 | (19 << 27) /* 0.305786285 */, | ||
8542 | /* 8013 */ 0x04e4b585 | (19 << 27) /* 0.305837174 */, | ||
8543 | /* 8014 */ 0x04e4eae2 | (19 << 27) /* 0.305888066 */, | ||
8544 | /* 8015 */ 0x04e52040 | (19 << 27) /* 0.305938959 */, | ||
8545 | |||
8546 | /* 8016 */ 0x04e5559e | (19 << 27) /* 0.305989854 */, | ||
8547 | /* 8017 */ 0x04e58afd | (19 << 27) /* 0.306040752 */, | ||
8548 | /* 8018 */ 0x04e5c05c | (19 << 27) /* 0.306091652 */, | ||
8549 | /* 8019 */ 0x04e5f5bc | (19 << 27) /* 0.306142554 */, | ||
8550 | /* 8020 */ 0x04e62b1c | (19 << 27) /* 0.306193457 */, | ||
8551 | /* 8021 */ 0x04e6607d | (19 << 27) /* 0.306244364 */, | ||
8552 | /* 8022 */ 0x04e695df | (19 << 27) /* 0.306295272 */, | ||
8553 | /* 8023 */ 0x04e6cb41 | (19 << 27) /* 0.306346182 */, | ||
8554 | /* 8024 */ 0x04e700a3 | (19 << 27) /* 0.306397094 */, | ||
8555 | /* 8025 */ 0x04e73607 | (19 << 27) /* 0.306448009 */, | ||
8556 | /* 8026 */ 0x04e76b6b | (19 << 27) /* 0.306498925 */, | ||
8557 | /* 8027 */ 0x04e7a0cf | (19 << 27) /* 0.306549844 */, | ||
8558 | /* 8028 */ 0x04e7d634 | (19 << 27) /* 0.306600765 */, | ||
8559 | /* 8029 */ 0x04e80b99 | (19 << 27) /* 0.306651688 */, | ||
8560 | /* 8030 */ 0x04e84100 | (19 << 27) /* 0.306702613 */, | ||
8561 | /* 8031 */ 0x04e87666 | (19 << 27) /* 0.306753540 */, | ||
8562 | |||
8563 | /* 8032 */ 0x04e8abcd | (19 << 27) /* 0.306804470 */, | ||
8564 | /* 8033 */ 0x04e8e135 | (19 << 27) /* 0.306855401 */, | ||
8565 | /* 8034 */ 0x04e9169e | (19 << 27) /* 0.306906334 */, | ||
8566 | /* 8035 */ 0x04e94c07 | (19 << 27) /* 0.306957270 */, | ||
8567 | /* 8036 */ 0x04e98170 | (19 << 27) /* 0.307008208 */, | ||
8568 | /* 8037 */ 0x04e9b6da | (19 << 27) /* 0.307059148 */, | ||
8569 | /* 8038 */ 0x04e9ec45 | (19 << 27) /* 0.307110090 */, | ||
8570 | /* 8039 */ 0x04ea21b0 | (19 << 27) /* 0.307161034 */, | ||
8571 | /* 8040 */ 0x04ea571c | (19 << 27) /* 0.307211980 */, | ||
8572 | /* 8041 */ 0x04ea8c88 | (19 << 27) /* 0.307262928 */, | ||
8573 | /* 8042 */ 0x04eac1f5 | (19 << 27) /* 0.307313879 */, | ||
8574 | /* 8043 */ 0x04eaf762 | (19 << 27) /* 0.307364831 */, | ||
8575 | /* 8044 */ 0x04eb2cd0 | (19 << 27) /* 0.307415786 */, | ||
8576 | /* 8045 */ 0x04eb623f | (19 << 27) /* 0.307466743 */, | ||
8577 | /* 8046 */ 0x04eb97ae | (19 << 27) /* 0.307517702 */, | ||
8578 | /* 8047 */ 0x04ebcd1e | (19 << 27) /* 0.307568663 */, | ||
8579 | |||
8580 | /* 8048 */ 0x04ec028e | (19 << 27) /* 0.307619626 */, | ||
8581 | /* 8049 */ 0x04ec37ff | (19 << 27) /* 0.307670591 */, | ||
8582 | /* 8050 */ 0x04ec6d71 | (19 << 27) /* 0.307721558 */, | ||
8583 | /* 8051 */ 0x04eca2e3 | (19 << 27) /* 0.307772528 */, | ||
8584 | /* 8052 */ 0x04ecd855 | (19 << 27) /* 0.307823499 */, | ||
8585 | /* 8053 */ 0x04ed0dc8 | (19 << 27) /* 0.307874473 */, | ||
8586 | /* 8054 */ 0x04ed433c | (19 << 27) /* 0.307925449 */, | ||
8587 | /* 8055 */ 0x04ed78b0 | (19 << 27) /* 0.307976426 */, | ||
8588 | /* 8056 */ 0x04edae25 | (19 << 27) /* 0.308027406 */, | ||
8589 | /* 8057 */ 0x04ede39a | (19 << 27) /* 0.308078389 */, | ||
8590 | /* 8058 */ 0x04ee1910 | (19 << 27) /* 0.308129373 */, | ||
8591 | /* 8059 */ 0x04ee4e87 | (19 << 27) /* 0.308180359 */, | ||
8592 | /* 8060 */ 0x04ee83fe | (19 << 27) /* 0.308231347 */, | ||
8593 | /* 8061 */ 0x04eeb976 | (19 << 27) /* 0.308282338 */, | ||
8594 | /* 8062 */ 0x04eeeeee | (19 << 27) /* 0.308333331 */, | ||
8595 | /* 8063 */ 0x04ef2467 | (19 << 27) /* 0.308384325 */, | ||
8596 | |||
8597 | /* 8064 */ 0x04ef59e0 | (19 << 27) /* 0.308435322 */, | ||
8598 | /* 8065 */ 0x04ef8f5a | (19 << 27) /* 0.308486321 */, | ||
8599 | /* 8066 */ 0x04efc4d5 | (19 << 27) /* 0.308537322 */, | ||
8600 | /* 8067 */ 0x04effa50 | (19 << 27) /* 0.308588325 */, | ||
8601 | /* 8068 */ 0x04f02fcb | (19 << 27) /* 0.308639331 */, | ||
8602 | /* 8069 */ 0x04f06547 | (19 << 27) /* 0.308690338 */, | ||
8603 | /* 8070 */ 0x04f09ac4 | (19 << 27) /* 0.308741348 */, | ||
8604 | /* 8071 */ 0x04f0d041 | (19 << 27) /* 0.308792359 */, | ||
8605 | /* 8072 */ 0x04f105bf | (19 << 27) /* 0.308843373 */, | ||
8606 | /* 8073 */ 0x04f13b3e | (19 << 27) /* 0.308894389 */, | ||
8607 | /* 8074 */ 0x04f170bd | (19 << 27) /* 0.308945407 */, | ||
8608 | /* 8075 */ 0x04f1a63c | (19 << 27) /* 0.308996427 */, | ||
8609 | /* 8076 */ 0x04f1dbbd | (19 << 27) /* 0.309047449 */, | ||
8610 | /* 8077 */ 0x04f2113d | (19 << 27) /* 0.309098473 */, | ||
8611 | /* 8078 */ 0x04f246bf | (19 << 27) /* 0.309149499 */, | ||
8612 | /* 8079 */ 0x04f27c40 | (19 << 27) /* 0.309200528 */, | ||
8613 | |||
8614 | /* 8080 */ 0x04f2b1c3 | (19 << 27) /* 0.309251558 */, | ||
8615 | /* 8081 */ 0x04f2e746 | (19 << 27) /* 0.309302591 */, | ||
8616 | /* 8082 */ 0x04f31cc9 | (19 << 27) /* 0.309353626 */, | ||
8617 | /* 8083 */ 0x04f3524d | (19 << 27) /* 0.309404663 */, | ||
8618 | /* 8084 */ 0x04f387d2 | (19 << 27) /* 0.309455702 */, | ||
8619 | /* 8085 */ 0x04f3bd57 | (19 << 27) /* 0.309506743 */, | ||
8620 | /* 8086 */ 0x04f3f2dd | (19 << 27) /* 0.309557786 */, | ||
8621 | /* 8087 */ 0x04f42864 | (19 << 27) /* 0.309608831 */, | ||
8622 | /* 8088 */ 0x04f45dea | (19 << 27) /* 0.309659879 */, | ||
8623 | /* 8089 */ 0x04f49372 | (19 << 27) /* 0.309710928 */, | ||
8624 | /* 8090 */ 0x04f4c8fa | (19 << 27) /* 0.309761980 */, | ||
8625 | /* 8091 */ 0x04f4fe83 | (19 << 27) /* 0.309813033 */, | ||
8626 | /* 8092 */ 0x04f5340c | (19 << 27) /* 0.309864089 */, | ||
8627 | /* 8093 */ 0x04f56996 | (19 << 27) /* 0.309915147 */, | ||
8628 | /* 8094 */ 0x04f59f20 | (19 << 27) /* 0.309966207 */, | ||
8629 | /* 8095 */ 0x04f5d4ab | (19 << 27) /* 0.310017269 */, | ||
8630 | |||
8631 | /* 8096 */ 0x04f60a36 | (19 << 27) /* 0.310068333 */, | ||
8632 | /* 8097 */ 0x04f63fc2 | (19 << 27) /* 0.310119400 */, | ||
8633 | /* 8098 */ 0x04f6754f | (19 << 27) /* 0.310170468 */, | ||
8634 | /* 8099 */ 0x04f6aadc | (19 << 27) /* 0.310221539 */, | ||
8635 | /* 8100 */ 0x04f6e06a | (19 << 27) /* 0.310272611 */, | ||
8636 | /* 8101 */ 0x04f715f8 | (19 << 27) /* 0.310323686 */, | ||
8637 | /* 8102 */ 0x04f74b87 | (19 << 27) /* 0.310374763 */, | ||
8638 | /* 8103 */ 0x04f78116 | (19 << 27) /* 0.310425842 */, | ||
8639 | /* 8104 */ 0x04f7b6a6 | (19 << 27) /* 0.310476923 */, | ||
8640 | /* 8105 */ 0x04f7ec37 | (19 << 27) /* 0.310528006 */, | ||
8641 | /* 8106 */ 0x04f821c8 | (19 << 27) /* 0.310579091 */, | ||
8642 | /* 8107 */ 0x04f85759 | (19 << 27) /* 0.310630179 */, | ||
8643 | /* 8108 */ 0x04f88cec | (19 << 27) /* 0.310681268 */, | ||
8644 | /* 8109 */ 0x04f8c27e | (19 << 27) /* 0.310732360 */, | ||
8645 | /* 8110 */ 0x04f8f812 | (19 << 27) /* 0.310783453 */, | ||
8646 | /* 8111 */ 0x04f92da6 | (19 << 27) /* 0.310834549 */, | ||
8647 | |||
8648 | /* 8112 */ 0x04f9633a | (19 << 27) /* 0.310885647 */, | ||
8649 | /* 8113 */ 0x04f998cf | (19 << 27) /* 0.310936747 */, | ||
8650 | /* 8114 */ 0x04f9ce65 | (19 << 27) /* 0.310987849 */, | ||
8651 | /* 8115 */ 0x04fa03fb | (19 << 27) /* 0.311038953 */, | ||
8652 | /* 8116 */ 0x04fa3992 | (19 << 27) /* 0.311090059 */, | ||
8653 | /* 8117 */ 0x04fa6f29 | (19 << 27) /* 0.311141168 */, | ||
8654 | /* 8118 */ 0x04faa4c1 | (19 << 27) /* 0.311192278 */, | ||
8655 | /* 8119 */ 0x04fada59 | (19 << 27) /* 0.311243390 */, | ||
8656 | /* 8120 */ 0x04fb0ff2 | (19 << 27) /* 0.311294505 */, | ||
8657 | /* 8121 */ 0x04fb458c | (19 << 27) /* 0.311345622 */, | ||
8658 | /* 8122 */ 0x04fb7b26 | (19 << 27) /* 0.311396741 */, | ||
8659 | /* 8123 */ 0x04fbb0c1 | (19 << 27) /* 0.311447862 */, | ||
8660 | /* 8124 */ 0x04fbe65c | (19 << 27) /* 0.311498985 */, | ||
8661 | /* 8125 */ 0x04fc1bf8 | (19 << 27) /* 0.311550110 */, | ||
8662 | /* 8126 */ 0x04fc5194 | (19 << 27) /* 0.311601237 */, | ||
8663 | /* 8127 */ 0x04fc8731 | (19 << 27) /* 0.311652366 */, | ||
8664 | |||
8665 | /* 8128 */ 0x04fcbcce | (19 << 27) /* 0.311703498 */, | ||
8666 | /* 8129 */ 0x04fcf26c | (19 << 27) /* 0.311754631 */, | ||
8667 | /* 8130 */ 0x04fd280b | (19 << 27) /* 0.311805767 */, | ||
8668 | /* 8131 */ 0x04fd5daa | (19 << 27) /* 0.311856905 */, | ||
8669 | /* 8132 */ 0x04fd934a | (19 << 27) /* 0.311908044 */, | ||
8670 | /* 8133 */ 0x04fdc8ea | (19 << 27) /* 0.311959186 */, | ||
8671 | /* 8134 */ 0x04fdfe8b | (19 << 27) /* 0.312010330 */, | ||
8672 | /* 8135 */ 0x04fe342c | (19 << 27) /* 0.312061476 */, | ||
8673 | /* 8136 */ 0x04fe69ce | (19 << 27) /* 0.312112625 */, | ||
8674 | /* 8137 */ 0x04fe9f71 | (19 << 27) /* 0.312163775 */, | ||
8675 | /* 8138 */ 0x04fed514 | (19 << 27) /* 0.312214927 */, | ||
8676 | /* 8139 */ 0x04ff0ab8 | (19 << 27) /* 0.312266082 */, | ||
8677 | /* 8140 */ 0x04ff405c | (19 << 27) /* 0.312317238 */, | ||
8678 | /* 8141 */ 0x04ff7601 | (19 << 27) /* 0.312368397 */, | ||
8679 | /* 8142 */ 0x04ffaba6 | (19 << 27) /* 0.312419558 */, | ||
8680 | /* 8143 */ 0x04ffe14c | (19 << 27) /* 0.312470720 */, | ||
8681 | |||
8682 | /* 8144 */ 0x050016f3 | (19 << 27) /* 0.312521885 */, | ||
8683 | /* 8145 */ 0x05004c9a | (19 << 27) /* 0.312573052 */, | ||
8684 | /* 8146 */ 0x05008241 | (19 << 27) /* 0.312624222 */, | ||
8685 | /* 8147 */ 0x0500b7e9 | (19 << 27) /* 0.312675393 */, | ||
8686 | /* 8148 */ 0x0500ed92 | (19 << 27) /* 0.312726566 */, | ||
8687 | /* 8149 */ 0x0501233b | (19 << 27) /* 0.312777742 */, | ||
8688 | /* 8150 */ 0x050158e5 | (19 << 27) /* 0.312828919 */, | ||
8689 | /* 8151 */ 0x05018e90 | (19 << 27) /* 0.312880099 */, | ||
8690 | /* 8152 */ 0x0501c43b | (19 << 27) /* 0.312931280 */, | ||
8691 | /* 8153 */ 0x0501f9e6 | (19 << 27) /* 0.312982464 */, | ||
8692 | /* 8154 */ 0x05022f92 | (19 << 27) /* 0.313033650 */, | ||
8693 | /* 8155 */ 0x0502653f | (19 << 27) /* 0.313084838 */, | ||
8694 | /* 8156 */ 0x05029aec | (19 << 27) /* 0.313136028 */, | ||
8695 | /* 8157 */ 0x0502d09a | (19 << 27) /* 0.313187220 */, | ||
8696 | /* 8158 */ 0x05030648 | (19 << 27) /* 0.313238414 */, | ||
8697 | /* 8159 */ 0x05033bf7 | (19 << 27) /* 0.313289611 */, | ||
8698 | |||
8699 | /* 8160 */ 0x050371a7 | (19 << 27) /* 0.313340809 */, | ||
8700 | /* 8161 */ 0x0503a757 | (19 << 27) /* 0.313392010 */, | ||
8701 | /* 8162 */ 0x0503dd07 | (19 << 27) /* 0.313443212 */, | ||
8702 | /* 8163 */ 0x050412b9 | (19 << 27) /* 0.313494417 */, | ||
8703 | /* 8164 */ 0x0504486a | (19 << 27) /* 0.313545624 */, | ||
8704 | /* 8165 */ 0x05047e1d | (19 << 27) /* 0.313596833 */, | ||
8705 | /* 8166 */ 0x0504b3cf | (19 << 27) /* 0.313648044 */, | ||
8706 | /* 8167 */ 0x0504e983 | (19 << 27) /* 0.313699257 */, | ||
8707 | /* 8168 */ 0x05051f37 | (19 << 27) /* 0.313750472 */, | ||
8708 | /* 8169 */ 0x050554eb | (19 << 27) /* 0.313801689 */, | ||
8709 | /* 8170 */ 0x05058aa0 | (19 << 27) /* 0.313852909 */, | ||
8710 | /* 8171 */ 0x0505c056 | (19 << 27) /* 0.313904130 */, | ||
8711 | /* 8172 */ 0x0505f60c | (19 << 27) /* 0.313955354 */, | ||
8712 | /* 8173 */ 0x05062bc3 | (19 << 27) /* 0.314006579 */, | ||
8713 | /* 8174 */ 0x0506617a | (19 << 27) /* 0.314057807 */, | ||
8714 | /* 8175 */ 0x05069732 | (19 << 27) /* 0.314109037 */, | ||
8715 | |||
8716 | /* 8176 */ 0x0506cceb | (19 << 27) /* 0.314160269 */, | ||
8717 | /* 8177 */ 0x050702a4 | (19 << 27) /* 0.314211502 */, | ||
8718 | /* 8178 */ 0x0507385d | (19 << 27) /* 0.314262739 */, | ||
8719 | /* 8179 */ 0x05076e17 | (19 << 27) /* 0.314313977 */, | ||
8720 | /* 8180 */ 0x0507a3d2 | (19 << 27) /* 0.314365217 */, | ||
8721 | /* 8181 */ 0x0507d98d | (19 << 27) /* 0.314416459 */, | ||
8722 | /* 8182 */ 0x05080f49 | (19 << 27) /* 0.314467704 */, | ||
8723 | /* 8183 */ 0x05084506 | (19 << 27) /* 0.314518950 */, | ||
8724 | /* 8184 */ 0x05087ac2 | (19 << 27) /* 0.314570199 */, | ||
8725 | /* 8185 */ 0x0508b080 | (19 << 27) /* 0.314621449 */, | ||
8726 | /* 8186 */ 0x0508e63e | (19 << 27) /* 0.314672702 */, | ||
8727 | /* 8187 */ 0x05091bfd | (19 << 27) /* 0.314723957 */, | ||
8728 | /* 8188 */ 0x050951bc | (19 << 27) /* 0.314775214 */, | ||
8729 | /* 8189 */ 0x0509877c | (19 << 27) /* 0.314826473 */, | ||
8730 | /* 8190 */ 0x0509bd3c | (19 << 27) /* 0.314877734 */, | ||
8731 | /* 8191 */ 0x0509f2fd | (19 << 27) /* 0.314928997 */, | ||
8732 | |||
8733 | /* 8192 */ 0x050a28be | (19 << 27) /* 0.314980262 */, | ||
8734 | /* 8193 */ 0x050a5e80 | (19 << 27) /* 0.315031530 */, | ||
8735 | /* 8194 */ 0x050a9443 | (19 << 27) /* 0.315082799 */, | ||
8736 | /* 8195 */ 0x050aca06 | (19 << 27) /* 0.315134071 */, | ||
8737 | /* 8196 */ 0x050affc9 | (19 << 27) /* 0.315185344 */, | ||
8738 | /* 8197 */ 0x050b358e | (19 << 27) /* 0.315236620 */, | ||
8739 | /* 8198 */ 0x050b6b52 | (19 << 27) /* 0.315287898 */, | ||
8740 | /* 8199 */ 0x050ba118 | (19 << 27) /* 0.315339178 */, | ||
8741 | /* 8200 */ 0x050bd6de | (19 << 27) /* 0.315390460 */, | ||
8742 | /* 8201 */ 0x050c0ca4 | (19 << 27) /* 0.315441744 */, | ||
8743 | /* 8202 */ 0x050c426b | (19 << 27) /* 0.315493030 */, | ||
8744 | /* 8203 */ 0x050c7833 | (19 << 27) /* 0.315544318 */, | ||
8745 | /* 8204 */ 0x050cadfb | (19 << 27) /* 0.315595608 */, | ||
8746 | /* 8205 */ 0x050ce3c4 | (19 << 27) /* 0.315646901 */, | ||
8747 | /* 8206 */ 0x050d198d | (19 << 27) /* 0.315698195 */, | ||
diff --git a/lib/rbcodec/codecs/libmad/sf_table.dat b/lib/rbcodec/codecs/libmad/sf_table.dat new file mode 100644 index 0000000000..de084d97da --- /dev/null +++ b/lib/rbcodec/codecs/libmad/sf_table.dat | |||
@@ -0,0 +1,106 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | /* | ||
23 | * These are the scalefactor values for Layer I and Layer II. | ||
24 | * The values are from Table B.1 of ISO/IEC 11172-3. | ||
25 | * | ||
26 | * There is some error introduced by the 32-bit fixed-point representation; | ||
27 | * the amount of error is shown. For 16-bit PCM output, this shouldn't be | ||
28 | * too much of a problem. | ||
29 | * | ||
30 | * Strictly speaking, Table B.1 has only 63 entries (0-62), thus a strict | ||
31 | * interpretation of ISO/IEC 11172-3 would suggest that a scalefactor index of | ||
32 | * 63 is invalid. However, for better compatibility with current practices, we | ||
33 | * add a 64th entry. | ||
34 | */ | ||
35 | |||
36 | MAD_F(0x20000000), /* 2.000000000000 => 2.000000000000, e 0.000000000000 */ | ||
37 | MAD_F(0x1965fea5), /* 1.587401051968 => 1.587401051074, e 0.000000000894 */ | ||
38 | MAD_F(0x1428a2fa), /* 1.259921049895 => 1.259921051562, e -0.000000001667 */ | ||
39 | MAD_F(0x10000000), /* 1.000000000000 => 1.000000000000, e 0.000000000000 */ | ||
40 | MAD_F(0x0cb2ff53), /* 0.793700525984 => 0.793700527400, e -0.000000001416 */ | ||
41 | MAD_F(0x0a14517d), /* 0.629960524947 => 0.629960525781, e -0.000000000833 */ | ||
42 | MAD_F(0x08000000), /* 0.500000000000 => 0.500000000000, e 0.000000000000 */ | ||
43 | MAD_F(0x06597fa9), /* 0.396850262992 => 0.396850261837, e 0.000000001155 */ | ||
44 | |||
45 | MAD_F(0x050a28be), /* 0.314980262474 => 0.314980261028, e 0.000000001446 */ | ||
46 | MAD_F(0x04000000), /* 0.250000000000 => 0.250000000000, e 0.000000000000 */ | ||
47 | MAD_F(0x032cbfd5), /* 0.198425131496 => 0.198425132781, e -0.000000001285 */ | ||
48 | MAD_F(0x0285145f), /* 0.157490131237 => 0.157490130514, e 0.000000000723 */ | ||
49 | MAD_F(0x02000000), /* 0.125000000000 => 0.125000000000, e 0.000000000000 */ | ||
50 | MAD_F(0x01965fea), /* 0.099212565748 => 0.099212564528, e 0.000000001220 */ | ||
51 | MAD_F(0x01428a30), /* 0.078745065618 => 0.078745067120, e -0.000000001501 */ | ||
52 | MAD_F(0x01000000), /* 0.062500000000 => 0.062500000000, e 0.000000000000 */ | ||
53 | |||
54 | MAD_F(0x00cb2ff5), /* 0.049606282874 => 0.049606282264, e 0.000000000610 */ | ||
55 | MAD_F(0x00a14518), /* 0.039372532809 => 0.039372533560, e -0.000000000751 */ | ||
56 | MAD_F(0x00800000), /* 0.031250000000 => 0.031250000000, e 0.000000000000 */ | ||
57 | MAD_F(0x006597fb), /* 0.024803141437 => 0.024803142995, e -0.000000001558 */ | ||
58 | MAD_F(0x0050a28c), /* 0.019686266405 => 0.019686266780, e -0.000000000375 */ | ||
59 | MAD_F(0x00400000), /* 0.015625000000 => 0.015625000000, e 0.000000000000 */ | ||
60 | MAD_F(0x0032cbfd), /* 0.012401570719 => 0.012401569635, e 0.000000001084 */ | ||
61 | MAD_F(0x00285146), /* 0.009843133202 => 0.009843133390, e -0.000000000188 */ | ||
62 | |||
63 | MAD_F(0x00200000), /* 0.007812500000 => 0.007812500000, e 0.000000000000 */ | ||
64 | MAD_F(0x001965ff), /* 0.006200785359 => 0.006200786680, e -0.000000001321 */ | ||
65 | MAD_F(0x001428a3), /* 0.004921566601 => 0.004921566695, e -0.000000000094 */ | ||
66 | MAD_F(0x00100000), /* 0.003906250000 => 0.003906250000, e 0.000000000000 */ | ||
67 | MAD_F(0x000cb2ff), /* 0.003100392680 => 0.003100391477, e 0.000000001202 */ | ||
68 | MAD_F(0x000a1451), /* 0.002460783301 => 0.002460781485, e 0.000000001816 */ | ||
69 | MAD_F(0x00080000), /* 0.001953125000 => 0.001953125000, e 0.000000000000 */ | ||
70 | MAD_F(0x00065980), /* 0.001550196340 => 0.001550197601, e -0.000000001262 */ | ||
71 | |||
72 | MAD_F(0x00050a29), /* 0.001230391650 => 0.001230392605, e -0.000000000955 */ | ||
73 | MAD_F(0x00040000), /* 0.000976562500 => 0.000976562500, e 0.000000000000 */ | ||
74 | MAD_F(0x00032cc0), /* 0.000775098170 => 0.000775098801, e -0.000000000631 */ | ||
75 | MAD_F(0x00028514), /* 0.000615195825 => 0.000615194440, e 0.000000001385 */ | ||
76 | MAD_F(0x00020000), /* 0.000488281250 => 0.000488281250, e 0.000000000000 */ | ||
77 | MAD_F(0x00019660), /* 0.000387549085 => 0.000387549400, e -0.000000000315 */ | ||
78 | MAD_F(0x0001428a), /* 0.000307597913 => 0.000307597220, e 0.000000000693 */ | ||
79 | MAD_F(0x00010000), /* 0.000244140625 => 0.000244140625, e 0.000000000000 */ | ||
80 | |||
81 | MAD_F(0x0000cb30), /* 0.000193774542 => 0.000193774700, e -0.000000000158 */ | ||
82 | MAD_F(0x0000a145), /* 0.000153798956 => 0.000153798610, e 0.000000000346 */ | ||
83 | MAD_F(0x00008000), /* 0.000122070313 => 0.000122070313, e 0.000000000000 */ | ||
84 | MAD_F(0x00006598), /* 0.000096887271 => 0.000096887350, e -0.000000000079 */ | ||
85 | MAD_F(0x000050a3), /* 0.000076899478 => 0.000076901168, e -0.000000001689 */ | ||
86 | MAD_F(0x00004000), /* 0.000061035156 => 0.000061035156, e 0.000000000000 */ | ||
87 | MAD_F(0x000032cc), /* 0.000048443636 => 0.000048443675, e -0.000000000039 */ | ||
88 | MAD_F(0x00002851), /* 0.000038449739 => 0.000038448721, e 0.000000001018 */ | ||
89 | |||
90 | MAD_F(0x00002000), /* 0.000030517578 => 0.000030517578, e 0.000000000000 */ | ||
91 | MAD_F(0x00001966), /* 0.000024221818 => 0.000024221838, e -0.000000000020 */ | ||
92 | MAD_F(0x00001429), /* 0.000019224870 => 0.000019226223, e -0.000000001354 */ | ||
93 | MAD_F(0x00001000), /* 0.000015258789 => 0.000015258789, e -0.000000000000 */ | ||
94 | MAD_F(0x00000cb3), /* 0.000012110909 => 0.000012110919, e -0.000000000010 */ | ||
95 | MAD_F(0x00000a14), /* 0.000009612435 => 0.000009611249, e 0.000000001186 */ | ||
96 | MAD_F(0x00000800), /* 0.000007629395 => 0.000007629395, e -0.000000000000 */ | ||
97 | MAD_F(0x00000659), /* 0.000006055454 => 0.000006053597, e 0.000000001858 */ | ||
98 | |||
99 | MAD_F(0x0000050a), /* 0.000004806217 => 0.000004805624, e 0.000000000593 */ | ||
100 | MAD_F(0x00000400), /* 0.000003814697 => 0.000003814697, e 0.000000000000 */ | ||
101 | MAD_F(0x0000032d), /* 0.000003027727 => 0.000003028661, e -0.000000000934 */ | ||
102 | MAD_F(0x00000285), /* 0.000002403109 => 0.000002402812, e 0.000000000296 */ | ||
103 | MAD_F(0x00000200), /* 0.000001907349 => 0.000001907349, e -0.000000000000 */ | ||
104 | MAD_F(0x00000196), /* 0.000001513864 => 0.000001512468, e 0.000000001396 */ | ||
105 | MAD_F(0x00000143), /* 0.000001201554 => 0.000001203269, e -0.000000001714 */ | ||
106 | MAD_F(0x00000000) /* this compatibility entry is not part of Table B.1 */ | ||
diff --git a/lib/rbcodec/codecs/libmad/stream.c b/lib/rbcodec/codecs/libmad/stream.c new file mode 100644 index 0000000000..6c8bbcf850 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/stream.c | |||
@@ -0,0 +1,165 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifdef HAVE_CONFIG_H | ||
23 | # include "config.h" | ||
24 | # endif | ||
25 | |||
26 | # include "global.h" | ||
27 | |||
28 | # include "bit.h" | ||
29 | # include "stream.h" | ||
30 | |||
31 | /* | ||
32 | * NAME: stream->init() | ||
33 | * DESCRIPTION: initialize stream struct | ||
34 | */ | ||
35 | void mad_stream_init(struct mad_stream *stream) | ||
36 | { | ||
37 | stream->buffer = 0; | ||
38 | stream->bufend = 0; | ||
39 | /* rockbox: not used | ||
40 | stream->skiplen = 0; */ | ||
41 | |||
42 | stream->sync = 0; | ||
43 | stream->freerate = 0; | ||
44 | |||
45 | stream->this_frame = 0; | ||
46 | stream->next_frame = 0; | ||
47 | mad_bit_init(&stream->ptr, 0); | ||
48 | |||
49 | mad_bit_init(&stream->anc_ptr, 0); | ||
50 | stream->anc_bitlen = 0; | ||
51 | |||
52 | /* rockbox: comment this to avoid allocation in following code. main_data is | ||
53 | * linked to an array in ../mpa.c before calling this. | ||
54 | stream->main_data = 0; | ||
55 | */ | ||
56 | stream->md_len = 0; | ||
57 | |||
58 | stream->options = 0; | ||
59 | stream->error = MAD_ERROR_NONE; | ||
60 | } | ||
61 | |||
62 | /* | ||
63 | * NAME: stream->finish() | ||
64 | * DESCRIPTION: deallocate any dynamic memory associated with stream | ||
65 | */ | ||
66 | /* rockbox: not used | ||
67 | void mad_stream_finish(struct mad_stream *stream) | ||
68 | { | ||
69 | if (stream->main_data) { | ||
70 | free(stream->main_data); | ||
71 | stream->main_data = 0; | ||
72 | } | ||
73 | |||
74 | mad_bit_finish(&stream->anc_ptr); | ||
75 | mad_bit_finish(&stream->ptr); | ||
76 | } */ | ||
77 | |||
78 | /* | ||
79 | * NAME: stream->buffer() | ||
80 | * DESCRIPTION: set stream buffer pointers | ||
81 | */ | ||
82 | void mad_stream_buffer(struct mad_stream *stream, | ||
83 | unsigned char const *buffer, unsigned long length) | ||
84 | { | ||
85 | stream->buffer = buffer; | ||
86 | stream->bufend = buffer + length; | ||
87 | |||
88 | stream->this_frame = buffer; | ||
89 | stream->next_frame = buffer; | ||
90 | |||
91 | stream->sync = 1; | ||
92 | |||
93 | mad_bit_init(&stream->ptr, buffer); | ||
94 | } | ||
95 | |||
96 | /* | ||
97 | * NAME: stream->skip() | ||
98 | * DESCRIPTION: arrange to skip bytes before the next frame | ||
99 | */ | ||
100 | /* rockbox: not used | ||
101 | void mad_stream_skip(struct mad_stream *stream, unsigned long length) | ||
102 | { | ||
103 | stream->skiplen += length; | ||
104 | } */ | ||
105 | |||
106 | /* | ||
107 | * NAME: stream->sync() | ||
108 | * DESCRIPTION: locate the next stream sync word | ||
109 | */ | ||
110 | int mad_stream_sync(struct mad_stream *stream) | ||
111 | { | ||
112 | register unsigned char const *ptr, *end; | ||
113 | |||
114 | ptr = mad_bit_nextbyte(&stream->ptr); | ||
115 | end = stream->bufend; | ||
116 | |||
117 | while (ptr < end - 1 && | ||
118 | !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) | ||
119 | ++ptr; | ||
120 | |||
121 | if (end - ptr < MAD_BUFFER_GUARD) | ||
122 | return -1; | ||
123 | |||
124 | mad_bit_init(&stream->ptr, ptr); | ||
125 | |||
126 | return 0; | ||
127 | } | ||
128 | |||
129 | /* | ||
130 | * NAME: stream->errorstr() | ||
131 | * DESCRIPTION: return a string description of the current error condition | ||
132 | */ | ||
133 | char const *mad_stream_errorstr(struct mad_stream const *stream) | ||
134 | { | ||
135 | switch (stream->error) { | ||
136 | case MAD_ERROR_NONE: return "no error"; | ||
137 | |||
138 | case MAD_ERROR_BUFLEN: return "input buffer too small (or EOF)"; | ||
139 | case MAD_ERROR_BUFPTR: return "invalid (null) buffer pointer"; | ||
140 | |||
141 | case MAD_ERROR_NOMEM: return "not enough memory"; | ||
142 | |||
143 | case MAD_ERROR_LOSTSYNC: return "lost synchronization"; | ||
144 | case MAD_ERROR_BADLAYER: return "reserved header layer value"; | ||
145 | case MAD_ERROR_BADBITRATE: return "forbidden bitrate value"; | ||
146 | case MAD_ERROR_BADSAMPLERATE: return "reserved sample frequency value"; | ||
147 | case MAD_ERROR_BADEMPHASIS: return "reserved emphasis value"; | ||
148 | |||
149 | case MAD_ERROR_BADCRC: return "CRC check failed"; | ||
150 | case MAD_ERROR_BADBITALLOC: return "forbidden bit allocation value"; | ||
151 | case MAD_ERROR_BADSCALEFACTOR: return "bad scalefactor index"; | ||
152 | case MAD_ERROR_BADMODE: return "bad bitrate/mode combination"; | ||
153 | case MAD_ERROR_BADFRAMELEN: return "bad frame length"; | ||
154 | case MAD_ERROR_BADBIGVALUES: return "bad big_values count"; | ||
155 | case MAD_ERROR_BADBLOCKTYPE: return "reserved block_type"; | ||
156 | case MAD_ERROR_BADSCFSI: return "bad scalefactor selection info"; | ||
157 | case MAD_ERROR_BADDATAPTR: return "bad main_data_begin pointer"; | ||
158 | case MAD_ERROR_BADPART3LEN: return "bad audio data length"; | ||
159 | case MAD_ERROR_BADHUFFTABLE: return "bad Huffman table select"; | ||
160 | case MAD_ERROR_BADHUFFDATA: return "Huffman data overrun"; | ||
161 | case MAD_ERROR_BADSTEREO: return "incompatible block_type for JS"; | ||
162 | } | ||
163 | |||
164 | return 0; | ||
165 | } | ||
diff --git a/lib/rbcodec/codecs/libmad/stream.h b/lib/rbcodec/codecs/libmad/stream.h new file mode 100644 index 0000000000..0aafb98787 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/stream.h | |||
@@ -0,0 +1,113 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_STREAM_H | ||
23 | # define LIBMAD_STREAM_H | ||
24 | |||
25 | # include "bit.h" | ||
26 | |||
27 | # define MAD_BUFFER_GUARD 8 | ||
28 | # define MAD_BUFFER_MDLEN (511 + 2048 + MAD_BUFFER_GUARD) | ||
29 | |||
30 | enum mad_error { | ||
31 | MAD_ERROR_NONE = 0x0000, /* no error */ | ||
32 | |||
33 | MAD_ERROR_BUFLEN = 0x0001, /* input buffer too small (or EOF) */ | ||
34 | MAD_ERROR_BUFPTR = 0x0002, /* invalid (null) buffer pointer */ | ||
35 | |||
36 | MAD_ERROR_NOMEM = 0x0031, /* not enough memory */ | ||
37 | |||
38 | MAD_ERROR_LOSTSYNC = 0x0101, /* lost synchronization */ | ||
39 | MAD_ERROR_BADLAYER = 0x0102, /* reserved header layer value */ | ||
40 | MAD_ERROR_BADBITRATE = 0x0103, /* forbidden bitrate value */ | ||
41 | MAD_ERROR_BADSAMPLERATE = 0x0104, /* reserved sample frequency value */ | ||
42 | MAD_ERROR_BADEMPHASIS = 0x0105, /* reserved emphasis value */ | ||
43 | |||
44 | MAD_ERROR_BADCRC = 0x0201, /* CRC check failed */ | ||
45 | MAD_ERROR_BADBITALLOC = 0x0211, /* forbidden bit allocation value */ | ||
46 | MAD_ERROR_BADSCALEFACTOR = 0x0221, /* bad scalefactor index */ | ||
47 | MAD_ERROR_BADMODE = 0x0222, /* bad bitrate/mode combination */ | ||
48 | MAD_ERROR_BADFRAMELEN = 0x0231, /* bad frame length */ | ||
49 | MAD_ERROR_BADBIGVALUES = 0x0232, /* bad big_values count */ | ||
50 | MAD_ERROR_BADBLOCKTYPE = 0x0233, /* reserved block_type */ | ||
51 | MAD_ERROR_BADSCFSI = 0x0234, /* bad scalefactor selection info */ | ||
52 | MAD_ERROR_BADDATAPTR = 0x0235, /* bad main_data_begin pointer */ | ||
53 | MAD_ERROR_BADPART3LEN = 0x0236, /* bad audio data length */ | ||
54 | MAD_ERROR_BADHUFFTABLE = 0x0237, /* bad Huffman table select */ | ||
55 | MAD_ERROR_BADHUFFDATA = 0x0238, /* Huffman data overrun */ | ||
56 | MAD_ERROR_BADSTEREO = 0x0239 /* incompatible block_type for JS */ | ||
57 | }; | ||
58 | |||
59 | # define MAD_RECOVERABLE(error) ((error) & 0xff00) | ||
60 | |||
61 | struct mad_stream { | ||
62 | unsigned char const *buffer; /* input bitstream buffer */ | ||
63 | unsigned char const *bufend; /* end of buffer */ | ||
64 | /* rockbox: not used | ||
65 | unsigned long skiplen; */ /* bytes to skip before next frame */ | ||
66 | |||
67 | int sync; /* stream sync found */ | ||
68 | unsigned long freerate; /* free bitrate (fixed) */ | ||
69 | |||
70 | unsigned char const *this_frame; /* start of current frame */ | ||
71 | unsigned char const *next_frame; /* start of next frame */ | ||
72 | struct mad_bitptr ptr; /* current processing bit pointer */ | ||
73 | |||
74 | struct mad_bitptr anc_ptr; /* ancillary bits pointer */ | ||
75 | unsigned int anc_bitlen; /* number of ancillary bits */ | ||
76 | |||
77 | unsigned char (*main_data)[MAD_BUFFER_MDLEN] MEM_ALIGN_ATTR; | ||
78 | /* Layer III main_data() */ | ||
79 | unsigned int md_len; /* bytes in main_data */ | ||
80 | |||
81 | int options; /* decoding options (see below) */ | ||
82 | enum mad_error error; /* error code (see above) */ | ||
83 | }; | ||
84 | |||
85 | enum { | ||
86 | MAD_OPTION_IGNORECRC = 0x0001, /* ignore CRC errors */ | ||
87 | # if 0 /* rockbox: unused */ | ||
88 | MAD_OPTION_HALFSAMPLERATE = 0x0002 /* generate PCM at 1/2 sample rate */ | ||
89 | # endif | ||
90 | # if 0 /* not yet implemented */ | ||
91 | MAD_OPTION_LEFTCHANNEL = 0x0010, /* decode left channel only */ | ||
92 | MAD_OPTION_RIGHTCHANNEL = 0x0020, /* decode right channel only */ | ||
93 | MAD_OPTION_SINGLECHANNEL = 0x0030 /* combine channels */ | ||
94 | # endif | ||
95 | }; | ||
96 | |||
97 | void mad_stream_init(struct mad_stream *); | ||
98 | /* rockbox: not used | ||
99 | void mad_stream_finish(struct mad_stream *); */ | ||
100 | |||
101 | # define mad_stream_options(stream, opts) \ | ||
102 | ((void) ((stream)->options = (opts))) | ||
103 | |||
104 | void mad_stream_buffer(struct mad_stream *, | ||
105 | unsigned char const *, unsigned long); | ||
106 | /* rockbox: not used | ||
107 | void mad_stream_skip(struct mad_stream *, unsigned long); */ | ||
108 | |||
109 | int mad_stream_sync(struct mad_stream *); | ||
110 | |||
111 | char const *mad_stream_errorstr(struct mad_stream const *); | ||
112 | |||
113 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/synth.c b/lib/rbcodec/codecs/libmad/synth.c new file mode 100644 index 0000000000..ebcf3d5015 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/synth.c | |||
@@ -0,0 +1,1232 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifdef HAVE_CONFIG_H | ||
23 | # include "config.h" | ||
24 | # endif | ||
25 | |||
26 | # include "global.h" | ||
27 | |||
28 | # include "fixed.h" | ||
29 | # include "frame.h" | ||
30 | # include "synth.h" | ||
31 | |||
32 | /* | ||
33 | * NAME: synth->init() | ||
34 | * DESCRIPTION: initialize synth struct | ||
35 | */ | ||
36 | void mad_synth_init(struct mad_synth *synth) | ||
37 | { | ||
38 | mad_synth_mute(synth); | ||
39 | |||
40 | synth->phase = 0; | ||
41 | |||
42 | synth->pcm.samplerate = 0; | ||
43 | synth->pcm.channels = 0; | ||
44 | synth->pcm.length = 0; | ||
45 | #if defined(CPU_COLDFIRE) | ||
46 | /* init the emac unit here, since this function should always be called | ||
47 | before using libmad */ | ||
48 | coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE | EMAC_ROUND); | ||
49 | #endif | ||
50 | } | ||
51 | |||
52 | /* | ||
53 | * NAME: synth->mute() | ||
54 | * DESCRIPTION: zero all polyphase filterbank values, resetting synthesis | ||
55 | */ | ||
56 | void mad_synth_mute(struct mad_synth *synth) | ||
57 | { | ||
58 | memset(synth->filter, 0, sizeof(synth->filter)); | ||
59 | } | ||
60 | |||
61 | #if 0 /* dct32 asm implementation is slower on current arm systems */ | ||
62 | /* #ifdef FPM_ARM */ | ||
63 | |||
64 | void dct32(mad_fixed_t const in[32], unsigned int slot, | ||
65 | mad_fixed_t lo[16][8], mad_fixed_t hi[16][8]); | ||
66 | |||
67 | #else | ||
68 | |||
69 | /* | ||
70 | * An optional optimization called here the Subband Synthesis Optimization | ||
71 | * (SSO) improves the performance of subband synthesis at the expense of | ||
72 | * accuracy. | ||
73 | * | ||
74 | * The idea is to simplify 32x32->64-bit multiplication to 32x32->32 such | ||
75 | * that extra scaling and rounding are not necessary. This often allows the | ||
76 | * compiler to use faster 32-bit multiply-accumulate instructions instead of | ||
77 | * explicit 64-bit multiply, shift, and add instructions. | ||
78 | * | ||
79 | * SSO works like this: a full 32x32->64-bit multiply of two mad_fixed_t | ||
80 | * values requires the result to be right-shifted 28 bits to be properly | ||
81 | * scaled to the same fixed-point format. Right shifts can be applied at any | ||
82 | * time to either operand or to the result, so the optimization involves | ||
83 | * careful placement of these shifts to minimize the loss of accuracy. | ||
84 | * | ||
85 | * First, a 14-bit shift is applied with rounding at compile-time to the D[] | ||
86 | * table of coefficients for the subband synthesis window. This only loses 2 | ||
87 | * bits of accuracy because the lower 12 bits are always zero. A second | ||
88 | * 12-bit shift occurs after the DCT calculation. This loses 12 bits of | ||
89 | * accuracy. Finally, a third 2-bit shift occurs just before the sample is | ||
90 | * saved in the PCM buffer. 14 + 12 + 2 == 28 bits. | ||
91 | */ | ||
92 | |||
93 | /* FPM_DEFAULT without OPT_SSO will actually not work. */ | ||
94 | # if defined(FPM_DEFAULT) && !defined(OPT_SSO) | ||
95 | # define OPT_SSO | ||
96 | # endif | ||
97 | |||
98 | /* second SSO shift, with rounding */ | ||
99 | # if defined(OPT_SSO) | ||
100 | # define SHIFT(x) (((x) + (1L << 11)) >> 12) | ||
101 | # else | ||
102 | # define SHIFT(x) (x) | ||
103 | # endif | ||
104 | |||
105 | /* possible DCT speed optimization */ | ||
106 | # if defined(FPM_COLDFIRE_EMAC) | ||
107 | /* This is a Coldfire version of the OPT_SPEED optimisation below, but in the | ||
108 | case of Coldfire it does not loose additional precision. */ | ||
109 | # define MUL(x, y) \ | ||
110 | ({ \ | ||
111 | mad_fixed64hi_t hi; \ | ||
112 | asm volatile("mac.l %[a], %[b], %%acc0\n\t" \ | ||
113 | "movclr.l %%acc0, %[hi]" \ | ||
114 | : [hi] "=r" (hi) \ | ||
115 | : [a] "r" ((x)), [b] "r" ((y))); \ | ||
116 | hi; \ | ||
117 | }) | ||
118 | # elif defined(FPM_ARM) | ||
119 | /* This is an ARM version of the OPT_SPEED optimisation below. This | ||
120 | implementation will loose 1 bit of accuracy. */ | ||
121 | # define MUL(x, y) \ | ||
122 | ({ \ | ||
123 | mad_fixed64lo_t lo; \ | ||
124 | mad_fixed64hi_t hi; \ | ||
125 | asm volatile ( \ | ||
126 | "smull %[lo], %[hi], %[a], %[b]\n\t" /* hi = result */ \ | ||
127 | "mov %[hi], %[hi], lsl #1" /* hi <<= 1 */ \ | ||
128 | : [lo]"=&r"(lo), [hi]"=&r"(hi) \ | ||
129 | : [a]"r"(x), [b]"r"(y)); \ | ||
130 | hi; \ | ||
131 | }) | ||
132 | # elif defined(OPT_SPEED) && defined(MAD_F_MLX) | ||
133 | # define MUL(x, y) \ | ||
134 | ({ mad_fixed64hi_t hi; \ | ||
135 | mad_fixed64lo_t lo; \ | ||
136 | MAD_F_MLX(hi, lo, (x), (y)); \ | ||
137 | hi << (32 - MAD_F_SCALEBITS - 3); \ | ||
138 | }) | ||
139 | # else | ||
140 | # define MUL(x, y) mad_f_mul((x), (y>>3)) | ||
141 | # endif | ||
142 | |||
143 | /* | ||
144 | * NAME: dct32() | ||
145 | * DESCRIPTION: perform fast in[32]->out[32] DCT | ||
146 | */ | ||
147 | static | ||
148 | void dct32(mad_fixed_t const in[32], unsigned int slot, | ||
149 | mad_fixed_t lo[16][8], mad_fixed_t hi[16][8]) | ||
150 | { | ||
151 | mad_fixed_t t0, t1, t2, t3, t4, t5, t6, t7; | ||
152 | mad_fixed_t t8, t9, t10, t11, t12, t13, t14, t15; | ||
153 | mad_fixed_t t16, t17, t18, t19, t20, t21, t22, t23; | ||
154 | mad_fixed_t t24, t25, t26, t27, t28, t29, t30, t31; | ||
155 | mad_fixed_t t32, t33, t34, t35, t36, t37, t38, t39; | ||
156 | mad_fixed_t t40, t41, t42, t43, t44, t45, t46, t47; | ||
157 | mad_fixed_t t48, t49, t50, t51, t52, t53, t54, t55; | ||
158 | mad_fixed_t t56, t57, t58, t59, t60, t61, t62, t63; | ||
159 | mad_fixed_t t64, t65, t66, t67, t68, t69, t70, t71; | ||
160 | mad_fixed_t t72, t73, t74, t75, t76, t77, t78, t79; | ||
161 | mad_fixed_t t80, t81, t82, t83, t84, t85, t86, t87; | ||
162 | mad_fixed_t t88, t89, t90, t91, t92, t93, t94, t95; | ||
163 | mad_fixed_t t96, t97, t98, t99, t100, t101, t102, t103; | ||
164 | mad_fixed_t t104, t105, t106, t107, t108, t109, t110, t111; | ||
165 | mad_fixed_t t112, t113, t114, t115, t116, t117, t118, t119; | ||
166 | mad_fixed_t t120, t121, t122, t123, t124, t125, t126, t127; | ||
167 | mad_fixed_t t128, t129, t130, t131, t132, t133, t134, t135; | ||
168 | mad_fixed_t t136, t137, t138, t139, t140, t141, t142, t143; | ||
169 | mad_fixed_t t144, t145, t146, t147, t148, t149, t150, t151; | ||
170 | mad_fixed_t t152, t153, t154, t155, t156, t157, t158, t159; | ||
171 | mad_fixed_t t160, t161, t162, t163, t164, t165, t166, t167; | ||
172 | mad_fixed_t t168, t169, t170, t171, t172, t173, t174, t175; | ||
173 | mad_fixed_t t176; | ||
174 | |||
175 | /* costab[i] = cos(PI / (2 * 32) * i) */ | ||
176 | #define costab1 MAD_F(0x7fd8878e) /* 0.998795456 */ | ||
177 | #define costab2 MAD_F(0x7f62368f) /* 0.995184727 */ | ||
178 | #define costab3 MAD_F(0x7e9d55fc) /* 0.989176510 */ | ||
179 | #define costab4 MAD_F(0x7d8a5f40) /* 0.980785280 */ | ||
180 | #define costab5 MAD_F(0x7c29fbee) /* 0.970031253 */ | ||
181 | #define costab6 MAD_F(0x7a7d055b) /* 0.956940336 */ | ||
182 | #define costab7 MAD_F(0x78848414) /* 0.941544065 */ | ||
183 | #define costab8 MAD_F(0x7641af3d) /* 0.923879533 */ | ||
184 | #define costab9 MAD_F(0x73b5ebd1) /* 0.903989293 */ | ||
185 | #define costab10 MAD_F(0x70e2cbc6) /* 0.881921264 */ | ||
186 | #define costab11 MAD_F(0x6dca0d14) /* 0.857728610 */ | ||
187 | #define costab12 MAD_F(0x6a5d98a4) /* 0.831469612 */ | ||
188 | #define costab13 MAD_F(0x66cf8120) /* 0.803207531 */ | ||
189 | #define costab14 MAD_F(0x62f201ac) /* 0.773010453 */ | ||
190 | #define costab15 MAD_F(0x5ed77c8a) /* 0.740951125 */ | ||
191 | #define costab16 MAD_F(0x5a82799a) /* 0.707106781 */ | ||
192 | #define costab17 MAD_F(0x55f5a4d2) /* 0.671558955 */ | ||
193 | #define costab18 MAD_F(0x5133cc94) /* 0.634393284 */ | ||
194 | #define costab19 MAD_F(0x4c3fdff4) /* 0.595699304 */ | ||
195 | #define costab20 MAD_F(0x471cece7) /* 0.555570233 */ | ||
196 | #define costab21 MAD_F(0x41ce1e65) /* 0.514102744 */ | ||
197 | #define costab22 MAD_F(0x3c56ba70) /* 0.471396737 */ | ||
198 | #define costab23 MAD_F(0x36ba2014) /* 0.427555093 */ | ||
199 | #define costab24 MAD_F(0x30fbc54d) /* 0.382683432 */ | ||
200 | #define costab25 MAD_F(0x2b1f34eb) /* 0.336889853 */ | ||
201 | #define costab26 MAD_F(0x25280c5e) /* 0.290284677 */ | ||
202 | #define costab27 MAD_F(0x1f19f97b) /* 0.242980180 */ | ||
203 | #define costab28 MAD_F(0x18f8b83c) /* 0.195090322 */ | ||
204 | #define costab29 MAD_F(0x12c8106f) /* 0.146730474 */ | ||
205 | #define costab30 MAD_F(0x0c8bd35e) /* 0.098017140 */ | ||
206 | #define costab31 MAD_F(0x0647d97c) /* 0.049067674 */ | ||
207 | |||
208 | t0 = in[0] + in[31]; t16 = MUL(in[0] - in[31], costab1); | ||
209 | t1 = in[15] + in[16]; t17 = MUL(in[15] - in[16], costab31); | ||
210 | |||
211 | t41 = t16 + t17; | ||
212 | t59 = MUL(t16 - t17, costab2); | ||
213 | t33 = t0 + t1; | ||
214 | t50 = MUL(t0 - t1, costab2); | ||
215 | |||
216 | t2 = in[7] + in[24]; t18 = MUL(in[7] - in[24], costab15); | ||
217 | t3 = in[8] + in[23]; t19 = MUL(in[8] - in[23], costab17); | ||
218 | |||
219 | t42 = t18 + t19; | ||
220 | t60 = MUL(t18 - t19, costab30); | ||
221 | t34 = t2 + t3; | ||
222 | t51 = MUL(t2 - t3, costab30); | ||
223 | |||
224 | t4 = in[3] + in[28]; t20 = MUL(in[3] - in[28], costab7); | ||
225 | t5 = in[12] + in[19]; t21 = MUL(in[12] - in[19], costab25); | ||
226 | |||
227 | t43 = t20 + t21; | ||
228 | t61 = MUL(t20 - t21, costab14); | ||
229 | t35 = t4 + t5; | ||
230 | t52 = MUL(t4 - t5, costab14); | ||
231 | |||
232 | t6 = in[4] + in[27]; t22 = MUL(in[4] - in[27], costab9); | ||
233 | t7 = in[11] + in[20]; t23 = MUL(in[11] - in[20], costab23); | ||
234 | |||
235 | t44 = t22 + t23; | ||
236 | t62 = MUL(t22 - t23, costab18); | ||
237 | t36 = t6 + t7; | ||
238 | t53 = MUL(t6 - t7, costab18); | ||
239 | |||
240 | t8 = in[1] + in[30]; t24 = MUL(in[1] - in[30], costab3); | ||
241 | t9 = in[14] + in[17]; t25 = MUL(in[14] - in[17], costab29); | ||
242 | |||
243 | t45 = t24 + t25; | ||
244 | t63 = MUL(t24 - t25, costab6); | ||
245 | t37 = t8 + t9; | ||
246 | t54 = MUL(t8 - t9, costab6); | ||
247 | |||
248 | t10 = in[6] + in[25]; t26 = MUL(in[6] - in[25], costab13); | ||
249 | t11 = in[9] + in[22]; t27 = MUL(in[9] - in[22], costab19); | ||
250 | |||
251 | t46 = t26 + t27; | ||
252 | t64 = MUL(t26 - t27, costab26); | ||
253 | t38 = t10 + t11; | ||
254 | t55 = MUL(t10 - t11, costab26); | ||
255 | |||
256 | t12 = in[2] + in[29]; t28 = MUL(in[2] - in[29], costab5); | ||
257 | t13 = in[13] + in[18]; t29 = MUL(in[13] - in[18], costab27); | ||
258 | |||
259 | t47 = t28 + t29; | ||
260 | t65 = MUL(t28 - t29, costab10); | ||
261 | t39 = t12 + t13; | ||
262 | t56 = MUL(t12 - t13, costab10); | ||
263 | |||
264 | t14 = in[5] + in[26]; t30 = MUL(in[5] - in[26], costab11); | ||
265 | t15 = in[10] + in[21]; t31 = MUL(in[10] - in[21], costab21); | ||
266 | |||
267 | t48 = t30 + t31; | ||
268 | t66 = MUL(t30 - t31, costab22); | ||
269 | t40 = t14 + t15; | ||
270 | t57 = MUL(t14 - t15, costab22); | ||
271 | |||
272 | t69 = t33 + t34; t89 = MUL(t33 - t34, costab4); | ||
273 | t70 = t35 + t36; t90 = MUL(t35 - t36, costab28); | ||
274 | t71 = t37 + t38; t91 = MUL(t37 - t38, costab12); | ||
275 | t72 = t39 + t40; t92 = MUL(t39 - t40, costab20); | ||
276 | t73 = t41 + t42; t94 = MUL(t41 - t42, costab4); | ||
277 | t74 = t43 + t44; t95 = MUL(t43 - t44, costab28); | ||
278 | t75 = t45 + t46; t96 = MUL(t45 - t46, costab12); | ||
279 | t76 = t47 + t48; t97 = MUL(t47 - t48, costab20); | ||
280 | |||
281 | t78 = t50 + t51; t100 = MUL(t50 - t51, costab4); | ||
282 | t79 = t52 + t53; t101 = MUL(t52 - t53, costab28); | ||
283 | t80 = t54 + t55; t102 = MUL(t54 - t55, costab12); | ||
284 | t81 = t56 + t57; t103 = MUL(t56 - t57, costab20); | ||
285 | |||
286 | t83 = t59 + t60; t106 = MUL(t59 - t60, costab4); | ||
287 | t84 = t61 + t62; t107 = MUL(t61 - t62, costab28); | ||
288 | t85 = t63 + t64; t108 = MUL(t63 - t64, costab12); | ||
289 | t86 = t65 + t66; t109 = MUL(t65 - t66, costab20); | ||
290 | |||
291 | t113 = t69 + t70; | ||
292 | t114 = t71 + t72; | ||
293 | |||
294 | /* 0 */ hi[15][slot] = SHIFT(t113 + t114); | ||
295 | /* 16 */ lo[ 0][slot] = SHIFT(MUL(t113 - t114, costab16)); | ||
296 | |||
297 | t115 = t73 + t74; | ||
298 | t116 = t75 + t76; | ||
299 | |||
300 | t32 = t115 + t116; | ||
301 | |||
302 | /* 1 */ hi[14][slot] = SHIFT(t32); | ||
303 | |||
304 | t118 = t78 + t79; | ||
305 | t119 = t80 + t81; | ||
306 | |||
307 | t58 = t118 + t119; | ||
308 | |||
309 | /* 2 */ hi[13][slot] = SHIFT(t58); | ||
310 | |||
311 | t121 = t83 + t84; | ||
312 | t122 = t85 + t86; | ||
313 | |||
314 | t67 = t121 + t122; | ||
315 | |||
316 | t49 = (t67 * 2) - t32; | ||
317 | |||
318 | /* 3 */ hi[12][slot] = SHIFT(t49); | ||
319 | |||
320 | t125 = t89 + t90; | ||
321 | t126 = t91 + t92; | ||
322 | |||
323 | t93 = t125 + t126; | ||
324 | |||
325 | /* 4 */ hi[11][slot] = SHIFT(t93); | ||
326 | |||
327 | t128 = t94 + t95; | ||
328 | t129 = t96 + t97; | ||
329 | |||
330 | t98 = t128 + t129; | ||
331 | |||
332 | t68 = (t98 * 2) - t49; | ||
333 | |||
334 | /* 5 */ hi[10][slot] = SHIFT(t68); | ||
335 | |||
336 | t132 = t100 + t101; | ||
337 | t133 = t102 + t103; | ||
338 | |||
339 | t104 = t132 + t133; | ||
340 | |||
341 | t82 = (t104 * 2) - t58; | ||
342 | |||
343 | /* 6 */ hi[ 9][slot] = SHIFT(t82); | ||
344 | |||
345 | t136 = t106 + t107; | ||
346 | t137 = t108 + t109; | ||
347 | |||
348 | t110 = t136 + t137; | ||
349 | |||
350 | t87 = (t110 * 2) - t67; | ||
351 | |||
352 | t77 = (t87 * 2) - t68; | ||
353 | |||
354 | /* 7 */ hi[ 8][slot] = SHIFT(t77); | ||
355 | |||
356 | t141 = MUL(t69 - t70, costab8); | ||
357 | t142 = MUL(t71 - t72, costab24); | ||
358 | t143 = t141 + t142; | ||
359 | |||
360 | /* 8 */ hi[ 7][slot] = SHIFT(t143); | ||
361 | /* 24 */ lo[ 8][slot] = | ||
362 | SHIFT((MUL(t141 - t142, costab16) * 2) - t143); | ||
363 | |||
364 | t144 = MUL(t73 - t74, costab8); | ||
365 | t145 = MUL(t75 - t76, costab24); | ||
366 | t146 = t144 + t145; | ||
367 | |||
368 | t88 = (t146 * 2) - t77; | ||
369 | |||
370 | /* 9 */ hi[ 6][slot] = SHIFT(t88); | ||
371 | |||
372 | t148 = MUL(t78 - t79, costab8); | ||
373 | t149 = MUL(t80 - t81, costab24); | ||
374 | t150 = t148 + t149; | ||
375 | |||
376 | t105 = (t150 * 2) - t82; | ||
377 | |||
378 | /* 10 */ hi[ 5][slot] = SHIFT(t105); | ||
379 | |||
380 | t152 = MUL(t83 - t84, costab8); | ||
381 | t153 = MUL(t85 - t86, costab24); | ||
382 | t154 = t152 + t153; | ||
383 | |||
384 | t111 = (t154 * 2) - t87; | ||
385 | |||
386 | t99 = (t111 * 2) - t88; | ||
387 | |||
388 | /* 11 */ hi[ 4][slot] = SHIFT(t99); | ||
389 | |||
390 | t157 = MUL(t89 - t90, costab8); | ||
391 | t158 = MUL(t91 - t92, costab24); | ||
392 | t159 = t157 + t158; | ||
393 | |||
394 | t127 = (t159 * 2) - t93; | ||
395 | |||
396 | /* 12 */ hi[ 3][slot] = SHIFT(t127); | ||
397 | |||
398 | t160 = (MUL(t125 - t126, costab16) * 2) - t127; | ||
399 | |||
400 | /* 20 */ lo[ 4][slot] = SHIFT(t160); | ||
401 | /* 28 */ lo[12][slot] = | ||
402 | SHIFT((((MUL(t157 - t158, costab16) * 2) - t159) * 2) - t160); | ||
403 | |||
404 | t161 = MUL(t94 - t95, costab8); | ||
405 | t162 = MUL(t96 - t97, costab24); | ||
406 | t163 = t161 + t162; | ||
407 | |||
408 | t130 = (t163 * 2) - t98; | ||
409 | |||
410 | t112 = (t130 * 2) - t99; | ||
411 | |||
412 | /* 13 */ hi[ 2][slot] = SHIFT(t112); | ||
413 | |||
414 | t164 = (MUL(t128 - t129, costab16) * 2) - t130; | ||
415 | |||
416 | t166 = MUL(t100 - t101, costab8); | ||
417 | t167 = MUL(t102 - t103, costab24); | ||
418 | t168 = t166 + t167; | ||
419 | |||
420 | t134 = (t168 * 2) - t104; | ||
421 | |||
422 | t120 = (t134 * 2) - t105; | ||
423 | |||
424 | /* 14 */ hi[ 1][slot] = SHIFT(t120); | ||
425 | |||
426 | t135 = (MUL(t118 - t119, costab16) * 2) - t120; | ||
427 | |||
428 | /* 18 */ lo[ 2][slot] = SHIFT(t135); | ||
429 | |||
430 | t169 = (MUL(t132 - t133, costab16) * 2) - t134; | ||
431 | |||
432 | t151 = (t169 * 2) - t135; | ||
433 | |||
434 | /* 22 */ lo[ 6][slot] = SHIFT(t151); | ||
435 | |||
436 | t170 = (((MUL(t148 - t149, costab16) * 2) - t150) * 2) - t151; | ||
437 | |||
438 | /* 26 */ lo[10][slot] = SHIFT(t170); | ||
439 | /* 30 */ lo[14][slot] = | ||
440 | SHIFT((((((MUL(t166 - t167, costab16) * 2) - | ||
441 | t168) * 2) - t169) * 2) - t170); | ||
442 | |||
443 | t171 = MUL(t106 - t107, costab8); | ||
444 | t172 = MUL(t108 - t109, costab24); | ||
445 | t173 = t171 + t172; | ||
446 | |||
447 | t138 = (t173 * 2) - t110; | ||
448 | |||
449 | t123 = (t138 * 2) - t111; | ||
450 | |||
451 | t139 = (MUL(t121 - t122, costab16) * 2) - t123; | ||
452 | |||
453 | t117 = (t123 * 2) - t112; | ||
454 | |||
455 | /* 15 */ hi[ 0][slot] = SHIFT(t117); | ||
456 | |||
457 | t124 = (MUL(t115 - t116, costab16) * 2) - t117; | ||
458 | |||
459 | /* 17 */ lo[ 1][slot] = SHIFT(t124); | ||
460 | |||
461 | t131 = (t139 * 2) - t124; | ||
462 | |||
463 | /* 19 */ lo[ 3][slot] = SHIFT(t131); | ||
464 | |||
465 | t140 = (t164 * 2) - t131; | ||
466 | |||
467 | /* 21 */ lo[ 5][slot] = SHIFT(t140); | ||
468 | |||
469 | t174 = (MUL(t136 - t137, costab16) * 2) - t138; | ||
470 | |||
471 | t155 = (t174 * 2) - t139; | ||
472 | |||
473 | t147 = (t155 * 2) - t140; | ||
474 | |||
475 | /* 23 */ lo[ 7][slot] = SHIFT(t147); | ||
476 | |||
477 | t156 = (((MUL(t144 - t145, costab16) * 2) - t146) * 2) - t147; | ||
478 | |||
479 | /* 25 */ lo[ 9][slot] = SHIFT(t156); | ||
480 | |||
481 | t175 = (((MUL(t152 - t153, costab16) * 2) - t154) * 2) - t155; | ||
482 | |||
483 | t165 = (t175 * 2) - t156; | ||
484 | |||
485 | /* 27 */ lo[11][slot] = SHIFT(t165); | ||
486 | |||
487 | t176 = (((((MUL(t161 - t162, costab16) * 2) - | ||
488 | t163) * 2) - t164) * 2) - t165; | ||
489 | |||
490 | /* 29 */ lo[13][slot] = SHIFT(t176); | ||
491 | /* 31 */ lo[15][slot] = | ||
492 | SHIFT((((((((MUL(t171 - t172, costab16) * 2) - | ||
493 | t173) * 2) - t174) * 2) - t175) * 2) - t176); | ||
494 | |||
495 | /* | ||
496 | * Totals: | ||
497 | * 80 multiplies | ||
498 | * 80 additions | ||
499 | * 119 subtractions | ||
500 | * 49 shifts (not counting SSO) | ||
501 | */ | ||
502 | } | ||
503 | |||
504 | # undef MUL | ||
505 | # undef SHIFT | ||
506 | |||
507 | #endif | ||
508 | |||
509 | /* third SSO shift and/or D[] optimization preshift */ | ||
510 | |||
511 | # if defined(OPT_SSO) | ||
512 | # if MAD_F_FRACBITS != 28 | ||
513 | # error "MAD_F_FRACBITS must be 28 to use OPT_SSO" | ||
514 | # endif | ||
515 | # define ML0(hi, lo, x, y) ((lo) = (x) * (y)) | ||
516 | # define MLA(hi, lo, x, y) ((lo) += (x) * (y)) | ||
517 | # define MLN(hi, lo) ((lo) = -(lo)) | ||
518 | # define MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo)) | ||
519 | # define SHIFT(x) ((x) >> 2) | ||
520 | # define PRESHIFT(x) ((MAD_F(x) + (1L << 13)) >> 14) | ||
521 | # else | ||
522 | # define ML0(hi, lo, x, y) MAD_F_ML0((hi), (lo), (x), (y)) | ||
523 | # define MLA(hi, lo, x, y) MAD_F_MLA((hi), (lo), (x), (y)) | ||
524 | # define MLN(hi, lo) MAD_F_MLN((hi), (lo)) | ||
525 | # define MLZ(hi, lo) MAD_F_MLZ((hi), (lo)) | ||
526 | # define SHIFT(x) (x) | ||
527 | # if defined(MAD_F_SCALEBITS) | ||
528 | # undef MAD_F_SCALEBITS | ||
529 | # define MAD_F_SCALEBITS (MAD_F_FRACBITS - 12) | ||
530 | # define PRESHIFT(x) (MAD_F(x) >> 12) | ||
531 | # else | ||
532 | # define PRESHIFT(x) MAD_F(x) | ||
533 | # endif | ||
534 | # endif | ||
535 | |||
536 | static | ||
537 | mad_fixed_t const D[17][32] ICONST_ATTR MEM_ALIGN_ATTR = { | ||
538 | # include "D.dat" | ||
539 | }; | ||
540 | |||
541 | /* | ||
542 | * NAME: synth->full() | ||
543 | * DESCRIPTION: perform full frequency PCM synthesis | ||
544 | */ | ||
545 | /* optimised version of synth_full */ | ||
546 | # ifdef FPM_COLDFIRE_EMAC | ||
547 | |||
548 | #define SYNTH_EMAC1(res, f1, pD) \ | ||
549 | asm volatile( \ | ||
550 | "movem.l (%0), %%d0-%%d7 \n\t" \ | ||
551 | "move.l (%1), %%a5 \n\t" \ | ||
552 | "mac.l %%d0, %%a5, 56(%1), %%a5, %%acc0\n\t" \ | ||
553 | "mac.l %%d1, %%a5, 48(%1), %%a5, %%acc0\n\t" \ | ||
554 | "mac.l %%d2, %%a5, 40(%1), %%a5, %%acc0\n\t" \ | ||
555 | "mac.l %%d3, %%a5, 32(%1), %%a5, %%acc0\n\t" \ | ||
556 | "mac.l %%d4, %%a5, 24(%1), %%a5, %%acc0\n\t" \ | ||
557 | "mac.l %%d5, %%a5, 16(%1), %%a5, %%acc0\n\t" \ | ||
558 | "mac.l %%d6, %%a5, 8(%1), %%a5, %%acc0\n\t" \ | ||
559 | "mac.l %%d7, %%a5, %%acc0\n\t" \ | ||
560 | : \ | ||
561 | : "a" (*f1), "a" (*pD) \ | ||
562 | : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "a5"); \ | ||
563 | asm volatile ( \ | ||
564 | "movclr.l %%acc0, %0 \n\t" \ | ||
565 | : "=d" (res)); | ||
566 | |||
567 | #define SYNTH_EMAC2(res, f1, f2, pD) \ | ||
568 | asm volatile( \ | ||
569 | "movem.l (%0), %%d0-%%d7 \n\t" \ | ||
570 | "move.l 4(%1), %%a5 \n\t" \ | ||
571 | "msac.l %%d0, %%a5, 60(%1), %%a5, %%acc0\n\t" \ | ||
572 | "msac.l %%d1, %%a5, 52(%1), %%a5, %%acc0\n\t" \ | ||
573 | "msac.l %%d2, %%a5, 44(%1), %%a5, %%acc0\n\t" \ | ||
574 | "msac.l %%d3, %%a5, 36(%1), %%a5, %%acc0\n\t" \ | ||
575 | "msac.l %%d4, %%a5, 28(%1), %%a5, %%acc0\n\t" \ | ||
576 | "msac.l %%d5, %%a5, 20(%1), %%a5, %%acc0\n\t" \ | ||
577 | "msac.l %%d6, %%a5, 12(%1), %%a5, %%acc0\n\t" \ | ||
578 | "msac.l %%d7, %%a5, (%1), %%a5, %%acc0\n\t" \ | ||
579 | "movem.l (%2), %%d0-%%d7 \n\t" \ | ||
580 | "mac.l %%d0, %%a5, 56(%1), %%a5, %%acc0\n\t" \ | ||
581 | "mac.l %%d1, %%a5, 48(%1), %%a5, %%acc0\n\t" \ | ||
582 | "mac.l %%d2, %%a5, 40(%1), %%a5, %%acc0\n\t" \ | ||
583 | "mac.l %%d3, %%a5, 32(%1), %%a5, %%acc0\n\t" \ | ||
584 | "mac.l %%d4, %%a5, 24(%1), %%a5, %%acc0\n\t" \ | ||
585 | "mac.l %%d5, %%a5, 16(%1), %%a5, %%acc0\n\t" \ | ||
586 | "mac.l %%d6, %%a5, 8(%1), %%a5, %%acc0\n\t" \ | ||
587 | "mac.l %%d7, %%a5, %%acc0\n\t" \ | ||
588 | : \ | ||
589 | : "a" (*f1), "a" (*pD), "a" (*f2) \ | ||
590 | : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "a5", "memory"); \ | ||
591 | asm volatile ( \ | ||
592 | "movclr.l %%acc0, %0 \n\t" \ | ||
593 | : "=d" (res)); | ||
594 | |||
595 | #define SYNTH_EMAC_ODD_SBSAMPLE(f1, f2, pD1, pD2, res1, res2) \ | ||
596 | asm volatile ( \ | ||
597 | "movem.l (%0), %%d0-%%d7 \n\t" \ | ||
598 | "move.l 4(%2), %%a5 \n\t" \ | ||
599 | "msac.l %%d0, %%a5, 60(%2), %%a5, %%acc0\n\t" \ | ||
600 | "msac.l %%d1, %%a5, 52(%2), %%a5, %%acc0\n\t" \ | ||
601 | "msac.l %%d2, %%a5, 44(%2), %%a5, %%acc0\n\t" \ | ||
602 | "msac.l %%d3, %%a5, 36(%2), %%a5, %%acc0\n\t" \ | ||
603 | "msac.l %%d4, %%a5, 28(%2), %%a5, %%acc0\n\t" \ | ||
604 | "msac.l %%d5, %%a5, 20(%2), %%a5, %%acc0\n\t" \ | ||
605 | "msac.l %%d6, %%a5, 12(%2), %%a5, %%acc0\n\t" \ | ||
606 | "msac.l %%d7, %%a5, 112(%3), %%a5, %%acc0\n\t" \ | ||
607 | "mac.l %%d7, %%a5, 104(%3), %%a5, %%acc1\n\t" \ | ||
608 | "mac.l %%d6, %%a5, 96(%3), %%a5, %%acc1\n\t" \ | ||
609 | "mac.l %%d5, %%a5, 88(%3), %%a5, %%acc1\n\t" \ | ||
610 | "mac.l %%d4, %%a5, 80(%3), %%a5, %%acc1\n\t" \ | ||
611 | "mac.l %%d3, %%a5, 72(%3), %%a5, %%acc1\n\t" \ | ||
612 | "mac.l %%d2, %%a5, 64(%3), %%a5, %%acc1\n\t" \ | ||
613 | "mac.l %%d1, %%a5, 120(%3), %%a5, %%acc1\n\t" \ | ||
614 | "mac.l %%d0, %%a5, 8(%2), %%a5, %%acc1\n\t" \ | ||
615 | "movem.l (%1), %%d0-%%d7 \n\t" \ | ||
616 | "mac.l %%d7, %%a5, 16(%2), %%a5, %%acc0\n\t" \ | ||
617 | "mac.l %%d6, %%a5, 24(%2), %%a5, %%acc0\n\t" \ | ||
618 | "mac.l %%d5, %%a5, 32(%2), %%a5, %%acc0\n\t" \ | ||
619 | "mac.l %%d4, %%a5, 40(%2), %%a5, %%acc0\n\t" \ | ||
620 | "mac.l %%d3, %%a5, 48(%2), %%a5, %%acc0\n\t" \ | ||
621 | "mac.l %%d2, %%a5, 56(%2), %%a5, %%acc0\n\t" \ | ||
622 | "mac.l %%d1, %%a5, (%2), %%a5, %%acc0\n\t" \ | ||
623 | "mac.l %%d0, %%a5, 60(%3), %%a5, %%acc0\n\t" \ | ||
624 | "mac.l %%d0, %%a5, 68(%3), %%a5, %%acc1\n\t" \ | ||
625 | "mac.l %%d1, %%a5, 76(%3), %%a5, %%acc1\n\t" \ | ||
626 | "mac.l %%d2, %%a5, 84(%3), %%a5, %%acc1\n\t" \ | ||
627 | "mac.l %%d3, %%a5, 92(%3), %%a5, %%acc1\n\t" \ | ||
628 | "mac.l %%d4, %%a5, 100(%3), %%a5, %%acc1\n\t" \ | ||
629 | "mac.l %%d5, %%a5, 108(%3), %%a5, %%acc1\n\t" \ | ||
630 | "mac.l %%d6, %%a5, 116(%3), %%a5, %%acc1\n\t" \ | ||
631 | "mac.l %%d7, %%a5, %%acc1\n\t" \ | ||
632 | : \ | ||
633 | : "a" (*f1), "a" (*f2), "a" (*pD1), "a" (*pD2) \ | ||
634 | : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "a5", "memory"); \ | ||
635 | asm volatile( \ | ||
636 | "movclr.l %%acc0, %0\n\t" \ | ||
637 | "movclr.l %%acc1, %1\n\t" \ | ||
638 | : "=d" (res1), "=d" (res2) ); | ||
639 | |||
640 | #define SYNTH_EMAC_EVEN_SBSAMPLE(f1, f2, pD1, pD2, res1, res2) \ | ||
641 | asm volatile ( \ | ||
642 | "movem.l (%0), %%d0-%%d7 \n\t" \ | ||
643 | "move.l (%2), %%a5 \n\t" \ | ||
644 | "msac.l %%d0, %%a5, 56(%2), %%a5, %%acc0\n\t" \ | ||
645 | "msac.l %%d1, %%a5, 48(%2), %%a5, %%acc0\n\t" \ | ||
646 | "msac.l %%d2, %%a5, 40(%2), %%a5, %%acc0\n\t" \ | ||
647 | "msac.l %%d3, %%a5, 32(%2), %%a5, %%acc0\n\t" \ | ||
648 | "msac.l %%d4, %%a5, 24(%2), %%a5, %%acc0\n\t" \ | ||
649 | "msac.l %%d5, %%a5, 16(%2), %%a5, %%acc0\n\t" \ | ||
650 | "msac.l %%d6, %%a5, 8(%2), %%a5, %%acc0\n\t" \ | ||
651 | "msac.l %%d7, %%a5, 116(%3), %%a5, %%acc0\n\t" \ | ||
652 | "mac.l %%d7, %%a5, 108(%3), %%a5, %%acc1\n\t" \ | ||
653 | "mac.l %%d6, %%a5, 100(%3), %%a5, %%acc1\n\t" \ | ||
654 | "mac.l %%d5, %%a5, 92(%3), %%a5, %%acc1\n\t" \ | ||
655 | "mac.l %%d4, %%a5, 84(%3), %%a5, %%acc1\n\t" \ | ||
656 | "mac.l %%d3, %%a5, 76(%3), %%a5, %%acc1\n\t" \ | ||
657 | "mac.l %%d2, %%a5, 68(%3), %%a5, %%acc1\n\t" \ | ||
658 | "mac.l %%d1, %%a5, 60(%3), %%a5, %%acc1\n\t" \ | ||
659 | "mac.l %%d0, %%a5, 12(%2), %%a5, %%acc1\n\t" \ | ||
660 | "movem.l (%1), %%d0-%%d7 \n\t" \ | ||
661 | "mac.l %%d7, %%a5, 20(%2), %%a5, %%acc0\n\t" \ | ||
662 | "mac.l %%d6, %%a5, 28(%2), %%a5, %%acc0\n\t" \ | ||
663 | "mac.l %%d5, %%a5, 36(%2), %%a5, %%acc0\n\t" \ | ||
664 | "mac.l %%d4, %%a5, 44(%2), %%a5, %%acc0\n\t" \ | ||
665 | "mac.l %%d3, %%a5, 52(%2), %%a5, %%acc0\n\t" \ | ||
666 | "mac.l %%d2, %%a5, 60(%2), %%a5, %%acc0\n\t" \ | ||
667 | "mac.l %%d1, %%a5, 4(%2), %%a5, %%acc0\n\t" \ | ||
668 | "mac.l %%d0, %%a5, 120(%3), %%a5, %%acc0\n\t" \ | ||
669 | "mac.l %%d0, %%a5, 64(%3), %%a5, %%acc1\n\t" \ | ||
670 | "mac.l %%d1, %%a5, 72(%3), %%a5, %%acc1\n\t" \ | ||
671 | "mac.l %%d2, %%a5, 80(%3), %%a5, %%acc1\n\t" \ | ||
672 | "mac.l %%d3, %%a5, 88(%3), %%a5, %%acc1\n\t" \ | ||
673 | "mac.l %%d4, %%a5, 96(%3), %%a5, %%acc1\n\t" \ | ||
674 | "mac.l %%d5, %%a5, 104(%3), %%a5, %%acc1\n\t" \ | ||
675 | "mac.l %%d6, %%a5, 112(%3), %%a5, %%acc1\n\t" \ | ||
676 | "mac.l %%d7, %%a5, %%acc1\n\t" \ | ||
677 | : \ | ||
678 | : "a" (*f1), "a" (*f2), "a" (*pD1), "a" (*pD2) \ | ||
679 | : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "a5", "memory"); \ | ||
680 | asm volatile( \ | ||
681 | "movclr.l %%acc0, %0\n\t" \ | ||
682 | "movclr.l %%acc1, %1\n\t" \ | ||
683 | : "=d" (res1), "=d" (res2) ); | ||
684 | |||
685 | static | ||
686 | void synth_full(struct mad_synth *synth, struct mad_frame const *frame, | ||
687 | unsigned int nch, unsigned int ns) | ||
688 | { | ||
689 | int sb; | ||
690 | unsigned int phase, ch, s, p; | ||
691 | mad_fixed_t *pcm, (*filter)[2][2][16][8]; | ||
692 | mad_fixed_t (*sbsample)[36][32]; | ||
693 | mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8]; | ||
694 | mad_fixed_t const (*D0ptr)[32]; | ||
695 | mad_fixed_t const (*D1ptr)[32]; | ||
696 | mad_fixed64hi_t hi0, hi1; | ||
697 | |||
698 | for (ch = 0; ch < nch; ++ch) { | ||
699 | sbsample = &(*frame->sbsample_prev)[ch]; | ||
700 | filter = &synth->filter[ch]; | ||
701 | phase = synth->phase; | ||
702 | pcm = synth->pcm.samples[ch]; | ||
703 | |||
704 | for (s = 0; s < ns; ++s) { | ||
705 | dct32((*sbsample)[s], phase >> 1, | ||
706 | (*filter)[0][phase & 1], (*filter)[1][phase & 1]); | ||
707 | |||
708 | p = (phase - 1) & 0xf; | ||
709 | |||
710 | /* calculate 32 samples */ | ||
711 | fe = &(*filter)[0][ phase & 1][0]; | ||
712 | fx = &(*filter)[0][~phase & 1][0]; | ||
713 | fo = &(*filter)[1][~phase & 1][0]; | ||
714 | |||
715 | D0ptr = (void*)&D[0][ p]; | ||
716 | D1ptr = (void*)&D[0][-p]; | ||
717 | |||
718 | if(s & 1) | ||
719 | { | ||
720 | SYNTH_EMAC2(hi0, fx, fe, D0ptr); | ||
721 | pcm[0] = hi0 << 3; /* shift result to libmad's fixed point format */ | ||
722 | pcm += 16; | ||
723 | |||
724 | for (sb = 15; sb; sb--, fo++) { | ||
725 | ++fe; | ||
726 | ++D0ptr; | ||
727 | ++D1ptr; | ||
728 | |||
729 | /* D[32 - sb][i] == -D[sb][31 - i] */ | ||
730 | SYNTH_EMAC_ODD_SBSAMPLE(fo, fe, D0ptr, D1ptr, hi0, hi1); | ||
731 | pcm[-sb] = hi0 << 3; | ||
732 | pcm[ sb] = hi1 << 3; | ||
733 | } | ||
734 | |||
735 | ++D0ptr; | ||
736 | SYNTH_EMAC1(hi0, fo, D0ptr+1); | ||
737 | pcm[0] = -(hi0 << 3); | ||
738 | } | ||
739 | else | ||
740 | { | ||
741 | SYNTH_EMAC2(hi0, fe, fx, D0ptr); | ||
742 | pcm[0] = -(hi0 << 3); /* shift result to libmad's fixed point format */ | ||
743 | pcm += 16; | ||
744 | |||
745 | for (sb = 15; sb; sb--, fo++) { | ||
746 | ++fe; | ||
747 | ++D0ptr; | ||
748 | ++D1ptr; | ||
749 | |||
750 | /* D[32 - sb][i] == -D[sb][31 - i] */ | ||
751 | SYNTH_EMAC_EVEN_SBSAMPLE(fo, fe, D0ptr, D1ptr, hi0, hi1); | ||
752 | pcm[-sb] = hi0 << 3; | ||
753 | pcm[ sb] = hi1 << 3; | ||
754 | } | ||
755 | |||
756 | ++D0ptr; | ||
757 | SYNTH_EMAC1(hi0, fo, D0ptr); | ||
758 | pcm[0] = -(hi0 << 3); | ||
759 | } | ||
760 | pcm += 16; | ||
761 | phase = (phase + 1) % 16; | ||
762 | } | ||
763 | } | ||
764 | } | ||
765 | |||
766 | #elif defined(FPM_ARM) | ||
767 | |||
768 | #define PROD_O(hi, lo, f, ptr) \ | ||
769 | ({ \ | ||
770 | mad_fixed_t *__p = (f); \ | ||
771 | asm("ldmia %2!, {r0, r1, r2, r3}\n\t" \ | ||
772 | "ldr r4, [%3, #0]\n\t" \ | ||
773 | "ldr r12, [%3, #56]\n\t" \ | ||
774 | "smull %0, %1, r0, r4\n\t" \ | ||
775 | "ldr r4, [%3, #48]\n\t" \ | ||
776 | "smlal %0, %1, r1, r12\n\t" \ | ||
777 | "ldr r12, [%3, #40]\n\t" \ | ||
778 | "smlal %0, %1, r2, r4\n\t" \ | ||
779 | "smlal %0, %1, r3, r12\n\t" \ | ||
780 | "ldmia %2, {r0, r1, r2, r3}\n\t" \ | ||
781 | "ldr r4, [%3, #32]\n\t" \ | ||
782 | "ldr r12, [%3, #24]\n\t" \ | ||
783 | "smlal %0, %1, r0, r4\n\t" \ | ||
784 | "ldr r4, [%3, #16]\n\t" \ | ||
785 | "smlal %0, %1, r1, r12\n\t" \ | ||
786 | "ldr r12, [%3, #8]\n\t" \ | ||
787 | "smlal %0, %1, r2, r4\n\t" \ | ||
788 | "smlal %0, %1, r3, r12\n\t" \ | ||
789 | : "=&r" (lo), "=&r" (hi), "+r" (__p) \ | ||
790 | : "r" (ptr) \ | ||
791 | : "r0", "r1", "r2", "r3", "r4", "r12"); \ | ||
792 | }) | ||
793 | |||
794 | #define PROD_A(hi, lo, f, ptr) \ | ||
795 | ({ \ | ||
796 | mad_fixed_t *__p = (f); \ | ||
797 | asm("ldmia %2!, {r0, r1, r2, r3}\n\t" \ | ||
798 | "ldr r4, [%3, #0]\n\t" \ | ||
799 | "ldr r12, [%3, #56]\n\t" \ | ||
800 | "smlal %0, %1, r0, r4\n\t" \ | ||
801 | "ldr r4, [%3, #48]\n\t" \ | ||
802 | "smlal %0, %1, r1, r12\n\t" \ | ||
803 | "ldr r12, [%3, #40]\n\t" \ | ||
804 | "smlal %0, %1, r2, r4\n\t" \ | ||
805 | "smlal %0, %1, r3, r12\n\t" \ | ||
806 | "ldmia %2, {r0, r1, r2, r3}\n\t" \ | ||
807 | "ldr r4, [%3, #32]\n\t" \ | ||
808 | "ldr r12, [%3, #24]\n\t" \ | ||
809 | "smlal %0, %1, r0, r4\n\t" \ | ||
810 | "ldr r4, [%3, #16]\n\t" \ | ||
811 | "smlal %0, %1, r1, r12\n\t" \ | ||
812 | "ldr r12, [%3, #8]\n\t" \ | ||
813 | "smlal %0, %1, r2, r4\n\t" \ | ||
814 | "smlal %0, %1, r3, r12\n\t" \ | ||
815 | : "+r" (lo), "+r" (hi), "+r" (__p) \ | ||
816 | : "r" (ptr) \ | ||
817 | : "r0", "r1", "r2", "r3", "r4", "r12"); \ | ||
818 | }) | ||
819 | |||
820 | void synth_full_odd_sbsample (mad_fixed_t *pcm, | ||
821 | mad_fixed_t (*fo)[8], | ||
822 | mad_fixed_t (*fe)[8], | ||
823 | mad_fixed_t const (*D0ptr)[32], | ||
824 | mad_fixed_t const (*D1ptr)[32]); | ||
825 | void synth_full_even_sbsample(mad_fixed_t *pcm, | ||
826 | mad_fixed_t (*fo)[8], | ||
827 | mad_fixed_t (*fe)[8], | ||
828 | mad_fixed_t const (*D0ptr)[32], | ||
829 | mad_fixed_t const (*D1ptr)[32]); | ||
830 | |||
831 | static | ||
832 | void synth_full(struct mad_synth *synth, struct mad_frame const *frame, | ||
833 | unsigned int nch, unsigned int ns) ICODE_ATTR_MPA_SYNTH; | ||
834 | static | ||
835 | void synth_full(struct mad_synth *synth, struct mad_frame const *frame, | ||
836 | unsigned int nch, unsigned int ns) | ||
837 | { | ||
838 | int p; | ||
839 | unsigned int phase, ch, s; | ||
840 | mad_fixed_t *pcm, (*filter)[2][2][16][8]; | ||
841 | mad_fixed_t (*sbsample)[36][32]; | ||
842 | mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8]; | ||
843 | mad_fixed_t const (*D0ptr)[32], *ptr; | ||
844 | mad_fixed_t const (*D1ptr)[32]; | ||
845 | mad_fixed64hi_t hi; | ||
846 | mad_fixed64lo_t lo; | ||
847 | |||
848 | for (ch = 0; ch < nch; ++ch) { | ||
849 | sbsample = &(*frame->sbsample_prev)[ch]; | ||
850 | filter = &synth->filter[ch]; | ||
851 | phase = synth->phase; | ||
852 | pcm = synth->pcm.samples[ch]; | ||
853 | |||
854 | for (s = 0; s < ns; ++s) { | ||
855 | dct32((*sbsample)[s], phase >> 1, | ||
856 | (*filter)[0][phase & 1], (*filter)[1][phase & 1]); | ||
857 | |||
858 | p = (phase - 1) & 0xf; | ||
859 | |||
860 | /* calculate 32 samples */ | ||
861 | fe = &(*filter)[0][ phase & 1][0]; | ||
862 | fx = &(*filter)[0][~phase & 1][0]; | ||
863 | fo = &(*filter)[1][~phase & 1][0]; | ||
864 | |||
865 | D0ptr = (void*)&D[0][ p]; | ||
866 | D1ptr = (void*)&D[0][-p]; | ||
867 | |||
868 | if(s & 1) | ||
869 | { | ||
870 | ptr = *D0ptr; | ||
871 | PROD_O(hi, lo, *fx, ptr+1); | ||
872 | MLN(hi, lo); | ||
873 | PROD_A(hi, lo, *fe, ptr); | ||
874 | pcm[0] = SHIFT(MLZ(hi, lo)); | ||
875 | pcm += 16; | ||
876 | |||
877 | synth_full_odd_sbsample(pcm, fo, fe, D0ptr, D1ptr); | ||
878 | D0ptr += 15; | ||
879 | D1ptr += 15; | ||
880 | fo += 15; | ||
881 | fe += 15; | ||
882 | |||
883 | ptr = *(D0ptr + 1); | ||
884 | PROD_O(hi, lo, *fo, ptr+1); | ||
885 | pcm[0] = SHIFT(-MLZ(hi, lo)); | ||
886 | } | ||
887 | else | ||
888 | { | ||
889 | ptr = *D0ptr; | ||
890 | PROD_O(hi, lo, *fx, ptr); | ||
891 | MLN(hi, lo); | ||
892 | PROD_A(hi, lo, *fe, ptr+1); | ||
893 | pcm[0] = SHIFT(MLZ(hi, lo)); | ||
894 | pcm += 16; | ||
895 | |||
896 | synth_full_even_sbsample(pcm, fo, fe, D0ptr, D1ptr); | ||
897 | D0ptr += 15; | ||
898 | D1ptr += 15; | ||
899 | fo += 15; | ||
900 | fe += 15; | ||
901 | |||
902 | ptr = *(D0ptr + 1); | ||
903 | PROD_O(hi, lo, *fo, ptr); | ||
904 | pcm[0] = SHIFT(-MLZ(hi, lo)); | ||
905 | } | ||
906 | |||
907 | pcm += 16; | ||
908 | phase = (phase + 1) % 16; | ||
909 | } | ||
910 | } | ||
911 | } | ||
912 | |||
913 | # else /* not FPM_COLDFIRE_EMAC and not FPM_ARM */ | ||
914 | |||
915 | #define PROD_O(hi, lo, f, ptr, offset) \ | ||
916 | ML0(hi, lo, (*f)[0], ptr[ 0+offset]); \ | ||
917 | MLA(hi, lo, (*f)[1], ptr[14+offset]); \ | ||
918 | MLA(hi, lo, (*f)[2], ptr[12+offset]); \ | ||
919 | MLA(hi, lo, (*f)[3], ptr[10+offset]); \ | ||
920 | MLA(hi, lo, (*f)[4], ptr[ 8+offset]); \ | ||
921 | MLA(hi, lo, (*f)[5], ptr[ 6+offset]); \ | ||
922 | MLA(hi, lo, (*f)[6], ptr[ 4+offset]); \ | ||
923 | MLA(hi, lo, (*f)[7], ptr[ 2+offset]); | ||
924 | |||
925 | #define PROD_A(hi, lo, f, ptr, offset) \ | ||
926 | MLA(hi, lo, (*f)[0], ptr[ 0+offset]); \ | ||
927 | MLA(hi, lo, (*f)[1], ptr[14+offset]); \ | ||
928 | MLA(hi, lo, (*f)[2], ptr[12+offset]); \ | ||
929 | MLA(hi, lo, (*f)[3], ptr[10+offset]); \ | ||
930 | MLA(hi, lo, (*f)[4], ptr[ 8+offset]); \ | ||
931 | MLA(hi, lo, (*f)[5], ptr[ 6+offset]); \ | ||
932 | MLA(hi, lo, (*f)[6], ptr[ 4+offset]); \ | ||
933 | MLA(hi, lo, (*f)[7], ptr[ 2+offset]); | ||
934 | |||
935 | #define PROD_SB(hi, lo, ptr, offset, first_idx, last_idx) \ | ||
936 | ML0(hi, lo, (*fe)[0], ptr[first_idx]); \ | ||
937 | MLA(hi, lo, (*fe)[1], ptr[16+offset]); \ | ||
938 | MLA(hi, lo, (*fe)[2], ptr[18+offset]); \ | ||
939 | MLA(hi, lo, (*fe)[3], ptr[20+offset]); \ | ||
940 | MLA(hi, lo, (*fe)[4], ptr[22+offset]); \ | ||
941 | MLA(hi, lo, (*fe)[5], ptr[24+offset]); \ | ||
942 | MLA(hi, lo, (*fe)[6], ptr[26+offset]); \ | ||
943 | MLA(hi, lo, (*fe)[7], ptr[28+offset]); \ | ||
944 | MLA(hi, lo, (*fo)[7], ptr[29-offset]); \ | ||
945 | MLA(hi, lo, (*fo)[6], ptr[27-offset]); \ | ||
946 | MLA(hi, lo, (*fo)[5], ptr[25-offset]); \ | ||
947 | MLA(hi, lo, (*fo)[4], ptr[23-offset]); \ | ||
948 | MLA(hi, lo, (*fo)[3], ptr[21-offset]); \ | ||
949 | MLA(hi, lo, (*fo)[2], ptr[19-offset]); \ | ||
950 | MLA(hi, lo, (*fo)[1], ptr[17-offset]); \ | ||
951 | MLA(hi, lo, (*fo)[0], ptr[last_idx ]); | ||
952 | |||
953 | static | ||
954 | void synth_full(struct mad_synth *synth, struct mad_frame const *frame, | ||
955 | unsigned int nch, unsigned int ns) | ||
956 | { | ||
957 | int p, sb; | ||
958 | unsigned int phase, ch, s; | ||
959 | mad_fixed_t *pcm, (*filter)[2][2][16][8]; | ||
960 | mad_fixed_t (*sbsample)[36][32]; | ||
961 | mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8]; | ||
962 | mad_fixed_t const (*D0ptr)[32], *ptr; | ||
963 | mad_fixed_t const (*D1ptr)[32]; | ||
964 | mad_fixed64hi_t hi; | ||
965 | mad_fixed64lo_t lo; | ||
966 | |||
967 | for (ch = 0; ch < nch; ++ch) { | ||
968 | sbsample = &(*frame->sbsample_prev)[ch]; | ||
969 | filter = &synth->filter[ch]; | ||
970 | phase = synth->phase; | ||
971 | pcm = synth->pcm.samples[ch]; | ||
972 | |||
973 | for (s = 0; s < ns; ++s) { | ||
974 | dct32((*sbsample)[s], phase >> 1, | ||
975 | (*filter)[0][phase & 1], (*filter)[1][phase & 1]); | ||
976 | |||
977 | p = (phase - 1) & 0xf; | ||
978 | |||
979 | /* calculate 32 samples */ | ||
980 | fe = &(*filter)[0][ phase & 1][0]; | ||
981 | fx = &(*filter)[0][~phase & 1][0]; | ||
982 | fo = &(*filter)[1][~phase & 1][0]; | ||
983 | |||
984 | D0ptr = (void*)&D[0][ p]; | ||
985 | D1ptr = (void*)&D[0][-p]; | ||
986 | |||
987 | if(s & 1) | ||
988 | { | ||
989 | ptr = *D0ptr; | ||
990 | PROD_O(hi, lo, fx, ptr, 1) | ||
991 | MLN(hi, lo); | ||
992 | PROD_A(hi, lo, fe, ptr, 0) | ||
993 | pcm[0] = SHIFT(MLZ(hi, lo)); | ||
994 | pcm += 16; | ||
995 | |||
996 | for (sb = 15; sb; sb--, fo++) | ||
997 | { | ||
998 | ++fe; | ||
999 | ++D0ptr; | ||
1000 | ++D1ptr; | ||
1001 | |||
1002 | /* D[32 - sb][i] == -D[sb][31 - i] */ | ||
1003 | ptr = *D0ptr; | ||
1004 | PROD_O(hi, lo, fo, ptr, 1) | ||
1005 | MLN(hi, lo); | ||
1006 | PROD_A(hi, lo, fe, ptr, 0) | ||
1007 | pcm[-sb] = SHIFT(MLZ(hi, lo)); | ||
1008 | |||
1009 | ptr = *D1ptr; | ||
1010 | PROD_SB(hi, lo, ptr, 1, 15, 30) | ||
1011 | pcm[sb] = SHIFT(MLZ(hi, lo)); | ||
1012 | } | ||
1013 | |||
1014 | ptr = *(D0ptr + 1); | ||
1015 | PROD_O(hi, lo, fo, ptr, 1) | ||
1016 | pcm[0] = SHIFT(-MLZ(hi, lo)); | ||
1017 | } | ||
1018 | else | ||
1019 | { | ||
1020 | ptr = *D0ptr; | ||
1021 | PROD_O(hi, lo, fx, ptr, 0) | ||
1022 | MLN(hi, lo); | ||
1023 | PROD_A(hi, lo, fe, ptr, 1) | ||
1024 | pcm[0] = SHIFT(MLZ(hi, lo)); | ||
1025 | pcm += 16; | ||
1026 | |||
1027 | for (sb = 15; sb; sb--, fo++) | ||
1028 | { | ||
1029 | ++fe; | ||
1030 | ++D0ptr; | ||
1031 | ++D1ptr; | ||
1032 | |||
1033 | /* D[32 - sb][i] == -D[sb][31 - i] */ | ||
1034 | ptr = *D0ptr; | ||
1035 | PROD_O(hi, lo, fo, ptr, 0) | ||
1036 | MLN(hi, lo); | ||
1037 | PROD_A(hi, lo, fe, ptr, 1) | ||
1038 | pcm[-sb] = SHIFT(MLZ(hi, lo)); | ||
1039 | |||
1040 | ptr = *D1ptr; | ||
1041 | PROD_SB(hi, lo, ptr, 0, 30, 15) | ||
1042 | pcm[sb] = SHIFT(MLZ(hi, lo)); | ||
1043 | } | ||
1044 | |||
1045 | ptr = *(D0ptr + 1); | ||
1046 | PROD_O(hi, lo, fo, ptr, 0) | ||
1047 | pcm[0] = SHIFT(-MLZ(hi, lo)); | ||
1048 | } | ||
1049 | |||
1050 | pcm += 16; | ||
1051 | phase = (phase + 1) % 16; | ||
1052 | } | ||
1053 | } | ||
1054 | } | ||
1055 | # endif /* FPM_COLDFIRE_EMAC, FPM_ARM */ | ||
1056 | |||
1057 | #if 0 /* rockbox: unused */ | ||
1058 | /* | ||
1059 | * NAME: synth->half() | ||
1060 | * DESCRIPTION: perform half frequency PCM synthesis | ||
1061 | */ | ||
1062 | static | ||
1063 | void synth_half(struct mad_synth *synth, struct mad_frame const *frame, | ||
1064 | unsigned int nch, unsigned int ns) | ||
1065 | { | ||
1066 | unsigned int phase, ch, s, sb, pe, po; | ||
1067 | mad_fixed_t *pcm1, *pcm2, (*filter)[2][2][16][8]; | ||
1068 | mad_fixed_t (*sbsample)[36][32]; | ||
1069 | register mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8]; | ||
1070 | register mad_fixed_t const (*Dptr)[32], *ptr; | ||
1071 | register mad_fixed64hi_t hi; | ||
1072 | register mad_fixed64lo_t lo; | ||
1073 | |||
1074 | for (ch = 0; ch < nch; ++ch) { | ||
1075 | sbsample = &(*frame->sbsample_prev)[ch]; | ||
1076 | filter = &synth->filter[ch]; | ||
1077 | phase = synth->phase; | ||
1078 | pcm1 = synth->pcm.samples[ch]; | ||
1079 | |||
1080 | for (s = 0; s < ns; ++s) { | ||
1081 | dct32((*sbsample)[s], phase >> 1, | ||
1082 | (*filter)[0][phase & 1], (*filter)[1][phase & 1]); | ||
1083 | |||
1084 | pe = phase & ~1; | ||
1085 | po = ((phase - 1) & 0xf) | 1; | ||
1086 | |||
1087 | /* calculate 16 samples */ | ||
1088 | |||
1089 | fe = &(*filter)[0][ phase & 1][0]; | ||
1090 | fx = &(*filter)[0][~phase & 1][0]; | ||
1091 | fo = &(*filter)[1][~phase & 1][0]; | ||
1092 | |||
1093 | Dptr = &D[0]; | ||
1094 | |||
1095 | ptr = *Dptr + po; | ||
1096 | ML0(hi, lo, (*fx)[0], ptr[ 0]); | ||
1097 | MLA(hi, lo, (*fx)[1], ptr[14]); | ||
1098 | MLA(hi, lo, (*fx)[2], ptr[12]); | ||
1099 | MLA(hi, lo, (*fx)[3], ptr[10]); | ||
1100 | MLA(hi, lo, (*fx)[4], ptr[ 8]); | ||
1101 | MLA(hi, lo, (*fx)[5], ptr[ 6]); | ||
1102 | MLA(hi, lo, (*fx)[6], ptr[ 4]); | ||
1103 | MLA(hi, lo, (*fx)[7], ptr[ 2]); | ||
1104 | MLN(hi, lo); | ||
1105 | |||
1106 | ptr = *Dptr + pe; | ||
1107 | MLA(hi, lo, (*fe)[0], ptr[ 0]); | ||
1108 | MLA(hi, lo, (*fe)[1], ptr[14]); | ||
1109 | MLA(hi, lo, (*fe)[2], ptr[12]); | ||
1110 | MLA(hi, lo, (*fe)[3], ptr[10]); | ||
1111 | MLA(hi, lo, (*fe)[4], ptr[ 8]); | ||
1112 | MLA(hi, lo, (*fe)[5], ptr[ 6]); | ||
1113 | MLA(hi, lo, (*fe)[6], ptr[ 4]); | ||
1114 | MLA(hi, lo, (*fe)[7], ptr[ 2]); | ||
1115 | |||
1116 | *pcm1++ = SHIFT(MLZ(hi, lo)); | ||
1117 | |||
1118 | pcm2 = pcm1 + 14; | ||
1119 | |||
1120 | for (sb = 1; sb < 16; ++sb) { | ||
1121 | ++fe; | ||
1122 | ++Dptr; | ||
1123 | |||
1124 | /* D[32 - sb][i] == -D[sb][31 - i] */ | ||
1125 | |||
1126 | if (!(sb & 1)) { | ||
1127 | ptr = *Dptr + po; | ||
1128 | ML0(hi, lo, (*fo)[0], ptr[ 0]); | ||
1129 | MLA(hi, lo, (*fo)[1], ptr[14]); | ||
1130 | MLA(hi, lo, (*fo)[2], ptr[12]); | ||
1131 | MLA(hi, lo, (*fo)[3], ptr[10]); | ||
1132 | MLA(hi, lo, (*fo)[4], ptr[ 8]); | ||
1133 | MLA(hi, lo, (*fo)[5], ptr[ 6]); | ||
1134 | MLA(hi, lo, (*fo)[6], ptr[ 4]); | ||
1135 | MLA(hi, lo, (*fo)[7], ptr[ 2]); | ||
1136 | MLN(hi, lo); | ||
1137 | |||
1138 | ptr = *Dptr + pe; | ||
1139 | MLA(hi, lo, (*fe)[7], ptr[ 2]); | ||
1140 | MLA(hi, lo, (*fe)[6], ptr[ 4]); | ||
1141 | MLA(hi, lo, (*fe)[5], ptr[ 6]); | ||
1142 | MLA(hi, lo, (*fe)[4], ptr[ 8]); | ||
1143 | MLA(hi, lo, (*fe)[3], ptr[10]); | ||
1144 | MLA(hi, lo, (*fe)[2], ptr[12]); | ||
1145 | MLA(hi, lo, (*fe)[1], ptr[14]); | ||
1146 | MLA(hi, lo, (*fe)[0], ptr[ 0]); | ||
1147 | |||
1148 | *pcm1++ = SHIFT(MLZ(hi, lo)); | ||
1149 | |||
1150 | ptr = *Dptr - po; | ||
1151 | ML0(hi, lo, (*fo)[7], ptr[31 - 2]); | ||
1152 | MLA(hi, lo, (*fo)[6], ptr[31 - 4]); | ||
1153 | MLA(hi, lo, (*fo)[5], ptr[31 - 6]); | ||
1154 | MLA(hi, lo, (*fo)[4], ptr[31 - 8]); | ||
1155 | MLA(hi, lo, (*fo)[3], ptr[31 - 10]); | ||
1156 | MLA(hi, lo, (*fo)[2], ptr[31 - 12]); | ||
1157 | MLA(hi, lo, (*fo)[1], ptr[31 - 14]); | ||
1158 | MLA(hi, lo, (*fo)[0], ptr[31 - 16]); | ||
1159 | |||
1160 | ptr = *Dptr - pe; | ||
1161 | MLA(hi, lo, (*fe)[0], ptr[31 - 16]); | ||
1162 | MLA(hi, lo, (*fe)[1], ptr[31 - 14]); | ||
1163 | MLA(hi, lo, (*fe)[2], ptr[31 - 12]); | ||
1164 | MLA(hi, lo, (*fe)[3], ptr[31 - 10]); | ||
1165 | MLA(hi, lo, (*fe)[4], ptr[31 - 8]); | ||
1166 | MLA(hi, lo, (*fe)[5], ptr[31 - 6]); | ||
1167 | MLA(hi, lo, (*fe)[6], ptr[31 - 4]); | ||
1168 | MLA(hi, lo, (*fe)[7], ptr[31 - 2]); | ||
1169 | |||
1170 | *pcm2-- = SHIFT(MLZ(hi, lo)); | ||
1171 | } | ||
1172 | |||
1173 | ++fo; | ||
1174 | } | ||
1175 | |||
1176 | ++Dptr; | ||
1177 | |||
1178 | ptr = *Dptr + po; | ||
1179 | ML0(hi, lo, (*fo)[0], ptr[ 0]); | ||
1180 | MLA(hi, lo, (*fo)[1], ptr[14]); | ||
1181 | MLA(hi, lo, (*fo)[2], ptr[12]); | ||
1182 | MLA(hi, lo, (*fo)[3], ptr[10]); | ||
1183 | MLA(hi, lo, (*fo)[4], ptr[ 8]); | ||
1184 | MLA(hi, lo, (*fo)[5], ptr[ 6]); | ||
1185 | MLA(hi, lo, (*fo)[6], ptr[ 4]); | ||
1186 | MLA(hi, lo, (*fo)[7], ptr[ 2]); | ||
1187 | |||
1188 | *pcm1 = SHIFT(-MLZ(hi, lo)); | ||
1189 | pcm1 += 8; | ||
1190 | |||
1191 | phase = (phase + 1) % 16; | ||
1192 | } | ||
1193 | } | ||
1194 | } | ||
1195 | #endif /* unused */ | ||
1196 | |||
1197 | /* | ||
1198 | * NAME: synth->frame() | ||
1199 | * DESCRIPTION: perform PCM synthesis of frame subband samples | ||
1200 | */ | ||
1201 | void mad_synth_frame(struct mad_synth *synth, struct mad_frame const *frame) | ||
1202 | { | ||
1203 | unsigned int nch, ns; | ||
1204 | #if 0 /* rockbox: unused */ | ||
1205 | void (*synth_frame)(struct mad_synth *, struct mad_frame const *, | ||
1206 | unsigned int, unsigned int); | ||
1207 | #endif | ||
1208 | |||
1209 | nch = MAD_NCHANNELS(&frame->header); | ||
1210 | ns = MAD_NSBSAMPLES(&frame->header); | ||
1211 | |||
1212 | synth->pcm.samplerate = frame->header.samplerate; | ||
1213 | synth->pcm.channels = nch; | ||
1214 | synth->pcm.length = 32 * ns; | ||
1215 | |||
1216 | #if 0 /* rockbox: unused */ | ||
1217 | synth_frame = synth_full; | ||
1218 | |||
1219 | if (frame->options & MAD_OPTION_HALFSAMPLERATE) { | ||
1220 | synth->pcm.samplerate /= 2; | ||
1221 | synth->pcm.length /= 2; | ||
1222 | |||
1223 | synth_frame = synth_half; | ||
1224 | } | ||
1225 | |||
1226 | synth_frame(synth, frame, nch, ns); | ||
1227 | #else | ||
1228 | synth_full(synth, frame, nch, ns); | ||
1229 | #endif | ||
1230 | |||
1231 | synth->phase = (synth->phase + ns) % 16; | ||
1232 | } | ||
diff --git a/lib/rbcodec/codecs/libmad/synth.h b/lib/rbcodec/codecs/libmad/synth.h new file mode 100644 index 0000000000..93dd3946d4 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/synth.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /* | ||
2 | * libmad - MPEG audio decoder library | ||
3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | * | ||
19 | * $Id$ | ||
20 | */ | ||
21 | |||
22 | # ifndef LIBMAD_SYNTH_H | ||
23 | # define LIBMAD_SYNTH_H | ||
24 | |||
25 | # include "fixed.h" | ||
26 | # include "frame.h" | ||
27 | |||
28 | struct mad_pcm { | ||
29 | unsigned int samplerate; /* sampling frequency (Hz) */ | ||
30 | unsigned short channels; /* number of channels */ | ||
31 | unsigned short length; /* number of samples per channel */ | ||
32 | mad_fixed_t samples[2][1152] MEM_ALIGN_ATTR; /* PCM output samples [ch][sample] */ | ||
33 | }; | ||
34 | |||
35 | struct mad_synth { | ||
36 | mad_fixed_t filter[2][2][2][16][8] MEM_ALIGN_ATTR; /* polyphase filterbank outputs */ | ||
37 | /* [ch][eo][peo][s][v] */ | ||
38 | |||
39 | unsigned int phase; /* current processing phase */ | ||
40 | |||
41 | struct mad_pcm pcm; /* PCM output */ | ||
42 | }; | ||
43 | |||
44 | void mad_synth_init(struct mad_synth *); | ||
45 | |||
46 | # define mad_synth_finish(synth) /* nothing */ | ||
47 | |||
48 | void mad_synth_mute(struct mad_synth *); | ||
49 | |||
50 | void mad_synth_frame(struct mad_synth *, struct mad_frame const *); | ||
51 | |||
52 | # endif | ||
diff --git a/lib/rbcodec/codecs/libmad/synth_full_arm.S b/lib/rbcodec/codecs/libmad/synth_full_arm.S new file mode 100644 index 0000000000..0a4f9b93c2 --- /dev/null +++ b/lib/rbcodec/codecs/libmad/synth_full_arm.S | |||
@@ -0,0 +1,340 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2007 by Tomasz Malesinski | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | |||
22 | #include "config.h" | ||
23 | #include "mad_iram.h" | ||
24 | |||
25 | .section ICODE_SECTION_MPA_ARM,"ax",%progbits | ||
26 | |||
27 | .global synth_full_odd_sbsample | ||
28 | .global synth_full_even_sbsample | ||
29 | |||
30 | /* | ||
31 | ;; r0 = pcm (pushed on the stack to free a register) | ||
32 | ;; r1 = fo | ||
33 | ;; r2 = fe | ||
34 | ;; r3 = D0ptr | ||
35 | ;; r4 = D1ptr | ||
36 | |||
37 | ;; r5 = loop counter | ||
38 | ;; r6,r7 accumulator1 | ||
39 | ;; r8,r9 accumulator2 | ||
40 | */ | ||
41 | |||
42 | synth_full_odd_sbsample: | ||
43 | stmdb sp!, {r0, r4-r11, lr} | ||
44 | ldr r4, [sp, #40] | ||
45 | mov r5, #15 | ||
46 | add r2, r2, #32 | ||
47 | .l: | ||
48 | /* ;; PROD_O and odd half of SB_SAMPLE*/ | ||
49 | add r3, r3, #128 | ||
50 | add r4, r4, #128 | ||
51 | ldr r7, [r3, #4] | ||
52 | ldmia r1!, {r0, r10, r11, lr} | ||
53 | ldr r9, [r4, #120] | ||
54 | smull r6, r7, r0, r7 | ||
55 | ldr r12, [r3, #60] | ||
56 | smull r8, r9, r0, r9 | ||
57 | ldr r0, [r3, #52] | ||
58 | smlal r6, r7, r10, r12 | ||
59 | ldr r12, [r3, #44] | ||
60 | smlal r6, r7, r11, r0 | ||
61 | ldr r0, [r4, #64] | ||
62 | smlal r6, r7, lr, r12 | ||
63 | ldr r12, [r4, #72] | ||
64 | smlal r8, r9, r10, r0 | ||
65 | ldr r0, [r4, #80] | ||
66 | smlal r8, r9, r11, r12 | ||
67 | smlal r8, r9, lr, r0 | ||
68 | ldr r0, [r3, #36] | ||
69 | |||
70 | ldmia r1!, {r10, r11, r12, lr} | ||
71 | smlal r6, r7, r10, r0 | ||
72 | |||
73 | ldr r0, [r4, #88] /*;;1 cycle stall on arm9, but we free up r10*/ | ||
74 | smlal r8, r9, r10, r0 | ||
75 | |||
76 | ldr r0, [r3, #28] | ||
77 | ldr r10, [r3, #20] | ||
78 | smlal r6, r7, r11, r0 | ||
79 | ldr r0, [r3, #12] | ||
80 | smlal r6, r7, r12, r10 | ||
81 | ldr r10, [r4, #96] | ||
82 | smlal r6, r7, lr, r0 | ||
83 | ldr r0, [r4, #104] | ||
84 | smlal r8, r9, r11, r10 | ||
85 | ldr r10, [r4, #112] | ||
86 | smlal r8, r9, r12, r0 | ||
87 | smlal r8, r9, lr, r10 | ||
88 | |||
89 | rsbs r6, r6, #0 | ||
90 | rsc r7, r7, #0 | ||
91 | |||
92 | /* ;; PROD_A and even half of SB_SAMPLE*/ | ||
93 | ldr r0, [r3, #0] | ||
94 | ldmia r2!, {r10, r11, r12, lr} | ||
95 | smlal r6, r7, r10, r0 | ||
96 | |||
97 | ldr r0, [r4, #60] /*;;1 cycle stall on arm9, but we free up r10*/ | ||
98 | smlal r8, r9, r10, r0 | ||
99 | ldr r10, [r3, #56] | ||
100 | ldr r0, [r3, #48] | ||
101 | smlal r6, r7, r11, r10 | ||
102 | ldr r10, [r3, #40] | ||
103 | smlal r6, r7, r12, r0 | ||
104 | ldr r0, [r4, #68] | ||
105 | smlal r6, r7, lr, r10 | ||
106 | ldr r10, [r4, #76] | ||
107 | smlal r8, r9, r11, r0 | ||
108 | ldr r0, [r4, #84] | ||
109 | smlal r8, r9, r12, r10 | ||
110 | smlal r8, r9, lr, r0 | ||
111 | |||
112 | ldr r0, [r3, #32] | ||
113 | ldmia r2!, {r10, r11, r12, lr} | ||
114 | smlal r6, r7, r10, r0 | ||
115 | |||
116 | ldr r0, [r4, #92] /*;;1 cycle stall on arm9, but we free up r10*/ | ||
117 | smlal r8, r9, r10, r0 | ||
118 | |||
119 | ldr r0, [r3, #24] | ||
120 | ldr r10, [r3, #16] | ||
121 | smlal r6, r7, r11, r0 | ||
122 | ldr r0, [r3, #8] | ||
123 | smlal r6, r7, r12, r10 | ||
124 | ldr r10, [r4, #100] | ||
125 | smlal r6, r7, lr, r0 | ||
126 | ldr r0, [r4, #108] | ||
127 | smlal r8, r9, r11, r10 | ||
128 | ldr r10, [r4, #116] | ||
129 | smlal r8, r9, r12, r0 | ||
130 | smlal r8, r9, lr, r10 | ||
131 | |||
132 | ldr r0, [sp] | ||
133 | |||
134 | movs r6, r6, lsr #16 | ||
135 | adc r6, r6, r7, lsl #16 | ||
136 | str r6, [r0, -r5, lsl #2] | ||
137 | |||
138 | movs r8, r8, lsr #16 | ||
139 | adc r8, r8, r9, lsl #16 | ||
140 | str r8, [r0, r5, lsl #2] | ||
141 | |||
142 | subs r5, r5, #1 | ||
143 | bne .l | ||
144 | |||
145 | ldmpc regs="r0,r4-r11" | ||
146 | |||
147 | synth_full_even_sbsample: | ||
148 | stmdb sp!, {r0, r4-r11, lr} | ||
149 | ldr r4, [sp, #40] | ||
150 | mov r5, #15 | ||
151 | add r2, r2, #32 | ||
152 | .l2: | ||
153 | /* ;; PROD_O and odd half of SB_SAMPLE*/ | ||
154 | add r3, r3, #128 | ||
155 | add r4, r4, #128 | ||
156 | ldr r7, [r3, #0] | ||
157 | ldmia r1!, {r0, r10, r11, lr} | ||
158 | ldr r9, [r4, #60] | ||
159 | smull r6, r7, r0, r7 | ||
160 | ldr r12, [r3, #56] | ||
161 | smull r8, r9, r0, r9 | ||
162 | ldr r0, [r3, #48] | ||
163 | smlal r6, r7, r10, r12 | ||
164 | ldr r12, [r3, #40] | ||
165 | smlal r6, r7, r11, r0 | ||
166 | ldr r0, [r4, #68] | ||
167 | smlal r6, r7, lr, r12 | ||
168 | |||
169 | ldr r12, [r4, #76] | ||
170 | smlal r8, r9, r10, r0 | ||
171 | ldr r0, [r4, #84] | ||
172 | smlal r8, r9, r11, r12 | ||
173 | smlal r8, r9, lr, r0 | ||
174 | |||
175 | ldr r0, [r3, #32] | ||
176 | ldmia r1!, {r10, r11, r12, lr} | ||
177 | |||
178 | smlal r6, r7, r10, r0 | ||
179 | ldr r0, [r4, #92] | ||
180 | smlal r8, r9, r10, r0 | ||
181 | ldr r0, [r3, #24] | ||
182 | ldr r10, [r3, #16] | ||
183 | smlal r6, r7, r11, r0 | ||
184 | ldr r0, [r3, #8] | ||
185 | smlal r6, r7, r12, r10 | ||
186 | ldr r10, [r4, #100] | ||
187 | smlal r6, r7, lr, r0 | ||
188 | ldr r0, [r4, #108] | ||
189 | smlal r8, r9, r11, r10 | ||
190 | ldr r10, [r4, #116] | ||
191 | smlal r8, r9, r12, r0 | ||
192 | smlal r8, r9, lr, r10 | ||
193 | |||
194 | rsbs r6, r6, #0 | ||
195 | rsc r7, r7, #0 | ||
196 | |||
197 | ldr r0, [r3, #4] | ||
198 | ldmia r2!, {r10, r11, r12, lr} | ||
199 | smlal r6, r7, r10, r0 | ||
200 | ldr r0, [r4, #120] /*;;1 cycle stall on arm9, but we free up r10*/ | ||
201 | smlal r8, r9, r10, r0 | ||
202 | ldr r0, [r3, #60] | ||
203 | ldr r10, [r3, #52] | ||
204 | smlal r6, r7, r11, r0 | ||
205 | ldr r0, [r3, #44] | ||
206 | smlal r6, r7, r12, r10 | ||
207 | ldr r10, [r4, #64] | ||
208 | smlal r6, r7, lr, r0 | ||
209 | |||
210 | ldr r0, [r4, #72] | ||
211 | smlal r8, r9, r11, r10 | ||
212 | ldr r10, [r4, #80] | ||
213 | smlal r8, r9, r12, r0 | ||
214 | |||
215 | smlal r8, r9, lr, r10 | ||
216 | |||
217 | ldr r0, [r3, #36] | ||
218 | ldmia r2!, {r10, r11, r12, lr} | ||
219 | smlal r6, r7, r10, r0 | ||
220 | ldr r0, [r4, #88] /*;;1 cycle stall on arm9, but we free up r10*/ | ||
221 | smlal r8, r9, r10, r0 | ||
222 | |||
223 | ldr r0, [r3, #28] | ||
224 | ldr r10, [r3, #20] | ||
225 | smlal r6, r7, r11, r0 | ||
226 | ldr r0, [r3, #12] | ||
227 | smlal r6, r7, r12, r10 | ||
228 | ldr r10, [r4, #96] | ||
229 | smlal r6, r7, lr, r0 | ||
230 | ldr r0, [r4, #104] | ||
231 | smlal r8, r9, r11, r10 | ||
232 | ldr r10, [r4, #112] | ||
233 | smlal r8, r9, r12, r0 | ||
234 | smlal r8, r9, lr, r10 | ||
235 | |||
236 | ldr r0, [sp] | ||
237 | |||
238 | movs r6, r6, lsr #16 | ||
239 | adc r6, r6, r7, lsl #16 | ||
240 | str r6, [r0, -r5, lsl #2] | ||
241 | |||
242 | movs r8, r8, lsr #16 | ||
243 | adc r8, r8, r9, lsl #16 | ||
244 | str r8, [r0, r5, lsl #2] | ||
245 | |||
246 | subs r5, r5, #1 | ||
247 | bne .l2 | ||
248 | |||
249 | ldmpc regs="r0,r4-r11" | ||
250 | |||
251 | .global III_aliasreduce | ||
252 | |||
253 | III_aliasreduce: | ||
254 | stmdb sp!, {r4-r11, lr} | ||
255 | add r1, r0, r1, lsl #2 | ||
256 | add r0, r0, #72 | ||
257 | .arl1: | ||
258 | mov r2, #8 | ||
259 | mov r3, r0 @ a | ||
260 | mov r4, r0 @ b | ||
261 | ldr r5, =csa @ cs/ca | ||
262 | .arl2: | ||
263 | ldmdb r3, {r6, r12} | ||
264 | ldmia r4, {r7, lr} | ||
265 | |||
266 | ldmia r5!, {r8, r9} | ||
267 | smull r10, r11, r7, r8 | ||
268 | smlal r10, r11, r12, r9 | ||
269 | movs r10, r10, lsr #28 | ||
270 | adc r10, r10, r11, lsl #4 | ||
271 | |||
272 | rsb r7, r7, #0 | ||
273 | smull r11, r8, r12, r8 | ||
274 | smlal r11, r8, r7, r9 | ||
275 | movs r11, r11, lsr #28 | ||
276 | adc r11, r11, r8, lsl #4 | ||
277 | |||
278 | ldmia r5!, {r8, r9} | ||
279 | smull r12, r7, lr, r8 | ||
280 | smlal r12, r7, r6, r9 | ||
281 | movs r12, r12, lsr #28 | ||
282 | adc r12, r12, r7, lsl #4 | ||
283 | stmia r4!, {r10, r12} | ||
284 | |||
285 | rsb lr, lr, #0 | ||
286 | smull r7, r10, r6, r8 | ||
287 | smlal r7, r10, lr, r9 | ||
288 | movs r7, r7, lsr #28 | ||
289 | adc r7, r7, r10, lsl #4 | ||
290 | stmdb r3!, {r7, r11} | ||
291 | |||
292 | subs r2, r2, #2 | ||
293 | bne .arl2 | ||
294 | add r0, r0, #72 | ||
295 | cmp r0, r1 | ||
296 | blo .arl1 | ||
297 | ldmpc regs=r4-r11 | ||
298 | |||
299 | csa: | ||
300 | .word +0x0db84a81 | ||
301 | .word -0x083b5fe7 | ||
302 | .word +0x0e1b9d7f | ||
303 | .word -0x078c36d2 | ||
304 | .word +0x0f31adcf | ||
305 | .word -0x05039814 | ||
306 | .word +0x0fbba815 | ||
307 | .word -0x02e91dd1 | ||
308 | .word +0x0feda417 | ||
309 | .word -0x0183603a | ||
310 | .word +0x0ffc8fc8 | ||
311 | .word -0x00a7cb87 | ||
312 | .word +0x0fff964c | ||
313 | .word -0x003a2847 | ||
314 | .word +0x0ffff8d3 | ||
315 | .word -0x000f27b4 | ||
316 | |||
317 | .global III_overlap | ||
318 | III_overlap: | ||
319 | stmdb sp!, {r4-r7, lr} | ||
320 | add r2, r2, r3, lsl #2 | ||
321 | mov r3, #6 | ||
322 | .ol: | ||
323 | ldmia r0!, {r4, r5, r6} | ||
324 | ldmia r1!, {r7, r12, lr} | ||
325 | add r4, r4, r7 | ||
326 | add r5, r5, r12 | ||
327 | add r6, r6, lr | ||
328 | str r4, [r2], #128 | ||
329 | str r5, [r2], #128 | ||
330 | str r6, [r2], #128 | ||
331 | subs r3, r3, #1 | ||
332 | bne .ol | ||
333 | sub r1, r1, #72 | ||
334 | ldmia r0!, {r4, r5, r6, r7, r12, lr} | ||
335 | stmia r1!, {r4, r5, r6, r7, r12, lr} | ||
336 | ldmia r0!, {r4, r5, r6, r7, r12, lr} | ||
337 | stmia r1!, {r4, r5, r6, r7, r12, lr} | ||
338 | ldmia r0!, {r4, r5, r6, r7, r12, lr} | ||
339 | stmia r1!, {r4, r5, r6, r7, r12, lr} | ||
340 | ldmpc regs=r4-r7 | ||