cpow.S 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898
  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 "cpow.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin cpowf
  41. .text
  42. .align 16,0x90
  43. .globl cpowf
  44. cpowf:
  45. # parameter 1: 80 + %esp
  46. # parameter 2: 88 + %esp
  47. ..B1.1:
  48. ..L1:
  49. pushl %ebx
  50. subl $72, %esp
  51. flds 80(%esp)
  52. flds 84(%esp)
  53. flds 88(%esp)
  54. flds 92(%esp)
  55. movl %gs:20, %ecx
  56. xorl %esp, %ecx
  57. movl %ecx, 56(%esp)
  58. call ..L2
  59. ..L2:
  60. popl %ebx
  61. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
  62. fstpl 48(%esp)
  63. fxch %st(2)
  64. fstpl 24(%esp)
  65. fstpl 32(%esp)
  66. fstpl 40(%esp)
  67. addl $-48, %esp
  68. movl 72(%esp), %ecx
  69. lea 56(%esp), %eax
  70. movl %eax, (%esp)
  71. lea 4(%esp), %edx
  72. movl 20(%eax), %eax
  73. movl %ecx, (%edx)
  74. movl %eax, 4(%edx)
  75. movl 80(%esp), %ecx
  76. movl 84(%esp), %eax
  77. movl %ecx, 8(%edx)
  78. movl %eax, 12(%edx)
  79. lea 20(%esp), %eax
  80. movl 88(%esp), %edx
  81. movl %edx, (%eax)
  82. movl 92(%esp), %edx
  83. movl %edx, 4(%eax)
  84. movl 96(%esp), %ecx
  85. movl 100(%esp), %edx
  86. movl %ecx, 8(%eax)
  87. movl %edx, 12(%eax)
  88. call cpow@PLT
  89. ..B1.7:
  90. addl $44, %esp
  91. ..B1.2:
  92. fldl 8(%esp)
  93. fstps (%esp)
  94. fldl 16(%esp)
  95. fstps 4(%esp)
  96. movl 56(%esp), %ecx
  97. xorl %esp, %ecx
  98. movl (%esp), %eax
  99. movl 4(%esp), %edx
  100. cmpl %gs:20, %ecx
  101. jne ..B1.4
  102. ..B1.3:
  103. addl $72, %esp
  104. popl %ebx
  105. ret
  106. ..B1.4:
  107. call __stack_chk_fail@PLT
  108. .align 16,0x90
  109. .type cpowf,@function
  110. .size cpowf,.-cpowf
  111. .data
  112. # -- End cpowf
  113. .text
  114. # -- Begin cpow
  115. .text
  116. .align 16,0x90
  117. .globl cpow
  118. cpow:
  119. # parameter 1: 12 + %ebp
  120. # parameter 2: 28 + %ebp
  121. ..B2.1:
  122. ..L3:
  123. pushl %ebp
  124. movl %esp, %ebp
  125. andl $-64, %esp
  126. pushl %esi
  127. pushl %edi
  128. pushl %ebx
  129. subl $244, %esp
  130. fldz
  131. movl %gs:20, %edx
  132. movl 8(%ebp), %edi
  133. xorl %esp, %edx
  134. movl %edx, 224(%esp)
  135. fstl 208(%esp)
  136. fstpl 216(%esp)
  137. ..B2.2:
  138. fnstcw 206(%esp)
  139. ..B2.3:
  140. movzwl 206(%esp), %ecx
  141. movl %ecx, %edx
  142. andl $768, %edx
  143. cmpl $768, %edx
  144. je ..B2.38
  145. ..B2.4:
  146. orl $-64768, %ecx
  147. movw %cx, 204(%esp)
  148. ..B2.5:
  149. fldcw 204(%esp)
  150. ..B2.6:
  151. movl $1, %esi
  152. ..B2.7:
  153. fldl 12(%ebp)
  154. addl $-16, %esp
  155. fstpl (%esp)
  156. call __libm_internal_isnzfinite
  157. ..B2.41:
  158. addl $16, %esp
  159. ..B2.8:
  160. call ..L4
  161. ..L4:
  162. popl %ebx
  163. lea _GLOBAL_OFFSET_TABLE_+[. - ..L4](%ebx), %ebx
  164. testl %eax, %eax
  165. jne ..B2.31
  166. ..B2.9:
  167. fldl 20(%ebp)
  168. fldl ZEROA@GOTOFF(%ebx)
  169. fucom %st(1)
  170. fnstsw %ax
  171. sahf
  172. jp ..B2.10
  173. je ..B2.27
  174. ..B2.10:
  175. fldl 28(%ebp)
  176. fucom %st(1)
  177. fnstsw %ax
  178. sahf
  179. jp ..B2.11
  180. je ..B2.25
  181. ..B2.11:
  182. fxch %st(2)
  183. fucom %st(1)
  184. fnstsw %ax
  185. sahf
  186. jp ..B2.12
  187. je ..B2.20
  188. ..B2.12:
  189. fstp %st(2)
  190. fldl 36(%ebp)
  191. fucompp
  192. fnstsw %ax
  193. sahf
  194. jp ..B2.13
  195. je ..B2.19
  196. ..B2.13:
  197. fldl 12(%ebp)
  198. fstpt 36(%esp)
  199. fstpt 48(%esp)
  200. fldt 36(%esp)
  201. fldt 36(%esp)
  202. fmulp %st, %st(1)
  203. fldt 48(%esp)
  204. fldt 48(%esp)
  205. fmulp %st, %st(1)
  206. faddp %st, %st(1)
  207. fstpt 108(%esp)
  208. fldt 108(%esp)
  209. addl $-16, %esp
  210. fstpt (%esp)
  211. call logl@PLT
  212. ..B2.49:
  213. addl $16, %esp
  214. fstpt 120(%esp)
  215. fldt 48(%esp)
  216. fldt 36(%esp)
  217. addl $-32, %esp
  218. fxch %st(1)
  219. fstpt (%esp)
  220. fstpt 12(%esp)
  221. call atan2dl@PLT
  222. ..B2.48:
  223. fldt .L_2il0floatpacket.1@GOTOFF(%ebx)
  224. addl $32, %esp
  225. fstpt (%esp)
  226. fldt (%esp)
  227. fxch %st(1)
  228. fstpt 60(%esp)
  229. fldt 120(%esp)
  230. addl $-16, %esp
  231. fldl 28(%ebp)
  232. fmulp %st, %st(2)
  233. fmulp %st, %st(1)
  234. fstpt (%esp)
  235. call expl@PLT
  236. ..B2.47:
  237. fldt _LD_PI_DIV_180@GOTOFF(%ebx)
  238. addl $16, %esp
  239. fxch %st(1)
  240. fstpt 156(%esp)
  241. fldt 60(%esp)
  242. addl $-16, %esp
  243. fmull 36(%ebp)
  244. fmulp %st, %st(1)
  245. fstpt (%esp)
  246. call expl@PLT
  247. ..B2.46:
  248. fldl 36(%ebp)
  249. addl $16, %esp
  250. fxch %st(1)
  251. fstpt 168(%esp)
  252. fldt 156(%esp)
  253. fldt 168(%esp)
  254. fdivrp %st, %st(1)
  255. fstpt 72(%esp)
  256. fldt 120(%esp)
  257. addl $-16, %esp
  258. fldt 16(%esp)
  259. fmulp %st, %st(2)
  260. fmulp %st, %st(1)
  261. fstpt (%esp)
  262. call cosl@PLT
  263. ..B2.45:
  264. addl $16, %esp
  265. fstpt 132(%esp)
  266. fldt 60(%esp)
  267. addl $-16, %esp
  268. fmull 28(%ebp)
  269. fstpt (%esp)
  270. call cosdl@PLT
  271. ..B2.44:
  272. addl $16, %esp
  273. fstpt 84(%esp)
  274. fldt 120(%esp)
  275. addl $-16, %esp
  276. fldt 16(%esp)
  277. fmull 36(%ebp)
  278. fmulp %st, %st(1)
  279. fstpt (%esp)
  280. call sinl@PLT
  281. ..B2.43:
  282. addl $16, %esp
  283. fstpt 144(%esp)
  284. fldt 60(%esp)
  285. addl $-16, %esp
  286. fmull 28(%ebp)
  287. fstpt (%esp)
  288. call sindl@PLT
  289. ..B2.42:
  290. addl $16, %esp
  291. fstpt 96(%esp)
  292. fldt 132(%esp)
  293. fldt 84(%esp)
  294. fmulp %st, %st(1)
  295. fldt 144(%esp)
  296. fldt 96(%esp)
  297. fmulp %st, %st(1)
  298. fsubrp %st, %st(1)
  299. fstpt 180(%esp)
  300. fldt 144(%esp)
  301. fldt 84(%esp)
  302. fmulp %st, %st(1)
  303. fldt 96(%esp)
  304. fldt 132(%esp)
  305. fmulp %st, %st(1)
  306. faddp %st, %st(1)
  307. fstpt 192(%esp)
  308. fldt 180(%esp)
  309. fldt 72(%esp)
  310. fmulp %st, %st(1)
  311. fstpl 208(%esp)
  312. fldt 192(%esp)
  313. fldt 72(%esp)
  314. fmulp %st, %st(1)
  315. fstpl 216(%esp)
  316. ..B2.14:
  317. testl %esi, %esi
  318. je ..B2.16
  319. ..B2.15:
  320. fldcw 206(%esp)
  321. ..B2.16:
  322. movl 208(%esp), %edx
  323. movl %edx, (%edi)
  324. movl 212(%esp), %ecx
  325. movl 216(%esp), %esi
  326. movl 220(%esp), %edx
  327. movl %ecx, 4(%edi)
  328. movl %esi, 8(%edi)
  329. movl %edx, 12(%edi)
  330. movl 224(%esp), %edx
  331. xorl %esp, %edx
  332. cmpl %gs:20, %edx
  333. jne ..B2.18
  334. ..B2.17:
  335. movl %edi, %eax
  336. addl $244, %esp
  337. popl %ebx
  338. popl %edi
  339. popl %esi
  340. movl %ebp, %esp
  341. popl %ebp
  342. ret $4
  343. ..B2.18:
  344. call __stack_chk_fail@PLT
  345. ..B2.19:
  346. fldl 12(%ebp)
  347. fstpt 36(%esp)
  348. fstpt 48(%esp)
  349. fldt 36(%esp)
  350. fldt 36(%esp)
  351. fmulp %st, %st(1)
  352. fldt 48(%esp)
  353. fldt 48(%esp)
  354. fmulp %st, %st(1)
  355. faddp %st, %st(1)
  356. fstpt 108(%esp)
  357. fldt 108(%esp)
  358. addl $-32, %esp
  359. fstpt (%esp)
  360. fldl .L_2il0floatpacket.0@GOTOFF(%ebx)
  361. fmull 28(%ebp)
  362. fstpt 12(%esp)
  363. call powl@PLT
  364. ..B2.53:
  365. addl $32, %esp
  366. fstpt 72(%esp)
  367. fldt 48(%esp)
  368. fldt 36(%esp)
  369. addl $-32, %esp
  370. fxch %st(1)
  371. fstpt (%esp)
  372. fstpt 12(%esp)
  373. call atan2dl@PLT
  374. ..B2.52:
  375. addl $32, %esp
  376. fstpt 60(%esp)
  377. fldt 60(%esp)
  378. addl $-16, %esp
  379. fmull 28(%ebp)
  380. fstpt (%esp)
  381. call cosdl@PLT
  382. ..B2.51:
  383. addl $16, %esp
  384. fstpt 132(%esp)
  385. fldt 60(%esp)
  386. addl $-16, %esp
  387. fmull 28(%ebp)
  388. fstpt (%esp)
  389. call sindl@PLT
  390. ..B2.50:
  391. addl $16, %esp
  392. fstpt 144(%esp)
  393. fldt 72(%esp)
  394. fldt 132(%esp)
  395. fmulp %st, %st(1)
  396. fstpl 208(%esp)
  397. fldt 72(%esp)
  398. fldt 144(%esp)
  399. fmulp %st, %st(1)
  400. fstpl 216(%esp)
  401. jmp ..B2.14
  402. ..B2.20:
  403. fldl 12(%ebp)
  404. fcom %st(2)
  405. fnstsw %ax
  406. sahf
  407. jbe ..B2.22
  408. ..B2.21:
  409. fstp %st(1)
  410. fstp %st(1)
  411. addl $-32, %esp
  412. fstpt (%esp)
  413. fstpt 12(%esp)
  414. call powl@PLT
  415. ..B2.57:
  416. fldl 12(%ebp)
  417. addl $32, %esp
  418. fxch %st(1)
  419. fstpt 72(%esp)
  420. addl $-16, %esp
  421. fstpt (%esp)
  422. call logl@PLT
  423. ..B2.56:
  424. addl $16, %esp
  425. fstpt 24(%esp)
  426. fldt 24(%esp)
  427. addl $-16, %esp
  428. fmull 36(%ebp)
  429. fstpt (%esp)
  430. call cosl@PLT
  431. ..B2.55:
  432. addl $16, %esp
  433. fstpt 132(%esp)
  434. fldt 24(%esp)
  435. addl $-16, %esp
  436. fmull 36(%ebp)
  437. fstpt (%esp)
  438. call sinl@PLT
  439. ..B2.54:
  440. addl $16, %esp
  441. fstpt 144(%esp)
  442. fldt 132(%esp)
  443. fldt 72(%esp)
  444. fmulp %st, %st(1)
  445. fstpl 208(%esp)
  446. fldt 144(%esp)
  447. fldt 72(%esp)
  448. fmulp %st, %st(1)
  449. fstpl 216(%esp)
  450. jmp ..B2.14
  451. ..B2.22:
  452. fstp %st(3)
  453. fxch %st(1)
  454. fcomp %st(2)
  455. fnstsw %ax
  456. sahf
  457. jbe ..B2.24
  458. ..B2.23:
  459. fxch %st(1)
  460. fstpt 36(%esp)
  461. fldt 36(%esp)
  462. fchs
  463. fstpt 12(%esp)
  464. fstpt 48(%esp)
  465. fldt 12(%esp)
  466. addl $-16, %esp
  467. fstpt (%esp)
  468. call logl@PLT
  469. ..B2.65:
  470. addl $16, %esp
  471. fstpt 120(%esp)
  472. fldt 48(%esp)
  473. fldt 36(%esp)
  474. addl $-32, %esp
  475. fxch %st(1)
  476. fstpt (%esp)
  477. fstpt 12(%esp)
  478. call atan2dl@PLT
  479. ..B2.64:
  480. addl $32, %esp
  481. fstpt 60(%esp)
  482. fldt 120(%esp)
  483. addl $-16, %esp
  484. fmull 28(%ebp)
  485. fstpt (%esp)
  486. call expl@PLT
  487. ..B2.63:
  488. fldt _LD_PI_DIV_180@GOTOFF(%ebx)
  489. addl $16, %esp
  490. fxch %st(1)
  491. fstpt 156(%esp)
  492. fldt 60(%esp)
  493. addl $-16, %esp
  494. fmull 36(%ebp)
  495. fmulp %st, %st(1)
  496. fstpt (%esp)
  497. call expl@PLT
  498. ..B2.62:
  499. addl $16, %esp
  500. fstpt 168(%esp)
  501. fldt 156(%esp)
  502. fldt 168(%esp)
  503. fdivrp %st, %st(1)
  504. fstpt 72(%esp)
  505. fldt 120(%esp)
  506. addl $-16, %esp
  507. fmull 36(%ebp)
  508. fstpt (%esp)
  509. call cosl@PLT
  510. ..B2.61:
  511. addl $16, %esp
  512. fstpt 132(%esp)
  513. fldt 60(%esp)
  514. addl $-16, %esp
  515. fmull 28(%ebp)
  516. fstpt (%esp)
  517. call cosdl@PLT
  518. ..B2.60:
  519. addl $16, %esp
  520. fstpt 84(%esp)
  521. fldt 120(%esp)
  522. addl $-16, %esp
  523. fmull 36(%ebp)
  524. fstpt (%esp)
  525. call sinl@PLT
  526. ..B2.59:
  527. addl $16, %esp
  528. fstpt 144(%esp)
  529. fldt 60(%esp)
  530. addl $-16, %esp
  531. fmull 28(%ebp)
  532. fstpt (%esp)
  533. call sindl@PLT
  534. ..B2.58:
  535. addl $16, %esp
  536. fstpt 96(%esp)
  537. fldt 132(%esp)
  538. fldt 84(%esp)
  539. fmulp %st, %st(1)
  540. fldt 144(%esp)
  541. fldt 96(%esp)
  542. fmulp %st, %st(1)
  543. fsubrp %st, %st(1)
  544. fstpt 180(%esp)
  545. fldt 144(%esp)
  546. fldt 84(%esp)
  547. fmulp %st, %st(1)
  548. fldt 96(%esp)
  549. fldt 132(%esp)
  550. fmulp %st, %st(1)
  551. faddp %st, %st(1)
  552. fstpt 192(%esp)
  553. fldt 180(%esp)
  554. fldt 72(%esp)
  555. fmulp %st, %st(1)
  556. fstpl 208(%esp)
  557. fldt 192(%esp)
  558. fldt 72(%esp)
  559. fmulp %st, %st(1)
  560. fstpl 216(%esp)
  561. jmp ..B2.14
  562. ..B2.24:
  563. fxch %st(1)
  564. fstpl 208(%esp)
  565. fstpl 216(%esp)
  566. jmp ..B2.14
  567. ..B2.25:
  568. fldl 36(%ebp)
  569. fucomp %st(2)
  570. fnstsw %ax
  571. sahf
  572. jne ..B2.11
  573. jp ..B2.11
  574. ..B2.26:
  575. fstp %st(0)
  576. fstp %st(0)
  577. fldl 12(%ebp)
  578. fstpt 36(%esp)
  579. fstpt 48(%esp)
  580. fldt 36(%esp)
  581. fldt 36(%esp)
  582. fmulp %st, %st(1)
  583. fldt 48(%esp)
  584. fldt 48(%esp)
  585. fmulp %st, %st(1)
  586. faddp %st, %st(1)
  587. fstpt 108(%esp)
  588. fldt 108(%esp)
  589. addl $-16, %esp
  590. fstpt (%esp)
  591. call logl@PLT
  592. ..B2.69:
  593. addl $16, %esp
  594. fstpt 120(%esp)
  595. fldt 48(%esp)
  596. fldt 36(%esp)
  597. addl $-32, %esp
  598. fxch %st(1)
  599. fstpt (%esp)
  600. fstpt 12(%esp)
  601. call atan2l@PLT
  602. ..B2.68:
  603. addl $32, %esp
  604. fstpt 60(%esp)
  605. fldt 120(%esp)
  606. fldt 60(%esp)
  607. addl $-16, %esp
  608. faddp %st, %st(1)
  609. fstpt (%esp)
  610. call sinl@PLT
  611. ..B2.67:
  612. fldl ZEROA@GOTOFF(%ebx)
  613. fld1
  614. addl $16, %esp
  615. fstpl 208(%esp)
  616. addl $-16, %esp
  617. fstpl (%esp)
  618. fstpl 8(%esp)
  619. call copysign@PLT
  620. ..B2.66:
  621. addl $16, %esp
  622. fstpl 216(%esp)
  623. jmp ..B2.14
  624. ..B2.27:
  625. fldl 36(%ebp)
  626. fucomp %st(1)
  627. fnstsw %ax
  628. sahf
  629. jne ..B2.10
  630. jp ..B2.10
  631. ..B2.28:
  632. fldl 12(%ebp)
  633. fxch %st(1)
  634. fcomp %st(1)
  635. fnstsw %ax
  636. sahf
  637. jbe ..B2.30
  638. ..B2.29:
  639. fstpt 36(%esp)
  640. fldt 36(%esp)
  641. fchs
  642. fstpt 12(%esp)
  643. fstpt 48(%esp)
  644. fldt 48(%esp)
  645. fldt 36(%esp)
  646. addl $-32, %esp
  647. fxch %st(1)
  648. fstpt (%esp)
  649. fstpt 12(%esp)
  650. call atan2dl@PLT
  651. ..B2.73:
  652. fldl 28(%ebp)
  653. addl $32, %esp
  654. fxch %st(1)
  655. fstpt 60(%esp)
  656. fldt 12(%esp)
  657. addl $-32, %esp
  658. fstpt (%esp)
  659. fstpt 12(%esp)
  660. call powl@PLT
  661. ..B2.72:
  662. addl $32, %esp
  663. fstpt 72(%esp)
  664. fldt 60(%esp)
  665. addl $-16, %esp
  666. fmull 28(%ebp)
  667. fstpt (%esp)
  668. call cosdl@PLT
  669. ..B2.71:
  670. addl $16, %esp
  671. fstpt 84(%esp)
  672. fldt 60(%esp)
  673. addl $-16, %esp
  674. fmull 28(%ebp)
  675. fstpt (%esp)
  676. call sindl@PLT
  677. ..B2.70:
  678. addl $16, %esp
  679. fstpt 96(%esp)
  680. fldt 72(%esp)
  681. fldt 84(%esp)
  682. fmulp %st, %st(1)
  683. fstpl 208(%esp)
  684. fldt 72(%esp)
  685. fldt 96(%esp)
  686. fmulp %st, %st(1)
  687. fstpl 216(%esp)
  688. jmp ..B2.14
  689. ..B2.30:
  690. fldl 28(%ebp)
  691. addl $-16, %esp
  692. fstpl 8(%esp)
  693. fstpl (%esp)
  694. fstpl 16(%esp)
  695. call pow@PLT
  696. ..B2.74:
  697. fldl 16(%esp)
  698. addl $16, %esp
  699. fstpl 216(%esp)
  700. fstpl 208(%esp)
  701. jmp ..B2.14
  702. ..B2.31:
  703. fldl 20(%ebp)
  704. addl $-16, %esp
  705. fstpl (%esp)
  706. call __libm_internal_isnzfinite
  707. ..B2.75:
  708. addl $16, %esp
  709. ..B2.32:
  710. testl %eax, %eax
  711. je ..B2.9
  712. ..B2.33:
  713. fldl 28(%ebp)
  714. addl $-16, %esp
  715. fstpl (%esp)
  716. call __libm_internal_isnzfinite
  717. ..B2.76:
  718. addl $16, %esp
  719. ..B2.34:
  720. testl %eax, %eax
  721. je ..B2.9
  722. ..B2.35:
  723. fldl 36(%ebp)
  724. addl $-16, %esp
  725. fstpl (%esp)
  726. call __libm_internal_isnzfinite
  727. ..B2.77:
  728. addl $16, %esp
  729. ..B2.36:
  730. testl %eax, %eax
  731. je ..B2.9
  732. ..B2.37:
  733. fldl 12(%ebp)
  734. fstpt 36(%esp)
  735. fldl 20(%ebp)
  736. fstpt 48(%esp)
  737. fldt 36(%esp)
  738. fldt 36(%esp)
  739. fmulp %st, %st(1)
  740. fldt 48(%esp)
  741. fldt 48(%esp)
  742. fmulp %st, %st(1)
  743. faddp %st, %st(1)
  744. fstpt 108(%esp)
  745. fldt 108(%esp)
  746. addl $-16, %esp
  747. fstpt (%esp)
  748. call logl@PLT
  749. ..B2.85:
  750. addl $16, %esp
  751. fstpt 120(%esp)
  752. fldt 48(%esp)
  753. fldt 36(%esp)
  754. addl $-32, %esp
  755. fxch %st(1)
  756. fstpt (%esp)
  757. fstpt 12(%esp)
  758. call atan2dl@PLT
  759. ..B2.84:
  760. fldt .L_2il0floatpacket.1@GOTOFF(%ebx)
  761. addl $32, %esp
  762. fstpt (%esp)
  763. fldt (%esp)
  764. fxch %st(1)
  765. fstpt 60(%esp)
  766. fldt 120(%esp)
  767. addl $-16, %esp
  768. fldl 28(%ebp)
  769. fmulp %st, %st(2)
  770. fmulp %st, %st(1)
  771. fstpt (%esp)
  772. call expl@PLT
  773. ..B2.83:
  774. fldt _LD_PI_DIV_180@GOTOFF(%ebx)
  775. addl $16, %esp
  776. fxch %st(1)
  777. fstpt 156(%esp)
  778. fldt 60(%esp)
  779. addl $-16, %esp
  780. fmull 36(%ebp)
  781. fmulp %st, %st(1)
  782. fstpt (%esp)
  783. call expl@PLT
  784. ..B2.82:
  785. fldl 36(%ebp)
  786. addl $16, %esp
  787. fxch %st(1)
  788. fstpt 168(%esp)
  789. fldt 156(%esp)
  790. fldt 168(%esp)
  791. fdivrp %st, %st(1)
  792. fstpt 72(%esp)
  793. fldt 120(%esp)
  794. addl $-16, %esp
  795. fldt 16(%esp)
  796. fmulp %st, %st(2)
  797. fmulp %st, %st(1)
  798. fstpt (%esp)
  799. call cosl@PLT
  800. ..B2.81:
  801. addl $16, %esp
  802. fstpt 132(%esp)
  803. fldt 60(%esp)
  804. addl $-16, %esp
  805. fmull 28(%ebp)
  806. fstpt (%esp)
  807. call cosdl@PLT
  808. ..B2.80:
  809. addl $16, %esp
  810. fstpt 84(%esp)
  811. fldt 120(%esp)
  812. addl $-16, %esp
  813. fldt 16(%esp)
  814. fmull 36(%ebp)
  815. fmulp %st, %st(1)
  816. fstpt (%esp)
  817. call sinl@PLT
  818. ..B2.79:
  819. addl $16, %esp
  820. fstpt 144(%esp)
  821. fldt 60(%esp)
  822. addl $-16, %esp
  823. fmull 28(%ebp)
  824. fstpt (%esp)
  825. call sindl@PLT
  826. ..B2.78:
  827. addl $16, %esp
  828. fstpt 96(%esp)
  829. fldt 132(%esp)
  830. fldt 84(%esp)
  831. fmulp %st, %st(1)
  832. fldt 144(%esp)
  833. fldt 96(%esp)
  834. fmulp %st, %st(1)
  835. fsubrp %st, %st(1)
  836. fstpt 180(%esp)
  837. fldt 144(%esp)
  838. fldt 84(%esp)
  839. fmulp %st, %st(1)
  840. fldt 96(%esp)
  841. fldt 132(%esp)
  842. fmulp %st, %st(1)
  843. faddp %st, %st(1)
  844. fstpt 192(%esp)
  845. fldt 180(%esp)
  846. fldt 72(%esp)
  847. fmulp %st, %st(1)
  848. fstpl 208(%esp)
  849. fldt 192(%esp)
  850. fldt 72(%esp)
  851. fmulp %st, %st(1)
  852. fstpl 216(%esp)
  853. jmp ..B2.14
  854. ..B2.38:
  855. xorl %esi, %esi
  856. jmp ..B2.7
  857. .align 16,0x90
  858. .type cpow,@function
  859. .size cpow,.-cpow
  860. .data
  861. # -- End cpow
  862. .section .rodata, "a"
  863. .align 16
  864. .align 16
  865. .L_2il0floatpacket.1:
  866. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xfe,0x3f,0x00,0x00
  867. .type .L_2il0floatpacket.1,@object
  868. .size .L_2il0floatpacket.1,12
  869. .space 4, 0x00 # pad
  870. .align 16
  871. ZEROA:
  872. .long 0
  873. .long 0
  874. .type ZEROA,@object
  875. .size ZEROA,8
  876. .space 8, 0x00 # pad
  877. .align 16
  878. _LD_PI_DIV_180:
  879. .word 51374
  880. .word 38121
  881. .word 13586
  882. .word 36602
  883. .word 16377
  884. .word 0
  885. .type _LD_PI_DIV_180,@object
  886. .size _LD_PI_DIV_180,12
  887. .space 4, 0x00 # pad
  888. .align 8
  889. .L_2il0floatpacket.0:
  890. .long 0x00000000,0x3fe00000
  891. .type .L_2il0floatpacket.0,@object
  892. .size .L_2il0floatpacket.0,8
  893. .data
  894. .hidden __libm_internal_isnzfinite
  895. .section .note.GNU-stack, ""
  896. # End