spacepaste

  1.  
  2. .file "primes.cpp"
  3. .section .text.unlikely._ZNK24prime_number_hash_policy14index_for_hashEmm,"axG",@progbits,_ZNK24prime_number_hash_policy14index_for_hashEmm,comdat
  4. .align 2
  5. .LCOLDB0:
  6. .section .text._ZNK24prime_number_hash_policy14index_for_hashEmm,"axG",@progbits,_ZNK24prime_number_hash_policy14index_for_hashEmm,comdat
  7. .LHOTB0:
  8. .align 2
  9. .p2align 4,,15
  10. .weak _ZNK24prime_number_hash_policy14index_for_hashEmm
  11. .type _ZNK24prime_number_hash_policy14index_for_hashEmm, @function
  12. _ZNK24prime_number_hash_policy14index_for_hashEmm:
  13. .LFB2757:
  14. .cfi_startproc
  15. cmpb $-70, (%rdi)
  16. ja .L2
  17. movzbl (%rdi), %eax
  18. jmp *.L4(,%rax,8)
  19. .section .rodata._ZNK24prime_number_hash_policy14index_for_hashEmm,"aG",@progbits,_ZNK24prime_number_hash_policy14index_for_hashEmm,comdat
  20. .align 8
  21. .align 4
  22. .L4:
  23. .quad .L191
  24. .quad .L5
  25. .quad .L6
  26. .quad .L7
  27. .quad .L8
  28. .quad .L9
  29. .quad .L10
  30. .quad .L11
  31. .quad .L12
  32. .quad .L13
  33. .quad .L14
  34. .quad .L15
  35. .quad .L16
  36. .quad .L17
  37. .quad .L18
  38. .quad .L19
  39. .quad .L20
  40. .quad .L21
  41. .quad .L22
  42. .quad .L23
  43. .quad .L24
  44. .quad .L25
  45. .quad .L26
  46. .quad .L27
  47. .quad .L28
  48. .quad .L29
  49. .quad .L30
  50. .quad .L31
  51. .quad .L32
  52. .quad .L33
  53. .quad .L34
  54. .quad .L35
  55. .quad .L36
  56. .quad .L37
  57. .quad .L38
  58. .quad .L39
  59. .quad .L40
  60. .quad .L41
  61. .quad .L42
  62. .quad .L43
  63. .quad .L44
  64. .quad .L45
  65. .quad .L46
  66. .quad .L47
  67. .quad .L48
  68. .quad .L49
  69. .quad .L50
  70. .quad .L51
  71. .quad .L52
  72. .quad .L53
  73. .quad .L54
  74. .quad .L55
  75. .quad .L56
  76. .quad .L57
  77. .quad .L58
  78. .quad .L59
  79. .quad .L60
  80. .quad .L61
  81. .quad .L62
  82. .quad .L63
  83. .quad .L64
  84. .quad .L65
  85. .quad .L66
  86. .quad .L67
  87. .quad .L68
  88. .quad .L69
  89. .quad .L70
  90. .quad .L71
  91. .quad .L72
  92. .quad .L73
  93. .quad .L74
  94. .quad .L75
  95. .quad .L76
  96. .quad .L77
  97. .quad .L78
  98. .quad .L79
  99. .quad .L80
  100. .quad .L81
  101. .quad .L82
  102. .quad .L83
  103. .quad .L84
  104. .quad .L85
  105. .quad .L86
  106. .quad .L87
  107. .quad .L88
  108. .quad .L89
  109. .quad .L90
  110. .quad .L91
  111. .quad .L92
  112. .quad .L93
  113. .quad .L94
  114. .quad .L95
  115. .quad .L96
  116. .quad .L97
  117. .quad .L98
  118. .quad .L99
  119. .quad .L100
  120. .quad .L101
  121. .quad .L102
  122. .quad .L103
  123. .quad .L104
  124. .quad .L105
  125. .quad .L106
  126. .quad .L107
  127. .quad .L108
  128. .quad .L109
  129. .quad .L110
  130. .quad .L111
  131. .quad .L112
  132. .quad .L113
  133. .quad .L114
  134. .quad .L115
  135. .quad .L116
  136. .quad .L117
  137. .quad .L118
  138. .quad .L119
  139. .quad .L120
  140. .quad .L121
  141. .quad .L122
  142. .quad .L123
  143. .quad .L124
  144. .quad .L125
  145. .quad .L126
  146. .quad .L127
  147. .quad .L128
  148. .quad .L129
  149. .quad .L130
  150. .quad .L131
  151. .quad .L132
  152. .quad .L133
  153. .quad .L134
  154. .quad .L135
  155. .quad .L136
  156. .quad .L137
  157. .quad .L138
  158. .quad .L139
  159. .quad .L140
  160. .quad .L141
  161. .quad .L142
  162. .quad .L143
  163. .quad .L144
  164. .quad .L145
  165. .quad .L146
  166. .quad .L147
  167. .quad .L148
  168. .quad .L149
  169. .quad .L150
  170. .quad .L151
  171. .quad .L152
  172. .quad .L153
  173. .quad .L154
  174. .quad .L155
  175. .quad .L156
  176. .quad .L157
  177. .quad .L158
  178. .quad .L159
  179. .quad .L160
  180. .quad .L161
  181. .quad .L162
  182. .quad .L163
  183. .quad .L164
  184. .quad .L165
  185. .quad .L166
  186. .quad .L167
  187. .quad .L168
  188. .quad .L169
  189. .quad .L170
  190. .quad .L171
  191. .quad .L172
  192. .quad .L173
  193. .quad .L174
  194. .quad .L175
  195. .quad .L176
  196. .quad .L177
  197. .quad .L178
  198. .quad .L179
  199. .quad .L180
  200. .quad .L181
  201. .quad .L182
  202. .quad .L183
  203. .quad .L184
  204. .quad .L185
  205. .quad .L186
  206. .quad .L187
  207. .quad .L188
  208. .quad .L189
  209. .quad .L190
  210. .section .text._ZNK24prime_number_hash_policy14index_for_hashEmm,"axG",@progbits,_ZNK24prime_number_hash_policy14index_for_hashEmm,comdat
  211. .L189:
  212. movabsq $-3966182927699534447, %rdx
  213. xorl %eax, %eax
  214. cmpq %rdx, %rsi
  215. setnb %al
  216. imulq %rax, %rdx
  217. movq %rsi, %rax
  218. subq %rdx, %rax
  219. ret
  220. .L188:
  221. movabsq $-6953515075576482927, %rdx
  222. xorl %eax, %eax
  223. cmpq %rdx, %rsi
  224. setnb %al
  225. imulq %rax, %rdx
  226. movq %rsi, %rax
  227. subq %rdx, %rax
  228. ret
  229. .L187:
  230. movq %rsi, %rax
  231. movabsq $204625226483757671, %rdx
  232. mulq %rdx
  233. movq %rsi, %rax
  234. subq %rdx, %rax
  235. shrq %rax
  236. addq %rax, %rdx
  237. movq %rdx, %rax
  238. movabsq $9122181901073924329, %rdx
  239. shrq $62, %rax
  240. imulq %rax, %rdx
  241. movq %rsi, %rax
  242. subq %rdx, %rax
  243. ret
  244. .L186:
  245. movq %rsi, %rax
  246. movabsq $-6697117678371271545, %rdx
  247. mulq %rdx
  248. movq %rdx, %rax
  249. movabsq $7240280573005008577, %rdx
  250. shrq $62, %rax
  251. imulq %rax, %rdx
  252. movq %rsi, %rax
  253. subq %rdx, %rax
  254. ret
  255. .L185:
  256. movq %rsi, %rax
  257. movabsq $3700900405971780095, %rdx
  258. mulq %rdx
  259. movq %rdx, %rax
  260. movabsq $5746614499066534157, %rdx
  261. shrq $60, %rax
  262. imulq %rax, %rdx
  263. movq %rsi, %rax
  264. subq %rdx, %rax
  265. ret
  266. .L184:
  267. movq %rsi, %rax
  268. movabsq $-9121059423612896937, %rdx
  269. mulq %rdx
  270. movq %rdx, %rax
  271. movabsq $4561090950536962147, %rdx
  272. shrq $61, %rax
  273. imulq %rax, %rdx
  274. movq %rsi, %rax
  275. subq %rdx, %rax
  276. ret
  277. .L183:
  278. movq %rsi, %rax
  279. movabsq $5052508716967008561, %rdx
  280. mulq %rdx
  281. movq %rsi, %rax
  282. subq %rdx, %rax
  283. shrq %rax
  284. addq %rax, %rdx
  285. movq %rdx, %rax
  286. movabsq $3620140286502504283, %rdx
  287. shrq $61, %rax
  288. imulq %rax, %rdx
  289. movq %rsi, %rax
  290. subq %rdx, %rax
  291. ret
  292. .L182:
  293. movq %rsi, %rax
  294. movabsq $1850450202985890033, %rdx
  295. mulq %rdx
  296. movq %rdx, %rax
  297. movabsq $2873307249533267101, %rdx
  298. shrq $58, %rax
  299. imulq %rax, %rdx
  300. movq %rsi, %rax
  301. subq %rdx, %rax
  302. ret
  303. .L181:
  304. movq %rsi, %rax
  305. movabsq $-9121059423612897319, %rdx
  306. mulq %rdx
  307. movq %rdx, %rax
  308. movabsq $2280545475268481167, %rdx
  309. shrq $60, %rax
  310. imulq %rax, %rdx
  311. movq %rsi, %rax
  312. subq %rdx, %rax
  313. ret
  314. .L180:
  315. movq %rsi, %rax
  316. movabsq $-6697117678371271459, %rdx
  317. mulq %rdx
  318. movq %rdx, %rax
  319. movabsq $1810070143251252131, %rdx
  320. shrq $60, %rax
  321. imulq %rax, %rdx
  322. movq %rsi, %rax
  323. subq %rdx, %rax
  324. ret
  325. .L179:
  326. movq %rsi, %rax
  327. movabsq $-7286284899644861849, %rdx
  328. mulq %rdx
  329. movq %rsi, %rax
  330. subq %rdx, %rax
  331. shrq %rax
  332. addq %rax, %rdx
  333. movq %rdx, %rax
  334. movabsq $1436653624766633509, %rdx
  335. shrq $60, %rax
  336. imulq %rax, %rdx
  337. movq %rsi, %rax
  338. subq %rdx, %rax
  339. ret
  340. .L178:
  341. movq %rsi, %rax
  342. movabsq $204625226483759799, %rdx
  343. mulq %rdx
  344. movq %rsi, %rax
  345. subq %rdx, %rax
  346. shrq %rax
  347. addq %rax, %rdx
  348. movq %rdx, %rax
  349. movabsq $1140272737634240411, %rdx
  350. shrq $59, %rax
  351. imulq %rax, %rdx
  352. movq %rsi, %rax
  353. subq %rdx, %rax
  354. ret
  355. .L177:
  356. movq %rsi, %rax
  357. movabsq $-6697117678371271167, %rdx
  358. mulq %rdx
  359. movq %rdx, %rax
  360. movabsq $905035071625626043, %rdx
  361. shrq $59, %rax
  362. imulq %rax, %rdx
  363. movq %rsi, %rax
  364. subq %rdx, %rax
  365. ret
  366. .L176:
  367. movq %rsi, %rax
  368. movabsq $-3643142449822429451, %rdx
  369. mulq %rdx
  370. movq %rdx, %rax
  371. movabsq $718326812383316683, %rdx
  372. shrq $59, %rax
  373. imulq %rax, %rdx
  374. movq %rsi, %rax
  375. subq %rdx, %rax
  376. ret
  377. .L175:
  378. movq %rsi, %rax
  379. movabsq $-9121059423612895835, %rdx
  380. mulq %rdx
  381. movq %rdx, %rax
  382. movabsq $570136368817120201, %rdx
  383. shrq $58, %rax
  384. imulq %rax, %rdx
  385. movq %rsi, %rax
  386. subq %rdx, %rax
  387. ret
  388. .L174:
  389. movq %rsi, %rax
  390. movabsq $5052508716967010035, %rdx
  391. mulq %rdx
  392. movq %rsi, %rax
  393. subq %rdx, %rax
  394. shrq %rax
  395. addq %rax, %rdx
  396. movq %rdx, %rax
  397. movabsq $452517535812813007, %rdx
  398. shrq $58, %rax
  399. imulq %rax, %rdx
  400. movq %rsi, %rax
  401. subq %rdx, %rax
  402. ret
  403. .L173:
  404. movq %rsi, %rax
  405. movabsq $-3643142449822425803, %rdx
  406. mulq %rdx
  407. movq %rdx, %rax
  408. movabsq $359163406191658253, %rdx
  409. shrq $58, %rax
  410. imulq %rax, %rdx
  411. movq %rsi, %rax
  412. subq %rdx, %rax
  413. ret
  414. .L172:
  415. movq %rsi, %rax
  416. movabsq $2331421162524164301, %rdx
  417. mulq %rdx
  418. movq %rdx, %rax
  419. movabsq $285068184408560057, %rdx
  420. shrq $55, %rax
  421. imulq %rax, %rdx
  422. movq %rsi, %rax
  423. subq %rdx, %rax
  424. ret
  425. .L171:
  426. movq %rsi, %rax
  427. movabsq $5874813197669140945, %rdx
  428. mulq %rdx
  429. movq %rdx, %rax
  430. movabsq $226258767906406483, %rdx
  431. shrq $56, %rax
  432. imulq %rax, %rdx
  433. movq %rsi, %rax
  434. subq %rdx, %rax
  435. ret
  436. .L170:
  437. movq %rsi, %rax
  438. movabsq $3700900405971781855, %rdx
  439. mulq %rdx
  440. movq %rdx, %rax
  441. movabsq $179581703095829107, %rdx
  442. shrq $55, %rax
  443. imulq %rax, %rdx
  444. movq %rsi, %rax
  445. subq %rdx, %rax
  446. ret
  447. .L169:
  448. movq %rsi, %rax
  449. movabsq $204625226483766129, %rdx
  450. mulq %rdx
  451. movq %rsi, %rax
  452. subq %rdx, %rax
  453. shrq %rax
  454. addq %rax, %rdx
  455. movq %rdx, %rax
  456. movabsq $142534092204280003, %rdx
  457. shrq $56, %rax
  458. imulq %rax, %rdx
  459. movq %rsi, %rax
  460. subq %rdx, %rax
  461. ret
  462. .L168:
  463. movq %rsi, %rax
  464. movabsq $5874813197669142425, %rdx
  465. mulq %rdx
  466. movq %rdx, %rax
  467. movabsq $113129383953203213, %rdx
  468. shrq $55, %rax
  469. imulq %rax, %rdx
  470. movq %rsi, %rax
  471. subq %rdx, %rax
  472. ret
  473. .L167:
  474. movq %rsi, %rax
  475. movabsq $-7286284899644833059, %rdx
  476. mulq %rdx
  477. movq %rsi, %rax
  478. subq %rdx, %rax
  479. shrq %rax
  480. addq %rax, %rdx
  481. movq %rdx, %rax
  482. movabsq $89790851547914507, %rdx
  483. shrq $56, %rax
  484. imulq %rax, %rdx
  485. movq %rsi, %rax
  486. subq %rdx, %rax
  487. ret
  488. .L166:
  489. movq %rsi, %rax
  490. movabsq $-9121059423612888229, %rdx
  491. mulq %rdx
  492. movq %rdx, %rax
  493. movabsq $71267046102139967, %rdx
  494. shrq $55, %rax
  495. imulq %rax, %rdx
  496. movq %rsi, %rax
  497. subq %rdx, %rax
  498. ret
  499. .L165:
  500. movq %rsi, %rax
  501. movabsq $5052508716967026185, %rdx
  502. mulq %rdx
  503. movq %rsi, %rax
  504. subq %rdx, %rax
  505. shrq %rax
  506. addq %rax, %rdx
  507. movq %rdx, %rax
  508. movabsq $56564691976601587, %rdx
  509. shrq $55, %rax
  510. imulq %rax, %rdx
  511. movq %rsi, %rax
  512. subq %rdx, %rax
  513. ret
  514. .L164:
  515. movq %rsi, %rax
  516. movabsq $-7286284899644838005, %rdx
  517. mulq %rdx
  518. movq %rsi, %rax
  519. subq %rdx, %rax
  520. shrq %rax
  521. addq %rax, %rdx
  522. movq %rdx, %rax
  523. movabsq $44895425773957261, %rdx
  524. shrq $55, %rax
  525. imulq %rax, %rdx
  526. movq %rsi, %rax
  527. subq %rdx, %rax
  528. ret
  529. .L163:
  530. movq %rsi, %rax
  531. movabsq $204625226483771233, %rdx
  532. mulq %rdx
  533. movq %rsi, %rax
  534. subq %rdx, %rax
  535. shrq %rax
  536. addq %rax, %rdx
  537. movq %rdx, %rax
  538. movabsq $35633523051069991, %rdx
  539. shrq $54, %rax
  540. imulq %rax, %rdx
  541. movq %rsi, %rax
  542. subq %rdx, %rax
  543. ret
  544. .L162:
  545. movq %rsi, %rax
  546. movabsq $-6697117678371261677, %rdx
  547. mulq %rdx
  548. movq %rdx, %rax
  549. movabsq $28282345988300791, %rdx
  550. shrq $54, %rax
  551. imulq %rax, %rdx
  552. movq %rsi, %rax
  553. subq %rdx, %rax
  554. ret
  555. .L161:
  556. movq %rsi, %rax
  557. movabsq $7401800811943599775, %rdx
  558. mulq %rdx
  559. movq %rdx, %rax
  560. movabsq $22447712886978529, %rdx
  561. shrq $53, %rax
  562. imulq %rax, %rdx
  563. movq %rsi, %rax
  564. subq %rdx, %rax
  565. ret
  566. .L160:
  567. movq %rsi, %rax
  568. movabsq $204625226483842941, %rdx
  569. mulq %rdx
  570. movq %rsi, %rax
  571. subq %rdx, %rax
  572. shrq %rax
  573. addq %rax, %rdx
  574. movq %rdx, %rax
  575. movabsq $17816761525534927, %rdx
  576. shrq $53, %rax
  577. imulq %rax, %rdx
  578. movq %rsi, %rax
  579. subq %rdx, %rax
  580. ret
  581. .L159:
  582. movq %rsi, %rax
  583. movabsq $1468703299417290241, %rdx
  584. mulq %rdx
  585. movq %rdx, %rax
  586. movabsq $14141172994150357, %rdx
  587. shrq $50, %rax
  588. imulq %rax, %rdx
  589. movq %rsi, %rax
  590. subq %rdx, %rax
  591. ret
  592. .L158:
  593. movq %rsi, %rax
  594. movabsq $7401800811943557239, %rdx
  595. mulq %rdx
  596. movq %rdx, %rax
  597. movabsq $11223856443489329, %rdx
  598. shrq $52, %rax
  599. imulq %rax, %rdx
  600. movq %rsi, %rax
  601. subq %rdx, %rax
  602. ret
  603. .L157:
  604. movq %rsi, %rax
  605. movabsq $1165710581262083823, %rdx
  606. mulq %rdx
  607. movq %rdx, %rax
  608. movabsq $8908380762767489, %rdx
  609. shrq $49, %rax
  610. imulq %rax, %rdx
  611. movq %rsi, %rax
  612. subq %rdx, %rax
  613. ret
  614. .L156:
  615. movq %rsi, %rax
  616. movabsq $5052508716967097225, %rdx
  617. mulq %rdx
  618. movq %rsi, %rax
  619. subq %rdx, %rax
  620. shrq %rax
  621. addq %rax, %rdx
  622. movq %rdx, %rax
  623. movabsq $7070586497075177, %rdx
  624. shrq $52, %rax
  625. imulq %rax, %rdx
  626. movq %rsi, %rax
  627. subq %rdx, %rax
  628. ret
  629. .L155:
  630. movq %rsi, %rax
  631. movabsq $-7286284899644581471, %rdx
  632. mulq %rdx
  633. movq %rsi, %rax
  634. subq %rdx, %rax
  635. shrq %rax
  636. addq %rax, %rdx
  637. movq %rdx, %rax
  638. movabsq $5611928221744609, %rdx
  639. shrq $52, %rax
  640. imulq %rax, %rdx
  641. movq %rsi, %rax
  642. subq %rdx, %rax
  643. ret
  644. .L154:
  645. movq %rsi, %rax
  646. movabsq $204625226483921455, %rdx
  647. mulq %rdx
  648. movq %rsi, %rax
  649. subq %rdx, %rax
  650. shrq %rax
  651. addq %rax, %rdx
  652. movq %rdx, %rax
  653. movabsq $4454190381383713, %rdx
  654. shrq $51, %rax
  655. imulq %rax, %rdx
  656. movq %rsi, %rax
  657. subq %rdx, %rax
  658. ret
  659. .L153:
  660. movq %rsi, %rax
  661. movabsq $5874813197669177997, %rdx
  662. mulq %rdx
  663. movq %rdx, %rax
  664. movabsq $3535293248537579, %rdx
  665. shrq $50, %rax
  666. imulq %rax, %rdx
  667. movq %rsi, %rax
  668. subq %rdx, %rax
  669. ret
  670. .L152:
  671. movq %rsi, %rax
  672. movabsq $-3643142449822251167, %rdx
  673. mulq %rdx
  674. movq %rdx, %rax
  675. movabsq $2805964110872297, %rdx
  676. shrq $51, %rax
  677. imulq %rax, %rdx
  678. movq %rsi, %rax
  679. subq %rdx, %rax
  680. ret
  681. .L151:
  682. movq %rsi, %rax
  683. movabsq $2331421162524246421, %rdx
  684. mulq %rdx
  685. movq %rdx, %rax
  686. movabsq $2227095190691797, %rdx
  687. shrq $48, %rax
  688. imulq %rax, %rdx
  689. movq %rsi, %rax
  690. subq %rdx, %rax
  691. ret
  692. .L150:
  693. movq %rsi, %rax
  694. movabsq $2937406598834606447, %rdx
  695. mulq %rdx
  696. movq %rdx, %rax
  697. movabsq $1767646624268779, %rdx
  698. shrq $48, %rax
  699. imulq %rax, %rdx
  700. movq %rsi, %rax
  701. subq %rdx, %rax
  702. ret
  703. .L149:
  704. movq %rsi, %rax
  705. movabsq $3700900405971829069, %rdx
  706. mulq %rdx
  707. movq %rdx, %rax
  708. movabsq $1402982055436147, %rdx
  709. shrq $48, %rax
  710. imulq %rax, %rdx
  711. movq %rsi, %rax
  712. subq %rdx, %rax
  713. ret
  714. .L148:
  715. movq %rsi, %rax
  716. movabsq $4662842325048473999, %rdx
  717. mulq %rdx
  718. movq %rdx, %rax
  719. movabsq $1113547595345903, %rdx
  720. shrq $48, %rax
  721. imulq %rax, %rdx
  722. movq %rsi, %rax
  723. subq %rdx, %rax
  724. ret
  725. .L147:
  726. movq %rsi, %rax
  727. movabsq $2937406598834634697, %rdx
  728. mulq %rdx
  729. movq %rdx, %rax
  730. movabsq $883823312134381, %rdx
  731. shrq $47, %rax
  732. imulq %rax, %rdx
  733. movq %rsi, %rax
  734. subq %rdx, %rax
  735. ret
  736. .L146:
  737. movq %rsi, %rax
  738. movabsq $462612550746509299, %rdx
  739. mulq %rdx
  740. movq %rdx, %rax
  741. movabsq $701491027718027, %rdx
  742. shrq $44, %rax
  743. imulq %rax, %rdx
  744. movq %rsi, %rax
  745. subq %rdx, %rax
  746. ret
  747. .L145:
  748. movq %rsi, %rax
  749. movabsq $204625226485768087, %rdx
  750. mulq %rdx
  751. movq %rsi, %rax
  752. subq %rdx, %rax
  753. shrq %rax
  754. addq %rax, %rdx
  755. movq %rdx, %rax
  756. movabsq $556773797672909, %rdx
  757. shrq $48, %rax
  758. imulq %rax, %rdx
  759. movq %rsi, %rax
  760. subq %rdx, %rax
  761. ret
  762. .L144:
  763. movq %rsi, %rax
  764. movabsq $5052508716968562899, %rdx
  765. mulq %rdx
  766. movq %rsi, %rax
  767. subq %rdx, %rax
  768. shrq %rax
  769. addq %rax, %rdx
  770. movq %rdx, %rax
  771. movabsq $441911656067171, %rdx
  772. shrq $48, %rax
  773. imulq %rax, %rdx
  774. movq %rsi, %rax
  775. subq %rdx, %rax
  776. ret
  777. .L143:
  778. movq %rsi, %rax
  779. movabsq $-7286284899641959417, %rdx
  780. mulq %rdx
  781. movq %rsi, %rax
  782. subq %rdx, %rax
  783. shrq %rax
  784. addq %rax, %rdx
  785. movq %rdx, %rax
  786. movabsq $350745513859007, %rdx
  787. shrq $48, %rax
  788. imulq %rax, %rdx
  789. movq %rsi, %rax
  790. subq %rdx, %rax
  791. ret
  792. .L142:
  793. movq %rsi, %rax
  794. movabsq $1165710581262197013, %rdx
  795. mulq %rdx
  796. movq %rdx, %rax
  797. movabsq $278386898836457, %rdx
  798. shrq $44, %rax
  799. imulq %rax, %rdx
  800. movq %rsi, %rax
  801. subq %rdx, %rax
  802. ret
  803. .L141:
  804. movq %rsi, %rax
  805. movabsq $-6697117678370255065, %rdx
  806. mulq %rdx
  807. movq %rdx, %rax
  808. movabsq $220955828033581, %rdx
  809. shrq $47, %rax
  810. imulq %rax, %rdx
  811. movq %rsi, %rax
  812. subq %rdx, %rax
  813. ret
  814. .L140:
  815. movq %rsi, %rax
  816. movabsq $7401800811945235591, %rdx
  817. mulq %rdx
  818. movq %rdx, %rax
  819. movabsq $175372756929481, %rdx
  820. shrq $46, %rax
  821. imulq %rax, %rdx
  822. movq %rsi, %rax
  823. subq %rdx, %rax
  824. ret
  825. .L139:
  826. movq %rsi, %rax
  827. movabsq $4662842325050647247, %rdx
  828. mulq %rdx
  829. movq %rdx, %rax
  830. movabsq $139193449418173, %rdx
  831. shrq $45, %rax
  832. imulq %rax, %rdx
  833. movq %rsi, %rax
  834. subq %rdx, %rax
  835. ret
  836. .L138:
  837. movq %rsi, %rax
  838. movabsq $-6697117678369032009, %rdx
  839. mulq %rdx
  840. movq %rdx, %rax
  841. movabsq $110477914016779, %rdx
  842. shrq $46, %rax
  843. imulq %rax, %rdx
  844. movq %rsi, %rax
  845. subq %rdx, %rax
  846. ret
  847. .L137:
  848. movq %rsi, %rax
  849. movabsq $-7286284899644407371, %rdx
  850. mulq %rdx
  851. movq %rsi, %rax
  852. subq %rdx, %rax
  853. shrq %rax
  854. addq %rax, %rdx
  855. movq %rdx, %rax
  856. movabsq $87686378464759, %rdx
  857. shrq $46, %rax
  858. imulq %rax, %rdx
  859. movq %rsi, %rax
  860. subq %rdx, %rax
  861. ret
  862. .L136:
  863. movq %rsi, %rax
  864. movabsq $582855290631376967, %rdx
  865. mulq %rdx
  866. movq %rdx, %rax
  867. movabsq $69596724709081, %rdx
  868. shrq $41, %rax
  869. imulq %rax, %rdx
  870. movq %rsi, %rax
  871. subq %rdx, %rax
  872. ret
  873. .L135:
  874. movq %rsi, %rax
  875. movabsq $-6697117678368500245, %rdx
  876. mulq %rdx
  877. movq %rdx, %rax
  878. movabsq $55238957008387, %rdx
  879. shrq $45, %rax
  880. imulq %rax, %rdx
  881. movq %rsi, %rax
  882. subq %rdx, %rax
  883. ret
  884. .L134:
  885. movq %rsi, %rax
  886. movabsq $462612550746653723, %rdx
  887. mulq %rdx
  888. movq %rdx, %rax
  889. movabsq $43843189232363, %rdx
  890. shrq $40, %rax
  891. imulq %rax, %rdx
  892. movq %rsi, %rax
  893. subq %rdx, %rax
  894. ret
  895. .L133:
  896. movq %rsi, %rax
  897. movabsq $204625226498531209, %rdx
  898. mulq %rdx
  899. movq %rsi, %rax
  900. subq %rdx, %rax
  901. shrq %rax
  902. addq %rax, %rdx
  903. movq %rdx, %rax
  904. movabsq $34798362354533, %rdx
  905. shrq $44, %rax
  906. imulq %rax, %rdx
  907. movq %rsi, %rax
  908. subq %rdx, %rax
  909. ret
  910. .L132:
  911. movq %rsi, %rax
  912. movabsq $-6697117678364033431, %rdx
  913. mulq %rdx
  914. movq %rdx, %rax
  915. movabsq $27619478504183, %rdx
  916. shrq $44, %rax
  917. imulq %rax, %rdx
  918. movq %rsi, %rax
  919. subq %rdx, %rax
  920. ret
  921. .L131:
  922. movq %rsi, %rax
  923. movabsq $-7286284899538047989, %rdx
  924. mulq %rdx
  925. movq %rsi, %rax
  926. subq %rdx, %rax
  927. shrq %rax
  928. addq %rax, %rdx
  929. movq %rdx, %rax
  930. movabsq $21921594616111, %rdx
  931. shrq $44, %rax
  932. imulq %rax, %rdx
  933. movq %rsi, %rax
  934. subq %rdx, %rax
  935. ret
  936. .L130:
  937. movq %rsi, %rax
  938. movabsq $204625226525866399, %rdx
  939. mulq %rdx
  940. movq %rsi, %rax
  941. subq %rdx, %rax
  942. shrq %rax
  943. addq %rax, %rdx
  944. movq %rdx, %rax
  945. movabsq $17399181177241, %rdx
  946. shrq $43, %rax
  947. imulq %rax, %rdx
  948. movq %rsi, %rax
  949. subq %rdx, %rax
  950. ret
  951. .L129:
  952. movq %rsi, %rax
  953. movabsq $5052508717050401315, %rdx
  954. mulq %rdx
  955. movq %rsi, %rax
  956. subq %rdx, %rax
  957. shrq %rax
  958. addq %rax, %rdx
  959. movq %rdx, %rax
  960. movabsq $13809739252051, %rdx
  961. shrq $43, %rax
  962. imulq %rax, %rdx
  963. movq %rsi, %rax
  964. subq %rdx, %rax
  965. ret
  966. .L128:
  967. movq %rsi, %rax
  968. movabsq $-7286284899525892631, %rdx
  969. mulq %rdx
  970. movq %rsi, %rax
  971. subq %rdx, %rax
  972. shrq %rax
  973. addq %rax, %rdx
  974. movq %rdx, %rax
  975. movabsq $10960797308051, %rdx
  976. shrq $43, %rax
  977. imulq %rax, %rdx
  978. movq %rsi, %rax
  979. subq %rdx, %rax
  980. ret
  981. .L127:
  982. movq %rsi, %rax
  983. movabsq $204625226631991253, %rdx
  984. mulq %rdx
  985. movq %rsi, %rax
  986. subq %rdx, %rax
  987. shrq %rax
  988. addq %rax, %rdx
  989. movq %rdx, %rax
  990. movabsq $8699590588571, %rdx
  991. shrq $42, %rax
  992. imulq %rax, %rdx
  993. movq %rsi, %rax
  994. subq %rdx, %rax
  995. ret
  996. .L126:
  997. movq %rsi, %rax
  998. movabsq $5874813197712535009, %rdx
  999. mulq %rdx
  1000. movq %rdx, %rax
  1001. movabsq $6904869625999, %rdx
  1002. shrq $41, %rax
  1003. imulq %rax, %rdx
  1004. movq %rsi, %rax
  1005. subq %rdx, %rax
  1006. ret
  1007. .L125:
  1008. movq %rsi, %rax
  1009. movabsq $7401800811995587473, %rdx
  1010. mulq %rdx
  1011. movq %rdx, %rax
  1012. movabsq $5480398654009, %rdx
  1013. shrq $41, %rax
  1014. imulq %rax, %rdx
  1015. movq %rsi, %rax
  1016. subq %rdx, %rax
  1017. ret
  1018. .L124:
  1019. movq %rsi, %rax
  1020. movabsq $204625226711316901, %rdx
  1021. mulq %rdx
  1022. movq %rsi, %rax
  1023. subq %rdx, %rax
  1024. shrq %rax
  1025. addq %rax, %rdx
  1026. movq %rdx, %rax
  1027. movabsq $4349795294267, %rdx
  1028. shrq $41, %rax
  1029. imulq %rax, %rdx
  1030. movq %rsi, %rax
  1031. subq %rdx, %rax
  1032. ret
  1033. .L123:
  1034. movq %rsi, %rax
  1035. movabsq $5874813197757628561, %rdx
  1036. mulq %rdx
  1037. movq %rdx, %rax
  1038. movabsq $3452434812973, %rdx
  1039. shrq $40, %rax
  1040. imulq %rax, %rdx
  1041. movq %rsi, %rax
  1042. subq %rdx, %rax
  1043. ret
  1044. .L122:
  1045. movq %rsi, %rax
  1046. movabsq $-3643142449483373083, %rdx
  1047. mulq %rdx
  1048. movq %rdx, %rax
  1049. movabsq $2740199326961, %rdx
  1050. shrq $41, %rax
  1051. imulq %rax, %rdx
  1052. movq %rsi, %rax
  1053. subq %rdx, %rax
  1054. ret
  1055. .L121:
  1056. movq %rsi, %rax
  1057. movabsq $1165710581308731321, %rdx
  1058. mulq %rdx
  1059. movq %rdx, %rax
  1060. movabsq $2174897647073, %rdx
  1061. shrq $37, %rax
  1062. imulq %rax, %rdx
  1063. movq %rsi, %rax
  1064. subq %rdx, %rax
  1065. ret
  1066. .L120:
  1067. movq %rsi, %rax
  1068. movabsq $5874813197823992657, %rdx
  1069. mulq %rdx
  1070. movq %rdx, %rax
  1071. movabsq $1726217406467, %rdx
  1072. shrq $39, %rax
  1073. imulq %rax, %rdx
  1074. movq %rsi, %rax
  1075. subq %rdx, %rax
  1076. ret
  1077. .L119:
  1078. movq %rsi, %rax
  1079. movabsq $-7286284898502141373, %rdx
  1080. mulq %rdx
  1081. movq %rsi, %rax
  1082. subq %rdx, %rax
  1083. shrq %rax
  1084. addq %rax, %rdx
  1085. movq %rdx, %rax
  1086. movabsq $1370099663459, %rdx
  1087. shrq $40, %rax
  1088. imulq %rax, %rdx
  1089. movq %rsi, %rax
  1090. subq %rdx, %rax
  1091. ret
  1092. .L118:
  1093. movq %rsi, %rax
  1094. movabsq $-9121059423381200853, %rdx
  1095. mulq %rdx
  1096. movq %rdx, %rax
  1097. movabsq $1087448823553, %rdx
  1098. shrq $39, %rax
  1099. imulq %rax, %rdx
  1100. movq %rsi, %rax
  1101. subq %rdx, %rax
  1102. ret
  1103. .L117:
  1104. movq %rsi, %rax
  1105. movabsq $-6697117678000307137, %rdx
  1106. mulq %rdx
  1107. movq %rdx, %rax
  1108. movabsq $863108703229, %rdx
  1109. shrq $39, %rax
  1110. imulq %rax, %rdx
  1111. movq %rsi, %rax
  1112. subq %rdx, %rax
  1113. ret
  1114. .L116:
  1115. movq %rsi, %rax
  1116. movabsq $-7286284898566969949, %rdx
  1117. mulq %rdx
  1118. movq %rsi, %rax
  1119. subq %rdx, %rax
  1120. shrq %rax
  1121. addq %rax, %rdx
  1122. movq %rdx, %rax
  1123. movabsq $685049831731, %rdx
  1124. shrq $39, %rax
  1125. imulq %rax, %rdx
  1126. movq %rsi, %rax
  1127. subq %rdx, %rax
  1128. ret
  1129. .L115:
  1130. movq %rsi, %rax
  1131. movabsq $-9121059423458382565, %rdx
  1132. mulq %rdx
  1133. movq %rdx, %rax
  1134. movabsq $543724411781, %rdx
  1135. shrq $38, %rax
  1136. imulq %rax, %rdx
  1137. movq %rsi, %rax
  1138. subq %rdx, %rax
  1139. ret
  1140. .L114:
  1141. movq %rsi, %rax
  1142. movabsq $5874813197929494553, %rdx
  1143. mulq %rdx
  1144. movq %rdx, %rax
  1145. movabsq $431554351609, %rdx
  1146. shrq $37, %rax
  1147. imulq %rax, %rdx
  1148. movq %rsi, %rax
  1149. subq %rdx, %rax
  1150. ret
  1151. .L113:
  1152. movq %rsi, %rax
  1153. movabsq $-3643142448138180137, %rdx
  1154. mulq %rdx
  1155. movq %rdx, %rax
  1156. movabsq $342524915839, %rdx
  1157. shrq $38, %rax
  1158. imulq %rax, %rdx
  1159. movq %rsi, %rax
  1160. subq %rdx, %rax
  1161. ret
  1162. .L112:
  1163. movq %rsi, %rax
  1164. movabsq $-9121059421485961037, %rdx
  1165. mulq %rdx
  1166. movq %rdx, %rax
  1167. movabsq $271862205833, %rdx
  1168. shrq $37, %rax
  1169. imulq %rax, %rdx
  1170. movq %rsi, %rax
  1171. subq %rdx, %rax
  1172. ret
  1173. .L111:
  1174. movq %rsi, %rax
  1175. movabsq $734351649800744341, %rdx
  1176. mulq %rdx
  1177. movq %rdx, %rax
  1178. movabsq $215777175787, %rdx
  1179. shrq $33, %rax
  1180. imulq %rax, %rdx
  1181. movq %rsi, %rax
  1182. subq %rdx, %rax
  1183. ret
  1184. .L110:
  1185. movq %rsi, %rax
  1186. movabsq $-3643142446711951471, %rdx
  1187. mulq %rdx
  1188. movq %rdx, %rax
  1189. movabsq $171262457903, %rdx
  1190. shrq $37, %rax
  1191. imulq %rax, %rdx
  1192. movq %rsi, %rax
  1193. subq %rdx, %rax
  1194. ret
  1195. .L109:
  1196. movq %rsi, %rax
  1197. movabsq $-9121059421794687885, %rdx
  1198. mulq %rdx
  1199. movq %rdx, %rax
  1200. movabsq $135931102921, %rdx
  1201. shrq $36, %rax
  1202. imulq %rax, %rdx
  1203. movq %rsi, %rax
  1204. subq %rdx, %rax
  1205. ret
  1206. .L108:
  1207. movq %rsi, %rax
  1208. movabsq $5052508722201276137, %rdx
  1209. mulq %rdx
  1210. movq %rsi, %rax
  1211. subq %rdx, %rax
  1212. shrq %rax
  1213. addq %rax, %rdx
  1214. movq %rdx, %rax
  1215. movabsq $107888587883, %rdx
  1216. shrq $36, %rax
  1217. imulq %rax, %rdx
  1218. movq %rsi, %rax
  1219. subq %rdx, %rax
  1220. ret
  1221. .L107:
  1222. movq %rsi, %rax
  1223. movabsq $-3643142442822236927, %rdx
  1224. mulq %rdx
  1225. movq %rdx, %rax
  1226. movabsq $85631228929, %rdx
  1227. shrq $36, %rax
  1228. imulq %rax, %rdx
  1229. movq %rsi, %rax
  1230. subq %rdx, %rax
  1231. ret
  1232. .L106:
  1233. movq %rsi, %rax
  1234. movabsq $204625233824898021, %rdx
  1235. mulq %rdx
  1236. movq %rsi, %rax
  1237. subq %rdx, %rax
  1238. shrq %rax
  1239. addq %rax, %rdx
  1240. movq %rdx, %rax
  1241. movabsq $67965551447, %rdx
  1242. shrq $35, %rax
  1243. imulq %rax, %rdx
  1244. movq %rsi, %rax
  1245. subq %rdx, %rax
  1246. ret
  1247. .L105:
  1248. movq %rsi, %rax
  1249. movabsq $5874813200339021725, %rdx
  1250. mulq %rdx
  1251. movq %rdx, %rax
  1252. movabsq $53944293929, %rdx
  1253. shrq $34, %rax
  1254. imulq %rax, %rdx
  1255. movq %rsi, %rax
  1256. subq %rdx, %rax
  1257. ret
  1258. .L104:
  1259. movq %rsi, %rax
  1260. movabsq $3700900409753124047, %rdx
  1261. mulq %rdx
  1262. movq %rdx, %rax
  1263. movabsq $42815614441, %rdx
  1264. shrq $33, %rax
  1265. imulq %rax, %rdx
  1266. movq %rsi, %rax
  1267. subq %rdx, %rax
  1268. ret
  1269. .L103:
  1270. movq %rsi, %rax
  1271. movabsq $204625224220062755, %rdx
  1272. mulq %rdx
  1273. movq %rsi, %rax
  1274. subq %rdx, %rax
  1275. shrq %rax
  1276. addq %rax, %rdx
  1277. movq %rdx, %rax
  1278. movabsq $33982775741, %rdx
  1279. shrq $34, %rax
  1280. imulq %rax, %rdx
  1281. movq %rsi, %rax
  1282. subq %rdx, %rax
  1283. ret
  1284. .L102:
  1285. movq %rsi, %rax
  1286. movabsq $2937406600550679003, %rdx
  1287. mulq %rdx
  1288. movq %rdx, %rax
  1289. movabsq $26972146961, %rdx
  1290. shrq $32, %rax
  1291. imulq %rax, %rdx
  1292. movq %rsi, %rax
  1293. subq %rdx, %rax
  1294. ret
  1295. .L101:
  1296. movq %rsi, %rax
  1297. movabsq $-3643142433659798215, %rdx
  1298. mulq %rdx
  1299. movq %rdx, %rax
  1300. movabsq $21407807219, %rdx
  1301. shrq $34, %rax
  1302. imulq %rax, %rdx
  1303. movq %rsi, %rax
  1304. subq %rdx, %rax
  1305. ret
  1306. .L100:
  1307. movq %rsi, %rax
  1308. movabsq $204625239038951455, %rdx
  1309. mulq %rdx
  1310. movq %rsi, %rax
  1311. subq %rdx, %rax
  1312. shrq %rax
  1313. addq %rax, %rdx
  1314. movq %rdx, %rax
  1315. movabsq $16991387857, %rdx
  1316. shrq $33, %rax
  1317. imulq %rax, %rdx
  1318. movq %rsi, %rax
  1319. subq %rdx, %rax
  1320. ret
  1321. .L99:
  1322. movq %rsi, %rax
  1323. movabsq $-6697117664972524621, %rdx
  1324. mulq %rdx
  1325. movq %rdx, %rax
  1326. movabsq $13486073473, %rdx
  1327. shrq $33, %rax
  1328. imulq %rax, %rdx
  1329. movq %rsi, %rax
  1330. subq %rdx, %rax
  1331. ret
  1332. .L98:
  1333. movq %rsi, %rax
  1334. movabsq $-3643142408074120241, %rdx
  1335. mulq %rdx
  1336. movq %rdx, %rax
  1337. movabsq $10703903591, %rdx
  1338. shrq $33, %rax
  1339. imulq %rax, %rdx
  1340. movq %rsi, %rax
  1341. subq %rdx, %rax
  1342. ret
  1343. .L97:
  1344. movq %rsi, %rax
  1345. movabsq $204625308193765703, %rdx
  1346. mulq %rdx
  1347. movq %rsi, %rax
  1348. subq %rdx, %rax
  1349. shrq %rax
  1350. addq %rax, %rdx
  1351. movq %rdx, %rax
  1352. movabsq $8495693897, %rdx
  1353. shrq $32, %rax
  1354. imulq %rax, %rdx
  1355. movq %rsi, %rax
  1356. subq %rdx, %rax
  1357. ret
  1358. .L96:
  1359. movq %rsi, %rax
  1360. movabsq $5052508811721336835, %rdx
  1361. mulq %rdx
  1362. movq %rsi, %rax
  1363. subq %rdx, %rax
  1364. shrq %rax
  1365. addq %rax, %rdx
  1366. movq %rdx, %rax
  1367. movabsq $6743036717, %rdx
  1368. shrq $32, %rax
  1369. imulq %rax, %rdx
  1370. movq %rsi, %rax
  1371. subq %rdx, %rax
  1372. ret
  1373. .L95:
  1374. movq %rsi, %rax
  1375. movabsq $-3643142362434802555, %rdx
  1376. mulq %rdx
  1377. movq %rdx, %rax
  1378. movabsq $5351951779, %rdx
  1379. shrq $32, %rax
  1380. imulq %rax, %rdx
  1381. movq %rsi, %rax
  1382. subq %rdx, %rax
  1383. ret
  1384. .L94:
  1385. movq %rsi, %rax
  1386. movabsq $2331421184538141009, %rdx
  1387. mulq %rdx
  1388. movq %rdx, %rax
  1389. movl $4247846927, %edx
  1390. shrq $29, %rax
  1391. imulq %rax, %rdx
  1392. movq %rsi, %rax
  1393. subq %rdx, %rax
  1394. ret
  1395. .L93:
  1396. movq %rsi, %rax
  1397. movabsq $2937406624183103903, %rdx
  1398. mulq %rdx
  1399. movq %rdx, %rax
  1400. movl $3371518343, %edx
  1401. shrq $29, %rax
  1402. imulq %rax, %rdx
  1403. movq %rsi, %rax
  1404. subq %rdx, %rax
  1405. ret
  1406. .L92:
  1407. movq %rsi, %rax
  1408. movabsq $-7286284630824949895, %rdx
  1409. mulq %rdx
  1410. movq %rsi, %rax
  1411. subq %rdx, %rax
  1412. shrq %rax
  1413. addq %rax, %rdx
  1414. movq %rdx, %rax
  1415. movl $2675975881, %edx
  1416. shrq $31, %rax
  1417. imulq %rax, %rdx
  1418. movq %rsi, %rax
  1419. subq %rdx, %rax
  1420. ret
  1421. .L91:
  1422. movq %rsi, %rax
  1423. movabsq $-9121059263109085375, %rdx
  1424. mulq %rdx
  1425. movq %rdx, %rax
  1426. shrq $30, %rax
  1427. imulq $2123923447, %rax, %rax
  1428. subq %rax, %rsi
  1429. movq %rsi, %rax
  1430. ret
  1431. .L90:
  1432. movq %rsi, %rax
  1433. movabsq $-6697117545612442713, %rdx
  1434. mulq %rdx
  1435. movq %rdx, %rax
  1436. shrq $30, %rax
  1437. imulq $1685759167, %rax, %rax
  1438. subq %rax, %rsi
  1439. movq %rsi, %rax
  1440. ret
  1441. .L89:
  1442. movq %rsi, %rax
  1443. movabsq $-3643142188175586983, %rdx
  1444. mulq %rdx
  1445. movq %rdx, %rax
  1446. shrq $30, %rax
  1447. imulq $1337987929, %rax, %rax
  1448. subq %rax, %rsi
  1449. movq %rsi, %rax
  1450. ret
  1451. .L88:
  1452. movq %rsi, %rax
  1453. movabsq $204625591399200829, %rdx
  1454. mulq %rdx
  1455. movq %rsi, %rax
  1456. subq %rdx, %rax
  1457. shrq %rax
  1458. addq %rax, %rdx
  1459. movq %rdx, %rax
  1460. shrq $29, %rax
  1461. imulq $1061961721, %rax, %rax
  1462. subq %rax, %rsi
  1463. movq %rsi, %rax
  1464. ret
  1465. .L87:
  1466. movq %rsi, %rax
  1467. movabsq $-6697117482883055629, %rdx
  1468. mulq %rdx
  1469. movq %rdx, %rax
  1470. shrq $29, %rax
  1471. imulq $842879579, %rax, %rax
  1472. subq %rax, %rsi
  1473. movq %rsi, %rax
  1474. ret
  1475. .L86:
  1476. movq %rsi, %rax
  1477. movabsq $7401800804466018533, %rdx
  1478. mulq %rdx
  1479. movq %rdx, %rax
  1480. shrq $28, %rax
  1481. imulq $668993977, %rax, %rax
  1482. subq %rax, %rsi
  1483. movq %rsi, %rax
  1484. ret
  1485. .L85:
  1486. movq %rsi, %rax
  1487. movabsq $204625573836072819, %rdx
  1488. mulq %rdx
  1489. movq %rsi, %rax
  1490. subq %rdx, %rax
  1491. shrq %rax
  1492. addq %rax, %rdx
  1493. movq %rdx, %rax
  1494. shrq $28, %rax
  1495. imulq $530980861, %rax, %rax
  1496. subq %rax, %rsi
  1497. movq %rsi, %rax
  1498. ret
  1499. .L84:
  1500. movq %rsi, %rax
  1501. movabsq $5052509470379906591, %rdx
  1502. mulq %rdx
  1503. movq %rsi, %rax
  1504. subq %rdx, %rax
  1505. shrq %rax
  1506. addq %rax, %rdx
  1507. movq %rdx, %rax
  1508. shrq $28, %rax
  1509. imulq $421439783, %rax, %rax
  1510. subq %rax, %rsi
  1511. movq %rsi, %rax
  1512. ret
  1513. .L83:
  1514. movq %rsi, %rax
  1515. movabsq $-7286283380584182627, %rdx
  1516. mulq %rdx
  1517. movq %rsi, %rax
  1518. subq %rdx, %rax
  1519. shrq %rax
  1520. addq %rax, %rdx
  1521. movq %rdx, %rax
  1522. shrq $28, %rax
  1523. imulq $334496971, %rax, %rax
  1524. subq %rax, %rsi
  1525. movq %rsi, %rax
  1526. ret
  1527. .L82:
  1528. movq %rsi, %rax
  1529. movabsq $72856909804274523, %rdx
  1530. mulq %rdx
  1531. movq %rdx, %rax
  1532. shrq $20, %rax
  1533. imulq $265490441, %rax, %rax
  1534. subq %rax, %rsi
  1535. movq %rsi, %rax
  1536. ret
  1537. .L81:
  1538. movq %rsi, %rax
  1539. movabsq $-6697116716190492701, %rdx
  1540. mulq %rdx
  1541. movq %rdx, %rax
  1542. shrq $27, %rax
  1543. imulq $210719881, %rax, %rax
  1544. subq %rax, %rsi
  1545. movq %rsi, %rax
  1546. ret
  1547. .L80:
  1548. movq %rsi, %rax
  1549. movabsq $-3643141469010526933, %rdx
  1550. mulq %rdx
  1551. movq %rdx, %rax
  1552. shrq $27, %rax
  1553. imulq $167248483, %rax, %rax
  1554. subq %rax, %rsi
  1555. movq %rsi, %rax
  1556. ret
  1557. .L79:
  1558. movq %rsi, %rax
  1559. movabsq $582855372836016971, %rdx
  1560. mulq %rdx
  1561. movq %rdx, %rax
  1562. shrq $22, %rax
  1563. imulq $132745199, %rax, %rax
  1564. subq %rax, %rsi
  1565. movq %rsi, %rax
  1566. ret
  1567. .L78:
  1568. movq %rsi, %rax
  1569. movabsq $5052510975885347541, %rdx
  1570. mulq %rdx
  1571. movq %rsi, %rax
  1572. subq %rdx, %rax
  1573. shrq %rax
  1574. addq %rax, %rdx
  1575. movq %rdx, %rax
  1576. shrq $26, %rax
  1577. imulq $105359939, %rax, %rax
  1578. subq %rax, %rsi
  1579. movq %rsi, %rax
  1580. ret
  1581. .L77:
  1582. movq %rsi, %rax
  1583. movabsq $-3643140672396840387, %rdx
  1584. mulq %rdx
  1585. movq %rdx, %rax
  1586. shrq $26, %rax
  1587. imulq $83624237, %rax, %rax
  1588. subq %rax, %rsi
  1589. movq %rsi, %rax
  1590. ret
  1591. .L76:
  1592. movq %rsi, %rax
  1593. movabsq $204622939367245927, %rdx
  1594. mulq %rdx
  1595. movq %rsi, %rax
  1596. subq %rdx, %rax
  1597. shrq %rax
  1598. addq %rax, %rdx
  1599. movq %rdx, %rax
  1600. shrq $25, %rax
  1601. imulq $66372617, %rax, %rax
  1602. subq %rax, %rsi
  1603. movq %rsi, %rax
  1604. ret
  1605. .L75:
  1606. movq %rsi, %rax
  1607. movabsq $-6697116437393172283, %rdx
  1608. mulq %rdx
  1609. movq %rdx, %rax
  1610. shrq $25, %rax
  1611. imulq $52679969, %rax, %rax
  1612. subq %rax, %rsi
  1613. movq %rsi, %rax
  1614. ret
  1615. .L74:
  1616. movq %rsi, %rax
  1617. movabsq $-3643133060306178485, %rdx
  1618. mulq %rdx
  1619. movq %rdx, %rax
  1620. shrq $25, %rax
  1621. imulq $41812097, %rax, %rax
  1622. subq %rax, %rsi
  1623. movq %rsi, %rax
  1624. ret
  1625. .L73:
  1626. movq %rsi, %rax
  1627. movabsq $204638394928321289, %rdx
  1628. mulq %rdx
  1629. movq %rsi, %rax
  1630. subq %rdx, %rax
  1631. shrq %rax
  1632. addq %rax, %rdx
  1633. movq %rdx, %rax
  1634. shrq $24, %rax
  1635. imulq $33186281, %rax, %rax
  1636. subq %rax, %rsi
  1637. movq %rsi, %rax
  1638. ret
  1639. .L72:
  1640. movq %rsi, %rax
  1641. movabsq $2937408637623539617, %rdx
  1642. mulq %rdx
  1643. movq %rdx, %rax
  1644. shrq $22, %rax
  1645. imulq $26339969, %rax, %rax
  1646. subq %rax, %rsi
  1647. movq %rsi, %rax
  1648. ret
  1649. .L71:
  1650. movq %rsi, %rax
  1651. movabsq $-7286244169439630155, %rdx
  1652. mulq %rdx
  1653. movq %rsi, %rax
  1654. subq %rdx, %rax
  1655. shrq %rax
  1656. addq %rax, %rdx
  1657. movq %rdx, %rax
  1658. shrq $24, %rax
  1659. imulq $20906033, %rax, %rax
  1660. subq %rax, %rsi
  1661. movq %rsi, %rax
  1662. ret
  1663. .L70:
  1664. movq %rsi, %rax
  1665. movabsq $204653569504115629, %rdx
  1666. mulq %rdx
  1667. movq %rsi, %rax
  1668. subq %rdx, %rax
  1669. shrq %rax
  1670. addq %rax, %rdx
  1671. movq %rdx, %rax
  1672. shrq $23, %rax
  1673. imulq $16593127, %rax, %rax
  1674. subq %rax, %rsi
  1675. movq %rsi, %rax
  1676. ret
  1677. .L69:
  1678. movq %rsi, %rax
  1679. movabsq $2937410310410423161, %rdx
  1680. mulq %rdx
  1681. movq %rdx, %rax
  1682. shrq $21, %rax
  1683. imulq $13169977, %rax, %rax
  1684. subq %rax, %rsi
  1685. movq %rsi, %rax
  1686. ret
  1687. .L68:
  1688. movq %rsi, %rax
  1689. movabsq $7401817721478256657, %rdx
  1690. mulq %rdx
  1691. movq %rdx, %rax
  1692. shrq $22, %rax
  1693. imulq $10453007, %rax, %rax
  1694. subq %rax, %rsi
  1695. movq %rsi, %rax
  1696. ret
  1697. .L67:
  1698. movq %rsi, %rax
  1699. movabsq $582856914004950815, %rdx
  1700. mulq %rdx
  1701. movq %rdx, %rax
  1702. shrq $18, %rax
  1703. imulq $8296553, %rax, %rax
  1704. subq %rax, %rsi
  1705. movq %rsi, %rax
  1706. ret
  1707. .L66:
  1708. movq %rsi, %rax
  1709. movabsq $-6697093018371023455, %rdx
  1710. mulq %rdx
  1711. movq %rdx, %rax
  1712. shrq $22, %rax
  1713. imulq $6584983, %rax, %rax
  1714. subq %rax, %rsi
  1715. movq %rsi, %rax
  1716. ret
  1717. .L65:
  1718. movq %rsi, %rax
  1719. movabsq $7401835424124548113, %rdx
  1720. mulq %rdx
  1721. movq %rdx, %rax
  1722. shrq $21, %rax
  1723. imulq $5226491, %rax, %rax
  1724. subq %rax, %rsi
  1725. movq %rsi, %rax
  1726. ret
  1727. .L64:
  1728. movq %rsi, %rax
  1729. movabsq $204665933991537723, %rdx
  1730. mulq %rdx
  1731. movq %rsi, %rax
  1732. subq %rdx, %rax
  1733. shrq %rax
  1734. addq %rax, %rdx
  1735. movq %rdx, %rax
  1736. shrq $21, %rax
  1737. imulq $4148279, %rax, %rax
  1738. subq %rax, %rsi
  1739. movq %rsi, %rax
  1740. ret
  1741. .L63:
  1742. movq %rsi, %rax
  1743. movabsq $-6697084096814219971, %rdx
  1744. mulq %rdx
  1745. movq %rdx, %rax
  1746. shrq $21, %rax
  1747. imulq $3292489, %rax, %rax
  1748. subq %rax, %rsi
  1749. movq %rsi, %rax
  1750. ret
  1751. .L62:
  1752. movq %rsi, %rax
  1753. movabsq $3700941079758809273, %rdx
  1754. mulq %rdx
  1755. movq %rdx, %rax
  1756. shrq $19, %rax
  1757. imulq $2613229, %rax, %rax
  1758. subq %rax, %rsi
  1759. movq %rsi, %rax
  1760. ret
  1761. .L61:
  1762. movq %rsi, %rax
  1763. movabsq $2331438053495475305, %rdx
  1764. mulq %rdx
  1765. movq %rdx, %rax
  1766. shrq $18, %rax
  1767. imulq $2074129, %rax, %rax
  1768. subq %rax, %rsi
  1769. movq %rsi, %rax
  1770. ret
  1771. .L60:
  1772. movq %rsi, %rax
  1773. movabsq $5052682939331786655, %rdx
  1774. mulq %rdx
  1775. movq %rsi, %rax
  1776. subq %rdx, %rax
  1777. shrq %rax
  1778. addq %rax, %rdx
  1779. movq %rdx, %rax
  1780. shrq $20, %rax
  1781. imulq $1646237, %rax, %rax
  1782. subq %rax, %rsi
  1783. movq %rsi, %rax
  1784. ret
  1785. .L59:
  1786. movq %rsi, %rax
  1787. movabsq $-3642826799932731611, %rdx
  1788. mulq %rdx
  1789. movq %rdx, %rax
  1790. shrq $20, %rax
  1791. imulq $1306601, %rax, %rax
  1792. subq %rax, %rsi
  1793. movq %rsi, %rax
  1794. ret
  1795. .L58:
  1796. movq %rsi, %rax
  1797. movabsq $204859271745303697, %rdx
  1798. mulq %rdx
  1799. movq %rsi, %rax
  1800. subq %rdx, %rax
  1801. shrq %rax
  1802. addq %rax, %rdx
  1803. movq %rdx, %rax
  1804. shrq $19, %rax
  1805. imulq $1037059, %rax, %rax
  1806. subq %rax, %rsi
  1807. movq %rsi, %rax
  1808. ret
  1809. .L57:
  1810. movq %rsi, %rax
  1811. movabsq $5052725763305194521, %rdx
  1812. mulq %rdx
  1813. movq %rsi, %rax
  1814. subq %rdx, %rax
  1815. shrq %rax
  1816. addq %rax, %rdx
  1817. movq %rdx, %rax
  1818. shrq $19, %rax
  1819. imulq $823117, %rax, %rax
  1820. subq %rax, %rsi
  1821. movq %rsi, %rax
  1822. ret
  1823. .L56:
  1824. movq %rsi, %rax
  1825. movabsq $-3642067644443978125, %rdx
  1826. mulq %rdx
  1827. movq %rdx, %rax
  1828. shrq $19, %rax
  1829. imulq $653267, %rax, %rax
  1830. subq %rax, %rsi
  1831. movq %rsi, %rax
  1832. ret
  1833. .L55:
  1834. movq %rsi, %rax
  1835. movabsq $-9120573691983262007, %rdx
  1836. mulq %rdx
  1837. movq %rdx, %rax
  1838. shrq $18, %rax
  1839. imulq $518509, %rax, %rax
  1840. subq %rax, %rsi
  1841. movq %rsi, %rax
  1842. ret
  1843. .L54:
  1844. movq %rsi, %rax
  1845. movabsq $2937658573106088239, %rdx
  1846. mulq %rdx
  1847. movq %rdx, %rax
  1848. shrq $16, %rax
  1849. imulq $411527, %rax, %rax
  1850. subq %rax, %rsi
  1851. movq %rsi, %rax
  1852. ret
  1853. .L53:
  1854. movq %rsi, %rax
  1855. movabsq $-7282639487009408091, %rdx
  1856. mulq %rdx
  1857. movq %rsi, %rax
  1858. subq %rdx, %rax
  1859. shrq %rax
  1860. addq %rax, %rdx
  1861. movq %rdx, %rax
  1862. shrq $18, %rax
  1863. imulq $326617, %rax, %rax
  1864. subq %rax, %rsi
  1865. movq %rsi, %rax
  1866. ret
  1867. .L52:
  1868. movq %rsi, %rax
  1869. movabsq $-9119656289436733569, %rdx
  1870. mulq %rdx
  1871. movq %rdx, %rax
  1872. shrq $17, %rax
  1873. imulq $259229, %rax, %rax
  1874. subq %rax, %rsi
  1875. movq %rsi, %rax
  1876. ret
  1877. .L51:
  1878. movq %rsi, %rax
  1879. movabsq $734430705105626713, %rdx
  1880. mulq %rdx
  1881. movq %rdx, %rax
  1882. shrq $13, %rax
  1883. imulq $205759, %rax, %rax
  1884. subq %rax, %rsi
  1885. movq %rsi, %rax
  1886. ret
  1887. .L50:
  1888. movq %rsi, %rax
  1889. movabsq $-7282367506794288013, %rdx
  1890. mulq %rdx
  1891. movq %rsi, %rax
  1892. subq %rdx, %rax
  1893. shrq %rax
  1894. addq %rax, %rdx
  1895. movq %rdx, %rax
  1896. shrq $17, %rax
  1897. imulq $163307, %rax, %rax
  1898. subq %rax, %rsi
  1899. movq %rsi, %rax
  1900. ret
  1901. .L49:
  1902. movq %rsi, %rax
  1903. movabsq $4663813758572566199, %rdx
  1904. mulq %rdx
  1905. movq %rdx, %rax
  1906. shrq $15, %rax
  1907. imulq $129607, %rax, %rax
  1908. subq %rax, %rsi
  1909. movq %rsi, %rax
  1910. ret
  1911. .L48:
  1912. movq %rsi, %rax
  1913. movabsq $5875588419251286365, %rdx
  1914. mulq %rdx
  1915. movq %rdx, %rax
  1916. shrq $15, %rax
  1917. imulq $102877, %rax, %rax
  1918. subq %rax, %rsi
  1919. movq %rsi, %rax
  1920. ret
  1921. .L47:
  1922. movq %rsi, %rax
  1923. movabsq $7403188156711222273, %rdx
  1924. mulq %rdx
  1925. movq %rdx, %rax
  1926. shrq $15, %rax
  1927. imulq $81649, %rax, %rax
  1928. subq %rax, %rsi
  1929. movq %rsi, %rax
  1930. ret
  1931. .L46:
  1932. movq %rsi, %rax
  1933. movabsq $206352154008415623, %rdx
  1934. mulq %rdx
  1935. movq %rsi, %rax
  1936. subq %rdx, %rax
  1937. shrq %rax
  1938. addq %rax, %rdx
  1939. movq %rdx, %rax
  1940. shrq $15, %rax
  1941. imulq $64811, %rax, %rax
  1942. subq %rax, %rsi
  1943. movq %rsi, %rax
  1944. ret
  1945. .L45:
  1946. movq %rsi, %rax
  1947. movabsq $5056294976286155263, %rdx
  1948. mulq %rdx
  1949. movq %rsi, %rax
  1950. subq %rdx, %rax
  1951. shrq %rax
  1952. addq %rax, %rdx
  1953. movq %rdx, %rax
  1954. shrq $15, %rax
  1955. imulq $51437, %rax, %rax
  1956. subq %rax, %rsi
  1957. movq %rsi, %rax
  1958. ret
  1959. .L44:
  1960. movq %rsi, %rax
  1961. movabsq $7403460179400271751, %rdx
  1962. mulq %rdx
  1963. movq %rdx, %rax
  1964. shrq $14, %rax
  1965. imulq $40823, %rax, %rax
  1966. subq %rax, %rsi
  1967. movq %rsi, %rax
  1968. ret
  1969. .L43:
  1970. movq %rsi, %rax
  1971. movabsq $208942781860171151, %rdx
  1972. mulq %rdx
  1973. movq %rsi, %rax
  1974. subq %rdx, %rax
  1975. shrq %rax
  1976. addq %rax, %rdx
  1977. movq %rdx, %rax
  1978. shrq $14, %rax
  1979. imulq $32401, %rax, %rax
  1980. subq %rax, %rsi
  1981. movq %rsi, %rax
  1982. ret
  1983. .L42:
  1984. movq %rsi, %rax
  1985. movabsq $2938051239488055505, %rdx
  1986. mulq %rdx
  1987. movq %rdx, %rax
  1988. shrq $12, %rax
  1989. imulq $25717, %rax, %rax
  1990. subq %rax, %rsi
  1991. movq %rsi, %rax
  1992. ret
  1993. .L41:
  1994. movq %rsi, %rax
  1995. movabsq $7407996835718841455, %rdx
  1996. mulq %rdx
  1997. movq %rdx, %rax
  1998. shrq $13, %rax
  1999. imulq $20399, %rax, %rax
  2000. subq %rax, %rsi
  2001. movq %rsi, %rax
  2002. ret
  2003. .L40:
  2004. movq %rsi, %rax
  2005. movabsq $2333040935154521195, %rdx
  2006. mulq %rdx
  2007. movq %rdx, %rax
  2008. shrq $11, %rax
  2009. imulq $16193, %rax, %rax
  2010. subq %rax, %rsi
  2011. movq %rsi, %rax
  2012. ret
  2013. .L39:
  2014. movq %rsi, %rax
  2015. movabsq $5067723747317235413, %rdx
  2016. mulq %rdx
  2017. movq %rsi, %rax
  2018. subq %rdx, %rax
  2019. shrq %rax
  2020. addq %rax, %rdx
  2021. movq %rdx, %rax
  2022. shrq $13, %rax
  2023. imulq $12853, %rax, %rax
  2024. subq %rax, %rsi
  2025. movq %rsi, %rax
  2026. ret
  2027. .L38:
  2028. movq %rsi, %rax
  2029. movabsq $3706360429996778349, %rdx
  2030. mulq %rdx
  2031. movq %rdx, %rax
  2032. shrq $11, %rax
  2033. imulq $10193, %rax, %rax
  2034. subq %rax, %rsi
  2035. movq %rsi, %rax
  2036. ret
  2037. .L37:
  2038. movq %rsi, %rax
  2039. movabsq $72975127995883997, %rdx
  2040. mulq %rdx
  2041. movq %rdx, %rax
  2042. shrq $5, %rax
  2043. imulq $8089, %rax, %rax
  2044. subq %rax, %rsi
  2045. movq %rsi, %rax
  2046. ret
  2047. .L36:
  2048. movq %rsi, %rax
  2049. movabsq $5883652369250453467, %rdx
  2050. mulq %rdx
  2051. movq %rdx, %rax
  2052. shrq $11, %rax
  2053. imulq $6421, %rax, %rax
  2054. subq %rax, %rsi
  2055. movq %rsi, %rax
  2056. ret
  2057. .L35:
  2058. movq %rsi, %rax
  2059. movabsq $-7187231522329925555, %rdx
  2060. mulq %rdx
  2061. movq %rsi, %rax
  2062. subq %rdx, %rax
  2063. shrq %rax
  2064. addq %rax, %rdx
  2065. movq %rdx, %rax
  2066. shrq $12, %rax
  2067. imulq $5087, %rax, %rax
  2068. subq %rax, %rsi
  2069. movq %rsi, %rax
  2070. ret
  2071. .L34:
  2072. movq %rsi, %rax
  2073. movabsq $316072843577342703, %rdx
  2074. mulq %rdx
  2075. movq %rsi, %rax
  2076. subq %rdx, %rax
  2077. shrq %rax
  2078. addq %rax, %rdx
  2079. movq %rdx, %rax
  2080. shrq $11, %rax
  2081. imulq $4027, %rax, %rax
  2082. subq %rax, %rsi
  2083. movq %rsi, %rax
  2084. ret
  2085. .L33:
  2086. movq %rsi, %rax
  2087. movabsq $5142972980899978019, %rdx
  2088. mulq %rdx
  2089. movq %rsi, %rax
  2090. subq %rdx, %rax
  2091. shrq %rax
  2092. addq %rax, %rdx
  2093. movq %rdx, %rax
  2094. shrq $11, %rax
  2095. imulq $3203, %rax, %rax
  2096. subq %rax, %rsi
  2097. movq %rsi, %rax
  2098. ret
  2099. .L32:
  2100. movq %rsi, %rax
  2101. movabsq $7439726637053399313, %rdx
  2102. mulq %rdx
  2103. movq %rdx, %rax
  2104. shrq $10, %rax
  2105. imulq $2539, %rax, %rax
  2106. subq %rax, %rsi
  2107. movq %rsi, %rax
  2108. ret
  2109. .L31:
  2110. movq %rsi, %rax
  2111. movabsq $339398075945924123, %rdx
  2112. mulq %rdx
  2113. movq %rsi, %rax
  2114. subq %rdx, %rax
  2115. shrq %rax
  2116. addq %rax, %rdx
  2117. movq %rdx, %rax
  2118. shrq $10, %rax
  2119. imulq $2011, %rax, %rax
  2120. subq %rax, %rsi
  2121. movq %rsi, %rax
  2122. ret
  2123. .L30:
  2124. movq %rsi, %rax
  2125. movabsq $5209443692700693663, %rdx
  2126. mulq %rdx
  2127. movq %rsi, %rax
  2128. subq %rdx, %rax
  2129. shrq %rax
  2130. addq %rax, %rdx
  2131. movq %rdx, %rax
  2132. shrq $10, %rax
  2133. imulq $1597, %rax, %rax
  2134. subq %rax, %rsi
  2135. movq %rsi, %rax
  2136. ret
  2137. .L29:
  2138. movq %rsi, %rax
  2139. movabsq $-3443196868404880563, %rdx
  2140. mulq %rdx
  2141. movq %rdx, %rax
  2142. shrq $10, %rax
  2143. imulq $1259, %rax, %rax
  2144. subq %rax, %rsi
  2145. movq %rsi, %rax
  2146. ret
  2147. .L28:
  2148. movq %rsi, %rax
  2149. movabsq $-9086255505087856445, %rdx
  2150. mulq %rdx
  2151. movq %rdx, %rax
  2152. shrq $9, %rax
  2153. movq %rax, %rcx
  2154. movq %rax, %rdx
  2155. salq $4, %rcx
  2156. salq $10, %rdx
  2157. subq %rcx, %rdx
  2158. addq %rdx, %rax
  2159. subq %rax, %rsi
  2160. movq %rsi, %rax
  2161. ret
  2162. .L27:
  2163. movq %rsi, %rax
  2164. movabsq $5253966003427940047, %rdx
  2165. mulq %rdx
  2166. movq %rsi, %rax
  2167. subq %rdx, %rax
  2168. shrq %rax
  2169. addq %rax, %rdx
  2170. movq %rdx, %rax
  2171. shrq $9, %rax
  2172. imulq $797, %rax, %rax
  2173. subq %rax, %rsi
  2174. movq %rsi, %rax
  2175. ret
  2176. .L26:
  2177. movq %rsi, %rax
  2178. movabsq $-3478862986959487547, %rdx
  2179. mulq %rdx
  2180. movq %rdx, %rax
  2181. shrq $9, %rax
  2182. imulq $631, %rax, %rax
  2183. subq %rax, %rsi
  2184. movq %rsi, %rax
  2185. ret
  2186. .L25:
  2187. movq %rsi, %rax
  2188. movabsq $591478767894494641, %rdx
  2189. mulq %rdx
  2190. movq %rdx, %rax
  2191. shrq $4, %rax
  2192. imulq $499, %rax, %rax
  2193. subq %rax, %rsi
  2194. movq %rsi, %rax
  2195. ret
  2196. .L24:
  2197. movq %rsi, %rax
  2198. movabsq $185861401246443845, %rdx
  2199. mulq %rdx
  2200. movq %rdx, %rax
  2201. shrq $2, %rax
  2202. imulq $397, %rax, %rax
  2203. subq %rax, %rsi
  2204. movq %rsi, %rax
  2205. ret
  2206. .L23:
  2207. movq %rsi, %rax
  2208. movabsq $-6718622442181753623, %rdx
  2209. mulq %rdx
  2210. movq %rsi, %rax
  2211. subq %rdx, %rax
  2212. shrq %rax
  2213. addq %rax, %rdx
  2214. movq %rdx, %rax
  2215. shrq $8, %rax
  2216. imulq $313, %rax, %rax
  2217. subq %rax, %rsi
  2218. movq %rsi, %rax
  2219. ret
  2220. .L22:
  2221. movq %rsi, %rax
  2222. movabsq $367465021388636487, %rdx
  2223. mulq %rdx
  2224. movq %rsi, %rax
  2225. subq %rdx, %rax
  2226. shrq %rax
  2227. addq %rax, %rdx
  2228. movq %rdx, %rax
  2229. shrq $7, %rax
  2230. leaq 0(,%rax,4), %rcx
  2231. movq %rax, %rdx
  2232. salq $8, %rdx
  2233. subq %rcx, %rdx
  2234. subq %rax, %rdx
  2235. subq %rdx, %rsi
  2236. movq %rsi, %rax
  2237. ret
  2238. .L21:
  2239. movq %rsi, %rax
  2240. movabsq $1498212716646461045, %rdx
  2241. mulq %rdx
  2242. movq %rdx, %rax
  2243. shrq $4, %rax
  2244. imulq $197, %rax, %rax
  2245. subq %rax, %rsi
  2246. movq %rsi, %rax
  2247. ret
  2248. .L20:
  2249. movq %rsi, %rax
  2250. movabsq $7818487554419942407, %rdx
  2251. mulq %rdx
  2252. movq %rdx, %rax
  2253. shrq $6, %rax
  2254. imulq $151, %rax, %rax
  2255. subq %rax, %rsi
  2256. movq %rsi, %rax
  2257. ret
  2258. .L19:
  2259. movq %rsi, %rax
  2260. movabsq $145249953336295683, %rdx
  2261. mulq %rdx
  2262. movq %rsi, %rax
  2263. subq %rdx, %rax
  2264. shrq %rax
  2265. addq %rax, %rdx
  2266. movq %rdx, %rax
  2267. shrq $6, %rax
  2268. movq %rax, %rdx
  2269. salq $7, %rdx
  2270. subq %rax, %rdx
  2271. subq %rdx, %rsi
  2272. movq %rsi, %rax
  2273. ret
  2274. .L18:
  2275. movq %rsi, %rax
  2276. movabsq $5895351198814392785, %rdx
  2277. mulq %rdx
  2278. movq %rsi, %rax
  2279. subq %rdx, %rax
  2280. shrq %rax
  2281. addq %rax, %rdx
  2282. movq %rdx, %rax
  2283. shrq $6, %rax
  2284. leaq (%rax,%rax,2), %rdx
  2285. salq $5, %rdx
  2286. addq %rdx, %rax
  2287. subq %rax, %rsi
  2288. movq %rsi, %rax
  2289. ret
  2290. .L17:
  2291. movq %rsi, %rax
  2292. movabsq $8086243977516515777, %rdx
  2293. mulq %rdx
  2294. movq %rdx, %rax
  2295. shrq $5, %rax
  2296. leaq (%rax,%rax,8), %rdx
  2297. leaq (%rax,%rdx,8), %rax
  2298. subq %rax, %rsi
  2299. movq %rsi, %rax
  2300. ret
  2301. .L16:
  2302. movq %rsi, %rax
  2303. movabsq $-8441730338816235485, %rdx
  2304. mulq %rdx
  2305. movq %rdx, %rax
  2306. shrq $5, %rax
  2307. leaq 0(,%rax,4), %rcx
  2308. movq %rax, %rdx
  2309. salq $6, %rdx
  2310. subq %rcx, %rdx
  2311. subq %rax, %rdx
  2312. subq %rdx, %rsi
  2313. movq %rsi, %rax
  2314. ret
  2315. .L15:
  2316. movq %rsi, %rax
  2317. movabsq $6672226579852391011, %rdx
  2318. mulq %rdx
  2319. movq %rsi, %rax
  2320. subq %rdx, %rax
  2321. shrq %rax
  2322. addq %rax, %rdx
  2323. movq %rdx, %rax
  2324. shrq $5, %rax
  2325. leaq (%rax,%rax,2), %rdx
  2326. salq $4, %rdx
  2327. subq %rax, %rdx
  2328. subq %rdx, %rsi
  2329. movq %rsi, %rax
  2330. ret
  2331. .L14:
  2332. movq %rsi, %rax
  2333. movabsq $-2492803253203993461, %rdx
  2334. mulq %rdx
  2335. movq %rdx, %rax
  2336. shrq $5, %rax
  2337. leaq (%rax,%rax,8), %rdx
  2338. leaq (%rax,%rdx,4), %rax
  2339. subq %rax, %rsi
  2340. movq %rsi, %rax
  2341. ret
  2342. .L13:
  2343. movq %rsi, %rax
  2344. movabsq $1908283869694091547, %rdx
  2345. mulq %rdx
  2346. movq %rsi, %rax
  2347. subq %rdx, %rax
  2348. shrq %rax
  2349. addq %rax, %rdx
  2350. movq %rdx, %rax
  2351. shrq $4, %rax
  2352. leaq 0(,%rax,8), %rdx
  2353. subq %rax, %rdx
  2354. leaq (%rax,%rdx,4), %rax
  2355. subq %rax, %rsi
  2356. movq %rsi, %rax
  2357. ret
  2358. .L12:
  2359. movq %rsi, %rax
  2360. movabsq $7218291159277650633, %rdx
  2361. mulq %rdx
  2362. movq %rsi, %rax
  2363. subq %rdx, %rax
  2364. shrq %rax
  2365. addq %rax, %rdx
  2366. movq %rdx, %rax
  2367. shrq $4, %rax
  2368. leaq (%rax,%rax,2), %rdx
  2369. salq $3, %rdx
  2370. subq %rax, %rdx
  2371. subq %rdx, %rsi
  2372. movq %rsi, %rax
  2373. ret
  2374. .L11:
  2375. movq %rsi, %rax
  2376. movabsq $-1085102592571150095, %rdx
  2377. mulq %rdx
  2378. movq %rdx, %rax
  2379. shrq $4, %rax
  2380. movq %rax, %rdx
  2381. salq $4, %rdx
  2382. addq %rdx, %rax
  2383. subq %rax, %rsi
  2384. movq %rsi, %rax
  2385. ret
  2386. .L10:
  2387. movq %rsi, %rax
  2388. movabsq $5675921253449092805, %rdx
  2389. mulq %rdx
  2390. movq %rdx, %rax
  2391. shrq $2, %rax
  2392. leaq (%rax,%rax,2), %rdx
  2393. leaq (%rax,%rdx,4), %rax
  2394. subq %rax, %rsi
  2395. movq %rsi, %rax
  2396. ret
  2397. .L9:
  2398. movq %rsi, %rax
  2399. movabsq $3353953467947191203, %rdx
  2400. mulq %rdx
  2401. movq %rdx, %rax
  2402. shrq %rax
  2403. leaq (%rax,%rax,4), %rdx
  2404. leaq (%rax,%rdx,2), %rax
  2405. subq %rax, %rsi
  2406. movq %rsi, %rax
  2407. ret
  2408. .L8:
  2409. movq %rsi, %rax
  2410. movabsq $2635249153387078803, %rdx
  2411. mulq %rdx
  2412. movq %rsi, %rax
  2413. subq %rdx, %rax
  2414. shrq %rax
  2415. addq %rax, %rdx
  2416. movq %rdx, %rax
  2417. shrq $2, %rax
  2418. leaq 0(,%rax,8), %rdx
  2419. subq %rax, %rdx
  2420. subq %rdx, %rsi
  2421. movq %rsi, %rax
  2422. ret
  2423. .L7:
  2424. movq %rsi, %rax
  2425. movabsq $-3689348814741910323, %rdx
  2426. mulq %rdx
  2427. movq %rdx, %rax
  2428. shrq $2, %rax
  2429. leaq (%rax,%rax,4), %rax
  2430. subq %rax, %rsi
  2431. movq %rsi, %rax
  2432. ret
  2433. .L6:
  2434. movq %rsi, %rax
  2435. movabsq $-6148914691236517205, %rdx
  2436. mulq %rdx
  2437. movq %rdx, %rax
  2438. shrq %rax
  2439. leaq (%rax,%rax,2), %rax
  2440. subq %rax, %rsi
  2441. movq %rsi, %rax
  2442. ret
  2443. .L5:
  2444. movq %rsi, %rax
  2445. andl $1, %eax
  2446. ret
  2447. .L191:
  2448. xorl %eax, %eax
  2449. ret
  2450. .L190:
  2451. xorl %eax, %eax
  2452. cmpq $-59, %rsi
  2453. setnb %al
  2454. imulq $-59, %rax, %rax
  2455. subq %rax, %rsi
  2456. movq %rsi, %rax
  2457. ret
  2458. .L2:
  2459. movq %rsi, %rax
  2460. ret
  2461. .cfi_endproc
  2462. .LFE2757:
  2463. .size _ZNK24prime_number_hash_policy14index_for_hashEmm, .-_ZNK24prime_number_hash_policy14index_for_hashEmm
  2464. .section .text.unlikely._ZNK24prime_number_hash_policy14index_for_hashEmm,"axG",@progbits,_ZNK24prime_number_hash_policy14index_for_hashEmm,comdat
  2465. .LCOLDE0:
  2466. .section .text._ZNK24prime_number_hash_policy14index_for_hashEmm,"axG",@progbits,_ZNK24prime_number_hash_policy14index_for_hashEmm,comdat
  2467. .LHOTE0:
  2468. .section .rodata.str1.1,"aMS",@progbits,1
  2469. .LC1:
  2470. .string "%zu\n"
  2471. .section .text.unlikely,"ax",@progbits
  2472. .LCOLDB2:
  2473. .section .text.startup,"ax",@progbits
  2474. .LHOTB2:
  2475. .p2align 4,,15
  2476. .globl main
  2477. .type main, @function
  2478. main:
  2479. .LFB2762:
  2480. .cfi_startproc
  2481. pushq %rbx
  2482. .cfi_def_cfa_offset 16
  2483. .cfi_offset 3, -16
  2484. movq %rsi, %rbx
  2485. subq $16, %rsp
  2486. .cfi_def_cfa_offset 32
  2487. movb %dil, 7(%rsp)
  2488. leaq 7(%rsp), %rdi
  2489. movq %fs:40, %rax
  2490. movq %rax, 8(%rsp)
  2491. xorl %eax, %eax
  2492. call _ZNK24prime_number_hash_policy14index_for_hashEmm
  2493. movl $.LC1, %esi
  2494. movq %rax, %rdx
  2495. movl $1, %edi
  2496. xorl %eax, %eax
  2497. call __printf_chk
  2498. movzbl 7(%rsp), %ecx
  2499. xorl %edx, %edx
  2500. testb %cl, %cl
  2501. je .L194
  2502. subl $1, %ecx
  2503. movq %rbx, %rax
  2504. xorl %edx, %edx
  2505. movslq %ecx, %rcx
  2506. divq _ZZNK24prime_number_hash_policy16index_for_hash_2EmmE10prime_list(,%rcx,8)
  2507. .L194:
  2508. xorl %eax, %eax
  2509. movl $.LC1, %esi
  2510. movl $1, %edi
  2511. call __printf_chk
  2512. xorl %eax, %eax
  2513. movq 8(%rsp), %rbx
  2514. xorq %fs:40, %rbx
  2515. jne .L200
  2516. addq $16, %rsp
  2517. .cfi_remember_state
  2518. .cfi_def_cfa_offset 16
  2519. popq %rbx
  2520. .cfi_def_cfa_offset 8
  2521. ret
  2522. .L200:
  2523. .cfi_restore_state
  2524. call __stack_chk_fail
  2525. .cfi_endproc
  2526. .LFE2762:
  2527. .size main, .-main
  2528. .section .text.unlikely
  2529. .LCOLDE2:
  2530. .section .text.startup
  2531. .LHOTE2:
  2532. .weak _ZZNK24prime_number_hash_policy16index_for_hash_2EmmE10prime_list
  2533. .section .rodata._ZZNK24prime_number_hash_policy16index_for_hash_2EmmE10prime_list,"aG",@progbits,_ZZNK24prime_number_hash_policy16index_for_hash_2EmmE10prime_list,comdat
  2534. .align 32
  2535. .type _ZZNK24prime_number_hash_policy16index_for_hash_2EmmE10prime_list, @gnu_unique_object
  2536. .size _ZZNK24prime_number_hash_policy16index_for_hash_2EmmE10prime_list, 1488
  2537. _ZZNK24prime_number_hash_policy16index_for_hash_2EmmE10prime_list:
  2538. .quad 2
  2539. .quad 3
  2540. .quad 5
  2541. .quad 7
  2542. .quad 11
  2543. .quad 13
  2544. .quad 17
  2545. .quad 23
  2546. .quad 29
  2547. .quad 37
  2548. .quad 47
  2549. .quad 59
  2550. .quad 73
  2551. .quad 97
  2552. .quad 127
  2553. .quad 151
  2554. .quad 197
  2555. .quad 251
  2556. .quad 313
  2557. .quad 397
  2558. .quad 499
  2559. .quad 631
  2560. .quad 797
  2561. .quad 1009
  2562. .quad 1259
  2563. .quad 1597
  2564. .quad 2011
  2565. .quad 2539
  2566. .quad 3203
  2567. .quad 4027
  2568. .quad 5087
  2569. .quad 6421
  2570. .quad 8089
  2571. .quad 10193
  2572. .quad 12853
  2573. .quad 16193
  2574. .quad 20399
  2575. .quad 25717
  2576. .quad 32401
  2577. .quad 40823
  2578. .quad 51437
  2579. .quad 64811
  2580. .quad 81649
  2581. .quad 102877
  2582. .quad 129607
  2583. .quad 163307
  2584. .quad 205759
  2585. .quad 259229
  2586. .quad 326617
  2587. .quad 411527
  2588. .quad 518509
  2589. .quad 653267
  2590. .quad 823117
  2591. .quad 1037059
  2592. .quad 1306601
  2593. .quad 1646237
  2594. .quad 2074129
  2595. .quad 2613229
  2596. .quad 3292489
  2597. .quad 4148279
  2598. .quad 5226491
  2599. .quad 6584983
  2600. .quad 8296553
  2601. .quad 10453007
  2602. .quad 13169977
  2603. .quad 16593127
  2604. .quad 20906033
  2605. .quad 26339969
  2606. .quad 33186281
  2607. .quad 41812097
  2608. .quad 52679969
  2609. .quad 66372617
  2610. .quad 83624237
  2611. .quad 105359939
  2612. .quad 132745199
  2613. .quad 167248483
  2614. .quad 210719881
  2615. .quad 265490441
  2616. .quad 334496971
  2617. .quad 421439783
  2618. .quad 530980861
  2619. .quad 668993977
  2620. .quad 842879579
  2621. .quad 1061961721
  2622. .quad 1337987929
  2623. .quad 1685759167
  2624. .quad 2123923447
  2625. .quad 2675975881
  2626. .quad 3371518343
  2627. .quad 4247846927
  2628. .quad 5351951779
  2629. .quad 6743036717
  2630. .quad 8495693897
  2631. .quad 10703903591
  2632. .quad 13486073473
  2633. .quad 16991387857
  2634. .quad 21407807219
  2635. .quad 26972146961
  2636. .quad 33982775741
  2637. .quad 42815614441
  2638. .quad 53944293929
  2639. .quad 67965551447
  2640. .quad 85631228929
  2641. .quad 107888587883
  2642. .quad 135931102921
  2643. .quad 171262457903
  2644. .quad 215777175787
  2645. .quad 271862205833
  2646. .quad 342524915839
  2647. .quad 431554351609
  2648. .quad 543724411781
  2649. .quad 685049831731
  2650. .quad 863108703229
  2651. .quad 1087448823553
  2652. .quad 1370099663459
  2653. .quad 1726217406467
  2654. .quad 2174897647073
  2655. .quad 2740199326961
  2656. .quad 3452434812973
  2657. .quad 4349795294267
  2658. .quad 5480398654009
  2659. .quad 6904869625999
  2660. .quad 8699590588571
  2661. .quad 10960797308051
  2662. .quad 13809739252051
  2663. .quad 17399181177241
  2664. .quad 21921594616111
  2665. .quad 27619478504183
  2666. .quad 34798362354533
  2667. .quad 43843189232363
  2668. .quad 55238957008387
  2669. .quad 69596724709081
  2670. .quad 87686378464759
  2671. .quad 110477914016779
  2672. .quad 139193449418173
  2673. .quad 175372756929481
  2674. .quad 220955828033581
  2675. .quad 278386898836457
  2676. .quad 350745513859007
  2677. .quad 441911656067171
  2678. .quad 556773797672909
  2679. .quad 701491027718027
  2680. .quad 883823312134381
  2681. .quad 1113547595345903
  2682. .quad 1402982055436147
  2683. .quad 1767646624268779
  2684. .quad 2227095190691797
  2685. .quad 2805964110872297
  2686. .quad 3535293248537579
  2687. .quad 4454190381383713
  2688. .quad 5611928221744609
  2689. .quad 7070586497075177
  2690. .quad 8908380762767489
  2691. .quad 11223856443489329
  2692. .quad 14141172994150357
  2693. .quad 17816761525534927
  2694. .quad 22447712886978529
  2695. .quad 28282345988300791
  2696. .quad 35633523051069991
  2697. .quad 44895425773957261
  2698. .quad 56564691976601587
  2699. .quad 71267046102139967
  2700. .quad 89790851547914507
  2701. .quad 113129383953203213
  2702. .quad 142534092204280003
  2703. .quad 179581703095829107
  2704. .quad 226258767906406483
  2705. .quad 285068184408560057
  2706. .quad 359163406191658253
  2707. .quad 452517535812813007
  2708. .quad 570136368817120201
  2709. .quad 718326812383316683
  2710. .quad 905035071625626043
  2711. .quad 1140272737634240411
  2712. .quad 1436653624766633509
  2713. .quad 1810070143251252131
  2714. .quad 2280545475268481167
  2715. .quad 2873307249533267101
  2716. .quad 3620140286502504283
  2717. .quad 4561090950536962147
  2718. .quad 5746614499066534157
  2719. .quad 7240280573005008577
  2720. .quad 9122181901073924329
  2721. .quad -6953515075576482927
  2722. .quad -3966182927699534447
  2723. .quad -59
  2724. .ident "GCC: (Gentoo 5.4.0 p1.0, pie-0.6.5) 5.4.0"
  2725. .section .note.GNU-stack,"",@progbits
  2726.