//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//
// Buffer Definitions: 
//
// cbuffer XeResolveConstants
// {
//
//   uint xe_resolve_edram_info;        // Offset:    0 Size:     4
//   uint xe_resolve_address_info;      // Offset:    4 Size:     4
//   uint xe_resolve_dest_info;         // Offset:    8 Size:     4
//   uint xe_resolve_dest_pitch;        // Offset:   12 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim      ID      HLSL Bind  Count
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
// xe_resolve_source                 texture    byte         r/o      T0             t0      1 
// xe_resolve_dest                       UAV   uint2         buf      U0             u0      1 
// XeResolveConstants                cbuffer      NA          NA     CB0            cb0      1 
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_1
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
dcl_resource_raw T0[0:0], space=0
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
dcl_input vThreadID.xy
dcl_temps 19
dcl_thread_group 8, 8, 1
ubfe r0.x, l(11), l(7), CB0[0][0].y
uge r0.x, vThreadID.x, r0.x
if_nz r0.x
  ret 
endif 
ishl r0.x, vThreadID.x, l(3)
and r1.xyzw, CB0[0][0].xzwx, l(0x40000000, 8, 0x00003fff, 1023)
mov r0.y, vThreadID.y
ieq r0.zw, r0.xxxy, l(0, 0, 0, 0)
movc r0.zw, r1.xxxx, r0.zzzw, l(0,0,0,0)
ushr r2.xy, CB0[0][0].yyyy, l(5, 29, 0, 0)
mov r2.z, CB0[0][0].y
bfi r3.xyzw, l(2, 2, 2, 2), l(3, 3, 3, 3), r2.zxxz, l(0, 0, 0, 0)
iadd r3.xyzw, r0.xyyx, r3.xyzw
if_nz r1.y
  ubfe r1.xy, l(3, 14, 0, 0), l(4, 16, 0, 0), CB0[0][0].zwzz
  iadd r4.xy, r1.yzyy, l(31, 31, 0, 0)
  ishr r5.xyzw, r3.zwzw, l(4, 5, 3, 3)
  ishr r1.y, r1.x, l(2)
  ushr r4.xy, r4.xyxx, l(4, 5, 0, 0)
  and r2.w, r4.x, l(2046)
  imad r2.w, r1.y, r2.w, r5.x
  imad r2.w, r2.w, r4.y, r5.y
  ishl r4.x, r3.z, l(8)
  ishr r4.x, r4.x, l(6)
  iadd r1.y, r1.y, r5.z
  bfi r4.y, l(1), l(1), r1.y, l(0)
  iadd r4.y, r4.y, r5.w
  bfi r4.y, l(2), l(1), r4.y, l(0)
  bfi r1.y, l(1), l(0), r1.y, r4.y
  and r4.xy, r4.xxxx, l(16, 8, 0, 0)
  bfi r4.zw, l(0, 0, 22, 22), l(0, 0, 8, 11), r2.wwww, l(0, 0, 0, 0)
  imad r4.xz, r4.xxxx, l(2, 0, 16, 0), r4.zzwz
  bfi r4.xy, l(5, 5, 0, 0), l(0, 3, 0, 0), r4.yyyy, r4.xzxx
  bfi r4.xy, l(2, 2, 0, 0), l(6, 9, 0, 0), r1.xxxx, r4.xyxx
  ubfe r1.x, l(3), l(6), r4.x
  and r2.w, r1.y, l(6)
  bfi r1.y, l(1), l(8), r1.y, l(0)
  imad r1.x, r1.x, l(32), r1.y
  imad r1.x, r2.w, l(4), r1.x
  bfi r4.xy, l(1, 1, 0, 0), l(4, 7, 0, 0), r3.zzzz, r4.xyxx
  bfi r1.x, l(9), l(3), r1.x, r4.y
  bfi r1.x, l(6), l(0), r4.x, r1.x
else 
  ishr r4.xyzw, r3.xyzw, l(5, 5, 2, 3)
  iadd r1.y, r1.z, l(31)
  ushr r1.y, r1.y, l(5)
  imad r1.y, r4.y, r1.y, r4.x
  ishl r3.xy, r3.zzzz, l(2, 7, 0, 0)
  ishl r1.z, r3.x, l(1)
  and r1.z, r1.z, l(96)
  bfi r2.w, l(25), l(7), r1.y, r1.z
  and r3.xy, r3.xyxx, l(8, 2048, 0, 0)
  iadd r2.w, r2.w, r3.x
  bfi r2.w, l(1), l(4), r3.z, r2.w
  ishl r4.xy, r1.zzzz, l(3, 2, 0, 0)
  bfi r1.yz, l(0, 25, 25, 0), l(0, 10, 9, 0), r1.yyyy, r4.xxyx
  imad r1.yz, r3.xxxx, l(0, 8, 4, 0), r1.yyzy
  bfi r1.yz, l(0, 1, 1, 0), l(0, 7, 6, 0), r3.zzzz, r1.yyzy
  bfi r1.y, l(12), l(0), r3.y, r1.y
  and r1.z, r1.z, l(1792)
  iadd r1.y, r1.y, r1.z
  and r1.z, r4.z, l(2)
  iadd r1.z, r4.w, r1.z
  bfi r1.z, l(2), l(6), r1.z, l(0)
  iadd r1.y, r1.y, r1.z
  bfi r1.x, l(6), l(0), r2.w, r1.y
endif 
imul null, r1.x, r1.x, l(9)
ushr r1.x, r1.x, l(3)
bfi r1.yz, l(0, 5, 2, 0), l(0, 3, 3, 0), r2.zzxz, l(0, 0, 0, 0)
iadd r0.xy, r0.xyxx, r1.yzyy
ubfe r3.xyzw, l(12, 2, 1, 4), l(13, 10, 29, 25), CB0[0][0].xxxx
uge r1.y, l(3), r2.y
if_nz r1.y
  mov r4.y, r2.y
else 
  ieq r1.y, r2.y, l(5)
  if_nz r1.y
    mov r4.y, l(2)
  else 
    mov r4.y, l(0)
  endif 
endif 
uge r1.yz, r3.yyyy, l(0, 2, 1, 0)
and r1.yz, r1.yyzy, l(0, 1, 1, 0)
ishl r0.xy, r0.xyxx, r1.yzyy
ushr r4.x, r4.y, l(1)
and r2.xz, r4.xxyx, l(1, 0, 1, 0)
iadd r0.xy, r0.xyxx, r2.xzxx
udiv r2.xz, null, r0.xxyx, l(80, 0, 16, 0)
movc r1.z, r3.z, l(1), l(0)
ishl r2.w, r2.x, r1.z
imad r1.w, r2.z, r1.w, r2.w
iadd r1.w, r1.w, r3.x
imad r0.xy, -r2.xzxx, l(80, 16, 0, 0), r0.xyxx
imad r0.x, r0.y, l(80), r0.x
ishl r0.x, r0.x, r1.z
imad r0.x, r1.w, l(1280), r0.x
imul null, r0.y, r0.x, l(36)
and r1.w, CB0[0][0].z, l(0x01000000)
ine r2.x, r1.w, l(0)
ine r2.z, r3.z, l(0)
and r2.x, r2.x, r2.z
if_nz r2.x
  imad r0.y, r0.x, l(36), l(4)
endif 
if_z r2.z
  ld_raw r4.xyzw, r0.y, T0[0].xyzw
  iadd r3.xy, r0.yyyy, l(16, 32, 0, 0)
  ld_raw r5.xyzw, r3.x, T0[0].xyzw
  ld_raw r2.w, r3.y, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r3.x, r1.w, l(16), l(0)
    ushr r6.xyzw, r4.xyzw, r3.xxxx
    and r6.xyzw, r6.xyzw, l(255, 255, 255, 255)
    utof r6.xyzw, r6.xyzw
    mul r4.xyzw, r6.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r6.xyzw, r5.xyzw, r3.xxxx
    and r6.xyzw, r6.xyzw, l(255, 255, 255, 255)
    utof r6.xyzw, r6.xyzw
    mul r5.xyzw, r6.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r3.x, r2.w, r3.x
    and r3.x, r3.x, l(255)
    utof r3.x, r3.x
    mul r2.w, r3.x, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r3.x, r1.w, l(20), l(0)
    ushr r6.xyzw, r4.xyzw, r3.xxxx
    and r6.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    utof r6.xyzw, r6.xyzw
    mul r4.xyzw, r6.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r6.xyzw, r5.xyzw, r3.xxxx
    and r6.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    utof r6.xyzw, r6.xyzw
    mul r5.xyzw, r6.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r3.x, r2.w, r3.x
    and r3.x, r3.x, l(1023)
    utof r3.x, r3.x
    mul r2.w, r3.x, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r3.x, r1.w, l(20), l(0)
    ushr r6.xyzw, r4.xyzw, r3.xxxx
    and r7.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    and r8.xyzw, r6.xyzw, l(127, 127, 127, 127)
    ubfe r9.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r6.xyzw
    firstbit_hi r10.xyzw, r8.xyzw
    iadd r10.xyzw, r10.xyzw, l(-24, -24, -24, -24)
    movc r10.xyzw, r8.xyzw, r10.xyzw, l(8,8,8,8)
    iadd r11.xyzw, -r10.xyzw, l(1, 1, 1, 1)
    movc r11.xyzw, r9.xyzw, r9.xyzw, r11.xyzw
    bfi r6.xyzw, l(7, 7, 7, 7), r10.xyzw, r6.xyzw, l(0, 0, 0, 0)
    and r6.xyzw, r6.xyzw, l(127, 127, 127, 127)
    movc r6.xyzw, r9.xyzw, r8.xyzw, r6.xyzw
    ishl r8.xyzw, r11.xyzw, l(23, 23, 23, 23)
    iadd r8.xyzw, r8.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
    iadd r6.xyzw, r8.xyzw, r6.xyzw
    movc r4.xyzw, r7.xyzw, r6.xyzw, l(0,0,0,0)
    ushr r6.xyzw, r5.xyzw, r3.xxxx
    and r7.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    and r8.xyzw, r6.xyzw, l(127, 127, 127, 127)
    ubfe r9.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r6.xyzw
    firstbit_hi r10.xyzw, r8.xyzw
    iadd r10.xyzw, r10.xyzw, l(-24, -24, -24, -24)
    movc r10.xyzw, r8.xyzw, r10.xyzw, l(8,8,8,8)
    iadd r11.xyzw, -r10.xyzw, l(1, 1, 1, 1)
    movc r11.xyzw, r9.xyzw, r9.xyzw, r11.xyzw
    bfi r6.xyzw, l(7, 7, 7, 7), r10.xyzw, r6.xyzw, l(0, 0, 0, 0)
    and r6.xyzw, r6.xyzw, l(127, 127, 127, 127)
    movc r6.xyzw, r9.xyzw, r8.xyzw, r6.xyzw
    ishl r8.xyzw, r11.xyzw, l(23, 23, 23, 23)
    iadd r8.xyzw, r8.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
    iadd r6.xyzw, r8.xyzw, r6.xyzw
    movc r5.xyzw, r7.xyzw, r6.xyzw, l(0,0,0,0)
    ushr r3.x, r2.w, r3.x
    and r6.xy, r3.xxxx, l(1023, 127, 0, 0)
    ubfe r3.y, l(3), l(7), r3.x
    firstbit_hi r6.z, r6.y
    iadd r6.z, r6.z, l(-24)
    movc r6.z, r6.y, r6.z, l(8)
    iadd r6.w, -r6.z, l(1)
    movc r6.w, r3.y, r3.y, r6.w
    bfi r3.x, l(7), r6.z, r3.x, l(0)
    and r3.x, r3.x, l(127)
    movc r3.x, r3.y, r6.y, r3.x
    ishl r3.y, r6.w, l(23)
    iadd r3.y, r3.y, l(0x3e000000)
    ishl r3.x, r3.x, l(16)
    iadd r3.x, r3.y, r3.x
    movc r2.w, r6.x, r3.x, l(0)
    break 
    case l(4)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r3.x, l(16), l(0), r2.w
    itof r3.x, r3.x
    mul r3.x, r3.x, l(0.000977)
    max r2.w, r3.x, l(-1.000000)
    break 
    case l(6)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r2.w, r2.w
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r4.x, r0.y, T0[0].xxxx
  iadd r6.xyzw, r0.yyyy, l(8, 16, 24, 32)
  ld_raw r4.y, r6.x, T0[0].xxxx
  ld_raw r4.z, r6.y, T0[0].xxxx
  ld_raw r4.w, r6.z, T0[0].xxxx
  ld_raw r5.x, r6.w, T0[0].xxxx
  iadd r6.xyzw, r0.yyyy, l(40, 48, 56, 64)
  ld_raw r5.y, r6.x, T0[0].xxxx
  ld_raw r5.z, r6.y, T0[0].xxxx
  ld_raw r5.w, r6.z, T0[0].xxxx
  ld_raw r2.w, r6.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r3.x, l(16), l(0), r2.w
    itof r3.x, r3.x
    mul r3.x, r3.x, l(0.000977)
    max r2.w, r3.x, l(-1.000000)
    break 
    case l(7)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r2.w, r2.w
    break 
    default 
    break 
  endswitch 
endif 
ibfe r3.x, l(6), l(16), CB0[0][0].z
ishl r3.x, r3.x, l(23)
iadd r3.x, r3.x, l(0x3f800000)
uge r3.y, r2.y, l(4)
if_nz r3.y
  mul r6.x, r3.x, l(0.500000)
  ishl r6.y, l(2880), r3.z
  iadd r6.y, r0.y, r6.y
  if_z r2.z
    ld_raw r7.xyzw, r6.y, T0[0].xyzw
    iadd r6.zw, r6.yyyy, l(0, 0, 16, 32)
    ld_raw r8.xyzw, r6.z, T0[0].xyzw
    ld_raw r6.z, r6.w, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r6.w, r1.w, l(16), l(0)
      ushr r9.xyzw, r7.xyzw, r6.wwww
      and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
      utof r9.xyzw, r9.xyzw
      mul r7.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r9.xyzw, r8.xyzw, r6.wwww
      and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
      utof r9.xyzw, r9.xyzw
      mul r8.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r6.w, r6.z, r6.w
      and r6.w, r6.w, l(255)
      utof r6.w, r6.w
      mul r6.z, r6.w, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r6.w, r1.w, l(20), l(0)
      ushr r9.xyzw, r7.xyzw, r6.wwww
      and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      utof r9.xyzw, r9.xyzw
      mul r7.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r9.xyzw, r8.xyzw, r6.wwww
      and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      utof r9.xyzw, r9.xyzw
      mul r8.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r6.w, r6.z, r6.w
      and r6.w, r6.w, l(1023)
      utof r6.w, r6.w
      mul r6.z, r6.w, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r6.w, r1.w, l(20), l(0)
      ushr r9.xyzw, r7.xyzw, r6.wwww
      and r10.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      and r11.xyzw, r9.xyzw, l(127, 127, 127, 127)
      ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
      firstbit_hi r13.xyzw, r11.xyzw
      iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
      movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
      iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
      movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
      bfi r9.xyzw, l(7, 7, 7, 7), r13.xyzw, r9.xyzw, l(0, 0, 0, 0)
      and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
      movc r9.xyzw, r12.xyzw, r11.xyzw, r9.xyzw
      ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
      iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
      iadd r9.xyzw, r11.xyzw, r9.xyzw
      movc r7.xyzw, r10.xyzw, r9.xyzw, l(0,0,0,0)
      ushr r9.xyzw, r8.xyzw, r6.wwww
      and r10.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      and r11.xyzw, r9.xyzw, l(127, 127, 127, 127)
      ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
      firstbit_hi r13.xyzw, r11.xyzw
      iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
      movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
      iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
      movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
      bfi r9.xyzw, l(7, 7, 7, 7), r13.xyzw, r9.xyzw, l(0, 0, 0, 0)
      and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
      movc r9.xyzw, r12.xyzw, r11.xyzw, r9.xyzw
      ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
      iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
      iadd r9.xyzw, r11.xyzw, r9.xyzw
      movc r8.xyzw, r10.xyzw, r9.xyzw, l(0,0,0,0)
      ushr r6.w, r6.z, r6.w
      and r9.xy, r6.wwww, l(1023, 127, 0, 0)
      ubfe r9.z, l(3), l(7), r6.w
      firstbit_hi r9.w, r9.y
      iadd r9.w, r9.w, l(-24)
      movc r9.w, r9.y, r9.w, l(8)
      iadd r10.x, -r9.w, l(1)
      movc r10.x, r9.z, r9.z, r10.x
      bfi r6.w, l(7), r9.w, r6.w, l(0)
      and r6.w, r6.w, l(127)
      movc r6.w, r9.z, r9.y, r6.w
      ishl r9.y, r10.x, l(23)
      iadd r9.y, r9.y, l(0x3e000000)
      ishl r6.w, r6.w, l(16)
      iadd r6.w, r9.y, r6.w
      movc r6.z, r9.x, r6.w, l(0)
      break 
      case l(4)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r7.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r6.w, l(16), l(0), r6.z
      itof r6.w, r6.w
      mul r6.w, r6.w, l(0.000977)
      max r6.z, r6.w, l(-1.000000)
      break 
      case l(6)
      f16tof32 r7.xyzw, r7.xyzw
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r6.z, r6.z
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r7.x, r6.y, T0[0].xxxx
    iadd r9.xyzw, r6.yyyy, l(8, 16, 24, 32)
    ld_raw r7.y, r9.x, T0[0].xxxx
    ld_raw r7.z, r9.y, T0[0].xxxx
    ld_raw r7.w, r9.z, T0[0].xxxx
    ld_raw r8.x, r9.w, T0[0].xxxx
    iadd r9.xyzw, r6.yyyy, l(40, 48, 56, 64)
    ld_raw r8.y, r9.x, T0[0].xxxx
    ld_raw r8.z, r9.y, T0[0].xxxx
    ld_raw r8.w, r9.z, T0[0].xxxx
    ld_raw r6.z, r9.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r7.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r6.y, l(16), l(0), r6.z
      itof r6.y, r6.y
      mul r6.y, r6.y, l(0.000977)
      max r6.z, r6.y, l(-1.000000)
      break 
      case l(7)
      f16tof32 r7.xyzw, r7.xyzw
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r6.z, r6.z
      break 
      default 
      break 
    endswitch 
  endif 
  add r4.xyzw, r4.xyzw, r7.xyzw
  add r5.xyzw, r5.xyzw, r8.xyzw
  add r2.w, r2.w, r6.z
  uge r6.y, r2.y, l(6)
  if_nz r6.y
    mul r6.x, r3.x, l(0.250000)
    ishl r6.yz, l(0, 36, 2916, 0), r3.zzzz
    iadd r6.yz, r0.yyyy, r6.yyzy
    if_z r2.z
      ld_raw r7.xyzw, r6.y, T0[0].xyzw
      iadd r8.xy, r6.yyyy, l(16, 32, 0, 0)
      ld_raw r9.xyzw, r8.x, T0[0].xyzw
      ld_raw r0.y, r8.y, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r6.w, r1.w, l(16), l(0)
        ushr r8.xyzw, r7.xyzw, r6.wwww
        and r8.xyzw, r8.xyzw, l(255, 255, 255, 255)
        utof r8.xyzw, r8.xyzw
        mul r7.xyzw, r8.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r8.xyzw, r9.xyzw, r6.wwww
        and r8.xyzw, r8.xyzw, l(255, 255, 255, 255)
        utof r8.xyzw, r8.xyzw
        mul r9.xyzw, r8.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r6.w, r0.y, r6.w
        and r6.w, r6.w, l(255)
        utof r6.w, r6.w
        mul r0.y, r6.w, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r6.w, r1.w, l(20), l(0)
        ushr r8.xyzw, r7.xyzw, r6.wwww
        and r8.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
        utof r8.xyzw, r8.xyzw
        mul r7.xyzw, r8.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r8.xyzw, r9.xyzw, r6.wwww
        and r8.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
        utof r8.xyzw, r8.xyzw
        mul r9.xyzw, r8.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r6.w, r0.y, r6.w
        and r6.w, r6.w, l(1023)
        utof r6.w, r6.w
        mul r0.y, r6.w, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r6.w, r1.w, l(20), l(0)
        ushr r8.xyzw, r7.xyzw, r6.wwww
        and r10.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
        and r11.xyzw, r8.xyzw, l(127, 127, 127, 127)
        ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r8.xyzw
        firstbit_hi r13.xyzw, r11.xyzw
        iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
        movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
        iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
        movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
        bfi r8.xyzw, l(7, 7, 7, 7), r13.xyzw, r8.xyzw, l(0, 0, 0, 0)
        and r8.xyzw, r8.xyzw, l(127, 127, 127, 127)
        movc r8.xyzw, r12.xyzw, r11.xyzw, r8.xyzw
        ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
        iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r8.xyzw, r8.xyzw, l(16, 16, 16, 16)
        iadd r8.xyzw, r11.xyzw, r8.xyzw
        movc r7.xyzw, r10.xyzw, r8.xyzw, l(0,0,0,0)
        ushr r8.xyzw, r9.xyzw, r6.wwww
        and r10.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
        and r11.xyzw, r8.xyzw, l(127, 127, 127, 127)
        ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r8.xyzw
        firstbit_hi r13.xyzw, r11.xyzw
        iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
        movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
        iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
        movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
        bfi r8.xyzw, l(7, 7, 7, 7), r13.xyzw, r8.xyzw, l(0, 0, 0, 0)
        and r8.xyzw, r8.xyzw, l(127, 127, 127, 127)
        movc r8.xyzw, r12.xyzw, r11.xyzw, r8.xyzw
        ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
        iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r8.xyzw, r8.xyzw, l(16, 16, 16, 16)
        iadd r8.xyzw, r11.xyzw, r8.xyzw
        movc r9.xyzw, r10.xyzw, r8.xyzw, l(0,0,0,0)
        ushr r6.w, r0.y, r6.w
        and r8.xy, r6.wwww, l(1023, 127, 0, 0)
        ubfe r8.z, l(3), l(7), r6.w
        firstbit_hi r8.w, r8.y
        iadd r8.w, r8.w, l(-24)
        movc r8.w, r8.y, r8.w, l(8)
        iadd r10.x, -r8.w, l(1)
        movc r10.x, r8.z, r8.z, r10.x
        bfi r6.w, l(7), r8.w, r6.w, l(0)
        and r6.w, r6.w, l(127)
        movc r6.w, r8.z, r8.y, r6.w
        ishl r8.y, r10.x, l(23)
        iadd r8.y, r8.y, l(0x3e000000)
        ishl r6.w, r6.w, l(16)
        iadd r6.w, r8.y, r6.w
        movc r0.y, r8.x, r6.w, l(0)
        break 
        case l(4)
        ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
        itof r8.xyzw, r8.xyzw
        mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r7.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r8.xyzw, r8.xyzw
        mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.w, l(16), l(0), r0.y
        itof r6.w, r6.w
        mul r6.w, r6.w, l(0.000977)
        max r0.y, r6.w, l(-1.000000)
        break 
        case l(6)
        f16tof32 r7.xyzw, r7.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r0.y, r0.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r7.x, r6.y, T0[0].xxxx
      iadd r8.xyzw, r6.yyyy, l(8, 16, 24, 32)
      ld_raw r7.y, r8.x, T0[0].xxxx
      ld_raw r7.z, r8.y, T0[0].xxxx
      ld_raw r7.w, r8.z, T0[0].xxxx
      ld_raw r9.x, r8.w, T0[0].xxxx
      iadd r8.xyzw, r6.yyyy, l(40, 48, 56, 64)
      ld_raw r9.y, r8.x, T0[0].xxxx
      ld_raw r9.z, r8.y, T0[0].xxxx
      ld_raw r9.w, r8.z, T0[0].xxxx
      ld_raw r0.y, r8.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
        itof r8.xyzw, r8.xyzw
        mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r7.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r8.xyzw, r8.xyzw
        mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.y, l(16), l(0), r0.y
        itof r6.y, r6.y
        mul r6.y, r6.y, l(0.000977)
        max r0.y, r6.y, l(-1.000000)
        break 
        case l(7)
        f16tof32 r7.xyzw, r7.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r0.y, r0.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r7.xyzw, r4.xyzw, r7.xyzw
    add r8.xyzw, r5.xyzw, r9.xyzw
    add r0.y, r0.y, r2.w
    if_z r2.z
      ld_raw r9.xyzw, r6.z, T0[0].xyzw
      iadd r6.yw, r6.zzzz, l(0, 16, 0, 32)
      ld_raw r10.xyzw, r6.y, T0[0].xyzw
      ld_raw r6.y, r6.w, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r6.w, r1.w, l(16), l(0)
        ushr r11.xyzw, r9.xyzw, r6.wwww
        and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
        utof r11.xyzw, r11.xyzw
        mul r9.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r11.xyzw, r10.xyzw, r6.wwww
        and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
        utof r11.xyzw, r11.xyzw
        mul r10.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r6.w, r6.y, r6.w
        and r6.w, r6.w, l(255)
        utof r6.w, r6.w
        mul r6.y, r6.w, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r6.w, r1.w, l(20), l(0)
        ushr r11.xyzw, r9.xyzw, r6.wwww
        and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        utof r11.xyzw, r11.xyzw
        mul r9.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r11.xyzw, r10.xyzw, r6.wwww
        and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        utof r11.xyzw, r11.xyzw
        mul r10.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r6.w, r6.y, r6.w
        and r6.w, r6.w, l(1023)
        utof r6.w, r6.w
        mul r6.y, r6.w, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r6.w, r1.w, l(20), l(0)
        ushr r11.xyzw, r9.xyzw, r6.wwww
        and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
        ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
        firstbit_hi r15.xyzw, r13.xyzw
        iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
        movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
        iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
        movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
        bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
        and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
        movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
        ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
        iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
        iadd r11.xyzw, r13.xyzw, r11.xyzw
        movc r9.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
        ushr r11.xyzw, r10.xyzw, r6.wwww
        and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
        ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
        firstbit_hi r15.xyzw, r13.xyzw
        iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
        movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
        iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
        movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
        bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
        and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
        movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
        ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
        iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
        iadd r11.xyzw, r13.xyzw, r11.xyzw
        movc r10.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
        ushr r6.w, r6.y, r6.w
        and r11.xy, r6.wwww, l(1023, 127, 0, 0)
        ubfe r11.z, l(3), l(7), r6.w
        firstbit_hi r11.w, r11.y
        iadd r11.w, r11.w, l(-24)
        movc r11.w, r11.y, r11.w, l(8)
        iadd r12.x, -r11.w, l(1)
        movc r12.x, r11.z, r11.z, r12.x
        bfi r6.w, l(7), r11.w, r6.w, l(0)
        and r6.w, r6.w, l(127)
        movc r6.w, r11.z, r11.y, r6.w
        ishl r11.y, r12.x, l(23)
        iadd r11.y, r11.y, l(0x3e000000)
        ishl r6.w, r6.w, l(16)
        iadd r6.w, r11.y, r6.w
        movc r6.y, r11.x, r6.w, l(0)
        break 
        case l(4)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.w, l(16), l(0), r6.y
        itof r6.w, r6.w
        mul r6.w, r6.w, l(0.000977)
        max r6.y, r6.w, l(-1.000000)
        break 
        case l(6)
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r6.y, r6.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r9.x, r6.z, T0[0].xxxx
      iadd r11.xyzw, r6.zzzz, l(8, 16, 24, 32)
      ld_raw r9.y, r11.x, T0[0].xxxx
      ld_raw r9.z, r11.y, T0[0].xxxx
      ld_raw r9.w, r11.z, T0[0].xxxx
      ld_raw r10.x, r11.w, T0[0].xxxx
      iadd r11.xyzw, r6.zzzz, l(40, 48, 56, 64)
      ld_raw r10.y, r11.x, T0[0].xxxx
      ld_raw r10.z, r11.y, T0[0].xxxx
      ld_raw r10.w, r11.z, T0[0].xxxx
      ld_raw r6.y, r11.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.z, l(16), l(0), r6.y
        itof r6.z, r6.z
        mul r6.z, r6.z, l(0.000977)
        max r6.y, r6.z, l(-1.000000)
        break 
        case l(7)
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r6.y, r6.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r4.xyzw, r7.xyzw, r9.xyzw
    add r5.xyzw, r8.xyzw, r10.xyzw
    add r2.w, r0.y, r6.y
  endif 
else 
  mov r6.x, r3.x
endif 
mul r4.xyzw, r4.xyzw, r6.xxxx
mul r5.xyzw, r5.xyzw, r6.xxxx
mul_sat r0.y, r2.w, r6.x
if_nz r0.z
  mov r4.x, r4.y
  mov r4.w, r5.x
  mov r5.z, r5.w
endif 
if_nz r0.w
  mov r4.xy, r5.xyxx
  mov r4.xyz, r4.wxyw
endif 
mov_sat r4.xyzw, r4.xyzw
mad r4.xyzw, r4.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r0.z, r4.y, l(256), r4.x
imad r0.z, r4.z, l(0x00010000), r0.z
imad r4.xzw, r4.wwww, l(0x01000000, 0, 0x01000000, 0x01000000), r0.zzzz
mov_sat r5.xyzw, r5.xyzw
mad r5.xyzw, r5.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r5.xyzw, r5.xyzw
imad r0.z, r5.y, l(256), r5.x
imad r0.z, r5.z, l(0x00010000), r0.z
imad r4.y, r5.w, l(0x01000000), r0.z
store_uav_typed U0[0].xyzw, r1.xxxx, r4.xyzw
mad r0.y, r0.y, l(255.000000), l(0.500000)
ftou r0.y, r0.y
iadd r0.z, r1.y, r1.z
ishl r0.z, l(36), r0.z
imad r0.x, r0.x, l(36), r0.z
if_nz r2.x
  iadd r1.y, r0.x, l(4)
else 
  mov r1.y, r0.x
endif 
if_z r2.z
  ld_raw r4.xyzw, r1.y, T0[0].xyzw
  iadd r5.xy, r1.yyyy, l(16, 32, 0, 0)
  ld_raw r6.xyzw, r5.x, T0[0].xyzw
  ld_raw r1.z, r5.y, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r2.w, r1.w, l(16), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(255, 255, 255, 255)
    utof r5.xyzw, r5.xyzw
    mul r4.xyzw, r5.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(255, 255, 255, 255)
    utof r5.xyzw, r5.xyzw
    mul r6.xyzw, r5.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(255)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r2.w, r1.w, l(20), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    utof r5.xyzw, r5.xyzw
    mul r4.xyzw, r5.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    utof r5.xyzw, r5.xyzw
    mul r6.xyzw, r5.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(1023)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r2.w, r1.w, l(20), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r7.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    and r8.xyzw, r5.xyzw, l(127, 127, 127, 127)
    ubfe r9.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r5.xyzw
    firstbit_hi r10.xyzw, r8.xyzw
    iadd r10.xyzw, r10.xyzw, l(-24, -24, -24, -24)
    movc r10.xyzw, r8.xyzw, r10.xyzw, l(8,8,8,8)
    iadd r11.xyzw, -r10.xyzw, l(1, 1, 1, 1)
    movc r11.xyzw, r9.xyzw, r9.xyzw, r11.xyzw
    bfi r5.xyzw, l(7, 7, 7, 7), r10.xyzw, r5.xyzw, l(0, 0, 0, 0)
    and r5.xyzw, r5.xyzw, l(127, 127, 127, 127)
    movc r5.xyzw, r9.xyzw, r8.xyzw, r5.xyzw
    ishl r8.xyzw, r11.xyzw, l(23, 23, 23, 23)
    iadd r8.xyzw, r8.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r5.xyzw, r5.xyzw, l(16, 16, 16, 16)
    iadd r5.xyzw, r8.xyzw, r5.xyzw
    movc r4.xyzw, r7.xyzw, r5.xyzw, l(0,0,0,0)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r7.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    and r8.xyzw, r5.xyzw, l(127, 127, 127, 127)
    ubfe r9.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r5.xyzw
    firstbit_hi r10.xyzw, r8.xyzw
    iadd r10.xyzw, r10.xyzw, l(-24, -24, -24, -24)
    movc r10.xyzw, r8.xyzw, r10.xyzw, l(8,8,8,8)
    iadd r11.xyzw, -r10.xyzw, l(1, 1, 1, 1)
    movc r11.xyzw, r9.xyzw, r9.xyzw, r11.xyzw
    bfi r5.xyzw, l(7, 7, 7, 7), r10.xyzw, r5.xyzw, l(0, 0, 0, 0)
    and r5.xyzw, r5.xyzw, l(127, 127, 127, 127)
    movc r5.xyzw, r9.xyzw, r8.xyzw, r5.xyzw
    ishl r8.xyzw, r11.xyzw, l(23, 23, 23, 23)
    iadd r8.xyzw, r8.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r5.xyzw, r5.xyzw, l(16, 16, 16, 16)
    iadd r5.xyzw, r8.xyzw, r5.xyzw
    movc r6.xyzw, r7.xyzw, r5.xyzw, l(0,0,0,0)
    ushr r2.w, r1.z, r2.w
    and r5.xy, r2.wwww, l(1023, 127, 0, 0)
    ubfe r5.z, l(3), l(7), r2.w
    firstbit_hi r5.w, r5.y
    iadd r5.w, r5.w, l(-24)
    movc r5.w, r5.y, r5.w, l(8)
    iadd r7.x, -r5.w, l(1)
    movc r7.x, r5.z, r5.z, r7.x
    bfi r2.w, l(7), r5.w, r2.w, l(0)
    and r2.w, r2.w, l(127)
    movc r2.w, r5.z, r5.y, r2.w
    ishl r5.y, r7.x, l(23)
    iadd r5.y, r5.y, l(0x3e000000)
    ishl r2.w, r2.w, l(16)
    iadd r2.w, r5.y, r2.w
    movc r1.z, r5.x, r2.w, l(0)
    break 
    case l(4)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(6)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r4.x, r1.y, T0[0].xxxx
  iadd r5.xyzw, r1.yyyy, l(8, 16, 24, 32)
  ld_raw r4.y, r5.x, T0[0].xxxx
  ld_raw r4.z, r5.y, T0[0].xxxx
  ld_raw r4.w, r5.z, T0[0].xxxx
  ld_raw r6.x, r5.w, T0[0].xxxx
  iadd r5.xyzw, r1.yyyy, l(40, 48, 56, 64)
  ld_raw r6.y, r5.x, T0[0].xxxx
  ld_raw r6.z, r5.y, T0[0].xxxx
  ld_raw r6.w, r5.z, T0[0].xxxx
  ld_raw r1.z, r5.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(7)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
endif 
if_nz r3.y
  mul r2.w, r3.x, l(0.500000)
  ishl r5.x, l(2880), r3.z
  iadd r5.x, r1.y, r5.x
  if_z r2.z
    ld_raw r7.xyzw, r5.x, T0[0].xyzw
    iadd r5.yz, r5.xxxx, l(0, 16, 32, 0)
    ld_raw r8.xyzw, r5.y, T0[0].xyzw
    ld_raw r5.y, r5.z, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r5.z, r1.w, l(16), l(0)
      ushr r9.xyzw, r7.xyzw, r5.zzzz
      and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
      utof r9.xyzw, r9.xyzw
      mul r7.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r9.xyzw, r8.xyzw, r5.zzzz
      and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
      utof r9.xyzw, r9.xyzw
      mul r8.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r5.z, r5.y, r5.z
      and r5.z, r5.z, l(255)
      utof r5.z, r5.z
      mul r5.y, r5.z, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r5.z, r1.w, l(20), l(0)
      ushr r9.xyzw, r7.xyzw, r5.zzzz
      and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      utof r9.xyzw, r9.xyzw
      mul r7.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r9.xyzw, r8.xyzw, r5.zzzz
      and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      utof r9.xyzw, r9.xyzw
      mul r8.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r5.z, r5.y, r5.z
      and r5.z, r5.z, l(1023)
      utof r5.z, r5.z
      mul r5.y, r5.z, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r5.z, r1.w, l(20), l(0)
      ushr r9.xyzw, r7.xyzw, r5.zzzz
      and r10.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      and r11.xyzw, r9.xyzw, l(127, 127, 127, 127)
      ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
      firstbit_hi r13.xyzw, r11.xyzw
      iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
      movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
      iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
      movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
      bfi r9.xyzw, l(7, 7, 7, 7), r13.xyzw, r9.xyzw, l(0, 0, 0, 0)
      and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
      movc r9.xyzw, r12.xyzw, r11.xyzw, r9.xyzw
      ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
      iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
      iadd r9.xyzw, r11.xyzw, r9.xyzw
      movc r7.xyzw, r10.xyzw, r9.xyzw, l(0,0,0,0)
      ushr r9.xyzw, r8.xyzw, r5.zzzz
      and r10.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
      and r11.xyzw, r9.xyzw, l(127, 127, 127, 127)
      ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
      firstbit_hi r13.xyzw, r11.xyzw
      iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
      movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
      iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
      movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
      bfi r9.xyzw, l(7, 7, 7, 7), r13.xyzw, r9.xyzw, l(0, 0, 0, 0)
      and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
      movc r9.xyzw, r12.xyzw, r11.xyzw, r9.xyzw
      ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
      iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
      iadd r9.xyzw, r11.xyzw, r9.xyzw
      movc r8.xyzw, r10.xyzw, r9.xyzw, l(0,0,0,0)
      ushr r5.z, r5.y, r5.z
      and r9.xy, r5.zzzz, l(1023, 127, 0, 0)
      ubfe r5.w, l(3), l(7), r5.z
      firstbit_hi r9.z, r9.y
      iadd r9.z, r9.z, l(-24)
      movc r9.z, r9.y, r9.z, l(8)
      iadd r9.w, -r9.z, l(1)
      movc r9.w, r5.w, r5.w, r9.w
      bfi r5.z, l(7), r9.z, r5.z, l(0)
      and r5.z, r5.z, l(127)
      movc r5.z, r5.w, r9.y, r5.z
      ishl r5.w, r9.w, l(23)
      iadd r5.w, r5.w, l(0x3e000000)
      ishl r5.z, r5.z, l(16)
      iadd r5.z, r5.w, r5.z
      movc r5.y, r9.x, r5.z, l(0)
      break 
      case l(4)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r7.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r5.z, l(16), l(0), r5.y
      itof r5.z, r5.z
      mul r5.z, r5.z, l(0.000977)
      max r5.y, r5.z, l(-1.000000)
      break 
      case l(6)
      f16tof32 r7.xyzw, r7.xyzw
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r5.y, r5.y
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r7.x, r5.x, T0[0].xxxx
    iadd r9.xyzw, r5.xxxx, l(8, 16, 24, 32)
    ld_raw r7.y, r9.x, T0[0].xxxx
    ld_raw r7.z, r9.y, T0[0].xxxx
    ld_raw r7.w, r9.z, T0[0].xxxx
    ld_raw r8.x, r9.w, T0[0].xxxx
    iadd r9.xyzw, r5.xxxx, l(40, 48, 56, 64)
    ld_raw r8.y, r9.x, T0[0].xxxx
    ld_raw r8.z, r9.y, T0[0].xxxx
    ld_raw r8.w, r9.z, T0[0].xxxx
    ld_raw r5.y, r9.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r7.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r9.xyzw, r9.xyzw
      mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r5.x, l(16), l(0), r5.y
      itof r5.x, r5.x
      mul r5.x, r5.x, l(0.000977)
      max r5.y, r5.x, l(-1.000000)
      break 
      case l(7)
      f16tof32 r7.xyzw, r7.xyzw
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r5.y, r5.y
      break 
      default 
      break 
    endswitch 
  endif 
  add r4.xyzw, r4.xyzw, r7.xyzw
  add r6.xyzw, r6.xyzw, r8.xyzw
  add r1.z, r1.z, r5.y
  uge r5.x, r2.y, l(6)
  if_nz r5.x
    mul r2.w, r3.x, l(0.250000)
    ishl r5.xy, l(36, 2916, 0, 0), r3.zzzz
    iadd r5.xy, r1.yyyy, r5.xyxx
    if_z r2.z
      ld_raw r7.xyzw, r5.x, T0[0].xyzw
      iadd r5.zw, r5.xxxx, l(0, 0, 16, 32)
      ld_raw r8.xyzw, r5.z, T0[0].xyzw
      ld_raw r1.y, r5.w, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r5.z, r1.w, l(16), l(0)
        ushr r9.xyzw, r7.xyzw, r5.zzzz
        and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
        utof r9.xyzw, r9.xyzw
        mul r7.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r9.xyzw, r8.xyzw, r5.zzzz
        and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
        utof r9.xyzw, r9.xyzw
        mul r8.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r5.z, r1.y, r5.z
        and r5.z, r5.z, l(255)
        utof r5.z, r5.z
        mul r1.y, r5.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r5.z, r1.w, l(20), l(0)
        ushr r9.xyzw, r7.xyzw, r5.zzzz
        and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        utof r9.xyzw, r9.xyzw
        mul r7.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r9.xyzw, r8.xyzw, r5.zzzz
        and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        utof r9.xyzw, r9.xyzw
        mul r8.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r5.z, r1.y, r5.z
        and r5.z, r5.z, l(1023)
        utof r5.z, r5.z
        mul r1.y, r5.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r5.z, r1.w, l(20), l(0)
        ushr r9.xyzw, r7.xyzw, r5.zzzz
        and r10.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        and r11.xyzw, r9.xyzw, l(127, 127, 127, 127)
        ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
        firstbit_hi r13.xyzw, r11.xyzw
        iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
        movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
        iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
        movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
        bfi r9.xyzw, l(7, 7, 7, 7), r13.xyzw, r9.xyzw, l(0, 0, 0, 0)
        and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
        movc r9.xyzw, r12.xyzw, r11.xyzw, r9.xyzw
        ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
        iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
        iadd r9.xyzw, r11.xyzw, r9.xyzw
        movc r7.xyzw, r10.xyzw, r9.xyzw, l(0,0,0,0)
        ushr r9.xyzw, r8.xyzw, r5.zzzz
        and r10.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        and r11.xyzw, r9.xyzw, l(127, 127, 127, 127)
        ubfe r12.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
        firstbit_hi r13.xyzw, r11.xyzw
        iadd r13.xyzw, r13.xyzw, l(-24, -24, -24, -24)
        movc r13.xyzw, r11.xyzw, r13.xyzw, l(8,8,8,8)
        iadd r14.xyzw, -r13.xyzw, l(1, 1, 1, 1)
        movc r14.xyzw, r12.xyzw, r12.xyzw, r14.xyzw
        bfi r9.xyzw, l(7, 7, 7, 7), r13.xyzw, r9.xyzw, l(0, 0, 0, 0)
        and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
        movc r9.xyzw, r12.xyzw, r11.xyzw, r9.xyzw
        ishl r11.xyzw, r14.xyzw, l(23, 23, 23, 23)
        iadd r11.xyzw, r11.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
        iadd r9.xyzw, r11.xyzw, r9.xyzw
        movc r8.xyzw, r10.xyzw, r9.xyzw, l(0,0,0,0)
        ushr r5.z, r1.y, r5.z
        and r9.xy, r5.zzzz, l(1023, 127, 0, 0)
        ubfe r5.w, l(3), l(7), r5.z
        firstbit_hi r9.z, r9.y
        iadd r9.z, r9.z, l(-24)
        movc r9.z, r9.y, r9.z, l(8)
        iadd r9.w, -r9.z, l(1)
        movc r9.w, r5.w, r5.w, r9.w
        bfi r5.z, l(7), r9.z, r5.z, l(0)
        and r5.z, r5.z, l(127)
        movc r5.z, r5.w, r9.y, r5.z
        ishl r5.w, r9.w, l(23)
        iadd r5.w, r5.w, l(0x3e000000)
        ishl r5.z, r5.z, l(16)
        iadd r5.z, r5.w, r5.z
        movc r1.y, r9.x, r5.z, l(0)
        break 
        case l(4)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r7.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.z, l(16), l(0), r1.y
        itof r5.z, r5.z
        mul r5.z, r5.z, l(0.000977)
        max r1.y, r5.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r7.xyzw, r7.xyzw
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r7.x, r5.x, T0[0].xxxx
      iadd r9.xyzw, r5.xxxx, l(8, 16, 24, 32)
      ld_raw r7.y, r9.x, T0[0].xxxx
      ld_raw r7.z, r9.y, T0[0].xxxx
      ld_raw r7.w, r9.z, T0[0].xxxx
      ld_raw r8.x, r9.w, T0[0].xxxx
      iadd r9.xyzw, r5.xxxx, l(40, 48, 56, 64)
      ld_raw r8.y, r9.x, T0[0].xxxx
      ld_raw r8.z, r9.y, T0[0].xxxx
      ld_raw r8.w, r9.z, T0[0].xxxx
      ld_raw r1.y, r9.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r7.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.x, l(16), l(0), r1.y
        itof r5.x, r5.x
        mul r5.x, r5.x, l(0.000977)
        max r1.y, r5.x, l(-1.000000)
        break 
        case l(7)
        f16tof32 r7.xyzw, r7.xyzw
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r7.xyzw, r4.xyzw, r7.xyzw
    add r8.xyzw, r6.xyzw, r8.xyzw
    add r1.y, r1.y, r1.z
    if_z r2.z
      ld_raw r9.xyzw, r5.y, T0[0].xyzw
      iadd r5.xz, r5.yyyy, l(16, 0, 32, 0)
      ld_raw r10.xyzw, r5.x, T0[0].xyzw
      ld_raw r5.x, r5.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r5.z, r1.w, l(16), l(0)
        ushr r11.xyzw, r9.xyzw, r5.zzzz
        and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
        utof r11.xyzw, r11.xyzw
        mul r9.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r11.xyzw, r10.xyzw, r5.zzzz
        and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
        utof r11.xyzw, r11.xyzw
        mul r10.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r5.z, r5.x, r5.z
        and r5.z, r5.z, l(255)
        utof r5.z, r5.z
        mul r5.x, r5.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r5.z, r1.w, l(20), l(0)
        ushr r11.xyzw, r9.xyzw, r5.zzzz
        and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        utof r11.xyzw, r11.xyzw
        mul r9.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r11.xyzw, r10.xyzw, r5.zzzz
        and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        utof r11.xyzw, r11.xyzw
        mul r10.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r5.z, r5.x, r5.z
        and r5.z, r5.z, l(1023)
        utof r5.z, r5.z
        mul r5.x, r5.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r5.z, r1.w, l(20), l(0)
        ushr r11.xyzw, r9.xyzw, r5.zzzz
        and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
        ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
        firstbit_hi r15.xyzw, r13.xyzw
        iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
        movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
        iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
        movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
        bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
        and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
        movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
        ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
        iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
        iadd r11.xyzw, r13.xyzw, r11.xyzw
        movc r9.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
        ushr r11.xyzw, r10.xyzw, r5.zzzz
        and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
        ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
        firstbit_hi r15.xyzw, r13.xyzw
        iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
        movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
        iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
        movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
        bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
        and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
        movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
        ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
        iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
        iadd r11.xyzw, r13.xyzw, r11.xyzw
        movc r10.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
        ushr r5.z, r5.x, r5.z
        and r11.xy, r5.zzzz, l(1023, 127, 0, 0)
        ubfe r5.w, l(3), l(7), r5.z
        firstbit_hi r11.z, r11.y
        iadd r11.z, r11.z, l(-24)
        movc r11.z, r11.y, r11.z, l(8)
        iadd r11.w, -r11.z, l(1)
        movc r11.w, r5.w, r5.w, r11.w
        bfi r5.z, l(7), r11.z, r5.z, l(0)
        and r5.z, r5.z, l(127)
        movc r5.z, r5.w, r11.y, r5.z
        ishl r5.w, r11.w, l(23)
        iadd r5.w, r5.w, l(0x3e000000)
        ishl r5.z, r5.z, l(16)
        iadd r5.z, r5.w, r5.z
        movc r5.x, r11.x, r5.z, l(0)
        break 
        case l(4)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.z, l(16), l(0), r5.x
        itof r5.z, r5.z
        mul r5.z, r5.z, l(0.000977)
        max r5.x, r5.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r5.x, r5.x
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r9.x, r5.y, T0[0].xxxx
      iadd r11.xyzw, r5.yyyy, l(8, 16, 24, 32)
      ld_raw r9.y, r11.x, T0[0].xxxx
      ld_raw r9.z, r11.y, T0[0].xxxx
      ld_raw r9.w, r11.z, T0[0].xxxx
      ld_raw r10.x, r11.w, T0[0].xxxx
      iadd r11.xyzw, r5.yyyy, l(40, 48, 56, 64)
      ld_raw r10.y, r11.x, T0[0].xxxx
      ld_raw r10.z, r11.y, T0[0].xxxx
      ld_raw r10.w, r11.z, T0[0].xxxx
      ld_raw r5.x, r11.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.y, l(16), l(0), r5.x
        itof r5.y, r5.y
        mul r5.y, r5.y, l(0.000977)
        max r5.x, r5.y, l(-1.000000)
        break 
        case l(7)
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r5.x, r5.x
        break 
        default 
        break 
      endswitch 
    endif 
    add r4.xyzw, r7.xyzw, r9.xyzw
    add r6.xyzw, r8.xyzw, r10.xyzw
    add r1.z, r1.y, r5.x
  endif 
else 
  mov r2.w, r3.x
endif 
mul r4.xyzw, r2.wwww, r4.xyzw
mul r5.xyzw, r2.wwww, r6.xyzw
mul_sat r6.y, r1.z, r2.w
if_nz r0.w
  mov r4.x, r4.w
  mov r4.yz, r5.xxyx
endif 
iadd r7.xyzw, r1.xxxx, l(1, 2, 3, 4)
mov_sat r4.xyzw, r4.xyzw
mad r8.xyz, r4.xyzx, l(255.000000, 255.000000, 255.000000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
ftou r8.xyz, r8.xyzx
imad r1.y, r8.y, l(256), r8.x
ishl r1.z, r8.z, l(24)
imad r1.y, r1.y, l(256), r1.z
iadd r8.xzw, r0.yyyy, r1.yyyy
mov_sat r4.xyz, r5.xyzx
mad r4.xyzw, r4.wxyz, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r0.y, r4.y, l(256), r4.x
imad r0.y, r4.z, l(0x00010000), r0.y
imad r8.y, r4.w, l(0x01000000), r0.y
store_uav_typed U0[0].xyzw, r7.xxxx, r8.xyzw
mov_sat r6.x, r5.w
mad r1.yz, r6.xxyx, l(0.000000, 255.000000, 255.000000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
ftou r1.yz, r1.yyzy
imad r0.y, r1.z, l(256), r1.y
iadd r0.x, r0.z, r0.x
if_nz r2.x
  iadd r1.y, r0.x, l(4)
else 
  mov r1.y, r0.x
endif 
if_z r2.z
  ld_raw r4.xyzw, r1.y, T0[0].xyzw
  iadd r5.xy, r1.yyyy, l(16, 32, 0, 0)
  ld_raw r6.xyzw, r5.x, T0[0].xyzw
  ld_raw r1.z, r5.y, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r2.w, r1.w, l(16), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(255, 255, 255, 255)
    utof r5.xyzw, r5.xyzw
    mul r4.xyzw, r5.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(255, 255, 255, 255)
    utof r5.xyzw, r5.xyzw
    mul r6.xyzw, r5.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(255)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r2.w, r1.w, l(20), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    utof r5.xyzw, r5.xyzw
    mul r4.xyzw, r5.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    utof r5.xyzw, r5.xyzw
    mul r6.xyzw, r5.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(1023)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r2.w, r1.w, l(20), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r8.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    and r9.xyzw, r5.xyzw, l(127, 127, 127, 127)
    ubfe r10.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r5.xyzw
    firstbit_hi r11.xyzw, r9.xyzw
    iadd r11.xyzw, r11.xyzw, l(-24, -24, -24, -24)
    movc r11.xyzw, r9.xyzw, r11.xyzw, l(8,8,8,8)
    iadd r12.xyzw, -r11.xyzw, l(1, 1, 1, 1)
    movc r12.xyzw, r10.xyzw, r10.xyzw, r12.xyzw
    bfi r5.xyzw, l(7, 7, 7, 7), r11.xyzw, r5.xyzw, l(0, 0, 0, 0)
    and r5.xyzw, r5.xyzw, l(127, 127, 127, 127)
    movc r5.xyzw, r10.xyzw, r9.xyzw, r5.xyzw
    ishl r9.xyzw, r12.xyzw, l(23, 23, 23, 23)
    iadd r9.xyzw, r9.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r5.xyzw, r5.xyzw, l(16, 16, 16, 16)
    iadd r5.xyzw, r9.xyzw, r5.xyzw
    movc r4.xyzw, r8.xyzw, r5.xyzw, l(0,0,0,0)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r8.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    and r9.xyzw, r5.xyzw, l(127, 127, 127, 127)
    ubfe r10.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r5.xyzw
    firstbit_hi r11.xyzw, r9.xyzw
    iadd r11.xyzw, r11.xyzw, l(-24, -24, -24, -24)
    movc r11.xyzw, r9.xyzw, r11.xyzw, l(8,8,8,8)
    iadd r12.xyzw, -r11.xyzw, l(1, 1, 1, 1)
    movc r12.xyzw, r10.xyzw, r10.xyzw, r12.xyzw
    bfi r5.xyzw, l(7, 7, 7, 7), r11.xyzw, r5.xyzw, l(0, 0, 0, 0)
    and r5.xyzw, r5.xyzw, l(127, 127, 127, 127)
    movc r5.xyzw, r10.xyzw, r9.xyzw, r5.xyzw
    ishl r9.xyzw, r12.xyzw, l(23, 23, 23, 23)
    iadd r9.xyzw, r9.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r5.xyzw, r5.xyzw, l(16, 16, 16, 16)
    iadd r5.xyzw, r9.xyzw, r5.xyzw
    movc r6.xyzw, r8.xyzw, r5.xyzw, l(0,0,0,0)
    ushr r2.w, r1.z, r2.w
    and r5.xy, r2.wwww, l(1023, 127, 0, 0)
    ubfe r5.z, l(3), l(7), r2.w
    firstbit_hi r5.w, r5.y
    iadd r5.w, r5.w, l(-24)
    movc r5.w, r5.y, r5.w, l(8)
    iadd r7.x, -r5.w, l(1)
    movc r7.x, r5.z, r5.z, r7.x
    bfi r2.w, l(7), r5.w, r2.w, l(0)
    and r2.w, r2.w, l(127)
    movc r2.w, r5.z, r5.y, r2.w
    ishl r5.y, r7.x, l(23)
    iadd r5.y, r5.y, l(0x3e000000)
    ishl r2.w, r2.w, l(16)
    iadd r2.w, r5.y, r2.w
    movc r1.z, r5.x, r2.w, l(0)
    break 
    case l(4)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(6)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r4.x, r1.y, T0[0].xxxx
  iadd r5.xyzw, r1.yyyy, l(8, 16, 24, 32)
  ld_raw r4.y, r5.x, T0[0].xxxx
  ld_raw r4.z, r5.y, T0[0].xxxx
  ld_raw r4.w, r5.z, T0[0].xxxx
  ld_raw r6.x, r5.w, T0[0].xxxx
  iadd r5.xyzw, r1.yyyy, l(40, 48, 56, 64)
  ld_raw r6.y, r5.x, T0[0].xxxx
  ld_raw r6.z, r5.y, T0[0].xxxx
  ld_raw r6.w, r5.z, T0[0].xxxx
  ld_raw r1.z, r5.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(7)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
endif 
if_nz r3.y
  mul r2.w, r3.x, l(0.500000)
  ishl r5.x, l(2880), r3.z
  iadd r5.x, r1.y, r5.x
  if_z r2.z
    ld_raw r8.xyzw, r5.x, T0[0].xyzw
    iadd r5.yz, r5.xxxx, l(0, 16, 32, 0)
    ld_raw r9.xyzw, r5.y, T0[0].xyzw
    ld_raw r5.y, r5.z, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r5.z, r1.w, l(16), l(0)
      ushr r10.xyzw, r8.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r10.xyzw, r9.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r5.z, r5.y, r5.z
      and r5.z, r5.z, l(255)
      utof r5.z, r5.z
      mul r5.y, r5.z, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r5.z, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r10.xyzw, r9.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r5.z, r5.y, r5.z
      and r5.z, r5.z, l(1023)
      utof r5.z, r5.z
      mul r5.y, r5.z, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r5.z, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r5.zzzz
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r8.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r10.xyzw, r9.xyzw, r5.zzzz
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r5.z, r5.y, r5.z
      and r10.xy, r5.zzzz, l(1023, 127, 0, 0)
      ubfe r5.w, l(3), l(7), r5.z
      firstbit_hi r7.x, r10.y
      iadd r7.x, r7.x, l(-24)
      movc r7.x, r10.y, r7.x, l(8)
      iadd r10.z, -r7.x, l(1)
      movc r10.z, r5.w, r5.w, r10.z
      bfi r5.z, l(7), r7.x, r5.z, l(0)
      and r5.z, r5.z, l(127)
      movc r5.z, r5.w, r10.y, r5.z
      ishl r5.w, r10.z, l(23)
      iadd r5.w, r5.w, l(0x3e000000)
      ishl r5.z, r5.z, l(16)
      iadd r5.z, r5.w, r5.z
      movc r5.y, r10.x, r5.z, l(0)
      break 
      case l(4)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r5.z, l(16), l(0), r5.y
      itof r5.z, r5.z
      mul r5.z, r5.z, l(0.000977)
      max r5.y, r5.z, l(-1.000000)
      break 
      case l(6)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r5.y, r5.y
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r8.x, r5.x, T0[0].xxxx
    iadd r10.xyzw, r5.xxxx, l(8, 16, 24, 32)
    ld_raw r8.y, r10.x, T0[0].xxxx
    ld_raw r8.z, r10.y, T0[0].xxxx
    ld_raw r8.w, r10.z, T0[0].xxxx
    ld_raw r9.x, r10.w, T0[0].xxxx
    iadd r10.xyzw, r5.xxxx, l(40, 48, 56, 64)
    ld_raw r9.y, r10.x, T0[0].xxxx
    ld_raw r9.z, r10.y, T0[0].xxxx
    ld_raw r9.w, r10.z, T0[0].xxxx
    ld_raw r5.y, r10.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r5.x, l(16), l(0), r5.y
      itof r5.x, r5.x
      mul r5.x, r5.x, l(0.000977)
      max r5.y, r5.x, l(-1.000000)
      break 
      case l(7)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r5.y, r5.y
      break 
      default 
      break 
    endswitch 
  endif 
  add r4.xyzw, r4.xyzw, r8.xyzw
  add r6.xyzw, r6.xyzw, r9.xyzw
  add r1.z, r1.z, r5.y
  uge r5.x, r2.y, l(6)
  if_nz r5.x
    mul r2.w, r3.x, l(0.250000)
    ishl r5.xy, l(36, 2916, 0, 0), r3.zzzz
    iadd r5.xy, r1.yyyy, r5.xyxx
    if_z r2.z
      ld_raw r8.xyzw, r5.x, T0[0].xyzw
      iadd r5.zw, r5.xxxx, l(0, 0, 16, 32)
      ld_raw r9.xyzw, r5.z, T0[0].xyzw
      ld_raw r1.y, r5.w, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r5.z, r1.w, l(16), l(0)
        ushr r10.xyzw, r8.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r8.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r10.xyzw, r9.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r5.z, r1.y, r5.z
        and r5.z, r5.z, l(255)
        utof r5.z, r5.z
        mul r1.y, r5.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r5.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r8.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r8.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r10.xyzw, r9.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r5.z, r1.y, r5.z
        and r5.z, r5.z, l(1023)
        utof r5.z, r5.z
        mul r1.y, r5.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r5.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r8.xyzw, r5.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r8.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r10.xyzw, r9.xyzw, r5.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r5.z, r1.y, r5.z
        and r10.xy, r5.zzzz, l(1023, 127, 0, 0)
        ubfe r5.w, l(3), l(7), r5.z
        firstbit_hi r7.x, r10.y
        iadd r7.x, r7.x, l(-24)
        movc r7.x, r10.y, r7.x, l(8)
        iadd r10.z, -r7.x, l(1)
        movc r10.z, r5.w, r5.w, r10.z
        bfi r5.z, l(7), r7.x, r5.z, l(0)
        and r5.z, r5.z, l(127)
        movc r5.z, r5.w, r10.y, r5.z
        ishl r5.w, r10.z, l(23)
        iadd r5.w, r5.w, l(0x3e000000)
        ishl r5.z, r5.z, l(16)
        iadd r5.z, r5.w, r5.z
        movc r1.y, r10.x, r5.z, l(0)
        break 
        case l(4)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.z, l(16), l(0), r1.y
        itof r5.z, r5.z
        mul r5.z, r5.z, l(0.000977)
        max r1.y, r5.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r8.x, r5.x, T0[0].xxxx
      iadd r10.xyzw, r5.xxxx, l(8, 16, 24, 32)
      ld_raw r8.y, r10.x, T0[0].xxxx
      ld_raw r8.z, r10.y, T0[0].xxxx
      ld_raw r8.w, r10.z, T0[0].xxxx
      ld_raw r9.x, r10.w, T0[0].xxxx
      iadd r10.xyzw, r5.xxxx, l(40, 48, 56, 64)
      ld_raw r9.y, r10.x, T0[0].xxxx
      ld_raw r9.z, r10.y, T0[0].xxxx
      ld_raw r9.w, r10.z, T0[0].xxxx
      ld_raw r1.y, r10.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.x, l(16), l(0), r1.y
        itof r5.x, r5.x
        mul r5.x, r5.x, l(0.000977)
        max r1.y, r5.x, l(-1.000000)
        break 
        case l(7)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r8.xyzw, r4.xyzw, r8.xyzw
    add r9.xyzw, r6.xyzw, r9.xyzw
    add r1.y, r1.y, r1.z
    if_z r2.z
      ld_raw r10.xyzw, r5.y, T0[0].xyzw
      iadd r5.xz, r5.yyyy, l(16, 0, 32, 0)
      ld_raw r11.xyzw, r5.x, T0[0].xyzw
      ld_raw r5.x, r5.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r5.z, r1.w, l(16), l(0)
        ushr r12.xyzw, r10.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r12.xyzw, r11.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r5.z, r5.x, r5.z
        and r5.z, r5.z, l(255)
        utof r5.z, r5.z
        mul r5.x, r5.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r5.z, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r12.xyzw, r11.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r5.z, r5.x, r5.z
        and r5.z, r5.z, l(1023)
        utof r5.z, r5.z
        mul r5.x, r5.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r5.z, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r5.zzzz
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r10.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r12.xyzw, r11.xyzw, r5.zzzz
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r11.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r5.z, r5.x, r5.z
        and r12.xy, r5.zzzz, l(1023, 127, 0, 0)
        ubfe r5.w, l(3), l(7), r5.z
        firstbit_hi r7.x, r12.y
        iadd r7.x, r7.x, l(-24)
        movc r7.x, r12.y, r7.x, l(8)
        iadd r12.z, -r7.x, l(1)
        movc r12.z, r5.w, r5.w, r12.z
        bfi r5.z, l(7), r7.x, r5.z, l(0)
        and r5.z, r5.z, l(127)
        movc r5.z, r5.w, r12.y, r5.z
        ishl r5.w, r12.z, l(23)
        iadd r5.w, r5.w, l(0x3e000000)
        ishl r5.z, r5.z, l(16)
        iadd r5.z, r5.w, r5.z
        movc r5.x, r12.x, r5.z, l(0)
        break 
        case l(4)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.z, l(16), l(0), r5.x
        itof r5.z, r5.z
        mul r5.z, r5.z, l(0.000977)
        max r5.x, r5.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r5.x, r5.x
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r10.x, r5.y, T0[0].xxxx
      iadd r12.xyzw, r5.yyyy, l(8, 16, 24, 32)
      ld_raw r10.y, r12.x, T0[0].xxxx
      ld_raw r10.z, r12.y, T0[0].xxxx
      ld_raw r10.w, r12.z, T0[0].xxxx
      ld_raw r11.x, r12.w, T0[0].xxxx
      iadd r12.xyzw, r5.yyyy, l(40, 48, 56, 64)
      ld_raw r11.y, r12.x, T0[0].xxxx
      ld_raw r11.z, r12.y, T0[0].xxxx
      ld_raw r11.w, r12.z, T0[0].xxxx
      ld_raw r5.x, r12.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.y, l(16), l(0), r5.x
        itof r5.y, r5.y
        mul r5.y, r5.y, l(0.000977)
        max r5.x, r5.y, l(-1.000000)
        break 
        case l(7)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r5.x, r5.x
        break 
        default 
        break 
      endswitch 
    endif 
    add r4.xyzw, r8.xyzw, r10.xyzw
    add r6.xyzw, r9.xyzw, r11.xyzw
    add r1.z, r1.y, r5.x
  endif 
else 
  mov r2.w, r3.x
endif 
mul r4.xyzw, r2.wwww, r4.xwyz
mul r5.xyzw, r2.wwww, r6.xyzw
mul_sat r6.z, r1.z, r2.w
if_nz r0.w
  mov r8.x, r4.y
  mov r8.y, r5.x
  mov r4.x, r5.y
else 
  mov r8.xy, r4.xzxx
  mov r4.x, r4.w
endif 
mov_sat r8.xy, r8.xyxx
mad r1.yz, r8.xxyx, l(0.000000, 255.000000, 255.000000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
ftou r1.yz, r1.yyzy
ishl r1.z, r1.z, l(24)
imad r1.y, r1.y, l(0x00010000), r1.z
iadd r8.xzw, r0.yyyy, r1.yyyy
mov r4.zw, r5.xxxy
mov_sat r4.xyzw, r4.xyzw
mad r4.xyzw, r4.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r0.y, r4.y, l(256), r4.x
imad r0.y, r4.z, l(0x00010000), r0.y
imad r8.y, r4.w, l(0x01000000), r0.y
store_uav_typed U0[0].xyzw, r7.yyyy, r8.xyzw
mov_sat r6.xy, r5.zwzz
mad r4.xyz, r6.xyzx, l(255.000000, 255.000000, 255.000000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
ftou r4.xyz, r4.xyzx
imad r0.y, r4.y, l(256), r4.x
imad r0.y, r4.z, l(0x00010000), r0.y
iadd r0.x, r0.z, r0.x
if_nz r2.x
  iadd r1.y, r0.x, l(4)
else 
  mov r1.y, r0.x
endif 
if_z r2.z
  ld_raw r4.xyzw, r1.y, T0[0].xyzw
  iadd r5.xy, r1.yyyy, l(16, 32, 0, 0)
  ld_raw r6.xyzw, r5.x, T0[0].xyzw
  ld_raw r1.z, r5.y, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r2.w, r1.w, l(16), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(255, 255, 255, 255)
    utof r5.xyzw, r5.xyzw
    mul r4.xyzw, r5.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(255, 255, 255, 255)
    utof r5.xyzw, r5.xyzw
    mul r6.xyzw, r5.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(255)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r2.w, r1.w, l(20), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    utof r5.xyzw, r5.xyzw
    mul r4.xyzw, r5.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r5.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    utof r5.xyzw, r5.xyzw
    mul r6.xyzw, r5.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(1023)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r2.w, r1.w, l(20), l(0)
    ushr r5.xyzw, r4.xyzw, r2.wwww
    and r8.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    and r9.xyzw, r5.xyzw, l(127, 127, 127, 127)
    ubfe r10.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r5.xyzw
    firstbit_hi r11.xyzw, r9.xyzw
    iadd r11.xyzw, r11.xyzw, l(-24, -24, -24, -24)
    movc r11.xyzw, r9.xyzw, r11.xyzw, l(8,8,8,8)
    iadd r12.xyzw, -r11.xyzw, l(1, 1, 1, 1)
    movc r12.xyzw, r10.xyzw, r10.xyzw, r12.xyzw
    bfi r5.xyzw, l(7, 7, 7, 7), r11.xyzw, r5.xyzw, l(0, 0, 0, 0)
    and r5.xyzw, r5.xyzw, l(127, 127, 127, 127)
    movc r5.xyzw, r10.xyzw, r9.xyzw, r5.xyzw
    ishl r9.xyzw, r12.xyzw, l(23, 23, 23, 23)
    iadd r9.xyzw, r9.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r5.xyzw, r5.xyzw, l(16, 16, 16, 16)
    iadd r5.xyzw, r9.xyzw, r5.xyzw
    movc r4.xyzw, r8.xyzw, r5.xyzw, l(0,0,0,0)
    ushr r5.xyzw, r6.xyzw, r2.wwww
    and r8.xyzw, r5.xyzw, l(1023, 1023, 1023, 1023)
    and r9.xyzw, r5.xyzw, l(127, 127, 127, 127)
    ubfe r10.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r5.xyzw
    firstbit_hi r11.xyzw, r9.xyzw
    iadd r11.xyzw, r11.xyzw, l(-24, -24, -24, -24)
    movc r11.xyzw, r9.xyzw, r11.xyzw, l(8,8,8,8)
    iadd r12.xyzw, -r11.xyzw, l(1, 1, 1, 1)
    movc r12.xyzw, r10.xyzw, r10.xyzw, r12.xyzw
    bfi r5.xyzw, l(7, 7, 7, 7), r11.xyzw, r5.xyzw, l(0, 0, 0, 0)
    and r5.xyzw, r5.xyzw, l(127, 127, 127, 127)
    movc r5.xyzw, r10.xyzw, r9.xyzw, r5.xyzw
    ishl r9.xyzw, r12.xyzw, l(23, 23, 23, 23)
    iadd r9.xyzw, r9.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r5.xyzw, r5.xyzw, l(16, 16, 16, 16)
    iadd r5.xyzw, r9.xyzw, r5.xyzw
    movc r6.xyzw, r8.xyzw, r5.xyzw, l(0,0,0,0)
    ushr r2.w, r1.z, r2.w
    and r5.xy, r2.wwww, l(1023, 127, 0, 0)
    ubfe r5.z, l(3), l(7), r2.w
    firstbit_hi r5.w, r5.y
    iadd r5.w, r5.w, l(-24)
    movc r5.w, r5.y, r5.w, l(8)
    iadd r7.x, -r5.w, l(1)
    movc r7.x, r5.z, r5.z, r7.x
    bfi r2.w, l(7), r5.w, r2.w, l(0)
    and r2.w, r2.w, l(127)
    movc r2.w, r5.z, r5.y, r2.w
    ishl r5.y, r7.x, l(23)
    iadd r5.y, r5.y, l(0x3e000000)
    ishl r2.w, r2.w, l(16)
    iadd r2.w, r5.y, r2.w
    movc r1.z, r5.x, r2.w, l(0)
    break 
    case l(4)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(6)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r4.x, r1.y, T0[0].xxxx
  iadd r5.xyzw, r1.yyyy, l(8, 16, 24, 32)
  ld_raw r4.y, r5.x, T0[0].xxxx
  ld_raw r4.z, r5.y, T0[0].xxxx
  ld_raw r4.w, r5.z, T0[0].xxxx
  ld_raw r6.x, r5.w, T0[0].xxxx
  iadd r5.xyzw, r1.yyyy, l(40, 48, 56, 64)
  ld_raw r6.y, r5.x, T0[0].xxxx
  ld_raw r6.z, r5.y, T0[0].xxxx
  ld_raw r6.w, r5.z, T0[0].xxxx
  ld_raw r1.z, r5.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r4.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r4.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r5.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r5.xyzw, r5.xyzw
    mul r5.xyzw, r5.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r5.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(7)
    f16tof32 r4.xyzw, r4.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
endif 
if_nz r3.y
  mul r2.w, r3.x, l(0.500000)
  ishl r5.x, l(2880), r3.z
  iadd r5.x, r1.y, r5.x
  if_z r2.z
    ld_raw r8.xyzw, r5.x, T0[0].xyzw
    iadd r5.yz, r5.xxxx, l(0, 16, 32, 0)
    ld_raw r9.xyzw, r5.y, T0[0].xyzw
    ld_raw r5.y, r5.z, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r5.z, r1.w, l(16), l(0)
      ushr r10.xyzw, r8.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r10.xyzw, r9.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r5.z, r5.y, r5.z
      and r5.z, r5.z, l(255)
      utof r5.z, r5.z
      mul r5.y, r5.z, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r5.z, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r10.xyzw, r9.xyzw, r5.zzzz
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r5.z, r5.y, r5.z
      and r5.z, r5.z, l(1023)
      utof r5.z, r5.z
      mul r5.y, r5.z, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r5.z, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r5.zzzz
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r8.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r10.xyzw, r9.xyzw, r5.zzzz
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r5.z, r5.y, r5.z
      and r7.xy, r5.zzzz, l(1023, 127, 0, 0)
      ubfe r5.w, l(3), l(7), r5.z
      firstbit_hi r10.x, r7.y
      iadd r10.x, r10.x, l(-24)
      movc r10.x, r7.y, r10.x, l(8)
      iadd r10.y, -r10.x, l(1)
      movc r10.y, r5.w, r5.w, r10.y
      bfi r5.z, l(7), r10.x, r5.z, l(0)
      and r5.z, r5.z, l(127)
      movc r5.z, r5.w, r7.y, r5.z
      ishl r5.w, r10.y, l(23)
      iadd r5.w, r5.w, l(0x3e000000)
      ishl r5.z, r5.z, l(16)
      iadd r5.z, r5.w, r5.z
      movc r5.y, r7.x, r5.z, l(0)
      break 
      case l(4)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r5.z, l(16), l(0), r5.y
      itof r5.z, r5.z
      mul r5.z, r5.z, l(0.000977)
      max r5.y, r5.z, l(-1.000000)
      break 
      case l(6)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r5.y, r5.y
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r8.x, r5.x, T0[0].xxxx
    iadd r10.xyzw, r5.xxxx, l(8, 16, 24, 32)
    ld_raw r8.y, r10.x, T0[0].xxxx
    ld_raw r8.z, r10.y, T0[0].xxxx
    ld_raw r8.w, r10.z, T0[0].xxxx
    ld_raw r9.x, r10.w, T0[0].xxxx
    iadd r10.xyzw, r5.xxxx, l(40, 48, 56, 64)
    ld_raw r9.y, r10.x, T0[0].xxxx
    ld_raw r9.z, r10.y, T0[0].xxxx
    ld_raw r9.w, r10.z, T0[0].xxxx
    ld_raw r5.y, r10.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r5.x, l(16), l(0), r5.y
      itof r5.x, r5.x
      mul r5.x, r5.x, l(0.000977)
      max r5.y, r5.x, l(-1.000000)
      break 
      case l(7)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r5.y, r5.y
      break 
      default 
      break 
    endswitch 
  endif 
  add r4.xyzw, r4.xyzw, r8.xyzw
  add r6.xyzw, r6.xyzw, r9.xyzw
  add r1.z, r1.z, r5.y
  uge r5.x, r2.y, l(6)
  if_nz r5.x
    mul r2.w, r3.x, l(0.250000)
    ishl r5.xy, l(36, 2916, 0, 0), r3.zzzz
    iadd r5.xy, r1.yyyy, r5.xyxx
    if_z r2.z
      ld_raw r8.xyzw, r5.x, T0[0].xyzw
      iadd r5.zw, r5.xxxx, l(0, 0, 16, 32)
      ld_raw r9.xyzw, r5.z, T0[0].xyzw
      ld_raw r1.y, r5.w, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r5.z, r1.w, l(16), l(0)
        ushr r10.xyzw, r8.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r8.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r10.xyzw, r9.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r5.z, r1.y, r5.z
        and r5.z, r5.z, l(255)
        utof r5.z, r5.z
        mul r1.y, r5.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r5.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r8.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r8.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r10.xyzw, r9.xyzw, r5.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r5.z, r1.y, r5.z
        and r5.z, r5.z, l(1023)
        utof r5.z, r5.z
        mul r1.y, r5.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r5.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r8.xyzw, r5.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r8.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r10.xyzw, r9.xyzw, r5.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r5.z, r1.y, r5.z
        and r7.xy, r5.zzzz, l(1023, 127, 0, 0)
        ubfe r5.w, l(3), l(7), r5.z
        firstbit_hi r10.x, r7.y
        iadd r10.x, r10.x, l(-24)
        movc r10.x, r7.y, r10.x, l(8)
        iadd r10.y, -r10.x, l(1)
        movc r10.y, r5.w, r5.w, r10.y
        bfi r5.z, l(7), r10.x, r5.z, l(0)
        and r5.z, r5.z, l(127)
        movc r5.z, r5.w, r7.y, r5.z
        ishl r5.w, r10.y, l(23)
        iadd r5.w, r5.w, l(0x3e000000)
        ishl r5.z, r5.z, l(16)
        iadd r5.z, r5.w, r5.z
        movc r1.y, r7.x, r5.z, l(0)
        break 
        case l(4)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.z, l(16), l(0), r1.y
        itof r5.z, r5.z
        mul r5.z, r5.z, l(0.000977)
        max r1.y, r5.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r8.x, r5.x, T0[0].xxxx
      iadd r10.xyzw, r5.xxxx, l(8, 16, 24, 32)
      ld_raw r8.y, r10.x, T0[0].xxxx
      ld_raw r8.z, r10.y, T0[0].xxxx
      ld_raw r8.w, r10.z, T0[0].xxxx
      ld_raw r9.x, r10.w, T0[0].xxxx
      iadd r10.xyzw, r5.xxxx, l(40, 48, 56, 64)
      ld_raw r9.y, r10.x, T0[0].xxxx
      ld_raw r9.z, r10.y, T0[0].xxxx
      ld_raw r9.w, r10.z, T0[0].xxxx
      ld_raw r1.y, r10.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.x, l(16), l(0), r1.y
        itof r5.x, r5.x
        mul r5.x, r5.x, l(0.000977)
        max r1.y, r5.x, l(-1.000000)
        break 
        case l(7)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r8.xyzw, r4.xyzw, r8.xyzw
    add r9.xyzw, r6.xyzw, r9.xyzw
    add r1.y, r1.y, r1.z
    if_z r2.z
      ld_raw r10.xyzw, r5.y, T0[0].xyzw
      iadd r5.xz, r5.yyyy, l(16, 0, 32, 0)
      ld_raw r11.xyzw, r5.x, T0[0].xyzw
      ld_raw r5.x, r5.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r5.z, r1.w, l(16), l(0)
        ushr r12.xyzw, r10.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r12.xyzw, r11.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r5.z, r5.x, r5.z
        and r5.z, r5.z, l(255)
        utof r5.z, r5.z
        mul r5.x, r5.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r5.z, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r12.xyzw, r11.xyzw, r5.zzzz
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r5.z, r5.x, r5.z
        and r5.z, r5.z, l(1023)
        utof r5.z, r5.z
        mul r5.x, r5.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r5.z, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r5.zzzz
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r10.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r12.xyzw, r11.xyzw, r5.zzzz
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r11.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r5.z, r5.x, r5.z
        and r7.xy, r5.zzzz, l(1023, 127, 0, 0)
        ubfe r5.w, l(3), l(7), r5.z
        firstbit_hi r12.x, r7.y
        iadd r12.x, r12.x, l(-24)
        movc r12.x, r7.y, r12.x, l(8)
        iadd r12.y, -r12.x, l(1)
        movc r12.y, r5.w, r5.w, r12.y
        bfi r5.z, l(7), r12.x, r5.z, l(0)
        and r5.z, r5.z, l(127)
        movc r5.z, r5.w, r7.y, r5.z
        ishl r5.w, r12.y, l(23)
        iadd r5.w, r5.w, l(0x3e000000)
        ishl r5.z, r5.z, l(16)
        iadd r5.z, r5.w, r5.z
        movc r5.x, r7.x, r5.z, l(0)
        break 
        case l(4)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.z, l(16), l(0), r5.x
        itof r5.z, r5.z
        mul r5.z, r5.z, l(0.000977)
        max r5.x, r5.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r5.x, r5.x
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r10.x, r5.y, T0[0].xxxx
      iadd r12.xyzw, r5.yyyy, l(8, 16, 24, 32)
      ld_raw r10.y, r12.x, T0[0].xxxx
      ld_raw r10.z, r12.y, T0[0].xxxx
      ld_raw r10.w, r12.z, T0[0].xxxx
      ld_raw r11.x, r12.w, T0[0].xxxx
      iadd r12.xyzw, r5.yyyy, l(40, 48, 56, 64)
      ld_raw r11.y, r12.x, T0[0].xxxx
      ld_raw r11.z, r12.y, T0[0].xxxx
      ld_raw r11.w, r12.z, T0[0].xxxx
      ld_raw r5.x, r12.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r5.y, l(16), l(0), r5.x
        itof r5.y, r5.y
        mul r5.y, r5.y, l(0.000977)
        max r5.x, r5.y, l(-1.000000)
        break 
        case l(7)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r5.x, r5.x
        break 
        default 
        break 
      endswitch 
    endif 
    add r4.xyzw, r8.xyzw, r10.xyzw
    add r6.xyzw, r9.xyzw, r11.xyzw
    add r1.z, r1.y, r5.x
  endif 
else 
  mov r2.w, r3.x
endif 
mul r4.xyzw, r2.wwww, r4.yzxw
mul r5.xyzw, r2.wwww, r6.xyzw
mul_sat r6.w, r1.z, r2.w
if_nz r0.w
  mov r4.xz, r5.yyxy
  mov r1.y, r4.w
else 
  mov r1.y, r4.z
  mov r4.xz, r4.yyxy
endif 
mov_sat r1.y, r1.y
mad r1.y, r1.y, l(255.000000), l(0.500000)
ftou r1.y, r1.y
imad r8.xzw, r1.yyyy, l(0x01000000, 0, 0x01000000, 0x01000000), r0.yyyy
mov r4.y, r5.x
mov_sat r4.xyzw, r4.xyzw
mad r4.xyzw, r4.zxwy, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r0.y, r4.y, l(256), r4.x
imad r0.y, r4.z, l(0x00010000), r0.y
imad r8.y, r4.w, l(0x01000000), r0.y
store_uav_typed U0[0].xyzw, r7.zzzz, r8.xyzw
mov_sat r6.xyz, r5.yzwy
mad r4.xyzw, r6.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r0.y, r4.y, l(256), r4.x
imad r0.y, r4.z, l(0x00010000), r0.y
imad r4.xzw, r4.wwww, l(0x01000000, 0, 0x01000000, 0x01000000), r0.yyyy
iadd r0.x, r0.z, r0.x
if_nz r2.x
  iadd r0.y, r0.x, l(4)
else 
  mov r0.y, r0.x
endif 
if_z r2.z
  ld_raw r5.xyzw, r0.y, T0[0].xyzw
  iadd r1.yz, r0.yyyy, l(0, 16, 32, 0)
  ld_raw r6.xyzw, r1.y, T0[0].xyzw
  ld_raw r1.y, r1.z, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r1.z, r1.w, l(16), l(0)
    ushr r8.xyzw, r5.xyzw, r1.zzzz
    and r8.xyzw, r8.xyzw, l(255, 255, 255, 255)
    utof r8.xyzw, r8.xyzw
    mul r5.xyzw, r8.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r8.xyzw, r6.xyzw, r1.zzzz
    and r8.xyzw, r8.xyzw, l(255, 255, 255, 255)
    utof r8.xyzw, r8.xyzw
    mul r6.xyzw, r8.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r1.z, r1.y, r1.z
    and r1.z, r1.z, l(255)
    utof r1.z, r1.z
    mul r1.y, r1.z, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r1.z, r1.w, l(20), l(0)
    ushr r8.xyzw, r5.xyzw, r1.zzzz
    and r8.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
    utof r8.xyzw, r8.xyzw
    mul r5.xyzw, r8.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r8.xyzw, r6.xyzw, r1.zzzz
    and r8.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
    utof r8.xyzw, r8.xyzw
    mul r6.xyzw, r8.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r1.z, r1.y, r1.z
    and r1.z, r1.z, l(1023)
    utof r1.z, r1.z
    mul r1.y, r1.z, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r1.z, r1.w, l(20), l(0)
    ushr r8.xyzw, r5.xyzw, r1.zzzz
    and r9.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
    and r10.xyzw, r8.xyzw, l(127, 127, 127, 127)
    ubfe r11.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r8.xyzw
    firstbit_hi r12.xyzw, r10.xyzw
    iadd r12.xyzw, r12.xyzw, l(-24, -24, -24, -24)
    movc r12.xyzw, r10.xyzw, r12.xyzw, l(8,8,8,8)
    iadd r13.xyzw, -r12.xyzw, l(1, 1, 1, 1)
    movc r13.xyzw, r11.xyzw, r11.xyzw, r13.xyzw
    bfi r8.xyzw, l(7, 7, 7, 7), r12.xyzw, r8.xyzw, l(0, 0, 0, 0)
    and r8.xyzw, r8.xyzw, l(127, 127, 127, 127)
    movc r8.xyzw, r11.xyzw, r10.xyzw, r8.xyzw
    ishl r10.xyzw, r13.xyzw, l(23, 23, 23, 23)
    iadd r10.xyzw, r10.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r8.xyzw, r8.xyzw, l(16, 16, 16, 16)
    iadd r8.xyzw, r10.xyzw, r8.xyzw
    movc r5.xyzw, r9.xyzw, r8.xyzw, l(0,0,0,0)
    ushr r8.xyzw, r6.xyzw, r1.zzzz
    and r9.xyzw, r8.xyzw, l(1023, 1023, 1023, 1023)
    and r10.xyzw, r8.xyzw, l(127, 127, 127, 127)
    ubfe r11.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r8.xyzw
    firstbit_hi r12.xyzw, r10.xyzw
    iadd r12.xyzw, r12.xyzw, l(-24, -24, -24, -24)
    movc r12.xyzw, r10.xyzw, r12.xyzw, l(8,8,8,8)
    iadd r13.xyzw, -r12.xyzw, l(1, 1, 1, 1)
    movc r13.xyzw, r11.xyzw, r11.xyzw, r13.xyzw
    bfi r8.xyzw, l(7, 7, 7, 7), r12.xyzw, r8.xyzw, l(0, 0, 0, 0)
    and r8.xyzw, r8.xyzw, l(127, 127, 127, 127)
    movc r8.xyzw, r11.xyzw, r10.xyzw, r8.xyzw
    ishl r10.xyzw, r13.xyzw, l(23, 23, 23, 23)
    iadd r10.xyzw, r10.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r8.xyzw, r8.xyzw, l(16, 16, 16, 16)
    iadd r8.xyzw, r10.xyzw, r8.xyzw
    movc r6.xyzw, r9.xyzw, r8.xyzw, l(0,0,0,0)
    ushr r1.z, r1.y, r1.z
    and r7.xy, r1.zzzz, l(1023, 127, 0, 0)
    ubfe r2.w, l(3), l(7), r1.z
    firstbit_hi r7.z, r7.y
    iadd r7.z, r7.z, l(-24)
    movc r7.z, r7.y, r7.z, l(8)
    iadd r8.x, -r7.z, l(1)
    movc r8.x, r2.w, r2.w, r8.x
    bfi r1.z, l(7), r7.z, r1.z, l(0)
    and r1.z, r1.z, l(127)
    movc r1.z, r2.w, r7.y, r1.z
    ishl r2.w, r8.x, l(23)
    iadd r2.w, r2.w, l(0x3e000000)
    ishl r1.z, r1.z, l(16)
    iadd r1.z, r2.w, r1.z
    movc r1.y, r7.x, r1.z, l(0)
    break 
    case l(4)
    ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r8.xyzw, r8.xyzw
    mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r8.xyzw, r8.xyzw
    mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r1.z, l(16), l(0), r1.y
    itof r1.z, r1.z
    mul r1.z, r1.z, l(0.000977)
    max r1.y, r1.z, l(-1.000000)
    break 
    case l(6)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.y, r1.y
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r5.x, r0.y, T0[0].xxxx
  iadd r8.xyzw, r0.yyyy, l(8, 16, 24, 32)
  ld_raw r5.y, r8.x, T0[0].xxxx
  ld_raw r5.z, r8.y, T0[0].xxxx
  ld_raw r5.w, r8.z, T0[0].xxxx
  ld_raw r6.x, r8.w, T0[0].xxxx
  iadd r8.xyzw, r0.yyyy, l(40, 48, 56, 64)
  ld_raw r6.y, r8.x, T0[0].xxxx
  ld_raw r6.z, r8.y, T0[0].xxxx
  ld_raw r6.w, r8.z, T0[0].xxxx
  ld_raw r1.y, r8.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r8.xyzw, r8.xyzw
    mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r8.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r8.xyzw, r8.xyzw
    mul r8.xyzw, r8.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r8.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r1.z, l(16), l(0), r1.y
    itof r1.z, r1.z
    mul r1.z, r1.z, l(0.000977)
    max r1.y, r1.z, l(-1.000000)
    break 
    case l(7)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r1.y, r1.y
    break 
    default 
    break 
  endswitch 
endif 
if_nz r3.y
  mul r1.z, r3.x, l(0.500000)
  ishl r2.w, l(2880), r3.z
  iadd r2.w, r0.y, r2.w
  if_z r2.z
    ld_raw r8.xyzw, r2.w, T0[0].xyzw
    iadd r7.xy, r2.wwww, l(16, 32, 0, 0)
    ld_raw r9.xyzw, r7.x, T0[0].xyzw
    ld_raw r7.x, r7.y, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r7.y, r1.w, l(16), l(0)
      ushr r10.xyzw, r8.xyzw, r7.yyyy
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r10.xyzw, r9.xyzw, r7.yyyy
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r7.y, r7.x, r7.y
      and r7.y, r7.y, l(255)
      utof r7.y, r7.y
      mul r7.x, r7.y, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r7.y, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r7.yyyy
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r10.xyzw, r9.xyzw, r7.yyyy
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r7.y, r7.x, r7.y
      and r7.y, r7.y, l(1023)
      utof r7.y, r7.y
      mul r7.x, r7.y, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r7.y, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r7.yyyy
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r8.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r10.xyzw, r9.xyzw, r7.yyyy
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r7.y, r7.x, r7.y
      and r10.xy, r7.yyyy, l(1023, 127, 0, 0)
      ubfe r7.z, l(3), l(7), r7.y
      firstbit_hi r10.z, r10.y
      iadd r10.z, r10.z, l(-24)
      movc r10.z, r10.y, r10.z, l(8)
      iadd r10.w, -r10.z, l(1)
      movc r10.w, r7.z, r7.z, r10.w
      bfi r7.y, l(7), r10.z, r7.y, l(0)
      and r7.y, r7.y, l(127)
      movc r7.y, r7.z, r10.y, r7.y
      ishl r7.z, r10.w, l(23)
      iadd r7.z, r7.z, l(0x3e000000)
      ishl r7.y, r7.y, l(16)
      iadd r7.y, r7.z, r7.y
      movc r7.x, r10.x, r7.y, l(0)
      break 
      case l(4)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r7.y, l(16), l(0), r7.x
      itof r7.y, r7.y
      mul r7.y, r7.y, l(0.000977)
      max r7.x, r7.y, l(-1.000000)
      break 
      case l(6)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r7.x, r7.x
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r8.x, r2.w, T0[0].xxxx
    iadd r10.xyzw, r2.wwww, l(8, 16, 24, 32)
    ld_raw r8.y, r10.x, T0[0].xxxx
    ld_raw r8.z, r10.y, T0[0].xxxx
    ld_raw r8.w, r10.z, T0[0].xxxx
    ld_raw r9.x, r10.w, T0[0].xxxx
    iadd r10.xyzw, r2.wwww, l(40, 48, 56, 64)
    ld_raw r9.y, r10.x, T0[0].xxxx
    ld_raw r9.z, r10.y, T0[0].xxxx
    ld_raw r9.w, r10.z, T0[0].xxxx
    ld_raw r7.x, r10.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r2.w, l(16), l(0), r7.x
      itof r2.w, r2.w
      mul r2.w, r2.w, l(0.000977)
      max r7.x, r2.w, l(-1.000000)
      break 
      case l(7)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r7.x, r7.x
      break 
      default 
      break 
    endswitch 
  endif 
  add r5.xyzw, r5.xyzw, r8.xyzw
  add r6.xyzw, r6.xyzw, r9.xyzw
  add r1.y, r1.y, r7.x
  uge r2.w, r2.y, l(6)
  if_nz r2.w
    mul r1.z, r3.x, l(0.250000)
    ishl r7.xy, l(36, 2916, 0, 0), r3.zzzz
    iadd r7.xy, r0.yyyy, r7.xyxx
    if_z r2.z
      ld_raw r8.xyzw, r7.x, T0[0].xyzw
      iadd r9.xy, r7.xxxx, l(16, 32, 0, 0)
      ld_raw r10.xyzw, r9.x, T0[0].xyzw
      ld_raw r0.y, r9.y, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r2.w, r1.w, l(16), l(0)
        ushr r9.xyzw, r8.xyzw, r2.wwww
        and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
        utof r9.xyzw, r9.xyzw
        mul r8.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r9.xyzw, r10.xyzw, r2.wwww
        and r9.xyzw, r9.xyzw, l(255, 255, 255, 255)
        utof r9.xyzw, r9.xyzw
        mul r10.xyzw, r9.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r2.w, r0.y, r2.w
        and r2.w, r2.w, l(255)
        utof r2.w, r2.w
        mul r0.y, r2.w, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r2.w, r1.w, l(20), l(0)
        ushr r9.xyzw, r8.xyzw, r2.wwww
        and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        utof r9.xyzw, r9.xyzw
        mul r8.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r9.xyzw, r10.xyzw, r2.wwww
        and r9.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        utof r9.xyzw, r9.xyzw
        mul r10.xyzw, r9.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r2.w, r0.y, r2.w
        and r2.w, r2.w, l(1023)
        utof r2.w, r2.w
        mul r0.y, r2.w, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r2.w, r1.w, l(20), l(0)
        ushr r9.xyzw, r8.xyzw, r2.wwww
        and r11.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r9.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r9.xyzw, l(7, 7, 7, 7), r14.xyzw, r9.xyzw, l(0, 0, 0, 0)
        and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
        movc r9.xyzw, r13.xyzw, r12.xyzw, r9.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
        iadd r9.xyzw, r12.xyzw, r9.xyzw
        movc r8.xyzw, r11.xyzw, r9.xyzw, l(0,0,0,0)
        ushr r9.xyzw, r10.xyzw, r2.wwww
        and r11.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r9.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r9.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r9.xyzw, l(7, 7, 7, 7), r14.xyzw, r9.xyzw, l(0, 0, 0, 0)
        and r9.xyzw, r9.xyzw, l(127, 127, 127, 127)
        movc r9.xyzw, r13.xyzw, r12.xyzw, r9.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
        iadd r9.xyzw, r12.xyzw, r9.xyzw
        movc r10.xyzw, r11.xyzw, r9.xyzw, l(0,0,0,0)
        ushr r2.w, r0.y, r2.w
        and r9.xy, r2.wwww, l(1023, 127, 0, 0)
        ubfe r7.z, l(3), l(7), r2.w
        firstbit_hi r9.z, r9.y
        iadd r9.z, r9.z, l(-24)
        movc r9.z, r9.y, r9.z, l(8)
        iadd r9.w, -r9.z, l(1)
        movc r9.w, r7.z, r7.z, r9.w
        bfi r2.w, l(7), r9.z, r2.w, l(0)
        and r2.w, r2.w, l(127)
        movc r2.w, r7.z, r9.y, r2.w
        ishl r7.z, r9.w, l(23)
        iadd r7.z, r7.z, l(0x3e000000)
        ishl r2.w, r2.w, l(16)
        iadd r2.w, r7.z, r2.w
        movc r0.y, r9.x, r2.w, l(0)
        break 
        case l(4)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r2.w, l(16), l(0), r0.y
        itof r2.w, r2.w
        mul r2.w, r2.w, l(0.000977)
        max r0.y, r2.w, l(-1.000000)
        break 
        case l(6)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r0.y, r0.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r8.x, r7.x, T0[0].xxxx
      iadd r9.xyzw, r7.xxxx, l(8, 16, 24, 32)
      ld_raw r8.y, r9.x, T0[0].xxxx
      ld_raw r8.z, r9.y, T0[0].xxxx
      ld_raw r8.w, r9.z, T0[0].xxxx
      ld_raw r10.x, r9.w, T0[0].xxxx
      iadd r9.xyzw, r7.xxxx, l(40, 48, 56, 64)
      ld_raw r10.y, r9.x, T0[0].xxxx
      ld_raw r10.z, r9.y, T0[0].xxxx
      ld_raw r10.w, r9.z, T0[0].xxxx
      ld_raw r0.y, r9.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r9.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r9.xyzw, r9.xyzw
        mul r9.xyzw, r9.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r9.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r2.w, l(16), l(0), r0.y
        itof r2.w, r2.w
        mul r2.w, r2.w, l(0.000977)
        max r0.y, r2.w, l(-1.000000)
        break 
        case l(7)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r0.y, r0.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r8.xyzw, r5.xyzw, r8.xyzw
    add r9.xyzw, r6.xyzw, r10.xyzw
    add r0.y, r0.y, r1.y
    if_z r2.z
      ld_raw r10.xyzw, r7.y, T0[0].xyzw
      iadd r7.xz, r7.yyyy, l(16, 0, 32, 0)
      ld_raw r11.xyzw, r7.x, T0[0].xyzw
      ld_raw r2.w, r7.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r7.x, r1.w, l(16), l(0)
        ushr r12.xyzw, r10.xyzw, r7.xxxx
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r12.xyzw, r11.xyzw, r7.xxxx
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r7.x, r2.w, r7.x
        and r7.x, r7.x, l(255)
        utof r7.x, r7.x
        mul r2.w, r7.x, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r7.x, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r7.xxxx
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r12.xyzw, r11.xyzw, r7.xxxx
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r7.x, r2.w, r7.x
        and r7.x, r7.x, l(1023)
        utof r7.x, r7.x
        mul r2.w, r7.x, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r7.x, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r7.xxxx
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r10.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r12.xyzw, r11.xyzw, r7.xxxx
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r11.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r7.x, r2.w, r7.x
        and r12.xy, r7.xxxx, l(1023, 127, 0, 0)
        ubfe r7.z, l(3), l(7), r7.x
        firstbit_hi r12.z, r12.y
        iadd r12.z, r12.z, l(-24)
        movc r12.z, r12.y, r12.z, l(8)
        iadd r12.w, -r12.z, l(1)
        movc r12.w, r7.z, r7.z, r12.w
        bfi r7.x, l(7), r12.z, r7.x, l(0)
        and r7.x, r7.x, l(127)
        movc r7.x, r7.z, r12.y, r7.x
        ishl r7.z, r12.w, l(23)
        iadd r7.z, r7.z, l(0x3e000000)
        ishl r7.x, r7.x, l(16)
        iadd r7.x, r7.z, r7.x
        movc r2.w, r12.x, r7.x, l(0)
        break 
        case l(4)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r7.x, l(16), l(0), r2.w
        itof r7.x, r7.x
        mul r7.x, r7.x, l(0.000977)
        max r2.w, r7.x, l(-1.000000)
        break 
        case l(6)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r2.w, r2.w
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r10.x, r7.y, T0[0].xxxx
      iadd r12.xyzw, r7.yyyy, l(8, 16, 24, 32)
      ld_raw r10.y, r12.x, T0[0].xxxx
      ld_raw r10.z, r12.y, T0[0].xxxx
      ld_raw r10.w, r12.z, T0[0].xxxx
      ld_raw r11.x, r12.w, T0[0].xxxx
      iadd r12.xyzw, r7.yyyy, l(40, 48, 56, 64)
      ld_raw r11.y, r12.x, T0[0].xxxx
      ld_raw r11.z, r12.y, T0[0].xxxx
      ld_raw r11.w, r12.z, T0[0].xxxx
      ld_raw r2.w, r12.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r7.x, l(16), l(0), r2.w
        itof r7.x, r7.x
        mul r7.x, r7.x, l(0.000977)
        max r2.w, r7.x, l(-1.000000)
        break 
        case l(7)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r2.w, r2.w
        break 
        default 
        break 
      endswitch 
    endif 
    add r5.xyzw, r8.xyzw, r10.xyzw
    add r6.xyzw, r9.xyzw, r11.xyzw
    add r1.y, r0.y, r2.w
  endif 
else 
  mov r1.z, r3.x
endif 
mul r5.xyzw, r1.zzzz, r5.xyzw
mul r6.xyzw, r1.zzzz, r6.xyzw
mul_sat r0.y, r1.z, r1.y
if_nz r0.w
  mov r5.x, r5.w
  mov r5.yz, r6.xxyx
endif 
mov_sat r5.xyzw, r5.xyzw
mad r5.xyzw, r5.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r5.xyzw, r5.xyzw
imad r1.y, r5.y, l(256), r5.x
imad r1.y, r5.z, l(0x00010000), r1.y
imad r4.y, r5.w, l(0x01000000), r1.y
store_uav_typed U0[0].xyzw, r7.wwww, r4.xyzw
mov_sat r6.xyzw, r6.xyzw
mad r4.xyzw, r6.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r1.y, r4.y, l(256), r4.x
imad r1.y, r4.z, l(0x00010000), r1.y
imad r4.xzw, r4.wwww, l(0x01000000, 0, 0x01000000, 0x01000000), r1.yyyy
mad r0.y, r0.y, l(255.000000), l(0.500000)
ftou r0.y, r0.y
iadd r0.x, r0.z, r0.x
if_nz r2.x
  iadd r1.y, r0.x, l(4)
else 
  mov r1.y, r0.x
endif 
if_z r2.z
  ld_raw r5.xyzw, r1.y, T0[0].xyzw
  iadd r6.xy, r1.yyyy, l(16, 32, 0, 0)
  ld_raw r7.xyzw, r6.x, T0[0].xyzw
  ld_raw r1.z, r6.y, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r2.w, r1.w, l(16), l(0)
    ushr r6.xyzw, r5.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(255, 255, 255, 255)
    utof r6.xyzw, r6.xyzw
    mul r5.xyzw, r6.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r6.xyzw, r7.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(255, 255, 255, 255)
    utof r6.xyzw, r6.xyzw
    mul r7.xyzw, r6.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(255)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r2.w, r1.w, l(20), l(0)
    ushr r6.xyzw, r5.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    utof r6.xyzw, r6.xyzw
    mul r5.xyzw, r6.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r6.xyzw, r7.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    utof r6.xyzw, r6.xyzw
    mul r7.xyzw, r6.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(1023)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r2.w, r1.w, l(20), l(0)
    ushr r6.xyzw, r5.xyzw, r2.wwww
    and r8.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    and r9.xyzw, r6.xyzw, l(127, 127, 127, 127)
    ubfe r10.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r6.xyzw
    firstbit_hi r11.xyzw, r9.xyzw
    iadd r11.xyzw, r11.xyzw, l(-24, -24, -24, -24)
    movc r11.xyzw, r9.xyzw, r11.xyzw, l(8,8,8,8)
    iadd r12.xyzw, -r11.xyzw, l(1, 1, 1, 1)
    movc r12.xyzw, r10.xyzw, r10.xyzw, r12.xyzw
    bfi r6.xyzw, l(7, 7, 7, 7), r11.xyzw, r6.xyzw, l(0, 0, 0, 0)
    and r6.xyzw, r6.xyzw, l(127, 127, 127, 127)
    movc r6.xyzw, r10.xyzw, r9.xyzw, r6.xyzw
    ishl r9.xyzw, r12.xyzw, l(23, 23, 23, 23)
    iadd r9.xyzw, r9.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
    iadd r6.xyzw, r9.xyzw, r6.xyzw
    movc r5.xyzw, r8.xyzw, r6.xyzw, l(0,0,0,0)
    ushr r6.xyzw, r7.xyzw, r2.wwww
    and r8.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    and r9.xyzw, r6.xyzw, l(127, 127, 127, 127)
    ubfe r10.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r6.xyzw
    firstbit_hi r11.xyzw, r9.xyzw
    iadd r11.xyzw, r11.xyzw, l(-24, -24, -24, -24)
    movc r11.xyzw, r9.xyzw, r11.xyzw, l(8,8,8,8)
    iadd r12.xyzw, -r11.xyzw, l(1, 1, 1, 1)
    movc r12.xyzw, r10.xyzw, r10.xyzw, r12.xyzw
    bfi r6.xyzw, l(7, 7, 7, 7), r11.xyzw, r6.xyzw, l(0, 0, 0, 0)
    and r6.xyzw, r6.xyzw, l(127, 127, 127, 127)
    movc r6.xyzw, r10.xyzw, r9.xyzw, r6.xyzw
    ishl r9.xyzw, r12.xyzw, l(23, 23, 23, 23)
    iadd r9.xyzw, r9.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
    iadd r6.xyzw, r9.xyzw, r6.xyzw
    movc r7.xyzw, r8.xyzw, r6.xyzw, l(0,0,0,0)
    ushr r2.w, r1.z, r2.w
    and r6.xy, r2.wwww, l(1023, 127, 0, 0)
    ubfe r6.z, l(3), l(7), r2.w
    firstbit_hi r6.w, r6.y
    iadd r6.w, r6.w, l(-24)
    movc r6.w, r6.y, r6.w, l(8)
    iadd r8.x, -r6.w, l(1)
    movc r8.x, r6.z, r6.z, r8.x
    bfi r2.w, l(7), r6.w, r2.w, l(0)
    and r2.w, r2.w, l(127)
    movc r2.w, r6.z, r6.y, r2.w
    ishl r6.y, r8.x, l(23)
    iadd r6.y, r6.y, l(0x3e000000)
    ishl r2.w, r2.w, l(16)
    iadd r2.w, r6.y, r2.w
    movc r1.z, r6.x, r2.w, l(0)
    break 
    case l(4)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r7.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(6)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r7.xyzw, r7.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r5.x, r1.y, T0[0].xxxx
  iadd r6.xyzw, r1.yyyy, l(8, 16, 24, 32)
  ld_raw r5.y, r6.x, T0[0].xxxx
  ld_raw r5.z, r6.y, T0[0].xxxx
  ld_raw r5.w, r6.z, T0[0].xxxx
  ld_raw r7.x, r6.w, T0[0].xxxx
  iadd r6.xyzw, r1.yyyy, l(40, 48, 56, 64)
  ld_raw r7.y, r6.x, T0[0].xxxx
  ld_raw r7.z, r6.y, T0[0].xxxx
  ld_raw r7.w, r6.z, T0[0].xxxx
  ld_raw r1.z, r6.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r7.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(7)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r7.xyzw, r7.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
endif 
if_nz r3.y
  mul r2.w, r3.x, l(0.500000)
  ishl r6.x, l(2880), r3.z
  iadd r6.x, r1.y, r6.x
  if_z r2.z
    ld_raw r8.xyzw, r6.x, T0[0].xyzw
    iadd r6.yz, r6.xxxx, l(0, 16, 32, 0)
    ld_raw r9.xyzw, r6.y, T0[0].xyzw
    ld_raw r6.y, r6.z, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r6.z, r1.w, l(16), l(0)
      ushr r10.xyzw, r8.xyzw, r6.zzzz
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r10.xyzw, r9.xyzw, r6.zzzz
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r6.z, r6.y, r6.z
      and r6.z, r6.z, l(255)
      utof r6.z, r6.z
      mul r6.y, r6.z, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r6.z, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r6.zzzz
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r8.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r10.xyzw, r9.xyzw, r6.zzzz
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r6.z, r6.y, r6.z
      and r6.z, r6.z, l(1023)
      utof r6.z, r6.z
      mul r6.y, r6.z, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r6.z, r1.w, l(20), l(0)
      ushr r10.xyzw, r8.xyzw, r6.zzzz
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r8.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r10.xyzw, r9.xyzw, r6.zzzz
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r6.z, r6.y, r6.z
      and r10.xy, r6.zzzz, l(1023, 127, 0, 0)
      ubfe r6.w, l(3), l(7), r6.z
      firstbit_hi r10.z, r10.y
      iadd r10.z, r10.z, l(-24)
      movc r10.z, r10.y, r10.z, l(8)
      iadd r10.w, -r10.z, l(1)
      movc r10.w, r6.w, r6.w, r10.w
      bfi r6.z, l(7), r10.z, r6.z, l(0)
      and r6.z, r6.z, l(127)
      movc r6.z, r6.w, r10.y, r6.z
      ishl r6.w, r10.w, l(23)
      iadd r6.w, r6.w, l(0x3e000000)
      ishl r6.z, r6.z, l(16)
      iadd r6.z, r6.w, r6.z
      movc r6.y, r10.x, r6.z, l(0)
      break 
      case l(4)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r6.z, l(16), l(0), r6.y
      itof r6.z, r6.z
      mul r6.z, r6.z, l(0.000977)
      max r6.y, r6.z, l(-1.000000)
      break 
      case l(6)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r6.y, r6.y
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r8.x, r6.x, T0[0].xxxx
    iadd r10.xyzw, r6.xxxx, l(8, 16, 24, 32)
    ld_raw r8.y, r10.x, T0[0].xxxx
    ld_raw r8.z, r10.y, T0[0].xxxx
    ld_raw r8.w, r10.z, T0[0].xxxx
    ld_raw r9.x, r10.w, T0[0].xxxx
    iadd r10.xyzw, r6.xxxx, l(40, 48, 56, 64)
    ld_raw r9.y, r10.x, T0[0].xxxx
    ld_raw r9.z, r10.y, T0[0].xxxx
    ld_raw r9.w, r10.z, T0[0].xxxx
    ld_raw r6.y, r10.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r6.x, l(16), l(0), r6.y
      itof r6.x, r6.x
      mul r6.x, r6.x, l(0.000977)
      max r6.y, r6.x, l(-1.000000)
      break 
      case l(7)
      f16tof32 r8.xyzw, r8.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r6.y, r6.y
      break 
      default 
      break 
    endswitch 
  endif 
  add r5.xyzw, r5.xyzw, r8.xyzw
  add r7.xyzw, r7.xyzw, r9.xyzw
  add r1.z, r1.z, r6.y
  uge r6.x, r2.y, l(6)
  if_nz r6.x
    mul r2.w, r3.x, l(0.250000)
    ishl r6.xy, l(36, 2916, 0, 0), r3.zzzz
    iadd r6.xy, r1.yyyy, r6.xyxx
    if_z r2.z
      ld_raw r8.xyzw, r6.x, T0[0].xyzw
      iadd r6.zw, r6.xxxx, l(0, 0, 16, 32)
      ld_raw r9.xyzw, r6.z, T0[0].xyzw
      ld_raw r1.y, r6.w, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r6.z, r1.w, l(16), l(0)
        ushr r10.xyzw, r8.xyzw, r6.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r8.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r10.xyzw, r9.xyzw, r6.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r6.z, r1.y, r6.z
        and r6.z, r6.z, l(255)
        utof r6.z, r6.z
        mul r1.y, r6.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r6.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r8.xyzw, r6.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r8.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r10.xyzw, r9.xyzw, r6.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r6.z, r1.y, r6.z
        and r6.z, r6.z, l(1023)
        utof r6.z, r6.z
        mul r1.y, r6.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r6.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r8.xyzw, r6.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r8.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r10.xyzw, r9.xyzw, r6.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r6.z, r1.y, r6.z
        and r10.xy, r6.zzzz, l(1023, 127, 0, 0)
        ubfe r6.w, l(3), l(7), r6.z
        firstbit_hi r10.z, r10.y
        iadd r10.z, r10.z, l(-24)
        movc r10.z, r10.y, r10.z, l(8)
        iadd r10.w, -r10.z, l(1)
        movc r10.w, r6.w, r6.w, r10.w
        bfi r6.z, l(7), r10.z, r6.z, l(0)
        and r6.z, r6.z, l(127)
        movc r6.z, r6.w, r10.y, r6.z
        ishl r6.w, r10.w, l(23)
        iadd r6.w, r6.w, l(0x3e000000)
        ishl r6.z, r6.z, l(16)
        iadd r6.z, r6.w, r6.z
        movc r1.y, r10.x, r6.z, l(0)
        break 
        case l(4)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.z, l(16), l(0), r1.y
        itof r6.z, r6.z
        mul r6.z, r6.z, l(0.000977)
        max r1.y, r6.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r8.x, r6.x, T0[0].xxxx
      iadd r10.xyzw, r6.xxxx, l(8, 16, 24, 32)
      ld_raw r8.y, r10.x, T0[0].xxxx
      ld_raw r8.z, r10.y, T0[0].xxxx
      ld_raw r8.w, r10.z, T0[0].xxxx
      ld_raw r9.x, r10.w, T0[0].xxxx
      iadd r10.xyzw, r6.xxxx, l(40, 48, 56, 64)
      ld_raw r9.y, r10.x, T0[0].xxxx
      ld_raw r9.z, r10.y, T0[0].xxxx
      ld_raw r9.w, r10.z, T0[0].xxxx
      ld_raw r1.y, r10.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r8.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r8.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.x, l(16), l(0), r1.y
        itof r6.x, r6.x
        mul r6.x, r6.x, l(0.000977)
        max r1.y, r6.x, l(-1.000000)
        break 
        case l(7)
        f16tof32 r8.xyzw, r8.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r8.xyzw, r5.xyzw, r8.xyzw
    add r9.xyzw, r7.xyzw, r9.xyzw
    add r1.y, r1.y, r1.z
    if_z r2.z
      ld_raw r10.xyzw, r6.y, T0[0].xyzw
      iadd r6.xz, r6.yyyy, l(16, 0, 32, 0)
      ld_raw r11.xyzw, r6.x, T0[0].xyzw
      ld_raw r6.x, r6.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r6.z, r1.w, l(16), l(0)
        ushr r12.xyzw, r10.xyzw, r6.zzzz
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r12.xyzw, r11.xyzw, r6.zzzz
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r6.z, r6.x, r6.z
        and r6.z, r6.z, l(255)
        utof r6.z, r6.z
        mul r6.x, r6.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r6.z, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r6.zzzz
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r12.xyzw, r11.xyzw, r6.zzzz
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r6.z, r6.x, r6.z
        and r6.z, r6.z, l(1023)
        utof r6.z, r6.z
        mul r6.x, r6.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r6.z, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r6.zzzz
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r10.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r12.xyzw, r11.xyzw, r6.zzzz
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r11.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r6.z, r6.x, r6.z
        and r12.xy, r6.zzzz, l(1023, 127, 0, 0)
        ubfe r6.w, l(3), l(7), r6.z
        firstbit_hi r12.z, r12.y
        iadd r12.z, r12.z, l(-24)
        movc r12.z, r12.y, r12.z, l(8)
        iadd r12.w, -r12.z, l(1)
        movc r12.w, r6.w, r6.w, r12.w
        bfi r6.z, l(7), r12.z, r6.z, l(0)
        and r6.z, r6.z, l(127)
        movc r6.z, r6.w, r12.y, r6.z
        ishl r6.w, r12.w, l(23)
        iadd r6.w, r6.w, l(0x3e000000)
        ishl r6.z, r6.z, l(16)
        iadd r6.z, r6.w, r6.z
        movc r6.x, r12.x, r6.z, l(0)
        break 
        case l(4)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.z, l(16), l(0), r6.x
        itof r6.z, r6.z
        mul r6.z, r6.z, l(0.000977)
        max r6.x, r6.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r6.x, r6.x
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r10.x, r6.y, T0[0].xxxx
      iadd r12.xyzw, r6.yyyy, l(8, 16, 24, 32)
      ld_raw r10.y, r12.x, T0[0].xxxx
      ld_raw r10.z, r12.y, T0[0].xxxx
      ld_raw r10.w, r12.z, T0[0].xxxx
      ld_raw r11.x, r12.w, T0[0].xxxx
      iadd r12.xyzw, r6.yyyy, l(40, 48, 56, 64)
      ld_raw r11.y, r12.x, T0[0].xxxx
      ld_raw r11.z, r12.y, T0[0].xxxx
      ld_raw r11.w, r12.z, T0[0].xxxx
      ld_raw r6.x, r12.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.y, l(16), l(0), r6.x
        itof r6.y, r6.y
        mul r6.y, r6.y, l(0.000977)
        max r6.x, r6.y, l(-1.000000)
        break 
        case l(7)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r6.x, r6.x
        break 
        default 
        break 
      endswitch 
    endif 
    add r5.xyzw, r8.xyzw, r10.xyzw
    add r7.xyzw, r9.xyzw, r11.xyzw
    add r1.z, r1.y, r6.x
  endif 
else 
  mov r2.w, r3.x
endif 
mul r5.xyzw, r2.wwww, r5.xyzw
mul r6.xyzw, r2.wwww, r7.xyzw
mul_sat r7.y, r1.z, r2.w
if_nz r0.w
  mov r5.x, r5.w
  mov r5.yz, r6.xxyx
endif 
iadd r8.xyzw, r1.xxxx, l(5, 6, 7, 8)
mov_sat r5.xyzw, r5.xyzw
mad r9.xyz, r5.xyzx, l(255.000000, 255.000000, 255.000000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
ftou r9.xyz, r9.xyzx
imad r1.y, r9.y, l(256), r9.x
ishl r1.z, r9.z, l(24)
imad r1.y, r1.y, l(256), r1.z
iadd r4.y, r0.y, r1.y
store_uav_typed U0[0].xyzw, r8.xxxx, r4.xyzw
mov_sat r5.xyz, r6.xyzx
mad r4.xyzw, r5.wxyz, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r0.y, r4.y, l(256), r4.x
imad r0.y, r4.z, l(0x00010000), r0.y
imad r4.xzw, r4.wwww, l(0x01000000, 0, 0x01000000, 0x01000000), r0.yyyy
mov_sat r7.x, r6.w
mad r1.yz, r7.xxyx, l(0.000000, 255.000000, 255.000000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
ftou r1.yz, r1.yyzy
imad r0.y, r1.z, l(256), r1.y
iadd r0.x, r0.z, r0.x
if_nz r2.x
  iadd r1.y, r0.x, l(4)
else 
  mov r1.y, r0.x
endif 
if_z r2.z
  ld_raw r5.xyzw, r1.y, T0[0].xyzw
  iadd r6.xy, r1.yyyy, l(16, 32, 0, 0)
  ld_raw r7.xyzw, r6.x, T0[0].xyzw
  ld_raw r1.z, r6.y, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r2.w, r1.w, l(16), l(0)
    ushr r6.xyzw, r5.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(255, 255, 255, 255)
    utof r6.xyzw, r6.xyzw
    mul r5.xyzw, r6.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r6.xyzw, r7.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(255, 255, 255, 255)
    utof r6.xyzw, r6.xyzw
    mul r7.xyzw, r6.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(255)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r2.w, r1.w, l(20), l(0)
    ushr r6.xyzw, r5.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    utof r6.xyzw, r6.xyzw
    mul r5.xyzw, r6.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r6.xyzw, r7.xyzw, r2.wwww
    and r6.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    utof r6.xyzw, r6.xyzw
    mul r7.xyzw, r6.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r2.w, r1.z, r2.w
    and r2.w, r2.w, l(1023)
    utof r2.w, r2.w
    mul r1.z, r2.w, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r2.w, r1.w, l(20), l(0)
    ushr r6.xyzw, r5.xyzw, r2.wwww
    and r9.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    and r10.xyzw, r6.xyzw, l(127, 127, 127, 127)
    ubfe r11.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r6.xyzw
    firstbit_hi r12.xyzw, r10.xyzw
    iadd r12.xyzw, r12.xyzw, l(-24, -24, -24, -24)
    movc r12.xyzw, r10.xyzw, r12.xyzw, l(8,8,8,8)
    iadd r13.xyzw, -r12.xyzw, l(1, 1, 1, 1)
    movc r13.xyzw, r11.xyzw, r11.xyzw, r13.xyzw
    bfi r6.xyzw, l(7, 7, 7, 7), r12.xyzw, r6.xyzw, l(0, 0, 0, 0)
    and r6.xyzw, r6.xyzw, l(127, 127, 127, 127)
    movc r6.xyzw, r11.xyzw, r10.xyzw, r6.xyzw
    ishl r10.xyzw, r13.xyzw, l(23, 23, 23, 23)
    iadd r10.xyzw, r10.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
    iadd r6.xyzw, r10.xyzw, r6.xyzw
    movc r5.xyzw, r9.xyzw, r6.xyzw, l(0,0,0,0)
    ushr r6.xyzw, r7.xyzw, r2.wwww
    and r9.xyzw, r6.xyzw, l(1023, 1023, 1023, 1023)
    and r10.xyzw, r6.xyzw, l(127, 127, 127, 127)
    ubfe r11.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r6.xyzw
    firstbit_hi r12.xyzw, r10.xyzw
    iadd r12.xyzw, r12.xyzw, l(-24, -24, -24, -24)
    movc r12.xyzw, r10.xyzw, r12.xyzw, l(8,8,8,8)
    iadd r13.xyzw, -r12.xyzw, l(1, 1, 1, 1)
    movc r13.xyzw, r11.xyzw, r11.xyzw, r13.xyzw
    bfi r6.xyzw, l(7, 7, 7, 7), r12.xyzw, r6.xyzw, l(0, 0, 0, 0)
    and r6.xyzw, r6.xyzw, l(127, 127, 127, 127)
    movc r6.xyzw, r11.xyzw, r10.xyzw, r6.xyzw
    ishl r10.xyzw, r13.xyzw, l(23, 23, 23, 23)
    iadd r10.xyzw, r10.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
    iadd r6.xyzw, r10.xyzw, r6.xyzw
    movc r7.xyzw, r9.xyzw, r6.xyzw, l(0,0,0,0)
    ushr r2.w, r1.z, r2.w
    and r6.xy, r2.wwww, l(1023, 127, 0, 0)
    ubfe r6.z, l(3), l(7), r2.w
    firstbit_hi r6.w, r6.y
    iadd r6.w, r6.w, l(-24)
    movc r6.w, r6.y, r6.w, l(8)
    iadd r8.x, -r6.w, l(1)
    movc r8.x, r6.z, r6.z, r8.x
    bfi r2.w, l(7), r6.w, r2.w, l(0)
    and r2.w, r2.w, l(127)
    movc r2.w, r6.z, r6.y, r2.w
    ishl r6.y, r8.x, l(23)
    iadd r6.y, r6.y, l(0x3e000000)
    ishl r2.w, r2.w, l(16)
    iadd r2.w, r6.y, r2.w
    movc r1.z, r6.x, r2.w, l(0)
    break 
    case l(4)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r7.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(6)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r7.xyzw, r7.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r5.x, r1.y, T0[0].xxxx
  iadd r6.xyzw, r1.yyyy, l(8, 16, 24, 32)
  ld_raw r5.y, r6.x, T0[0].xxxx
  ld_raw r5.z, r6.y, T0[0].xxxx
  ld_raw r5.w, r6.z, T0[0].xxxx
  ld_raw r7.x, r6.w, T0[0].xxxx
  iadd r6.xyzw, r1.yyyy, l(40, 48, 56, 64)
  ld_raw r7.y, r6.x, T0[0].xxxx
  ld_raw r7.z, r6.y, T0[0].xxxx
  ld_raw r7.w, r6.z, T0[0].xxxx
  ld_raw r1.z, r6.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r6.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
    itof r6.xyzw, r6.xyzw
    mul r6.xyzw, r6.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r7.xyzw, r6.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r2.w, l(16), l(0), r1.z
    itof r2.w, r2.w
    mul r2.w, r2.w, l(0.000977)
    max r1.z, r2.w, l(-1.000000)
    break 
    case l(7)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r7.xyzw, r7.xyzw
    f16tof32 r1.z, r1.z
    break 
    default 
    break 
  endswitch 
endif 
if_nz r3.y
  mul r2.w, r3.x, l(0.500000)
  ishl r6.x, l(2880), r3.z
  iadd r6.x, r1.y, r6.x
  if_z r2.z
    ld_raw r9.xyzw, r6.x, T0[0].xyzw
    iadd r6.yz, r6.xxxx, l(0, 16, 32, 0)
    ld_raw r10.xyzw, r6.y, T0[0].xyzw
    ld_raw r6.y, r6.z, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r6.z, r1.w, l(16), l(0)
      ushr r11.xyzw, r9.xyzw, r6.zzzz
      and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
      utof r11.xyzw, r11.xyzw
      mul r9.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r11.xyzw, r10.xyzw, r6.zzzz
      and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
      utof r11.xyzw, r11.xyzw
      mul r10.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r6.z, r6.y, r6.z
      and r6.z, r6.z, l(255)
      utof r6.z, r6.z
      mul r6.y, r6.z, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r6.z, r1.w, l(20), l(0)
      ushr r11.xyzw, r9.xyzw, r6.zzzz
      and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
      utof r11.xyzw, r11.xyzw
      mul r9.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r11.xyzw, r10.xyzw, r6.zzzz
      and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
      utof r11.xyzw, r11.xyzw
      mul r10.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r6.z, r6.y, r6.z
      and r6.z, r6.z, l(1023)
      utof r6.z, r6.z
      mul r6.y, r6.z, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r6.z, r1.w, l(20), l(0)
      ushr r11.xyzw, r9.xyzw, r6.zzzz
      and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
      and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
      ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
      firstbit_hi r15.xyzw, r13.xyzw
      iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
      movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
      iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
      movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
      bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
      and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
      movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
      ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
      iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
      iadd r11.xyzw, r13.xyzw, r11.xyzw
      movc r9.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
      ushr r11.xyzw, r10.xyzw, r6.zzzz
      and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
      and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
      ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
      firstbit_hi r15.xyzw, r13.xyzw
      iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
      movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
      iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
      movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
      bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
      and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
      movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
      ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
      iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
      iadd r11.xyzw, r13.xyzw, r11.xyzw
      movc r10.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
      ushr r6.z, r6.y, r6.z
      and r11.xy, r6.zzzz, l(1023, 127, 0, 0)
      ubfe r6.w, l(3), l(7), r6.z
      firstbit_hi r8.x, r11.y
      iadd r8.x, r8.x, l(-24)
      movc r8.x, r11.y, r8.x, l(8)
      iadd r11.z, -r8.x, l(1)
      movc r11.z, r6.w, r6.w, r11.z
      bfi r6.z, l(7), r8.x, r6.z, l(0)
      and r6.z, r6.z, l(127)
      movc r6.z, r6.w, r11.y, r6.z
      ishl r6.w, r11.z, l(23)
      iadd r6.w, r6.w, l(0x3e000000)
      ishl r6.z, r6.z, l(16)
      iadd r6.z, r6.w, r6.z
      movc r6.y, r11.x, r6.z, l(0)
      break 
      case l(4)
      ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r11.xyzw, r11.xyzw
      mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
      itof r11.xyzw, r11.xyzw
      mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r6.z, l(16), l(0), r6.y
      itof r6.z, r6.z
      mul r6.z, r6.z, l(0.000977)
      max r6.y, r6.z, l(-1.000000)
      break 
      case l(6)
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r10.xyzw, r10.xyzw
      f16tof32 r6.y, r6.y
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r9.x, r6.x, T0[0].xxxx
    iadd r11.xyzw, r6.xxxx, l(8, 16, 24, 32)
    ld_raw r9.y, r11.x, T0[0].xxxx
    ld_raw r9.z, r11.y, T0[0].xxxx
    ld_raw r9.w, r11.z, T0[0].xxxx
    ld_raw r10.x, r11.w, T0[0].xxxx
    iadd r11.xyzw, r6.xxxx, l(40, 48, 56, 64)
    ld_raw r10.y, r11.x, T0[0].xxxx
    ld_raw r10.z, r11.y, T0[0].xxxx
    ld_raw r10.w, r11.z, T0[0].xxxx
    ld_raw r6.y, r11.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r11.xyzw, r11.xyzw
      mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
      itof r11.xyzw, r11.xyzw
      mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r6.x, l(16), l(0), r6.y
      itof r6.x, r6.x
      mul r6.x, r6.x, l(0.000977)
      max r6.y, r6.x, l(-1.000000)
      break 
      case l(7)
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r10.xyzw, r10.xyzw
      f16tof32 r6.y, r6.y
      break 
      default 
      break 
    endswitch 
  endif 
  add r5.xyzw, r5.xyzw, r9.xyzw
  add r7.xyzw, r7.xyzw, r10.xyzw
  add r1.z, r1.z, r6.y
  uge r6.x, r2.y, l(6)
  if_nz r6.x
    mul r2.w, r3.x, l(0.250000)
    ishl r6.xy, l(36, 2916, 0, 0), r3.zzzz
    iadd r6.xy, r1.yyyy, r6.xyxx
    if_z r2.z
      ld_raw r9.xyzw, r6.x, T0[0].xyzw
      iadd r6.zw, r6.xxxx, l(0, 0, 16, 32)
      ld_raw r10.xyzw, r6.z, T0[0].xyzw
      ld_raw r1.y, r6.w, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r6.z, r1.w, l(16), l(0)
        ushr r11.xyzw, r9.xyzw, r6.zzzz
        and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
        utof r11.xyzw, r11.xyzw
        mul r9.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r11.xyzw, r10.xyzw, r6.zzzz
        and r11.xyzw, r11.xyzw, l(255, 255, 255, 255)
        utof r11.xyzw, r11.xyzw
        mul r10.xyzw, r11.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r6.z, r1.y, r6.z
        and r6.z, r6.z, l(255)
        utof r6.z, r6.z
        mul r1.y, r6.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r6.z, r1.w, l(20), l(0)
        ushr r11.xyzw, r9.xyzw, r6.zzzz
        and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        utof r11.xyzw, r11.xyzw
        mul r9.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r11.xyzw, r10.xyzw, r6.zzzz
        and r11.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        utof r11.xyzw, r11.xyzw
        mul r10.xyzw, r11.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r6.z, r1.y, r6.z
        and r6.z, r6.z, l(1023)
        utof r6.z, r6.z
        mul r1.y, r6.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r6.z, r1.w, l(20), l(0)
        ushr r11.xyzw, r9.xyzw, r6.zzzz
        and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
        ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
        firstbit_hi r15.xyzw, r13.xyzw
        iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
        movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
        iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
        movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
        bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
        and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
        movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
        ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
        iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
        iadd r11.xyzw, r13.xyzw, r11.xyzw
        movc r9.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
        ushr r11.xyzw, r10.xyzw, r6.zzzz
        and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
        and r13.xyzw, r11.xyzw, l(127, 127, 127, 127)
        ubfe r14.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r11.xyzw
        firstbit_hi r15.xyzw, r13.xyzw
        iadd r15.xyzw, r15.xyzw, l(-24, -24, -24, -24)
        movc r15.xyzw, r13.xyzw, r15.xyzw, l(8,8,8,8)
        iadd r16.xyzw, -r15.xyzw, l(1, 1, 1, 1)
        movc r16.xyzw, r14.xyzw, r14.xyzw, r16.xyzw
        bfi r11.xyzw, l(7, 7, 7, 7), r15.xyzw, r11.xyzw, l(0, 0, 0, 0)
        and r11.xyzw, r11.xyzw, l(127, 127, 127, 127)
        movc r11.xyzw, r14.xyzw, r13.xyzw, r11.xyzw
        ishl r13.xyzw, r16.xyzw, l(23, 23, 23, 23)
        iadd r13.xyzw, r13.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
        iadd r11.xyzw, r13.xyzw, r11.xyzw
        movc r10.xyzw, r12.xyzw, r11.xyzw, l(0,0,0,0)
        ushr r6.z, r1.y, r6.z
        and r11.xy, r6.zzzz, l(1023, 127, 0, 0)
        ubfe r6.w, l(3), l(7), r6.z
        firstbit_hi r8.x, r11.y
        iadd r8.x, r8.x, l(-24)
        movc r8.x, r11.y, r8.x, l(8)
        iadd r11.z, -r8.x, l(1)
        movc r11.z, r6.w, r6.w, r11.z
        bfi r6.z, l(7), r8.x, r6.z, l(0)
        and r6.z, r6.z, l(127)
        movc r6.z, r6.w, r11.y, r6.z
        ishl r6.w, r11.z, l(23)
        iadd r6.w, r6.w, l(0x3e000000)
        ishl r6.z, r6.z, l(16)
        iadd r6.z, r6.w, r6.z
        movc r1.y, r11.x, r6.z, l(0)
        break 
        case l(4)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.z, l(16), l(0), r1.y
        itof r6.z, r6.z
        mul r6.z, r6.z, l(0.000977)
        max r1.y, r6.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r9.x, r6.x, T0[0].xxxx
      iadd r11.xyzw, r6.xxxx, l(8, 16, 24, 32)
      ld_raw r9.y, r11.x, T0[0].xxxx
      ld_raw r9.z, r11.y, T0[0].xxxx
      ld_raw r9.w, r11.z, T0[0].xxxx
      ld_raw r10.x, r11.w, T0[0].xxxx
      iadd r11.xyzw, r6.xxxx, l(40, 48, 56, 64)
      ld_raw r10.y, r11.x, T0[0].xxxx
      ld_raw r10.z, r11.y, T0[0].xxxx
      ld_raw r10.w, r11.z, T0[0].xxxx
      ld_raw r1.y, r11.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r11.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r11.xyzw, r11.xyzw
        mul r11.xyzw, r11.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r11.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.x, l(16), l(0), r1.y
        itof r6.x, r6.x
        mul r6.x, r6.x, l(0.000977)
        max r1.y, r6.x, l(-1.000000)
        break 
        case l(7)
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r1.y, r1.y
        break 
        default 
        break 
      endswitch 
    endif 
    add r9.xyzw, r5.xyzw, r9.xyzw
    add r10.xyzw, r7.xyzw, r10.xyzw
    add r1.y, r1.y, r1.z
    if_z r2.z
      ld_raw r11.xyzw, r6.y, T0[0].xyzw
      iadd r6.xz, r6.yyyy, l(16, 0, 32, 0)
      ld_raw r12.xyzw, r6.x, T0[0].xyzw
      ld_raw r6.x, r6.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r6.z, r1.w, l(16), l(0)
        ushr r13.xyzw, r11.xyzw, r6.zzzz
        and r13.xyzw, r13.xyzw, l(255, 255, 255, 255)
        utof r13.xyzw, r13.xyzw
        mul r11.xyzw, r13.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r13.xyzw, r12.xyzw, r6.zzzz
        and r13.xyzw, r13.xyzw, l(255, 255, 255, 255)
        utof r13.xyzw, r13.xyzw
        mul r12.xyzw, r13.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r6.z, r6.x, r6.z
        and r6.z, r6.z, l(255)
        utof r6.z, r6.z
        mul r6.x, r6.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r6.z, r1.w, l(20), l(0)
        ushr r13.xyzw, r11.xyzw, r6.zzzz
        and r13.xyzw, r13.xyzw, l(1023, 1023, 1023, 1023)
        utof r13.xyzw, r13.xyzw
        mul r11.xyzw, r13.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r13.xyzw, r12.xyzw, r6.zzzz
        and r13.xyzw, r13.xyzw, l(1023, 1023, 1023, 1023)
        utof r13.xyzw, r13.xyzw
        mul r12.xyzw, r13.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r6.z, r6.x, r6.z
        and r6.z, r6.z, l(1023)
        utof r6.z, r6.z
        mul r6.x, r6.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r6.z, r1.w, l(20), l(0)
        ushr r13.xyzw, r11.xyzw, r6.zzzz
        and r14.xyzw, r13.xyzw, l(1023, 1023, 1023, 1023)
        and r15.xyzw, r13.xyzw, l(127, 127, 127, 127)
        ubfe r16.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r13.xyzw
        firstbit_hi r17.xyzw, r15.xyzw
        iadd r17.xyzw, r17.xyzw, l(-24, -24, -24, -24)
        movc r17.xyzw, r15.xyzw, r17.xyzw, l(8,8,8,8)
        iadd r18.xyzw, -r17.xyzw, l(1, 1, 1, 1)
        movc r18.xyzw, r16.xyzw, r16.xyzw, r18.xyzw
        bfi r13.xyzw, l(7, 7, 7, 7), r17.xyzw, r13.xyzw, l(0, 0, 0, 0)
        and r13.xyzw, r13.xyzw, l(127, 127, 127, 127)
        movc r13.xyzw, r16.xyzw, r15.xyzw, r13.xyzw
        ishl r15.xyzw, r18.xyzw, l(23, 23, 23, 23)
        iadd r15.xyzw, r15.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r13.xyzw, r13.xyzw, l(16, 16, 16, 16)
        iadd r13.xyzw, r15.xyzw, r13.xyzw
        movc r11.xyzw, r14.xyzw, r13.xyzw, l(0,0,0,0)
        ushr r13.xyzw, r12.xyzw, r6.zzzz
        and r14.xyzw, r13.xyzw, l(1023, 1023, 1023, 1023)
        and r15.xyzw, r13.xyzw, l(127, 127, 127, 127)
        ubfe r16.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r13.xyzw
        firstbit_hi r17.xyzw, r15.xyzw
        iadd r17.xyzw, r17.xyzw, l(-24, -24, -24, -24)
        movc r17.xyzw, r15.xyzw, r17.xyzw, l(8,8,8,8)
        iadd r18.xyzw, -r17.xyzw, l(1, 1, 1, 1)
        movc r18.xyzw, r16.xyzw, r16.xyzw, r18.xyzw
        bfi r13.xyzw, l(7, 7, 7, 7), r17.xyzw, r13.xyzw, l(0, 0, 0, 0)
        and r13.xyzw, r13.xyzw, l(127, 127, 127, 127)
        movc r13.xyzw, r16.xyzw, r15.xyzw, r13.xyzw
        ishl r15.xyzw, r18.xyzw, l(23, 23, 23, 23)
        iadd r15.xyzw, r15.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r13.xyzw, r13.xyzw, l(16, 16, 16, 16)
        iadd r13.xyzw, r15.xyzw, r13.xyzw
        movc r12.xyzw, r14.xyzw, r13.xyzw, l(0,0,0,0)
        ushr r6.z, r6.x, r6.z
        and r13.xy, r6.zzzz, l(1023, 127, 0, 0)
        ubfe r6.w, l(3), l(7), r6.z
        firstbit_hi r8.x, r13.y
        iadd r8.x, r8.x, l(-24)
        movc r8.x, r13.y, r8.x, l(8)
        iadd r13.z, -r8.x, l(1)
        movc r13.z, r6.w, r6.w, r13.z
        bfi r6.z, l(7), r8.x, r6.z, l(0)
        and r6.z, r6.z, l(127)
        movc r6.z, r6.w, r13.y, r6.z
        ishl r6.w, r13.z, l(23)
        iadd r6.w, r6.w, l(0x3e000000)
        ishl r6.z, r6.z, l(16)
        iadd r6.z, r6.w, r6.z
        movc r6.x, r13.x, r6.z, l(0)
        break 
        case l(4)
        ibfe r13.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r13.xyzw, r13.xyzw
        mul r13.xyzw, r13.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r13.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r13.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r12.xyzw
        itof r13.xyzw, r13.xyzw
        mul r13.xyzw, r13.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r12.xyzw, r13.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.z, l(16), l(0), r6.x
        itof r6.z, r6.z
        mul r6.z, r6.z, l(0.000977)
        max r6.x, r6.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r12.xyzw, r12.xyzw
        f16tof32 r6.x, r6.x
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r11.x, r6.y, T0[0].xxxx
      iadd r13.xyzw, r6.yyyy, l(8, 16, 24, 32)
      ld_raw r11.y, r13.x, T0[0].xxxx
      ld_raw r11.z, r13.y, T0[0].xxxx
      ld_raw r11.w, r13.z, T0[0].xxxx
      ld_raw r12.x, r13.w, T0[0].xxxx
      iadd r13.xyzw, r6.yyyy, l(40, 48, 56, 64)
      ld_raw r12.y, r13.x, T0[0].xxxx
      ld_raw r12.z, r13.y, T0[0].xxxx
      ld_raw r12.w, r13.z, T0[0].xxxx
      ld_raw r6.x, r13.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r13.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r13.xyzw, r13.xyzw
        mul r13.xyzw, r13.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r13.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r13.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r12.xyzw
        itof r13.xyzw, r13.xyzw
        mul r13.xyzw, r13.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r12.xyzw, r13.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r6.y, l(16), l(0), r6.x
        itof r6.y, r6.y
        mul r6.y, r6.y, l(0.000977)
        max r6.x, r6.y, l(-1.000000)
        break 
        case l(7)
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r12.xyzw, r12.xyzw
        f16tof32 r6.x, r6.x
        break 
        default 
        break 
      endswitch 
    endif 
    add r5.xyzw, r9.xyzw, r11.xyzw
    add r7.xyzw, r10.xyzw, r12.xyzw
    add r1.z, r1.y, r6.x
  endif 
else 
  mov r2.w, r3.x
endif 
mul r5.xyzw, r2.wwww, r5.xwyz
mul r6.xyzw, r2.wwww, r7.xyzw
mul_sat r7.z, r1.z, r2.w
if_nz r0.w
  mov r9.x, r5.y
  mov r9.y, r6.x
  mov r5.x, r6.y
else 
  mov r9.xy, r5.xzxx
  mov r5.x, r5.w
endif 
mov_sat r9.xy, r9.xyxx
mad r1.yz, r9.xxyx, l(0.000000, 255.000000, 255.000000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
ftou r1.yz, r1.yyzy
ishl r1.z, r1.z, l(24)
imad r1.y, r1.y, l(0x00010000), r1.z
iadd r4.y, r0.y, r1.y
store_uav_typed U0[0].xyzw, r8.yyyy, r4.xyzw
mov r5.zw, r6.xxxy
mov_sat r5.xyzw, r5.xyzw
mad r4.xyzw, r5.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
imad r0.y, r4.y, l(256), r4.x
imad r0.y, r4.z, l(0x00010000), r0.y
imad r4.xzw, r4.wwww, l(0x01000000, 0, 0x01000000, 0x01000000), r0.yyyy
mov_sat r7.xy, r6.zwzz
mad r5.xyz, r7.xyzx, l(255.000000, 255.000000, 255.000000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
ftou r5.xyz, r5.xyzx
imad r0.y, r5.y, l(256), r5.x
imad r0.y, r5.z, l(0x00010000), r0.y
iadd r0.x, r0.z, r0.x
if_nz r2.x
  iadd r0.x, r0.x, l(4)
endif 
if_z r2.z
  ld_raw r5.xyzw, r0.x, T0[0].xyzw
  iadd r1.yz, r0.xxxx, l(0, 16, 32, 0)
  ld_raw r6.xyzw, r1.y, T0[0].xyzw
  ld_raw r0.z, r1.z, T0[0].xxxx
  switch r3.w
    case l(0)
    case l(1)
    movc r1.y, r1.w, l(16), l(0)
    ushr r7.xyzw, r5.xyzw, r1.yyyy
    and r7.xyzw, r7.xyzw, l(255, 255, 255, 255)
    utof r7.xyzw, r7.xyzw
    mul r5.xyzw, r7.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r7.xyzw, r6.xyzw, r1.yyyy
    and r7.xyzw, r7.xyzw, l(255, 255, 255, 255)
    utof r7.xyzw, r7.xyzw
    mul r6.xyzw, r7.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
    ushr r1.y, r0.z, r1.y
    and r1.y, r1.y, l(255)
    utof r1.y, r1.y
    mul r0.z, r1.y, l(0.003922)
    break 
    case l(2)
    case l(10)
    movc r1.y, r1.w, l(20), l(0)
    ushr r7.xyzw, r5.xyzw, r1.yyyy
    and r7.xyzw, r7.xyzw, l(1023, 1023, 1023, 1023)
    utof r7.xyzw, r7.xyzw
    mul r5.xyzw, r7.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r7.xyzw, r6.xyzw, r1.yyyy
    and r7.xyzw, r7.xyzw, l(1023, 1023, 1023, 1023)
    utof r7.xyzw, r7.xyzw
    mul r6.xyzw, r7.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
    ushr r1.y, r0.z, r1.y
    and r1.y, r1.y, l(1023)
    utof r1.y, r1.y
    mul r0.z, r1.y, l(0.000978)
    break 
    case l(3)
    case l(12)
    movc r1.y, r1.w, l(20), l(0)
    ushr r7.xyzw, r5.xyzw, r1.yyyy
    and r9.xyzw, r7.xyzw, l(1023, 1023, 1023, 1023)
    and r10.xyzw, r7.xyzw, l(127, 127, 127, 127)
    ubfe r11.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r7.xyzw
    firstbit_hi r12.xyzw, r10.xyzw
    iadd r12.xyzw, r12.xyzw, l(-24, -24, -24, -24)
    movc r12.xyzw, r10.xyzw, r12.xyzw, l(8,8,8,8)
    iadd r13.xyzw, -r12.xyzw, l(1, 1, 1, 1)
    movc r13.xyzw, r11.xyzw, r11.xyzw, r13.xyzw
    bfi r7.xyzw, l(7, 7, 7, 7), r12.xyzw, r7.xyzw, l(0, 0, 0, 0)
    and r7.xyzw, r7.xyzw, l(127, 127, 127, 127)
    movc r7.xyzw, r11.xyzw, r10.xyzw, r7.xyzw
    ishl r10.xyzw, r13.xyzw, l(23, 23, 23, 23)
    iadd r10.xyzw, r10.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r7.xyzw, r7.xyzw, l(16, 16, 16, 16)
    iadd r7.xyzw, r10.xyzw, r7.xyzw
    movc r5.xyzw, r9.xyzw, r7.xyzw, l(0,0,0,0)
    ushr r7.xyzw, r6.xyzw, r1.yyyy
    and r9.xyzw, r7.xyzw, l(1023, 1023, 1023, 1023)
    and r10.xyzw, r7.xyzw, l(127, 127, 127, 127)
    ubfe r11.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r7.xyzw
    firstbit_hi r12.xyzw, r10.xyzw
    iadd r12.xyzw, r12.xyzw, l(-24, -24, -24, -24)
    movc r12.xyzw, r10.xyzw, r12.xyzw, l(8,8,8,8)
    iadd r13.xyzw, -r12.xyzw, l(1, 1, 1, 1)
    movc r13.xyzw, r11.xyzw, r11.xyzw, r13.xyzw
    bfi r7.xyzw, l(7, 7, 7, 7), r12.xyzw, r7.xyzw, l(0, 0, 0, 0)
    and r7.xyzw, r7.xyzw, l(127, 127, 127, 127)
    movc r7.xyzw, r11.xyzw, r10.xyzw, r7.xyzw
    ishl r10.xyzw, r13.xyzw, l(23, 23, 23, 23)
    iadd r10.xyzw, r10.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
    ishl r7.xyzw, r7.xyzw, l(16, 16, 16, 16)
    iadd r7.xyzw, r10.xyzw, r7.xyzw
    movc r6.xyzw, r9.xyzw, r7.xyzw, l(0,0,0,0)
    ushr r1.y, r0.z, r1.y
    and r2.xw, r1.yyyy, l(1023, 0, 0, 127)
    ubfe r1.z, l(3), l(7), r1.y
    firstbit_hi r7.x, r2.w
    iadd r7.x, r7.x, l(-24)
    movc r7.x, r2.w, r7.x, l(8)
    iadd r7.y, -r7.x, l(1)
    movc r7.y, r1.z, r1.z, r7.y
    bfi r1.y, l(7), r7.x, r1.y, l(0)
    and r1.y, r1.y, l(127)
    movc r1.y, r1.z, r2.w, r1.y
    ishl r1.z, r7.y, l(23)
    iadd r1.z, r1.z, l(0x3e000000)
    ishl r1.y, r1.y, l(16)
    iadd r1.y, r1.z, r1.y
    movc r0.z, r2.x, r1.y, l(0)
    break 
    case l(4)
    ibfe r7.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r7.xyzw, r7.xyzw
    mul r7.xyzw, r7.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r7.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r7.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r7.xyzw, r7.xyzw
    mul r7.xyzw, r7.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r7.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r1.y, l(16), l(0), r0.z
    itof r1.y, r1.y
    mul r1.y, r1.y, l(0.000977)
    max r0.z, r1.y, l(-1.000000)
    break 
    case l(6)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r0.z, r0.z
    break 
    default 
    break 
  endswitch 
else 
  ld_raw r5.x, r0.x, T0[0].xxxx
  iadd r7.xyzw, r0.xxxx, l(8, 16, 24, 32)
  ld_raw r5.y, r7.x, T0[0].xxxx
  ld_raw r5.z, r7.y, T0[0].xxxx
  ld_raw r5.w, r7.z, T0[0].xxxx
  ld_raw r6.x, r7.w, T0[0].xxxx
  iadd r7.xyzw, r0.xxxx, l(40, 48, 56, 64)
  ld_raw r6.y, r7.x, T0[0].xxxx
  ld_raw r6.z, r7.y, T0[0].xxxx
  ld_raw r6.w, r7.z, T0[0].xxxx
  ld_raw r0.z, r7.w, T0[0].xxxx
  switch r3.w
    case l(5)
    ibfe r7.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r5.xyzw
    itof r7.xyzw, r7.xyzw
    mul r7.xyzw, r7.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r5.xyzw, r7.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r7.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r6.xyzw
    itof r7.xyzw, r7.xyzw
    mul r7.xyzw, r7.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
    max r6.xyzw, r7.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
    ibfe r1.y, l(16), l(0), r0.z
    itof r1.y, r1.y
    mul r1.y, r1.y, l(0.000977)
    max r0.z, r1.y, l(-1.000000)
    break 
    case l(7)
    f16tof32 r5.xyzw, r5.xyzw
    f16tof32 r6.xyzw, r6.xyzw
    f16tof32 r0.z, r0.z
    break 
    default 
    break 
  endswitch 
endif 
if_nz r3.y
  mul r1.y, r3.x, l(0.500000)
  ishl r1.z, l(2880), r3.z
  iadd r1.z, r0.x, r1.z
  if_z r2.z
    ld_raw r7.xyzw, r1.z, T0[0].xyzw
    iadd r2.xw, r1.zzzz, l(16, 0, 0, 32)
    ld_raw r9.xyzw, r2.x, T0[0].xyzw
    ld_raw r2.x, r2.w, T0[0].xxxx
    switch r3.w
      case l(0)
      case l(1)
      movc r2.w, r1.w, l(16), l(0)
      ushr r10.xyzw, r7.xyzw, r2.wwww
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r7.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r10.xyzw, r9.xyzw, r2.wwww
      and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
      ushr r2.w, r2.x, r2.w
      and r2.w, r2.w, l(255)
      utof r2.w, r2.w
      mul r2.x, r2.w, l(0.003922)
      break 
      case l(2)
      case l(10)
      movc r2.w, r1.w, l(20), l(0)
      ushr r10.xyzw, r7.xyzw, r2.wwww
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r7.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r10.xyzw, r9.xyzw, r2.wwww
      and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      utof r10.xyzw, r10.xyzw
      mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
      ushr r2.w, r2.x, r2.w
      and r2.w, r2.w, l(1023)
      utof r2.w, r2.w
      mul r2.x, r2.w, l(0.000978)
      break 
      case l(3)
      case l(12)
      movc r2.w, r1.w, l(20), l(0)
      ushr r10.xyzw, r7.xyzw, r2.wwww
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r7.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r10.xyzw, r9.xyzw, r2.wwww
      and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
      and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
      ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
      firstbit_hi r14.xyzw, r12.xyzw
      iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
      movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
      iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
      movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
      bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
      and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
      movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
      ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
      iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
      ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
      iadd r10.xyzw, r12.xyzw, r10.xyzw
      movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
      ushr r2.w, r2.x, r2.w
      and r8.xy, r2.wwww, l(1023, 127, 0, 0)
      ubfe r3.y, l(3), l(7), r2.w
      firstbit_hi r10.x, r8.y
      iadd r10.x, r10.x, l(-24)
      movc r10.x, r8.y, r10.x, l(8)
      iadd r10.y, -r10.x, l(1)
      movc r10.y, r3.y, r3.y, r10.y
      bfi r2.w, l(7), r10.x, r2.w, l(0)
      and r2.w, r2.w, l(127)
      movc r2.w, r3.y, r8.y, r2.w
      ishl r3.y, r10.y, l(23)
      iadd r3.y, r3.y, l(0x3e000000)
      ishl r2.w, r2.w, l(16)
      iadd r2.w, r3.y, r2.w
      movc r2.x, r8.x, r2.w, l(0)
      break 
      case l(4)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r7.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r2.w, l(16), l(0), r2.x
      itof r2.w, r2.w
      mul r2.w, r2.w, l(0.000977)
      max r2.x, r2.w, l(-1.000000)
      break 
      case l(6)
      f16tof32 r7.xyzw, r7.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r2.x, r2.x
      break 
      default 
      break 
    endswitch 
  else 
    ld_raw r7.x, r1.z, T0[0].xxxx
    iadd r10.xyzw, r1.zzzz, l(8, 16, 24, 32)
    ld_raw r7.y, r10.x, T0[0].xxxx
    ld_raw r7.z, r10.y, T0[0].xxxx
    ld_raw r7.w, r10.z, T0[0].xxxx
    ld_raw r9.x, r10.w, T0[0].xxxx
    iadd r10.xyzw, r1.zzzz, l(40, 48, 56, 64)
    ld_raw r9.y, r10.x, T0[0].xxxx
    ld_raw r9.z, r10.y, T0[0].xxxx
    ld_raw r9.w, r10.z, T0[0].xxxx
    ld_raw r2.x, r10.w, T0[0].xxxx
    switch r3.w
      case l(5)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r7.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
      itof r10.xyzw, r10.xyzw
      mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
      max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
      ibfe r1.z, l(16), l(0), r2.x
      itof r1.z, r1.z
      mul r1.z, r1.z, l(0.000977)
      max r2.x, r1.z, l(-1.000000)
      break 
      case l(7)
      f16tof32 r7.xyzw, r7.xyzw
      f16tof32 r9.xyzw, r9.xyzw
      f16tof32 r2.x, r2.x
      break 
      default 
      break 
    endswitch 
  endif 
  add r5.xyzw, r5.xyzw, r7.xyzw
  add r6.xyzw, r6.xyzw, r9.xyzw
  add r0.z, r0.z, r2.x
  uge r1.z, r2.y, l(6)
  if_nz r1.z
    mul r3.x, r3.x, l(0.250000)
    ishl r2.xy, l(36, 2916, 0, 0), r3.zzzz
    iadd r2.xy, r0.xxxx, r2.xyxx
    if_z r2.z
      ld_raw r7.xyzw, r2.x, T0[0].xyzw
      iadd r3.yz, r2.xxxx, l(0, 16, 32, 0)
      ld_raw r9.xyzw, r3.y, T0[0].xyzw
      ld_raw r0.x, r3.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r1.z, r1.w, l(16), l(0)
        ushr r10.xyzw, r7.xyzw, r1.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r7.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r10.xyzw, r9.xyzw, r1.zzzz
        and r10.xyzw, r10.xyzw, l(255, 255, 255, 255)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r1.z, r0.x, r1.z
        and r1.z, r1.z, l(255)
        utof r1.z, r1.z
        mul r0.x, r1.z, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r1.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r7.xyzw, r1.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r7.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r10.xyzw, r9.xyzw, r1.zzzz
        and r10.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        utof r10.xyzw, r10.xyzw
        mul r9.xyzw, r10.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r1.z, r0.x, r1.z
        and r1.z, r1.z, l(1023)
        utof r1.z, r1.z
        mul r0.x, r1.z, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r1.z, r1.w, l(20), l(0)
        ushr r10.xyzw, r7.xyzw, r1.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r7.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r10.xyzw, r9.xyzw, r1.zzzz
        and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
        and r12.xyzw, r10.xyzw, l(127, 127, 127, 127)
        ubfe r13.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r10.xyzw
        firstbit_hi r14.xyzw, r12.xyzw
        iadd r14.xyzw, r14.xyzw, l(-24, -24, -24, -24)
        movc r14.xyzw, r12.xyzw, r14.xyzw, l(8,8,8,8)
        iadd r15.xyzw, -r14.xyzw, l(1, 1, 1, 1)
        movc r15.xyzw, r13.xyzw, r13.xyzw, r15.xyzw
        bfi r10.xyzw, l(7, 7, 7, 7), r14.xyzw, r10.xyzw, l(0, 0, 0, 0)
        and r10.xyzw, r10.xyzw, l(127, 127, 127, 127)
        movc r10.xyzw, r13.xyzw, r12.xyzw, r10.xyzw
        ishl r12.xyzw, r15.xyzw, l(23, 23, 23, 23)
        iadd r12.xyzw, r12.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
        iadd r10.xyzw, r12.xyzw, r10.xyzw
        movc r9.xyzw, r11.xyzw, r10.xyzw, l(0,0,0,0)
        ushr r1.z, r0.x, r1.z
        and r3.yz, r1.zzzz, l(0, 1023, 127, 0)
        ubfe r2.w, l(3), l(7), r1.z
        firstbit_hi r8.x, r3.z
        iadd r8.x, r8.x, l(-24)
        movc r8.x, r3.z, r8.x, l(8)
        iadd r8.y, -r8.x, l(1)
        movc r8.y, r2.w, r2.w, r8.y
        bfi r1.z, l(7), r8.x, r1.z, l(0)
        and r1.z, r1.z, l(127)
        movc r1.z, r2.w, r3.z, r1.z
        ishl r2.w, r8.y, l(23)
        iadd r2.w, r2.w, l(0x3e000000)
        ishl r1.z, r1.z, l(16)
        iadd r1.z, r2.w, r1.z
        movc r0.x, r3.y, r1.z, l(0)
        break 
        case l(4)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r7.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r1.z, l(16), l(0), r0.x
        itof r1.z, r1.z
        mul r1.z, r1.z, l(0.000977)
        max r0.x, r1.z, l(-1.000000)
        break 
        case l(6)
        f16tof32 r7.xyzw, r7.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r0.x, r0.x
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r7.x, r2.x, T0[0].xxxx
      iadd r10.xyzw, r2.xxxx, l(8, 16, 24, 32)
      ld_raw r7.y, r10.x, T0[0].xxxx
      ld_raw r7.z, r10.y, T0[0].xxxx
      ld_raw r7.w, r10.z, T0[0].xxxx
      ld_raw r9.x, r10.w, T0[0].xxxx
      iadd r10.xyzw, r2.xxxx, l(40, 48, 56, 64)
      ld_raw r9.y, r10.x, T0[0].xxxx
      ld_raw r9.z, r10.y, T0[0].xxxx
      ld_raw r9.w, r10.z, T0[0].xxxx
      ld_raw r0.x, r10.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r7.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r7.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r10.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r9.xyzw
        itof r10.xyzw, r10.xyzw
        mul r10.xyzw, r10.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r9.xyzw, r10.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r1.z, l(16), l(0), r0.x
        itof r1.z, r1.z
        mul r1.z, r1.z, l(0.000977)
        max r0.x, r1.z, l(-1.000000)
        break 
        case l(7)
        f16tof32 r7.xyzw, r7.xyzw
        f16tof32 r9.xyzw, r9.xyzw
        f16tof32 r0.x, r0.x
        break 
        default 
        break 
      endswitch 
    endif 
    add r7.xyzw, r5.xyzw, r7.xyzw
    add r9.xyzw, r6.xyzw, r9.xyzw
    add r0.x, r0.x, r0.z
    if_z r2.z
      ld_raw r10.xyzw, r2.y, T0[0].xyzw
      iadd r2.xz, r2.yyyy, l(16, 0, 32, 0)
      ld_raw r11.xyzw, r2.x, T0[0].xyzw
      ld_raw r1.z, r2.z, T0[0].xxxx
      switch r3.w
        case l(0)
        case l(1)
        movc r2.x, r1.w, l(16), l(0)
        ushr r12.xyzw, r10.xyzw, r2.xxxx
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r12.xyzw, r11.xyzw, r2.xxxx
        and r12.xyzw, r12.xyzw, l(255, 255, 255, 255)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.003922, 0.003922, 0.003922, 0.003922)
        ushr r2.x, r1.z, r2.x
        and r2.x, r2.x, l(255)
        utof r2.x, r2.x
        mul r1.z, r2.x, l(0.003922)
        break 
        case l(2)
        case l(10)
        movc r2.x, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r2.xxxx
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r10.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r12.xyzw, r11.xyzw, r2.xxxx
        and r12.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        utof r12.xyzw, r12.xyzw
        mul r11.xyzw, r12.xyzw, l(0.000978, 0.000978, 0.000978, 0.000978)
        ushr r2.x, r1.z, r2.x
        and r2.x, r2.x, l(1023)
        utof r2.x, r2.x
        mul r1.z, r2.x, l(0.000978)
        break 
        case l(3)
        case l(12)
        movc r1.w, r1.w, l(20), l(0)
        ushr r12.xyzw, r10.xyzw, r1.wwww
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r10.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r12.xyzw, r11.xyzw, r1.wwww
        and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
        and r14.xyzw, r12.xyzw, l(127, 127, 127, 127)
        ubfe r15.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r12.xyzw
        firstbit_hi r16.xyzw, r14.xyzw
        iadd r16.xyzw, r16.xyzw, l(-24, -24, -24, -24)
        movc r16.xyzw, r14.xyzw, r16.xyzw, l(8,8,8,8)
        iadd r17.xyzw, -r16.xyzw, l(1, 1, 1, 1)
        movc r17.xyzw, r15.xyzw, r15.xyzw, r17.xyzw
        bfi r12.xyzw, l(7, 7, 7, 7), r16.xyzw, r12.xyzw, l(0, 0, 0, 0)
        and r12.xyzw, r12.xyzw, l(127, 127, 127, 127)
        movc r12.xyzw, r15.xyzw, r14.xyzw, r12.xyzw
        ishl r14.xyzw, r17.xyzw, l(23, 23, 23, 23)
        iadd r14.xyzw, r14.xyzw, l(0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000)
        ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
        iadd r12.xyzw, r14.xyzw, r12.xyzw
        movc r11.xyzw, r13.xyzw, r12.xyzw, l(0,0,0,0)
        ushr r1.w, r1.z, r1.w
        and r2.xz, r1.wwww, l(1023, 0, 127, 0)
        ubfe r2.w, l(3), l(7), r1.w
        firstbit_hi r3.y, r2.z
        iadd r3.y, r3.y, l(-24)
        movc r3.y, r2.z, r3.y, l(8)
        iadd r3.z, -r3.y, l(1)
        movc r3.z, r2.w, r2.w, r3.z
        bfi r1.w, l(7), r3.y, r1.w, l(0)
        and r1.w, r1.w, l(127)
        movc r1.w, r2.w, r2.z, r1.w
        ishl r2.z, r3.z, l(23)
        iadd r2.z, r2.z, l(0x3e000000)
        ishl r1.w, r1.w, l(16)
        iadd r1.w, r2.z, r1.w
        movc r1.z, r2.x, r1.w, l(0)
        break 
        case l(4)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r12.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r12.xyzw, r12.xyzw
        mul r12.xyzw, r12.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r12.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r1.w, l(16), l(0), r1.z
        itof r1.w, r1.w
        mul r1.w, r1.w, l(0.000977)
        max r1.z, r1.w, l(-1.000000)
        break 
        case l(6)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r1.z, r1.z
        break 
        default 
        break 
      endswitch 
    else 
      ld_raw r10.x, r2.y, T0[0].xxxx
      iadd r12.xyzw, r2.yyyy, l(8, 16, 24, 32)
      ld_raw r10.y, r12.x, T0[0].xxxx
      ld_raw r10.z, r12.y, T0[0].xxxx
      ld_raw r10.w, r12.z, T0[0].xxxx
      ld_raw r11.x, r12.w, T0[0].xxxx
      iadd r2.xyzw, r2.yyyy, l(40, 48, 56, 64)
      ld_raw r11.y, r2.x, T0[0].xxxx
      ld_raw r11.z, r2.y, T0[0].xxxx
      ld_raw r11.w, r2.z, T0[0].xxxx
      ld_raw r1.z, r2.w, T0[0].xxxx
      switch r3.w
        case l(5)
        ibfe r2.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r10.xyzw
        itof r2.xyzw, r2.xyzw
        mul r2.xyzw, r2.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r10.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r2.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r11.xyzw
        itof r2.xyzw, r2.xyzw
        mul r2.xyzw, r2.xyzw, l(0.000977, 0.000977, 0.000977, 0.000977)
        max r11.xyzw, r2.xyzw, l(-1.000000, -1.000000, -1.000000, -1.000000)
        ibfe r1.w, l(16), l(0), r1.z
        itof r1.w, r1.w
        mul r1.w, r1.w, l(0.000977)
        max r1.z, r1.w, l(-1.000000)
        break 
        case l(7)
        f16tof32 r10.xyzw, r10.xyzw
        f16tof32 r11.xyzw, r11.xyzw
        f16tof32 r1.z, r1.z
        break 
        default 
        break 
      endswitch 
    endif 
    add r5.xyzw, r7.xyzw, r10.xyzw
    add r6.xyzw, r9.xyzw, r11.xyzw
    add r0.z, r0.x, r1.z
  else 
    mov r3.x, r1.y
  endif 
endif 
mul r2.xyzw, r3.xxxx, r5.yzxw
mul r5.xyzw, r3.xxxx, r6.xyzw
mul_sat r3.w, r0.z, r3.x
if_nz r0.w
  mov r2.xz, r5.yyxy
  mov r0.x, r2.w
else 
  mov r0.x, r2.z
  mov r2.xz, r2.yyxy
endif 
mov_sat r0.x, r0.x
mad r0.x, r0.x, l(255.000000), l(0.500000)
ftou r0.x, r0.x
imad r4.y, r0.x, l(0x01000000), r0.y
store_uav_typed U0[0].xyzw, r8.zzzz, r4.xyzw
mov r2.y, r5.x
mov_sat r2.xyzw, r2.xyzw
mad r0.xyzw, r2.zxwy, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r0.xyzw, r0.xyzw
imad r0.x, r0.y, l(256), r0.x
imad r0.x, r0.z, l(0x00010000), r0.x
imad r0.xzw, r0.wwww, l(0x01000000, 0, 0x01000000, 0x01000000), r0.xxxx
mov_sat r3.xyz, r5.yzwy
mad r2.xyzw, r3.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r2.xyzw, r2.xyzw
imad r1.y, r2.y, l(256), r2.x
imad r1.y, r2.z, l(0x00010000), r1.y
imad r0.y, r2.w, l(0x01000000), r1.y
store_uav_typed U0[0].xyzw, r8.wwww, r0.xyzw
ret 
// Approximately 5348 instruction slots used
