sinl.S 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048
  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 "sinl.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin sinl
  41. .text
  42. .align 16,0x90
  43. .globl sinl
  44. sinl:
  45. # parameter 1: 192 + %rsp
  46. ..B1.1:
  47. .cfi_startproc
  48. ..___tag_value_sinl.1:
  49. ..L2:
  50. pushq %r12
  51. .cfi_def_cfa_offset 16
  52. .cfi_offset 12, -16
  53. pushq %rbx
  54. .cfi_def_cfa_offset 24
  55. .cfi_offset 3, -24
  56. pushq %rbp
  57. .cfi_def_cfa_offset 32
  58. .cfi_offset 6, -32
  59. subq $160, %rsp
  60. .cfi_def_cfa_offset 192
  61. xorb %r12b, %r12b
  62. movq %fs:40, %rax
  63. xorq %rsp, %rax
  64. movq %rax, 152(%rsp)
  65. ..B1.2:
  66. fnstcw 130(%rsp)
  67. ..B1.3:
  68. movzwl 200(%rsp), %edx
  69. andl $32767, %edx
  70. movzwl 130(%rsp), %ecx
  71. cmpl $32767, %edx
  72. je ..B1.70
  73. ..B1.4:
  74. cmpl $16378, %edx
  75. jge ..B1.42
  76. ..B1.5:
  77. cmpl $16372, %edx
  78. jge ..B1.34
  79. ..B1.6:
  80. cmpl $16364, %edx
  81. jge ..B1.26
  82. ..B1.7:
  83. cmpl $16308, %edx
  84. jge ..B1.18
  85. ..B1.8:
  86. movl %ecx, %eax
  87. andl $768, %eax
  88. cmpl $768, %eax
  89. je ..B1.12
  90. ..B1.9:
  91. orl $-64768, %ecx
  92. movw %cx, 128(%rsp)
  93. ..B1.10:
  94. fldcw 128(%rsp)
  95. ..B1.11:
  96. movzwl 200(%rsp), %edx
  97. movb $1, %r12b
  98. andl $32767, %edx
  99. ..B1.12:
  100. testl %edx, %edx
  101. jle ..B1.59
  102. ..B1.13:
  103. fldt 192(%rsp)
  104. lea _TWO_75(%rip), %rax
  105. lea 8+_TWO_75(%rip), %rdx
  106. fldl (%rax)
  107. fmul %st(1), %st
  108. fsubp %st, %st(1)
  109. fmull (%rdx)
  110. fstpt 16(%rsp)
  111. ..B1.14:
  112. testb %r12b, %r12b
  113. je ..B1.16
  114. ..B1.15:
  115. fldcw 130(%rsp)
  116. ..B1.16:
  117. movq 152(%rsp), %rax
  118. xorq %rsp, %rax
  119. cmpq %fs:40, %rax
  120. jne ..B1.58
  121. ..B1.17:
  122. fldt 16(%rsp)
  123. addq $160, %rsp
  124. .cfi_def_cfa_offset 32
  125. .cfi_restore 6
  126. popq %rbp
  127. .cfi_def_cfa_offset 24
  128. .cfi_restore 3
  129. popq %rbx
  130. .cfi_def_cfa_offset 16
  131. .cfi_restore 12
  132. popq %r12
  133. .cfi_def_cfa_offset 8
  134. ret
  135. .cfi_def_cfa_offset 192
  136. .cfi_offset 3, -24
  137. .cfi_offset 6, -32
  138. .cfi_offset 12, -16
  139. ..B1.18:
  140. movl %ecx, %eax
  141. andl $768, %eax
  142. cmpl $768, %eax
  143. je ..B1.22
  144. ..B1.19:
  145. orl $-64768, %ecx
  146. movw %cx, 128(%rsp)
  147. ..B1.20:
  148. fldcw 128(%rsp)
  149. ..B1.21:
  150. movb $1, %r12b
  151. ..B1.22:
  152. fldt 192(%rsp)
  153. lea _SP3(%rip), %rax
  154. testb %r12b, %r12b
  155. fldt (%rax)
  156. fmul %st(1), %st
  157. fmul %st(1), %st
  158. fmul %st(1), %st
  159. faddp %st, %st(1)
  160. fstpt 16(%rsp)
  161. je ..B1.24
  162. ..B1.23:
  163. fldcw 130(%rsp)
  164. ..B1.24:
  165. movq 152(%rsp), %rax
  166. xorq %rsp, %rax
  167. cmpq %fs:40, %rax
  168. jne ..B1.58
  169. ..B1.25:
  170. fldt 16(%rsp)
  171. addq $160, %rsp
  172. .cfi_def_cfa_offset 32
  173. .cfi_restore 6
  174. popq %rbp
  175. .cfi_def_cfa_offset 24
  176. .cfi_restore 3
  177. popq %rbx
  178. .cfi_def_cfa_offset 16
  179. .cfi_restore 12
  180. popq %r12
  181. .cfi_def_cfa_offset 8
  182. ret
  183. .cfi_def_cfa_offset 192
  184. .cfi_offset 3, -24
  185. .cfi_offset 6, -32
  186. .cfi_offset 12, -16
  187. ..B1.26:
  188. movl %ecx, %eax
  189. andl $768, %eax
  190. cmpl $768, %eax
  191. je ..B1.30
  192. ..B1.27:
  193. orl $-64768, %ecx
  194. movw %cx, 128(%rsp)
  195. ..B1.28:
  196. fldcw 128(%rsp)
  197. ..B1.29:
  198. movb $1, %r12b
  199. ..B1.30:
  200. fldt 192(%rsp)
  201. lea 16+_SP2(%rip), %rax
  202. fld %st(0)
  203. lea _SP2(%rip), %rdx
  204. fmul %st(1), %st
  205. testb %r12b, %r12b
  206. fldt (%rax)
  207. fmul %st(1), %st
  208. fldt (%rdx)
  209. faddp %st, %st(1)
  210. fmulp %st, %st(1)
  211. fmul %st(1), %st
  212. faddp %st, %st(1)
  213. fstpt 16(%rsp)
  214. je ..B1.32
  215. ..B1.31:
  216. fldcw 130(%rsp)
  217. ..B1.32:
  218. movq 152(%rsp), %rax
  219. xorq %rsp, %rax
  220. cmpq %fs:40, %rax
  221. jne ..B1.58
  222. ..B1.33:
  223. fldt 16(%rsp)
  224. addq $160, %rsp
  225. .cfi_def_cfa_offset 32
  226. .cfi_restore 6
  227. popq %rbp
  228. .cfi_def_cfa_offset 24
  229. .cfi_restore 3
  230. popq %rbx
  231. .cfi_def_cfa_offset 16
  232. .cfi_restore 12
  233. popq %r12
  234. .cfi_def_cfa_offset 8
  235. ret
  236. .cfi_def_cfa_offset 192
  237. .cfi_offset 3, -24
  238. .cfi_offset 6, -32
  239. .cfi_offset 12, -16
  240. ..B1.34:
  241. movl %ecx, %eax
  242. andl $768, %eax
  243. cmpl $768, %eax
  244. je ..B1.38
  245. ..B1.35:
  246. orl $-64768, %ecx
  247. movw %cx, 128(%rsp)
  248. ..B1.36:
  249. fldcw 128(%rsp)
  250. ..B1.37:
  251. movb $1, %r12b
  252. ..B1.38:
  253. fldt 192(%rsp)
  254. lea 48+_SP1(%rip), %rax
  255. fld %st(0)
  256. lea 32+_SP1(%rip), %rcx
  257. fmul %st(1), %st
  258. lea 16+_SP1(%rip), %rdx
  259. fld %st(0)
  260. lea _SP1(%rip), %rbx
  261. fmul %st(1), %st
  262. testb %r12b, %r12b
  263. fldt (%rax)
  264. fmul %st(1), %st
  265. fldt (%rdx)
  266. faddp %st, %st(1)
  267. fmul %st(1), %st
  268. fldt (%rcx)
  269. fmulp %st, %st(2)
  270. fldt (%rbx)
  271. faddp %st, %st(2)
  272. fxch %st(2)
  273. fmulp %st, %st(1)
  274. faddp %st, %st(1)
  275. fmul %st(1), %st
  276. faddp %st, %st(1)
  277. fstpt 16(%rsp)
  278. je ..B1.40
  279. ..B1.39:
  280. fldcw 130(%rsp)
  281. ..B1.40:
  282. movq 152(%rsp), %rax
  283. xorq %rsp, %rax
  284. cmpq %fs:40, %rax
  285. jne ..B1.58
  286. ..B1.41:
  287. fldt 16(%rsp)
  288. addq $160, %rsp
  289. .cfi_def_cfa_offset 32
  290. .cfi_restore 6
  291. popq %rbp
  292. .cfi_def_cfa_offset 24
  293. .cfi_restore 3
  294. popq %rbx
  295. .cfi_def_cfa_offset 16
  296. .cfi_restore 12
  297. popq %r12
  298. .cfi_def_cfa_offset 8
  299. ret
  300. .cfi_def_cfa_offset 192
  301. .cfi_offset 3, -24
  302. .cfi_offset 6, -32
  303. .cfi_offset 12, -16
  304. ..B1.42:
  305. movl %ecx, %eax
  306. andl $768, %eax
  307. cmpl $768, %eax
  308. je ..B1.46
  309. ..B1.43:
  310. orl $-64768, %ecx
  311. movw %cx, 128(%rsp)
  312. ..B1.44:
  313. fldcw 128(%rsp)
  314. ..B1.45:
  315. movzwl 200(%rsp), %edx
  316. movb $1, %r12b
  317. andl $32767, %edx
  318. ..B1.46:
  319. cmpl $16382, %edx
  320. jge ..B1.48
  321. ..B1.47:
  322. fldt 192(%rsp)
  323. xorl %ecx, %ecx
  324. movb 201(%rsp), %bpl
  325. lea _TWO_52H(%rip), %rdx
  326. andb $-128, %bpl
  327. shrb $7, %bpl
  328. fldl (%rdx)
  329. movzbl %bpl, %eax
  330. lea _ones(%rip), %rbp
  331. fldl (%rbp,%rax,8)
  332. fmul %st, %st(2)
  333. fxch %st(1)
  334. fmul %st(2), %st
  335. fxch %st(1)
  336. fstpt 16(%rsp)
  337. fld %st(0)
  338. fadd %st(2), %st
  339. fsubp %st, %st(1)
  340. fld %st(0)
  341. fsubr %st(2), %st
  342. fxch %st(2)
  343. fstpt 192(%rsp)
  344. fldt 192(%rsp)
  345. jmp ..B1.51
  346. ..B1.48:
  347. je ..B1.67
  348. ..B1.49:
  349. fldt 192(%rsp)
  350. lea _ones(%rip), %rbp
  351. movzbl 201(%rsp), %ebx
  352. xorl %edi, %edi
  353. andl $128, %ebx
  354. shrl $7, %ebx
  355. fmull (%rbp,%rbx,8)
  356. fstpt 192(%rsp)
  357. fldt 192(%rsp)
  358. addq $-16, %rsp
  359. .cfi_def_cfa_offset 208
  360. lea 152(%rsp), %rsi
  361. fstpt (%rsp)
  362. ..___tag_value_sinl.55:
  363. call __libm_reduce_pi04l@PLT
  364. ..___tag_value_sinl.56:
  365. ..B1.85:
  366. movl %eax, %ecx
  367. addq $16, %rsp
  368. .cfi_def_cfa_offset 192
  369. ..B1.50:
  370. fldl 136(%rsp)
  371. lea 1(%rcx), %eax
  372. lea _TWO_52H(%rip), %rdx
  373. fld %st(0)
  374. movsd 136(%rsp), %xmm0
  375. shrl $2, %eax
  376. xorl %eax, %ebx
  377. mulsd (%rdx), %xmm0
  378. andl $1, %ebx
  379. fldl (%rbp,%rbx,8)
  380. movsd %xmm0, 32(%rsp)
  381. fstpt 16(%rsp)
  382. fldl 32(%rsp)
  383. fadd %st, %st(1)
  384. fsubrp %st, %st(1)
  385. fsubr %st, %st(1)
  386. fldl 144(%rsp)
  387. faddp %st, %st(2)
  388. fld %st(0)
  389. fadd %st(2), %st
  390. ..B1.51:
  391. fld %st(1)
  392. lea _TWO_53H(%rip), %rax
  393. fmul %st(3), %st
  394. fld %st(3)
  395. fmul %st(2), %st
  396. incl %ecx
  397. faddp %st, %st(1)
  398. fstpt 64(%rsp)
  399. fldt 64(%rsp)
  400. fld %st(2)
  401. fmul %st(3), %st
  402. testb $2, %cl
  403. fld %st(0)
  404. fadd %st(2), %st
  405. fstpt 80(%rsp)
  406. fldt 80(%rsp)
  407. fld %st(1)
  408. fmul %st(3), %st
  409. fxch %st(1)
  410. fmulp %st, %st(3)
  411. faddp %st, %st(2)
  412. fxch %st(1)
  413. fstpt 96(%rsp)
  414. fldt 96(%rsp)
  415. fxch %st(1)
  416. fstpt 112(%rsp)
  417. fldt 112(%rsp)
  418. fmul %st(0), %st
  419. fld %st(0)
  420. faddp %st, %st(2)
  421. fldl (%rax)
  422. fstpt 48(%rsp)
  423. je ..B1.53
  424. ..B1.52:
  425. fstp %st(2)
  426. fstp %st(2)
  427. fstp %st(2)
  428. lea 128+_CP(%rip), %rsi
  429. lea 112+_CP(%rip), %rax
  430. lea 96+_CP(%rip), %rdi
  431. lea 80+_CP(%rip), %rdx
  432. lea 64+_CP(%rip), %r8
  433. lea 48+_CP(%rip), %rcx
  434. lea 32+_CP(%rip), %r9
  435. lea 16+_CP(%rip), %rbx
  436. fldt (%rax)
  437. lea _CP(%rip), %r10
  438. lea 160+_CP(%rip), %r11
  439. lea 144+_CP(%rip), %rax
  440. fmul %st(1), %st
  441. fldt (%rdx)
  442. faddp %st, %st(1)
  443. fmul %st(1), %st
  444. fldt (%rcx)
  445. faddp %st, %st(1)
  446. fmul %st(1), %st
  447. fldt (%rbx)
  448. faddp %st, %st(1)
  449. fmul %st(1), %st
  450. fldt (%rsi)
  451. fmul %st(2), %st
  452. fldt (%rdi)
  453. faddp %st, %st(1)
  454. fmul %st(2), %st
  455. fldt (%r8)
  456. faddp %st, %st(1)
  457. fmul %st(2), %st
  458. fldt (%r9)
  459. faddp %st, %st(1)
  460. fmulp %st, %st(2)
  461. fldt (%r10)
  462. faddp %st, %st(2)
  463. fldt 80(%rsp)
  464. fmulp %st, %st(2)
  465. faddp %st, %st(1)
  466. fldt 96(%rsp)
  467. fldt 64(%rsp)
  468. fldt 112(%rsp)
  469. fldt 48(%rsp)
  470. fldt (%r11)
  471. fmul %st, %st(4)
  472. fxch %st(4)
  473. faddp %st, %st(5)
  474. fxch %st(3)
  475. fmulp %st, %st(5)
  476. fldt (%rax)
  477. fmul %st, %st(1)
  478. fxch %st(1)
  479. faddp %st, %st(5)
  480. fld %st(4)
  481. fxch %st(1)
  482. fmulp %st, %st(2)
  483. fxch %st(1)
  484. faddp %st, %st(3)
  485. fadd %st(2), %st
  486. fmul %st, %st(1)
  487. fadd %st(1), %st
  488. fsubp %st, %st(1)
  489. fld %st(0)
  490. fxch %st(1)
  491. fsubr %st, %st(3)
  492. fxch %st(3)
  493. faddp %st, %st(2)
  494. fldl (%rbp)
  495. fadd %st, %st(1)
  496. fsub %st(1), %st
  497. faddp %st, %st(3)
  498. fxch %st(2)
  499. faddp %st, %st(1)
  500. fldt 16(%rsp)
  501. fmul %st, %st(2)
  502. fmulp %st, %st(1)
  503. faddp %st, %st(1)
  504. fstpt 32(%rsp)
  505. jmp ..B1.54
  506. ..B1.53:
  507. lea 112+_SP(%rip), %rax
  508. lea 80+_SP(%rip), %rdx
  509. lea 48+_SP(%rip), %rcx
  510. lea 128+_SP(%rip), %rbp
  511. lea 16+_SP(%rip), %rbx
  512. lea 96+_SP(%rip), %rsi
  513. lea 64+_SP(%rip), %rdi
  514. lea 32+_SP(%rip), %r8
  515. fldt (%rax)
  516. lea _SP(%rip), %r9
  517. lea 160+_SP(%rip), %r10
  518. lea 144+_SP(%rip), %r11
  519. fmul %st(2), %st
  520. fldt (%rdx)
  521. faddp %st, %st(1)
  522. fmul %st(2), %st
  523. fldt (%rcx)
  524. faddp %st, %st(1)
  525. fmul %st(2), %st
  526. fldt (%rbx)
  527. faddp %st, %st(1)
  528. fmul %st(2), %st
  529. fldt (%rbp)
  530. fmul %st(3), %st
  531. fldt (%rsi)
  532. faddp %st, %st(1)
  533. fmul %st(3), %st
  534. fldt (%rdi)
  535. faddp %st, %st(1)
  536. fmul %st(3), %st
  537. fldt (%r8)
  538. faddp %st, %st(1)
  539. fmulp %st, %st(3)
  540. fldt (%r9)
  541. faddp %st, %st(3)
  542. fldt 80(%rsp)
  543. fmulp %st, %st(3)
  544. faddp %st, %st(2)
  545. fldt 96(%rsp)
  546. fldt 64(%rsp)
  547. fldt (%r10)
  548. fmul %st, %st(2)
  549. fxch %st(2)
  550. faddp %st, %st(4)
  551. fxch %st(1)
  552. fmulp %st, %st(2)
  553. fldt (%r11)
  554. fmul %st, %st(1)
  555. fxch %st(1)
  556. faddp %st, %st(3)
  557. fldt 112(%rsp)
  558. fmulp %st, %st(1)
  559. faddp %st, %st(1)
  560. fld %st(0)
  561. fadd %st(2), %st
  562. fld %st(5)
  563. fldt 48(%rsp)
  564. fmul %st(2), %st
  565. fadd %st, %st(2)
  566. fsubrp %st, %st(2)
  567. fmul %st(1), %st
  568. fxch %st(1)
  569. fsubr %st, %st(2)
  570. fxch %st(2)
  571. faddp %st, %st(3)
  572. fxch %st(3)
  573. fmulp %st, %st(2)
  574. fxch %st(1)
  575. faddp %st, %st(2)
  576. fxch %st(1)
  577. faddp %st, %st(3)
  578. fmul %st(1), %st
  579. fld %st(1)
  580. fadd %st(1), %st
  581. fsubr %st, %st(2)
  582. fxch %st(2)
  583. faddp %st, %st(1)
  584. faddp %st, %st(2)
  585. fldt 16(%rsp)
  586. fmul %st, %st(1)
  587. fmulp %st, %st(2)
  588. faddp %st, %st(1)
  589. fstpt 32(%rsp)
  590. ..B1.54:
  591. testb %r12b, %r12b
  592. je ..B1.56
  593. ..B1.55:
  594. fldcw 130(%rsp)
  595. ..B1.56:
  596. movq 152(%rsp), %rax
  597. xorq %rsp, %rax
  598. cmpq %fs:40, %rax
  599. jne ..B1.58
  600. ..B1.57:
  601. fldt 32(%rsp)
  602. addq $160, %rsp
  603. .cfi_def_cfa_offset 32
  604. .cfi_restore 6
  605. popq %rbp
  606. .cfi_def_cfa_offset 24
  607. .cfi_restore 3
  608. popq %rbx
  609. .cfi_def_cfa_offset 16
  610. .cfi_restore 12
  611. popq %r12
  612. .cfi_def_cfa_offset 8
  613. ret
  614. .cfi_def_cfa_offset 192
  615. .cfi_offset 3, -24
  616. .cfi_offset 6, -32
  617. .cfi_offset 12, -16
  618. ..B1.58:
  619. call __stack_chk_fail@PLT
  620. ..B1.59:
  621. cmpl $0, 196(%rsp)
  622. jne ..B1.61
  623. ..B1.60:
  624. cmpl $0, 192(%rsp)
  625. je ..B1.62
  626. ..B1.61:
  627. fldt 192(%rsp)
  628. lea _TWO_75(%rip), %rbx
  629. movb 201(%rsp), %al
  630. lea _small_value_80(%rip), %rcx
  631. andb $-128, %al
  632. lea 8+_TWO_75(%rip), %rbp
  633. shrb $7, %al
  634. fldl (%rbx)
  635. fmul %st(1), %st
  636. fsubp %st, %st(1)
  637. fldt (%rcx)
  638. fxch %st(1)
  639. fmull (%rbp)
  640. movzbl %al, %edx
  641. shlq $4, %rdx
  642. fstpt 16(%rsp)
  643. fldt (%rcx,%rdx)
  644. fmulp %st, %st(1)
  645. fstpt (%rsp)
  646. jmp ..B1.14
  647. ..B1.62:
  648. fldt 192(%rsp)
  649. fstpt 16(%rsp)
  650. jmp ..B1.14
  651. ..B1.67:
  652. movl 196(%rsp), %eax
  653. cmpl $-921707870, %eax
  654. jb ..B1.47
  655. ..B1.68:
  656. jne ..B1.49
  657. ..B1.69:
  658. cmpl $560513589, 192(%rsp)
  659. jbe ..B1.47
  660. jmp ..B1.49
  661. ..B1.70:
  662. movl %ecx, %eax
  663. andl $768, %eax
  664. cmpl $768, %eax
  665. je ..B1.74
  666. ..B1.71:
  667. orl $-64768, %ecx
  668. movw %cx, 128(%rsp)
  669. ..B1.72:
  670. fldcw 128(%rsp)
  671. ..B1.73:
  672. movb $1, %r12b
  673. ..B1.74:
  674. cmpl $-2147483648, 196(%rsp)
  675. jne ..B1.77
  676. ..B1.75:
  677. cmpl $0, 192(%rsp)
  678. jne ..B1.77
  679. ..B1.76:
  680. lea _infs(%rip), %rax
  681. lea _zeros(%rip), %rdx
  682. movsd (%rax), %xmm0
  683. mulsd (%rdx), %xmm0
  684. movsd %xmm0, 32(%rsp)
  685. fldl 32(%rsp)
  686. fstpt 16(%rsp)
  687. jmp ..B1.78
  688. ..B1.77:
  689. fldt 192(%rsp)
  690. lea _ones(%rip), %rax
  691. fmull (%rax)
  692. fstpt 16(%rsp)
  693. ..B1.78:
  694. testb %r12b, %r12b
  695. je ..B1.80
  696. ..B1.79:
  697. fldcw 130(%rsp)
  698. ..B1.80:
  699. movq 152(%rsp), %rax
  700. xorq %rsp, %rax
  701. cmpq %fs:40, %rax
  702. jne ..B1.58
  703. ..B1.81:
  704. fldt 16(%rsp)
  705. addq $160, %rsp
  706. .cfi_def_cfa_offset 32
  707. .cfi_restore 6
  708. popq %rbp
  709. .cfi_def_cfa_offset 24
  710. .cfi_restore 3
  711. popq %rbx
  712. .cfi_def_cfa_offset 16
  713. .cfi_restore 12
  714. popq %r12
  715. .cfi_def_cfa_offset 8
  716. ret
  717. .align 16,0x90
  718. .cfi_endproc
  719. .type sinl,@function
  720. .size sinl,.-sinl
  721. .data
  722. # -- End sinl
  723. .section .rodata, "a"
  724. .align 4
  725. .align 4
  726. _TWO_75:
  727. .long 0
  728. .long 1151336448
  729. .long 0
  730. .long 994050048
  731. .type _TWO_75,@object
  732. .size _TWO_75,16
  733. .align 4
  734. _TWO_52H:
  735. .long 0
  736. .long 1127743488
  737. .type _TWO_52H,@object
  738. .size _TWO_52H,8
  739. .align 4
  740. _ones:
  741. .long 0
  742. .long 1072693248
  743. .long 0
  744. .long 3220176896
  745. .type _ones,@object
  746. .size _ones,16
  747. .align 4
  748. _TWO_53H:
  749. .long 0
  750. .long 1128792064
  751. .type _TWO_53H,@object
  752. .size _TWO_53H,8
  753. .align 4
  754. _infs:
  755. .long 0
  756. .long 2146435072
  757. .long 0
  758. .long 4293918720
  759. .type _infs,@object
  760. .size _infs,16
  761. .align 4
  762. _zeros:
  763. .long 0
  764. .long 0
  765. .long 0
  766. .long 2147483648
  767. .type _zeros,@object
  768. .size _zeros,16
  769. .align 2
  770. _SP3:
  771. .word 17476
  772. .word 43656
  773. .word 43690
  774. .word 43690
  775. .word 49148
  776. .word 0
  777. .word 0
  778. .word 0
  779. .type _SP3,@object
  780. .size _SP3,16
  781. .align 2
  782. _SP2:
  783. .word 43210
  784. .word 43690
  785. .word 43690
  786. .word 43690
  787. .word 49148
  788. .word 0
  789. .word 0
  790. .word 0
  791. .word 1587
  792. .word 57422
  793. .word 34932
  794. .word 34952
  795. .word 16376
  796. .word 0
  797. .word 0
  798. .word 0
  799. .type _SP2,@object
  800. .size _SP2,32
  801. .align 2
  802. _SP1:
  803. .word 43690
  804. .word 43690
  805. .word 43690
  806. .word 43690
  807. .word 49148
  808. .word 0
  809. .word 0
  810. .word 0
  811. .word 12518
  812. .word 34952
  813. .word 34952
  814. .word 34952
  815. .word 16376
  816. .word 0
  817. .word 0
  818. .word 0
  819. .word 43088
  820. .word 7396
  821. .word 207
  822. .word 53261
  823. .word 49138
  824. .word 0
  825. .word 0
  826. .word 0
  827. .word 55827
  828. .word 48618
  829. .word 3602
  830. .word 47342
  831. .word 16364
  832. .word 0
  833. .word 0
  834. .word 0
  835. .type _SP1,@object
  836. .size _SP1,64
  837. .align 2
  838. _CP:
  839. .word 51631
  840. .word 16464
  841. .word 16497
  842. .word 44012
  843. .word 16306
  844. .word 0
  845. .word 0
  846. .word 0
  847. .word 43685
  848. .word 43690
  849. .word 43690
  850. .word 43690
  851. .word 16372
  852. .word 0
  853. .word 0
  854. .word 0
  855. .word 46557
  856. .word 2912
  857. .word 24758
  858. .word 46603
  859. .word 49141
  860. .word 0
  861. .word 0
  862. .word 0
  863. .word 28380
  864. .word 3328
  865. .word 208
  866. .word 53261
  867. .word 16367
  868. .word 0
  869. .word 0
  870. .word 0
  871. .word 23816
  872. .word 50302
  873. .word 32187
  874. .word 37874
  875. .word 49129
  876. .word 0
  877. .word 0
  878. .word 0
  879. .word 49866
  880. .word 64527
  881. .word 51070
  882. .word 36726
  883. .word 16354
  884. .word 0
  885. .word 0
  886. .word 0
  887. .word 65056
  888. .word 3638
  889. .word 41889
  890. .word 51659
  891. .word 49114
  892. .word 0
  893. .word 0
  894. .word 0
  895. .word 13834
  896. .word 11317
  897. .word 33607
  898. .word 55101
  899. .word 16338
  900. .word 0
  901. .word 0
  902. .word 0
  903. .word 40709
  904. .word 42374
  905. .word 64411
  906. .word 45709
  907. .word 49098
  908. .word 0
  909. .word 0
  910. .word 0
  911. .word 0
  912. .word 0
  913. .word 0
  914. .word 32768
  915. .word 49150
  916. .word 0
  917. .word 0
  918. .word 0
  919. .word 0
  920. .word 0
  921. .word 0
  922. .word 43008
  923. .word 16378
  924. .word 0
  925. .word 0
  926. .word 0
  927. .type _CP,@object
  928. .size _CP,176
  929. .align 2
  930. _SP:
  931. .word 43691
  932. .word 43690
  933. .word 43690
  934. .word 43690
  935. .word 49136
  936. .word 0
  937. .word 0
  938. .word 0
  939. .word 34948
  940. .word 34952
  941. .word 34952
  942. .word 34952
  943. .word 16368
  944. .word 0
  945. .word 0
  946. .word 0
  947. .word 53243
  948. .word 3328
  949. .word 208
  950. .word 53261
  951. .word 49138
  952. .word 0
  953. .word 0
  954. .word 0
  955. .word 30577
  956. .word 46649
  957. .word 7466
  958. .word 47343
  959. .word 16364
  960. .word 0
  961. .word 0
  962. .word 0
  963. .word 11760
  964. .word 43464
  965. .word 11071
  966. .word 55090
  967. .word 49125
  968. .word 0
  969. .word 0
  970. .word 0
  971. .word 47000
  972. .word 43232
  973. .word 12444
  974. .word 45202
  975. .word 16350
  976. .word 0
  977. .word 0
  978. .word 0
  979. .word 52983
  980. .word 47009
  981. .word 40440
  982. .word 55103
  983. .word 49110
  984. .word 0
  985. .word 0
  986. .word 0
  987. .word 35433
  988. .word 14927
  989. .word 40941
  990. .word 51860
  991. .word 16334
  992. .word 0
  993. .word 0
  994. .word 0
  995. .word 1340
  996. .word 16361
  997. .word 50747
  998. .word 38523
  999. .word 49094
  1000. .word 0
  1001. .word 0
  1002. .word 0
  1003. .word 0
  1004. .word 0
  1005. .word 0
  1006. .word 43680
  1007. .word 49148
  1008. .word 0
  1009. .word 0
  1010. .word 0
  1011. .word 0
  1012. .word 0
  1013. .word 0
  1014. .word 34816
  1015. .word 16376
  1016. .word 0
  1017. .word 0
  1018. .word 0
  1019. .type _SP,@object
  1020. .size _SP,176
  1021. .align 2
  1022. _small_value_80:
  1023. .word 0
  1024. .word 0
  1025. .word 0
  1026. .word 32768
  1027. .word 6383
  1028. .word 0
  1029. .word 0
  1030. .word 0
  1031. .word 0
  1032. .word 0
  1033. .word 0
  1034. .word 32768
  1035. .word 39151
  1036. .word 0
  1037. .word 0
  1038. .word 0
  1039. .type _small_value_80,@object
  1040. .size _small_value_80,32
  1041. .data
  1042. .section .note.GNU-stack, ""
  1043. // -- Begin DWARF2 SEGMENT .eh_frame
  1044. .section .eh_frame,"a",@progbits
  1045. .eh_frame_seg:
  1046. .align 1
  1047. # End