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