-
Notifications
You must be signed in to change notification settings - Fork 3
/
dump.co
11174 lines (11014 loc) · 393 KB
/
dump.co
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//
// Generated by NVIDIA NVVM Compiler
//
// Compiler Build ID: CL-27727916
// Unknown Toolkit Version
// Based on LLVM 3.4svn
//
.version 6.5
.target sm_61, texmode_independent
.address_size 64
// .globl verus_gpu_hash
// verus_gpu_hash$sharedMemory1 has been demoted
// verus_gpu_hash$sharedrand has been demoted
// verus_gpu_hash$sharedrandex has been demoted
.const .align 4 .b8 saes_table[4096] = {198, 99, 99, 165, 248, 124, 124, 132, 238, 119, 119, 153, 246, 123, 123, 141, 255, 242, 242, 13, 214, 107, 107, 189, 222, 111, 111, 177, 145, 197, 197, 84, 96, 48, 48, 80, 2, 1, 1, 3, 206, 103, 103, 169, 86, 43, 43, 125, 231, 254, 254, 25, 181, 215, 215, 98, 77, 171, 171, 230, 236, 118, 118, 154, 143, 202, 202, 69, 31, 130, 130, 157, 137, 201, 201, 64, 250, 125, 125, 135, 239, 250, 250, 21, 178, 89, 89, 235, 142, 71, 71, 201, 251, 240, 240, 11, 65, 173, 173, 236, 179, 212, 212, 103, 95, 162, 162, 253, 69, 175, 175, 234, 35, 156, 156, 191, 83, 164, 164, 247, 228, 114, 114, 150, 155, 192, 192, 91, 117, 183, 183, 194, 225, 253, 253, 28, 61, 147, 147, 174, 76, 38, 38, 106, 108, 54, 54, 90, 126, 63, 63, 65, 245, 247, 247, 2, 131, 204, 204, 79, 104, 52, 52, 92, 81, 165, 165, 244, 209, 229, 229, 52, 249, 241, 241, 8, 226, 113, 113, 147, 171, 216, 216, 115, 98, 49, 49, 83, 42, 21, 21, 63, 8, 4, 4, 12, 149, 199, 199, 82, 70, 35, 35, 101, 157, 195, 195, 94, 48, 24, 24, 40, 55, 150, 150, 161, 10, 5, 5, 15, 47, 154, 154, 181, 14, 7, 7, 9, 36, 18, 18, 54, 27, 128, 128, 155, 223, 226, 226, 61, 205, 235, 235, 38, 78, 39, 39, 105, 127, 178, 178, 205, 234, 117, 117, 159, 18, 9, 9, 27, 29, 131, 131, 158, 88, 44, 44, 116, 52, 26, 26, 46, 54, 27, 27, 45, 220, 110, 110, 178, 180, 90, 90, 238, 91, 160, 160, 251, 164, 82, 82, 246, 118, 59, 59, 77, 183, 214, 214, 97, 125, 179, 179, 206, 82, 41, 41, 123, 221, 227, 227, 62, 94, 47, 47, 113, 19, 132, 132, 151, 166, 83, 83, 245, 185, 209, 209, 104, 0, 0, 0, 0, 193, 237, 237, 44, 64, 32, 32, 96, 227, 252, 252, 31, 121, 177, 177, 200, 182, 91, 91, 237, 212, 106, 106, 190, 141, 203, 203, 70, 103, 190, 190, 217, 114, 57, 57, 75, 148, 74, 74, 222, 152, 76, 76, 212, 176, 88, 88, 232, 133, 207, 207, 74, 187, 208, 208, 107, 197, 239, 239, 42, 79, 170, 170, 229, 237, 251, 251, 22, 134, 67, 67, 197, 154, 77, 77, 215, 102, 51, 51, 85, 17, 133, 133, 148, 138, 69, 69, 207, 233, 249, 249, 16, 4, 2, 2, 6, 254, 127, 127, 129, 160, 80, 80, 240, 120, 60, 60, 68, 37, 159, 159, 186, 75, 168, 168, 227, 162, 81, 81, 243, 93, 163, 163, 254, 128, 64, 64, 192, 5, 143, 143, 138, 63, 146, 146, 173, 33, 157, 157, 188, 112, 56, 56, 72, 241, 245, 245, 4, 99, 188, 188, 223, 119, 182, 182, 193, 175, 218, 218, 117, 66, 33, 33, 99, 32, 16, 16, 48, 229, 255, 255, 26, 253, 243, 243, 14, 191, 210, 210, 109, 129, 205, 205, 76, 24, 12, 12, 20, 38, 19, 19, 53, 195, 236, 236, 47, 190, 95, 95, 225, 53, 151, 151, 162, 136, 68, 68, 204, 46, 23, 23, 57, 147, 196, 196, 87, 85, 167, 167, 242, 252, 126, 126, 130, 122, 61, 61, 71, 200, 100, 100, 172, 186, 93, 93, 231, 50, 25, 25, 43, 230, 115, 115, 149, 192, 96, 96, 160, 25, 129, 129, 152, 158, 79, 79, 209, 163, 220, 220, 127, 68, 34, 34, 102, 84, 42, 42, 126, 59, 144, 144, 171, 11, 136, 136, 131, 140, 70, 70, 202, 199, 238, 238, 41, 107, 184, 184, 211, 40, 20, 20, 60, 167, 222, 222, 121, 188, 94, 94, 226, 22, 11, 11, 29, 173, 219, 219, 118, 219, 224, 224, 59, 100, 50, 50, 86, 116, 58, 58, 78, 20, 10, 10, 30, 146, 73, 73, 219, 12, 6, 6, 10, 72, 36, 36, 108, 184, 92, 92, 228, 159, 194, 194, 93, 189, 211, 211, 110, 67, 172, 172, 239, 196, 98, 98, 166, 57, 145, 145, 168, 49, 149, 149, 164, 211, 228, 228, 55, 242, 121, 121, 139, 213, 231, 231, 50, 139, 200, 200, 67, 110, 55, 55, 89, 218, 109, 109, 183, 1, 141, 141, 140, 177, 213, 213, 100, 156, 78, 78, 210, 73, 169, 169, 224, 216, 108, 108, 180, 172, 86, 86, 250, 243, 244, 244, 7, 207, 234, 234, 37, 202, 101, 101, 175, 244, 122, 122, 142, 71, 174, 174, 233, 16, 8, 8, 24, 111, 186, 186, 213, 240, 120, 120, 136, 74, 37, 37, 111, 92, 46, 46, 114, 56, 28, 28, 36, 87, 166, 166, 241, 115, 180, 180, 199, 151, 198, 198, 81, 203, 232, 232, 35, 161, 221, 221, 124, 232, 116, 116, 156, 62, 31, 31, 33, 150, 75, 75, 221, 97, 189, 189, 220, 13, 139, 139, 134, 15, 138, 138, 133, 224, 112, 112, 144, 124, 62, 62, 66, 113, 181, 181, 196, 204, 102, 102, 170, 144, 72, 72, 216, 6, 3, 3, 5, 247, 246, 246, 1, 28, 14, 14, 18, 194, 97, 97, 163, 106, 53, 53, 95, 174, 87, 87, 249, 105, 185, 185, 208, 23, 134, 134, 145, 153, 193, 193, 88, 58, 29, 29, 39, 39, 158, 158, 185, 217, 225, 225, 56, 235, 248, 248, 19, 43, 152, 152, 179, 34, 17, 17, 51, 210, 105, 105, 187, 169, 217, 217, 112, 7, 142, 142, 137, 51, 148, 148, 167, 45, 155, 155, 182, 60, 30, 30, 34, 21, 135, 135, 146, 201, 233, 233, 32, 135, 206, 206, 73, 170, 85, 85, 255, 80, 40, 40, 120, 165, 223, 223, 122, 3, 140, 140, 143, 89, 161, 161, 248, 9, 137, 137, 128, 26, 13, 13, 23, 101, 191, 191, 218, 215, 230, 230, 49, 132, 66, 66, 198, 208, 104, 104, 184, 130, 65, 65, 195, 41, 153, 153, 176, 90, 45, 45, 119, 30, 15, 15, 17, 123, 176, 176, 203, 168, 84, 84, 252, 109, 187, 187, 214, 44, 22, 22, 58, 165, 198, 99, 99, 132, 248, 124, 124, 153, 238, 119, 119, 141, 246, 123, 123, 13, 255, 242, 242, 189, 214, 107, 107, 177, 222, 111, 111, 84, 145, 197, 197, 80, 96, 48, 48, 3, 2, 1, 1, 169, 206, 103, 103, 125, 86, 43, 43, 25, 231, 254, 254, 98, 181, 215, 215, 230, 77, 171, 171, 154, 236, 118, 118, 69, 143, 202, 202, 157, 31, 130, 130, 64, 137, 201, 201, 135, 250, 125, 125, 21, 239, 250, 250, 235, 178, 89, 89, 201, 142, 71, 71, 11, 251, 240, 240, 236, 65, 173, 173, 103, 179, 212, 212, 253, 95, 162, 162, 234, 69, 175, 175, 191, 35, 156, 156, 247, 83, 164, 164, 150, 228, 114, 114, 91, 155, 192, 192, 194, 117, 183, 183, 28, 225, 253, 253, 174, 61, 147, 147, 106, 76, 38, 38, 90, 108, 54, 54, 65, 126, 63, 63, 2, 245, 247, 247, 79, 131, 204, 204, 92, 104, 52, 52, 244, 81, 165, 165, 52, 209, 229, 229, 8, 249, 241, 241, 147, 226, 113, 113, 115, 171, 216, 216, 83, 98, 49, 49, 63, 42, 21, 21, 12, 8, 4, 4, 82, 149, 199, 199, 101, 70, 35, 35, 94, 157, 195, 195, 40, 48, 24, 24, 161, 55, 150, 150, 15, 10, 5, 5, 181, 47, 154, 154, 9, 14, 7, 7, 54, 36, 18, 18, 155, 27, 128, 128, 61, 223, 226, 226, 38, 205, 235, 235, 105, 78, 39, 39, 205, 127, 178, 178, 159, 234, 117, 117, 27, 18, 9, 9, 158, 29, 131, 131, 116, 88, 44, 44, 46, 52, 26, 26, 45, 54, 27, 27, 178, 220, 110, 110, 238, 180, 90, 90, 251, 91, 160, 160, 246, 164, 82, 82, 77, 118, 59, 59, 97, 183, 214, 214, 206, 125, 179, 179, 123, 82, 41, 41, 62, 221, 227, 227, 113, 94, 47, 47, 151, 19, 132, 132, 245, 166, 83, 83, 104, 185, 209, 209, 0, 0, 0, 0, 44, 193, 237, 237, 96, 64, 32, 32, 31, 227, 252, 252, 200, 121, 177, 177, 237, 182, 91, 91, 190, 212, 106, 106, 70, 141, 203, 203, 217, 103, 190, 190, 75, 114, 57, 57, 222, 148, 74, 74, 212, 152, 76, 76, 232, 176, 88, 88, 74, 133, 207, 207, 107, 187, 208, 208, 42, 197, 239, 239, 229, 79, 170, 170, 22, 237, 251, 251, 197, 134, 67, 67, 215, 154, 77, 77, 85, 102, 51, 51, 148, 17, 133, 133, 207, 138, 69, 69, 16, 233, 249, 249, 6, 4, 2, 2, 129, 254, 127, 127, 240, 160, 80, 80, 68, 120, 60, 60, 186, 37, 159, 159, 227, 75, 168, 168, 243, 162, 81, 81, 254, 93, 163, 163, 192, 128, 64, 64, 138, 5, 143, 143, 173, 63, 146, 146, 188, 33, 157, 157, 72, 112, 56, 56, 4, 241, 245, 245, 223, 99, 188, 188, 193, 119, 182, 182, 117, 175, 218, 218, 99, 66, 33, 33, 48, 32, 16, 16, 26, 229, 255, 255, 14, 253, 243, 243, 109, 191, 210, 210, 76, 129, 205, 205, 20, 24, 12, 12, 53, 38, 19, 19, 47, 195, 236, 236, 225, 190, 95, 95, 162, 53, 151, 151, 204, 136, 68, 68, 57, 46, 23, 23, 87, 147, 196, 196, 242, 85, 167, 167, 130, 252, 126, 126, 71, 122, 61, 61, 172, 200, 100, 100, 231, 186, 93, 93, 43, 50, 25, 25, 149, 230, 115, 115, 160, 192, 96, 96, 152, 25, 129, 129, 209, 158, 79, 79, 127, 163, 220, 220, 102, 68, 34, 34, 126, 84, 42, 42, 171, 59, 144, 144, 131, 11, 136, 136, 202, 140, 70, 70, 41, 199, 238, 238, 211, 107, 184, 184, 60, 40, 20, 20, 121, 167, 222, 222, 226, 188, 94, 94, 29, 22, 11, 11, 118, 173, 219, 219, 59, 219, 224, 224, 86, 100, 50, 50, 78, 116, 58, 58, 30, 20, 10, 10, 219, 146, 73, 73, 10, 12, 6, 6, 108, 72, 36, 36, 228, 184, 92, 92, 93, 159, 194, 194, 110, 189, 211, 211, 239, 67, 172, 172, 166, 196, 98, 98, 168, 57, 145, 145, 164, 49, 149, 149, 55, 211, 228, 228, 139, 242, 121, 121, 50, 213, 231, 231, 67, 139, 200, 200, 89, 110, 55, 55, 183, 218, 109, 109, 140, 1, 141, 141, 100, 177, 213, 213, 210, 156, 78, 78, 224, 73, 169, 169, 180, 216, 108, 108, 250, 172, 86, 86, 7, 243, 244, 244, 37, 207, 234, 234, 175, 202, 101, 101, 142, 244, 122, 122, 233, 71, 174, 174, 24, 16, 8, 8, 213, 111, 186, 186, 136, 240, 120, 120, 111, 74, 37, 37, 114, 92, 46, 46, 36, 56, 28, 28, 241, 87, 166, 166, 199, 115, 180, 180, 81, 151, 198, 198, 35, 203, 232, 232, 124, 161, 221, 221, 156, 232, 116, 116, 33, 62, 31, 31, 221, 150, 75, 75, 220, 97, 189, 189, 134, 13, 139, 139, 133, 15, 138, 138, 144, 224, 112, 112, 66, 124, 62, 62, 196, 113, 181, 181, 170, 204, 102, 102, 216, 144, 72, 72, 5, 6, 3, 3, 1, 247, 246, 246, 18, 28, 14, 14, 163, 194, 97, 97, 95, 106, 53, 53, 249, 174, 87, 87, 208, 105, 185, 185, 145, 23, 134, 134, 88, 153, 193, 193, 39, 58, 29, 29, 185, 39, 158, 158, 56, 217, 225, 225, 19, 235, 248, 248, 179, 43, 152, 152, 51, 34, 17, 17, 187, 210, 105, 105, 112, 169, 217, 217, 137, 7, 142, 142, 167, 51, 148, 148, 182, 45, 155, 155, 34, 60, 30, 30, 146, 21, 135, 135, 32, 201, 233, 233, 73, 135, 206, 206, 255, 170, 85, 85, 120, 80, 40, 40, 122, 165, 223, 223, 143, 3, 140, 140, 248, 89, 161, 161, 128, 9, 137, 137, 23, 26, 13, 13, 218, 101, 191, 191, 49, 215, 230, 230, 198, 132, 66, 66, 184, 208, 104, 104, 195, 130, 65, 65, 176, 41, 153, 153, 119, 90, 45, 45, 17, 30, 15, 15, 203, 123, 176, 176, 252, 168, 84, 84, 214, 109, 187, 187, 58, 44, 22, 22, 99, 165, 198, 99, 124, 132, 248, 124, 119, 153, 238, 119, 123, 141, 246, 123, 242, 13, 255, 242, 107, 189, 214, 107, 111, 177, 222, 111, 197, 84, 145, 197, 48, 80, 96, 48, 1, 3, 2, 1, 103, 169, 206, 103, 43, 125, 86, 43, 254, 25, 231, 254, 215, 98, 181, 215, 171, 230, 77, 171, 118, 154, 236, 118, 202, 69, 143, 202, 130, 157, 31, 130, 201, 64, 137, 201, 125, 135, 250, 125, 250, 21, 239, 250, 89, 235, 178, 89, 71, 201, 142, 71, 240, 11, 251, 240, 173, 236, 65, 173, 212, 103, 179, 212, 162, 253, 95, 162, 175, 234, 69, 175, 156, 191, 35, 156, 164, 247, 83, 164, 114, 150, 228, 114, 192, 91, 155, 192, 183, 194, 117, 183, 253, 28, 225, 253, 147, 174, 61, 147, 38, 106, 76, 38, 54, 90, 108, 54, 63, 65, 126, 63, 247, 2, 245, 247, 204, 79, 131, 204, 52, 92, 104, 52, 165, 244, 81, 165, 229, 52, 209, 229, 241, 8, 249, 241, 113, 147, 226, 113, 216, 115, 171, 216, 49, 83, 98, 49, 21, 63, 42, 21, 4, 12, 8, 4, 199, 82, 149, 199, 35, 101, 70, 35, 195, 94, 157, 195, 24, 40, 48, 24, 150, 161, 55, 150, 5, 15, 10, 5, 154, 181, 47, 154, 7, 9, 14, 7, 18, 54, 36, 18, 128, 155, 27, 128, 226, 61, 223, 226, 235, 38, 205, 235, 39, 105, 78, 39, 178, 205, 127, 178, 117, 159, 234, 117, 9, 27, 18, 9, 131, 158, 29, 131, 44, 116, 88, 44, 26, 46, 52, 26, 27, 45, 54, 27, 110, 178, 220, 110, 90, 238, 180, 90, 160, 251, 91, 160, 82, 246, 164, 82, 59, 77, 118, 59, 214, 97, 183, 214, 179, 206, 125, 179, 41, 123, 82, 41, 227, 62, 221, 227, 47, 113, 94, 47, 132, 151, 19, 132, 83, 245, 166, 83, 209, 104, 185, 209, 0, 0, 0, 0, 237, 44, 193, 237, 32, 96, 64, 32, 252, 31, 227, 252, 177, 200, 121, 177, 91, 237, 182, 91, 106, 190, 212, 106, 203, 70, 141, 203, 190, 217, 103, 190, 57, 75, 114, 57, 74, 222, 148, 74, 76, 212, 152, 76, 88, 232, 176, 88, 207, 74, 133, 207, 208, 107, 187, 208, 239, 42, 197, 239, 170, 229, 79, 170, 251, 22, 237, 251, 67, 197, 134, 67, 77, 215, 154, 77, 51, 85, 102, 51, 133, 148, 17, 133, 69, 207, 138, 69, 249, 16, 233, 249, 2, 6, 4, 2, 127, 129, 254, 127, 80, 240, 160, 80, 60, 68, 120, 60, 159, 186, 37, 159, 168, 227, 75, 168, 81, 243, 162, 81, 163, 254, 93, 163, 64, 192, 128, 64, 143, 138, 5, 143, 146, 173, 63, 146, 157, 188, 33, 157, 56, 72, 112, 56, 245, 4, 241, 245, 188, 223, 99, 188, 182, 193, 119, 182, 218, 117, 175, 218, 33, 99, 66, 33, 16, 48, 32, 16, 255, 26, 229, 255, 243, 14, 253, 243, 210, 109, 191, 210, 205, 76, 129, 205, 12, 20, 24, 12, 19, 53, 38, 19, 236, 47, 195, 236, 95, 225, 190, 95, 151, 162, 53, 151, 68, 204, 136, 68, 23, 57, 46, 23, 196, 87, 147, 196, 167, 242, 85, 167, 126, 130, 252, 126, 61, 71, 122, 61, 100, 172, 200, 100, 93, 231, 186, 93, 25, 43, 50, 25, 115, 149, 230, 115, 96, 160, 192, 96, 129, 152, 25, 129, 79, 209, 158, 79, 220, 127, 163, 220, 34, 102, 68, 34, 42, 126, 84, 42, 144, 171, 59, 144, 136, 131, 11, 136, 70, 202, 140, 70, 238, 41, 199, 238, 184, 211, 107, 184, 20, 60, 40, 20, 222, 121, 167, 222, 94, 226, 188, 94, 11, 29, 22, 11, 219, 118, 173, 219, 224, 59, 219, 224, 50, 86, 100, 50, 58, 78, 116, 58, 10, 30, 20, 10, 73, 219, 146, 73, 6, 10, 12, 6, 36, 108, 72, 36, 92, 228, 184, 92, 194, 93, 159, 194, 211, 110, 189, 211, 172, 239, 67, 172, 98, 166, 196, 98, 145, 168, 57, 145, 149, 164, 49, 149, 228, 55, 211, 228, 121, 139, 242, 121, 231, 50, 213, 231, 200, 67, 139, 200, 55, 89, 110, 55, 109, 183, 218, 109, 141, 140, 1, 141, 213, 100, 177, 213, 78, 210, 156, 78, 169, 224, 73, 169, 108, 180, 216, 108, 86, 250, 172, 86, 244, 7, 243, 244, 234, 37, 207, 234, 101, 175, 202, 101, 122, 142, 244, 122, 174, 233, 71, 174, 8, 24, 16, 8, 186, 213, 111, 186, 120, 136, 240, 120, 37, 111, 74, 37, 46, 114, 92, 46, 28, 36, 56, 28, 166, 241, 87, 166, 180, 199, 115, 180, 198, 81, 151, 198, 232, 35, 203, 232, 221, 124, 161, 221, 116, 156, 232, 116, 31, 33, 62, 31, 75, 221, 150, 75, 189, 220, 97, 189, 139, 134, 13, 139, 138, 133, 15, 138, 112, 144, 224, 112, 62, 66, 124, 62, 181, 196, 113, 181, 102, 170, 204, 102, 72, 216, 144, 72, 3, 5, 6, 3, 246, 1, 247, 246, 14, 18, 28, 14, 97, 163, 194, 97, 53, 95, 106, 53, 87, 249, 174, 87, 185, 208, 105, 185, 134, 145, 23, 134, 193, 88, 153, 193, 29, 39, 58, 29, 158, 185, 39, 158, 225, 56, 217, 225, 248, 19, 235, 248, 152, 179, 43, 152, 17, 51, 34, 17, 105, 187, 210, 105, 217, 112, 169, 217, 142, 137, 7, 142, 148, 167, 51, 148, 155, 182, 45, 155, 30, 34, 60, 30, 135, 146, 21, 135, 233, 32, 201, 233, 206, 73, 135, 206, 85, 255, 170, 85, 40, 120, 80, 40, 223, 122, 165, 223, 140, 143, 3, 140, 161, 248, 89, 161, 137, 128, 9, 137, 13, 23, 26, 13, 191, 218, 101, 191, 230, 49, 215, 230, 66, 198, 132, 66, 104, 184, 208, 104, 65, 195, 130, 65, 153, 176, 41, 153, 45, 119, 90, 45, 15, 17, 30, 15, 176, 203, 123, 176, 84, 252, 168, 84, 187, 214, 109, 187, 22, 58, 44, 22, 99, 99, 165, 198, 124, 124, 132, 248, 119, 119, 153, 238, 123, 123, 141, 246, 242, 242, 13, 255, 107, 107, 189, 214, 111, 111, 177, 222, 197, 197, 84, 145, 48, 48, 80, 96, 1, 1, 3, 2, 103, 103, 169, 206, 43, 43, 125, 86, 254, 254, 25, 231, 215, 215, 98, 181, 171, 171, 230, 77, 118, 118, 154, 236, 202, 202, 69, 143, 130, 130, 157, 31, 201, 201, 64, 137, 125, 125, 135, 250, 250, 250, 21, 239, 89, 89, 235, 178, 71, 71, 201, 142, 240, 240, 11, 251, 173, 173, 236, 65, 212, 212, 103, 179, 162, 162, 253, 95, 175, 175, 234, 69, 156, 156, 191, 35, 164, 164, 247, 83, 114, 114, 150, 228, 192, 192, 91, 155, 183, 183, 194, 117, 253, 253, 28, 225, 147, 147, 174, 61, 38, 38, 106, 76, 54, 54, 90, 108, 63, 63, 65, 126, 247, 247, 2, 245, 204, 204, 79, 131, 52, 52, 92, 104, 165, 165, 244, 81, 229, 229, 52, 209, 241, 241, 8, 249, 113, 113, 147, 226, 216, 216, 115, 171, 49, 49, 83, 98, 21, 21, 63, 42, 4, 4, 12, 8, 199, 199, 82, 149, 35, 35, 101, 70, 195, 195, 94, 157, 24, 24, 40, 48, 150, 150, 161, 55, 5, 5, 15, 10, 154, 154, 181, 47, 7, 7, 9, 14, 18, 18, 54, 36, 128, 128, 155, 27, 226, 226, 61, 223, 235, 235, 38, 205, 39, 39, 105, 78, 178, 178, 205, 127, 117, 117, 159, 234, 9, 9, 27, 18, 131, 131, 158, 29, 44, 44, 116, 88, 26, 26, 46, 52, 27, 27, 45, 54, 110, 110, 178, 220, 90, 90, 238, 180, 160, 160, 251, 91, 82, 82, 246, 164, 59, 59, 77, 118, 214, 214, 97, 183, 179, 179, 206, 125, 41, 41, 123, 82, 227, 227, 62, 221, 47, 47, 113, 94, 132, 132, 151, 19, 83, 83, 245, 166, 209, 209, 104, 185, 0, 0, 0, 0, 237, 237, 44, 193, 32, 32, 96, 64, 252, 252, 31, 227, 177, 177, 200, 121, 91, 91, 237, 182, 106, 106, 190, 212, 203, 203, 70, 141, 190, 190, 217, 103, 57, 57, 75, 114, 74, 74, 222, 148, 76, 76, 212, 152, 88, 88, 232, 176, 207, 207, 74, 133, 208, 208, 107, 187, 239, 239, 42, 197, 170, 170, 229, 79, 251, 251, 22, 237, 67, 67, 197, 134, 77, 77, 215, 154, 51, 51, 85, 102, 133, 133, 148, 17, 69, 69, 207, 138, 249, 249, 16, 233, 2, 2, 6, 4, 127, 127, 129, 254, 80, 80, 240, 160, 60, 60, 68, 120, 159, 159, 186, 37, 168, 168, 227, 75, 81, 81, 243, 162, 163, 163, 254, 93, 64, 64, 192, 128, 143, 143, 138, 5, 146, 146, 173, 63, 157, 157, 188, 33, 56, 56, 72, 112, 245, 245, 4, 241, 188, 188, 223, 99, 182, 182, 193, 119, 218, 218, 117, 175, 33, 33, 99, 66, 16, 16, 48, 32, 255, 255, 26, 229, 243, 243, 14, 253, 210, 210, 109, 191, 205, 205, 76, 129, 12, 12, 20, 24, 19, 19, 53, 38, 236, 236, 47, 195, 95, 95, 225, 190, 151, 151, 162, 53, 68, 68, 204, 136, 23, 23, 57, 46, 196, 196, 87, 147, 167, 167, 242, 85, 126, 126, 130, 252, 61, 61, 71, 122, 100, 100, 172, 200, 93, 93, 231, 186, 25, 25, 43, 50, 115, 115, 149, 230, 96, 96, 160, 192, 129, 129, 152, 25, 79, 79, 209, 158, 220, 220, 127, 163, 34, 34, 102, 68, 42, 42, 126, 84, 144, 144, 171, 59, 136, 136, 131, 11, 70, 70, 202, 140, 238, 238, 41, 199, 184, 184, 211, 107, 20, 20, 60, 40, 222, 222, 121, 167, 94, 94, 226, 188, 11, 11, 29, 22, 219, 219, 118, 173, 224, 224, 59, 219, 50, 50, 86, 100, 58, 58, 78, 116, 10, 10, 30, 20, 73, 73, 219, 146, 6, 6, 10, 12, 36, 36, 108, 72, 92, 92, 228, 184, 194, 194, 93, 159, 211, 211, 110, 189, 172, 172, 239, 67, 98, 98, 166, 196, 145, 145, 168, 57, 149, 149, 164, 49, 228, 228, 55, 211, 121, 121, 139, 242, 231, 231, 50, 213, 200, 200, 67, 139, 55, 55, 89, 110, 109, 109, 183, 218, 141, 141, 140, 1, 213, 213, 100, 177, 78, 78, 210, 156, 169, 169, 224, 73, 108, 108, 180, 216, 86, 86, 250, 172, 244, 244, 7, 243, 234, 234, 37, 207, 101, 101, 175, 202, 122, 122, 142, 244, 174, 174, 233, 71, 8, 8, 24, 16, 186, 186, 213, 111, 120, 120, 136, 240, 37, 37, 111, 74, 46, 46, 114, 92, 28, 28, 36, 56, 166, 166, 241, 87, 180, 180, 199, 115, 198, 198, 81, 151, 232, 232, 35, 203, 221, 221, 124, 161, 116, 116, 156, 232, 31, 31, 33, 62, 75, 75, 221, 150, 189, 189, 220, 97, 139, 139, 134, 13, 138, 138, 133, 15, 112, 112, 144, 224, 62, 62, 66, 124, 181, 181, 196, 113, 102, 102, 170, 204, 72, 72, 216, 144, 3, 3, 5, 6, 246, 246, 1, 247, 14, 14, 18, 28, 97, 97, 163, 194, 53, 53, 95, 106, 87, 87, 249, 174, 185, 185, 208, 105, 134, 134, 145, 23, 193, 193, 88, 153, 29, 29, 39, 58, 158, 158, 185, 39, 225, 225, 56, 217, 248, 248, 19, 235, 152, 152, 179, 43, 17, 17, 51, 34, 105, 105, 187, 210, 217, 217, 112, 169, 142, 142, 137, 7, 148, 148, 167, 51, 155, 155, 182, 45, 30, 30, 34, 60, 135, 135, 146, 21, 233, 233, 32, 201, 206, 206, 73, 135, 85, 85, 255, 170, 40, 40, 120, 80, 223, 223, 122, 165, 140, 140, 143, 3, 161, 161, 248, 89, 137, 137, 128, 9, 13, 13, 23, 26, 191, 191, 218, 101, 230, 230, 49, 215, 66, 66, 198, 132, 104, 104, 184, 208, 65, 65, 195, 130, 153, 153, 176, 41, 45, 45, 119, 90, 15, 15, 17, 30, 176, 176, 203, 123, 84, 84, 252, 168, 187, 187, 214, 109, 22, 22, 58, 44};
.entry verus_gpu_hash(
.param .u64 .ptr .const .align 4 verus_gpu_hash_param_0,
.param .u64 .ptr .const .align 16 verus_gpu_hash_param_1,
.param .u64 .ptr .global .align 16 verus_gpu_hash_param_2,
.param .u64 .ptr .const .align 16 verus_gpu_hash_param_3,
.param .u64 .ptr .global .align 4 verus_gpu_hash_param_4,
.param .u64 .ptr .global .align 4 verus_gpu_hash_param_5
)
.reqntid 64, 1, 1
{
.local .align 16 .b8 __local_depot0[128];
.reg .b64 %SP;
.reg .b64 %SPL;
.reg .pred %p<93>;
.reg .b16 %rs<239>;
.reg .b32 %r<6734>;
.reg .b64 %rd<6140>;
// demoted variable
.shared .align 4 .b8 verus_gpu_hash$sharedMemory1[4096];
// demoted variable
.shared .align 2 .b8 verus_gpu_hash$sharedrand[4096];
// demoted variable
.shared .align 2 .b8 verus_gpu_hash$sharedrandex[4096];
mov.u64 %SPL, __local_depot0;
ld.param.u64 %rd207, [verus_gpu_hash_param_0];
ld.param.u64 %rd208, [verus_gpu_hash_param_1];
ld.param.u64 %rd203, [verus_gpu_hash_param_2];
ld.param.u64 %rd6090, [verus_gpu_hash_param_3];
add.u64 %rd1, %SPL, 64;
mov.u32 %r740, %ctaid.x;
mov.u32 %r741, %ntid.x;
mov.b32 %r742, %envreg3;
mad.lo.s32 %r1, %r740, %r741, %r742;
mov.u32 %r2, %tid.x;
add.s32 %r743, %r1, %r2;
cvt.u64.u32 %rd210, %r743;
cvt.s64.s32 %rd2, %r2;
ld.const.u32 %r3, [%rd207];
add.s32 %r4, %r743, %r3;
and.b64 %rd211, %rd210, 65535;
mul.lo.s64 %rd3, %rd211, 552;
ld.const.v4.u32 {%r744, %r745, %r746, %r747}, [%rd208];
st.local.v4.u32 [%rd1], {%r744, %r745, %r746, %r747};
ld.const.v4.u32 {%r748, %r749, %r750, %r751}, [%rd208+16];
st.local.v4.u32 [%rd1+16], {%r748, %r749, %r750, %r751};
ld.const.v4.u32 {%r752, %r753, %r754, %r755}, [%rd208+32];
st.local.v4.u32 [%rd1+32], {%r752, %r753, %r754, %r755};
ld.const.v4.u32 {%r756, %r757, %r758, %r759}, [%rd208+48];
st.local.v4.u32 [%rd1+48], {%r756, %r757, %r758, %r759};
setp.gt.s32 %p1, %r2, 255;
@%p1 bra BB0_9;
mov.u32 %r760, 255;
sub.s32 %r761, %r760, %r2;
shr.u32 %r762, %r761, 6;
add.s32 %r21, %r762, 1;
and.b32 %r22, %r21, 3;
setp.eq.s32 %p2, %r22, 0;
@%p2 bra BB0_7;
setp.eq.s32 %p3, %r22, 1;
@%p3 bra BB0_6;
setp.eq.s32 %p4, %r22, 2;
@%p4 bra BB0_5;
shl.b64 %rd212, %rd2, 2;
mov.u64 %rd213, saes_table;
add.s64 %rd214, %rd213, %rd212;
ld.const.u32 %r763, [%rd214];
mov.u64 %rd215, verus_gpu_hash$sharedMemory1;
add.s64 %rd216, %rd215, %rd212;
st.shared.u32 [%rd216], %r763;
ld.const.u32 %r764, [%rd214+1024];
st.shared.u32 [%rd216+1024], %r764;
ld.const.u32 %r765, [%rd214+2048];
st.shared.u32 [%rd216+2048], %r765;
ld.const.u32 %r766, [%rd214+3072];
st.shared.u32 [%rd216+3072], %r766;
add.s32 %r2, %r2, 64;
BB0_5:
mul.wide.s32 %rd217, %r2, 4;
mov.u64 %rd218, saes_table;
add.s64 %rd219, %rd218, %rd217;
ld.const.u32 %r767, [%rd219];
mov.u64 %rd220, verus_gpu_hash$sharedMemory1;
add.s64 %rd221, %rd220, %rd217;
st.shared.u32 [%rd221], %r767;
ld.const.u32 %r768, [%rd219+1024];
st.shared.u32 [%rd221+1024], %r768;
ld.const.u32 %r769, [%rd219+2048];
st.shared.u32 [%rd221+2048], %r769;
ld.const.u32 %r770, [%rd219+3072];
st.shared.u32 [%rd221+3072], %r770;
add.s32 %r2, %r2, 64;
BB0_6:
mul.wide.s32 %rd222, %r2, 4;
mov.u64 %rd223, saes_table;
add.s64 %rd224, %rd223, %rd222;
ld.const.u32 %r771, [%rd224];
mov.u64 %rd225, verus_gpu_hash$sharedMemory1;
add.s64 %rd226, %rd225, %rd222;
st.shared.u32 [%rd226], %r771;
ld.const.u32 %r772, [%rd224+1024];
st.shared.u32 [%rd226+1024], %r772;
ld.const.u32 %r773, [%rd224+2048];
st.shared.u32 [%rd226+2048], %r773;
ld.const.u32 %r774, [%rd224+3072];
st.shared.u32 [%rd226+3072], %r774;
add.s32 %r2, %r2, 64;
BB0_7:
setp.lt.u32 %p5, %r21, 4;
@%p5 bra BB0_9;
BB0_8:
mul.wide.s32 %rd227, %r2, 4;
mov.u64 %rd228, saes_table;
add.s64 %rd229, %rd228, %rd227;
ld.const.u32 %r775, [%rd229];
mov.u64 %rd230, verus_gpu_hash$sharedMemory1;
add.s64 %rd231, %rd230, %rd227;
st.shared.u32 [%rd231], %r775;
ld.const.u32 %r776, [%rd229+1024];
st.shared.u32 [%rd231+1024], %r776;
ld.const.u32 %r777, [%rd229+2048];
st.shared.u32 [%rd231+2048], %r777;
ld.const.u32 %r778, [%rd229+3072];
st.shared.u32 [%rd231+3072], %r778;
ld.const.u32 %r779, [%rd229+256];
st.shared.u32 [%rd231+256], %r779;
ld.const.u32 %r780, [%rd229+1280];
st.shared.u32 [%rd231+1280], %r780;
ld.const.u32 %r781, [%rd229+2304];
st.shared.u32 [%rd231+2304], %r781;
ld.const.u32 %r782, [%rd229+3328];
st.shared.u32 [%rd231+3328], %r782;
ld.const.u32 %r783, [%rd229+512];
st.shared.u32 [%rd231+512], %r783;
ld.const.u32 %r784, [%rd229+1536];
st.shared.u32 [%rd231+1536], %r784;
ld.const.u32 %r785, [%rd229+2560];
st.shared.u32 [%rd231+2560], %r785;
ld.const.u32 %r786, [%rd229+3584];
st.shared.u32 [%rd231+3584], %r786;
ld.const.u32 %r787, [%rd229+768];
st.shared.u32 [%rd231+768], %r787;
ld.const.u32 %r788, [%rd229+1792];
st.shared.u32 [%rd231+1792], %r788;
ld.const.u32 %r789, [%rd229+2816];
st.shared.u32 [%rd231+2816], %r789;
ld.const.u32 %r790, [%rd229+3840];
st.shared.u32 [%rd231+3840], %r790;
add.s32 %r30, %r2, 256;
setp.lt.s32 %p6, %r2, 0;
mov.u32 %r2, %r30;
@%p6 bra BB0_8;
BB0_9:
setp.ne.s32 %p7, %r3, 0;
@%p7 bra BB0_12;
and.b32 %r793, %r743, 65535;
mul.wide.u32 %rd232, %r793, 552;
shl.b64 %rd233, %rd232, 4;
add.s64 %rd6091, %rd203, %rd233;
mov.u32 %r6471, -552;
BB0_11:
ld.const.v4.u32 {%r794, %r795, %r796, %r797}, [%rd6090];
st.global.v4.u32 [%rd6091], {%r794, %r795, %r796, %r797};
ld.const.v4.u32 {%r802, %r803, %r804, %r805}, [%rd6090+16];
st.global.v4.u32 [%rd6091+16], {%r802, %r803, %r804, %r805};
ld.const.v4.u32 {%r810, %r811, %r812, %r813}, [%rd6090+32];
st.global.v4.u32 [%rd6091+32], {%r810, %r811, %r812, %r813};
ld.const.v4.u32 {%r818, %r819, %r820, %r821}, [%rd6090+48];
st.global.v4.u32 [%rd6091+48], {%r818, %r819, %r820, %r821};
ld.const.v4.u32 {%r826, %r827, %r828, %r829}, [%rd6090+64];
st.global.v4.u32 [%rd6091+64], {%r826, %r827, %r828, %r829};
ld.const.v4.u32 {%r834, %r835, %r836, %r837}, [%rd6090+80];
st.global.v4.u32 [%rd6091+80], {%r834, %r835, %r836, %r837};
ld.const.v4.u32 {%r842, %r843, %r844, %r845}, [%rd6090+96];
st.global.v4.u32 [%rd6091+96], {%r842, %r843, %r844, %r845};
ld.const.v4.u32 {%r850, %r851, %r852, %r853}, [%rd6090+112];
st.global.v4.u32 [%rd6091+112], {%r850, %r851, %r852, %r853};
ld.const.v4.u32 {%r858, %r859, %r860, %r861}, [%rd6090+128];
st.global.v4.u32 [%rd6091+128], {%r858, %r859, %r860, %r861};
ld.const.v4.u32 {%r866, %r867, %r868, %r869}, [%rd6090+144];
st.global.v4.u32 [%rd6091+144], {%r866, %r867, %r868, %r869};
ld.const.v4.u32 {%r874, %r875, %r876, %r877}, [%rd6090+160];
st.global.v4.u32 [%rd6091+160], {%r874, %r875, %r876, %r877};
ld.const.v4.u32 {%r882, %r883, %r884, %r885}, [%rd6090+176];
st.global.v4.u32 [%rd6091+176], {%r882, %r883, %r884, %r885};
add.s64 %rd6091, %rd6091, 192;
add.s64 %rd6090, %rd6090, 192;
add.s32 %r6471, %r6471, 12;
setp.ne.s32 %p8, %r6471, 0;
@%p8 bra BB0_11;
BB0_12:
mov.u32 %r6729, 0;
st.local.v4.u32 [%rd1+32], {%r4, %r753, %r754, %r755};
shl.b64 %rd234, %rd2, 5;
and.b64 %rd9, %rd234, 4294967264;
shl.b64 %rd235, %rd3, 4;
add.s64 %rd236, %rd235, %rd203;
ld.global.v4.u32 {%r6730, %r6731, %r6732, %r6733}, [%rd236+8208];
cvt.u64.u32 %rd237, %r6731;
xor.b32 %r895, %r744, %r4;
xor.b32 %r896, %r745, %r753;
xor.b32 %r897, %r746, %r754;
xor.b32 %r898, %r747, %r755;
st.local.v4.u32 [%rd1], {%r895, %r896, %r897, %r898};
xor.b32 %r899, %r748, %r756;
xor.b32 %r900, %r749, %r757;
xor.b32 %r901, %r750, %r758;
xor.b32 %r902, %r751, %r759;
st.local.v4.u32 [%rd1+16], {%r899, %r900, %r901, %r902};
shr.u32 %r903, %r6730, 5;
cvt.u64.u32 %rd238, %r903;
cvt.u16.u32 %rs61, %r903;
and.b16 %rs236, %rs61, 511;
cvt.u16.u32 %rs62, %r6731;
and.b16 %rs237, %rs62, 511;
and.b64 %rd239, %rd238, 511;
add.s64 %rd240, %rd239, %rd3;
shl.b64 %rd241, %rd240, 4;
add.s64 %rd242, %rd203, %rd241;
ld.global.v4.u32 {%r6721, %r6722, %r6723, %r6724}, [%rd242];
and.b64 %rd243, %rd237, 511;
add.s64 %rd244, %rd243, %rd3;
shl.b64 %rd245, %rd244, 4;
add.s64 %rd246, %rd203, %rd245;
ld.global.v4.u32 {%r6667, %r6668, %r6669, %r6670}, [%rd246];
mov.b64 %rd6123, {%r6730, %r6731};
cvt.u16.u64 %rs63, %rd6123;
and.b16 %rs238, %rs63, 28;
mul.wide.u32 %rd247, %r6730, 16;
and.b64 %rd248, %rd247, 48;
add.s64 %rd6122, %rd1, %rd248;
add.u64 %rd12, %SPL, 0;
BB0_13:
add.s64 %rd15, %rd12, 16;
and.b16 %rs64, %rs238, 255;
setp.ne.s16 %p9, %rs64, 20;
@%p9 bra BB0_14;
and.b64 %rd251, %rd6123, 1;
mov.u64 %rd252, 1;
shl.b64 %rd253, %rd251, 1;
sub.s64 %rd254, %rd252, %rd253;
shl.b64 %rd255, %rd254, 4;
add.s64 %rd16, %rd6122, %rd255;
shr.u64 %rd6094, %rd6123, 61;
cvt.u64.u16 %rd256, %rs236;
add.s64 %rd257, %rd256, %rd3;
shl.b64 %rd258, %rd257, 4;
add.s64 %rd6095, %rd203, %rd258;
mov.u64 %rd6096, 0;
BB0_16:
cvt.u32.u64 %r912, %rd6094;
and.b32 %r913, %r912, 63;
mov.u64 %rd259, 268435456;
shl.b64 %rd260, %rd259, %r913;
and.b64 %rd261, %rd260, %rd6123;
setp.gt.u64 %p10, %rd261, 268435455;
ld.global.v4.u32 {%r914, %r915, %r916, %r917}, [%rd6095];
and.b64 %rd22, %rd6094, 1;
@%p10 bra BB0_18;
bra.uni BB0_17;
BB0_18:
setp.eq.s64 %p12, %rd22, 0;
selp.b64 %rd441, %rd16, %rd6122, %p12;
ld.local.v4.u32 {%r1139, %r1140, %r1141, %r1142}, [%rd441];
xor.b32 %r73, %r917, %r1142;
xor.b32 %r72, %r916, %r1141;
xor.b32 %r71, %r915, %r1140;
xor.b32 %r70, %r914, %r1139;
mov.b64 %rd442, {%r72, %r73};
mov.u64 %rd443, 0;
st.local.v2.u64 [%rd12], {%rd443, %rd442};
shl.b64 %rd446, %rd442, 1;
xor.b64 %rd447, %rd446, %rd442;
st.local.v2.u64 [%rd15], {%rd446, %rd447};
shl.b64 %rd448, %rd442, 2;
xor.b64 %rd449, %rd448, %rd442;
st.local.v2.u64 [%rd15+16], {%rd448, %rd449};
shl.b64 %rd450, %rd447, 1;
xor.b64 %rd451, %rd450, %rd442;
st.local.v2.u64 [%rd15+32], {%rd450, %rd451};
mov.b64 %rd452, {%r70, %r71};
shl.b64 %rd453, %rd452, 3;
and.b64 %rd454, %rd453, 56;
add.s64 %rd455, %rd12, %rd454;
and.b64 %rd456, %rd452, 56;
add.s64 %rd457, %rd12, %rd456;
ld.local.u64 %rd458, [%rd457];
shl.b64 %rd459, %rd458, 3;
ld.local.u64 %rd460, [%rd455];
xor.b64 %rd461, %rd460, %rd459;
shr.u64 %rd462, %rd458, 61;
mov.u32 %r1147, 0;
mov.b64 %rd463, {%r1147, %r1147};
xor.b64 %rd464, %rd463, %rd462;
shr.u64 %rd465, %rd452, 3;
and.b64 %rd466, %rd465, 56;
add.s64 %rd467, %rd12, %rd466;
ld.local.u64 %rd468, [%rd467];
shl.b64 %rd469, %rd468, 6;
mov.b64 {%r1148, %r1149}, %rd461;
mov.b64 %rd470, {%r1148, %r1149};
xor.b64 %rd471, %rd470, %rd469;
shr.u64 %rd472, %rd468, 58;
mov.b64 {%r1150, %r1151}, %rd464;
mov.b64 %rd473, {%r1150, %r1151};
xor.b64 %rd474, %rd473, %rd472;
shr.u64 %rd475, %rd452, 6;
and.b64 %rd476, %rd475, 56;
add.s64 %rd477, %rd12, %rd476;
ld.local.u64 %rd478, [%rd477];
shl.b64 %rd479, %rd478, 9;
mov.b64 {%r1152, %r1153}, %rd471;
mov.b64 %rd480, {%r1152, %r1153};
xor.b64 %rd481, %rd480, %rd479;
shr.u64 %rd482, %rd478, 55;
mov.b64 {%r1154, %r1155}, %rd474;
mov.b64 %rd483, {%r1154, %r1155};
xor.b64 %rd484, %rd483, %rd482;
shr.u64 %rd485, %rd452, 9;
and.b64 %rd486, %rd485, 56;
add.s64 %rd487, %rd12, %rd486;
ld.local.u64 %rd488, [%rd487];
shl.b64 %rd489, %rd488, 12;
mov.b64 {%r1156, %r1157}, %rd481;
mov.b64 %rd490, {%r1156, %r1157};
xor.b64 %rd491, %rd490, %rd489;
shr.u64 %rd492, %rd488, 52;
mov.b64 {%r1158, %r1159}, %rd484;
mov.b64 %rd493, {%r1158, %r1159};
xor.b64 %rd494, %rd493, %rd492;
shr.u64 %rd495, %rd452, 12;
and.b64 %rd496, %rd495, 56;
add.s64 %rd497, %rd12, %rd496;
ld.local.u64 %rd498, [%rd497];
shl.b64 %rd499, %rd498, 15;
mov.b64 {%r1160, %r1161}, %rd491;
mov.b64 %rd500, {%r1160, %r1161};
xor.b64 %rd501, %rd500, %rd499;
shr.u64 %rd502, %rd498, 49;
mov.b64 {%r1162, %r1163}, %rd494;
mov.b64 %rd503, {%r1162, %r1163};
xor.b64 %rd504, %rd503, %rd502;
shr.u64 %rd505, %rd452, 15;
and.b64 %rd506, %rd505, 56;
add.s64 %rd507, %rd12, %rd506;
ld.local.u64 %rd508, [%rd507];
shl.b64 %rd509, %rd508, 18;
mov.b64 {%r1164, %r1165}, %rd501;
mov.b64 %rd510, {%r1164, %r1165};
xor.b64 %rd511, %rd510, %rd509;
shr.u64 %rd512, %rd508, 46;
mov.b64 {%r1166, %r1167}, %rd504;
mov.b64 %rd513, {%r1166, %r1167};
xor.b64 %rd514, %rd513, %rd512;
shr.u64 %rd515, %rd452, 18;
and.b64 %rd516, %rd515, 56;
add.s64 %rd517, %rd12, %rd516;
ld.local.u64 %rd518, [%rd517];
shl.b64 %rd519, %rd518, 21;
mov.b64 {%r1168, %r1169}, %rd511;
mov.b64 %rd520, {%r1168, %r1169};
xor.b64 %rd521, %rd520, %rd519;
shr.u64 %rd522, %rd518, 43;
mov.b64 {%r1170, %r1171}, %rd514;
mov.b64 %rd523, {%r1170, %r1171};
xor.b64 %rd524, %rd523, %rd522;
shr.u64 %rd525, %rd452, 21;
and.b64 %rd526, %rd525, 56;
add.s64 %rd527, %rd12, %rd526;
ld.local.u64 %rd528, [%rd527];
shl.b64 %rd529, %rd528, 24;
mov.b64 {%r1172, %r1173}, %rd521;
mov.b64 %rd530, {%r1172, %r1173};
xor.b64 %rd531, %rd530, %rd529;
shr.u64 %rd532, %rd528, 40;
mov.b64 {%r1174, %r1175}, %rd524;
mov.b64 %rd533, {%r1174, %r1175};
xor.b64 %rd534, %rd533, %rd532;
shr.u64 %rd535, %rd452, 24;
and.b64 %rd536, %rd535, 56;
add.s64 %rd537, %rd12, %rd536;
ld.local.u64 %rd538, [%rd537];
shl.b64 %rd539, %rd538, 27;
mov.b64 {%r1176, %r1177}, %rd531;
mov.b64 %rd540, {%r1176, %r1177};
xor.b64 %rd541, %rd540, %rd539;
shr.u64 %rd542, %rd538, 37;
mov.b64 {%r1178, %r1179}, %rd534;
mov.b64 %rd543, {%r1178, %r1179};
xor.b64 %rd544, %rd543, %rd542;
shr.u64 %rd545, %rd452, 27;
and.b64 %rd546, %rd545, 56;
add.s64 %rd547, %rd12, %rd546;
ld.local.u64 %rd548, [%rd547];
shl.b64 %rd549, %rd548, 30;
mov.b64 {%r1180, %r1181}, %rd541;
mov.b64 %rd550, {%r1180, %r1181};
xor.b64 %rd551, %rd550, %rd549;
shr.u64 %rd552, %rd548, 34;
mov.b64 {%r1182, %r1183}, %rd544;
mov.b64 %rd553, {%r1182, %r1183};
xor.b64 %rd554, %rd553, %rd552;
shr.u64 %rd555, %rd452, 30;
and.b64 %rd556, %rd555, 56;
add.s64 %rd557, %rd12, %rd556;
ld.local.u64 %rd558, [%rd557];
shl.b64 %rd559, %rd558, 33;
mov.b64 {%r1184, %r1185}, %rd551;
mov.b64 %rd560, {%r1184, %r1185};
xor.b64 %rd561, %rd560, %rd559;
shr.u64 %rd562, %rd558, 31;
mov.b64 {%r1186, %r1187}, %rd554;
mov.b64 %rd563, {%r1186, %r1187};
xor.b64 %rd564, %rd563, %rd562;
shr.u64 %rd565, %rd452, 33;
and.b64 %rd566, %rd565, 56;
add.s64 %rd567, %rd12, %rd566;
ld.local.u64 %rd568, [%rd567];
shl.b64 %rd569, %rd568, 36;
mov.b64 {%r1188, %r1189}, %rd561;
mov.b64 %rd570, {%r1188, %r1189};
xor.b64 %rd571, %rd570, %rd569;
shr.u64 %rd572, %rd568, 28;
mov.b64 {%r1190, %r1191}, %rd564;
mov.b64 %rd573, {%r1190, %r1191};
xor.b64 %rd574, %rd573, %rd572;
shr.u64 %rd575, %rd452, 36;
and.b64 %rd576, %rd575, 56;
add.s64 %rd577, %rd12, %rd576;
ld.local.u64 %rd578, [%rd577];
shl.b64 %rd579, %rd578, 39;
mov.b64 {%r1192, %r1193}, %rd571;
mov.b64 %rd580, {%r1192, %r1193};
xor.b64 %rd581, %rd580, %rd579;
shr.u64 %rd582, %rd578, 25;
mov.b64 {%r1194, %r1195}, %rd574;
mov.b64 %rd583, {%r1194, %r1195};
xor.b64 %rd584, %rd583, %rd582;
shr.u64 %rd585, %rd452, 39;
and.b64 %rd586, %rd585, 56;
add.s64 %rd587, %rd12, %rd586;
ld.local.u64 %rd588, [%rd587];
shl.b64 %rd589, %rd588, 42;
mov.b64 {%r1196, %r1197}, %rd581;
mov.b64 %rd590, {%r1196, %r1197};
xor.b64 %rd591, %rd590, %rd589;
shr.u64 %rd592, %rd588, 22;
mov.b64 {%r1198, %r1199}, %rd584;
mov.b64 %rd593, {%r1198, %r1199};
xor.b64 %rd594, %rd593, %rd592;
shr.u64 %rd595, %rd452, 42;
and.b64 %rd596, %rd595, 56;
add.s64 %rd597, %rd12, %rd596;
ld.local.u64 %rd598, [%rd597];
shl.b64 %rd599, %rd598, 45;
mov.b64 {%r1200, %r1201}, %rd591;
mov.b64 %rd600, {%r1200, %r1201};
xor.b64 %rd601, %rd600, %rd599;
shr.u64 %rd602, %rd598, 19;
mov.b64 {%r1202, %r1203}, %rd594;
mov.b64 %rd603, {%r1202, %r1203};
xor.b64 %rd604, %rd603, %rd602;
shr.u64 %rd605, %rd452, 45;
and.b64 %rd606, %rd605, 56;
add.s64 %rd607, %rd12, %rd606;
ld.local.u64 %rd608, [%rd607];
shl.b64 %rd609, %rd608, 48;
mov.b64 {%r1204, %r1205}, %rd601;
mov.b64 %rd610, {%r1204, %r1205};
xor.b64 %rd611, %rd610, %rd609;
shr.u64 %rd612, %rd608, 16;
mov.b64 {%r1206, %r1207}, %rd604;
mov.b64 %rd613, {%r1206, %r1207};
xor.b64 %rd614, %rd613, %rd612;
shr.u64 %rd615, %rd452, 48;
and.b64 %rd616, %rd615, 56;
add.s64 %rd617, %rd12, %rd616;
ld.local.u64 %rd618, [%rd617];
shl.b64 %rd619, %rd618, 51;
mov.b64 {%r1208, %r1209}, %rd611;
mov.b64 %rd620, {%r1208, %r1209};
xor.b64 %rd621, %rd620, %rd619;
shr.u64 %rd622, %rd618, 13;
mov.b64 {%r1210, %r1211}, %rd614;
mov.b64 %rd623, {%r1210, %r1211};
xor.b64 %rd624, %rd623, %rd622;
shr.u64 %rd625, %rd452, 51;
and.b64 %rd626, %rd625, 56;
add.s64 %rd627, %rd12, %rd626;
ld.local.u64 %rd628, [%rd627];
shl.b64 %rd629, %rd628, 54;
mov.b64 {%r1212, %r1213}, %rd621;
mov.b64 %rd630, {%r1212, %r1213};
xor.b64 %rd631, %rd630, %rd629;
shr.u64 %rd632, %rd628, 10;
mov.b64 {%r1214, %r1215}, %rd624;
mov.b64 %rd633, {%r1214, %r1215};
xor.b64 %rd634, %rd633, %rd632;
shr.u64 %rd635, %rd452, 54;
and.b64 %rd636, %rd635, 56;
add.s64 %rd637, %rd12, %rd636;
ld.local.u64 %rd638, [%rd637];
shl.b64 %rd639, %rd638, 57;
mov.b64 {%r1216, %r1217}, %rd631;
mov.b64 %rd640, {%r1216, %r1217};
xor.b64 %rd641, %rd640, %rd639;
shr.u64 %rd642, %rd638, 7;
mov.b64 {%r1218, %r1219}, %rd634;
mov.b64 %rd643, {%r1218, %r1219};
xor.b64 %rd644, %rd643, %rd642;
shr.u64 %rd645, %rd452, 57;
and.b64 %rd646, %rd645, 56;
add.s64 %rd647, %rd12, %rd646;
ld.local.u64 %rd648, [%rd647];
shl.b64 %rd649, %rd648, 60;
mov.b64 {%r1220, %r1221}, %rd641;
mov.b64 %rd650, {%r1220, %r1221};
xor.b64 %rd651, %rd650, %rd649;
shr.u64 %rd652, %rd648, 4;
mov.b64 {%r1222, %r1223}, %rd644;
mov.b64 %rd653, {%r1222, %r1223};
xor.b64 %rd654, %rd653, %rd652;
shr.u64 %rd655, %rd452, 60;
and.b64 %rd656, %rd655, 8;
add.s64 %rd657, %rd12, %rd656;
ld.local.u64 %rd658, [%rd657];
shl.b64 %rd659, %rd658, 63;
mov.b64 {%r1224, %r1225}, %rd651;
mov.b64 %rd660, {%r1224, %r1225};
xor.b64 %rd661, %rd660, %rd659;
shr.u64 %rd662, %rd658, 1;
mov.b64 {%r1226, %r1227}, %rd654;
mov.b64 %rd663, {%r1226, %r1227};
xor.b64 %rd664, %rd663, %rd662;
mov.b64 {%r6491, %r6492}, %rd664;
mov.b64 {%r6493, %r6494}, %rd661;
setp.gt.s32 %p13, %r73, -1;
@%p13 bra BB0_20;
shr.u32 %r1228, %r70, 1;
shl.b32 %r1229, %r71, 31;
shr.u32 %r1230, %r71, 1;
and.b32 %r1231, %r1228, 1533916891;
or.b32 %r1232, %r1231, %r1229;
xor.b32 %r6491, %r6491, %r1232;
and.b32 %r1233, %r1230, 920350134;
xor.b32 %r6492, %r6492, %r1233;
BB0_20:
and.b32 %r1234, %r73, 1073741824;
setp.eq.s32 %p14, %r1234, 0;
@%p14 bra BB0_22;
shr.u32 %r1235, %r70, 2;
shl.b32 %r1236, %r71, 30;
or.b32 %r1237, %r1235, %r1236;
shr.u32 %r1238, %r71, 2;
and.b32 %r1239, %r1237, 1227133513;
xor.b32 %r6491, %r6491, %r1239;
and.b32 %r1240, %r1238, 306783378;
xor.b32 %r6492, %r6492, %r1240;
BB0_22:
xor.b32 %r6730, %r6493, %r6730;
xor.b32 %r6731, %r6494, %r6731;
xor.b32 %r6732, %r6491, %r6732;
xor.b32 %r6733, %r6492, %r6733;
bra.uni BB0_23;
BB0_17:
setp.eq.s64 %p11, %rd22, 0;
selp.b64 %rd262, %rd6122, %rd16, %p11;
add.s64 %rd23, %rd6096, 1;
shl.b64 %rd263, %rd6096, 6;
add.s64 %rd264, %rd263, %rd6095;
and.b32 %r918, %r914, 255;
mul.wide.u32 %rd265, %r918, 4;
mov.u64 %rd266, verus_gpu_hash$sharedMemory1;
add.s64 %rd267, %rd266, %rd265;
shr.u32 %r919, %r914, 8;
mul.wide.u32 %rd268, %r915, 4;
and.b64 %rd269, %rd268, 1020;
add.s64 %rd270, %rd266, %rd269;
shr.u32 %r920, %r915, 8;
mul.wide.u32 %rd271, %r916, 4;
and.b64 %rd272, %rd271, 1020;
add.s64 %rd273, %rd266, %rd272;
shr.u32 %r921, %r916, 8;
mul.wide.u32 %rd274, %r917, 4;
and.b64 %rd275, %rd274, 1020;
add.s64 %rd276, %rd266, %rd275;
shr.u32 %r922, %r917, 8;
mul.wide.u32 %rd277, %r920, 4;
and.b64 %rd278, %rd277, 1020;
add.s64 %rd279, %rd278, %rd266;
ld.shared.u32 %r923, [%rd279+1024];
ld.shared.u32 %r924, [%rd267];
xor.b32 %r925, %r923, %r924;
shr.u32 %r926, %r915, 16;
mul.wide.u32 %rd280, %r921, 4;
and.b64 %rd281, %rd280, 1020;
add.s64 %rd282, %rd281, %rd266;
ld.shared.u32 %r927, [%rd282+1024];
ld.shared.u32 %r928, [%rd270];
xor.b32 %r929, %r927, %r928;
shr.u32 %r930, %r916, 16;
mul.wide.u32 %rd283, %r922, 4;
and.b64 %rd284, %rd283, 1020;
add.s64 %rd285, %rd284, %rd266;
ld.shared.u32 %r931, [%rd285+1024];
ld.shared.u32 %r932, [%rd273];
xor.b32 %r933, %r931, %r932;
shr.u32 %r934, %r917, 16;
mul.wide.u32 %rd286, %r919, 4;
and.b64 %rd287, %rd286, 1020;
add.s64 %rd288, %rd287, %rd266;
ld.shared.u32 %r935, [%rd288+1024];
ld.shared.u32 %r936, [%rd276];
xor.b32 %r937, %r935, %r936;
shr.u32 %r938, %r914, 16;
mul.wide.u32 %rd289, %r930, 4;
and.b64 %rd290, %rd289, 1020;
add.s64 %rd291, %rd290, %rd266;
ld.shared.u32 %r939, [%rd291+2048];
xor.b32 %r940, %r925, %r939;
shr.u32 %r941, %r916, 24;
mul.wide.u32 %rd292, %r934, 4;
and.b64 %rd293, %rd292, 1020;
add.s64 %rd294, %rd293, %rd266;
ld.shared.u32 %r942, [%rd294+2048];
xor.b32 %r943, %r929, %r942;
shr.u32 %r944, %r917, 24;
mul.wide.u32 %rd295, %r938, 4;
and.b64 %rd296, %rd295, 1020;
add.s64 %rd297, %rd296, %rd266;
ld.shared.u32 %r945, [%rd297+2048];
xor.b32 %r946, %r933, %r945;
shr.u32 %r947, %r914, 24;
mul.wide.u32 %rd298, %r926, 4;
and.b64 %rd299, %rd298, 1020;
add.s64 %rd300, %rd299, %rd266;
ld.shared.u32 %r948, [%rd300+2048];
xor.b32 %r949, %r937, %r948;
shr.u32 %r950, %r915, 24;
mul.wide.u32 %rd301, %r944, 4;
add.s64 %rd302, %rd301, %rd266;
ld.shared.u32 %r951, [%rd302+3072];
mul.wide.u32 %rd303, %r947, 4;
add.s64 %rd304, %rd303, %rd266;
ld.shared.u32 %r952, [%rd304+3072];
mul.wide.u32 %rd305, %r950, 4;
add.s64 %rd306, %rd305, %rd266;
ld.shared.u32 %r953, [%rd306+3072];
mul.wide.u32 %rd307, %r941, 4;
add.s64 %rd308, %rd307, %rd266;
ld.shared.u32 %r954, [%rd308+3072];
xor.b32 %r955, %r949, %r954;
xor.b32 %r956, %r946, %r953;
xor.b32 %r957, %r943, %r952;
xor.b32 %r958, %r940, %r951;
ld.global.v4.u32 {%r959, %r960, %r961, %r962}, [%rd264+16];
ld.local.v4.u32 {%r967, %r968, %r969, %r970}, [%rd262];
mul.wide.u32 %rd309, %r967, 4;
and.b64 %rd310, %rd309, 1020;
add.s64 %rd311, %rd266, %rd310;
shr.u32 %r972, %r967, 8;
mul.wide.u32 %rd312, %r968, 4;
and.b64 %rd313, %rd312, 1020;
add.s64 %rd314, %rd266, %rd313;
shr.u32 %r974, %r968, 8;
mul.wide.u32 %rd315, %r969, 4;
and.b64 %rd316, %rd315, 1020;
add.s64 %rd317, %rd266, %rd316;
shr.u32 %r976, %r969, 8;
mul.wide.u32 %rd318, %r970, 4;
and.b64 %rd319, %rd318, 1020;
add.s64 %rd320, %rd266, %rd319;
shr.u32 %r978, %r970, 8;
mul.wide.u32 %rd321, %r974, 4;
and.b64 %rd322, %rd321, 1020;
add.s64 %rd323, %rd322, %rd266;
ld.shared.u32 %r979, [%rd323+1024];
ld.shared.u32 %r980, [%rd311];
xor.b32 %r981, %r979, %r980;
shr.u32 %r982, %r968, 16;
mul.wide.u32 %rd324, %r976, 4;
and.b64 %rd325, %rd324, 1020;
add.s64 %rd326, %rd325, %rd266;
ld.shared.u32 %r983, [%rd326+1024];
ld.shared.u32 %r984, [%rd314];
xor.b32 %r985, %r983, %r984;
shr.u32 %r986, %r969, 16;
mul.wide.u32 %rd327, %r978, 4;
and.b64 %rd328, %rd327, 1020;
add.s64 %rd329, %rd328, %rd266;
ld.shared.u32 %r987, [%rd329+1024];
ld.shared.u32 %r988, [%rd317];
xor.b32 %r989, %r987, %r988;
shr.u32 %r990, %r970, 16;
mul.wide.u32 %rd330, %r972, 4;
and.b64 %rd331, %rd330, 1020;
add.s64 %rd332, %rd331, %rd266;
ld.shared.u32 %r991, [%rd332+1024];
ld.shared.u32 %r992, [%rd320];
xor.b32 %r993, %r991, %r992;
shr.u32 %r994, %r967, 16;
mul.wide.u32 %rd333, %r986, 4;
and.b64 %rd334, %rd333, 1020;
add.s64 %rd335, %rd334, %rd266;
ld.shared.u32 %r995, [%rd335+2048];
xor.b32 %r996, %r981, %r995;
shr.u32 %r997, %r969, 24;
mul.wide.u32 %rd336, %r990, 4;
and.b64 %rd337, %rd336, 1020;
add.s64 %rd338, %rd337, %rd266;
ld.shared.u32 %r998, [%rd338+2048];
xor.b32 %r999, %r985, %r998;
shr.u32 %r1000, %r970, 24;
mul.wide.u32 %rd339, %r994, 4;
and.b64 %rd340, %rd339, 1020;
add.s64 %rd341, %rd340, %rd266;
ld.shared.u32 %r1001, [%rd341+2048];
xor.b32 %r1002, %r989, %r1001;
shr.u32 %r1003, %r967, 24;
mul.wide.u32 %rd342, %r982, 4;
and.b64 %rd343, %rd342, 1020;
add.s64 %rd344, %rd343, %rd266;
ld.shared.u32 %r1004, [%rd344+2048];
xor.b32 %r1005, %r993, %r1004;
shr.u32 %r1006, %r968, 24;
mul.wide.u32 %rd345, %r1000, 4;
add.s64 %rd346, %rd345, %rd266;
ld.shared.u32 %r1007, [%rd346+3072];
mul.wide.u32 %rd347, %r1003, 4;
add.s64 %rd348, %rd347, %rd266;
ld.shared.u32 %r1008, [%rd348+3072];
mul.wide.u32 %rd349, %r1006, 4;
add.s64 %rd350, %rd349, %rd266;
ld.shared.u32 %r1009, [%rd350+3072];
mul.wide.u32 %rd351, %r997, 4;
add.s64 %rd352, %rd351, %rd266;
ld.shared.u32 %r1010, [%rd352+3072];
xor.b32 %r1011, %r1005, %r1010;
xor.b32 %r1012, %r1002, %r1009;
xor.b32 %r1013, %r999, %r1008;
xor.b32 %r1014, %r996, %r1007;
ld.global.v4.u32 {%r1015, %r1016, %r1017, %r1018}, [%rd264+32];
xor.b32 %r1023, %r958, %r959;
mul.wide.u32 %rd353, %r1023, 4;
and.b64 %rd354, %rd353, 1020;
add.s64 %rd355, %rd266, %rd354;
shr.u32 %r1024, %r1023, 8;
xor.b32 %r1025, %r957, %r960;
mul.wide.u32 %rd356, %r1025, 4;
and.b64 %rd357, %rd356, 1020;
add.s64 %rd358, %rd266, %rd357;
shr.u32 %r1026, %r1025, 8;
xor.b32 %r1027, %r956, %r961;
mul.wide.u32 %rd359, %r1027, 4;
and.b64 %rd360, %rd359, 1020;
add.s64 %rd361, %rd266, %rd360;
shr.u32 %r1028, %r1027, 8;
xor.b32 %r1029, %r955, %r962;
mul.wide.u32 %rd362, %r1029, 4;
and.b64 %rd363, %rd362, 1020;
add.s64 %rd364, %rd266, %rd363;
shr.u32 %r1030, %r1029, 8;
mul.wide.u32 %rd365, %r1026, 4;
and.b64 %rd366, %rd365, 1020;
add.s64 %rd367, %rd366, %rd266;
ld.shared.u32 %r1031, [%rd367+1024];
ld.shared.u32 %r1032, [%rd355];
xor.b32 %r1033, %r1031, %r1032;
shr.u32 %r1034, %r1025, 16;
mul.wide.u32 %rd368, %r1028, 4;
and.b64 %rd369, %rd368, 1020;
add.s64 %rd370, %rd369, %rd266;
ld.shared.u32 %r1035, [%rd370+1024];
ld.shared.u32 %r1036, [%rd358];
xor.b32 %r1037, %r1035, %r1036;
shr.u32 %r1038, %r1027, 16;
mul.wide.u32 %rd371, %r1030, 4;
and.b64 %rd372, %rd371, 1020;
add.s64 %rd373, %rd372, %rd266;
ld.shared.u32 %r1039, [%rd373+1024];
ld.shared.u32 %r1040, [%rd361];
xor.b32 %r1041, %r1039, %r1040;
shr.u32 %r1042, %r1029, 16;
mul.wide.u32 %rd374, %r1024, 4;
and.b64 %rd375, %rd374, 1020;
add.s64 %rd376, %rd375, %rd266;
ld.shared.u32 %r1043, [%rd376+1024];
ld.shared.u32 %r1044, [%rd364];
xor.b32 %r1045, %r1043, %r1044;
shr.u32 %r1046, %r1023, 16;
mul.wide.u32 %rd377, %r1038, 4;
and.b64 %rd378, %rd377, 1020;
add.s64 %rd379, %rd378, %rd266;
ld.shared.u32 %r1047, [%rd379+2048];
xor.b32 %r1048, %r1033, %r1047;
shr.u32 %r1049, %r1027, 24;
mul.wide.u32 %rd380, %r1042, 4;
and.b64 %rd381, %rd380, 1020;
add.s64 %rd382, %rd381, %rd266;
ld.shared.u32 %r1050, [%rd382+2048];
xor.b32 %r1051, %r1037, %r1050;
shr.u32 %r1052, %r1029, 24;
mul.wide.u32 %rd383, %r1046, 4;
and.b64 %rd384, %rd383, 1020;
add.s64 %rd385, %rd384, %rd266;
ld.shared.u32 %r1053, [%rd385+2048];
xor.b32 %r1054, %r1041, %r1053;
shr.u32 %r1055, %r1023, 24;
mul.wide.u32 %rd386, %r1034, 4;
and.b64 %rd387, %rd386, 1020;
add.s64 %rd388, %rd387, %rd266;
ld.shared.u32 %r1056, [%rd388+2048];
xor.b32 %r1057, %r1045, %r1056;
shr.u32 %r1058, %r1025, 24;
mul.wide.u32 %rd389, %r1052, 4;
add.s64 %rd390, %rd389, %rd266;
ld.shared.u32 %r1059, [%rd390+3072];
mul.wide.u32 %rd391, %r1055, 4;
add.s64 %rd392, %rd391, %rd266;
ld.shared.u32 %r1060, [%rd392+3072];
mul.wide.u32 %rd393, %r1058, 4;
add.s64 %rd394, %rd393, %rd266;
ld.shared.u32 %r1061, [%rd394+3072];
mul.wide.u32 %rd395, %r1049, 4;
add.s64 %rd396, %rd395, %rd266;
ld.shared.u32 %r1062, [%rd396+3072];
xor.b32 %r1063, %r1057, %r1062;
xor.b32 %r1064, %r1051, %r1060;
xor.b32 %r1065, %r1048, %r1059;
xor.b32 %r1066, %r1054, %r1061;
ld.global.v4.u32 {%r1067, %r1068, %r1069, %r1070}, [%rd264+48];
xor.b32 %r1075, %r1066, %r1069;
xor.b32 %r1076, %r1065, %r1067;
xor.b32 %r1077, %r1014, %r1015;
mul.wide.u32 %rd397, %r1077, 4;
and.b64 %rd398, %rd397, 1020;
add.s64 %rd399, %rd266, %rd398;
shr.u32 %r1078, %r1077, 8;
xor.b32 %r1079, %r1013, %r1016;
mul.wide.u32 %rd400, %r1079, 4;
and.b64 %rd401, %rd400, 1020;
add.s64 %rd402, %rd266, %rd401;
shr.u32 %r1080, %r1079, 8;
xor.b32 %r1081, %r1012, %r1017;
mul.wide.u32 %rd403, %r1081, 4;
and.b64 %rd404, %rd403, 1020;
add.s64 %rd405, %rd266, %rd404;
shr.u32 %r1082, %r1081, 8;
xor.b32 %r1083, %r1011, %r1018;
mul.wide.u32 %rd406, %r1083, 4;
and.b64 %rd407, %rd406, 1020;
add.s64 %rd408, %rd266, %rd407;
shr.u32 %r1084, %r1083, 8;
mul.wide.u32 %rd409, %r1080, 4;
and.b64 %rd410, %rd409, 1020;
add.s64 %rd411, %rd410, %rd266;
ld.shared.u32 %r1085, [%rd411+1024];
ld.shared.u32 %r1086, [%rd399];
xor.b32 %r1087, %r1085, %r1086;
shr.u32 %r1088, %r1079, 16;
mul.wide.u32 %rd412, %r1082, 4;
and.b64 %rd413, %rd412, 1020;
add.s64 %rd414, %rd413, %rd266;
ld.shared.u32 %r1089, [%rd414+1024];
ld.shared.u32 %r1090, [%rd402];
xor.b32 %r1091, %r1089, %r1090;
shr.u32 %r1092, %r1081, 16;
mul.wide.u32 %rd415, %r1084, 4;
and.b64 %rd416, %rd415, 1020;
add.s64 %rd417, %rd416, %rd266;
ld.shared.u32 %r1093, [%rd417+1024];
ld.shared.u32 %r1094, [%rd405];
xor.b32 %r1095, %r1093, %r1094;
shr.u32 %r1096, %r1083, 16;
mul.wide.u32 %rd418, %r1078, 4;
and.b64 %rd419, %rd418, 1020;
add.s64 %rd420, %rd419, %rd266;
ld.shared.u32 %r1097, [%rd420+1024];
ld.shared.u32 %r1098, [%rd408];
xor.b32 %r1099, %r1097, %r1098;
shr.u32 %r1100, %r1077, 16;
mul.wide.u32 %rd421, %r1092, 4;
and.b64 %rd422, %rd421, 1020;
add.s64 %rd423, %rd422, %rd266;
ld.shared.u32 %r1101, [%rd423+2048];
xor.b32 %r1102, %r1087, %r1101;
shr.u32 %r1103, %r1081, 24;
mul.wide.u32 %rd424, %r1096, 4;
and.b64 %rd425, %rd424, 1020;
add.s64 %rd426, %rd425, %rd266;
ld.shared.u32 %r1104, [%rd426+2048];
xor.b32 %r1105, %r1091, %r1104;
shr.u32 %r1106, %r1083, 24;
mul.wide.u32 %rd427, %r1100, 4;
and.b64 %rd428, %rd427, 1020;
add.s64 %rd429, %rd428, %rd266;
ld.shared.u32 %r1107, [%rd429+2048];
xor.b32 %r1108, %r1095, %r1107;
shr.u32 %r1109, %r1077, 24;
mul.wide.u32 %rd430, %r1088, 4;
and.b64 %rd431, %rd430, 1020;
add.s64 %rd432, %rd431, %rd266;
ld.shared.u32 %r1110, [%rd432+2048];
xor.b32 %r1111, %r1099, %r1110;
shr.u32 %r1112, %r1079, 24;
mul.wide.u32 %rd433, %r1106, 4;
add.s64 %rd434, %rd433, %rd266;
ld.shared.u32 %r1113, [%rd434+3072];
mul.wide.u32 %rd435, %r1109, 4;
add.s64 %rd436, %rd435, %rd266;
ld.shared.u32 %r1114, [%rd436+3072];
mul.wide.u32 %rd437, %r1112, 4;
add.s64 %rd438, %rd437, %rd266;
ld.shared.u32 %r1115, [%rd438+3072];
mul.wide.u32 %rd439, %r1103, 4;
add.s64 %rd440, %rd439, %rd266;
ld.shared.u32 %r1116, [%rd440+3072];
xor.b32 %r1117, %r1102, %r1113;
xor.b32 %r1118, %r1105, %r1114;
xor.b32 %r1119, %r1111, %r1116;
xor.b32 %r1120, %r1108, %r1115;
ld.global.v4.u32 {%r1121, %r1122, %r1123, %r1124}, [%rd264+64];
xor.b32 %r1129, %r1120, %r1123;
xor.b32 %r1130, %r1119, %r1124;
xor.b32 %r1131, %r1118, %r1122;
xor.b32 %r1132, %r1117, %r1121;
xor.b32 %r1133, %r1064, %r1068;
xor.b32 %r1134, %r1063, %r1070;
xor.b32 %r1135, %r1132, %r6731;
xor.b32 %r1136, %r1131, %r6733;
xor.b32 %r1137, %r1133, %r6732;
xor.b32 %r1138, %r1076, %r6730;
xor.b32 %r6733, %r1130, %r1136;
xor.b32 %r6731, %r1129, %r1135;
xor.b32 %r6730, %r1075, %r1138;
xor.b32 %r6732, %r1134, %r1137;
mov.u64 %rd6096, %rd23;
BB0_23:
add.s64 %rd6095, %rd6095, 16;
add.s64 %rd26, %rd6094, -1;
setp.ne.s64 %p15, %rd6094, 0;
mov.u64 %rd6094, %rd26;
@%p15 bra BB0_16;
cvt.u64.u16 %rd6074, %rs236;
add.s64 %rd6073, %rd6074, %rd3;
shl.b64 %rd6072, %rd6073, 4;
add.s64 %rd6071, %rd203, %rd6072;
mov.b64 %rd665, {%r6732, %r6733};
mov.b64 %rd666, {%r6730, %r6731};
cvt.u32.u64 %r1241, %rd666;
cvt.s32.s16 %r1242, %r1241;
mov.b64 %rd667, {%r6723, %r6724};
mov.b64 %rd668, {%r6721, %r6722};
cvt.u32.u64 %r1243, %rd668;
cvt.s32.s16 %r1244, %r1243;
mad.lo.s32 %r1245, %r1242, %r1244, 16384;
bfe.u32 %r1246, %r1245, 15, 16;
shr.s32 %r1247, %r1241, 16;
shr.s32 %r1248, %r1243, 16;