blob: d6b04b57da761024a2012196ded10f513ade7070 [file] [log] [blame]
Jingwei Zhang5d4f0e62014-10-31 18:29:18 +08001/*
2Copyright (c) 2014, Intel Corporation
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions are met:
7
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10
11 * Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14
15 * Neither the name of Intel Corporation nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18
19THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
23ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29*/
30
31/******************************************************************************/
32/******************************************************************************/
33// ALGORITHM DESCRIPTION
34// ---------------------
35//
36// sinh(x)=(exp(x)-exp(-x))/2
37//
38// Let |x|=xH+xL (upper 26 bits, lower 27 bits)
39// log2(e) rounded to 26 bits (high part) plus a double precision low part is
40// L2EH+L2EL (upper 26, lower 53 bits)
41//
42// Let xH*L2EH=k+f+r`, where (k+f)*2^7=int(xH*L2EH*2^7),
43// f=0.b1 b2 ... b7, k integer
44// 2^f is approximated as Tp[f]+Dp[f], and 2^{-f} as Tn[f]+Dn[f]
45// Tp stores the high 53 bits, Dp stores (2^f-Tp[f]) rounded to double precision
46//
47// e^|x|=2^{k+f}*2^r, r=r`+xL*L2EH+|x|*L2EL, |r|<2^{-8}+2^{-14},
48// for |x| in [23/64,3*2^7)
49// e^{-|x|}=2^{-k-f}*2^{-r}
50//
51// e^|x| is approximated as 2^k*Tp+2^k*Tp*c1*r(1+c2*r+..+c5*r^4)+2^k*Dp=
52// =2^k*Tp+2^k*Tp*P15+2^k*Dp
53// e^{-|x|} approximated as 2^{-k}*Tn-2^{-k}*Tn*c1*r(1-c2*r+..+c5*r^4)+2^{-k}*Dn
54//
55// For |x| in [1/8, 3*2^7), sinh(x) is formed as
56// RN(2^k*Tp-2^{-k}*Tn)+2^k*Tp*P15-2^{-k}*Tn*P`15-2^{-k}*TnL-2^{-k}*Dn+2^k*Dp
57//
58// For x in (3*2^7, 3*2^8), sign(x)*(e^|x|)/2 is returned, and
59// the result is checked for overflow.
60//
61// For |x|<23/64, a Taylor polynomial expansion is used (degree 13)
62// To reduce rounding errors, the p3*x^3 term is computed as
63// (p3*xh^3)_high+[(p3*xl*(3*x*xh+xl^2))+(p3*xh^3)_low],
64// where x=xh+xl, (xh are the leading 17 bits of x), and
65// (p3*xh^3)_high=RN(x+p3*xh^3)-x
66// (error bound for polynomial expansion is below 0.51 ulp)
67//
68// Special cases:
69// sinh(NaN) = quiet NaN, and raise invalid exception
70// sinh(+/-INF) = +/-INF
71// sinh(x) = x for subnormals
72// for finite argument, only sinh(0)=0 is exact
73// For IEEE double
74// sinh(x) overflows for x >
75// 710.47586007394386342639336362481117248535156250 = MAXLOG+log(2)
76//
77/******************************************************************************/
78
79#include <private/bionic_asm.h>
80# -- Begin static_func
81 .text
82 .align __bionic_asm_align
83 .type static_func, @function
84static_func:
85..B1.1:
86 call ..L2
87..L2:
88 popl %eax
89 lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax
90 lea static_const_table@GOTOFF(%eax), %eax
91 ret
92 .size static_func,.-static_func
93# -- End static_func
94
95# -- Begin sinh
96ENTRY(sinh)
97# parameter 1: 8 + %ebp
98..B2.1:
99..B2.2:
100 pushl %ebp
101 movl %esp, %ebp
102 subl $104, %esp
103 movl %ebx, 40(%esp)
104 call static_func
105 movl %eax, %ebx
106 movsd 112(%esp), %xmm0
107 movsd 4272(%ebx), %xmm3
108 xorpd %xmm4, %xmm4
109 movsd 4192(%ebx), %xmm1
110 movsd 4200(%ebx), %xmm2
111 movl $32768, %eax
112 pinsrw $3, %eax, %xmm4
113 movsd 4096(%ebx), %xmm6
114 pextrw $3, %xmm0, %ecx
115 andpd %xmm0, %xmm3
116 andnpd %xmm0, %xmm4
117 pshufd $68, %xmm4, %xmm5
118 movl $32768, %edx
119 andl %ecx, %edx
120 andl $32767, %ecx
121 subl $16343, %ecx
122 cmpl $177, %ecx
123 jae .L_2TAG_PACKET_0.0.2
124 subsd %xmm3, %xmm4
125 mulsd %xmm1, %xmm3
126 mulsd %xmm5, %xmm2
127 cvtsd2si %xmm3, %eax
128 shll $3, %edx
129 orl %edx, %eax
130 movapd %xmm3, %xmm7
131 addsd %xmm6, %xmm3
132 mulsd %xmm4, %xmm1
133 xorpd %xmm5, %xmm5
134 subsd %xmm6, %xmm3
135 movapd 4112(%ebx), %xmm4
136 addsd %xmm1, %xmm2
137 movapd 4128(%ebx), %xmm6
138 subsd %xmm3, %xmm7
139 movl $32704, %edx
140 pinsrw $3, %edx, %xmm5
141 movapd 4144(%ebx), %xmm1
142 addsd %xmm7, %xmm2
143 movl $127, %edx
144 andl %eax, %edx
145 addl %edx, %edx
146 shrl $3, %eax
147 andl $65520, %eax
148 addl $16352, %eax
149 xorpd %xmm0, %xmm0
150 cmpl $161, %ecx
151 jae .L_2TAG_PACKET_1.0.2
152 pshufd $68, %xmm5, %xmm5
153 pinsrw $3, %eax, %xmm0
154 pshufd $68, %xmm0, %xmm0
155 psubw %xmm0, %xmm5
156 mulpd (%ebx,%edx,8), %xmm0
157 mulpd 2048(%ebx,%edx,8), %xmm5
158 pshufd $68, %xmm2, %xmm3
159 movapd 4160(%ebx), %xmm7
160 pshufd $68, %xmm2, %xmm2
161 mulpd %xmm3, %xmm3
162 mulpd %xmm2, %xmm4
163 mulpd %xmm2, %xmm6
164 mulpd 4176(%ebx), %xmm2
165 mulpd %xmm3, %xmm1
166 mulpd %xmm3, %xmm7
167 mulpd %xmm3, %xmm4
168 mulpd %xmm3, %xmm1
169 addpd %xmm7, %xmm6
170 movapd %xmm0, %xmm7
171 addpd %xmm1, %xmm4
172 shufpd $0, %xmm5, %xmm7
173 subpd %xmm5, %xmm0
174 mulpd %xmm7, %xmm2
175 addpd %xmm6, %xmm4
176 subsd %xmm0, %xmm7
177 mulpd %xmm2, %xmm4
178 pshufd $238, %xmm0, %xmm6
179 subsd %xmm5, %xmm7
180 addpd %xmm2, %xmm4
181 addsd %xmm6, %xmm7
182 pshufd $238, %xmm4, %xmm2
183 addsd %xmm7, %xmm2
184 addsd %xmm4, %xmm2
185 addsd %xmm2, %xmm0
186 jmp .L_2TAG_PACKET_2.0.2
187.L_2TAG_PACKET_1.0.2:
188 subl $16352, %eax
189 movl %eax, %ecx
190 andl $32752, %eax
191 shrl $1, %eax
192 andl $65520, %eax
193 subl %eax, %ecx
194 addl $16352, %eax
195 pinsrw $3, %eax, %xmm0
196 pshufd $68, %xmm0, %xmm0
197 mulpd (%ebx,%edx,8), %xmm0
198 pshufd $68, %xmm2, %xmm3
199 movsd 4160(%ebx), %xmm7
200 mulsd %xmm3, %xmm3
201 mulsd %xmm2, %xmm4
202 mulsd %xmm2, %xmm6
203 mulsd 4176(%ebx), %xmm2
204 mulsd %xmm3, %xmm1
205 mulsd %xmm3, %xmm7
206 mulsd %xmm3, %xmm4
207 addl $16368, %ecx
208 pinsrw $3, %ecx, %xmm5
209 mulsd %xmm3, %xmm1
210 addsd %xmm7, %xmm6
211 addsd %xmm1, %xmm4
212 mulsd %xmm0, %xmm2
213 addsd %xmm6, %xmm4
214 mulsd %xmm2, %xmm4
215 pshufd $238, %xmm0, %xmm6
216 addsd %xmm6, %xmm4
217 addsd %xmm4, %xmm2
218 addsd %xmm2, %xmm0
219 mulsd %xmm5, %xmm0
220 pextrw $3, %xmm0, %eax
221 andl $32752, %eax
222 movl $127, %edx
223 cmpl $32752, %eax
224 je .L_2TAG_PACKET_3.0.2
225 jmp .L_2TAG_PACKET_2.0.2
226.L_2TAG_PACKET_0.0.2:
227 addl $16343, %ecx
228 cmpl $16343, %ecx
229 ja .L_2TAG_PACKET_4.0.2
230 cmpl $15856, %ecx
231 jb .L_2TAG_PACKET_5.0.2
232 movapd 4208(%ebx), %xmm1
233 pshufd $68, %xmm0, %xmm6
234 mulpd %xmm5, %xmm5
235 movapd 4224(%ebx), %xmm2
236 pshufd $68, %xmm0, %xmm7
237 movapd 4240(%ebx), %xmm3
238 pshufd $68, %xmm0, %xmm4
239 andpd 4256(%ebx), %xmm6
240 mulpd %xmm5, %xmm1
241 mulsd %xmm5, %xmm2
242 subpd %xmm6, %xmm4
243 mulpd %xmm5, %xmm7
244 addpd %xmm3, %xmm1
245 pshufd $68, %xmm6, %xmm3
246 mulpd %xmm5, %xmm5
247 mulsd %xmm7, %xmm2
248 mulpd %xmm7, %xmm1
249 pshufd $68, %xmm0, %xmm7
250 mulsd %xmm6, %xmm6
251 addsd %xmm7, %xmm7
252 mulsd %xmm4, %xmm4
253 mulpd %xmm5, %xmm1
254 addsd %xmm0, %xmm7
255 mulsd %xmm3, %xmm6
256 mulsd %xmm3, %xmm7
257 pshufd $238, %xmm1, %xmm3
258 mulsd %xmm5, %xmm1
259 pshufd $238, %xmm4, %xmm5
260 addsd %xmm2, %xmm3
261 pshufd $238, %xmm2, %xmm2
262 addsd %xmm4, %xmm7
263 movapd %xmm0, %xmm4
264 mulsd %xmm2, %xmm6
265 mulsd %xmm5, %xmm7
266 addsd %xmm6, %xmm0
267 mulsd %xmm2, %xmm7
268 subsd %xmm0, %xmm4
269 addsd %xmm7, %xmm1
270 addsd %xmm4, %xmm6
271 addsd %xmm3, %xmm1
272 addsd %xmm6, %xmm1
273 addsd %xmm1, %xmm0
274 jmp .L_2TAG_PACKET_2.0.2
275.L_2TAG_PACKET_5.0.2:
276 cmpl $16, %ecx
277 jae .L_2TAG_PACKET_6.0.2
278 movapd %xmm0, %xmm1
279 mulsd %xmm1, %xmm1
280 jmp .L_2TAG_PACKET_2.0.2
281.L_2TAG_PACKET_6.0.2:
282 xorpd %xmm2, %xmm2
283 movl $17392, %ecx
284 pinsrw $3, %ecx, %xmm2
285 xorpd %xmm3, %xmm3
286 movl $15344, %edx
287 pinsrw $3, %edx, %xmm3
288 mulsd %xmm0, %xmm2
289 addsd %xmm2, %xmm0
290 mulsd %xmm3, %xmm0
291 jmp .L_2TAG_PACKET_2.0.2
292.L_2TAG_PACKET_4.0.2:
293 cmpl $32752, %ecx
294 jae .L_2TAG_PACKET_7.0.2
295 xorpd %xmm0, %xmm0
296 movl $32736, %eax
297 pinsrw $3, %eax, %xmm0
298 orl %edx, %eax
299 pinsrw $3, %eax, %xmm1
300 mulsd %xmm1, %xmm0
301 movl $127, %edx
302.L_2TAG_PACKET_3.0.2:
303 movsd %xmm0, (%esp)
304 movsd 112(%esp), %xmm0
305 fldl (%esp)
306 jmp .L_2TAG_PACKET_8.0.2
307.L_2TAG_PACKET_7.0.2:
308 xorpd %xmm1, %xmm1
309 movl $32768, %eax
310 pinsrw $3, %eax, %xmm1
311 andnpd %xmm0, %xmm1
312 mulsd %xmm1, %xmm0
313 jmp .L_2TAG_PACKET_2.0.2
314.L_2TAG_PACKET_2.0.2:
315 movsd %xmm0, 24(%esp)
316 fldl 24(%esp)
317.L_2TAG_PACKET_8.0.2:
318 movl 40(%esp), %ebx
319 movl %ebp, %esp
320 popl %ebp
321 ret
322..B2.3:
323END(sinh)
324# -- End sinh
325
326# Start file scope ASM
Christopher Ferris995b8132015-03-13 17:43:52 -0700327ALIAS_SYMBOL(sinhl, sinh);
Jingwei Zhang5d4f0e62014-10-31 18:29:18 +0800328# End file scope ASM
329 .section .rodata, "a"
330 .align 16
331 .align 16
332static_const_table:
333 .long 0
334 .long 1072693248
335 .long 0
336 .long 0
337 .long 2851812149
338 .long 1072698941
339 .long 2595802551
340 .long 1016815913
341 .long 1048019041
342 .long 1072704666
343 .long 1398474845
344 .long 3161559171
345 .long 3899555717
346 .long 1072710421
347 .long 427280750
348 .long 3163595548
349 .long 3541402996
350 .long 1072716208
351 .long 2759177317
352 .long 1015903202
353 .long 702412510
354 .long 1072722027
355 .long 3803266087
356 .long 3163328991
357 .long 410360776
358 .long 1072727877
359 .long 1269990655
360 .long 1013024446
361 .long 3402036099
362 .long 1072733758
363 .long 405889334
364 .long 1016154232
365 .long 1828292879
366 .long 1072739672
367 .long 1255956747
368 .long 1016636974
369 .long 728909815
370 .long 1072745618
371 .long 383930225
372 .long 1016078044
373 .long 852742562
374 .long 1072751596
375 .long 667253586
376 .long 1010842135
377 .long 2952712987
378 .long 1072757606
379 .long 3293494651
380 .long 3161168877
381 .long 3490863953
382 .long 1072763649
383 .long 960797498
384 .long 3163997456
385 .long 3228316108
386 .long 1072769725
387 .long 3010241991
388 .long 3159471380
389 .long 2930322912
390 .long 1072775834
391 .long 2599499422
392 .long 3163762623
393 .long 3366293073
394 .long 1072781976
395 .long 3119426314
396 .long 1015169130
397 .long 1014845819
398 .long 1072788152
399 .long 3117910646
400 .long 3162607681
401 .long 948735466
402 .long 1072794361
403 .long 3516338028
404 .long 3163623459
405 .long 3949972341
406 .long 1072800603
407 .long 2068408548
408 .long 1015962444
409 .long 2214878420
410 .long 1072806880
411 .long 892270087
412 .long 3164164998
413 .long 828946858
414 .long 1072813191
415 .long 10642492
416 .long 1016988014
417 .long 586995997
418 .long 1072819536
419 .long 41662348
420 .long 3163676568
421 .long 2288159958
422 .long 1072825915
423 .long 2169144469
424 .long 1015924597
425 .long 2440944790
426 .long 1072832329
427 .long 2492769774
428 .long 1015196030
429 .long 1853186616
430 .long 1072838778
431 .long 3066496371
432 .long 1016705150
433 .long 1337108031
434 .long 1072845262
435 .long 3203724452
436 .long 1015726421
437 .long 1709341917
438 .long 1072851781
439 .long 2571168217
440 .long 1015201075
441 .long 3790955393
442 .long 1072858335
443 .long 2352942462
444 .long 3164228666
445 .long 4112506593
446 .long 1072864925
447 .long 2947355221
448 .long 1015419624
449 .long 3504003472
450 .long 1072871551
451 .long 3594001060
452 .long 3158379228
453 .long 2799960843
454 .long 1072878213
455 .long 1423655381
456 .long 1016070727
457 .long 2839424854
458 .long 1072884911
459 .long 1171596163
460 .long 1014090255
461 .long 171030293
462 .long 1072891646
463 .long 3526460132
464 .long 1015477354
465 .long 4232894513
466 .long 1072898416
467 .long 2383938684
468 .long 1015717095
469 .long 2992903935
470 .long 1072905224
471 .long 2218154406
472 .long 1016276769
473 .long 1603444721
474 .long 1072912069
475 .long 1548633640
476 .long 3163249902
477 .long 926591435
478 .long 1072918951
479 .long 3208833762
480 .long 3163962090
481 .long 1829099622
482 .long 1072925870
483 .long 1016661181
484 .long 3164509581
485 .long 887463927
486 .long 1072932827
487 .long 3596744163
488 .long 3161842742
489 .long 3272845541
490 .long 1072939821
491 .long 928852419
492 .long 3164536824
493 .long 1276261410
494 .long 1072946854
495 .long 300981948
496 .long 1015732745
497 .long 78413852
498 .long 1072953925
499 .long 4183226867
500 .long 3164065827
501 .long 569847338
502 .long 1072961034
503 .long 472945272
504 .long 3160339305
505 .long 3645941911
506 .long 1072968181
507 .long 3814685081
508 .long 3162621917
509 .long 1617004845
510 .long 1072975368
511 .long 82804944
512 .long 1011391354
513 .long 3978100823
514 .long 1072982593
515 .long 3513027190
516 .long 1016894539
517 .long 3049340112
518 .long 1072989858
519 .long 3062915824
520 .long 1014219171
521 .long 4040676318
522 .long 1072997162
523 .long 4090609238
524 .long 1016712034
525 .long 3577096743
526 .long 1073004506
527 .long 2951496418
528 .long 1014842263
529 .long 2583551245
530 .long 1073011890
531 .long 3161094195
532 .long 1016655067
533 .long 1990012071
534 .long 1073019314
535 .long 3529070563
536 .long 3163861769
537 .long 2731501122
538 .long 1073026778
539 .long 1774031855
540 .long 3163518597
541 .long 1453150082
542 .long 1073034283
543 .long 498154669
544 .long 3162536638
545 .long 3395129871
546 .long 1073041828
547 .long 4025345435
548 .long 3163383964
549 .long 917841882
550 .long 1073049415
551 .long 18715565
552 .long 1016707884
553 .long 3566716925
554 .long 1073057042
555 .long 1536826856
556 .long 1015191009
557 .long 3712504873
558 .long 1073064711
559 .long 88491949
560 .long 1016476236
561 .long 2321106615
562 .long 1073072422
563 .long 2171176610
564 .long 1010584347
565 .long 363667784
566 .long 1073080175
567 .long 813753950
568 .long 1016833785
569 .long 3111574537
570 .long 1073087969
571 .long 2606161479
572 .long 3163808322
573 .long 2956612997
574 .long 1073095806
575 .long 2118169751
576 .long 3163784129
577 .long 885834528
578 .long 1073103686
579 .long 1973258547
580 .long 3163310140
581 .long 2186617381
582 .long 1073111608
583 .long 2270764084
584 .long 3164321289
585 .long 3561793907
586 .long 1073119573
587 .long 1157054053
588 .long 1012938926
589 .long 1719614413
590 .long 1073127582
591 .long 330458198
592 .long 3164331316
593 .long 1963711167
594 .long 1073135634
595 .long 1744767757
596 .long 3161622870
597 .long 1013258799
598 .long 1073143730
599 .long 1748797611
600 .long 3161177658
601 .long 4182873220
602 .long 1073151869
603 .long 629542646
604 .long 3163044879
605 .long 3907805044
606 .long 1073160053
607 .long 2257091225
608 .long 3162598983
609 .long 1218806132
610 .long 1073168282
611 .long 1818613052
612 .long 3163597017
613 .long 1447192521
614 .long 1073176555
615 .long 1462857171
616 .long 3163563097
617 .long 1339972927
618 .long 1073184873
619 .long 167908909
620 .long 1016620728
621 .long 1944781191
622 .long 1073193236
623 .long 3993278767
624 .long 3162772855
625 .long 19972402
626 .long 1073201645
627 .long 3507899862
628 .long 1017057868
629 .long 919555682
630 .long 1073210099
631 .long 3121969534
632 .long 1013996802
633 .long 1413356050
634 .long 1073218599
635 .long 1651349291
636 .long 3163716742
637 .long 2571947539
638 .long 1073227145
639 .long 3558159064
640 .long 3164425245
641 .long 1176749997
642 .long 1073235738
643 .long 2738998779
644 .long 3163084420
645 .long 2604962541
646 .long 1073244377
647 .long 2614425274
648 .long 3164587768
649 .long 3649726105
650 .long 1073253063
651 .long 4085036346
652 .long 1016698050
653 .long 1110089947
654 .long 1073261797
655 .long 1451641639
656 .long 1016523249
657 .long 380978316
658 .long 1073270578
659 .long 854188970
660 .long 3161511262
661 .long 2568320822
662 .long 1073279406
663 .long 2732824428
664 .long 1015401491
665 .long 194117574
666 .long 1073288283
667 .long 777528612
668 .long 3164460665
669 .long 2966275557
670 .long 1073297207
671 .long 2176155324
672 .long 3160891335
673 .long 3418903055
674 .long 1073306180
675 .long 2527457337
676 .long 3161869180
677 .long 2682146384
678 .long 1073315202
679 .long 2082178513
680 .long 3164411995
681 .long 1892288442
682 .long 1073324273
683 .long 2446255666
684 .long 3163648957
685 .long 2191782032
686 .long 1073333393
687 .long 2960257726
688 .long 1014791238
689 .long 434316067
690 .long 1073342563
691 .long 2028358766
692 .long 1014506698
693 .long 2069751141
694 .long 1073351782
695 .long 1562170675
696 .long 3163773257
697 .long 3964284211
698 .long 1073361051
699 .long 2111583915
700 .long 1016475740
701 .long 2990417245
702 .long 1073370371
703 .long 3683467745
704 .long 3164417902
705 .long 321958744
706 .long 1073379742
707 .long 3401933767
708 .long 1016843134
709 .long 1434058175
710 .long 1073389163
711 .long 251133233
712 .long 1016134345
713 .long 3218338682
714 .long 1073398635
715 .long 3404164304
716 .long 3163525684
717 .long 2572866477
718 .long 1073408159
719 .long 878562433
720 .long 1016570317
721 .long 697153126
722 .long 1073417735
723 .long 1283515429
724 .long 3164331765
725 .long 3092190715
726 .long 1073427362
727 .long 814012168
728 .long 3160571998
729 .long 2380618042
730 .long 1073437042
731 .long 3149557219
732 .long 3164369375
733 .long 4076559943
734 .long 1073446774
735 .long 2119478331
736 .long 3161806927
737 .long 815859274
738 .long 1073456560
739 .long 240396590
740 .long 3164536019
741 .long 2420883922
742 .long 1073466398
743 .long 2049810052
744 .long 1015168464
745 .long 1540824585
746 .long 1073476290
747 .long 1064017011
748 .long 3164536266
749 .long 3716502172
750 .long 1073486235
751 .long 2303740125
752 .long 1015091301
753 .long 1610600570
754 .long 1073496235
755 .long 3766732298
756 .long 1016808759
757 .long 777507147
758 .long 1073506289
759 .long 4282924205
760 .long 1016236109
761 .long 2483480501
762 .long 1073516397
763 .long 1216371780
764 .long 1014082748
765 .long 3706687593
766 .long 1073526560
767 .long 3521726940
768 .long 1014301643
769 .long 1432208378
770 .long 1073536779
771 .long 1401068914
772 .long 3163412539
773 .long 1242007932
774 .long 1073547053
775 .long 1132034716
776 .long 3164388407
777 .long 135105010
778 .long 1073557383
779 .long 1906148728
780 .long 3164424315
781 .long 3707479175
782 .long 1073567768
783 .long 3613079303
784 .long 1015213314
785 .long 382305176
786 .long 1073578211
787 .long 2347622376
788 .long 3163627201
789 .long 64696965
790 .long 1073588710
791 .long 1768797490
792 .long 1016865536
793 .long 4076975200
794 .long 1073599265
795 .long 2029000899
796 .long 1016257111
797 .long 863738719
798 .long 1073609879
799 .long 1326992220
800 .long 3163661773
801 .long 351641897
802 .long 1073620550
803 .long 2172261526
804 .long 3164059175
805 .long 3884662774
806 .long 1073631278
807 .long 2158611599
808 .long 1015258761
809 .long 4224142467
810 .long 1073642065
811 .long 3389820386
812 .long 1016255778
813 .long 2728693978
814 .long 1073652911
815 .long 396109971
816 .long 3164511267
817 .long 764307441
818 .long 1073663816
819 .long 3021057420
820 .long 3164378099
821 .long 3999357479
822 .long 1073674779
823 .long 2258941616
824 .long 1016973300
825 .long 929806999
826 .long 1073685803
827 .long 3205336643
828 .long 1016308133
829 .long 1533953344
830 .long 1073696886
831 .long 769171851
832 .long 1016714209
833 .long 2912730644
834 .long 1073708029
835 .long 3490067722
836 .long 3164453650
837 .long 2174652632
838 .long 1073719233
839 .long 4087714590
840 .long 1015498835
841 .long 730821105
842 .long 1073730498
843 .long 2523232743
844 .long 1013115764
845 .long 0
846 .long 1072693248
847 .long 0
848 .long 0
849 .long 730821105
850 .long 1072681922
851 .long 2523232743
852 .long 1012067188
853 .long 2174652632
854 .long 1072670657
855 .long 4087714590
856 .long 1014450259
857 .long 2912730644
858 .long 1072659453
859 .long 3490067722
860 .long 3163405074
861 .long 1533953344
862 .long 1072648310
863 .long 769171851
864 .long 1015665633
865 .long 929806999
866 .long 1072637227
867 .long 3205336643
868 .long 1015259557
869 .long 3999357479
870 .long 1072626203
871 .long 2258941616
872 .long 1015924724
873 .long 764307441
874 .long 1072615240
875 .long 3021057420
876 .long 3163329523
877 .long 2728693978
878 .long 1072604335
879 .long 396109971
880 .long 3163462691
881 .long 4224142467
882 .long 1072593489
883 .long 3389820386
884 .long 1015207202
885 .long 3884662774
886 .long 1072582702
887 .long 2158611599
888 .long 1014210185
889 .long 351641897
890 .long 1072571974
891 .long 2172261526
892 .long 3163010599
893 .long 863738719
894 .long 1072561303
895 .long 1326992220
896 .long 3162613197
897 .long 4076975200
898 .long 1072550689
899 .long 2029000899
900 .long 1015208535
901 .long 64696965
902 .long 1072540134
903 .long 1768797490
904 .long 1015816960
905 .long 382305176
906 .long 1072529635
907 .long 2347622376
908 .long 3162578625
909 .long 3707479175
910 .long 1072519192
911 .long 3613079303
912 .long 1014164738
913 .long 135105010
914 .long 1072508807
915 .long 1906148728
916 .long 3163375739
917 .long 1242007932
918 .long 1072498477
919 .long 1132034716
920 .long 3163339831
921 .long 1432208378
922 .long 1072488203
923 .long 1401068914
924 .long 3162363963
925 .long 3706687593
926 .long 1072477984
927 .long 3521726940
928 .long 1013253067
929 .long 2483480501
930 .long 1072467821
931 .long 1216371780
932 .long 1013034172
933 .long 777507147
934 .long 1072457713
935 .long 4282924205
936 .long 1015187533
937 .long 1610600570
938 .long 1072447659
939 .long 3766732298
940 .long 1015760183
941 .long 3716502172
942 .long 1072437659
943 .long 2303740125
944 .long 1014042725
945 .long 1540824585
946 .long 1072427714
947 .long 1064017011
948 .long 3163487690
949 .long 2420883922
950 .long 1072417822
951 .long 2049810052
952 .long 1014119888
953 .long 815859274
954 .long 1072407984
955 .long 240396590
956 .long 3163487443
957 .long 4076559943
958 .long 1072398198
959 .long 2119478331
960 .long 3160758351
961 .long 2380618042
962 .long 1072388466
963 .long 3149557219
964 .long 3163320799
965 .long 3092190715
966 .long 1072378786
967 .long 814012168
968 .long 3159523422
969 .long 697153126
970 .long 1072369159
971 .long 1283515429
972 .long 3163283189
973 .long 2572866477
974 .long 1072359583
975 .long 878562433
976 .long 1015521741
977 .long 3218338682
978 .long 1072350059
979 .long 3404164304
980 .long 3162477108
981 .long 1434058175
982 .long 1072340587
983 .long 251133233
984 .long 1015085769
985 .long 321958744
986 .long 1072331166
987 .long 3401933767
988 .long 1015794558
989 .long 2990417245
990 .long 1072321795
991 .long 3683467745
992 .long 3163369326
993 .long 3964284211
994 .long 1072312475
995 .long 2111583915
996 .long 1015427164
997 .long 2069751141
998 .long 1072303206
999 .long 1562170675
1000 .long 3162724681
1001 .long 434316067
1002 .long 1072293987
1003 .long 2028358766
1004 .long 1013458122
1005 .long 2191782032
1006 .long 1072284817
1007 .long 2960257726
1008 .long 1013742662
1009 .long 1892288442
1010 .long 1072275697
1011 .long 2446255666
1012 .long 3162600381
1013 .long 2682146384
1014 .long 1072266626
1015 .long 2082178513
1016 .long 3163363419
1017 .long 3418903055
1018 .long 1072257604
1019 .long 2527457337
1020 .long 3160820604
1021 .long 2966275557
1022 .long 1072248631
1023 .long 2176155324
1024 .long 3159842759
1025 .long 194117574
1026 .long 1072239707
1027 .long 777528612
1028 .long 3163412089
1029 .long 2568320822
1030 .long 1072230830
1031 .long 2732824428
1032 .long 1014352915
1033 .long 380978316
1034 .long 1072222002
1035 .long 854188970
1036 .long 3160462686
1037 .long 1110089947
1038 .long 1072213221
1039 .long 1451641639
1040 .long 1015474673
1041 .long 3649726105
1042 .long 1072204487
1043 .long 4085036346
1044 .long 1015649474
1045 .long 2604962541
1046 .long 1072195801
1047 .long 2614425274
1048 .long 3163539192
1049 .long 1176749997
1050 .long 1072187162
1051 .long 2738998779
1052 .long 3162035844
1053 .long 2571947539
1054 .long 1072178569
1055 .long 3558159064
1056 .long 3163376669
1057 .long 1413356050
1058 .long 1072170023
1059 .long 1651349291
1060 .long 3162668166
1061 .long 919555682
1062 .long 1072161523
1063 .long 3121969534
1064 .long 1012948226
1065 .long 19972402
1066 .long 1072153069
1067 .long 3507899862
1068 .long 1016009292
1069 .long 1944781191
1070 .long 1072144660
1071 .long 3993278767
1072 .long 3161724279
1073 .long 1339972927
1074 .long 1072136297
1075 .long 167908909
1076 .long 1015572152
1077 .long 1447192521
1078 .long 1072127979
1079 .long 1462857171
1080 .long 3162514521
1081 .long 1218806132
1082 .long 1072119706
1083 .long 1818613052
1084 .long 3162548441
1085 .long 3907805044
1086 .long 1072111477
1087 .long 2257091225
1088 .long 3161550407
1089 .long 4182873220
1090 .long 1072103293
1091 .long 629542646
1092 .long 3161996303
1093 .long 1013258799
1094 .long 1072095154
1095 .long 1748797611
1096 .long 3160129082
1097 .long 1963711167
1098 .long 1072087058
1099 .long 1744767757
1100 .long 3160574294
1101 .long 1719614413
1102 .long 1072079006
1103 .long 330458198
1104 .long 3163282740
1105 .long 3561793907
1106 .long 1072070997
1107 .long 1157054053
1108 .long 1011890350
1109 .long 2186617381
1110 .long 1072063032
1111 .long 2270764084
1112 .long 3163272713
1113 .long 885834528
1114 .long 1072055110
1115 .long 1973258547
1116 .long 3162261564
1117 .long 2956612997
1118 .long 1072047230
1119 .long 2118169751
1120 .long 3162735553
1121 .long 3111574537
1122 .long 1072039393
1123 .long 2606161479
1124 .long 3162759746
1125 .long 363667784
1126 .long 1072031599
1127 .long 813753950
1128 .long 1015785209
1129 .long 2321106615
1130 .long 1072023846
1131 .long 2171176610
1132 .long 1009535771
1133 .long 3712504873
1134 .long 1072016135
1135 .long 88491949
1136 .long 1015427660
1137 .long 3566716925
1138 .long 1072008466
1139 .long 1536826856
1140 .long 1014142433
1141 .long 917841882
1142 .long 1072000839
1143 .long 18715565
1144 .long 1015659308
1145 .long 3395129871
1146 .long 1071993252
1147 .long 4025345435
1148 .long 3162335388
1149 .long 1453150082
1150 .long 1071985707
1151 .long 498154669
1152 .long 3161488062
1153 .long 2731501122
1154 .long 1071978202
1155 .long 1774031855
1156 .long 3162470021
1157 .long 1990012071
1158 .long 1071970738
1159 .long 3529070563
1160 .long 3162813193
1161 .long 2583551245
1162 .long 1071963314
1163 .long 3161094195
1164 .long 1015606491
1165 .long 3577096743
1166 .long 1071955930
1167 .long 2951496418
1168 .long 1013793687
1169 .long 4040676318
1170 .long 1071948586
1171 .long 4090609238
1172 .long 1015663458
1173 .long 3049340112
1174 .long 1071941282
1175 .long 3062915824
1176 .long 1013170595
1177 .long 3978100823
1178 .long 1071934017
1179 .long 3513027190
1180 .long 1015845963
1181 .long 1617004845
1182 .long 1071926792
1183 .long 82804944
1184 .long 1010342778
1185 .long 3645941911
1186 .long 1071919605
1187 .long 3814685081
1188 .long 3161573341
1189 .long 569847338
1190 .long 1071912458
1191 .long 472945272
1192 .long 3159290729
1193 .long 78413852
1194 .long 1071905349
1195 .long 4183226867
1196 .long 3163017251
1197 .long 1276261410
1198 .long 1071898278
1199 .long 300981948
1200 .long 1014684169
1201 .long 3272845541
1202 .long 1071891245
1203 .long 928852419
1204 .long 3163488248
1205 .long 887463927
1206 .long 1071884251
1207 .long 3596744163
1208 .long 3160794166
1209 .long 1829099622
1210 .long 1071877294
1211 .long 1016661181
1212 .long 3163461005
1213 .long 926591435
1214 .long 1071870375
1215 .long 3208833762
1216 .long 3162913514
1217 .long 1603444721
1218 .long 1071863493
1219 .long 1548633640
1220 .long 3162201326
1221 .long 2992903935
1222 .long 1071856648
1223 .long 2218154406
1224 .long 1015228193
1225 .long 4232894513
1226 .long 1071849840
1227 .long 2383938684
1228 .long 1014668519
1229 .long 171030293
1230 .long 1071843070
1231 .long 3526460132
1232 .long 1014428778
1233 .long 2839424854
1234 .long 1071836335
1235 .long 1171596163
1236 .long 1013041679
1237 .long 2799960843
1238 .long 1071829637
1239 .long 1423655381
1240 .long 1015022151
1241 .long 3504003472
1242 .long 1071822975
1243 .long 3594001060
1244 .long 3157330652
1245 .long 4112506593
1246 .long 1071816349
1247 .long 2947355221
1248 .long 1014371048
1249 .long 3790955393
1250 .long 1071809759
1251 .long 2352942462
1252 .long 3163180090
1253 .long 1709341917
1254 .long 1071803205
1255 .long 2571168217
1256 .long 1014152499
1257 .long 1337108031
1258 .long 1071796686
1259 .long 3203724452
1260 .long 1014677845
1261 .long 1853186616
1262 .long 1071790202
1263 .long 3066496371
1264 .long 1015656574
1265 .long 2440944790
1266 .long 1071783753
1267 .long 2492769774
1268 .long 1014147454
1269 .long 2288159958
1270 .long 1071777339
1271 .long 2169144469
1272 .long 1014876021
1273 .long 586995997
1274 .long 1071770960
1275 .long 41662348
1276 .long 3162627992
1277 .long 828946858
1278 .long 1071764615
1279 .long 10642492
1280 .long 1015939438
1281 .long 2214878420
1282 .long 1071758304
1283 .long 892270087
1284 .long 3163116422
1285 .long 3949972341
1286 .long 1071752027
1287 .long 2068408548
1288 .long 1014913868
1289 .long 948735466
1290 .long 1071745785
1291 .long 3516338028
1292 .long 3162574883
1293 .long 1014845819
1294 .long 1071739576
1295 .long 3117910646
1296 .long 3161559105
1297 .long 3366293073
1298 .long 1071733400
1299 .long 3119426314
1300 .long 1014120554
1301 .long 2930322912
1302 .long 1071727258
1303 .long 2599499422
1304 .long 3162714047
1305 .long 3228316108
1306 .long 1071721149
1307 .long 3010241991
1308 .long 3158422804
1309 .long 3490863953
1310 .long 1071715073
1311 .long 960797498
1312 .long 3162948880
1313 .long 2952712987
1314 .long 1071709030
1315 .long 3293494651
1316 .long 3160120301
1317 .long 852742562
1318 .long 1071703020
1319 .long 667253586
1320 .long 1009793559
1321 .long 728909815
1322 .long 1071697042
1323 .long 383930225
1324 .long 1015029468
1325 .long 1828292879
1326 .long 1071691096
1327 .long 1255956747
1328 .long 1015588398
1329 .long 3402036099
1330 .long 1071685182
1331 .long 405889334
1332 .long 1015105656
1333 .long 410360776
1334 .long 1071679301
1335 .long 1269990655
1336 .long 1011975870
1337 .long 702412510
1338 .long 1071673451
1339 .long 3803266087
1340 .long 3162280415
1341 .long 3541402996
1342 .long 1071667632
1343 .long 2759177317
1344 .long 1014854626
1345 .long 3899555717
1346 .long 1071661845
1347 .long 427280750
1348 .long 3162546972
1349 .long 1048019041
1350 .long 1071656090
1351 .long 1398474845
1352 .long 3160510595
1353 .long 2851812149
1354 .long 1071650365
1355 .long 2595802551
1356 .long 1015767337
1357 .long 0
1358 .long 1127743488
1359 .long 0
1360 .long 3275227136
1361 .long 3607404736
1362 .long 1044146952
1363 .long 3607404736
1364 .long 3191630600
1365 .long 4277811695
1366 .long 1063661122
1367 .long 4277811695
1368 .long 3211144770
1369 .long 2140175755
1370 .long 1033864261
1371 .long 2140175755
1372 .long 1033864261
1373 .long 4289495988
1374 .long 1054113747
1375 .long 4289495988
1376 .long 1054113747
1377 .long 4277811695
1378 .long 1064709698
1379 .long 4277811695
1380 .long 1064709698
1381 .long 1610612736
1382 .long 1080497479
1383 .long 4166901572
1384 .long 1053077003
1385 .long 329805064
1386 .long 1038488134
1387 .long 2773927730
1388 .long 1053236707
1389 .long 286331153
1390 .long 1065423121
1391 .long 1431655765
1392 .long 1069897045
1393 .long 1744127201
1394 .long 1046144581
1395 .long 436314137
1396 .long 1059717536
1397 .long 0
1398 .long 4294967280
1399 .long 0
1400 .long 4294967280
1401 .long 4160749568
1402 .long 2147483647
1403 .type static_const_table,@object
1404 .size static_const_table,4280
1405 .data
1406 .section .note.GNU-stack, ""
1407# End