libm_atan2l_k80.S 43 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634
  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 "libm_atan2l_k80.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin __libm_atan2l_k80
  41. .text
  42. .align 16,0x90
  43. .hidden __libm_atan2l_k80
  44. .globl __libm_atan2l_k80
  45. __libm_atan2l_k80:
  46. # parameter 1: 8 + %ebp
  47. # parameter 2: 12 + %ebp
  48. # parameter 3: 16 + %ebp
  49. ..B1.1:
  50. ..L1:
  51. pushl %ebp
  52. movl %esp, %ebp
  53. andl $-16, %esp
  54. pushl %esi
  55. pushl %edi
  56. pushl %ebx
  57. subl $180, %esp
  58. movl 16(%ebp), %edx
  59. movl 12(%ebp), %ecx
  60. movl %gs:20, %eax
  61. movzbl 9(%edx), %esi
  62. xorl %esp, %eax
  63. andl $128, %esi
  64. movl %eax, 172(%esp)
  65. shrl $7, %esi
  66. movl %esi, 44(%esp)
  67. movzbl 9(%ecx), %esi
  68. movzwl 8(%ecx), %eax
  69. andl $128, %esi
  70. andl $32767, %eax
  71. movzwl 8(%edx), %edi
  72. shrl $7, %esi
  73. andl $32767, %edi
  74. call ..L2
  75. ..L2:
  76. popl %ebx
  77. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
  78. cmpl $32767, %eax
  79. je ..B1.110
  80. ..B1.2:
  81. cmpl $32767, %edi
  82. je ..B1.97
  83. ..B1.3:
  84. movl 4(%ecx), %eax
  85. testl %eax, %eax
  86. jne ..B1.5
  87. ..B1.4:
  88. cmpl $0, (%ecx)
  89. je ..B1.8
  90. ..B1.5:
  91. cmpl $0, 4(%edx)
  92. jne ..B1.20
  93. ..B1.6:
  94. cmpl $0, (%edx)
  95. jne ..B1.20
  96. ..B1.7:
  97. testl %eax, %eax
  98. jne ..B1.17
  99. ..B1.116:
  100. cmpl $0, (%ecx)
  101. ..B1.8:
  102. jne ..B1.17
  103. ..B1.9:
  104. cmpl $0, 4(%edx)
  105. jne ..B1.14
  106. ..B1.10:
  107. cmpl $0, (%edx)
  108. jne ..B1.14
  109. ..B1.11:
  110. movl 8(%ebp), %eax
  111. cmpl $0, 44(%esp)
  112. movl $0, 24(%eax)
  113. je ..B1.13
  114. ..B1.12:
  115. movl 8(%ebp), %ecx
  116. lea (,%esi,8), %eax
  117. lea (%eax,%esi,4), %edx
  118. fldt _pi_00l@GOTOFF(%edx,%ebx)
  119. fstpt (%ecx)
  120. fldt _pilo_00l@GOTOFF(%edx,%ebx)
  121. fldt _small_value_80@GOTOFF(%edx,%ebx)
  122. fsubrp %st, %st(1)
  123. fstpt 12(%ecx)
  124. jmp ..B1.18
  125. ..B1.13:
  126. fldt .L_2il0floatpacket.11@GOTOFF(%ebx)
  127. fldz
  128. fmull ones@GOTOFF(%ebx,%esi,8)
  129. movl 8(%ebp), %eax
  130. fstpt (%eax)
  131. fstpt 12(%eax)
  132. jmp ..B1.18
  133. ..B1.14:
  134. movl 8(%ebp), %eax
  135. cmpl $0, 44(%esp)
  136. movl $0, 24(%eax)
  137. je ..B1.16
  138. ..B1.15:
  139. movl 8(%ebp), %ecx
  140. lea (,%esi,8), %eax
  141. lea (%eax,%esi,4), %edx
  142. fldt _pi_00l@GOTOFF(%edx,%ebx)
  143. fstpt (%ecx)
  144. fldt _pilo_00l@GOTOFF(%edx,%ebx)
  145. fldt _small_value_80@GOTOFF(%edx,%ebx)
  146. fsubrp %st, %st(1)
  147. fstpt 12(%ecx)
  148. jmp ..B1.18
  149. ..B1.16:
  150. fldt .L_2il0floatpacket.11@GOTOFF(%ebx)
  151. fldz
  152. fmull ones@GOTOFF(%ebx,%esi,8)
  153. movl 8(%ebp), %eax
  154. fstpt (%eax)
  155. fstpt 12(%eax)
  156. jmp ..B1.18
  157. ..B1.17:
  158. movl 8(%ebp), %edx
  159. lea (,%esi,8), %eax
  160. lea (%eax,%esi,4), %esi
  161. fldt _pi_02l@GOTOFF(%esi,%ebx)
  162. movl $0, 24(%edx)
  163. fstpt (%edx)
  164. fldt _pilo_02l@GOTOFF(%esi,%ebx)
  165. fldt _small_value_80@GOTOFF(%esi,%ebx)
  166. fsubrp %st, %st(1)
  167. fstpt 12(%edx)
  168. ..B1.18:
  169. movl 172(%esp), %eax
  170. xorl %esp, %eax
  171. cmpl %gs:20, %eax
  172. jne ..B1.89
  173. ..B1.19:
  174. addl $180, %esp
  175. popl %ebx
  176. popl %edi
  177. popl %esi
  178. movl %ebp, %esp
  179. popl %ebp
  180. ret
  181. ..B1.20:
  182. movl (%edx), %edi
  183. lea 116(%esp), %eax
  184. movl %edi, (%eax)
  185. movl 4(%edx), %edi
  186. movl %edi, 4(%eax)
  187. movl 8(%edx), %edi
  188. movl %edi, 8(%eax)
  189. movl 12(%edx), %edi
  190. movl %edi, 12(%eax)
  191. movl 16(%edx), %edi
  192. movl %edi, 16(%eax)
  193. movl 20(%edx), %edi
  194. movl 24(%edx), %edx
  195. movl %edi, 20(%eax)
  196. movl %edx, 24(%eax)
  197. movl (%ecx), %edx
  198. movl 4(%ecx), %edi
  199. movl %edx, 28(%eax)
  200. movl %edi, 32(%eax)
  201. movl 8(%ecx), %edx
  202. movl 12(%ecx), %edi
  203. movl %edx, 36(%eax)
  204. movl %edi, 40(%eax)
  205. movl 16(%ecx), %edx
  206. movl 20(%ecx), %edi
  207. movl 24(%ecx), %ecx
  208. movl %edx, 44(%eax)
  209. movl %edi, 48(%eax)
  210. movl %ecx, 52(%eax)
  211. addl $4, %esp
  212. pushl %eax
  213. call __libm_normalizel_k80
  214. ..B1.21:
  215. addl $4, %esp
  216. lea 140(%esp), %eax
  217. pushl %eax
  218. call __libm_normalizel_k80
  219. ..B1.22:
  220. fldt 116(%esp)
  221. fld %st(0)
  222. fldt 128(%esp)
  223. movl 44(%esp), %eax
  224. fadd %st, %st(1)
  225. movl 140(%esp), %ecx
  226. fxch %st(1)
  227. fsub %st, %st(2)
  228. movl 168(%esp), %edx
  229. cmpl %edx, %ecx
  230. fxch %st(2)
  231. fsubrp %st, %st(1)
  232. fldt 144(%esp)
  233. fld %st(0)
  234. fldt 156(%esp)
  235. fadd %st, %st(1)
  236. fxch %st(1)
  237. fsub %st, %st(2)
  238. fxch %st(2)
  239. fsubrp %st, %st(1)
  240. fldl ones@GOTOFF(%ebx,%eax,8)
  241. fmul %st, %st(4)
  242. fmulp %st, %st(3)
  243. fldl ones@GOTOFF(%ebx,%esi,8)
  244. fmul %st, %st(2)
  245. fmul %st, %st(1)
  246. jg ..B1.25
  247. ..B1.23:
  248. jne ..B1.75
  249. ..B1.24:
  250. fxch %st(4)
  251. fcom %st(2)
  252. fnstsw %ax
  253. sahf
  254. fxch %st(4)
  255. jbe ..B1.75
  256. ..B1.25:
  257. lea 12(%edx), %eax
  258. cmpl %eax, %ecx
  259. jle ..B1.70
  260. ..B1.26:
  261. lea 75(%edx), %eax
  262. cmpl %eax, %ecx
  263. jle ..B1.43
  264. ..B1.27:
  265. cmpl $0, 44(%esp)
  266. je ..B1.29
  267. ..B1.28:
  268. fstp %st(0)
  269. fstp %st(2)
  270. fstp %st(1)
  271. fstp %st(0)
  272. fstp %st(0)
  273. movl 8(%ebp), %edx
  274. lea (,%esi,8), %eax
  275. lea (%eax,%esi,4), %esi
  276. fldt _pi_00l@GOTOFF(%esi,%ebx)
  277. movl $0, 24(%edx)
  278. fstpt (%edx)
  279. fldt _pilo_00l@GOTOFF(%esi,%ebx)
  280. fldt _small_value_80@GOTOFF(%esi,%ebx)
  281. fsubrp %st, %st(1)
  282. fstpt 12(%edx)
  283. jmp ..B1.41
  284. ..B1.29:
  285. fxch %st(2)
  286. fstpt 144(%esp)
  287. fldt 144(%esp)
  288. movzwl 152(%esp), %eax
  289. andl $32767, %eax
  290. fxch %st(4)
  291. fstpt 116(%esp)
  292. fldt 116(%esp)
  293. cmpl $8383, %eax
  294. jge ..B1.31
  295. ..B1.30:
  296. fstp %st(4)
  297. fstp %st(3)
  298. fxch %st(2)
  299. fstpt 156(%esp)
  300. fstpt 128(%esp)
  301. jmp ..B1.37
  302. ..B1.31:
  303. cmpl $24383, %eax
  304. jg ..B1.30
  305. ..B1.33:
  306. movzwl 124(%esp), %eax
  307. andl $32767, %eax
  308. cmpl $8383, %eax
  309. jl ..B1.30
  310. ..B1.35:
  311. cmpl $24383, %eax
  312. fxch %st(3)
  313. fxch %st(2)
  314. fxch %st(4)
  315. fxch %st(1)
  316. jle ..B1.40
  317. ..B1.36:
  318. fstp %st(1)
  319. fstp %st(2)
  320. fxch %st(1)
  321. fstpt 156(%esp)
  322. fstpt 128(%esp)
  323. ..B1.37:
  324. addl $4, %esp
  325. lea 140(%esp), %eax
  326. pushl %eax
  327. fstpt -40(%eax)
  328. call __libm_normalizel_k80
  329. ..B1.38:
  330. fldt 104(%esp)
  331. addl $4, %esp
  332. lea 112(%esp), %eax
  333. pushl %eax
  334. fstpt -12(%eax)
  335. call __libm_normalizel_k80
  336. ..B1.39:
  337. fldt 104(%esp)
  338. fldt 116(%esp)
  339. fldt 128(%esp)
  340. fldt 144(%esp)
  341. fldt 156(%esp)
  342. movl 140(%esp), %ecx
  343. movl 168(%esp), %edx
  344. ..B1.40:
  345. fld %st(1)
  346. subl %ecx, %edx
  347. fdiv %st(4), %st
  348. fstpt 48(%esp)
  349. fldt 48(%esp)
  350. fxch %st(5)
  351. fstpt 104(%esp)
  352. fxch %st(3)
  353. fstpt 32(%esp)
  354. fldt 32(%esp)
  355. fldt .L_2il0floatpacket.16@GOTOFF(%ebx)
  356. fld %st(0)
  357. fmul %st(6), %st
  358. fld %st(0)
  359. movl 8(%ebp), %eax
  360. fsubr %st(7), %st
  361. movl %edx, 24(%eax)
  362. faddp %st, %st(1)
  363. fld %st(0)
  364. fsubrp %st, %st(7)
  365. fxch %st(1)
  366. fmul %st(2), %st
  367. fld %st(2)
  368. fsub %st(1), %st
  369. faddp %st, %st(1)
  370. fsubr %st, %st(2)
  371. fld %st(1)
  372. fmul %st(1), %st
  373. fxch %st(1)
  374. fmul %st(7), %st
  375. fxch %st(2)
  376. fmul %st(3), %st
  377. faddp %st, %st(2)
  378. fld %st(1)
  379. fadd %st(1), %st
  380. fsubr %st, %st(1)
  381. fxch %st(2)
  382. faddp %st, %st(1)
  383. fxch %st(6)
  384. fmulp %st, %st(2)
  385. fxch %st(1)
  386. faddp %st, %st(5)
  387. fsubrp %st, %st(1)
  388. fsubp %st, %st(3)
  389. fxch %st(1)
  390. faddp %st, %st(2)
  391. fldt 48(%esp)
  392. fmul %st, %st(1)
  393. fxch %st(1)
  394. fsubrp %st, %st(2)
  395. fld %st(0)
  396. fldt 32(%esp)
  397. fdivrp %st, %st(3)
  398. fadd %st(2), %st
  399. fsubr %st, %st(1)
  400. fxch %st(1)
  401. faddp %st, %st(2)
  402. fldt 104(%esp)
  403. fmul %st, %st(1)
  404. fxch %st(1)
  405. fstpt (%eax)
  406. fmulp %st, %st(1)
  407. fstpt 12(%eax)
  408. fldt .L_2il0floatpacket.12@GOTOFF(%ebx)
  409. fldt _small_value_80@GOTOFF(%ebx)
  410. faddp %st, %st(1)
  411. fstpt 16(%esp)
  412. ..B1.41:
  413. movl 172(%esp), %eax
  414. xorl %esp, %eax
  415. cmpl %gs:20, %eax
  416. jne ..B1.89
  417. ..B1.42:
  418. addl $180, %esp
  419. popl %ebx
  420. popl %edi
  421. popl %esi
  422. movl %ebp, %esp
  423. popl %ebp
  424. ret
  425. ..B1.43:
  426. fldt .L_2il0floatpacket.12@GOTOFF(%ebx)
  427. subl %ecx, %edx
  428. movzwl 8+.L_2il0floatpacket.12@GOTOFF(%ebx), %eax
  429. addl $16383, %edx
  430. movl %eax, 28(%esp)
  431. andl $-32768, %eax
  432. andl $32767, %edx
  433. fstpt 88(%esp)
  434. fldt 88(%esp)
  435. orl %edx, %eax
  436. movw %ax, 96(%esp)
  437. xorl %edx, %edx
  438. fxch %st(5)
  439. fstpt 116(%esp)
  440. fldt 116(%esp)
  441. xorl %eax, %eax
  442. fxch %st(5)
  443. fstpt 64(%esp)
  444. xorl %ecx, %ecx
  445. fldt 88(%esp)
  446. fmul %st, %st(3)
  447. fxch %st(3)
  448. fstpt 144(%esp)
  449. fldt 144(%esp)
  450. movzwl 152(%esp), %esi
  451. andl $32767, %esi
  452. fxch %st(3)
  453. fmulp %st, %st(2)
  454. cmpl $0, 44(%esp)
  455. je ..B1.57
  456. ..B1.44:
  457. cmpl $8383, %esi
  458. jge ..B1.46
  459. ..B1.45:
  460. fstp %st(2)
  461. fstp %st(3)
  462. movl %eax, 168(%esp)
  463. movl %eax, 140(%esp)
  464. fxch %st(2)
  465. fstpt 156(%esp)
  466. fstpt 128(%esp)
  467. jmp ..B1.52
  468. ..B1.46:
  469. cmpl $24383, %esi
  470. jg ..B1.45
  471. ..B1.48:
  472. movzwl 124(%esp), %esi
  473. andl $32767, %esi
  474. cmpl $8383, %esi
  475. jl ..B1.45
  476. ..B1.50:
  477. cmpl $24383, %esi
  478. fxch %st(4)
  479. fxch %st(3)
  480. fxch %st(2)
  481. fxch %st(1)
  482. jle ..B1.55
  483. ..B1.51:
  484. fstp %st(1)
  485. fstp %st(2)
  486. movl %eax, 168(%esp)
  487. movl %eax, 140(%esp)
  488. fxch %st(1)
  489. fstpt 156(%esp)
  490. fstpt 128(%esp)
  491. ..B1.52:
  492. addl $4, %esp
  493. lea 140(%esp), %eax
  494. pushl %eax
  495. fstpt -40(%eax)
  496. call __libm_normalizel_k80
  497. ..B1.53:
  498. fldt 104(%esp)
  499. addl $4, %esp
  500. lea 112(%esp), %eax
  501. pushl %eax
  502. fstpt -12(%eax)
  503. call __libm_normalizel_k80
  504. ..B1.54:
  505. fldt 104(%esp)
  506. fldt 116(%esp)
  507. fldt 128(%esp)
  508. fldt 144(%esp)
  509. fldt 156(%esp)
  510. movl 140(%esp), %edx
  511. movl 168(%esp), %ecx
  512. ..B1.55:
  513. fld %st(1)
  514. subl %edx, %ecx
  515. fdiv %st(4), %st
  516. addl $16383, %ecx
  517. fstpt 48(%esp)
  518. fldt 48(%esp)
  519. andl $32767, %ecx
  520. fxch %st(5)
  521. fstpt 104(%esp)
  522. fxch %st(3)
  523. fstpt 32(%esp)
  524. fldt 32(%esp)
  525. fldt .L_2il0floatpacket.16@GOTOFF(%ebx)
  526. fld %st(0)
  527. fmul %st(6), %st
  528. fld %st(0)
  529. movl 28(%esp), %eax
  530. fsubr %st(7), %st
  531. andl $-32768, %eax
  532. faddp %st, %st(1)
  533. fld %st(0)
  534. orl %ecx, %eax
  535. movl 8(%ebp), %edx
  536. fsubrp %st, %st(7)
  537. fxch %st(1)
  538. fmul %st(2), %st
  539. fld %st(2)
  540. fsub %st(1), %st
  541. faddp %st, %st(1)
  542. fsubr %st, %st(2)
  543. fld %st(1)
  544. fmul %st(1), %st
  545. fxch %st(1)
  546. fmul %st(7), %st
  547. fxch %st(2)
  548. fmul %st(3), %st
  549. faddp %st, %st(2)
  550. fld %st(1)
  551. fadd %st(1), %st
  552. fsubr %st, %st(1)
  553. fxch %st(2)
  554. faddp %st, %st(1)
  555. fxch %st(6)
  556. fmulp %st, %st(2)
  557. fxch %st(1)
  558. faddp %st, %st(5)
  559. fsubrp %st, %st(1)
  560. fsubp %st, %st(3)
  561. fxch %st(1)
  562. faddp %st, %st(2)
  563. fldt 48(%esp)
  564. fmul %st, %st(1)
  565. fxch %st(1)
  566. fsubrp %st, %st(2)
  567. fldt 32(%esp)
  568. fdivrp %st, %st(2)
  569. faddp %st, %st(1)
  570. fldt 64(%esp)
  571. fstpt 88(%esp)
  572. fldt 36+_P@GOTOFF(%ebx)
  573. fldt 12+_P@GOTOFF(%ebx)
  574. fldt 24+_P@GOTOFF(%ebx)
  575. fldt _P@GOTOFF(%ebx)
  576. movw %ax, 96(%esp)
  577. fldt 88(%esp)
  578. fmulp %st, %st(5)
  579. fld %st(4)
  580. fmul %st(5), %st
  581. fld %st(0)
  582. fmul %st(1), %st
  583. fmul %st, %st(5)
  584. fxch %st(4)
  585. faddp %st, %st(5)
  586. fxch %st(3)
  587. fmul %st, %st(4)
  588. fmulp %st, %st(2)
  589. faddp %st, %st(1)
  590. fmulp %st, %st(1)
  591. faddp %st, %st(1)
  592. fmul %st(1), %st
  593. fadd %st(1), %st
  594. fxch %st(1)
  595. fstpt 88(%esp)
  596. fldl 8192+__libm_atanl_table_128@GOTOFF(%ebx)
  597. fldl 8200+__libm_atanl_table_128@GOTOFF(%ebx)
  598. movl $0, 24(%edx)
  599. fsubp %st, %st(2)
  600. fldt 104(%esp)
  601. fmul %st, %st(1)
  602. fld %st(1)
  603. fxch %st(1)
  604. fmulp %st, %st(3)
  605. fadd %st(2), %st
  606. fstpt (%edx)
  607. fldt (%edx)
  608. fsubp %st, %st(1)
  609. fsubrp %st, %st(1)
  610. fstpt 12(%edx)
  611. movl 172(%esp), %ecx
  612. xorl %esp, %ecx
  613. cmpl %gs:20, %ecx
  614. jne ..B1.89
  615. ..B1.56:
  616. addl $180, %esp
  617. popl %ebx
  618. popl %edi
  619. popl %esi
  620. movl %ebp, %esp
  621. popl %ebp
  622. ret
  623. ..B1.57:
  624. cmpl $8383, %esi
  625. jge ..B1.59
  626. ..B1.58:
  627. fstp %st(2)
  628. fstp %st(3)
  629. movl %eax, 168(%esp)
  630. movl %eax, 140(%esp)
  631. fxch %st(2)
  632. fstpt 156(%esp)
  633. fstpt 128(%esp)
  634. jmp ..B1.65
  635. ..B1.59:
  636. cmpl $24383, %esi
  637. jg ..B1.58
  638. ..B1.61:
  639. movzwl 124(%esp), %esi
  640. andl $32767, %esi
  641. cmpl $8383, %esi
  642. jl ..B1.58
  643. ..B1.63:
  644. cmpl $24383, %esi
  645. fxch %st(4)
  646. fxch %st(3)
  647. fxch %st(2)
  648. fxch %st(1)
  649. jle ..B1.68
  650. ..B1.64:
  651. fstp %st(1)
  652. fstp %st(2)
  653. movl %eax, 168(%esp)
  654. movl %eax, 140(%esp)
  655. fxch %st(1)
  656. fstpt 156(%esp)
  657. fstpt 128(%esp)
  658. ..B1.65:
  659. addl $4, %esp
  660. lea 140(%esp), %eax
  661. pushl %eax
  662. fstpt -40(%eax)
  663. call __libm_normalizel_k80
  664. ..B1.66:
  665. fldt 104(%esp)
  666. addl $4, %esp
  667. lea 112(%esp), %eax
  668. pushl %eax
  669. fstpt -12(%eax)
  670. call __libm_normalizel_k80
  671. ..B1.67:
  672. fldt 104(%esp)
  673. fldt 116(%esp)
  674. fldt 128(%esp)
  675. fldt 144(%esp)
  676. fldt 156(%esp)
  677. movl 140(%esp), %edx
  678. movl 168(%esp), %ecx
  679. ..B1.68:
  680. fld %st(1)
  681. subl %edx, %ecx
  682. fdiv %st(4), %st
  683. addl $16383, %ecx
  684. fstpt 48(%esp)
  685. fldt 48(%esp)
  686. andl $32767, %ecx
  687. fxch %st(5)
  688. fstpt 104(%esp)
  689. fxch %st(3)
  690. fstpt 32(%esp)
  691. fldt 32(%esp)
  692. fldt .L_2il0floatpacket.16@GOTOFF(%ebx)
  693. fld %st(0)
  694. fmul %st(6), %st
  695. fld %st(0)
  696. movl 28(%esp), %eax
  697. fsubr %st(7), %st
  698. andl $-32768, %eax
  699. faddp %st, %st(1)
  700. fld %st(0)
  701. orl %ecx, %eax
  702. movl 8(%ebp), %edx
  703. fsubrp %st, %st(7)
  704. fxch %st(1)
  705. fmul %st(2), %st
  706. fld %st(2)
  707. movl $0, 24(%edx)
  708. fsub %st(1), %st
  709. faddp %st, %st(1)
  710. fsubr %st, %st(2)
  711. fld %st(1)
  712. fmul %st(1), %st
  713. fxch %st(1)
  714. fmul %st(7), %st
  715. fxch %st(2)
  716. fmul %st(3), %st
  717. faddp %st, %st(2)
  718. fld %st(1)
  719. fadd %st(1), %st
  720. fsubr %st, %st(1)
  721. fxch %st(2)
  722. faddp %st, %st(1)
  723. fxch %st(6)
  724. fmulp %st, %st(2)
  725. fxch %st(1)
  726. faddp %st, %st(5)
  727. fsubrp %st, %st(1)
  728. fsubp %st, %st(3)
  729. fxch %st(1)
  730. faddp %st, %st(2)
  731. fldt 48(%esp)
  732. fmul %st, %st(1)
  733. fxch %st(1)
  734. fsubrp %st, %st(2)
  735. fldt 32(%esp)
  736. fdivrp %st, %st(2)
  737. fld %st(0)
  738. fadd %st(2), %st
  739. fsubr %st, %st(1)
  740. fxch %st(1)
  741. faddp %st, %st(2)
  742. fldt 64(%esp)
  743. fstpt 88(%esp)
  744. fldt 36+_P@GOTOFF(%ebx)
  745. fldt 12+_P@GOTOFF(%ebx)
  746. fldt _P@GOTOFF(%ebx)
  747. movw %ax, 96(%esp)
  748. fldt 88(%esp)
  749. fmul %st, %st(4)
  750. fmul %st, %st(4)
  751. fld %st(4)
  752. fmul %st(5), %st
  753. fld %st(0)
  754. fmul %st(1), %st
  755. fmul %st, %st(5)
  756. fxch %st(4)
  757. faddp %st, %st(5)
  758. fxch %st(3)
  759. fmul %st, %st(4)
  760. fxch %st(1)
  761. fmul %st, %st(6)
  762. fmulp %st, %st(6)
  763. fxch %st(4)
  764. fstpt 88(%esp)
  765. fldt 88(%esp)
  766. fldt 24+_P@GOTOFF(%ebx)
  767. fmulp %st, %st(5)
  768. fxch %st(1)
  769. faddp %st, %st(4)
  770. fxch %st(1)
  771. fmulp %st, %st(3)
  772. fxch %st(2)
  773. faddp %st, %st(1)
  774. fmul %st(1), %st
  775. faddp %st, %st(2)
  776. fldt 104(%esp)
  777. fmul %st, %st(1)
  778. fxch %st(1)
  779. fstpt (%edx)
  780. fmulp %st, %st(1)
  781. fstpt 12(%edx)
  782. movl 172(%esp), %ecx
  783. xorl %esp, %ecx
  784. cmpl %gs:20, %ecx
  785. jne ..B1.89
  786. ..B1.69:
  787. addl $180, %esp
  788. popl %ebx
  789. popl %edi
  790. popl %esi
  791. movl %ebp, %esp
  792. popl %ebp
  793. ret
  794. ..B1.70:
  795. fldt .L_2il0floatpacket.12@GOTOFF(%ebx)
  796. subl %ecx, %edx
  797. addl $16383, %edx
  798. movzwl 8+.L_2il0floatpacket.12@GOTOFF(%ebx), %eax
  799. andl $32767, %edx
  800. andl $-32768, %eax
  801. fstpt 88(%esp)
  802. orl %edx, %eax
  803. movw %ax, 96(%esp)
  804. fld %st(4)
  805. fxch %st(1)
  806. fstpt 104(%esp)
  807. xorl %edx, %edx
  808. fxch %st(4)
  809. fstpt 116(%esp)
  810. fldt 116(%esp)
  811. fxch %st(3)
  812. fstpt 128(%esp)
  813. fldt 128(%esp)
  814. fldt 88(%esp)
  815. fmul %st, %st(3)
  816. fxch %st(3)
  817. fstpt 144(%esp)
  818. fldt 144(%esp)
  819. fxch %st(3)
  820. fmulp %st, %st(2)
  821. fxch %st(1)
  822. fstpt 156(%esp)
  823. fldt 156(%esp)
  824. fldt .L_2il0floatpacket.13@GOTOFF(%ebx)
  825. fmul %st(3), %st
  826. fdiv %st(4), %st
  827. fldt .L_2il0floatpacket.14@GOTOFF(%ebx)
  828. movl %edx, 140(%esp)
  829. movl %edx, 168(%esp)
  830. fxch %st(1)
  831. faddl _TWO_63H@GOTOFF(%ebx)
  832. fstpt 76(%esp)
  833. fldt 76(%esp)
  834. fldl _TWO_48H@GOTOFF(%ebx)
  835. movl 76(%esp), %eax
  836. shll $4, %eax
  837. fxch %st(1)
  838. fsubl _TWO_63H@GOTOFF(%ebx)
  839. fmulp %st, %st(2)
  840. fld %st(5)
  841. fmul %st(1), %st
  842. cmpl $0, 44(%esp)
  843. fadd %st, %st(7)
  844. fxch %st(7)
  845. fstpt 76(%esp)
  846. fldt 76(%esp)
  847. fsubp %st, %st(7)
  848. fxch %st(5)
  849. fsub %st(6), %st
  850. faddp %st, %st(3)
  851. fld %st(4)
  852. fmul %st(4), %st
  853. fld %st(0)
  854. fadd %st(5), %st
  855. fstpt 76(%esp)
  856. fldt 76(%esp)
  857. fsubp %st, %st(1)
  858. fsubr %st, %st(4)
  859. fxch %st(2)
  860. faddp %st, %st(4)
  861. fld %st(3)
  862. fmul %st(1), %st
  863. fadd %st(3), %st
  864. fld %st(2)
  865. fmul %st(2), %st
  866. fadd %st(7), %st
  867. fxch %st(2)
  868. fmul %st, %st(4)
  869. fxch %st(4)
  870. fsubrp %st, %st(5)
  871. fxch %st(3)
  872. fmulp %st, %st(6)
  873. fxch %st(5)
  874. fsubrp %st, %st(1)
  875. fld %st(4)
  876. fadd %st(2), %st
  877. fldt .L_2il0floatpacket.12@GOTOFF(%ebx)
  878. fdivp %st, %st(1)
  879. fmul %st, %st(4)
  880. fld %st(4)
  881. fadd %st(1), %st
  882. fstpt 76(%esp)
  883. fxch %st(4)
  884. fstpt 88(%esp)
  885. fldt 88(%esp)
  886. fxch %st(2)
  887. fmul %st(4), %st
  888. fldt 76(%esp)
  889. fsubp %st, %st(3)
  890. fld %st(2)
  891. fsubr %st(5), %st
  892. fld %st(6)
  893. fmul %st(1), %st
  894. faddp %st, %st(2)
  895. fxch %st(3)
  896. fmul %st, %st(6)
  897. fldt .L_2il0floatpacket.15@GOTOFF(%ebx)
  898. faddp %st, %st(7)
  899. fxch %st(1)
  900. faddp %st, %st(6)
  901. fxch %st(5)
  902. fmulp %st, %st(4)
  903. fxch %st(3)
  904. fsubrp %st, %st(1)
  905. fld %st(3)
  906. fmul %st(2), %st
  907. fxch %st(2)
  908. fadd %st(3), %st
  909. fmulp %st, %st(1)
  910. faddp %st, %st(1)
  911. fld %st(0)
  912. fld %st(1)
  913. fxch %st(3)
  914. fmulp %st, %st(4)
  915. fxch %st(2)
  916. fmul %st(3), %st
  917. fxch %st(2)
  918. fadd %st(3), %st
  919. fld %st(1)
  920. fmul %st(1), %st
  921. faddp %st, %st(3)
  922. fld %st(3)
  923. fmul %st(4), %st
  924. faddp %st, %st(3)
  925. fld %st(2)
  926. fmul %st(3), %st
  927. fldt 36+_P@GOTOFF(%ebx)
  928. fmul %st(1), %st
  929. fldt 12+_P@GOTOFF(%ebx)
  930. faddp %st, %st(1)
  931. fmul %st(1), %st
  932. fldt 24+_P@GOTOFF(%ebx)
  933. fmulp %st, %st(2)
  934. fldt _P@GOTOFF(%ebx)
  935. faddp %st, %st(2)
  936. fxch %st(4)
  937. fmulp %st, %st(1)
  938. faddp %st, %st(3)
  939. fmulp %st, %st(2)
  940. faddp %st, %st(1)
  941. fldt 104(%esp)
  942. je ..B1.72
  943. ..B1.71:
  944. negl %eax
  945. fld %st(2)
  946. fldl 8192+__libm_atanl_table_128@GOTOFF(%ebx,%eax)
  947. fsub %st, %st(1)
  948. fsub %st(1), %st
  949. fsubp %st, %st(4)
  950. fxch %st(3)
  951. fstpt 88(%esp)
  952. fldt 88(%esp)
  953. fldl 8200+__libm_atanl_table_128@GOTOFF(%ebx,%eax)
  954. fsubp %st, %st(3)
  955. faddp %st, %st(2)
  956. jmp ..B1.73
  957. ..B1.72:
  958. fldl __libm_atanl_table_128@GOTOFF(%eax,%ebx)
  959. fld %st(3)
  960. fadd %st(1), %st
  961. fsubr %st, %st(1)
  962. fxch %st(1)
  963. faddp %st, %st(4)
  964. fxch %st(3)
  965. fstpt 88(%esp)
  966. fldt 88(%esp)
  967. fldl 8+__libm_atanl_table_128@GOTOFF(%eax,%ebx)
  968. faddp %st, %st(3)
  969. faddp %st, %st(2)
  970. ..B1.73:
  971. fmul %st, %st(2)
  972. fld %st(2)
  973. fxch %st(2)
  974. fmulp %st, %st(1)
  975. movl 8(%ebp), %eax
  976. fadd %st, %st(1)
  977. movl $0, 24(%eax)
  978. fxch %st(1)
  979. fsub %st, %st(2)
  980. fxch %st(2)
  981. fsubrp %st, %st(1)
  982. fstpt 12(%eax)
  983. fstpt (%eax)
  984. movl 172(%esp), %edx
  985. xorl %esp, %edx
  986. cmpl %gs:20, %edx
  987. jne ..B1.89
  988. ..B1.74:
  989. addl $180, %esp
  990. popl %ebx
  991. popl %edi
  992. popl %esi
  993. movl %ebp, %esp
  994. popl %ebp
  995. ret
  996. ..B1.75:
  997. lea 12(%ecx), %eax
  998. cmpl %eax, %edx
  999. jle ..B1.84
  1000. ..B1.76:
  1001. fstp %st(3)
  1002. fstp %st(0)
  1003. lea 75(%ecx), %eax
  1004. cmpl %eax, %edx
  1005. jg ..B1.82
  1006. ..B1.77:
  1007. fldt .L_2il0floatpacket.12@GOTOFF(%ebx)
  1008. subl %ecx, %edx
  1009. addl $16383, %edx
  1010. movzwl 8+.L_2il0floatpacket.12@GOTOFF(%ebx), %eax
  1011. andl $32767, %edx
  1012. andl $-32768, %eax
  1013. fstpt 88(%esp)
  1014. orl %edx, %eax
  1015. fldt 36+_P@GOTOFF(%ebx)
  1016. fldt _P@GOTOFF(%ebx)
  1017. movw %ax, 96(%esp)
  1018. fldt 88(%esp)
  1019. fmulp %st, %st(3)
  1020. fxch %st(2)
  1021. fdivrp %st, %st(4)
  1022. fld %st(3)
  1023. fmul %st(4), %st
  1024. fld %st(0)
  1025. fmul %st(1), %st
  1026. fmul %st, %st(2)
  1027. fldt 12+_P@GOTOFF(%ebx)
  1028. movl 8(%ebp), %edx
  1029. faddp %st, %st(3)
  1030. fmul %st, %st(2)
  1031. fldt 24+_P@GOTOFF(%ebx)
  1032. fmulp %st, %st(1)
  1033. cmpl $0, 44(%esp)
  1034. faddp %st, %st(3)
  1035. fmulp %st, %st(2)
  1036. faddp %st, %st(1)
  1037. fmul %st(2), %st
  1038. faddp %st, %st(2)
  1039. fldl 4096+__libm_atanl_table_128@GOTOFF(%ebx)
  1040. fmul %st(1), %st
  1041. fldl 4104+__libm_atanl_table_128@GOTOFF(%ebx)
  1042. movl $0, 24(%edx)
  1043. je ..B1.79
  1044. ..B1.78:
  1045. faddp %st, %st(3)
  1046. fxch %st(1)
  1047. fmulp %st, %st(2)
  1048. jmp ..B1.80
  1049. ..B1.79:
  1050. fsubp %st, %st(3)
  1051. fxch %st(1)
  1052. fmulp %st, %st(2)
  1053. ..B1.80:
  1054. fld %st(0)
  1055. movl 8(%ebp), %eax
  1056. fadd %st(2), %st
  1057. fstpt (%eax)
  1058. fldt (%eax)
  1059. fsubp %st, %st(1)
  1060. fsubrp %st, %st(1)
  1061. fstpt 12(%eax)
  1062. movl 172(%esp), %edx
  1063. xorl %esp, %edx
  1064. cmpl %gs:20, %edx
  1065. jne ..B1.89
  1066. ..B1.81:
  1067. addl $180, %esp
  1068. popl %ebx
  1069. popl %edi
  1070. popl %esi
  1071. movl %ebp, %esp
  1072. popl %ebp
  1073. ret
  1074. ..B1.82:
  1075. fstp %st(1)
  1076. fstp %st(0)
  1077. fstp %st(0)
  1078. movl 8(%ebp), %edx
  1079. lea (,%esi,8), %eax
  1080. lea (%eax,%esi,4), %esi
  1081. fldt _pi_02l@GOTOFF(%esi,%ebx)
  1082. movl $0, 24(%edx)
  1083. fstpt (%edx)
  1084. fldt _pilo_02l@GOTOFF(%esi,%ebx)
  1085. fldt _small_value_80@GOTOFF(%esi,%ebx)
  1086. fsubrp %st, %st(1)
  1087. fstpt 12(%edx)
  1088. movl 172(%esp), %ecx
  1089. xorl %esp, %ecx
  1090. cmpl %gs:20, %ecx
  1091. jne ..B1.89
  1092. ..B1.83:
  1093. addl $180, %esp
  1094. popl %ebx
  1095. popl %edi
  1096. popl %esi
  1097. movl %ebp, %esp
  1098. popl %ebp
  1099. ret
  1100. ..B1.84:
  1101. fldt .L_2il0floatpacket.12@GOTOFF(%ebx)
  1102. subl %ecx, %edx
  1103. addl $16383, %edx
  1104. movzwl 8+.L_2il0floatpacket.12@GOTOFF(%ebx), %eax
  1105. andl $32767, %edx
  1106. andl $-32768, %eax
  1107. fstpt 88(%esp)
  1108. orl %edx, %eax
  1109. movw %ax, 96(%esp)
  1110. fld %st(4)
  1111. fxch %st(1)
  1112. fstpt 104(%esp)
  1113. xorl %edx, %edx
  1114. fxch %st(4)
  1115. fstpt 116(%esp)
  1116. fldt 116(%esp)
  1117. fxch %st(3)
  1118. fstpt 128(%esp)
  1119. fldt 128(%esp)
  1120. fldt 88(%esp)
  1121. fmul %st, %st(3)
  1122. fxch %st(3)
  1123. fstpt 144(%esp)
  1124. fldt 144(%esp)
  1125. fxch %st(3)
  1126. fmulp %st, %st(2)
  1127. fxch %st(1)
  1128. fstpt 156(%esp)
  1129. fldt 156(%esp)
  1130. fldt .L_2il0floatpacket.13@GOTOFF(%ebx)
  1131. fmul %st(4), %st
  1132. fdiv %st(3), %st
  1133. fldt .L_2il0floatpacket.14@GOTOFF(%ebx)
  1134. movl %edx, 140(%esp)
  1135. movl %edx, 168(%esp)
  1136. fxch %st(1)
  1137. faddl _TWO_63H@GOTOFF(%ebx)
  1138. fstpt 76(%esp)
  1139. fld %st(4)
  1140. fldt 76(%esp)
  1141. movl 76(%esp), %eax
  1142. shll $4, %eax
  1143. fsubl _TWO_63H@GOTOFF(%ebx)
  1144. fmulp %st, %st(2)
  1145. fldl _TWO_48H@GOTOFF(%ebx)
  1146. fmul %st, %st(7)
  1147. cmpl $0, 44(%esp)
  1148. fxch %st(1)
  1149. fadd %st(7), %st
  1150. fstpt 76(%esp)
  1151. fldt 76(%esp)
  1152. fsubp %st, %st(7)
  1153. fxch %st(5)
  1154. fsub %st(6), %st
  1155. faddp %st, %st(3)
  1156. fld %st(4)
  1157. fmul %st(4), %st
  1158. fld %st(0)
  1159. fadd %st(5), %st
  1160. fstpt 76(%esp)
  1161. fldt 76(%esp)
  1162. fsubp %st, %st(1)
  1163. fsubr %st, %st(4)
  1164. fxch %st(2)
  1165. faddp %st, %st(4)
  1166. fld %st(5)
  1167. fmul %st(1), %st
  1168. fadd %st(2), %st
  1169. fstpt 32(%esp)
  1170. fld %st(2)
  1171. fmul %st(1), %st
  1172. fadd %st(4), %st
  1173. fxch %st(1)
  1174. fmul %st, %st(2)
  1175. fxch %st(2)
  1176. fsubrp %st, %st(6)
  1177. fxch %st(1)
  1178. fmulp %st, %st(3)
  1179. fxch %st(2)
  1180. fsubrp %st, %st(1)
  1181. fldt 32(%esp)
  1182. fadd %st(2), %st
  1183. fldt 32(%esp)
  1184. fldt .L_2il0floatpacket.12@GOTOFF(%ebx)
  1185. fdivp %st, %st(2)
  1186. fxch %st(1)
  1187. fmul %st, %st(4)
  1188. fld %st(4)
  1189. fadd %st(1), %st
  1190. fstpt 76(%esp)
  1191. fxch %st(4)
  1192. fstpt 88(%esp)
  1193. fldt 88(%esp)
  1194. fxch %st(3)
  1195. fmul %st(4), %st
  1196. fldt 76(%esp)
  1197. fsubp %st, %st(4)
  1198. fld %st(3)
  1199. fsubr %st(5), %st
  1200. fmul %st, %st(2)
  1201. fxch %st(1)
  1202. faddp %st, %st(2)
  1203. fldt 32(%esp)
  1204. fmul %st(4), %st
  1205. fldt .L_2il0floatpacket.15@GOTOFF(%ebx)
  1206. faddp %st, %st(1)
  1207. faddp %st, %st(2)
  1208. fxch %st(1)
  1209. fmulp %st, %st(4)
  1210. fsubp %st, %st(3)
  1211. fld %st(1)
  1212. fmul %st(1), %st
  1213. fxch %st(1)
  1214. fadd %st(4), %st
  1215. fmulp %st, %st(3)
  1216. faddp %st, %st(2)
  1217. fld %st(1)
  1218. fld %st(2)
  1219. fxch %st(4)
  1220. fmulp %st, %st(2)
  1221. fmul %st(1), %st
  1222. fld %st(2)
  1223. fadd %st(2), %st
  1224. fmul %st, %st(4)
  1225. fxch %st(4)
  1226. faddp %st, %st(1)
  1227. fld %st(1)
  1228. fmul %st(2), %st
  1229. faddp %st, %st(1)
  1230. fld %st(0)
  1231. fmul %st(1), %st
  1232. fldt 36+_P@GOTOFF(%ebx)
  1233. fmul %st(1), %st
  1234. fldt 12+_P@GOTOFF(%ebx)
  1235. faddp %st, %st(1)
  1236. fmul %st(1), %st
  1237. fldt 24+_P@GOTOFF(%ebx)
  1238. fmulp %st, %st(2)
  1239. fldt _P@GOTOFF(%ebx)
  1240. faddp %st, %st(2)
  1241. fxch %st(2)
  1242. fmulp %st, %st(1)
  1243. faddp %st, %st(1)
  1244. fmulp %st, %st(3)
  1245. fxch %st(2)
  1246. faddp %st, %st(1)
  1247. fldt 104(%esp)
  1248. je ..B1.86
  1249. ..B1.85:
  1250. fldl 4096+__libm_atanl_table_128@GOTOFF(%ebx,%eax)
  1251. fld %st(3)
  1252. fadd %st(1), %st
  1253. fsubr %st, %st(1)
  1254. fxch %st(1)
  1255. faddp %st, %st(4)
  1256. fxch %st(3)
  1257. fstpt 88(%esp)
  1258. fldt 88(%esp)
  1259. fldl 4104+__libm_atanl_table_128@GOTOFF(%ebx,%eax)
  1260. faddp %st, %st(3)
  1261. faddp %st, %st(2)
  1262. jmp ..B1.87
  1263. ..B1.86:
  1264. negl %eax
  1265. fld %st(2)
  1266. fldl 4096+__libm_atanl_table_128@GOTOFF(%ebx,%eax)
  1267. fsub %st, %st(1)
  1268. fsub %st(1), %st
  1269. fsubp %st, %st(4)
  1270. fxch %st(3)
  1271. fstpt 88(%esp)
  1272. fldt 88(%esp)
  1273. fldl 4104+__libm_atanl_table_128@GOTOFF(%ebx,%eax)
  1274. fsubp %st, %st(3)
  1275. faddp %st, %st(2)
  1276. ..B1.87:
  1277. fmul %st, %st(2)
  1278. fld %st(2)
  1279. fxch %st(2)
  1280. fmulp %st, %st(1)
  1281. movl 8(%ebp), %eax
  1282. fadd %st, %st(1)
  1283. movl $0, 24(%eax)
  1284. fxch %st(1)
  1285. fsub %st, %st(2)
  1286. fxch %st(2)
  1287. fsubrp %st, %st(1)
  1288. fstpt 12(%eax)
  1289. fstpt (%eax)
  1290. movl 172(%esp), %edx
  1291. xorl %esp, %edx
  1292. cmpl %gs:20, %edx
  1293. jne ..B1.89
  1294. ..B1.88:
  1295. addl $180, %esp
  1296. popl %ebx
  1297. popl %edi
  1298. popl %esi
  1299. movl %ebp, %esp
  1300. popl %ebp
  1301. ret
  1302. ..B1.89:
  1303. call __stack_chk_fail@PLT
  1304. ..B1.97:
  1305. cmpl $-2147483648, 4(%edx)
  1306. jne ..B1.99
  1307. ..B1.98:
  1308. cmpl $0, (%edx)
  1309. je ..B1.100
  1310. ..B1.99:
  1311. fldt (%edx)
  1312. fldt (%ecx)
  1313. fmulp %st, %st(1)
  1314. fldt .L_2il0floatpacket.11@GOTOFF(%ebx)
  1315. movl 8(%ebp), %eax
  1316. movl $0, 24(%eax)
  1317. fstpt 12(%eax)
  1318. fstpt (%eax)
  1319. jmp ..B1.104
  1320. ..B1.100:
  1321. movl 8(%ebp), %edx
  1322. cmpl $32767, %eax
  1323. movl $0, 24(%edx)
  1324. je ..B1.107
  1325. ..B1.101:
  1326. cmpl $0, 44(%esp)
  1327. je ..B1.103
  1328. ..B1.102:
  1329. movl 8(%ebp), %ecx
  1330. lea (,%esi,8), %eax
  1331. lea (%eax,%esi,4), %edx
  1332. fldt _pi_00l@GOTOFF(%edx,%ebx)
  1333. fstpt (%ecx)
  1334. fldt _pilo_00l@GOTOFF(%edx,%ebx)
  1335. fldt _small_value_80@GOTOFF(%edx,%ebx)
  1336. fsubrp %st, %st(1)
  1337. fstpt 12(%ecx)
  1338. jmp ..B1.104
  1339. ..B1.103:
  1340. fldt .L_2il0floatpacket.11@GOTOFF(%ebx)
  1341. fldz
  1342. fmull ones@GOTOFF(%ebx,%esi,8)
  1343. movl 8(%ebp), %eax
  1344. fstpt (%eax)
  1345. fstpt 12(%eax)
  1346. ..B1.104:
  1347. movl 172(%esp), %eax
  1348. xorl %esp, %eax
  1349. cmpl %gs:20, %eax
  1350. jne ..B1.89
  1351. jmp ..B1.19
  1352. ..B1.107:
  1353. cmpl $0, 44(%esp)
  1354. lea (,%esi,8), %eax
  1355. lea (%eax,%esi,4), %edx
  1356. je ..B1.109
  1357. ..B1.108:
  1358. fldt _pi_34l@GOTOFF(%edx,%ebx)
  1359. fldt _pilo_34l@GOTOFF(%edx,%ebx)
  1360. fldt _small_value_80@GOTOFF(%edx,%ebx)
  1361. movl 8(%ebp), %eax
  1362. fsubrp %st, %st(1)
  1363. fstpt 12(%eax)
  1364. fstpt (%eax)
  1365. jmp ..B1.104
  1366. ..B1.109:
  1367. fldt _pi_04l@GOTOFF(%edx,%ebx)
  1368. fldt _pilo_04l@GOTOFF(%edx,%ebx)
  1369. fldt _small_value_80@GOTOFF(%edx,%ebx)
  1370. movl 8(%ebp), %eax
  1371. fsubrp %st, %st(1)
  1372. fstpt 12(%eax)
  1373. fstpt (%eax)
  1374. jmp ..B1.104
  1375. ..B1.110:
  1376. cmpl $-2147483648, 4(%ecx)
  1377. jne ..B1.99
  1378. ..B1.111:
  1379. cmpl $0, (%ecx)
  1380. jne ..B1.99
  1381. ..B1.112:
  1382. cmpl $32767, %edi
  1383. je ..B1.97
  1384. ..B1.113:
  1385. movl 8(%ebp), %edx
  1386. lea (,%esi,8), %eax
  1387. lea (%eax,%esi,4), %esi
  1388. fldt _pi_02l@GOTOFF(%esi,%ebx)
  1389. movl $0, 24(%edx)
  1390. fstpt (%edx)
  1391. fldt _pilo_02l@GOTOFF(%esi,%ebx)
  1392. fldt _small_value_80@GOTOFF(%esi,%ebx)
  1393. fsubrp %st, %st(1)
  1394. fstpt 12(%edx)
  1395. jmp ..B1.104
  1396. .align 16,0x90
  1397. .type __libm_atan2l_k80,@function
  1398. .size __libm_atan2l_k80,.-__libm_atan2l_k80
  1399. .data
  1400. # -- End __libm_atan2l_k80
  1401. .section .rodata, "a"
  1402. .align 16
  1403. .align 16
  1404. .L_2il0floatpacket.11:
  1405. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  1406. .type .L_2il0floatpacket.11,@object
  1407. .size .L_2il0floatpacket.11,12
  1408. .space 4, 0x00 # pad
  1409. .align 16
  1410. .L_2il0floatpacket.12:
  1411. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00
  1412. .type .L_2il0floatpacket.12,@object
  1413. .size .L_2il0floatpacket.12,12
  1414. .space 4, 0x00 # pad
  1415. .align 16
  1416. .L_2il0floatpacket.13:
  1417. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x06,0x40,0x00,0x00
  1418. .type .L_2il0floatpacket.13,@object
  1419. .size .L_2il0floatpacket.13,12
  1420. .space 4, 0x00 # pad
  1421. .align 16
  1422. .L_2il0floatpacket.14:
  1423. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xf8,0x3f,0x00,0x00
  1424. .type .L_2il0floatpacket.14,@object
  1425. .size .L_2il0floatpacket.14,12
  1426. .space 4, 0x00 # pad
  1427. .align 16
  1428. .L_2il0floatpacket.15:
  1429. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xbf,0x00,0x00
  1430. .type .L_2il0floatpacket.15,@object
  1431. .size .L_2il0floatpacket.15,12
  1432. .space 4, 0x00 # pad
  1433. .align 16
  1434. .L_2il0floatpacket.16:
  1435. .byte 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x1f,0x40,0x00,0x00
  1436. .type .L_2il0floatpacket.16,@object
  1437. .size .L_2il0floatpacket.16,12
  1438. .space 4, 0x00 # pad
  1439. .align 8
  1440. ones:
  1441. .long 0x00000000,0x3ff00000
  1442. .long 0x00000000,0xbff00000
  1443. .type ones,@object
  1444. .size ones,16
  1445. .align 4
  1446. _TWO_63H:
  1447. .long 0
  1448. .long 1139277824
  1449. .type _TWO_63H,@object
  1450. .size _TWO_63H,8
  1451. .align 4
  1452. _TWO_48H:
  1453. .long 0
  1454. .long 1123549184
  1455. .type _TWO_48H,@object
  1456. .size _TWO_48H,8
  1457. .align 2
  1458. _pi_00l:
  1459. .word 49717
  1460. .word 8552
  1461. .word 55970
  1462. .word 51471
  1463. .word 16384
  1464. .word 0
  1465. .word 49717
  1466. .word 8552
  1467. .word 55970
  1468. .word 51471
  1469. .word 49152
  1470. .word 0
  1471. .type _pi_00l,@object
  1472. .size _pi_00l,24
  1473. .align 2
  1474. _pilo_00l:
  1475. .word 36027
  1476. .word 64655
  1477. .word 30161
  1478. .word 60646
  1479. .word 49086
  1480. .word 0
  1481. .word 36027
  1482. .word 64655
  1483. .word 30161
  1484. .word 60646
  1485. .word 16318
  1486. .word 0
  1487. .type _pilo_00l,@object
  1488. .size _pilo_00l,24
  1489. .align 2
  1490. _small_value_80:
  1491. .word 0
  1492. .word 0
  1493. .word 0
  1494. .word 32768
  1495. .word 6383
  1496. .word 0
  1497. .word 0
  1498. .word 0
  1499. .word 0
  1500. .word 32768
  1501. .word 39151
  1502. .word 0
  1503. .type _small_value_80,@object
  1504. .size _small_value_80,24
  1505. .align 2
  1506. _pi_02l:
  1507. .word 49717
  1508. .word 8552
  1509. .word 55970
  1510. .word 51471
  1511. .word 16383
  1512. .word 0
  1513. .word 49717
  1514. .word 8552
  1515. .word 55970
  1516. .word 51471
  1517. .word 49151
  1518. .word 0
  1519. .type _pi_02l,@object
  1520. .size _pi_02l,24
  1521. .align 2
  1522. _pilo_02l:
  1523. .word 36027
  1524. .word 64655
  1525. .word 30161
  1526. .word 60646
  1527. .word 49085
  1528. .word 0
  1529. .word 36027
  1530. .word 64655
  1531. .word 30161
  1532. .word 60646
  1533. .word 16317
  1534. .word 0
  1535. .type _pilo_02l,@object
  1536. .size _pilo_02l,24
  1537. .align 2
  1538. _P:
  1539. .word 43664
  1540. .word 43690
  1541. .word 43690
  1542. .word 43690
  1543. .word 49149
  1544. .word 0
  1545. .word 43235
  1546. .word 52379
  1547. .word 52428
  1548. .word 52428
  1549. .word 16380
  1550. .word 0
  1551. .word 59507
  1552. .word 38278
  1553. .word 9340
  1554. .word 37449
  1555. .word 49148
  1556. .word 0
  1557. .word 9132
  1558. .word 55602
  1559. .word 8665
  1560. .word 58245
  1561. .word 16379
  1562. .word 0
  1563. .type _P,@object
  1564. .size _P,48
  1565. .align 2
  1566. _pi_34l:
  1567. .word 37288
  1568. .word 39182
  1569. .word 58361
  1570. .word 38603
  1571. .word 16384
  1572. .word 0
  1573. .word 37288
  1574. .word 39182
  1575. .word 58361
  1576. .word 38603
  1577. .word 49152
  1578. .word 0
  1579. .type _pi_34l,@object
  1580. .size _pi_34l,24
  1581. .align 2
  1582. _pilo_34l:
  1583. .word 54470
  1584. .word 48821
  1585. .word 27694
  1586. .word 55510
  1587. .word 49087
  1588. .word 0
  1589. .word 54470
  1590. .word 48821
  1591. .word 27694
  1592. .word 55510
  1593. .word 16319
  1594. .word 0
  1595. .type _pilo_34l,@object
  1596. .size _pilo_34l,24
  1597. .align 2
  1598. _pi_04l:
  1599. .word 49717
  1600. .word 8552
  1601. .word 55970
  1602. .word 51471
  1603. .word 16382
  1604. .word 0
  1605. .word 49717
  1606. .word 8552
  1607. .word 55970
  1608. .word 51471
  1609. .word 49150
  1610. .word 0
  1611. .type _pi_04l,@object
  1612. .size _pi_04l,24
  1613. .align 2
  1614. _pilo_04l:
  1615. .word 36027
  1616. .word 64655
  1617. .word 30161
  1618. .word 60646
  1619. .word 49084
  1620. .word 0
  1621. .word 36027
  1622. .word 64655
  1623. .word 30161
  1624. .word 60646
  1625. .word 16316
  1626. .word 0
  1627. .type _pilo_04l,@object
  1628. .size _pilo_04l,24
  1629. .data
  1630. .hidden __libm_atanl_table_128
  1631. .hidden __libm_normalizel_k80
  1632. .section .note.GNU-stack, ""
  1633. # End