atan2.S 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197
  1. /*
  2. * Math library
  3. *
  4. * Copyright (C) 2016 Intel Corporation. All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions
  8. * are met:
  9. *
  10. * * Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in
  14. * the documentation and/or other materials provided with the
  15. * distribution.
  16. * * Neither the name of Intel Corporation nor the names of its
  17. * contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. *
  32. *
  33. * Author Name <jingwei.zhang@intel.com>
  34. * History:
  35. * 03-14-2016 Initial version. numerics svn rev. 12864
  36. */
  37. .file "atan2.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin atan2
  41. .text
  42. .align 16,0x90
  43. .globl atan2
  44. atan2:
  45. # parameter 1: %xmm0
  46. # parameter 2: %xmm1
  47. ..B1.1:
  48. .cfi_startproc
  49. ..___tag_value_atan2.1:
  50. ..L2:
  51. subq $24, %rsp
  52. .cfi_def_cfa_offset 32
  53. movsd %xmm0, (%rsp)
  54. movsd %xmm1, 8(%rsp)
  55. ..B1.2:
  56. pextrw $3, %xmm0, %eax
  57. andl $32752, %eax
  58. subl $14448, %eax
  59. cmpl $3840, %eax
  60. ja .L_2TAG_PACKET_0.0.2
  61. pextrw $3, %xmm1, %eax
  62. andl $32752, %eax
  63. subl $14448, %eax
  64. cmpl $3840, %eax
  65. ja .L_2TAG_PACKET_1.0.2
  66. .L_2TAG_PACKET_2.0.2:
  67. unpcklpd %xmm1, %xmm0
  68. xorpd %xmm5, %xmm5
  69. xorpd %xmm3, %xmm3
  70. movl $2048, %eax
  71. pinsrw $3, %eax, %xmm5
  72. paddw %xmm1, %xmm5
  73. psrlq $29, %xmm5
  74. rcpss %xmm5, %xmm3
  75. xorpd %xmm4, %xmm4
  76. movl $14336, %ecx
  77. pinsrw $3, %ecx, %xmm4
  78. psllq $29, %xmm3
  79. paddw %xmm4, %xmm3
  80. mulsd %xmm0, %xmm3
  81. xorpd %xmm2, %xmm2
  82. xorpd %xmm6, %xmm6
  83. xorpd %xmm7, %xmm7
  84. movl $32768, %eax
  85. pinsrw $2, %eax, %xmm6
  86. movl $32767, %ecx
  87. pinsrw $3, %ecx, %xmm7
  88. paddd %xmm6, %xmm3
  89. andpd %xmm7, %xmm3
  90. movq %xmm3, %xmm5
  91. pextrw $3, %xmm3, %eax
  92. movl $16448, %ecx
  93. pinsrw $3, %ecx, %xmm2
  94. minsd %xmm2, %xmm3
  95. movmskpd %xmm0, %edx
  96. psllq $1, %xmm0
  97. psrlq $1, %xmm0
  98. cmpsd $2, %xmm2, %xmm5
  99. psllq $1, %xmm1
  100. psrlq $1, %xmm1
  101. movq %xmm1, %xmm6
  102. movq %xmm1, %xmm7
  103. movq %xmm0, %xmm2
  104. movl $0, %ecx
  105. pinsrw $0, %ecx, %xmm6
  106. subsd %xmm6, %xmm7
  107. movq %xmm0, %xmm4
  108. mulsd %xmm3, %xmm6
  109. mulsd %xmm3, %xmm4
  110. mulsd %xmm3, %xmm7
  111. andpd %xmm5, %xmm0
  112. subsd %xmm6, %xmm0
  113. andpd %xmm5, %xmm1
  114. addsd %xmm1, %xmm4
  115. subsd %xmm7, %xmm0
  116. andl $32752, %eax
  117. subl $16286, %eax
  118. cmpl $1121, %eax
  119. ja .L_2TAG_PACKET_3.0.2
  120. divsd %xmm4, %xmm0
  121. pextrw $3, %xmm3, %ecx
  122. movsd a2(%rip), %xmm2
  123. movsd b2(%rip), %xmm3
  124. pextrw $0, %xmm5, %eax
  125. addl %edx, %edx
  126. lea P_TBL(%rip), %r8
  127. movapd (%r8,%rdx,8), %xmm6
  128. lea SGN_TBL(%rip), %r8
  129. movapd (%r8,%rdx,8), %xmm1
  130. subl $16286, %ecx
  131. notl %eax
  132. andl $1, %eax
  133. addl %eax, %ecx
  134. addl %ecx, %ecx
  135. lea ATAN_TBL(%rip), %r8
  136. movapd (%r8,%rcx,8), %xmm5
  137. xorpd %xmm1, %xmm5
  138. addpd %xmm6, %xmm5
  139. movq %xmm5, %xmm6
  140. unpckhpd %xmm5, %xmm5
  141. xorpd %xmm0, %xmm1
  142. movq %xmm1, %xmm4
  143. mulsd %xmm0, %xmm0
  144. mulsd %xmm0, %xmm2
  145. addsd %xmm0, %xmm3
  146. addsd %xmm6, %xmm1
  147. subsd %xmm1, %xmm6
  148. addsd %xmm4, %xmm6
  149. addsd 8+a2(%rip), %xmm2
  150. mulsd %xmm0, %xmm3
  151. mulsd %xmm4, %xmm0
  152. addsd %xmm5, %xmm6
  153. mulsd %xmm2, %xmm0
  154. addsd 8+b2(%rip), %xmm3
  155. mulsd %xmm3, %xmm0
  156. addsd %xmm6, %xmm0
  157. addsd %xmm1, %xmm0
  158. jmp ..B1.5
  159. .L_2TAG_PACKET_3.0.2:
  160. addl $942, %eax
  161. cmpl $942, %eax
  162. ja .L_2TAG_PACKET_4.0.2
  163. xorpd %xmm4, %xmm4
  164. movl $16368, %ecx
  165. pinsrw $3, %ecx, %xmm4
  166. divsd %xmm1, %xmm4
  167. addl %edx, %edx
  168. lea SGN_TBL(%rip), %r8
  169. movapd (%r8,%rdx,8), %xmm6
  170. unpcklpd %xmm3, %xmm3
  171. xorpd %xmm6, %xmm0
  172. xorpd %xmm6, %xmm2
  173. xorpd %xmm6, %xmm3
  174. lea P_TBL2(%rip), %r8
  175. movapd (%r8,%rdx,8), %xmm7
  176. movsd a2(%rip), %xmm1
  177. movsd b2(%rip), %xmm5
  178. lea SELECT_B(%rip), %r8
  179. andpd (%r8,%rdx,8), %xmm3
  180. mulsd %xmm4, %xmm2
  181. mulsd %xmm4, %xmm0
  182. movq %xmm2, %xmm6
  183. mulsd %xmm2, %xmm2
  184. mulsd %xmm2, %xmm1
  185. addsd %xmm2, %xmm5
  186. mulsd %xmm2, %xmm6
  187. addsd 8+a2(%rip), %xmm1
  188. mulsd %xmm2, %xmm5
  189. addsd %xmm0, %xmm7
  190. addpd %xmm3, %xmm7
  191. mulsd %xmm6, %xmm1
  192. addsd 8+b2(%rip), %xmm5
  193. mulsd %xmm1, %xmm5
  194. addsd %xmm7, %xmm5
  195. pshufd $238, %xmm7, %xmm0
  196. addsd %xmm5, %xmm0
  197. jmp ..B1.5
  198. .L_2TAG_PACKET_4.0.2:
  199. movsd 8(%rsp), %xmm1
  200. movsd (%rsp), %xmm0
  201. pextrw $3, %xmm1, %eax
  202. andl $32752, %eax
  203. pextrw $3, %xmm0, %ecx
  204. andl $32752, %ecx
  205. cmpl %eax, %ecx
  206. jg .L_2TAG_PACKET_5.0.2
  207. pextrw $3, %xmm1, %ecx
  208. cmpl $32767, %ecx
  209. jg .L_2TAG_PACKET_6.0.2
  210. divsd %xmm1, %xmm0
  211. jmp ..B1.5
  212. .L_2TAG_PACKET_6.0.2:
  213. andpd SGNMASK(%rip), %xmm0
  214. movsd pi_table(%rip), %xmm2
  215. xorpd %xmm2, %xmm0
  216. jmp ..B1.5
  217. .L_2TAG_PACKET_5.0.2:
  218. andpd SGNMASK(%rip), %xmm0
  219. movsd pi2_table(%rip), %xmm2
  220. xorpd %xmm2, %xmm0
  221. jmp ..B1.5
  222. .L_2TAG_PACKET_0.0.2:
  223. .L_2TAG_PACKET_1.0.2:
  224. pextrw $3, %xmm0, %ecx
  225. andl $32752, %ecx
  226. pextrw $3, %xmm1, %eax
  227. andl $32752, %eax
  228. cmpl $32752, %ecx
  229. je .L_2TAG_PACKET_7.0.2
  230. cmpl $32752, %eax
  231. je .L_2TAG_PACKET_8.0.2
  232. movsd POW55(%rip), %xmm3
  233. movl $1024, %edx
  234. movsd INVEXPMASK(%rip), %xmm4
  235. xorpd %xmm6, %xmm6
  236. movsd EXPMASK(%rip), %xmm7
  237. cmpl $0, %ecx
  238. je .L_2TAG_PACKET_9.0.2
  239. .L_2TAG_PACKET_10.0.2:
  240. cmpl $0, %eax
  241. je .L_2TAG_PACKET_11.0.2
  242. .L_2TAG_PACKET_12.0.2:
  243. addl %ecx, %edx
  244. subl %eax, %edx
  245. cmpl $2048, %edx
  246. ja .L_2TAG_PACKET_4.0.2
  247. addl $15344, %edx
  248. pinsrw $3, %edx, %xmm6
  249. andpd %xmm4, %xmm0
  250. andpd %xmm4, %xmm1
  251. orpd %xmm6, %xmm0
  252. orpd %xmm7, %xmm1
  253. jmp .L_2TAG_PACKET_2.0.2
  254. .L_2TAG_PACKET_9.0.2:
  255. subl $880, %edx
  256. mulsd %xmm3, %xmm0
  257. pextrw $3, %xmm0, %ecx
  258. andl $32752, %ecx
  259. cmpl $0, %ecx
  260. je .L_2TAG_PACKET_13.0.2
  261. jmp .L_2TAG_PACKET_10.0.2
  262. .L_2TAG_PACKET_11.0.2:
  263. addl $880, %edx
  264. mulsd %xmm3, %xmm1
  265. pextrw $3, %xmm1, %eax
  266. andl $32752, %eax
  267. cmpl $0, %eax
  268. je .L_2TAG_PACKET_14.0.2
  269. jmp .L_2TAG_PACKET_12.0.2
  270. .L_2TAG_PACKET_7.0.2:
  271. movd %xmm0, %edx
  272. movq %xmm0, %xmm2
  273. psrlq $32, %xmm2
  274. movd %xmm2, %ecx
  275. andl $1048575, %ecx
  276. orl %edx, %ecx
  277. cmpl $0, %ecx
  278. jne .L_2TAG_PACKET_15.0.2
  279. psrlq $63, %xmm0
  280. psllq $63, %xmm0
  281. cmpl $32752, %eax
  282. jae .L_2TAG_PACKET_16.0.2
  283. movapd pi2_table(%rip), %xmm5
  284. pshufd $238, %xmm5, %xmm4
  285. addsd %xmm4, %xmm5
  286. orpd %xmm5, %xmm0
  287. jmp ..B1.5
  288. .L_2TAG_PACKET_15.0.2:
  289. addsd %xmm0, %xmm0
  290. jmp ..B1.5
  291. .L_2TAG_PACKET_16.0.2:
  292. movd %xmm1, %eax
  293. movq %xmm1, %xmm2
  294. psrlq $32, %xmm2
  295. movd %xmm2, %ecx
  296. movl $-2147483648, %edx
  297. andl %ecx, %edx
  298. andl $1048575, %ecx
  299. orl %eax, %ecx
  300. cmpl $0, %ecx
  301. jne .L_2TAG_PACKET_17.0.2
  302. cmpl $0, %edx
  303. jne .L_2TAG_PACKET_18.0.2
  304. movapd pi4_table(%rip), %xmm5
  305. pshufd $238, %xmm5, %xmm4
  306. addsd %xmm4, %xmm5
  307. orpd %xmm5, %xmm0
  308. jmp ..B1.5
  309. .L_2TAG_PACKET_17.0.2:
  310. movq %xmm1, %xmm0
  311. addsd %xmm0, %xmm0
  312. jmp ..B1.5
  313. .L_2TAG_PACKET_18.0.2:
  314. movapd pi4_table(%rip), %xmm5
  315. movapd pi2_table(%rip), %xmm6
  316. addpd %xmm6, %xmm5
  317. pshufd $238, %xmm5, %xmm6
  318. addpd %xmm6, %xmm5
  319. orpd %xmm5, %xmm0
  320. jmp ..B1.5
  321. .L_2TAG_PACKET_8.0.2:
  322. movd %xmm1, %eax
  323. movq %xmm1, %xmm2
  324. psrlq $32, %xmm2
  325. movd %xmm2, %ecx
  326. movl $-2147483648, %edx
  327. andl %ecx, %edx
  328. andl $1048575, %ecx
  329. orl %eax, %ecx
  330. cmpl $0, %ecx
  331. jne .L_2TAG_PACKET_17.0.2
  332. psrlq $63, %xmm0
  333. psllq $63, %xmm0
  334. cmpl $0, %edx
  335. jne .L_2TAG_PACKET_19.0.2
  336. jmp ..B1.5
  337. .L_2TAG_PACKET_19.0.2:
  338. movapd pi_table(%rip), %xmm5
  339. pshufd $238, %xmm5, %xmm4
  340. addsd %xmm4, %xmm5
  341. orpd %xmm5, %xmm0
  342. jmp ..B1.5
  343. .L_2TAG_PACKET_13.0.2:
  344. pextrw $3, %xmm1, %edx
  345. andl $32768, %edx
  346. cmpl $0, %edx
  347. je .L_2TAG_PACKET_20.0.2
  348. movapd pi_table(%rip), %xmm5
  349. pshufd $238, %xmm5, %xmm4
  350. addsd %xmm4, %xmm5
  351. comisd %xmm0, %xmm1
  352. orpd %xmm5, %xmm0
  353. je .L_2TAG_PACKET_21.0.2
  354. jmp ..B1.5
  355. .L_2TAG_PACKET_20.0.2:
  356. comisd %xmm0, %xmm1
  357. je .L_2TAG_PACKET_21.0.2
  358. jmp ..B1.5
  359. .L_2TAG_PACKET_14.0.2:
  360. movapd pi2_table(%rip), %xmm5
  361. psrlq $63, %xmm0
  362. psllq $63, %xmm0
  363. pshufd $238, %xmm5, %xmm4
  364. addsd %xmm4, %xmm5
  365. orpd %xmm5, %xmm0
  366. jmp ..B1.5
  367. .L_2TAG_PACKET_21.0.2:
  368. movq %xmm0, 16(%rsp)
  369. ..B1.3:
  370. movq 16(%rsp), %xmm0
  371. .L_2TAG_PACKET_22.0.2:
  372. ..B1.5:
  373. addq $24, %rsp
  374. .cfi_def_cfa_offset 8
  375. ret
  376. .align 16,0x90
  377. .cfi_endproc
  378. .type atan2,@function
  379. .size atan2,.-atan2
  380. .data
  381. # -- End atan2
  382. .section .rodata, "a"
  383. .align 16
  384. .align 16
  385. a2:
  386. .long 2006262985
  387. .long 1069310863
  388. .long 2358449471
  389. .long 3217342131
  390. .type a2,@object
  391. .size a2,16
  392. .align 16
  393. b2:
  394. .long 3845454352
  395. .long 1069952297
  396. .long 2829679149
  397. .long 1073771565
  398. .type b2,@object
  399. .size b2,16
  400. .align 16
  401. P_TBL:
  402. .long 0
  403. .long 0
  404. .long 0
  405. .long 0
  406. .long 0
  407. .long 0
  408. .long 0
  409. .long 0
  410. .long 1413754136
  411. .long 1074340347
  412. .long 856972295
  413. .long 1017226790
  414. .long 1413754136
  415. .long 3221823995
  416. .long 856972295
  417. .long 3164710438
  418. .type P_TBL,@object
  419. .size P_TBL,64
  420. .align 16
  421. SGN_TBL:
  422. .long 0
  423. .long 0
  424. .long 0
  425. .long 0
  426. .long 0
  427. .long 2147483648
  428. .long 0
  429. .long 2147483648
  430. .long 0
  431. .long 2147483648
  432. .long 0
  433. .long 2147483648
  434. .long 0
  435. .long 0
  436. .long 0
  437. .long 0
  438. .type SGN_TBL,@object
  439. .size SGN_TBL,64
  440. .align 16
  441. ATAN_TBL:
  442. .long 3390881280
  443. .long 1067318733
  444. .long 1411116779
  445. .long 1018950063
  446. .long 2985987840
  447. .long 1067384211
  448. .long 2088903695
  449. .long 1018086027
  450. .long 3148445184
  451. .long 1067449685
  452. .long 2044163806
  453. .long 1017271335
  454. .long 3667629184
  455. .long 1067515494
  456. .long 2353092775
  457. .long 1019967309
  458. .long 1546568832
  459. .long 1067580954
  460. .long 611991315
  461. .long 1017602584
  462. .long 3815996800
  463. .long 1067646404
  464. .long 466038598
  465. .long 1019686426
  466. .long 4050241920
  467. .long 1067711845
  468. .long 3265026328
  469. .long 1019626952
  470. .long 120454912
  471. .long 1067777277
  472. .long 1542207696
  473. .long 1020155608
  474. .long 2784639744
  475. .long 1067842697
  476. .long 3883834623
  477. .long 1018602870
  478. .long 1328010624
  479. .long 1067908107
  480. .long 1791097456
  481. .long 1019053126
  482. .long 2217794048
  483. .long 1067973505
  484. .long 551619938
  485. .long 1018494194
  486. .long 3333520000
  487. .long 1068038891
  488. .long 2390331823
  489. .long 1019033022
  490. .long 2557052032
  491. .long 1068104265
  492. .long 2423976108
  493. .long 1019728674
  494. .long 2067649536
  495. .long 1068169626
  496. .long 3757397745
  497. .long 1018672362
  498. .long 4047094784
  499. .long 1068234973
  500. .long 481613184
  501. .long 1019275104
  502. .long 2089853184
  503. .long 1068300307
  504. .long 1733914374
  505. .long 1020124677
  506. .long 2678003840
  507. .long 1068365626
  508. .long 1373600282
  509. .long 1013935474
  510. .long 3706496128
  511. .long 1068430930
  512. .long 1000610902
  513. .long 1019673285
  514. .long 3073179008
  515. .long 1068496219
  516. .long 1497143008
  517. .long 1019900342
  518. .long 2803716736
  519. .long 1068562846
  520. .long 1476677416
  521. .long 1019444094
  522. .long 3204984128
  523. .long 1068628077
  524. .long 1192335905
  525. .long 1018748628
  526. .long 831146624
  527. .long 1068693273
  528. .long 2733586224
  529. .long 1018823295
  530. .long 243029376
  531. .long 1068758431
  532. .long 950106081
  533. .long 1019046675
  534. .long 1735561920
  535. .long 1068823549
  536. .long 3546440856
  537. .long 1020104712
  538. .long 1339217792
  539. .long 1068888626
  540. .long 3028812387
  541. .long 1019818321
  542. .long 3706342144
  543. .long 1068953659
  544. .long 3814564029
  545. .long 1017763871
  546. .long 637726976
  547. .long 1069018648
  548. .long 3584007699
  549. .long 1017976868
  550. .long 1148779264
  551. .long 1069083589
  552. .long 2282532133
  553. .long 1019483954
  554. .long 1406131392
  555. .long 1069148481
  556. .long 1547359113
  557. .long 1019786342
  558. .long 1908875904
  559. .long 1069213322
  560. .long 1315508410
  561. .long 1020009473
  562. .long 3194947520
  563. .long 1069278110
  564. .long 3845393201
  565. .long 1015803761
  566. .long 1547487744
  567. .long 1069342844
  568. .long 3863107865
  569. .long 1019810104
  570. .long 1881061952
  571. .long 1069407521
  572. .long 4288343548
  573. .long 1019687581
  574. .long 563086336
  575. .long 1069472140
  576. .long 2582230241
  577. .long 1020099350
  578. .long 2594975552
  579. .long 1069536698
  580. .long 2306443764
  581. .long 1019667244
  582. .long 3438545024
  583. .long 1069606573
  584. .long 957455549
  585. .long 1015587735
  586. .long 4211357472
  587. .long 1069670906
  588. .long 2611778754
  589. .long 1017877214
  590. .long 3002835424
  591. .long 1069735101
  592. .long 235580458
  593. .long 1020211685
  594. .long 3905315424
  595. .long 1069799150
  596. .long 3630647617
  597. .long 1018736849
  598. .long 2849656576
  599. .long 1069863047
  600. .long 2412165062
  601. .long 1019693004
  602. .long 507429472
  603. .long 1069926785
  604. .long 1397750723
  605. .long 1018412717
  606. .long 2307470272
  607. .long 1069990356
  608. .long 1796470904
  609. .long 1019796181
  610. .long 1271814912
  611. .long 1070053755
  612. .long 189761565
  613. .long 1016149115
  614. .long 3800538144
  615. .long 1070116974
  616. .long 2524871582
  617. .long 1018263353
  618. .long 3916203552
  619. .long 1070180008
  620. .long 127848658
  621. .long 1017672664
  622. .long 457192032
  623. .long 1070242851
  624. .long 4020400938
  625. .long 1019823010
  626. .long 1385324704
  627. .long 1070305495
  628. .long 564511179
  629. .long 1016079094
  630. .long 2322869856
  631. .long 1070367935
  632. .long 2347103319
  633. .long 1018927760
  634. .long 3743438624
  635. .long 1070430165
  636. .long 877973862
  637. .long 1019638162
  638. .long 2392255552
  639. .long 1070492180
  640. .long 2432782267
  641. .long 1018872629
  642. .long 4180443328
  643. .long 1070553973
  644. .long 3102990015
  645. .long 1020093101
  646. .long 2547540832
  647. .long 1070636485
  648. .long 3877738253
  649. .long 1017300424
  650. .long 2735468912
  651. .long 1070697461
  652. .long 2446470256
  653. .long 1019235378
  654. .long 542633792
  655. .long 1070757943
  656. .long 583606328
  657. .long 1018624131
  658. .long 923265984
  659. .long 1070817911
  660. .long 1793926708
  661. .long 1019714161
  662. .long 918728448
  663. .long 1070877348
  664. .long 3726463586
  665. .long 1019433296
  666. .long 2572275008
  667. .long 1070936237
  668. .long 1845354238
  669. .long 1019459238
  670. .long 50974688
  671. .long 1070994564
  672. .long 983808064
  673. .long 1016685418
  674. .long 1105518320
  675. .long 1071052313
  676. .long 2357496692
  677. .long 1015139882
  678. .long 1264825328
  679. .long 1071109472
  680. .long 2244129354
  681. .long 1019046344
  682. .long 961157920
  683. .long 1071166029
  684. .long 3124185339
  685. .long 1018541776
  686. .long 1162701584
  687. .long 1071221973
  688. .long 1279780948
  689. .long 1019268918
  690. .long 3284935664
  691. .long 1071277294
  692. .long 2670033472
  693. .long 1019833744
  694. .long 497441888
  695. .long 1071331985
  696. .long 1032737410
  697. .long 1019795212
  698. .long 3377383904
  699. .long 1071386036
  700. .long 2356897182
  701. .long 1020205553
  702. .long 1126962000
  703. .long 1071439443
  704. .long 3723724586
  705. .long 1015212418
  706. .long 90291008
  707. .long 1071492199
  708. .long 4178672431
  709. .long 1020186971
  710. .long 190059536
  711. .long 1071595741
  712. .long 1763589807
  713. .long 1019162163
  714. .long 2497392840
  715. .long 1071670654
  716. .long 3036997041
  717. .long 1020204325
  718. .long 2616971944
  719. .long 1071719773
  720. .long 300151069
  721. .long 1017041957
  722. .long 2883518128
  723. .long 1071767563
  724. .long 2203981414
  725. .long 1019190108
  726. .long 1496354352
  727. .long 1071814030
  728. .long 332287966
  729. .long 1016846435
  730. .long 483276728
  731. .long 1071859184
  732. .long 653845024
  733. .long 1018830914
  734. .long 3097401072
  735. .long 1071903039
  736. .long 1514746408
  737. .long 1019278972
  738. .long 2737217248
  739. .long 1071945615
  740. .long 1358845067
  741. .long 1017268275
  742. .long 2072577560
  743. .long 1071986933
  744. .long 3041024735
  745. .long 1019929672
  746. .long 2266405656
  747. .long 1072027017
  748. .long 1271261130
  749. .long 1012925070
  750. .long 958652544
  751. .long 1072065894
  752. .long 2158017058
  753. .long 1019955372
  754. .long 3312993840
  755. .long 1072103591
  756. .long 765809169
  757. .long 1019114443
  758. .long 3177001304
  759. .long 1072140139
  760. .long 144180084
  761. .long 1019822186
  762. .long 3071642184
  763. .long 1072175568
  764. .long 4004602424
  765. .long 1019420740
  766. .long 4283953648
  767. .long 1072209909
  768. .long 1511950430
  769. .long 1020176966
  770. .long 1413754136
  771. .long 1072243195
  772. .long 856972295
  773. .long 1015129638
  774. .long 4073202944
  775. .long 1072306725
  776. .long 4068194804
  777. .long 1019714860
  778. .long 946117760
  779. .long 1072366415
  780. .long 694980733
  781. .long 1020150135
  782. .long 3980632032
  783. .long 1072422512
  784. .long 1313251280
  785. .long 1019948709
  786. .long 1468297112
  787. .long 1072475260
  788. .long 330111143
  789. .long 1019809198
  790. .long 3478063816
  791. .long 1072524887
  792. .long 2930067044
  793. .long 1017784081
  794. .long 1153979856
  795. .long 1072571613
  796. .long 2225786102
  797. .long 1017634481
  798. .long 2089828808
  799. .long 1072615641
  800. .long 474621367
  801. .long 1017043414
  802. .long 3531732632
  803. .long 1072657163
  804. .long 2276396220
  805. .long 1018757240
  806. .long 775214612
  807. .long 1072694803
  808. .long 3209744818
  809. .long 1019963015
  810. .long 662307284
  811. .long 1072713319
  812. .long 1381696763
  813. .long 1019763781
  814. .long 1192776652
  815. .long 1072730830
  816. .long 3017932994
  817. .long 1015179769
  818. .long 744202396
  819. .long 1072747407
  820. .long 2073854034
  821. .long 1019512292
  822. .long 8337908
  823. .long 1072763115
  824. .long 16004448
  825. .long 1019599514
  826. .long 3589868768
  827. .long 1072778013
  828. .long 1374369804
  829. .long 1018019237
  830. .long 121647320
  831. .long 1072792159
  832. .long 128481634
  833. .long 1018115438
  834. .long 2464923204
  835. .long 1072805601
  836. .long 1787331214
  837. .long 1016798022
  838. .long 4093304372
  839. .long 1072830562
  840. .long 3306868969
  841. .long 1019384078
  842. .long 1436891684
  843. .long 1072853231
  844. .long 676347266
  845. .long 1017302183
  846. .long 1104571840
  847. .long 1072873890
  848. .long 2870400285
  849. .long 1019938149
  850. .long 2037009832
  851. .long 1072892781
  852. .long 2956702105
  853. .long 1016472908
  854. .long 3139037960
  855. .long 1072910111
  856. .long 916057147
  857. .long 1018364335
  858. .long 1826698064
  859. .long 1072926058
  860. .long 2171961098
  861. .long 1019669816
  862. .long 1353941060
  863. .long 1072940774
  864. .long 1722928782
  865. .long 1019926215
  866. .long 1803191644
  867. .long 1072954391
  868. .long 1547878639
  869. .long 1020259262
  870. .long 1092591296
  871. .long 1072967024
  872. .long 3070107923
  873. .long 1018320401
  874. .long 2205372832
  875. .long 1072978772
  876. .long 787328196
  877. .long 1014621351
  878. .long 1291577100
  879. .long 1072989723
  880. .long 2964757301
  881. .long 1020242528
  882. .long 4234512804
  883. .long 1072999952
  884. .long 3136030038
  885. .long 1017522144
  886. .long 3248069132
  887. .long 1073009528
  888. .long 1506192355
  889. .long 1018050472
  890. .long 3932628500
  891. .long 1073018509
  892. .long 1045823554
  893. .long 1019946655
  894. .long 4195697848
  895. .long 1073026948
  896. .long 233443322
  897. .long 1018917447
  898. .long 2501811452
  899. .long 1073034892
  900. .long 901427976
  901. .long 1017333852
  902. .long 866379428
  903. .long 1073049455
  904. .long 2437443742
  905. .long 1019678792
  906. .long 1376865888
  907. .long 1073062480
  908. .long 3365790232
  909. .long 1014547152
  910. .long 3290094268
  911. .long 1073074195
  912. .long 3898947415
  913. .long 1018683566
  914. .long 354764884
  915. .long 1073084787
  916. .long 3854322404
  917. .long 1019662058
  918. .long 3332975496
  919. .long 1073094406
  920. .long 3171701655
  921. .long 1017830922
  922. .long 1141460088
  923. .long 1073103181
  924. .long 3946082701
  925. .long 1020032019
  926. .long 745761284
  927. .long 1073111216
  928. .long 1347210591
  929. .long 1019106121
  930. .long 1673304508
  931. .long 1073118600
  932. .long 1760606642
  933. .long 1017324577
  934. .long 983388240
  935. .long 1073125409
  936. .long 3740651204
  937. .long 1019514104
  938. .long 3895509100
  939. .long 1073131706
  940. .long 2409629983
  941. .long 1020069322
  942. .long 2128523668
  943. .long 1073137548
  944. .long 3045605368
  945. .long 1018579174
  946. .long 2075485692
  947. .long 1073142981
  948. .long 3720571789
  949. .long 1017557436
  950. .long 121855976
  951. .long 1073148047
  952. .long 2391744767
  953. .long 1020160645
  954. .long 4181733780
  955. .long 1073152780
  956. .long 995028816
  957. .long 1019681295
  958. .long 2887813280
  959. .long 1073157214
  960. .long 218733247
  961. .long 1020003509
  962. .long 2862180896
  963. .long 1073161375
  964. .long 2043806490
  965. .long 1018602288
  966. .long 3909375184
  967. .long 1073168973
  968. .long 1559903412
  969. .long 1020103444
  970. .long 3533966292
  971. .long 1073175738
  972. .long 734884149
  973. .long 1018462962
  974. .long 3815044608
  975. .long 1073181799
  976. .long 3630523428
  977. .long 1017250093
  978. .long 739639376
  979. .long 1073187261
  980. .long 4167476661
  981. .long 1020008277
  982. .long 1068309648
  983. .long 1073192207
  984. .long 2110061437
  985. .long 1019295858
  986. .long 2350566352
  987. .long 1073196707
  988. .long 582596516
  989. .long 1018568821
  990. .long 2529520024
  991. .long 1073200819
  992. .long 745552787
  993. .long 1019053165
  994. .long 1841667508
  995. .long 1073204591
  996. .long 3982568700
  997. .long 1016503327
  998. .long 2242261080
  999. .long 1073208063
  1000. .long 3433582258
  1001. .long 1016196763
  1002. .long 715134328
  1003. .long 1073211270
  1004. .long 355901358
  1005. .long 1020087916
  1006. .long 2700735876
  1007. .long 1073214240
  1008. .long 3640957736
  1009. .long 1019780205
  1010. .long 141607580
  1011. .long 1073217000
  1012. .long 2488245051
  1013. .long 1020262395
  1014. .long 287934404
  1015. .long 1073219570
  1016. .long 2392691085
  1017. .long 1019883292
  1018. .long 2363373988
  1019. .long 1073221969
  1020. .long 4194561737
  1021. .long 1019237447
  1022. .long 3829340424
  1023. .long 1073224214
  1024. .long 429455526
  1025. .long 1019490975
  1026. .long 1988805928
  1027. .long 1073226320
  1028. .long 3029848706
  1029. .long 1018104889
  1030. .long 1647572320
  1031. .long 1073230161
  1032. .long 10289938
  1033. .long 1017394880
  1034. .long 3988000624
  1035. .long 1073233576
  1036. .long 1957559169
  1037. .long 1019434816
  1038. .long 4263843944
  1039. .long 1073236633
  1040. .long 204710264
  1041. .long 1019908761
  1042. .long 663197724
  1043. .long 1073239386
  1044. .long 1921757578
  1045. .long 1019778948
  1046. .long 3560800700
  1047. .long 1073241876
  1048. .long 3994348896
  1049. .long 1019230192
  1050. .long 2441785656
  1051. .long 1073244141
  1052. .long 871468611
  1053. .long 1014800505
  1054. .long 3277400272
  1055. .long 1073246209
  1056. .long 4092218139
  1057. .long 1020040842
  1058. .long 3951990120
  1059. .long 1073248105
  1060. .long 4276546478
  1061. .long 1019763677
  1062. .long 2737338540
  1063. .long 1073249850
  1064. .long 252776012
  1065. .long 1018794951
  1066. .long 1511361316
  1067. .long 1073251461
  1068. .long 3119653999
  1069. .long 1018514803
  1070. .long 3969162516
  1071. .long 1073252952
  1072. .long 1037069016
  1073. .long 1016792900
  1074. .long 413985240
  1075. .long 1073254338
  1076. .long 4110171432
  1077. .long 1020001345
  1078. .long 3681283576
  1079. .long 1073255627
  1080. .long 1463092818
  1081. .long 1020260354
  1082. .long 3146455488
  1083. .long 1073256831
  1084. .long 1031209123
  1085. .long 1016554799
  1086. .long 95214512
  1087. .long 1073257958
  1088. .long 1373808632
  1089. .long 1019493031
  1090. .long 4250240828
  1091. .long 1073259013
  1092. .long 3891047882
  1093. .long 1020108730
  1094. .long 1413754136
  1095. .long 1073291771
  1096. .long 856972295
  1097. .long 1016178214
  1098. .type ATAN_TBL,@object
  1099. .size ATAN_TBL,2624
  1100. .align 16
  1101. P_TBL2:
  1102. .long 0
  1103. .long 0
  1104. .long 0
  1105. .long 0
  1106. .long 0
  1107. .long 0
  1108. .long 0
  1109. .long 0
  1110. .long 856972295
  1111. .long 1017226790
  1112. .long 1413754136
  1113. .long 1074340347
  1114. .long 856972295
  1115. .long 3164710438
  1116. .long 1413754136
  1117. .long 3221823995
  1118. .type P_TBL2,@object
  1119. .size P_TBL2,64
  1120. .align 16
  1121. SELECT_B:
  1122. .long 0
  1123. .long 0
  1124. .long 4294967295
  1125. .long 4294967295
  1126. .long 0
  1127. .long 0
  1128. .long 4294967295
  1129. .long 4294967295
  1130. .long 4294967295
  1131. .long 4294967295
  1132. .long 0
  1133. .long 0
  1134. .long 4294967295
  1135. .long 4294967295
  1136. .long 0
  1137. .long 0
  1138. .type SELECT_B,@object
  1139. .size SELECT_B,64
  1140. .align 16
  1141. SGNMASK:
  1142. .long 0
  1143. .long 2147483648
  1144. .long 0
  1145. .long 2147483648
  1146. .type SGNMASK,@object
  1147. .size SGNMASK,16
  1148. .align 16
  1149. pi_table:
  1150. .long 1413754136
  1151. .long 1074340347
  1152. .long 856972295
  1153. .long 1017226790
  1154. .type pi_table,@object
  1155. .size pi_table,16
  1156. .align 16
  1157. pi2_table:
  1158. .long 1413754136
  1159. .long 1073291771
  1160. .long 856972295
  1161. .long 1016178214
  1162. .type pi2_table,@object
  1163. .size pi2_table,16
  1164. .align 16
  1165. pi4_table:
  1166. .long 1413754136
  1167. .long 1072243195
  1168. .long 856972295
  1169. .long 1015129638
  1170. .type pi4_table,@object
  1171. .size pi4_table,16
  1172. .align 4
  1173. POW55:
  1174. .long 0
  1175. .long 1130364928
  1176. .type POW55,@object
  1177. .size POW55,8
  1178. .align 4
  1179. INVEXPMASK:
  1180. .long 4294967295
  1181. .long 2148532223
  1182. .type INVEXPMASK,@object
  1183. .size INVEXPMASK,8
  1184. .align 4
  1185. EXPMASK:
  1186. .long 0
  1187. .long 1072693248
  1188. .type EXPMASK,@object
  1189. .size EXPMASK,8
  1190. .data
  1191. .section .note.GNU-stack, ""
  1192. // -- Begin DWARF2 SEGMENT .eh_frame
  1193. .section .eh_frame,"a",@progbits
  1194. .eh_frame_seg:
  1195. .align 1
  1196. # End