Home | History | Annotate | Download | only in x86
      1 /*
      2 Copyright (c) 2014, Intel Corporation
      3 All rights reserved.
      4 
      5 Redistribution and use in source and binary forms, with or without
      6 modification, 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 
     19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
     20 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     21 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     22 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
     23 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     24 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     25 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
     26 ANY 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
     28 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     29 */
     30 
     31 /******************************************************************************/
     32 //                     ALGORITHM DESCRIPTION
     33 //                     ---------------------
     34 //
     35 // This implementation uses the main path for |x| in [2^{-5},2^65).
     36 // For |x| in [2^{-64},2^{-5}), a secondary path is used.
     37 // For the biased exponent of X within 3FFH-64 and 3FF+64, we use one branch.
     38 // We use the following definition of B and X` so that the formula
     39 // atan(X) = Tau + atan( (X`-B) / (One + BX) ) is correct
     40 //
     41 // X = (-1)^s * 2^k * 1. x1 x2 ... x52
     42 //
     43 // Define X`  = 0 if k >= 5; and X`  = |X| otherwise
     44 // Define One = 0 if k >= 5; and One = 1 otherwise
     45 // Define B  = 0 if k <= -6; B =  2^k * 1.x1 x2 x3 x4 1  if -5 <= k <= 4
     46 // Define B  =  2^5 * 1.0 0 ... 0   if  k >= 5
     47 //
     48 // Tau is 0 if k <= -6;
     49 // Tau is atan( B )  if -5 <= k <= 4
     50 // Tau is pi/2 if k >= 5
     51 //
     52 // Special cases:
     53 //  atan(NaN) = quiet NaN
     54 //  atan(+/-INF) = +/-Pi/2
     55 //  atan(+/-0) = +/-0
     56 //
     57 /******************************************************************************/
     58 
     59 #include <private/bionic_asm.h>
     60 # -- Begin  static_func
     61         .text
     62         .align __bionic_asm_align
     63         .type static_func, @function
     64 static_func:
     65 ..B1.1:
     66         call      ..L2
     67 ..L2:
     68         popl      %eax
     69         lea       _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax
     70         lea       static_const_table@GOTOFF(%eax), %eax
     71         ret
     72         .size   static_func,.-static_func
     73 # -- End  static_func
     74 
     75 # -- Begin  atan
     76 ENTRY(atan)
     77 # parameter 1: 8 + %ebp
     78 ..B2.1:
     79 ..B2.2:
     80         pushl     %ebp
     81         movl      %esp, %ebp
     82         subl      $104, %esp
     83         movl      %ebx, 48(%esp)
     84         call      static_func
     85         movl      %eax, %ebx
     86         movsd     112(%esp), %xmm0
     87         movsd     2640(%ebx), %xmm3
     88         movsd     2624(%ebx), %xmm5
     89         movsd     2656(%ebx), %xmm4
     90         movsd     %xmm0, 8(%esp)
     91         pextrw    $3, %xmm0, %edx
     92         andpd     %xmm0, %xmm3
     93         pshufd    $68, %xmm0, %xmm1
     94         orpd      %xmm4, %xmm3
     95         movl      %edx, %eax
     96         andl      $32767, %edx
     97         subl      $16288, %edx
     98         cmpl      $159, %edx
     99         ja        .L_2TAG_PACKET_0.0.2
    100         mulsd     %xmm3, %xmm1
    101         subsd     %xmm3, %xmm0
    102         addsd     %xmm5, %xmm1
    103         divsd     %xmm1, %xmm0
    104         addl      $1, %edx
    105         movsd     2672(%ebx), %xmm2
    106         movsd     2688(%ebx), %xmm4
    107         andl      $32768, %eax
    108         xorpd     %xmm7, %xmm7
    109         pinsrw    $3, %eax, %xmm7
    110         addl      %edx, %edx
    111         movsd     (%ebx,%edx,8), %xmm6
    112         movsd     8(%ebx,%edx,8), %xmm5
    113         xorpd     %xmm7, %xmm5
    114         xorpd     %xmm7, %xmm6
    115         movsd     2680(%ebx), %xmm7
    116         pshufd    $68, %xmm0, %xmm1
    117         mulsd     %xmm0, %xmm0
    118         pshufd    $68, %xmm1, %xmm3
    119         addsd     %xmm6, %xmm1
    120         mulsd     %xmm0, %xmm2
    121         addsd     %xmm0, %xmm4
    122         subsd     %xmm1, %xmm6
    123         mulsd     %xmm0, %xmm4
    124         addsd     %xmm7, %xmm2
    125         mulsd     %xmm3, %xmm0
    126         addsd     %xmm3, %xmm6
    127         mulsd     %xmm2, %xmm0
    128         addsd     2696(%ebx), %xmm4
    129         addsd     %xmm5, %xmm6
    130         mulsd     %xmm4, %xmm0
    131         addsd     %xmm6, %xmm0
    132         addsd     %xmm1, %xmm0
    133         movsd     %xmm0, (%esp)
    134         fldl      (%esp)
    135         jmp       .L_2TAG_PACKET_1.0.2
    136 .L_2TAG_PACKET_0.0.2:
    137         addl      $944, %edx
    138         cmpl      $1103, %edx
    139         ja        .L_2TAG_PACKET_2.0.2
    140         movsd     2672(%ebx), %xmm4
    141         movsd     2688(%ebx), %xmm7
    142         movsd     8(%esp), %xmm0
    143         mulsd     %xmm1, %xmm1
    144         movsd     2680(%ebx), %xmm2
    145         movsd     2696(%ebx), %xmm5
    146         mulsd     %xmm1, %xmm4
    147         addsd     %xmm1, %xmm7
    148         movapd    %xmm1, %xmm6
    149         mulsd     %xmm0, %xmm1
    150         addsd     %xmm4, %xmm2
    151         mulsd     %xmm6, %xmm7
    152         mulsd     %xmm1, %xmm2
    153         addsd     %xmm5, %xmm7
    154         mulsd     %xmm7, %xmm2
    155         addsd     %xmm2, %xmm0
    156         movsd     %xmm0, (%esp)
    157         fldl      (%esp)
    158         jmp       .L_2TAG_PACKET_1.0.2
    159 .L_2TAG_PACKET_2.0.2:
    160         addl      $15344, %edx
    161         cmpl      $16368, %edx
    162         ja        .L_2TAG_PACKET_3.0.2
    163         movsd     8(%esp), %xmm0
    164         movsd     8(%esp), %xmm1
    165         cmpl      $16, %edx
    166         jae       .L_2TAG_PACKET_4.0.2
    167         mulsd     %xmm0, %xmm1
    168 .L_2TAG_PACKET_4.0.2:
    169         movsd     %xmm0, (%esp)
    170         fldl      (%esp)
    171         jmp       .L_2TAG_PACKET_1.0.2
    172 .L_2TAG_PACKET_3.0.2:
    173         cmpl      $17392, %edx
    174         jae       .L_2TAG_PACKET_5.0.2
    175         xorpd     %xmm1, %xmm1
    176         movl      $49136, %ecx
    177         pinsrw    $3, %ecx, %xmm1
    178         divsd     %xmm0, %xmm1
    179         movsd     2672(%ebx), %xmm2
    180         movsd     2688(%ebx), %xmm4
    181         andl      $32768, %eax
    182         xorpd     %xmm7, %xmm7
    183         pinsrw    $3, %eax, %xmm7
    184         addl      %edx, %edx
    185         movsd     2592(%ebx), %xmm6
    186         movsd     2600(%ebx), %xmm5
    187         xorpd     %xmm7, %xmm5
    188         xorpd     %xmm7, %xmm6
    189         movsd     2680(%ebx), %xmm7
    190         pshufd    $68, %xmm1, %xmm0
    191         mulsd     %xmm1, %xmm1
    192         pshufd    $68, %xmm0, %xmm3
    193         addsd     %xmm6, %xmm0
    194         mulsd     %xmm1, %xmm2
    195         addsd     %xmm1, %xmm4
    196         subsd     %xmm0, %xmm6
    197         mulsd     %xmm1, %xmm4
    198         addsd     %xmm7, %xmm2
    199         mulsd     %xmm3, %xmm1
    200         addsd     %xmm3, %xmm6
    201         mulsd     %xmm2, %xmm1
    202         addsd     2696(%ebx), %xmm4
    203         addsd     %xmm5, %xmm6
    204         mulsd     %xmm4, %xmm1
    205         addsd     %xmm6, %xmm1
    206         addsd     %xmm1, %xmm0
    207         movsd     %xmm0, (%esp)
    208         fldl      (%esp)
    209         jmp       .L_2TAG_PACKET_1.0.2
    210 .L_2TAG_PACKET_5.0.2:
    211         movsd     8(%esp), %xmm4
    212         movsd     2608(%ebx), %xmm0
    213         movsd     2592(%ebx), %xmm2
    214         movsd     2600(%ebx), %xmm3
    215         movd      %xmm1, %eax
    216         psrlq     $32, %xmm1
    217         movd      %xmm1, %edx
    218         andl      $2147483647, %edx
    219         cmpl      $2146435072, %edx
    220         jae       .L_2TAG_PACKET_6.0.2
    221 .L_2TAG_PACKET_7.0.2:
    222         andnpd    %xmm4, %xmm0
    223         orpd      %xmm0, %xmm2
    224         orpd      %xmm3, %xmm0
    225         addsd     %xmm2, %xmm0
    226         movsd     %xmm0, (%esp)
    227         fldl      (%esp)
    228         jmp       .L_2TAG_PACKET_1.0.2
    229 .L_2TAG_PACKET_6.0.2:
    230         subl      $2146435072, %edx
    231         orl       %edx, %eax
    232         cmpl      $0, %eax
    233         je        .L_2TAG_PACKET_7.0.2
    234         movapd    %xmm4, %xmm0
    235         addsd     %xmm0, %xmm0
    236         movsd     %xmm0, (%esp)
    237         fldl      (%esp)
    238 .L_2TAG_PACKET_1.0.2:
    239         movl      48(%esp), %ebx
    240         movl      %ebp, %esp
    241         popl      %ebp
    242         ret
    243 ..B2.3:
    244 END(atan)
    245 # -- End  atan
    246 
    247 # Start file scope ASM
    248 ALIAS_SYMBOL(atanl, atan);
    249 # End file scope ASM
    250 	.section .rodata, "a"
    251 	.align 16
    252 	.align 16
    253 static_const_table:
    254 	.long	0
    255 	.long	0
    256 	.long	0
    257 	.long	0
    258 	.long	3819695742
    259 	.long	1067482761
    260 	.long	2398680355
    261 	.long	3155462074
    262 	.long	2998791009
    263 	.long	1067548225
    264 	.long	3868465248
    265 	.long	3157182472
    266 	.long	3339424991
    267 	.long	1067613680
    268 	.long	3296670360
    269 	.long	1010752543
    270 	.long	2710002256
    271 	.long	1067679126
    272 	.long	3403896007
    273 	.long	1010910768
    274 	.long	3275701428
    275 	.long	1067744562
    276 	.long	119959933
    277 	.long	1011482843
    278 	.long	2908636881
    279 	.long	1067809988
    280 	.long	2464489612
    281 	.long	1011545526
    282 	.long	3777889398
    283 	.long	1067875403
    284 	.long	3262682165
    285 	.long	1009703919
    286 	.long	3759667419
    287 	.long	1067940807
    288 	.long	1838130851
    289 	.long	3157373556
    290 	.long	732369940
    291 	.long	1068006200
    292 	.long	1203428313
    293 	.long	1010055371
    294 	.long	1166616461
    295 	.long	1068071580
    296 	.long	2901274051
    297 	.long	3158549977
    298 	.long	2945472892
    299 	.long	1068136947
    300 	.long	3726120658
    301 	.long	1009762715
    302 	.long	3954480976
    303 	.long	1068202301
    304 	.long	1289173457
    305 	.long	1009429861
    306 	.long	2081752829
    307 	.long	1068267642
    308 	.long	1836909874
    309 	.long	1006212095
    310 	.long	3807999788
    311 	.long	1068332968
    312 	.long	2172459940
    313 	.long	3156162078
    314 	.long	2731789884
    315 	.long	1068398280
    316 	.long	3450718392
    317 	.long	3159216547
    318 	.long	1044477961
    319 	.long	1068463577
    320 	.long	2230553229
    321 	.long	1011424339
    322 	.long	1486930287
    323 	.long	1068530218
    324 	.long	2861547474
    325 	.long	1012041376
    326 	.long	2293016881
    327 	.long	1068595466
    328 	.long	136843272
    329 	.long	1012684797
    330 	.long	201518157
    331 	.long	1068660680
    332 	.long	63231984
    333 	.long	1012427198
    334 	.long	4054234584
    335 	.long	1068725856
    336 	.long	3927006960
    337 	.long	1011878955
    338 	.long	1246477213
    339 	.long	1068790995
    340 	.long	1494265652
    341 	.long	3155219350
    342 	.long	678186699
    343 	.long	1068856093
    344 	.long	1264361424
    345 	.long	3159256693
    346 	.long	2690594995
    347 	.long	1068921148
    348 	.long	3906996379
    349 	.long	1009288267
    350 	.long	3362611517
    351 	.long	1068986159
    352 	.long	1650970041
    353 	.long	3158331771
    354 	.long	3102162111
    355 	.long	1069051124
    356 	.long	365917035
    357 	.long	3160264153
    358 	.long	2352611067
    359 	.long	1069116041
    360 	.long	4008970190
    361 	.long	3159478182
    362 	.long	1594134794
    363 	.long	1069180908
    364 	.long	466690178
    365 	.long	1012526501
    366 	.long	1345079306
    367 	.long	1069245723
    368 	.long	2268273568
    369 	.long	3160164092
    370 	.long	2163300970
    371 	.long	1069310484
    372 	.long	2750834800
    373 	.long	3158113482
    374 	.long	352522716
    375 	.long	1069375190
    376 	.long	1750411372
    377 	.long	1011790845
    378 	.long	848541647
    379 	.long	1069439838
    380 	.long	2164207573
    381 	.long	1011698350
    382 	.long	40647312
    383 	.long	1069504427
    384 	.long	2949165434
    385 	.long	3159107267
    386 	.long	2216766270
    387 	.long	1069574357
    388 	.long	2197920765
    389 	.long	3161055954
    390 	.long	1090914384
    391 	.long	1069638757
    392 	.long	2330454674
    393 	.long	1013365998
    394 	.long	387601244
    395 	.long	1069703022
    396 	.long	3185681168
    397 	.long	1013434071
    398 	.long	3991640484
    399 	.long	1069767144
    400 	.long	1313211590
    401 	.long	3161087959
    402 	.long	3322489502
    403 	.long	1069831118
    404 	.long	3013977995
    405 	.long	1013053011
    406 	.long	3121698570
    407 	.long	1069894936
    408 	.long	4069015667
    409 	.long	1013023362
    410 	.long	4289964660
    411 	.long	1069958591
    412 	.long	1736191156
    413 	.long	3158266731
    414 	.long	3903312386
    415 	.long	1070022077
    416 	.long	1833592413
    417 	.long	3159731471
    418 	.long	3818449864
    419 	.long	1070085387
    420 	.long	851036429
    421 	.long	3159730451
    422 	.long	2097480306
    423 	.long	1070148515
    424 	.long	3506390884
    425 	.long	3160462302
    426 	.long	1611694502
    427 	.long	1070211454
    428 	.long	2785735540
    429 	.long	3160465144
    430 	.long	1464694796
    431 	.long	1070274198
    432 	.long	4229277299
    433 	.long	3159907000
    434 	.long	1299612775
    435 	.long	1070336741
    436 	.long	4116653788
    437 	.long	3160427739
    438 	.long	1310544789
    439 	.long	1070399077
    440 	.long	1064430331
    441 	.long	1013218202
    442 	.long	2253168030
    443 	.long	1070461200
    444 	.long	1405044609
    445 	.long	3157623179
    446 	.long	1159567373
    447 	.long	1070523105
    448 	.long	2353445521
    449 	.long	3159992176
    450 	.long	1359373750
    451 	.long	1070605818
    452 	.long	1748171336
    453 	.long	3161879263
    454 	.long	908341706
    455 	.long	1070667034
    456 	.long	3372710815
    457 	.long	3161775245
    458 	.long	1743027350
    459 	.long	1070727765
    460 	.long	687089934
    461 	.long	3160507171
    462 	.long	2055355646
    463 	.long	1070787992
    464 	.long	2392855242
    465 	.long	1013682469
    466 	.long	690426164
    467 	.long	1070847697
    468 	.long	1103926666
    469 	.long	1014052810
    470 	.long	1483247847
    471 	.long	1070906862
    472 	.long	2082645847
    473 	.long	3161345479
    474 	.long	392040270
    475 	.long	1070965472
    476 	.long	2407720023
    477 	.long	1014053754
    478 	.long	2673846014
    479 	.long	1071023511
    480 	.long	1293605532
    481 	.long	3158464385
    482 	.long	1384215810
    483 	.long	1071080967
    484 	.long	2446095872
    485 	.long	3159216407
    486 	.long	3101660631
    487 	.long	1071137826
    488 	.long	698040758
    489 	.long	1014855328
    490 	.long	2094057058
    491 	.long	1071194078
    492 	.long	2282048339
    493 	.long	1014040385
    494 	.long	1712750594
    495 	.long	1071249712
    496 	.long	1204372378
    497 	.long	3162276464
    498 	.long	1411515787
    499 	.long	1071304719
    500 	.long	949080808
    501 	.long	1015006403
    502 	.long	931538085
    503 	.long	1071359091
    504 	.long	3027127039
    505 	.long	1014307233
    506 	.long	179139065
    507 	.long	1071412821
    508 	.long	4285547492
    509 	.long	3161934731
    510 	.long	3387721259
    511 	.long	1071465902
    512 	.long	373225773
    513 	.long	1013486625
    514 	.long	2132236852
    515 	.long	1071544299
    516 	.long	3250533429
    517 	.long	1014031677
    518 	.long	1942070284
    519 	.long	1071645596
    520 	.long	1237964179
    521 	.long	3163239113
    522 	.long	1532707802
    523 	.long	1071695380
    524 	.long	330645583
    525 	.long	1012495610
    526 	.long	2294184979
    527 	.long	1071743834
    528 	.long	3959472897
    529 	.long	1015833116
    530 	.long	3805060714
    531 	.long	1071790961
    532 	.long	2671256142
    533 	.long	1013727772
    534 	.long	2215037898
    535 	.long	1071836770
    536 	.long	2683359117
    537 	.long	1015831902
    538 	.long	483661594
    539 	.long	1071881273
    540 	.long	836288326
    541 	.long	3162648643
    542 	.long	1534679894
    543 	.long	1071924486
    544 	.long	373258696
    545 	.long	3162470096
    546 	.long	1538714628
    547 	.long	1071966430
    548 	.long	3199433068
    549 	.long	1015325501
    550 	.long	527642555
    551 	.long	1072007128
    552 	.long	3636832592
    553 	.long	3161843145
    554 	.long	291339150
    555 	.long	1072046605
    556 	.long	890169537
    557 	.long	3160586117
    558 	.long	2450210201
    559 	.long	1072084888
    560 	.long	1636353294
    561 	.long	3163193400
    562 	.long	2411367951
    563 	.long	1072122007
    564 	.long	374899873
    565 	.long	1011331750
    566 	.long	681549971
    567 	.long	1072157992
    568 	.long	506411689
    569 	.long	1015373954
    570 	.long	1466745541
    571 	.long	1072192873
    572 	.long	2143860931
    573 	.long	1013364334
    574 	.long	2845622366
    575 	.long	1072226682
    576 	.long	2869178209
    577 	.long	3162423682
    578 	.long	2838871438
    579 	.long	1072275456
    580 	.long	3742223599
    581 	.long	1014338577
    582 	.long	4200275274
    583 	.long	1072337034
    584 	.long	1566539915
    585 	.long	3161839550
    586 	.long	3034733530
    587 	.long	1072394897
    588 	.long	652621408
    589 	.long	3162261964
    590 	.long	3207412993
    591 	.long	1072449290
    592 	.long	3206124665
    593 	.long	1014408733
    594 	.long	624461478
    595 	.long	1072500450
    596 	.long	932437485
    597 	.long	1015204343
    598 	.long	767665908
    599 	.long	1072548600
    600 	.long	1037911952
    601 	.long	3163527627
    602 	.long	1110773639
    603 	.long	1072593952
    604 	.long	2371517912
    605 	.long	3160465741
    606 	.long	1940828530
    607 	.long	1072636704
    608 	.long	2731408428
    609 	.long	3162895795
    610 	.long	1911329388
    611 	.long	1072677041
    612 	.long	1773089615
    613 	.long	3159569267
    614 	.long	1764715788
    615 	.long	1072704191
    616 	.long	691346949
    617 	.long	3164069946
    618 	.long	3332979233
    619 	.long	1072722195
    620 	.long	3550733983
    621 	.long	1014770628
    622 	.long	1321870254
    623 	.long	1072739231
    624 	.long	1415315820
    625 	.long	1016224052
    626 	.long	3657429030
    627 	.long	1072755365
    628 	.long	3910539033
    629 	.long	1015966402
    630 	.long	4197624557
    631 	.long	1072770661
    632 	.long	2333399254
    633 	.long	3164546480
    634 	.long	1512059493
    635 	.long	1072785177
    636 	.long	2701510318
    637 	.long	1016178092
    638 	.long	453379037
    639 	.long	1072798965
    640 	.long	4046344253
    641 	.long	3162814364
    642 	.long	1942345162
    643 	.long	1072818388
    644 	.long	621134147
    645 	.long	1016335195
    646 	.long	4210176273
    647 	.long	1072842164
    648 	.long	2701013387
    649 	.long	3164326619
    650 	.long	4185644010
    651 	.long	1072863795
    652 	.long	4163699341
    653 	.long	1016203112
    654 	.long	679688788
    655 	.long	1072883543
    656 	.long	4147276762
    657 	.long	1014066750
    658 	.long	29432865
    659 	.long	1072901630
    660 	.long	970415797
    661 	.long	1016902063
    662 	.long	4070721092
    663 	.long	1072918247
    664 	.long	2539004411
    665 	.long	3163736096
    666 	.long	2252468843
    667 	.long	1072933561
    668 	.long	3424082887
    669 	.long	3163407177
    670 	.long	2929724825
    671 	.long	1072947712
    672 	.long	3661482235
    673 	.long	3163846989
    674 	.long	1377513368
    675 	.long	1072960824
    676 	.long	3987926680
    677 	.long	1013647908
    678 	.long	1031632908
    679 	.long	1072973003
    680 	.long	3672217151
    681 	.long	1016614619
    682 	.long	2516508130
    683 	.long	1072984342
    684 	.long	545855020
    685 	.long	3162728930
    686 	.long	3792452178
    687 	.long	1072994923
    688 	.long	3420119467
    689 	.long	1016471430
    690 	.long	3147791459
    691 	.long	1073004818
    692 	.long	1342204979
    693 	.long	1013937254
    694 	.long	999189752
    695 	.long	1073014090
    696 	.long	1006335472
    697 	.long	3162850919
    698 	.long	711011011
    699 	.long	1073022794
    700 	.long	4633488
    701 	.long	3162966895
    702 	.long	15640363
    703 	.long	1073030980
    704 	.long	1686389560
    705 	.long	3164376226
    706 	.long	1218463589
    707 	.long	1073042382
    708 	.long	1526837110
    709 	.long	3163533985
    710 	.long	2538470555
    711 	.long	1073056144
    712 	.long	2273304406
    713 	.long	3163784996
    714 	.long	1229720947
    715 	.long	1073068489
    716 	.long	2971628206
    717 	.long	3162356540
    718 	.long	3115427016
    719 	.long	1073079621
    720 	.long	4215132957
    721 	.long	3164282762
    722 	.long	4030612557
    723 	.long	1073089709
    724 	.long	1913251691
    725 	.long	3163671292
    726 	.long	2728521257
    727 	.long	1073098892
    728 	.long	2861089500
    729 	.long	1015454459
    730 	.long	1118696283
    731 	.long	1073107285
    732 	.long	1628948053
    733 	.long	1016179658
    734 	.long	2682711255
    735 	.long	1073114984
    736 	.long	2906306266
    737 	.long	1014142643
    738 	.long	2073898081
    739 	.long	1073122072
    740 	.long	1322740454
    741 	.long	3164497217
    742 	.long	1403700297
    743 	.long	1073128618
    744 	.long	416137895
    745 	.long	3162781466
    746 	.long	2502685617
    747 	.long	1073134681
    748 	.long	3242008732
    749 	.long	1014593495
    750 	.long	1531926851
    751 	.long	1073140313
    752 	.long	1362708094
    753 	.long	1016517604
    754 	.long	3572814411
    755 	.long	1073145557
    756 	.long	3709790527
    757 	.long	1012646874
    758 	.long	1695536111
    759 	.long	1073150453
    760 	.long	3980346340
    761 	.long	1016705136
    762 	.long	2363057203
    763 	.long	1073155033
    764 	.long	2551194792
    765 	.long	1012569695
    766 	.long	2873365682
    767 	.long	1073159327
    768 	.long	3181154748
    769 	.long	1017041450
    770 	.long	1053384691
    771 	.long	1073165288
    772 	.long	3074536879
    773 	.long	1016965660
    774 	.long	3270542712
    775 	.long	1073172451
    776 	.long	2535319415
    777 	.long	3163051778
    778 	.long	1353631484
    779 	.long	1073178850
    780 	.long	1173833755
    781 	.long	1015534537
    782 	.long	3511218460
    783 	.long	1073184599
    784 	.long	1243608109
    785 	.long	3161592122
    786 	.long	4121259284
    787 	.long	1073189793
    788 	.long	398584912
    789 	.long	3163829923
    790 	.long	1193862106
    791 	.long	1073194509
    792 	.long	1873745539
    793 	.long	3163802819
    794 	.long	3861949790
    795 	.long	1073198808
    796 	.long	3841261147
    797 	.long	1015587248
    798 	.long	1486904578
    799 	.long	1073202745
    800 	.long	1634726776
    801 	.long	3163847886
    802 	.long	2879153715
    803 	.long	1073206362
    804 	.long	200456242
    805 	.long	3164138657
    806 	.long	385353253
    807 	.long	1073209698
    808 	.long	1186355517
    809 	.long	1014887155
    810 	.long	1125865839
    811 	.long	1073212783
    812 	.long	203561262
    813 	.long	3161244927
    814 	.long	1221361475
    815 	.long	1073215645
    816 	.long	3382476563
    817 	.long	1014936138
    818 	.long	2077323573
    819 	.long	1073218307
    820 	.long	1005121005
    821 	.long	3164430752
    822 	.long	215611373
    823 	.long	1073220790
    824 	.long	353198764
    825 	.long	3164485137
    826 	.long	2347419265
    827 	.long	1073223110
    828 	.long	1103143360
    829 	.long	1016542137
    830 	.long	1379112765
    831 	.long	1073225284
    832 	.long	381583533
    833 	.long	3162870833
    834 	.long	3891198463
    835 	.long	1073228298
    836 	.long	1771275754
    837 	.long	1014654681
    838 	.long	3395914051
    839 	.long	1073231917
    840 	.long	2350900914
    841 	.long	3164013978
    842 	.long	2799919478
    843 	.long	1073235146
    844 	.long	2893950164
    845 	.long	3163260901
    846 	.long	1138673476
    847 	.long	1073238045
    848 	.long	2622204785
    849 	.long	3164174388
    850 	.long	3408855940
    851 	.long	1073240661
    852 	.long	2800881650
    853 	.long	1016008624
    854 	.long	2044858738
    855 	.long	1073243035
    856 	.long	604544785
    857 	.long	1017022901
    858 	.long	2578795176
    859 	.long	1073245198
    860 	.long	2557332925
    861 	.long	1016135165
    862 	.long	4196285314
    863 	.long	1073247177
    864 	.long	2032365307
    865 	.long	1016194735
    866 	.long	224877747
    867 	.long	1073248996
    868 	.long	497926916
    869 	.long	1016947111
    870 	.long	3271386490
    871 	.long	1073250671
    872 	.long	2689994846
    873 	.long	1016631513
    874 	.long	813635989
    875 	.long	1073252221
    876 	.long	747035277
    877 	.long	3164530136
    878 	.long	369829519
    879 	.long	1073253658
    880 	.long	2182033858
    881 	.long	3163190340
    882 	.long	1187679052
    883 	.long	1073254994
    884 	.long	673954443
    885 	.long	1016149821
    886 	.long	4232586098
    887 	.long	1073256239
    888 	.long	497775200
    889 	.long	3162179015
    890 	.long	426690558
    891 	.long	1073257404
    892 	.long	3063343247
    893 	.long	1016865578
    894 	.long	1624065902
    895 	.long	1073258494
    896 	.long	1354224996
    897 	.long	3163503778
    898 	.long	1413754136
    899 	.long	1073291771
    900 	.long	856972295
    901 	.long	1016178214
    902 	.long	1413754136
    903 	.long	1073291771
    904 	.long	856972295
    905 	.long	1016178214
    906 	.long	4294967295
    907 	.long	2147483647
    908 	.long	0
    909 	.long	0
    910 	.long	0
    911 	.long	1072693248
    912 	.long	0
    913 	.long	0
    914 	.long	0
    915 	.long	4294901760
    916 	.long	0
    917 	.long	0
    918 	.long	0
    919 	.long	32768
    920 	.long	0
    921 	.long	0
    922 	.long	2006262985
    923 	.long	1069310863
    924 	.long	2358449471
    925 	.long	3217342131
    926 	.long	3845454352
    927 	.long	1069952297
    928 	.long	2829679149
    929 	.long	1073771565
    930 	.type	static_const_table,@object
    931 	.size	static_const_table,2704
    932 	.data
    933 	.section .note.GNU-stack, ""
    934 # End
    935