yn.S 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341
  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 "yn.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin yn
  41. .text
  42. .align 16,0x90
  43. .globl yn
  44. yn:
  45. # parameter 1: 8 + %ebp
  46. # parameter 2: 12 + %ebp
  47. ..B1.1:
  48. ..L1:
  49. pushl %ebp
  50. movl %esp, %ebp
  51. andl $-64, %esp
  52. pushl %esi
  53. pushl %edi
  54. pushl %ebx
  55. subl $244, %esp
  56. movl 8(%ebp), %edx
  57. ..B1.2:
  58. fnstcw 70(%esp)
  59. ..B1.3:
  60. movzwl 18(%ebp), %ecx
  61. andl $32752, %ecx
  62. shrl $4, %ecx
  63. call ..L2
  64. ..L2:
  65. popl %ebx
  66. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
  67. cmpl $2047, %ecx
  68. je ..B1.69
  69. ..B1.4:
  70. fldl 12(%ebp)
  71. fldl _zeros@GOTOFF(%ebx)
  72. fcom %st(1)
  73. fnstsw %ax
  74. sahf
  75. jb ..B1.8
  76. ..B1.5:
  77. fxch %st(1)
  78. fucomp %st(1)
  79. fnstsw %ax
  80. sahf
  81. jp ..B1.6
  82. je ..B1.44
  83. ..B1.6:
  84. fldl _infs@GOTOFF(%ebx)
  85. fmulp %st, %st(1)
  86. ..B1.7:
  87. addl $244, %esp
  88. popl %ebx
  89. popl %edi
  90. popl %esi
  91. movl %ebp, %esp
  92. popl %ebp
  93. ret
  94. ..B1.8:
  95. fstp %st(0)
  96. testl %edx, %edx
  97. je ..B1.43
  98. ..B1.9:
  99. jl ..B1.11
  100. ..B1.10:
  101. movl $1, %edi
  102. jmp ..B1.12
  103. ..B1.11:
  104. negl %edx
  105. movl %edx, %eax
  106. notl %eax
  107. andl $1, %eax
  108. lea -1(%eax,%eax), %edi
  109. ..B1.12:
  110. cmpl $1, %edx
  111. je ..B1.58
  112. ..B1.13:
  113. movl %edx, %eax
  114. sarl $5, %eax
  115. cmpl $160, %eax
  116. jg ..B1.15
  117. ..B1.14:
  118. fldl XINF@GOTOFF(%ebx,%eax,8)
  119. jmp ..B1.16
  120. ..B1.15:
  121. lea -640(,%eax,4), %eax
  122. lea (,%eax,8), %ecx
  123. subl %eax, %ecx
  124. movl %ecx, (%esp)
  125. fildl (%esp)
  126. faddl .L_2il0floatpacket.0@GOTOFF(%ebx)
  127. ..B1.16:
  128. fcomp %st(1)
  129. fnstsw %ax
  130. sahf
  131. ja ..B1.42
  132. ..B1.17:
  133. movzwl 70(%esp), %ecx
  134. movl %ecx, %eax
  135. andl $768, %eax
  136. cmpl $768, %eax
  137. je ..B1.57
  138. ..B1.18:
  139. fstp %st(0)
  140. orl $-64768, %ecx
  141. movw %cx, 68(%esp)
  142. ..B1.19:
  143. fldcw 68(%esp)
  144. ..B1.20:
  145. fldl 12(%ebp)
  146. movl $1, %esi
  147. ..B1.21:
  148. fldt _val_20_0L@GOTOFF(%ebx)
  149. fldt _val_1000_0L@GOTOFF(%ebx)
  150. movl %edx, (%esp)
  151. fildl (%esp)
  152. fmul %st, %st(2)
  153. fxch %st(1)
  154. faddp %st, %st(2)
  155. fxch %st(1)
  156. fcomp %st(2)
  157. fnstsw %ax
  158. sahf
  159. ja ..B1.46
  160. ..B1.22:
  161. fldt _val_4_0L@GOTOFF(%ebx)
  162. movl $-1, %eax
  163. fstpt 144(%esp)
  164. fldt 144(%esp)
  165. fld %st(1)
  166. fmulp %st, %st(1)
  167. xorl %ecx, %ecx
  168. fmulp %st, %st(1)
  169. movl %ebx, 28(%esp)
  170. fstpt 192(%esp)
  171. fldt 192(%esp)
  172. fxch %st(1)
  173. fstl 104(%esp)
  174. fldt _val_8_0L@GOTOFF(%ebx)
  175. fmulp %st, %st(1)
  176. fstpt 176(%esp)
  177. fldt 176(%esp)
  178. fldt _val_p1_0L@GOTOFF(%ebx)
  179. fstpt (%esp)
  180. fldt (%esp)
  181. fstpt 112(%esp)
  182. fldt _val_n1_0L@GOTOFF(%ebx)
  183. faddp %st, %st(2)
  184. fdivrp %st, %st(1)
  185. fstpt 72(%esp)
  186. fldt 72(%esp)
  187. fldt _val_2_0L@GOTOFF(%ebx)
  188. fstpt 48(%esp)
  189. fldt 48(%esp)
  190. fstpt 160(%esp)
  191. fldt _val_3_0L@GOTOFF(%ebx)
  192. fstpt 32(%esp)
  193. fldt 32(%esp)
  194. fstpt 128(%esp)
  195. fldt _val_5_0L@GOTOFF(%ebx)
  196. fstpt 16(%esp)
  197. fldt _val_0_0L@GOTOFF(%ebx)
  198. movl %eax, %ebx
  199. fstpt 88(%esp)
  200. fldt 16(%esp)
  201. fldt 128(%esp)
  202. fldt 32(%esp)
  203. fldt 48(%esp)
  204. fldt (%esp)
  205. ..B1.23:
  206. fldt 192(%esp)
  207. fld %st(4)
  208. fmul %st(5), %st
  209. testl %ebx, %ebx
  210. fsubr %st(1), %st
  211. fxch %st(5)
  212. fstpt 128(%esp)
  213. fxch %st(2)
  214. fstpt 48(%esp)
  215. fldt 48(%esp)
  216. fxch %st(1)
  217. fstpt 16(%esp)
  218. fldt 16(%esp)
  219. fstpt 32(%esp)
  220. fldt 32(%esp)
  221. fldt 176(%esp)
  222. fmul %st, %st(2)
  223. fxch %st(2)
  224. fdivrp %st, %st(5)
  225. fxch %st(6)
  226. fmulp %st, %st(4)
  227. fld %st(4)
  228. fmul %st(5), %st
  229. fsubrp %st, %st(2)
  230. fmul %st(2), %st
  231. fdivrp %st, %st(1)
  232. fmul %st(2), %st
  233. fldt 128(%esp)
  234. fldt 48(%esp)
  235. jle ..B1.25
  236. ..B1.24:
  237. fldt 72(%esp)
  238. fadd %st(3), %st
  239. fstpt 72(%esp)
  240. fxch %st(4)
  241. faddp %st, %st(6)
  242. jmp ..B1.26
  243. ..B1.25:
  244. fldt 72(%esp)
  245. fsub %st(3), %st
  246. fstpt 72(%esp)
  247. fxch %st(4)
  248. fsubrp %st, %st(6)
  249. ..B1.26:
  250. fldt 160(%esp)
  251. fadd %st, %st(4)
  252. faddp %st, %st(3)
  253. fld %st(1)
  254. fdiv %st(6), %st
  255. fldt 144(%esp)
  256. fadd %st, %st(2)
  257. faddp %st, %st(6)
  258. fldt 88(%esp)
  259. fcomp %st(1)
  260. fnstsw %ax
  261. sahf
  262. jbe ..B1.29
  263. ..B1.27:
  264. fchs
  265. ..B1.29:
  266. fldt 112(%esp)
  267. fcomp %st(1)
  268. fnstsw %ax
  269. sahf
  270. jbe ..B1.31
  271. ..B1.30:
  272. fstpt 112(%esp)
  273. movl $1, %ecx
  274. jmp ..B1.32
  275. ..B1.31:
  276. fstp %st(0)
  277. testl %ecx, %ecx
  278. jne ..B1.45
  279. ..B1.32:
  280. fldt 16(%esp)
  281. negl %ebx
  282. fucomp %st(6)
  283. fnstsw %ax
  284. sahf
  285. fxch %st(3)
  286. fxch %st(1)
  287. fxch %st(5)
  288. jne ..B1.23
  289. jp ..B1.23
  290. ..B1.33:
  291. fstp %st(2)
  292. fstp %st(3)
  293. fstp %st(2)
  294. fstp %st(0)
  295. fldt 32(%esp)
  296. movl 28(%esp), %ebx
  297. fstpt 12(%esp)
  298. fstpt (%esp)
  299. fstpt 56(%esp)
  300. fldl 104(%esp)
  301. ..B1.34:
  302. addl $-32, %esp
  303. addl %edx, %edx
  304. negl %edx
  305. lea 44(%esp), %eax
  306. decl %edx
  307. lea 88(%esp), %ecx
  308. fstpt (%esp)
  309. fldt (%esp)
  310. movl %eax, 12(%esp)
  311. movl %ecx, 16(%esp)
  312. movl %edx, 20(%esp)
  313. fstpl 92(%eax)
  314. call __libm_sincos_pi4l
  315. ..B1.78:
  316. fldl 136(%esp)
  317. addl $32, %esp
  318. ..B1.35:
  319. fldt _tonpi@GOTOFF(%ebx)
  320. fdivp %st, %st(1)
  321. fsqrt
  322. fldt 12(%esp)
  323. fldt (%esp)
  324. fmulp %st, %st(1)
  325. fldt 56(%esp)
  326. fldt 72(%esp)
  327. fmulp %st, %st(1)
  328. faddp %st, %st(1)
  329. fmulp %st, %st(1)
  330. fstpt 12(%esp)
  331. ..B1.36:
  332. testl %esi, %esi
  333. je ..B1.38
  334. ..B1.37:
  335. fldcw 70(%esp)
  336. ..B1.38:
  337. fldt 12(%esp)
  338. testl %edi, %edi
  339. jge ..B1.41
  340. ..B1.40:
  341. fchs
  342. ..B1.41:
  343. addl $244, %esp
  344. popl %ebx
  345. popl %edi
  346. popl %esi
  347. movl %ebp, %esp
  348. popl %ebp
  349. ret
  350. ..B1.42:
  351. fstp %st(0)
  352. movzbl 19(%ebp), %eax
  353. andl $128, %eax
  354. shrl $7, %eax
  355. fldl _large_value_64@GOTOFF(%ebx,%eax,8)
  356. fmull _large_value_64@GOTOFF(%ebx)
  357. addl $244, %esp
  358. popl %ebx
  359. popl %edi
  360. popl %esi
  361. movl %ebp, %esp
  362. popl %ebp
  363. ret
  364. ..B1.43:
  365. addl $-16, %esp
  366. fstpl (%esp)
  367. call y0@PLT
  368. ..B1.79:
  369. addl $260, %esp
  370. popl %ebx
  371. popl %edi
  372. popl %esi
  373. movl %ebp, %esp
  374. popl %ebp
  375. ret
  376. ..B1.44:
  377. fldl 8+_ones@GOTOFF(%ebx)
  378. fdivp %st, %st(1)
  379. addl $244, %esp
  380. popl %ebx
  381. popl %edi
  382. popl %esi
  383. movl %ebp, %esp
  384. popl %ebp
  385. ret
  386. ..B1.45:
  387. fstp %st(2)
  388. fstp %st(3)
  389. fstp %st(1)
  390. fstp %st(0)
  391. fldt 32(%esp)
  392. movl 28(%esp), %ebx
  393. fstpt 12(%esp)
  394. fxch %st(1)
  395. fstpt (%esp)
  396. fstpt 56(%esp)
  397. fldl 104(%esp)
  398. jmp ..B1.34
  399. ..B1.46:
  400. fstp %st(0)
  401. fldt _val_36_0L@GOTOFF(%ebx)
  402. fcom %st(1)
  403. fnstsw %ax
  404. sahf
  405. jbe ..B1.50
  406. ..B1.47:
  407. fstp %st(0)
  408. addl $-16, %esp
  409. fstpt (%esp)
  410. fldt (%esp)
  411. fstpl 120(%esp)
  412. movl %edx, 52(%esp)
  413. call __y0l@PLT
  414. ..B1.80:
  415. fldl 120(%esp)
  416. movl 52(%esp), %edx
  417. addl $16, %esp
  418. ..B1.48:
  419. fxch %st(1)
  420. fstpt 56(%esp)
  421. addl $-16, %esp
  422. fstpt (%esp)
  423. fldt (%esp)
  424. fstpl 120(%esp)
  425. movl %edx, 52(%esp)
  426. call __y1l@PLT
  427. ..B1.81:
  428. fldl 120(%esp)
  429. movl 52(%esp), %edx
  430. addl $16, %esp
  431. ..B1.49:
  432. fxch %st(1)
  433. jmp ..B1.52
  434. ..B1.50:
  435. fldl _ones@GOTOFF(%ebx)
  436. fdiv %st(2), %st
  437. fmul %st, %st(1)
  438. fld %st(1)
  439. fmul %st(2), %st
  440. fstpt 12(%esp)
  441. fldt 12(%esp)
  442. fxch %st(1)
  443. fstpt 24(%esp)
  444. fxch %st(1)
  445. fstpt (%esp)
  446. fldt (%esp)
  447. fldt _PP0@GOTOFF(%ebx)
  448. fmul %st(2), %st
  449. fldt 12+_PP0@GOTOFF(%ebx)
  450. faddp %st, %st(1)
  451. fmul %st(2), %st
  452. fldt 24+_PP0@GOTOFF(%ebx)
  453. faddp %st, %st(1)
  454. fmul %st(2), %st
  455. fldt _PP1@GOTOFF(%ebx)
  456. fmul %st(3), %st
  457. fldt 12+_PP1@GOTOFF(%ebx)
  458. faddp %st, %st(1)
  459. fmul %st(3), %st
  460. fldt 24+_PP1@GOTOFF(%ebx)
  461. faddp %st, %st(1)
  462. fmul %st(3), %st
  463. fldt 36+_PP1@GOTOFF(%ebx)
  464. faddp %st, %st(1)
  465. fmul %st(3), %st
  466. fldt 36+_PP0@GOTOFF(%ebx)
  467. faddp %st, %st(2)
  468. fxch %st(1)
  469. fmul %st(3), %st
  470. fldt 48+_PP0@GOTOFF(%ebx)
  471. faddp %st, %st(1)
  472. fmul %st(3), %st
  473. fldt 60+_PP0@GOTOFF(%ebx)
  474. faddp %st, %st(1)
  475. fmul %st(3), %st
  476. fldt 48+_PP1@GOTOFF(%ebx)
  477. faddp %st, %st(2)
  478. fxch %st(1)
  479. fmul %st(3), %st
  480. fldt 60+_PP1@GOTOFF(%ebx)
  481. faddp %st, %st(1)
  482. fmul %st(3), %st
  483. fldt 72+_PP1@GOTOFF(%ebx)
  484. faddp %st, %st(1)
  485. fmul %st(3), %st
  486. fldt 72+_PP0@GOTOFF(%ebx)
  487. faddp %st, %st(2)
  488. fxch %st(1)
  489. fmul %st(3), %st
  490. fldt 84+_PP0@GOTOFF(%ebx)
  491. faddp %st, %st(1)
  492. fmul %st(3), %st
  493. fldt 96+_PP0@GOTOFF(%ebx)
  494. faddp %st, %st(1)
  495. fmul %st(3), %st
  496. fldt 84+_PP1@GOTOFF(%ebx)
  497. faddp %st, %st(2)
  498. fxch %st(1)
  499. fmul %st(3), %st
  500. fldt 96+_PP1@GOTOFF(%ebx)
  501. faddp %st, %st(1)
  502. fmul %st(3), %st
  503. fldt 108+_PP0@GOTOFF(%ebx)
  504. faddp %st, %st(2)
  505. fxch %st(1)
  506. fstpt 40(%esp)
  507. addl $-32, %esp
  508. lea 32(%esp), %eax
  509. lea 44(%esp), %ecx
  510. fxch %st(3)
  511. fstpt (%esp)
  512. fldt (%esp)
  513. fldt 108+_PP1@GOTOFF(%ebx)
  514. movl %eax, 12(%esp)
  515. faddp %st, %st(4)
  516. fldt _QP0@GOTOFF(%ebx)
  517. fmul %st(3), %st
  518. fldt 12+_QP0@GOTOFF(%ebx)
  519. movl %ecx, 16(%esp)
  520. faddp %st, %st(1)
  521. fmul %st(3), %st
  522. fldt _QP1@GOTOFF(%ebx)
  523. fmul %st(4), %st
  524. fldt 12+_QP1@GOTOFF(%ebx)
  525. movl $-1, 20(%esp)
  526. faddp %st, %st(1)
  527. fmul %st(4), %st
  528. fxch %st(5)
  529. fstpt 88(%eax)
  530. fxch %st(1)
  531. fstpl 104(%eax)
  532. fldt 24+_QP0@GOTOFF(%ebx)
  533. movl %edx, 36(%eax)
  534. faddp %st, %st(1)
  535. fmul %st(2), %st
  536. fldt 24+_QP1@GOTOFF(%ebx)
  537. faddp %st, %st(4)
  538. fxch %st(2)
  539. fmul %st, %st(3)
  540. fldt 36+_QP1@GOTOFF(%ebx)
  541. faddp %st, %st(4)
  542. fmul %st, %st(3)
  543. fldt 48+_QP1@GOTOFF(%ebx)
  544. faddp %st, %st(4)
  545. fmul %st, %st(3)
  546. fldt 60+_QP1@GOTOFF(%ebx)
  547. faddp %st, %st(4)
  548. fmul %st, %st(3)
  549. fldt 72+_QP1@GOTOFF(%ebx)
  550. faddp %st, %st(4)
  551. fmul %st, %st(3)
  552. fldt 84+_QP1@GOTOFF(%ebx)
  553. faddp %st, %st(4)
  554. fmul %st, %st(3)
  555. fldt 96+_QP1@GOTOFF(%ebx)
  556. faddp %st, %st(4)
  557. fldt 36+_QP0@GOTOFF(%ebx)
  558. faddp %st, %st(3)
  559. fmul %st, %st(2)
  560. fldt 48+_QP0@GOTOFF(%ebx)
  561. faddp %st, %st(3)
  562. fmul %st, %st(2)
  563. fldt 60+_QP0@GOTOFF(%ebx)
  564. faddp %st, %st(3)
  565. fmul %st, %st(2)
  566. fldt 72+_QP0@GOTOFF(%ebx)
  567. faddp %st, %st(3)
  568. fmul %st, %st(2)
  569. fldt 84+_QP0@GOTOFF(%ebx)
  570. faddp %st, %st(3)
  571. fmul %st, %st(2)
  572. fldt 96+_QP0@GOTOFF(%ebx)
  573. faddp %st, %st(3)
  574. fmul %st, %st(2)
  575. fmulp %st, %st(3)
  576. fldt 108+_QP0@GOTOFF(%ebx)
  577. faddp %st, %st(2)
  578. fmul %st, %st(1)
  579. fxch %st(1)
  580. fstpt 56(%eax)
  581. fldt 108+_QP1@GOTOFF(%ebx)
  582. faddp %st, %st(2)
  583. fmulp %st, %st(1)
  584. fstpt 72(%eax)
  585. call __libm_sincos_pi4l
  586. ..B1.82:
  587. fldl 136(%esp)
  588. fldt 120(%esp)
  589. fldt 104(%esp)
  590. fldt 88(%esp)
  591. movl 68(%esp), %edx
  592. addl $32, %esp
  593. ..B1.51:
  594. fldt _tonpi@GOTOFF(%ebx)
  595. fldt 24(%esp)
  596. fmulp %st, %st(1)
  597. fsqrt
  598. fldt (%esp)
  599. fldt 12(%esp)
  600. fmul %st, %st(3)
  601. fmulp %st, %st(5)
  602. fldt 40(%esp)
  603. fmul %st(1), %st
  604. faddp %st, %st(3)
  605. fxch %st(1)
  606. fmul %st, %st(2)
  607. fxch %st(2)
  608. fstpt 56(%esp)
  609. fmulp %st, %st(2)
  610. fxch %st(2)
  611. fsubrp %st, %st(1)
  612. fmulp %st, %st(1)
  613. ..B1.52:
  614. fldt _val_2_0L@GOTOFF(%ebx)
  615. cmpl $1, %edx
  616. fld %st(0)
  617. jle ..B1.56
  618. ..B1.53:
  619. fldt 56(%esp)
  620. decl %edx
  621. xorl %eax, %eax
  622. ..B1.54:
  623. fld %st(1)
  624. incl %eax
  625. fdiv %st(5), %st
  626. cmpl %edx, %eax
  627. fmul %st(4), %st
  628. fxch %st(2)
  629. fadd %st(3), %st
  630. fxch %st(2)
  631. fsubp %st, %st(1)
  632. fld %st(3)
  633. jae ..B1.55
  634. ..B1.84:
  635. fstp %st(4)
  636. fxch %st(3)
  637. jmp ..B1.54
  638. ..B1.55:
  639. fstp %st(5)
  640. fstp %st(4)
  641. fstp %st(0)
  642. fstp %st(0)
  643. fxch %st(1)
  644. fstpt 12(%esp)
  645. fstpt 56(%esp)
  646. jmp ..B1.36
  647. ..B1.56:
  648. fstp %st(3)
  649. fstp %st(2)
  650. fstp %st(1)
  651. fstpt 12(%esp)
  652. jmp ..B1.36
  653. ..B1.57:
  654. xorl %esi, %esi
  655. jmp ..B1.21
  656. ..B1.58:
  657. testl %ecx, %ecx
  658. jne ..B1.65
  659. ..B1.59:
  660. testl $1048575, 16(%ebp)
  661. jne ..B1.65
  662. ..B1.60:
  663. cmpl $1, 12(%ebp)
  664. jne ..B1.65
  665. ..B1.61:
  666. fstp %st(0)
  667. fldl _large_value_64@GOTOFF(%ebx)
  668. testl %edi, %edi
  669. jl ..B1.63
  670. ..B1.62:
  671. fldl 8+_large_value_64@GOTOFF(%ebx)
  672. fmulp %st, %st(1)
  673. addl $244, %esp
  674. popl %ebx
  675. popl %edi
  676. popl %esi
  677. movl %ebp, %esp
  678. popl %ebp
  679. ret
  680. ..B1.63:
  681. fld %st(0)
  682. fmulp %st, %st(1)
  683. ..B1.64:
  684. addl $244, %esp
  685. popl %ebx
  686. popl %edi
  687. popl %esi
  688. movl %ebp, %esp
  689. popl %ebp
  690. ret
  691. ..B1.65:
  692. addl $-16, %esp
  693. fstpl (%esp)
  694. call y1@PLT
  695. ..B1.83:
  696. addl $16, %esp
  697. testl %edi, %edi
  698. jge ..B1.68
  699. ..B1.67:
  700. fchs
  701. ..B1.68:
  702. addl $244, %esp
  703. popl %ebx
  704. popl %edi
  705. popl %esi
  706. movl %ebp, %esp
  707. popl %ebp
  708. ret
  709. ..B1.69:
  710. testl $1048575, 16(%ebp)
  711. jne ..B1.74
  712. ..B1.70:
  713. cmpl $0, 12(%ebp)
  714. jne ..B1.74
  715. ..B1.71:
  716. movzbl 19(%ebp), %eax
  717. testl $128, %eax
  718. jne ..B1.75
  719. ..B1.72:
  720. movl %edx, %eax
  721. shrl $31, %eax
  722. andl %edx, %eax
  723. fldl _zeros@GOTOFF(%ebx,%eax,8)
  724. ..B1.73:
  725. addl $244, %esp
  726. popl %ebx
  727. popl %edi
  728. popl %esi
  729. movl %ebp, %esp
  730. popl %ebp
  731. ret
  732. ..B1.74:
  733. fldl 12(%ebp)
  734. fmull _ones@GOTOFF(%ebx)
  735. addl $244, %esp
  736. popl %ebx
  737. popl %edi
  738. popl %esi
  739. movl %ebp, %esp
  740. popl %ebp
  741. ret
  742. ..B1.75:
  743. fldl _infs@GOTOFF(%ebx)
  744. fmull _zeros@GOTOFF(%ebx)
  745. addl $244, %esp
  746. popl %ebx
  747. popl %edi
  748. popl %esi
  749. movl %ebp, %esp
  750. popl %ebp
  751. ret
  752. .align 16,0x90
  753. .type yn,@function
  754. .size yn,.-yn
  755. .data
  756. # -- End yn
  757. .section .rodata, "a"
  758. .align 8
  759. .align 8
  760. .L_2il0floatpacket.0:
  761. .long 0x00000000,0x40adc000
  762. .type .L_2il0floatpacket.0,@object
  763. .size .L_2il0floatpacket.0,8
  764. .align 8
  765. XINF:
  766. .long 0x00000000,0x00000000
  767. .long 0x00000000,0x00000000
  768. .long 0x00000000,0x00000000
  769. .long 0x00000000,0x00000000
  770. .long 0x33333333,0x3fd33333
  771. .long 0xcccccccd,0x3ff4cccc
  772. .long 0x33333333,0x400b3333
  773. .long 0x33333333,0x401b3333
  774. .long 0x33333333,0x40273333
  775. .long 0xcccccccd,0x4031cccc
  776. .long 0x66666666,0x40396666
  777. .long 0x9999999a,0x40411999
  778. .long 0x9999999a,0x40461999
  779. .long 0x66666666,0x404ba666
  780. .long 0x9999999a,0x4050d999
  781. .long 0x00000000,0x40542000
  782. .long 0x33333333,0x40579333
  783. .long 0x9999999a,0x405b3999
  784. .long 0x00000000,0x405f0000
  785. .long 0x00000000,0x40618000
  786. .long 0x00000000,0x40638000
  787. .long 0x00000000,0x4065a000
  788. .long 0x00000000,0x4067e000
  789. .long 0x00000000,0x406a2000
  790. .long 0x00000000,0x406c8000
  791. .long 0x00000000,0x406ee000
  792. .long 0x00000000,0x4070a000
  793. .long 0x00000000,0x4071e000
  794. .long 0x00000000,0x40732000
  795. .long 0x00000000,0x40746000
  796. .long 0x00000000,0x4075b000
  797. .long 0x00000000,0x40770000
  798. .long 0x00000000,0x40785000
  799. .long 0x00000000,0x4079a000
  800. .long 0x00000000,0x407b0000
  801. .long 0x00000000,0x407c6000
  802. .long 0x00000000,0x407dc000
  803. .long 0x00000000,0x407f3000
  804. .long 0x00000000,0x40804800
  805. .long 0x00000000,0x40810000
  806. .long 0x00000000,0x4081b800
  807. .long 0x00000000,0x40827000
  808. .long 0x00000000,0x40832800
  809. .long 0x00000000,0x4083e000
  810. .long 0x00000000,0x4084a000
  811. .long 0x00000000,0x40856000
  812. .long 0x00000000,0x40861800
  813. .long 0x00000000,0x4086d800
  814. .long 0x00000000,0x4087a000
  815. .long 0x00000000,0x40886000
  816. .long 0x00000000,0x40892000
  817. .long 0x00000000,0x4089e800
  818. .long 0x00000000,0x408aa800
  819. .long 0x00000000,0x408b7000
  820. .long 0x00000000,0x408c3000
  821. .long 0x00000000,0x408cf800
  822. .long 0x00000000,0x408dc000
  823. .long 0x00000000,0x408e8800
  824. .long 0x00000000,0x408f5800
  825. .long 0x00000000,0x40901000
  826. .long 0x00000000,0x40907400
  827. .long 0x00000000,0x4090d800
  828. .long 0x00000000,0x40914000
  829. .long 0x00000000,0x4091a800
  830. .long 0x00000000,0x40920c00
  831. .long 0x00000000,0x40927400
  832. .long 0x00000000,0x4092dc00
  833. .long 0x00000000,0x40934400
  834. .long 0x00000000,0x4093a800
  835. .long 0x00000000,0x40941000
  836. .long 0x00000000,0x40947800
  837. .long 0x00000000,0x4094e400
  838. .long 0x00000000,0x40954c00
  839. .long 0x00000000,0x4095b400
  840. .long 0x00000000,0x40961c00
  841. .long 0x00000000,0x40968800
  842. .long 0x00000000,0x4096f000
  843. .long 0x00000000,0x40975c00
  844. .long 0x00000000,0x4097c400
  845. .long 0x00000000,0x40983000
  846. .long 0x00000000,0x40989800
  847. .long 0x00000000,0x40990400
  848. .long 0x00000000,0x40997000
  849. .long 0x00000000,0x4099d800
  850. .long 0x00000000,0x409a4400
  851. .long 0x00000000,0x409ab000
  852. .long 0x00000000,0x409b1c00
  853. .long 0x00000000,0x409b8800
  854. .long 0x00000000,0x409bf400
  855. .long 0x00000000,0x409c6000
  856. .long 0x00000000,0x409ccc00
  857. .long 0x00000000,0x409d3800
  858. .long 0x00000000,0x409da400
  859. .long 0x00000000,0x409e1000
  860. .long 0x00000000,0x409e8000
  861. .long 0x00000000,0x409eec00
  862. .long 0x00000000,0x409f5800
  863. .long 0x00000000,0x409fc800
  864. .long 0x00000000,0x40a01a00
  865. .long 0x00000000,0x40a05000
  866. .long 0x00000000,0x40a08800
  867. .long 0x00000000,0x40a0be00
  868. .long 0x00000000,0x40a0f600
  869. .long 0x00000000,0x40a12c00
  870. .long 0x00000000,0x40a16400
  871. .long 0x00000000,0x40a19a00
  872. .long 0x00000000,0x40a1d200
  873. .long 0x00000000,0x40a20a00
  874. .long 0x00000000,0x40a24000
  875. .long 0x00000000,0x40a27800
  876. .long 0x00000000,0x40a2b000
  877. .long 0x00000000,0x40a2e800
  878. .long 0x00000000,0x40a31e00
  879. .long 0x00000000,0x40a35600
  880. .long 0x00000000,0x40a38e00
  881. .long 0x00000000,0x40a3c600
  882. .long 0x00000000,0x40a3fe00
  883. .long 0x00000000,0x40a43600
  884. .long 0x00000000,0x40a46e00
  885. .long 0x00000000,0x40a4a600
  886. .long 0x00000000,0x40a4de00
  887. .long 0x00000000,0x40a51600
  888. .long 0x00000000,0x40a54e00
  889. .long 0x00000000,0x40a58600
  890. .long 0x00000000,0x40a5be00
  891. .long 0x00000000,0x40a5f600
  892. .long 0x00000000,0x40a62e00
  893. .long 0x00000000,0x40a66600
  894. .long 0x00000000,0x40a6a000
  895. .long 0x00000000,0x40a6d800
  896. .long 0x00000000,0x40a71000
  897. .long 0x00000000,0x40a74800
  898. .long 0x00000000,0x40a78200
  899. .long 0x00000000,0x40a7ba00
  900. .long 0x00000000,0x40a7f200
  901. .long 0x00000000,0x40a82c00
  902. .long 0x00000000,0x40a86400
  903. .long 0x00000000,0x40a89c00
  904. .long 0x00000000,0x40a8d600
  905. .long 0x00000000,0x40a90e00
  906. .long 0x00000000,0x40a94600
  907. .long 0x00000000,0x40a98000
  908. .long 0x00000000,0x40a9b800
  909. .long 0x00000000,0x40a9f200
  910. .long 0x00000000,0x40aa2a00
  911. .long 0x00000000,0x40aa6400
  912. .long 0x00000000,0x40aa9c00
  913. .long 0x00000000,0x40aad600
  914. .long 0x00000000,0x40ab1000
  915. .long 0x00000000,0x40ab4800
  916. .long 0x00000000,0x40ab8200
  917. .long 0x00000000,0x40abba00
  918. .long 0x00000000,0x40abf400
  919. .long 0x00000000,0x40ac2e00
  920. .long 0x00000000,0x40ac6600
  921. .long 0x00000000,0x40aca000
  922. .long 0x00000000,0x40acda00
  923. .long 0x00000000,0x40ad1200
  924. .long 0x00000000,0x40ad4c00
  925. .long 0x00000000,0x40ad8600
  926. .long 0x00000000,0x40adc000
  927. .type XINF,@object
  928. .size XINF,1288
  929. .align 4
  930. _zeros:
  931. .long 0
  932. .long 0
  933. .long 0
  934. .long 2147483648
  935. .type _zeros,@object
  936. .size _zeros,16
  937. .align 4
  938. _infs:
  939. .long 0
  940. .long 2146435072
  941. .long 0
  942. .long 4293918720
  943. .type _infs,@object
  944. .size _infs,16
  945. .align 4
  946. _large_value_64:
  947. .long 0
  948. .long 2121269248
  949. .long 0
  950. .long 4268752896
  951. .type _large_value_64,@object
  952. .size _large_value_64,16
  953. .align 4
  954. _ones:
  955. .long 0
  956. .long 1072693248
  957. .long 0
  958. .long 3220176896
  959. .type _ones,@object
  960. .size _ones,16
  961. .align 2
  962. _val_20_0L:
  963. .word 0
  964. .word 0
  965. .word 0
  966. .word 40960
  967. .word 16387
  968. .word 0
  969. .type _val_20_0L,@object
  970. .size _val_20_0L,12
  971. .align 2
  972. _val_1000_0L:
  973. .word 0
  974. .word 0
  975. .word 0
  976. .word 64000
  977. .word 16392
  978. .word 0
  979. .type _val_1000_0L,@object
  980. .size _val_1000_0L,12
  981. .align 2
  982. _val_4_0L:
  983. .word 0
  984. .word 0
  985. .word 0
  986. .word 32768
  987. .word 16385
  988. .word 0
  989. .type _val_4_0L,@object
  990. .size _val_4_0L,12
  991. .align 2
  992. _val_8_0L:
  993. .word 0
  994. .word 0
  995. .word 0
  996. .word 32768
  997. .word 16386
  998. .word 0
  999. .type _val_8_0L,@object
  1000. .size _val_8_0L,12
  1001. .align 2
  1002. _val_p1_0L:
  1003. .word 0
  1004. .word 0
  1005. .word 0
  1006. .word 32768
  1007. .word 16383
  1008. .word 0
  1009. .type _val_p1_0L,@object
  1010. .size _val_p1_0L,12
  1011. .align 2
  1012. _val_n1_0L:
  1013. .word 0
  1014. .word 0
  1015. .word 0
  1016. .word 32768
  1017. .word 49151
  1018. .word 0
  1019. .type _val_n1_0L,@object
  1020. .size _val_n1_0L,12
  1021. .align 2
  1022. _val_2_0L:
  1023. .word 0
  1024. .word 0
  1025. .word 0
  1026. .word 32768
  1027. .word 16384
  1028. .word 0
  1029. .type _val_2_0L,@object
  1030. .size _val_2_0L,12
  1031. .align 2
  1032. _val_3_0L:
  1033. .word 0
  1034. .word 0
  1035. .word 0
  1036. .word 49152
  1037. .word 16384
  1038. .word 0
  1039. .type _val_3_0L,@object
  1040. .size _val_3_0L,12
  1041. .align 2
  1042. _val_5_0L:
  1043. .word 0
  1044. .word 0
  1045. .word 0
  1046. .word 40960
  1047. .word 16385
  1048. .word 0
  1049. .type _val_5_0L,@object
  1050. .size _val_5_0L,12
  1051. .align 2
  1052. _val_0_0L:
  1053. .word 0
  1054. .word 0
  1055. .word 0
  1056. .word 0
  1057. .word 0
  1058. .word 0
  1059. .type _val_0_0L,@object
  1060. .size _val_0_0L,12
  1061. .align 2
  1062. _tonpi:
  1063. .word 5418
  1064. .word 20036
  1065. .word 33646
  1066. .word 41721
  1067. .word 16382
  1068. .word 0
  1069. .type _tonpi,@object
  1070. .size _tonpi,12
  1071. .align 2
  1072. _val_36_0L:
  1073. .word 0
  1074. .word 0
  1075. .word 0
  1076. .word 36864
  1077. .word 16388
  1078. .word 0
  1079. .type _val_36_0L,@object
  1080. .size _val_36_0L,12
  1081. .align 2
  1082. _PP0:
  1083. .word 3555
  1084. .word 4199
  1085. .word 61716
  1086. .word 36505
  1087. .word 49086
  1088. .word 0
  1089. .word 21640
  1090. .word 56203
  1091. .word 47336
  1092. .word 57608
  1093. .word 16322
  1094. .word 0
  1095. .word 3059
  1096. .word 27554
  1097. .word 42044
  1098. .word 45622
  1099. .word 49095
  1100. .word 0
  1101. .word 55815
  1102. .word 35656
  1103. .word 54748
  1104. .word 47307
  1105. .word 16332
  1106. .word 0
  1107. .word 42025
  1108. .word 6728
  1109. .word 28939
  1110. .word 34692
  1111. .word 49106
  1112. .word 0
  1113. .word 58943
  1114. .word 11189
  1115. .word 14960
  1116. .word 38786
  1117. .word 16344
  1118. .word 0
  1119. .word 43526
  1120. .word 20005
  1121. .word 29826
  1122. .word 37014
  1123. .word 49119
  1124. .word 0
  1125. .word 58976
  1126. .word 17109
  1127. .word 36079
  1128. .word 36708
  1129. .word 16359
  1130. .word 0
  1131. .word 58243
  1132. .word 36408
  1133. .word 14563
  1134. .word 58254
  1135. .word 49136
  1136. .word 0
  1137. .word 0
  1138. .word 0
  1139. .word 0
  1140. .word 32768
  1141. .word 16383
  1142. .word 0
  1143. .type _PP0,@object
  1144. .size _PP0,120
  1145. .align 2
  1146. _PP1:
  1147. .word 52008
  1148. .word 23245
  1149. .word 2457
  1150. .word 38658
  1151. .word 16318
  1152. .word 0
  1153. .word 61876
  1154. .word 57278
  1155. .word 25234
  1156. .word 61346
  1157. .word 49090
  1158. .word 0
  1159. .word 33834
  1160. .word 23040
  1161. .word 39409
  1162. .word 49003
  1163. .word 16327
  1164. .word 0
  1165. .word 54525
  1166. .word 6554
  1167. .word 40935
  1168. .word 51421
  1169. .word 49100
  1170. .word 0
  1171. .word 9848
  1172. .word 9769
  1173. .word 18248
  1174. .word 38344
  1175. .word 16338
  1176. .word 0
  1177. .word 45790
  1178. .word 60252
  1179. .word 47538
  1180. .word 43957
  1181. .word 49112
  1182. .word 0
  1183. .word 27022
  1184. .word 41654
  1185. .word 23333
  1186. .word 43744
  1187. .word 16351
  1188. .word 0
  1189. .word 12816
  1190. .word 40723
  1191. .word 46387
  1192. .word 47196
  1193. .word 49127
  1194. .word 0
  1195. .word 4849
  1196. .word 19418
  1197. .word 12136
  1198. .word 48545
  1199. .word 16369
  1200. .word 0
  1201. .word 0
  1202. .word 0
  1203. .word 0
  1204. .word 32768
  1205. .word 16383
  1206. .word 0
  1207. .type _PP1,@object
  1208. .size _PP1,120
  1209. .align 2
  1210. _QP0:
  1211. .word 30466
  1212. .word 14887
  1213. .word 33885
  1214. .word 35327
  1215. .word 16316
  1216. .word 0
  1217. .word 41139
  1218. .word 65374
  1219. .word 59488
  1220. .word 50915
  1221. .word 49088
  1222. .word 0
  1223. .word 35675
  1224. .word 30946
  1225. .word 22284
  1226. .word 35505
  1227. .word 16325
  1228. .word 0
  1229. .word 65216
  1230. .word 29458
  1231. .word 42913
  1232. .word 63176
  1233. .word 49097
  1234. .word 0
  1235. .word 5130
  1236. .word 24339
  1237. .word 48915
  1238. .word 38634
  1239. .word 16335
  1240. .word 0
  1241. .word 30040
  1242. .word 27658
  1243. .word 23448
  1244. .word 34596
  1245. .word 49109
  1246. .word 0
  1247. .word 37816
  1248. .word 17431
  1249. .word 24401
  1250. .word 49646
  1251. .word 16347
  1252. .word 0
  1253. .word 4377
  1254. .word 35057
  1255. .word 45578
  1256. .word 33037
  1257. .word 49123
  1258. .word 0
  1259. .word 19863
  1260. .word 65266
  1261. .word 6202
  1262. .word 53939
  1263. .word 16363
  1264. .word 0
  1265. .word 58254
  1266. .word 36408
  1267. .word 14563
  1268. .word 58254
  1269. .word 49142
  1270. .word 0
  1271. .type _QP0,@object
  1272. .size _QP0,120
  1273. .align 2
  1274. _QP1:
  1275. .word 65402
  1276. .word 6822
  1277. .word 45128
  1278. .word 37300
  1279. .word 49084
  1280. .word 0
  1281. .word 41532
  1282. .word 52948
  1283. .word 50360
  1284. .word 54021
  1285. .word 16320
  1286. .word 0
  1287. .word 21320
  1288. .word 30785
  1289. .word 26870
  1290. .word 37955
  1291. .word 49093
  1292. .word 0
  1293. .word 55382
  1294. .word 38611
  1295. .word 29746
  1296. .word 34115
  1297. .word 16330
  1298. .word 0
  1299. .word 37194
  1300. .word 6554
  1301. .word 16235
  1302. .word 42314
  1303. .word 49103
  1304. .word 0
  1305. .word 17886
  1306. .word 15840
  1307. .word 33918
  1308. .word 38666
  1309. .word 16341
  1310. .word 0
  1311. .word 62905
  1312. .word 55876
  1313. .word 18072
  1314. .word 57284
  1315. .word 49115
  1316. .word 0
  1317. .word 28423
  1318. .word 64693
  1319. .word 26579
  1320. .word 40379
  1321. .word 16355
  1322. .word 0
  1323. .word 40135
  1324. .word 58793
  1325. .word 24002
  1326. .word 37757
  1327. .word 49132
  1328. .word 0
  1329. .word 43691
  1330. .word 43690
  1331. .word 43690
  1332. .word 43690
  1333. .word 16376
  1334. .word 0
  1335. .type _QP1,@object
  1336. .size _QP1,120
  1337. .data
  1338. .hidden __libm_sincos_pi4l
  1339. .section .note.GNU-stack, ""
  1340. # End