blob: 737bcbbd961dc93ce8a4164a33e5491724696ed4 [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// ALGORITHM DESCRIPTION
33// ---------------------
34//
35// tanh(x)=(exp(x)-exp(-x))/(exp(x)+exp(-x))=(1-exp(-2*x))/(1+exp(-2*x))
36//
37// Let |x|=xH+xL (upper 26 bits, lower 27 bits)
38// log2(e) rounded to 26 bits (high part) plus a double precision low part is
39// L2EH+L2EL (upper 26, lower 53 bits)
40//
41// Let xH*L2EH=k+f+r`, where (k+f)*2^8*2=int(xH*L2EH*2^9),
42// f=0.b1 b2 ... b8, k integer
43// 2^{-f} is approximated as Tn[f]+Dn[f]
44// Tn stores the high 53 bits, Dn stores (2^{-f}-Tn[f]) rounded to double precision
45//
46// r=r`+xL*L2EH+|x|*L2EL, |r|<2^{-9}+2^{-14},
47// for |x| in [23/64,3*2^7)
48// e^{-2*|x|}=2^{-k-f}*2^{-r} ~ 2^{-k}*(Tn+Dn)*(1+p)=(T0+D0)*(1+p)
49//
50// For |x| in [2^{-4},2^5):
51// 2^{-r}-1 ~ p=c1*r+c2*r^2+..+c5*r^5
52// Let R=1/(1+T0+p*T0), truncated to 35 significant bits
53// R=1/(1+T0+D0+p*(T0+D0))*(1+eps), |eps|<2^{-33}
54// 1+T0+D0+p*(T0+D0)=KH+KL, where
55// KH=(1+T0+c1*r*T0)_high (leading 17 bits)
56// KL=T0_low+D0+(c1*r*T0)_low+c1*r*D0+(c2*r^2+..c5*r^5)*T0
57// eps ~ (R*KH-1)+R*KL
58// 1/(1+T0+D0+p*(T0+D0)) ~ R-R*eps
59// The result is approximated as (1-T0-D0-(T0+D0)*p)*(R-R*eps)
60// 1-T0-D0-(T0+D0)*p=-((KH-2)+KL)
61// The result is formed as
62// (KH-2)*R+(-(KH-2)*R*eps+(KL*R-KL*R*eps)), with the correct sign
63// set at the end
64//
65// For |x| in [2^{-64},2^{-4}):
66// A Taylor series expansion is used (x+p3*x^3+..+p13*x^{13})
67//
68// For |x|<2^{-64}: x is returned
69//
70// For |x|>=2^32: return +/-1
71//
72// Special cases:
73// tanh(NaN) = quiet NaN, and raise invalid exception
74// tanh(INF) = that INF
75// tanh(+/-0) = +/-0
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 tanh
96ENTRY(tanh)
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 4256(%ebx), %xmm3
108 xorpd %xmm4, %xmm4
109 movsd 4112(%ebx), %xmm1
110 movsd 4120(%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 $16304, %ecx
122 cmpl $144, %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 movapd %xmm3, %xmm7
129 addsd %xmm6, %xmm3
130 mulsd %xmm4, %xmm1
131 movsd 4264(%ebx), %xmm4
132 subsd %xmm6, %xmm3
133 xorpd %xmm0, %xmm0
134 addsd %xmm1, %xmm2
135 subsd %xmm3, %xmm7
136 movapd 4128(%ebx), %xmm6
137 addsd %xmm7, %xmm2
138 movl $255, %ecx
139 andl %eax, %ecx
140 addl %ecx, %ecx
141 movapd (%ebx,%ecx,8), %xmm5
142 shrl $4, %eax
143 andl $65520, %eax
144 subl $16368, %eax
145 negl %eax
146 pinsrw $3, %eax, %xmm0
147 movapd 4144(%ebx), %xmm1
148 pshufd $68, %xmm0, %xmm0
149 mulpd %xmm5, %xmm0
150 movsd 4160(%ebx), %xmm7
151 pshufd $68, %xmm2, %xmm2
152 movapd %xmm4, %xmm5
153 addsd %xmm0, %xmm4
154 mulpd %xmm2, %xmm6
155 mulsd %xmm2, %xmm7
156 mulpd %xmm2, %xmm2
157 addpd %xmm6, %xmm1
158 mulsd %xmm2, %xmm2
159 movsd 4264(%ebx), %xmm3
160 mulpd %xmm2, %xmm1
161 pshufd $78, %xmm1, %xmm6
162 addsd %xmm6, %xmm1
163 movapd %xmm1, %xmm6
164 addsd %xmm7, %xmm1
165 mulsd %xmm0, %xmm1
166 addsd %xmm4, %xmm1
167 andpd 4224(%ebx), %xmm4
168 divsd %xmm1, %xmm5
169 subsd %xmm4, %xmm3
170 pshufd $238, %xmm0, %xmm1
171 addsd %xmm0, %xmm3
172 movapd %xmm4, %xmm2
173 addsd %xmm1, %xmm3
174 mulsd %xmm7, %xmm1
175 mulsd %xmm0, %xmm7
176 addsd %xmm1, %xmm3
177 addsd %xmm7, %xmm4
178 movsd 4240(%ebx), %xmm1
179 mulsd %xmm0, %xmm6
180 andpd 4224(%ebx), %xmm4
181 addsd %xmm6, %xmm3
182 movapd %xmm4, %xmm6
183 subsd %xmm4, %xmm2
184 addsd %xmm7, %xmm2
185 movsd 4264(%ebx), %xmm7
186 andpd %xmm1, %xmm5
187 addsd %xmm2, %xmm3
188 mulsd %xmm5, %xmm4
189 xorpd %xmm2, %xmm2
190 mulsd %xmm5, %xmm3
191 subsd 4272(%ebx), %xmm6
192 subsd %xmm7, %xmm4
193 xorl $32768, %edx
194 pinsrw $3, %edx, %xmm2
195 addsd %xmm3, %xmm4
196 mulsd %xmm5, %xmm6
197 movapd %xmm3, %xmm1
198 mulsd %xmm4, %xmm3
199 movapd %xmm6, %xmm0
200 mulsd %xmm4, %xmm6
201 subsd %xmm3, %xmm1
202 subsd %xmm6, %xmm1
203 addsd %xmm1, %xmm0
204 xorpd %xmm2, %xmm0
205 jmp .L_2TAG_PACKET_1.0.2
206.L_2TAG_PACKET_0.0.2:
207 addl $960, %ecx
208 cmpl $1104, %ecx
209 jae .L_2TAG_PACKET_2.0.2
210 movapd 4176(%ebx), %xmm2
211 pshufd $68, %xmm0, %xmm1
212 movapd 4192(%ebx), %xmm3
213 mulpd %xmm1, %xmm1
214 movapd 4208(%ebx), %xmm4
215 mulpd %xmm1, %xmm2
216 pshufd $68, %xmm1, %xmm5
217 addpd %xmm3, %xmm2
218 mulsd %xmm5, %xmm5
219 mulpd %xmm1, %xmm2
220 mulsd %xmm5, %xmm5
221 addpd %xmm4, %xmm2
222 mulpd %xmm5, %xmm2
223 pshufd $238, %xmm2, %xmm5
224 addsd %xmm5, %xmm2
225 mulsd %xmm0, %xmm2
226 addsd %xmm2, %xmm0
227 jmp .L_2TAG_PACKET_1.0.2
228.L_2TAG_PACKET_2.0.2:
229 addl $15344, %ecx
230 cmpl $16448, %ecx
231 jae .L_2TAG_PACKET_3.0.2
232 cmpl $16, %ecx
233 jb .L_2TAG_PACKET_4.0.2
234 xorpd %xmm2, %xmm2
235 movl $17392, %eax
236 pinsrw $3, %eax, %xmm2
237 mulsd %xmm0, %xmm2
238 addsd %xmm0, %xmm2
239 jmp .L_2TAG_PACKET_1.0.2
240.L_2TAG_PACKET_4.0.2:
241 movapd %xmm0, %xmm2
242 mulsd %xmm2, %xmm2
243 jmp .L_2TAG_PACKET_1.0.2
244.L_2TAG_PACKET_3.0.2:
245 cmpl $32752, %ecx
246 jae .L_2TAG_PACKET_5.0.2
247 xorpd %xmm2, %xmm2
248 movl $15344, %ecx
249 pinsrw $3, %ecx, %xmm2
250 movapd %xmm2, %xmm3
251 mulsd %xmm2, %xmm2
252 addsd %xmm3, %xmm2
253.L_2TAG_PACKET_6.0.2:
254 xorpd %xmm0, %xmm0
255 orl $16368, %edx
256 pinsrw $3, %edx, %xmm0
257 jmp .L_2TAG_PACKET_1.0.2
258.L_2TAG_PACKET_5.0.2:
259 movapd %xmm0, %xmm2
260 movd %xmm0, %eax
261 psrlq $20, %xmm2
262 movd %xmm2, %ecx
263 orl %eax, %ecx
264 cmpl $0, %ecx
265 je .L_2TAG_PACKET_6.0.2
266 addsd %xmm0, %xmm0
267 jmp .L_2TAG_PACKET_1.0.2
268.L_2TAG_PACKET_1.0.2:
269 movsd %xmm0, 24(%esp)
270 fldl 24(%esp)
271.L_2TAG_PACKET_7.0.2:
272 movl 40(%esp), %ebx
273 movl %ebp, %esp
274 popl %ebp
275 ret
276..B2.3:
277END(tanh)
278# -- End tanh
279
280# Start file scope ASM
Christopher Ferris995b8132015-03-13 17:43:52 -0700281ALIAS_SYMBOL(tanhl, tanh);
Jingwei Zhang5d4f0e62014-10-31 18:29:18 +0800282# End file scope ASM
283 .section .rodata, "a"
284 .align 16
285 .align 16
286static_const_table:
287 .long 0
288 .long 1072693248
289 .long 0
290 .long 0
291 .long 1797923801
292 .long 1072687577
293 .long 1950547427
294 .long 1013229059
295 .long 730821105
296 .long 1072681922
297 .long 2523232743
298 .long 1012067188
299 .long 915592468
300 .long 1072676282
301 .long 352947894
302 .long 3161024371
303 .long 2174652632
304 .long 1072670657
305 .long 4087714590
306 .long 1014450259
307 .long 35929225
308 .long 1072665048
309 .long 2809788041
310 .long 3159436968
311 .long 2912730644
312 .long 1072659453
313 .long 3490067722
314 .long 3163405074
315 .long 2038973688
316 .long 1072653874
317 .long 892941374
318 .long 1016046459
319 .long 1533953344
320 .long 1072648310
321 .long 769171851
322 .long 1015665633
323 .long 1222472308
324 .long 1072642761
325 .long 1054357470
326 .long 3161021018
327 .long 929806999
328 .long 1072637227
329 .long 3205336643
330 .long 1015259557
331 .long 481706282
332 .long 1072631708
333 .long 1696079173
334 .long 3162710528
335 .long 3999357479
336 .long 1072626203
337 .long 2258941616
338 .long 1015924724
339 .long 2719515920
340 .long 1072620714
341 .long 2760332941
342 .long 1015137933
343 .long 764307441
344 .long 1072615240
345 .long 3021057420
346 .long 3163329523
347 .long 2256325230
348 .long 1072609780
349 .long 580117746
350 .long 1015317295
351 .long 2728693978
352 .long 1072604335
353 .long 396109971
354 .long 3163462691
355 .long 2009970496
356 .long 1072598905
357 .long 2159039665
358 .long 3162572948
359 .long 4224142467
360 .long 1072593489
361 .long 3389820386
362 .long 1015207202
363 .long 610758006
364 .long 1072588089
365 .long 1965209397
366 .long 3161866232
367 .long 3884662774
368 .long 1072582702
369 .long 2158611599
370 .long 1014210185
371 .long 991358482
372 .long 1072577331
373 .long 838715019
374 .long 3163157668
375 .long 351641897
376 .long 1072571974
377 .long 2172261526
378 .long 3163010599
379 .long 1796832535
380 .long 1072566631
381 .long 3176955716
382 .long 3160585513
383 .long 863738719
384 .long 1072561303
385 .long 1326992220
386 .long 3162613197
387 .long 1679558232
388 .long 1072555989
389 .long 2390342287
390 .long 3163333970
391 .long 4076975200
392 .long 1072550689
393 .long 2029000899
394 .long 1015208535
395 .long 3594158869
396 .long 1072545404
397 .long 2456521700
398 .long 3163256561
399 .long 64696965
400 .long 1072540134
401 .long 1768797490
402 .long 1015816960
403 .long 1912561781
404 .long 1072534877
405 .long 3147495102
406 .long 1015678253
407 .long 382305176
408 .long 1072529635
409 .long 2347622376
410 .long 3162578625
411 .long 3898795731
412 .long 1072524406
413 .long 1249994144
414 .long 1011869818
415 .long 3707479175
416 .long 1072519192
417 .long 3613079303
418 .long 1014164738
419 .long 3939148246
420 .long 1072513992
421 .long 3210352148
422 .long 1015274323
423 .long 135105010
424 .long 1072508807
425 .long 1906148728
426 .long 3163375739
427 .long 721996136
428 .long 1072503635
429 .long 563754734
430 .long 1015371318
431 .long 1242007932
432 .long 1072498477
433 .long 1132034716
434 .long 3163339831
435 .long 1532734324
436 .long 1072493333
437 .long 3094216535
438 .long 3163162857
439 .long 1432208378
440 .long 1072488203
441 .long 1401068914
442 .long 3162363963
443 .long 778901109
444 .long 1072483087
445 .long 2248183955
446 .long 3161268751
447 .long 3706687593
448 .long 1072477984
449 .long 3521726940
450 .long 1013253067
451 .long 1464976603
452 .long 1072472896
453 .long 3507292405
454 .long 3161977534
455 .long 2483480501
456 .long 1072467821
457 .long 1216371780
458 .long 1013034172
459 .long 2307442995
460 .long 1072462760
461 .long 3190117721
462 .long 3162404539
463 .long 777507147
464 .long 1072457713
465 .long 4282924205
466 .long 1015187533
467 .long 2029714210
468 .long 1072452679
469 .long 613660079
470 .long 1015099143
471 .long 1610600570
472 .long 1072447659
473 .long 3766732298
474 .long 1015760183
475 .long 3657065772
476 .long 1072442652
477 .long 399025623
478 .long 3162957078
479 .long 3716502172
480 .long 1072437659
481 .long 2303740125
482 .long 1014042725
483 .long 1631695677
484 .long 1072432680
485 .long 2717633076
486 .long 3162344026
487 .long 1540824585
488 .long 1072427714
489 .long 1064017011
490 .long 3163487690
491 .long 3287523847
492 .long 1072422761
493 .long 1625971539
494 .long 3157009955
495 .long 2420883922
496 .long 1072417822
497 .long 2049810052
498 .long 1014119888
499 .long 3080351519
500 .long 1072412896
501 .long 3379126788
502 .long 3157218001
503 .long 815859274
504 .long 1072407984
505 .long 240396590
506 .long 3163487443
507 .long 4062661092
508 .long 1072403084
509 .long 1422616006
510 .long 3163255318
511 .long 4076559943
512 .long 1072398198
513 .long 2119478331
514 .long 3160758351
515 .long 703710506
516 .long 1072393326
517 .long 1384660846
518 .long 1015195891
519 .long 2380618042
520 .long 1072388466
521 .long 3149557219
522 .long 3163320799
523 .long 364333489
524 .long 1072383620
525 .long 3923737744
526 .long 3161421373
527 .long 3092190715
528 .long 1072378786
529 .long 814012168
530 .long 3159523422
531 .long 1822067026
532 .long 1072373966
533 .long 1241994956
534 .long 1015340290
535 .long 697153126
536 .long 1072369159
537 .long 1283515429
538 .long 3163283189
539 .long 3861050111
540 .long 1072364364
541 .long 254893773
542 .long 3162813180
543 .long 2572866477
544 .long 1072359583
545 .long 878562433
546 .long 1015521741
547 .long 977020788
548 .long 1072354815
549 .long 3065100517
550 .long 1015541563
551 .long 3218338682
552 .long 1072350059
553 .long 3404164304
554 .long 3162477108
555 .long 557149882
556 .long 1072345317
557 .long 3672720709
558 .long 1014537265
559 .long 1434058175
560 .long 1072340587
561 .long 251133233
562 .long 1015085769
563 .long 1405169241
564 .long 1072335870
565 .long 2998539689
566 .long 3162830951
567 .long 321958744
568 .long 1072331166
569 .long 3401933767
570 .long 1015794558
571 .long 2331271250
572 .long 1072326474
573 .long 812057446
574 .long 1012207446
575 .long 2990417245
576 .long 1072321795
577 .long 3683467745
578 .long 3163369326
579 .long 2152073944
580 .long 1072317129
581 .long 1486860576
582 .long 3163203456
583 .long 3964284211
584 .long 1072312475
585 .long 2111583915
586 .long 1015427164
587 .long 3985553595
588 .long 1072307834
589 .long 4002146062
590 .long 1015834136
591 .long 2069751141
592 .long 1072303206
593 .long 1562170675
594 .long 3162724681
595 .long 2366108318
596 .long 1072298590
597 .long 2867985102
598 .long 3161762254
599 .long 434316067
600 .long 1072293987
601 .long 2028358766
602 .long 1013458122
603 .long 424392917
604 .long 1072289396
605 .long 2749202995
606 .long 3162838718
607 .long 2191782032
608 .long 1072284817
609 .long 2960257726
610 .long 1013742662
611 .long 1297350157
612 .long 1072280251
613 .long 1308022040
614 .long 3163412558
615 .long 1892288442
616 .long 1072275697
617 .long 2446255666
618 .long 3162600381
619 .long 3833209506
620 .long 1072271155
621 .long 2722920684
622 .long 1013754842
623 .long 2682146384
624 .long 1072266626
625 .long 2082178513
626 .long 3163363419
627 .long 2591453363
628 .long 1072262109
629 .long 2132396182
630 .long 3159074198
631 .long 3418903055
632 .long 1072257604
633 .long 2527457337
634 .long 3160820604
635 .long 727685349
636 .long 1072253112
637 .long 2038246809
638 .long 3162358742
639 .long 2966275557
640 .long 1072248631
641 .long 2176155324
642 .long 3159842759
643 .long 1403662306
644 .long 1072244163
645 .long 2788809599
646 .long 3161671007
647 .long 194117574
648 .long 1072239707
649 .long 777528612
650 .long 3163412089
651 .long 3492293770
652 .long 1072235262
653 .long 2248032210
654 .long 1015386826
655 .long 2568320822
656 .long 1072230830
657 .long 2732824428
658 .long 1014352915
659 .long 1577608921
660 .long 1072226410
661 .long 1875489510
662 .long 3162968394
663 .long 380978316
664 .long 1072222002
665 .long 854188970
666 .long 3160462686
667 .long 3134592888
668 .long 1072217605
669 .long 4232266862
670 .long 1015991134
671 .long 1110089947
672 .long 1072213221
673 .long 1451641639
674 .long 1015474673
675 .long 2759350287
676 .long 1072208848
677 .long 1148526634
678 .long 1015894933
679 .long 3649726105
680 .long 1072204487
681 .long 4085036346
682 .long 1015649474
683 .long 3643909174
684 .long 1072200138
685 .long 3537586109
686 .long 1014354647
687 .long 2604962541
688 .long 1072195801
689 .long 2614425274
690 .long 3163539192
691 .long 396319521
692 .long 1072191476
693 .long 4172420816
694 .long 3159074632
695 .long 1176749997
696 .long 1072187162
697 .long 2738998779
698 .long 3162035844
699 .long 515457527
700 .long 1072182860
701 .long 836709333
702 .long 1015651226
703 .long 2571947539
704 .long 1072178569
705 .long 3558159064
706 .long 3163376669
707 .long 2916157145
708 .long 1072174290
709 .long 219487565
710 .long 1015309367
711 .long 1413356050
712 .long 1072170023
713 .long 1651349291
714 .long 3162668166
715 .long 2224145553
716 .long 1072165767
717 .long 3482522030
718 .long 3161489169
719 .long 919555682
720 .long 1072161523
721 .long 3121969534
722 .long 1012948226
723 .long 1660913392
724 .long 1072157290
725 .long 4218599604
726 .long 1015135707
727 .long 19972402
728 .long 1072153069
729 .long 3507899862
730 .long 1016009292
731 .long 158781403
732 .long 1072148859
733 .long 2221464712
734 .long 3163286453
735 .long 1944781191
736 .long 1072144660
737 .long 3993278767
738 .long 3161724279
739 .long 950803702
740 .long 1072140473
741 .long 1655364926
742 .long 1015237032
743 .long 1339972927
744 .long 1072136297
745 .long 167908909
746 .long 1015572152
747 .long 2980802057
748 .long 1072132132
749 .long 378619896
750 .long 1015773303
751 .long 1447192521
752 .long 1072127979
753 .long 1462857171
754 .long 3162514521
755 .long 903334909
756 .long 1072123837
757 .long 1636462108
758 .long 1015039997
759 .long 1218806132
760 .long 1072119706
761 .long 1818613052
762 .long 3162548441
763 .long 2263535754
764 .long 1072115586
765 .long 752233586
766 .long 3162639008
767 .long 3907805044
768 .long 1072111477
769 .long 2257091225
770 .long 3161550407
771 .long 1727278727
772 .long 1072107380
773 .long 3562710623
774 .long 1011471940
775 .long 4182873220
776 .long 1072103293
777 .long 629542646
778 .long 3161996303
779 .long 2555984613
780 .long 1072099218
781 .long 2652555442
782 .long 3162552692
783 .long 1013258799
784 .long 1072095154
785 .long 1748797611
786 .long 3160129082
787 .long 3721688645
788 .long 1072091100
789 .long 3069276937
790 .long 1015839401
791 .long 1963711167
792 .long 1072087058
793 .long 1744767757
794 .long 3160574294
795 .long 4201977662
796 .long 1072083026
797 .long 748330254
798 .long 1013594357
799 .long 1719614413
800 .long 1072079006
801 .long 330458198
802 .long 3163282740
803 .long 2979960120
804 .long 1072074996
805 .long 2599109725
806 .long 1014498493
807 .long 3561793907
808 .long 1072070997
809 .long 1157054053
810 .long 1011890350
811 .long 3339203574
812 .long 1072067009
813 .long 1483497780
814 .long 3162408754
815 .long 2186617381
816 .long 1072063032
817 .long 2270764084
818 .long 3163272713
819 .long 4273770423
820 .long 1072059065
821 .long 3383180809
822 .long 3163218901
823 .long 885834528
824 .long 1072055110
825 .long 1973258547
826 .long 3162261564
827 .long 488188413
828 .long 1072051165
829 .long 3199821029
830 .long 1015564048
831 .long 2956612997
832 .long 1072047230
833 .long 2118169751
834 .long 3162735553
835 .long 3872257780
836 .long 1072043306
837 .long 1253592103
838 .long 1015958334
839 .long 3111574537
840 .long 1072039393
841 .long 2606161479
842 .long 3162759746
843 .long 551349105
844 .long 1072035491
845 .long 3821916050
846 .long 3162106589
847 .long 363667784
848 .long 1072031599
849 .long 813753950
850 .long 1015785209
851 .long 2425981843
852 .long 1072027717
853 .long 2830390851
854 .long 3163346599
855 .long 2321106615
856 .long 1072023846
857 .long 2171176610
858 .long 1009535771
859 .long 4222122499
860 .long 1072019985
861 .long 1277378074
862 .long 3163256737
863 .long 3712504873
864 .long 1072016135
865 .long 88491949
866 .long 1015427660
867 .long 671025100
868 .long 1072012296
869 .long 3832014351
870 .long 3163022030
871 .long 3566716925
872 .long 1072008466
873 .long 1536826856
874 .long 1014142433
875 .long 3689071823
876 .long 1072004647
877 .long 2321004996
878 .long 3162552716
879 .long 917841882
880 .long 1072000839
881 .long 18715565
882 .long 1015659308
883 .long 3723038930
884 .long 1071997040
885 .long 378465264
886 .long 3162569582
887 .long 3395129871
888 .long 1071993252
889 .long 4025345435
890 .long 3162335388
891 .long 4109806887
892 .long 1071989474
893 .long 422403966
894 .long 1014469229
895 .long 1453150082
896 .long 1071985707
897 .long 498154669
898 .long 3161488062
899 .long 3896463087
900 .long 1071981949
901 .long 1139797873
902 .long 3161233805
903 .long 2731501122
904 .long 1071978202
905 .long 1774031855
906 .long 3162470021
907 .long 2135241198
908 .long 1071974465
909 .long 1236747871
910 .long 1013589147
911 .long 1990012071
912 .long 1071970738
913 .long 3529070563
914 .long 3162813193
915 .long 2178460671
916 .long 1071967021
917 .long 777878098
918 .long 3162842493
919 .long 2583551245
920 .long 1071963314
921 .long 3161094195
922 .long 1015606491
923 .long 3088564500
924 .long 1071959617
925 .long 1762311517
926 .long 1015045673
927 .long 3577096743
928 .long 1071955930
929 .long 2951496418
930 .long 1013793687
931 .long 3933059031
932 .long 1071952253
933 .long 2133366768
934 .long 3161531832
935 .long 4040676318
936 .long 1071948586
937 .long 4090609238
938 .long 1015663458
939 .long 3784486610
940 .long 1071944929
941 .long 1581883040
942 .long 3161698953
943 .long 3049340112
944 .long 1071941282
945 .long 3062915824
946 .long 1013170595
947 .long 1720398391
948 .long 1071937645
949 .long 3980678963
950 .long 3163300080
951 .long 3978100823
952 .long 1071934017
953 .long 3513027190
954 .long 1015845963
955 .long 1118294578
956 .long 1071930400
957 .long 2197495694
958 .long 3159909401
959 .long 1617004845
960 .long 1071926792
961 .long 82804944
962 .long 1010342778
963 .long 1065662932
964 .long 1071923194
965 .long 2533670915
966 .long 1014530238
967 .long 3645941911
968 .long 1071919605
969 .long 3814685081
970 .long 3161573341
971 .long 654919306
972 .long 1071916027
973 .long 3232961757
974 .long 3163047469
975 .long 569847338
976 .long 1071912458
977 .long 472945272
978 .long 3159290729
979 .long 3278348324
980 .long 1071908898
981 .long 3069497416
982 .long 1014750712
983 .long 78413852
984 .long 1071905349
985 .long 4183226867
986 .long 3163017251
987 .long 3743175029
988 .long 1071901808
989 .long 2072812490
990 .long 3162175075
991 .long 1276261410
992 .long 1071898278
993 .long 300981948
994 .long 1014684169
995 .long 1156440435
996 .long 1071894757
997 .long 2351451249
998 .long 1013967056
999 .long 3272845541
1000 .long 1071891245
1001 .long 928852419
1002 .long 3163488248
1003 .long 3219942644
1004 .long 1071887743
1005 .long 3798990616
1006 .long 1015368806
1007 .long 887463927
1008 .long 1071884251
1009 .long 3596744163
1010 .long 3160794166
1011 .long 460407023
1012 .long 1071880768
1013 .long 4237175092
1014 .long 3163138469
1015 .long 1829099622
1016 .long 1071877294
1017 .long 1016661181
1018 .long 3163461005
1019 .long 589198666
1020 .long 1071873830
1021 .long 2664346172
1022 .long 3163157962
1023 .long 926591435
1024 .long 1071870375
1025 .long 3208833762
1026 .long 3162913514
1027 .long 2732492859
1028 .long 1071866929
1029 .long 2691479646
1030 .long 3162255684
1031 .long 1603444721
1032 .long 1071863493
1033 .long 1548633640
1034 .long 3162201326
1035 .long 1726216749
1036 .long 1071860066
1037 .long 2466808228
1038 .long 3161676405
1039 .long 2992903935
1040 .long 1071856648
1041 .long 2218154406
1042 .long 1015228193
1043 .long 1000925746
1044 .long 1071853240
1045 .long 1018491672
1046 .long 3163309544
1047 .long 4232894513
1048 .long 1071849840
1049 .long 2383938684
1050 .long 1014668519
1051 .long 3991843581
1052 .long 1071846450
1053 .long 4092853457
1054 .long 1014585763
1055 .long 171030293
1056 .long 1071843070
1057 .long 3526460132
1058 .long 1014428778
1059 .long 1253935211
1060 .long 1071839698
1061 .long 1395382931
1062 .long 3159702613
1063 .long 2839424854
1064 .long 1071836335
1065 .long 1171596163
1066 .long 1013041679
1067 .long 526652809
1068 .long 1071832982
1069 .long 4223459736
1070 .long 1015879375
1071 .long 2799960843
1072 .long 1071829637
1073 .long 1423655381
1074 .long 1015022151
1075 .long 964107055
1076 .long 1071826302
1077 .long 2800439588
1078 .long 3162833221
1079 .long 3504003472
1080 .long 1071822975
1081 .long 3594001060
1082 .long 3157330652
1083 .long 1724976915
1084 .long 1071819658
1085 .long 420909223
1086 .long 3163117379
1087 .long 4112506593
1088 .long 1071816349
1089 .long 2947355221
1090 .long 1014371048
1091 .long 1972484976
1092 .long 1071813050
1093 .long 675290301
1094 .long 3161640050
1095 .long 3790955393
1096 .long 1071809759
1097 .long 2352942462
1098 .long 3163180090
1099 .long 874372905
1100 .long 1071806478
1101 .long 100263788
1102 .long 1015940732
1103 .long 1709341917
1104 .long 1071803205
1105 .long 2571168217
1106 .long 1014152499
1107 .long 1897844341
1108 .long 1071799941
1109 .long 1254300460
1110 .long 1015275938
1111 .long 1337108031
1112 .long 1071796686
1113 .long 3203724452
1114 .long 1014677845
1115 .long 4219606026
1116 .long 1071793439
1117 .long 2434574742
1118 .long 1014681548
1119 .long 1853186616
1120 .long 1071790202
1121 .long 3066496371
1122 .long 1015656574
1123 .long 2725843665
1124 .long 1071786973
1125 .long 1433917087
1126 .long 1014838523
1127 .long 2440944790
1128 .long 1071783753
1129 .long 2492769774
1130 .long 1014147454
1131 .long 897099801
1132 .long 1071780542
1133 .long 754756297
1134 .long 1015241005
1135 .long 2288159958
1136 .long 1071777339
1137 .long 2169144469
1138 .long 1014876021
1139 .long 2218315341
1140 .long 1071774145
1141 .long 2694295388
1142 .long 3163288868
1143 .long 586995997
1144 .long 1071770960
1145 .long 41662348
1146 .long 3162627992
1147 .long 1588871207
1148 .long 1071767783
1149 .long 143439582
1150 .long 3162963416
1151 .long 828946858
1152 .long 1071764615
1153 .long 10642492
1154 .long 1015939438
1155 .long 2502433899
1156 .long 1071761455
1157 .long 2148595913
1158 .long 1015023991
1159 .long 2214878420
1160 .long 1071758304
1161 .long 892270087
1162 .long 3163116422
1163 .long 4162030108
1164 .long 1071755161
1165 .long 2763428480
1166 .long 1015529349
1167 .long 3949972341
1168 .long 1071752027
1169 .long 2068408548
1170 .long 1014913868
1171 .long 1480023343
1172 .long 1071748902
1173 .long 2247196168
1174 .long 1015327453
1175 .long 948735466
1176 .long 1071745785
1177 .long 3516338028
1178 .long 3162574883
1179 .long 2257959872
1180 .long 1071742676
1181 .long 3802946148
1182 .long 1012964927
1183 .long 1014845819
1184 .long 1071739576
1185 .long 3117910646
1186 .long 3161559105
1187 .long 1416741826
1188 .long 1071736484
1189 .long 2196380210
1190 .long 1011413563
1191 .long 3366293073
1192 .long 1071733400
1193 .long 3119426314
1194 .long 1014120554
1195 .long 2471440686
1196 .long 1071730325
1197 .long 968836267
1198 .long 3162214888
1199 .long 2930322912
1200 .long 1071727258
1201 .long 2599499422
1202 .long 3162714047
1203 .long 351405227
1204 .long 1071724200
1205 .long 3125337328
1206 .long 3159822479
1207 .long 3228316108
1208 .long 1071721149
1209 .long 3010241991
1210 .long 3158422804
1211 .long 2875075254
1212 .long 1071718107
1213 .long 4144233330
1214 .long 3163333716
1215 .long 3490863953
1216 .long 1071715073
1217 .long 960797498
1218 .long 3162948880
1219 .long 685187902
1220 .long 1071712048
1221 .long 378731989
1222 .long 1014843115
1223 .long 2952712987
1224 .long 1071709030
1225 .long 3293494651
1226 .long 3160120301
1227 .long 1608493509
1228 .long 1071706021
1229 .long 3159622171
1230 .long 3162807737
1231 .long 852742562
1232 .long 1071703020
1233 .long 667253586
1234 .long 1009793559
1235 .long 590962156
1236 .long 1071700027
1237 .long 3829346666
1238 .long 3163275597
1239 .long 728909815
1240 .long 1071697042
1241 .long 383930225
1242 .long 1015029468
1243 .long 1172597893
1244 .long 1071694065
1245 .long 114433263
1246 .long 1015347593
1247 .long 1828292879
1248 .long 1071691096
1249 .long 1255956747
1250 .long 1015588398
1251 .long 2602514713
1252 .long 1071688135
1253 .long 2268929336
1254 .long 1014354284
1255 .long 3402036099
1256 .long 1071685182
1257 .long 405889334
1258 .long 1015105656
1259 .long 4133881824
1260 .long 1071682237
1261 .long 2148155345
1262 .long 3162931299
1263 .long 410360776
1264 .long 1071679301
1265 .long 1269990655
1266 .long 1011975870
1267 .long 728934454
1268 .long 1071676372
1269 .long 1413842688
1270 .long 1014178612
1271 .long 702412510
1272 .long 1071673451
1273 .long 3803266087
1274 .long 3162280415
1275 .long 238821257
1276 .long 1071670538
1277 .long 1469694871
1278 .long 3162884987
1279 .long 3541402996
1280 .long 1071667632
1281 .long 2759177317
1282 .long 1014854626
1283 .long 1928746161
1284 .long 1071664735
1285 .long 983617676
1286 .long 1014285177
1287 .long 3899555717
1288 .long 1071661845
1289 .long 427280750
1290 .long 3162546972
1291 .long 772914124
1292 .long 1071658964
1293 .long 4004372762
1294 .long 1012230161
1295 .long 1048019041
1296 .long 1071656090
1297 .long 1398474845
1298 .long 3160510595
1299 .long 339411585
1300 .long 1071653224
1301 .long 264588982
1302 .long 3161636657
1303 .long 2851812149
1304 .long 1071650365
1305 .long 2595802551
1306 .long 1015767337
1307 .long 4200250559
1308 .long 1071647514
1309 .long 2808127345
1310 .long 3161781938
1311 .long 0
1312 .long 1127743488
1313 .long 0
1314 .long 3275227136
1315 .long 1610612736
1316 .long 1082594631
1317 .long 4166901572
1318 .long 1055174155
1319 .long 3884607281
1320 .long 3168131199
1321 .long 3607404735
1322 .long 3190582024
1323 .long 1874480759
1324 .long 1032041131
1325 .long 4286760334
1326 .long 1053736893
1327 .long 4277811695
1328 .long 3211144770
1329 .long 0
1330 .long 0
1331 .long 236289503
1332 .long 1064135997
1333 .long 463583772
1334 .long 3215696314
1335 .long 1441186365
1336 .long 3212977891
1337 .long 286331153
1338 .long 1069617425
1339 .long 2284589306
1340 .long 1066820852
1341 .long 1431655765
1342 .long 3218429269
1343 .long 0
1344 .long 4294967280
1345 .long 0
1346 .long 4294967280
1347 .long 4294705152
1348 .long 4294967295
1349 .long 4294705152
1350 .long 4294967295
1351 .long 4160749568
1352 .long 2147483647
1353 .long 0
1354 .long 1072693248
1355 .long 0
1356 .long 1073741824
1357 .type static_const_table,@object
1358 .size static_const_table,4280
1359 .data
1360 .section .note.GNU-stack, ""
1361# End