1238:         /*0000*/                   IMAD.MOV.U32 R1, RZ, RZ, c[0x0][0x28] ;
1240:         /*0010*/                   S2R R3, SR_CTAID.X ;
1242:         /*0020*/                   UMOV UR10, 0x4a00 ;
1244:         /*0030*/                   ULDC.64 UR4, c[0x0][0x190] ;
1246:         /*0040*/                   UIMAD.WIDE.U32 UR6, UR10, UR4, URZ ;
1248:         /*0050*/                   UIMAD UR10, UR10, UR5, URZ ;
1250:         /*0060*/                   UIADD3 UR10, UR7, UR10, URZ ;
1252:         /*0070*/                   IMAD.U32 R0, RZ, RZ, UR10 ;
1254:         /*0080*/                   ISETP.LT.U32.AND P0, PT, R3, UR6, PT ;
1256:         /*0090*/                   ISETP.GT.U32.AND.EX P0, PT, R0, RZ, PT, P0 ;
1258:         /*00a0*/              @!P0 EXIT ;
1260:         /*00b0*/                   S2R R12, SR_TID.X ;
1262:         /*00c0*/                   IADD3 R9, P0, RZ, c[0x0][0x180], RZ ;
1264:         /*00d0*/                   IMAD.MOV.U32 R4, RZ, RZ, c[0x0][0x178] ;
1266:         /*00e0*/                   ULDC UR11, c[0x0][0xc] ;
1268:         /*00f0*/                   IMAD.MOV.U32 R2, RZ, RZ, 0x1fffffff ;
1270:         /*0100*/                   LOP3.LUT R9, R9, 0xfffffffe, RZ, 0xc0, !PT ;
1272:         /*0110*/                   IMAD.MOV.U32 R8, RZ, RZ, RZ ;
1274:         /*0120*/                   LOP3.LUT R4, R4, 0xfffffffe, RZ, 0xc0, !PT ;
1276:         /*0130*/                   IMAD.X R13, RZ, RZ, c[0x0][0x184], P0 ;
1278:         /*0140*/                   LOP3.LUT R15, R2.reuse, c[0x0][0x18c], RZ, 0xc0, !PT ;
1280:         /*0150*/                   IMAD.SHL.U32 R6, R3.reuse, 0x2, RZ ;
1282:         /*0160*/                   LOP3.LUT R2, R2, c[0x0][0x17c], RZ, 0xc0, !PT ;
1284:         /*0170*/                   UMOV UR4, URZ ;
1286:         /*0180*/                   SHF.L.U64.HI R7, R3, 0x1, R8 ;
1288:         /*0190*/                   UMOV UR5, URZ ;
1290:         /*01a0*/                   LOP3.LUT R13, R13, 0x1fffffff, RZ, 0xc0, !PT ;
1292:         /*01b0*/                   ULDC.64 UR12, c[0x0][0x118] ;
1294:         /*01c0*/                   IADD3 R4, P0, R4, c[0x0][0x160], RZ ;
1296:         /*01d0*/                   IADD3 R9, P1, P2, R6, c[0x0][0x160], R9 ;
1298:         /*01e0*/                   IADD3 R0, P3, P4, RZ, c[0x0][0x188], R6.reuse ;
1300:         /*01f0*/                   IADD3.X R5, R2, c[0x0][0x164], RZ, P0, !PT ;
1302:         /*0200*/                   SHF.L.U32 R11, R12.reuse, 0x2, RZ ;
1304:         /*0210*/                   IADD3.X R10, R7, c[0x0][0x164], R13, P1, P2 ;
1306:         /*0220*/                   IADD3.X R14, RZ, R15, R7.reuse, P3, P4 ;
1308:         /*0230*/                   IMAD.WIDE.U32 R6, R11, 0x9400, R6 ;
1310:         /*0240*/                   LOP3.LUT P3, R13, R12, 0x1f, RZ, 0xc0, !PT ;
1312:         /*0250*/                   ISETP.NE.U32.AND P4, PT, R12, RZ, PT ;
1314:         /*0260*/                   IMAD.WIDE.U32 R4, R11, 0x2, R4 ;
1316:         /*0270*/                   SHF.R.U32.HI R12, RZ, 0x5, R12 ;
1318:         /*0280*/                   IADD3 R6, P1, R6, c[0x0][0x168], RZ ;
1320:         /*0290*/                   IADD3 R11, P0, R0, c[0x0][0x170], RZ ;
1322:         /*02a0*/                   IMAD.SHL.U32 R12, R12, 0x4, RZ ;
1324:         /*02b0*/                   ISETP.GT.U32.AND P5, PT, R13.reuse, 0x1b, PT ;
1326:         /*02c0*/                   IMAD.SHL.U32 R13, R13, 0x4, RZ ;
1328:         /*02d0*/                   IADD3.X R7, R7, c[0x0][0x16c], RZ, P1, !PT ;
1330:         /*02e0*/                   IADD3.X R14, R14, c[0x0][0x174], RZ, P0, !PT ;
1332:         /*02f0*/                   IMAD.WIDE.U32 R16, R8, 0xdd67c8b, RZ ;
1334:         /*0300*/                   BAR.SYNC.DEFER_BLOCKING 0x0 ;
1336:         /*0310*/                   IMAD.WIDE.U32 R18, P0, R3, -0x2298375a, R16 ;
1338:         /*0320*/                   IMAD.WIDE.U32 R16, R3, 0xdd67c8b, RZ ;
1340:         /*0330*/                   IMAD.X R21, RZ, RZ, RZ, P0 ;
1342:         /*0340*/                   IADD3 RZ, P0, R17, R18, RZ ;
1344:         /*0350*/                   IMAD.MOV.U32 R20, RZ, RZ, R19 ;
1346:         /*0360*/                   IMAD.WIDE.U32.X R16, R8, -0x2298375a, R20, P0 ;
1348:         /*0370*/                   SHF.R.U32.HI R0, RZ, 0xe, R17.reuse ;
1350:         /*0380*/                   SHF.R.U64 R15, R16, 0xe, R17 ;
1352:         /*0390*/                   IMAD R21, R0, 0x1c00, RZ ;
1354:         /*03a0*/                   IMAD.WIDE.U32 R18, R15, -0x9400, R6 ;
1356:         /*03b0*/                   IMAD R0, R0, -0x9400, RZ ;
1358:         /*03c0*/                   IADD3 R18, P0, R18, UR4, RZ ;
1360:         /*03d0*/                   IMAD.WIDE.U32 R16, R15, 0x1c00, R4 ;
1362:         /*03e0*/                   IADD3 R0, R19, -R15, R0 ;
1364:         /*03f0*/                   IMAD.IADD R17, R17, 0x1, R21 ;
1366:         /*0400*/                   IADD3.X R19, R0, UR5, RZ, P0, !PT ;
1368:         /*0410*/                   LDG.E.U16.CONSTANT R0, [R16.64+0x4] ;
1370:         /*0420*/                   LDG.E.U16.CONSTANT R15, [R16.64+0x6] ;
1372:         /*0430*/                   LDG.E.U16.CONSTANT R24, [R18.64+0x1bc00] ;
1374:         /*0440*/                   LDG.E.U16.CONSTANT R2, [R16.64] ;
1376:         /*0450*/                   LDG.E.U16.CONSTANT R21, [R16.64+0x2] ;
1378:         /*0460*/                   LDG.E.U16.CONSTANT R23, [R18.64+0x12800] ;
1380:         /*0470*/                   LDG.E.U16.CONSTANT R22, [R18.64+0x9400] ;
1382:         /*0480*/                   LDG.E.U16.CONSTANT R20, [R18.64] ;
1384:         /*0490*/                   BSSY B0, 0xa50 ;
1386:         /*04a0*/                   LEA R15, R15, R0, 0x10 ;
1388:         /*04b0*/                   HADD2.F32 R25, -RZ, R24.H0_H0 ;
1390:         /*04c0*/                   HADD2.F32 R0, -RZ, R15.reuse.H1_H1 ;
1392:         /*04d0*/                   HADD2.F32 R15, -RZ, R15.H0_H0 ;
1394:         /*04e0*/                   FFMA R26, R0, R25, RZ ;
1396:         /*04f0*/                   IMAD R2, R21, 0x10000, R2 ;
1398:         /*0500*/                   HADD2.F32 R24, -RZ, R23.H0_H0 ;
1400:         /*0510*/                   HADD2.F32 R0, -RZ, R2.H1_H1 ;
1402:         /*0520*/                   HADD2.F32 R17, -RZ, R22.H0_H0 ;
1404:         /*0530*/                   FFMA R21, R15, R24, R26 ;
1406:         /*0540*/                   HADD2.F32 R2, -RZ, R2.H0_H0 ;
1408:         /*0550*/                   HADD2.F32 R15, -RZ, R20.H0_H0 ;
1410:         /*0560*/                   FFMA R17, R0, R17, R21 ;
1412:         /*0570*/                   FFMA R2, R2, R15, R17 ;
1414:         /*0580*/                   FADD R2, RZ, R2 ;
1416:         /*0590*/                   SHFL.BFLY PT, R15, R2, 0x1, 0x1f ;
1418:         /*05a0*/                   FADD R15, R2, R15 ;
1420:         /*05b0*/                   SHFL.BFLY PT, R0, R15, 0x2, 0x1f ;
1422:         /*05c0*/                   FADD R16, R15, R0 ;
1424:         /*05d0*/                   SHFL.BFLY PT, R17, R16, 0x4, 0x1f ;
1426:         /*05e0*/                   FADD R17, R16, R17 ;
1428:         /*05f0*/                   SHFL.BFLY PT, R0, R17, 0x8, 0x1f ;
1430:         /*0600*/                   FADD R18, R17, R0 ;
1432:         /*0610*/                   IMAD.MOV.U32 R0, RZ, RZ, RZ ;
1434:         /*0620*/                   SHFL.BFLY PT, R19, R18, 0x10, 0x1f ;
1436:         /*0630*/              @!P3 FADD R19, R18, R19 ;
1438:         /*0640*/              @!P3 STS [R12], R19 ;
1440:         /*0650*/                   BAR.SYNC.DEFER_BLOCKING 0x0 ;
1442:         /*0660*/              @!P5 LDS R0, [R13] ;
1444:         /*0670*/                   FADD R0, RZ, R0 ;
1446:         /*0680*/                   SHFL.BFLY PT, R15, R0, 0x1, 0x1f ;
1448:         /*0690*/                   FADD R15, R0, R15 ;
1450:         /*06a0*/                   SHFL.BFLY PT, R2, R15, 0x2, 0x1f ;
1452:         /*06b0*/                   FADD R2, R15, R2 ;
1454:         /*06c0*/                   SHFL.BFLY PT, R17, R2, 0x4, 0x1f ;
1456:         /*06d0*/                   FADD R17, R2, R17 ;
1458:         /*06e0*/                   SHFL.BFLY PT, R16, R17, 0x8, 0x1f ;
1460:         /*06f0*/                   FADD R16, R17, R16 ;
1462:         /*0700*/                   SHFL.BFLY PT, R21, R16, 0x10, 0x1f ;
1464:         /*0710*/               @P4 BRA 0xa40 ;
1466:         /*0720*/                   FADD R16, R16, R21 ;
1468:         /*0730*/                   IADD3 R18, P0, R9, UR4, RZ ;
1470:         /*0740*/                   F2FP.F16.F32.PACK_AB R16, RZ, R16 ;
1472:         /*0750*/                   IMAD.MOV.U32 R17, RZ, RZ, 0x3fb8aa3b ;
1474:         /*0760*/                   IADD3.X R19, R10, UR5, RZ, P0, !PT ;
1476:         /*0770*/                   HADD2.F32 R0, -RZ, -R16.H0_H0 ;
1478:         /*0780*/                   LDG.E.U16.CONSTANT R15, [R18.64] ;
1480:         /*0790*/                   BSSY B1, 0x9e0 ;
1482:         /*07a0*/                   FMNMX.NAN R0, R0, -87.8000030517578125, !PT ;
1484:         /*07b0*/                   FMNMX.NAN R0, R0, 88.8000030517578125, PT ;
1486:         /*07c0*/                   IMAD.MOV.U32 R19, RZ, RZ, 0x39506967 ;
1488:         /*07d0*/                   FFMA R2, R0, R17, 0.5 ;
1490:         /*07e0*/                   FRND.FLOOR R2, R2 ;
1492:         /*07f0*/                   FMNMX.NAN R17, R2, -127, !PT ;
1494:         /*0800*/                   FMNMX.NAN R17, R17, 127, PT ;
1496:         /*0810*/                   FFMA R0, R17, -0.693359375, R0 ;
1498:         /*0820*/                   FFMA R0, R17, 0.00021219444170128554106, R0 ;
1500:         /*0830*/                   F2I.TRUNC.NTZ R17, R17 ;
1502:         /*0840*/                   FFMA R19, R0.reuse, R19, 0.0013981999363750219345 ;
1504:         /*0850*/                   FMUL R2, R0, R0 ;
1506:         /*0860*/                   FFMA R19, R0, R19, 0.0083334520459175109863 ;
1508:         /*0870*/                   FFMA R19, R0, R19, 0.041665796190500259399 ;
1510:         /*0880*/                   FFMA R19, R0, R19, 0.1666666567325592041 ;
1512:         /*0890*/                   FFMA R19, R0, R19, 0.5 ;
1514:         /*08a0*/                   FFMA R2, R19, R2, R0 ;
1516:         /*08b0*/                   LEA R19, R17, 0x3f800000, 0x17 ;
1518:         /*08c0*/                   FADD R2, R2, 1 ;
1520:         /*08d0*/                   FMUL R2, R2, R19 ;
1522:         /*08e0*/                   F2FP.F16.F32.PACK_AB R2, RZ, R2 ;
1524:         /*08f0*/                   HADD2 R2, R2.H0_H0, 1, 1 ;
1526:         /*0900*/                   HADD2.F32 R19, -RZ, R2.H0_H0 ;
1528:         /*0910*/                   IADD3 R0, R19, 0x1800000, RZ ;
1530:         /*0920*/                   LOP3.LUT R0, R0, 0x7f800000, RZ, 0xc0, !PT ;
1532:         /*0930*/                   ISETP.GT.U32.AND P0, PT, R0, 0x1ffffff, PT ;
1534:         /*0940*/               @P0 BRA 0x990 ;
1536:         /*0950*/                   MOV R21, 0x970 ;
1538:         /*0960*/                   CALL.REL.NOINC 0xaf0 ;
1540:         /*0970*/                   IMAD.MOV.U32 R0, RZ, RZ, R17 ;
1542:         /*0980*/                   BRA 0x9d0 ;
1544:         /*0990*/                   MUFU.RCP R0, R19 ;
1546:         /*09a0*/                   FFMA R2, R19, R0, -1 ;
1548:         /*09b0*/                   FADD.FTZ R17, -R2, -RZ ;
1550:         /*09c0*/                   FFMA R0, R0, R17, R0 ;
1552:         /*09d0*/                   BSYNC B1 ;
1554:         /*09e0*/                   F2FP.F16.F32.PACK_AB R0, RZ, R0 ;
1556:         /*09f0*/                   HMUL2 R0, R0.H0_H0, R16.H0_H0 ;
1558:         /*0a00*/                   IADD3 R16, P0, R11, UR4, RZ ;
1560:         /*0a10*/                   HMUL2 R0, R0.H0_H0, R15.H0_H0 ;
1562:         /*0a20*/                   IADD3.X R17, R14, UR5, RZ, P0, !PT ;
1564:         /*0a30*/                   STG.E.U16 [R16.64], R0 ;
1566:         /*0a40*/                   BSYNC B0 ;
1568:         /*0a50*/                   IADD3 R3, P0, R3, c[0x0][0xc], RZ ;
1570:         /*0a60*/                   ULEA UR8, UP0, UR11, UR4, 0x1 ;
1572:         /*0a70*/                   IADD3.X R8, RZ, R8, RZ, P0, !PT ;
1574:         /*0a80*/                   ULEA.HI.X UR9, UR11, UR5, URZ, 0x1, UP0 ;
1576:         /*0a90*/                   ISETP.GE.U32.AND P0, PT, R3, UR6, PT ;
1578:         /*0aa0*/                   ISETP.GE.AND.EX P0, PT, R8, UR10, PT, P0 ;
1580:         /*0ab0*/               @P0 EXIT ;
1582:         /*0ac0*/                   UMOV UR4, UR8 ;
1584:         /*0ad0*/                   UMOV UR5, UR9 ;
1586:         /*0ae0*/                   BRA 0x2f0 ;
1588:         /*0af0*/                   IMAD.SHL.U32 R0, R19, 0x2, RZ ;
1590:         /*0b00*/                   BSSY B2, 0xe20 ;
1592:         /*0b10*/                   SHF.R.U32.HI R22, RZ, 0x18, R0 ;
1594:         /*0b20*/                   IMAD.MOV.U32 R0, RZ, RZ, R19 ;
1596:         /*0b30*/                   ISETP.NE.U32.AND P0, PT, R22, RZ, PT ;
1598:         /*0b40*/               @P0 BRA 0xbf0 ;
1600:         /*0b50*/                   IMAD.SHL.U32 R2, R0, 0x2, RZ ;
1602:         /*0b60*/                   ISETP.NE.AND P0, PT, R2, RZ, PT ;
1604:         /*0b70*/               @P0 FFMA R18, R0, 1.84467440737095516160e+19, RZ ;
1606:         /*0b80*/              @!P0 MUFU.RCP R17, R0 ;
1608:         /*0b90*/               @P0 MUFU.RCP R19, R18 ;
1610:         /*0ba0*/               @P0 FFMA R2, R18, R19, -1 ;
1612:         /*0bb0*/               @P0 FADD.FTZ R2, -R2, -RZ ;
1614:         /*0bc0*/               @P0 FFMA R2, R19, R2, R19 ;
1616:         /*0bd0*/               @P0 FFMA R17, R2, 1.84467440737095516160e+19, RZ ;
1618:         /*0be0*/                   BRA 0xe10 ;
1620:         /*0bf0*/                   IADD3 R23, R22, -0xfd, RZ ;
1622:         /*0c00*/                   ISETP.GT.U32.AND P0, PT, R23, 0x1, PT ;
1624:         /*0c10*/               @P0 BRA 0xe00 ;
1626:         /*0c20*/                   LOP3.LUT R2, R0, 0x7fffff, RZ, 0xc0, !PT ;
1628:         /*0c30*/                   IMAD.MOV.U32 R20, RZ, RZ, 0x3 ;
1630:         /*0c40*/                   LOP3.LUT R2, R2, 0x3f800000, RZ, 0xfc, !PT ;
1632:         /*0c50*/                   SHF.L.U32 R20, R20, R23, RZ ;
1634:         /*0c60*/                   MUFU.RCP R17, R2 ;
1636:         /*0c70*/                   FFMA R18, R2, R17, -1 ;
1638:         /*0c80*/                   FADD.FTZ R18, -R18, -RZ ;
1640:         /*0c90*/                   FFMA.RM R19, R17.reuse, R18.reuse, R17.reuse ;
1642:         /*0ca0*/                   FFMA.RP R18, R17, R18, R17 ;
1644:         /*0cb0*/                   LOP3.LUT R17, R19.reuse, 0x7fffff, RZ, 0xc0, !PT ;
1646:         /*0cc0*/                   FSETP.NEU.FTZ.AND P0, PT, R19, R18, PT ;
1648:         /*0cd0*/                   LOP3.LUT R17, R17, 0x800000, RZ, 0xfc, !PT ;
1650:         /*0ce0*/                   SEL R18, RZ, 0xffffffff, !P0 ;
1652:         /*0cf0*/                   LOP3.LUT R20, R20, R17, RZ, 0xc0, !PT ;
1654:         /*0d00*/                   IMAD.MOV R18, RZ, RZ, -R18 ;
1656:         /*0d10*/                   SHF.R.U32.HI R20, RZ, R23, R20 ;
1658:         /*0d20*/                   LOP3.LUT P1, RZ, R18, R23, R17, 0xf8, !PT ;
1660:         /*0d30*/                   LOP3.LUT P0, RZ, R20.reuse, 0x1, RZ, 0xc0, !PT ;
1662:         /*0d40*/                   LOP3.LUT P2, RZ, R20, 0x2, RZ, 0xc0, !PT ;
1664:         /*0d50*/                   PLOP3.LUT P0, PT, P0, P1, P2, 0xe0, 0x0 ;
1666:         /*0d60*/                   LOP3.LUT P1, RZ, R0, 0x7fffff, RZ, 0xc0, !PT ;
1668:         /*0d70*/                   SEL R2, RZ, 0x1, !P0 ;
1670:         /*0d80*/                   IADD3 R2, -R2, RZ, RZ ;
1672:         /*0d90*/                   ISETP.GE.AND P0, PT, R2, RZ, PT ;
1674:         /*0da0*/                   IADD3 R2, R22, -0xfc, RZ ;
1676:         /*0db0*/                   SHF.R.U32.HI R17, RZ, R2, R17 ;
1678:         /*0dc0*/              @!P0 IADD3 R17, R17, 0x1, RZ ;
1680:         /*0dd0*/              @!P1 IMAD.SHL.U32 R17, R17, 0x2, RZ ;
1682:         /*0de0*/                   LOP3.LUT R17, R17, 0x80000000, R0, 0xf8, !PT ;
1684:         /*0df0*/                   BRA 0xe10 ;
1686:         /*0e00*/                   MUFU.RCP R17, R0 ;
1688:         /*0e10*/                   BSYNC B2 ;
1690:         /*0e20*/                   IMAD.MOV.U32 R18, RZ, RZ, R21 ;
1692:         /*0e30*/                   IMAD.MOV.U32 R19, RZ, RZ, 0x0 ;
1694:         /*0e40*/                   RET.REL.NODEC R18 0x0 ;
1696:         /*0e50*/                   BRA 0xe50;
1698:         /*0e60*/                   NOP;
1700:         /*0e70*/                   NOP;
1702:         /*0e80*/                   NOP;
1704:         /*0e90*/                   NOP;
1706:         /*0ea0*/                   NOP;
1708:         /*0eb0*/                   NOP;
1710:         /*0ec0*/                   NOP;
1712:         /*0ed0*/                   NOP;
1714:         /*0ee0*/                   NOP;
1716:         /*0ef0*/                   NOP;
