blob: 2453e10024ff8628001fb8e39f29dc8c6359de20 [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// 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
61ENTRY(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:
214END(atan)
215# -- End atan
216 .section .rodata, "a"
217 .align 4
218 .align 4
219ONEMASK:
220 .long 0
221 .long 1072693248
222 .type ONEMASK,@object
223 .size ONEMASK,8
224 .align 4
225a2:
226 .long 2006262985
227 .long 1069310863
228 .long 2358449471
229 .long 3217342131
230 .type a2,@object
231 .size a2,16
232 .align 4
233b2:
234 .long 3845454352
235 .long 1069952297
236 .long 2829679149
237 .long 1073771565
238 .type b2,@object
239 .size b2,16
240 .align 4
241atan_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
893pi_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
901SGNMASK:
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