// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.63 on Sun Oct  9 13:48:43 2022
//
//
// Note: shader requires additional functionality:
//       64 UAV slots
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[178], dynamicIndexed
dcl_sampler s0, mode_default
dcl_resource_structured t0, 1100
dcl_resource_structured t4, 8
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture3d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_structured t11, 44
dcl_uav_structured u8, 12
dcl_uav_structured u9, 4
dcl_uav_structured u10, 12
dcl_uav_structured u12, 4
dcl_uav_typed_buffer (uint,uint,uint,uint) u23
dcl_uav_structured u24, 104
dcl_uav_structured u25, 28
dcl_uav_structured u26, 28
dcl_uav_structured u27, 4
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.x
dcl_temps 50
dcl_tgsm_structured g0, 4, 64
dcl_tgsm_raw g1, 8
dcl_tgsm_raw g2, 4
dcl_tgsm_structured g3, 4, 64
dcl_tgsm_structured g4, 4, 64
dcl_thread_group 64, 1, 1
dcl_constantbuffer CB12[3], immediateIndexed
ld_structured_indexable(structured_buffer, stride=44)(mixed,mixed,mixed,mixed) r0.xyzw, vThreadGroupID.x, l(4), t11.xyzw
ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r1.xyzw, r0.y, l(0), t0.xyzw
ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r2.xyzw, r0.y, l(16), t0.xyzw
ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r3.xyzw, r0.y, l(32), t0.xywz
ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r4.x, r0.y, l(64), t0.xxxx
ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r5.xyzw, r0.y, l(296), t0.xyzw
ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r4.yzw, r0.y, l(316), t0.xxyz
ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r6.xyzw, r0.y, l(368), t0.yxzw
if_z vThreadIDInGroupFlattened.x
  store_raw g2.x, l(0), l(0)
endif
uge r0.w, vThreadIDInGroupFlattened.x, r0.w
if_nz r0.w
  mov r7.xyw, l(0,0,0,0)
  mov r9.x, l(0)
  mov r10.x, l(0)
  mov r11.x, l(0)
  mov r12.xyz, l(0,0,0,0)
  mov r13.xy, l(0,0,0,0)
  mov r14.x, l(0)
  mov r15.x, l(0)
  mov r16.xy, l(0,0,0,0)
  mov r8.xyzw, l(0,0,0,0)
endif
if_z r0.w
  and r13.zw, r5.yyyy, l(0, 0, 4096, 0x00010000)
  bfi r0.w, l(26), l(6), r0.x, vThreadIDInGroupFlattened.x
  xor r12.w, r0.w, l(61)
  ubfe r0.x, l(16), l(10), r0.x
  xor r0.x, r0.x, r12.w
  imul null, r0.x, r0.x, l(9)
  ushr r12.w, r0.x, l(4)
  xor r0.x, r0.x, r12.w
  imul null, r0.x, r0.x, l(0x27d4eb2d)
  ushr r12.w, r0.x, l(15)
  xor r0.x, r0.x, r12.w
  movc r0.x, r13.z, r4.z, r0.x
  ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r0.w, l(0), u9.xxxx
  add r17.x, r0.z, -r4.z
  ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.z, r0.w, l(0), u12.xxxx
  lt r4.z, l(0.000000), r5.w
  mul r5.w, r5.w, r5.z
  utof r12.w, r0.x
  mad r13.z, r12.w, l(4.656612873E-10), l(-1.000000)
  mad r5.w, r5.w, r13.z, r5.z
  movc r4.z, r4.z, r5.w, r5.z
  movc r0.z, r13.w, r0.z, r4.z
  div_sat r0.z, r17.x, r0.z
  ge r5.z, r0.z, l(1.000000)
  if_nz r5.z
    mov r7.xyw, l(0,0,0,0)
    mov r9.x, l(0)
    mov r10.x, l(0)
    mov r11.x, l(0)
    mov r12.xyz, l(0,0,0,0)
    mov r13.xy, l(0,0,0,0)
    mov r14.x, l(0)
    mov r15.x, l(0)
    mov r16.xy, l(0,0,0,0)
    mov r8.xyzw, l(0,0,0,0)
  endif
  if_z r5.z
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r18.xyzw, r0.y, l(568), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r19.xyzw, r0.y, l(584), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r20.xyzw, r0.y, l(600), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r21.xyzw, r0.y, l(616), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r22.xyzw, r0.y, l(632), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r23.xyzw, r0.y, l(648), t0.zwxy
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r24.xyzw, r0.y, l(696), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r25.xyzw, r0.y, l(712), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r26.xyz, r0.y, l(728), t0.yzxx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r27.xyzw, r0.y, l(752), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r5.zw, r0.y, l(780), t0.xxxy
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r28.xyzw, r0.y, l(800), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r29.xyzw, r0.y, l(816), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r13.z, r0.y, l(832), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r30.xyzw, r0.y, l(848), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r31.xyzw, r0.y, l(864), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r14.w, r0.y, l(880), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r32.xyzw, r0.y, l(896), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r33.xyzw, r0.y, l(912), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r34.xy, r0.y, l(928), t0.xyxx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r35.x, r0.y, l(960), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r35.y, r0.y, l(976), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r35.z, r0.y, l(992), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=44)(mixed,mixed,mixed,mixed) r15.w, vThreadGroupID.x, l(36), t11.xxxx
    ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r36.xyz, r0.w, l(0), u8.xyzx
    ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r37.xyz, r0.w, l(0), u10.xyzx
    min r5.x, r5.x, r17.x
    add r17.y, -r5.x, r17.x
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r16.w, r0.w, l(0), u12.xxxx
    movc r4.z, r13.w, r16.w, r4.z
    div_sat r15.x, r17.y, r4.z
    and r38.xyzw, r5.yyyy, l(1024, 1, 0x00200000, 2)
    if_nz r38.x
      ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r4.z, r0.y, l(1000), t0.xxxx
      mul r12.w, r12.w, l(2.328306437E-10)
      lt r4.z, r12.w, r4.z
      if_nz r4.z
        imm_atomic_iadd r39.x, g2, l(0), l(1)
        iadd r12.w, r15.w, r39.x
        store_structured u25.xyz, r12.w, l(0), r36.xyzx
        store_structured u25.x, r12.w, l(24), l(1)
      else
        mov r39.x, l(0)
      endif
    else
      mov r39.x, l(0)
      mov r4.z, l(0)
    endif
    lt r12.w, l(0.000000), r20.x
    ishl r13.w, r0.x, l(13)
    xor r13.w, r0.x, r13.w
    ushr r16.w, r13.w, l(17)
    xor r13.w, r13.w, r16.w
    ishl r16.w, r13.w, l(5)
    xor r13.w, r13.w, r16.w
    movc r13.w, r38.x, r13.w, r0.x
    utof r13.w, r13.w
    mad r13.w, r13.w, l(4.656612873E-10), l(-1.000000)
    and r16.w, r12.w, r13.w
    switch r19.z
      case l(0)
      mov r17.z, l(0)
      break
      case l(1)
      mov r17.z, r0.z
      break
      case l(2)
      lt r17.w, l(0.000010), |r19.w|
      lt r19.z, l(0.000000), r19.w
      lt r26.w, r19.w, l(0.000000)
      iadd r19.z, -r19.z, r26.w
      itof r19.z, r19.z
      mul r19.z, r19.z, l(0.000100)
      movc r17.w, r17.w, r19.w, r19.z
      mul r19.z, r0.z, r17.w
      exp r19.z, r19.z
      add r19.z, r19.z, l(-1.000000)
      exp r17.w, r17.w
      add r17.w, r17.w, l(-1.000000)
      div r17.w, l(1.000000, 1.000000, 1.000000, 1.000000), r17.w
      mul r17.w, r17.w, r19.z
      max r17.z, r17.w, l(0.000000)
      break
      case l(3)
      add r17.w, |r19.w|, l(6.000000)
      add r19.z, -r0.z, l(0.500000)
      mul r17.w, r17.w, r19.z
      exp r17.w, r17.w
      add r17.w, r17.w, l(1.000000)
      div r17.z, l(1.000000, 1.000000, 1.000000, 1.000000), r17.w
      break
      default
      mov r17.z, l(0)
      break
    endswitch
    add r17.w, -r19.x, r19.y
    mad r17.z, r17.z, r17.w, r19.x
    mul r17.w, r20.x, r17.z
    mad r16.w, r17.w, r16.w, r17.z
    movc r12.w, r12.w, r16.w, r17.z
    mul r18.yzw, r12.wwww, r18.yyzw
    lt r12.w, l(0.000000), r5.x
    if_nz r12.w
      ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r19.xyzw, r0.y, l(552), t0.xyzw
      lt r16.w, l(0.000000), r18.x
      and r17.z, r13.w, r16.w
      switch r19.z
        case l(0)
        mov r17.w, l(0)
        break
        case l(1)
        mov r17.w, r0.z
        break
        case l(2)
        lt r19.z, l(0.000010), |r19.w|
        lt r20.x, l(0.000000), r19.w
        lt r26.w, r19.w, l(0.000000)
        iadd r20.x, -r20.x, r26.w
        itof r20.x, r20.x
        mul r20.x, r20.x, l(0.000100)
        movc r19.z, r19.z, r19.w, r20.x
        mul r20.x, r0.z, r19.z
        exp r20.x, r20.x
        add r20.x, r20.x, l(-1.000000)
        exp r19.z, r19.z
        add r19.z, r19.z, l(-1.000000)
        div r19.z, l(1.000000, 1.000000, 1.000000, 1.000000), r19.z
        mul r19.z, r19.z, r20.x
        max r17.w, r19.z, l(0.000000)
        break
        case l(3)
        add r19.z, |r19.w|, l(6.000000)
        add r19.w, -r0.z, l(0.500000)
        mul r19.z, r19.w, r19.z
        exp r19.z, r19.z
        add r19.z, r19.z, l(1.000000)
        div r17.w, l(1.000000, 1.000000, 1.000000, 1.000000), r19.z
        break
        default
        mov r17.w, l(0)
        break
      endswitch
      add r19.y, -r19.x, r19.y
      mad r17.w, r17.w, r19.y, r19.x
      mul r18.x, r18.x, r17.w
      mad r17.z, r18.x, r17.z, r17.w
      movc r16.w, r16.w, r17.z, r17.w
      div r17.z, l(1.000000, 1.000000, 1.000000, 1.000000), r5.x
      min r16.w, r16.w, r17.z
      mad r18.yzw, -r16.wwww, r37.xxyz, r18.yyzw
    endif
    and r19.xyzw, r24.yyyy, l(4, 1, 2, 8)
    add r28.xyz, r28.xyzx, -r36.xyzx
    dp3 r16.w, r28.xyzx, r28.xyzx
    sqrt r16.w, r16.w
    ge r17.z, l(0.000000), r29.w
    ge r17.w, r29.w, r16.w
    or r17.z, r17.w, r17.z
    mul r16.w, r16.w, -r28.w
    mul r16.w, r16.w, l(1.442695)
    exp r16.w, r16.w
    mul r13.z, r13.z, r16.w
    mad r28.xyz, r29.xyzx, r13.zzzz, r18.yzwy
    movc r28.xyz, r17.zzzz, r28.xyzx, r18.yzwy
    movc r18.xyz, r19.xxxx, r28.xyzx, r18.yzwy
    ine r13.z, r19.y, l(0)
    and r13.z, r12.w, r13.z
    mov r28.xy, r24.zwzz
    mov r28.z, r25.x
    add r24.yzw, -r36.xxyz, r28.xxyz
    dp3 r16.w, r24.yzwy, r24.yzwy
    sqrt r16.w, r16.w
    ge r17.z, l(0.000000), r26.x
    ge r17.w, r26.x, r16.w
    or r17.z, r17.w, r17.z
    mul r16.w, r16.w, -r25.y
    mul r16.w, r16.w, l(1.442695)
    exp r16.w, r16.w
    mul r16.w, r26.y, r16.w
    div r17.w, l(1.000000, 1.000000, 1.000000, 1.000000), r5.x
    min r16.w, |r16.w|, r17.w
    mov r26.xy, r25.zwzz
    dp3 r17.w, r37.xyzx, r26.xyzx
    mul r17.w, r16.w, r17.w
    mad r24.yzw, -r17.wwww, r26.xxyz, r18.xxyz
    mad r25.xyz, -r16.wwww, r37.xyzx, r18.xyzx
    movc r24.yzw, r38.yyyy, r24.yyzw, r25.xxyz
    movc r24.yzw, r17.zzzz, r24.yyzw, r18.xxyz
    movc r18.xyz, r13.zzzz, r24.yzwy, r18.xyzx
    add r24.yzw, r27.xxyz, -r36.xxyz
    dp3 r13.z, r24.yzwy, r24.yzwy
    sqrt r13.z, r13.z
    ge r16.w, l(0.000000), r5.z
    ge r5.z, r5.z, r13.z
    or r5.z, r5.z, r16.w
    lt r16.w, r32.x, r13.z
    and r5.z, r5.z, r16.w
    lt r16.w, l(0.000010), r13.z
    and r5.z, r5.z, r16.w
    mul r16.w, r13.z, -r27.w
    mul r16.w, r16.w, l(1.442695)
    exp r16.w, r16.w
    mul r5.w, r5.w, r16.w
    div r5.w, r5.w, r13.z
    mad r24.yzw, r24.yyzw, r5.wwww, r18.xxyz
    movc r24.yzw, r5.zzzz, r24.yyzw, r18.xxyz
    movc r18.xyz, r19.zzzz, r24.yzwy, r18.xyzx
    add r19.xyz, -r30.zxyz, r36.zxyz
    dp3 r5.z, r31.zxyz, r19.xyzx
    mad r19.xyz, r31.zxyz, r5.zzzz, r19.xyzx
    dp3 r5.z, r19.xyzx, r19.xyzx
    sqrt r5.z, r5.z
    ge r5.w, l(0.000000), r31.w
    ge r13.z, r31.w, r5.z
    or r5.w, r5.w, r13.z
    lt r13.z, l(0.000010), r5.z
    and r5.w, r5.w, r13.z
    mul r24.yzw, r31.yyzx, r19.xxyz
    mad r19.xyz, r19.zxyz, r31.zxyz, -r24.yzwy
    dp3 r13.z, r19.xyzx, r19.xyzx
    max r13.z, r13.z, l(0.000010)
    rsq r13.z, r13.z
    mul r19.xyz, r13.zzzz, r19.xyzx
    mul r5.z, r5.z, -r30.w
    mul r5.z, r5.z, l(1.442695)
    exp r5.z, r5.z
    mul r5.z, r14.w, r5.z
    mad r19.xyz, r19.xyzx, r5.zzzz, r18.xyzx
    movc r19.xyz, r5.wwww, r19.xyzx, r18.xyzx
    movc r18.xyz, r19.wwww, r19.xyzx, r18.xyzx
    lt r5.z, l(0.000000), r21.y
    and r5.w, r13.w, r5.z
    switch r20.w
      case l(0)
      mov r13.z, l(0)
      break
      case l(1)
      mov r13.z, r0.z
      break
      case l(2)
      lt r14.w, l(0.000010), |r21.x|
      lt r16.w, l(0.000000), r21.x
      lt r17.z, r21.x, l(0.000000)
      iadd r16.w, -r16.w, r17.z
      itof r16.w, r16.w
      mul r16.w, r16.w, l(0.000100)
      movc r14.w, r14.w, r21.x, r16.w
      mul r16.w, r0.z, r14.w
      exp r16.w, r16.w
      add r16.w, r16.w, l(-1.000000)
      exp r14.w, r14.w
      add r14.w, r14.w, l(-1.000000)
      div r14.w, l(1.000000, 1.000000, 1.000000, 1.000000), r14.w
      mul r14.w, r14.w, r16.w
      max r13.z, r14.w, l(0.000000)
      break
      case l(3)
      add r14.w, |r21.x|, l(6.000000)
      add r16.w, -r0.z, l(0.500000)
      mul r14.w, r14.w, r16.w
      exp r14.w, r14.w
      add r14.w, r14.w, l(1.000000)
      div r13.z, l(1.000000, 1.000000, 1.000000, 1.000000), r14.w
      break
      default
      mov r13.z, l(0)
      break
    endswitch
    add r14.w, -r20.y, r20.z
    mad r13.z, r13.z, r14.w, r20.y
    mul r14.w, r21.y, r13.z
    mad r5.w, r14.w, r5.w, r13.z
    movc_sat r5.z, r5.z, r5.w, r13.z
    ne r5.w, r5.z, l(0.000000)
    and r5.w, r12.w, r5.w
    if_nz r5.w
      and r5.w, l(1), cb0[156].w
      if_nz r5.w
        mad r19.xyz, r36.xzyx, cb0[155].xzyx, cb0[154].xzyx
        sample_l_indexable(texture3d)(float,float,float,float) r19.xyz, r19.xyzx, t8.xyzw, s0, l(0.000000)
        add r19.xyz, r19.xyzx, cb0[156].xyzx
      else
        mov r19.xyz, cb0[156].xyzx
      endif
      add r19.xyz, -r37.xyzx, r19.xyzx
      div r19.xyz, r19.xyzx, r5.xxxx
      mad r18.xyz, r19.xyzx, r5.zzzz, r18.xyzx
    endif
    mov r19.x, r22.w
    mov r19.yz, r23.zzwz
    dp3 r5.z, r19.xyzx, r19.xyzx
    lt r5.z, l(0.000000), r5.z
    if_nz r5.z
      ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r20.xyzw, r0.y, l(664), t0.xyzw
      ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r25.xyzw, r0.y, l(680), t0.xyzw
      lt r5.z, l(0.000000), r24.x
      and r5.w, r13.w, r5.z
      switch r25.z
        case l(0)
        mov r13.z, l(0)
        break
        case l(1)
        mov r13.z, r0.z
        break
        case l(2)
        lt r14.w, l(0.000010), |r25.w|
        lt r16.w, l(0.000000), r25.w
        lt r17.z, r25.w, l(0.000000)
        iadd r16.w, -r16.w, r17.z
        itof r16.w, r16.w
        mul r16.w, r16.w, l(0.000100)
        movc r14.w, r14.w, r25.w, r16.w
        mul r16.w, r0.z, r14.w
        exp r16.w, r16.w
        add r16.w, r16.w, l(-1.000000)
        exp r14.w, r14.w
        add r14.w, r14.w, l(-1.000000)
        div r14.w, l(1.000000, 1.000000, 1.000000, 1.000000), r14.w
        mul r14.w, r14.w, r16.w
        max r13.z, r14.w, l(0.000000)
        break
        case l(3)
        add r14.w, |r25.w|, l(6.000000)
        add r16.w, -r0.z, l(0.500000)
        mul r14.w, r14.w, r16.w
        exp r14.w, r14.w
        add r14.w, r14.w, l(1.000000)
        div r13.z, l(1.000000, 1.000000, 1.000000, 1.000000), r14.w
        break
        default
        mov r13.z, l(0)
        break
      endswitch
      add r14.w, -r25.x, r25.y
      mad r13.z, r13.z, r14.w, r25.x
      mul r14.w, r24.x, r13.z
      mad r5.w, r14.w, r5.w, r13.z
      movc r5.z, r5.z, r5.w, r13.z
      mov r23.z, r20.x
      mad r22.xyz, r36.xyzx, r22.xyzx, r23.xyzx
      mad r20.xyz, r20.yzwy, r4.yyyy, r22.xyzx
      mul r19.xyz, r19.xyzx, r5.zzzz
      dp3 r4.y, r20.xyzx, l(0.333333343, 0.333333343, 0.333333343, 0.000000)
      add r22.xyz, r4.yyyy, r20.xyzx
      round_ni r22.xyz, r22.xyzx
      add r23.xyz, r20.xyzx, -r22.xyzx
      dp3 r4.y, r22.xyzx, l(0.166666672, 0.166666672, 0.166666672, 0.000000)
      add r23.xyz, r4.yyyy, r23.xyzx
      ge r24.xyz, r23.zxyz, r23.xyzx
      and r25.xyz, r24.yzxy, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
      movc r24.xyz, r24.xyzx, l(0,0,0,0), l(1.000000,1.000000,1.000000,0)
      min r26.xyz, r24.xyzx, r25.xyzx
      max r24.xyz, r24.yzxy, r25.yzxy
      add r25.xyz, r23.xyzx, -r26.xyzx
      add r25.xyz, r25.xyzx, l(0.166666672, 0.166666672, 0.166666672, 0.000000)
      add r27.xyz, r23.xyzx, -r24.zxyz
      add r27.xyz, r27.xyzx, l(0.333333343, 0.333333343, 0.333333343, 0.000000)
      add r28.xyz, r23.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
      mul r29.xyz, r22.xyzx, l(0.00346020772, 0.00346020772, 0.00346020772, 0.000000)
      round_ni r29.xyz, r29.xyzx
      mad r22.xyz, -r29.xyzx, l(289.000000, 289.000000, 289.000000, 0.000000), r22.xyzx
      mov r29.xw, l(0,0,0,1.000000)
      mov r29.y, r26.z
      mov r29.z, r24.y
      add r29.xyzw, r22.zzzz, r29.xyzw
      mad r30.xyzw, r29.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r29.xyzw, r29.xyzw, r30.xyzw
      mul r30.xyzw, r29.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r30.xyzw, r30.xyzw
      mad r29.xyzw, -r30.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r29.xyzw
      add r29.xyzw, r22.yyyy, r29.xyzw
      mov r30.xw, l(0,0,0,1.000000)
      mov r30.y, r26.y
      mov r30.z, r24.x
      add r29.xyzw, r29.xyzw, r30.xyzw
      mad r30.xyzw, r29.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r29.xyzw, r29.xyzw, r30.xyzw
      mul r30.xyzw, r29.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r30.xyzw, r30.xyzw
      mad r29.xyzw, -r30.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r29.xyzw
      add r22.xyzw, r22.xxxx, r29.xyzw
      mov r24.xw, l(0,0,0,1.000000)
      mov r24.y, r26.x
      add r22.xyzw, r22.xyzw, r24.xyzw
      mad r24.xyzw, r22.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r22.xyzw, r22.xyzw, r24.xyzw
      mul r24.xyzw, r22.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r24.xyzw, r24.xyzw
      mad r22.xyzw, -r24.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r22.xyzw
      mul r24.xyzw, r22.xyzw, l(0.0204081647, 0.0204081647, 0.0204081647, 0.0204081647)
      round_ni r24.xyzw, r24.xyzw
      mad r22.xyzw, -r24.xyzw, l(49.000000, 49.000000, 49.000000, 49.000000), r22.xyzw
      mul r24.xyzw, r22.xyzw, l(0.142857149, 0.142857149, 0.142857149, 0.142857149)
      round_ni r24.xyzw, r24.xyzw
      mad r22.xyzw, -r24.xyzw, l(7.000000, 7.000000, 7.000000, 7.000000), r22.xyzw
      mad r24.xyzw, r24.xyzw, l(0.285714298, 0.285714298, 0.285714298, 0.285714298), l(-0.928571403, -0.928571403, -0.928571403, -0.928571403)
      mad r22.xyzw, r22.xzyw, l(0.285714298, 0.285714298, 0.285714298, 0.285714298), l(-0.928571403, -0.928571403, -0.928571403, -0.928571403)
      add r26.xyzw, -|r24.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
      add r26.xyzw, -|r22.xzwy|, r26.xywz
      round_ni r29.xz, r24.xxyx
      round_ni r29.yw, r22.xxxz
      mad r29.xyzw, r29.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      round_ni r30.xz, r24.zzwz
      round_ni r30.yw, r22.yyyw
      mad r30.xyzw, r30.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      ge r31.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000), r26.xywz
      movc r31.xyzw, r31.xyzw, l(-1.000000,-1.000000,-1.000000,-1.000000), l(-0.000000,-0.000000,-0.000000,-0.000000)
      mov r40.xz, r24.xxyx
      mov r40.yw, r22.xxxz
      mad r29.xyzw, r29.zwxy, r31.yyxx, r40.zwxy
      mov r22.xz, r24.zzwz
      mad r22.xyzw, r30.xyzw, r31.zzww, r22.xyzw
      mov r24.xy, r29.zwzz
      mov r24.z, r26.x
      dp3 r30.x, r24.xyzx, r24.xyzx
      mov r29.z, r26.y
      dp3 r30.y, r29.xyzx, r29.xyzx
      mov r31.xy, r22.xyxx
      mov r31.z, r26.w
      dp3 r30.z, r31.xyzx, r31.xyzx
      mov r26.xy, r22.zwzz
      dp3 r30.w, r26.xyzx, r26.xyzx
      mad r22.xyzw, -r30.xyzw, l(0.853734732, 0.853734732, 0.853734732, 0.853734732), l(1.79284286, 1.79284286, 1.79284286, 1.79284286)
      mul r24.xyz, r22.xxxx, r24.xyzx
      mul r29.xyz, r22.yyyy, r29.xyzx
      mul r22.xyz, r22.zzzz, r31.xyzx
      mul r26.xyz, r22.wwww, r26.xyzx
      dp3 r30.x, r23.xyzx, r23.xyzx
      dp3 r30.y, r25.xyzx, r25.xyzx
      dp3 r30.z, r27.xyzx, r27.xyzx
      dp3 r30.w, r28.xyzx, r28.xyzx
      add r30.xyzw, -r30.xyzw, l(0.600000, 0.600000, 0.600000, 0.600000)
      max r30.xyzw, r30.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
      mul r31.xyzw, r30.xyzw, r30.xyzw
      mul r30.xyzw, r30.xyzw, r31.xyzw
      mul r31.xyzw, r31.xyzw, r31.xyzw
      mul r30.xyzw, r30.xyzw, l(-8.000000, -8.000000, -8.000000, -8.000000)
      dp3 r4.y, r24.xyzx, r23.xyzx
      dp3 r5.z, r29.xyzx, r25.xyzx
      dp3 r5.w, r22.xyzx, r27.xyzx
      dp3 r13.z, r26.xyzx, r28.xyzx
      mul r17.zw, r23.yyyz, r30.xxxx
      mul r21.xy, r24.yzyy, r31.xxxx
      mad r17.zw, r17.zzzw, r4.yyyy, r21.xxxy
      mul r21.xy, r25.yzyy, r30.yyyy
      mul r22.xw, r29.yyyz, r31.yyyy
      mad r21.xy, r21.xyxx, r5.zzzz, r22.xwxx
      add r17.zw, r17.zzzw, r21.xxxy
      mul r21.xy, r27.yzyy, r30.zzzz
      mul r22.xy, r22.yzyy, r31.zzzz
      mad r5.zw, r21.xxxy, r5.wwww, r22.xxxy
      add r5.zw, r5.zzzw, r17.zzzw
      mul r17.zw, r28.yyyz, r30.wwww
      mul r21.xy, r26.yzyy, r31.wwww
      mad r17.zw, r17.zzzw, r13.zzzz, r21.xxxy
      add r5.zw, r5.zzzw, r17.zzzw
      mul r4.y, r5.z, l(42.000000)
      add r22.xyz, r20.xyzx, l(920.718689, 125.506699, 523.453003, 0.000000)
      dp3 r5.z, r22.xyzx, l(0.333333343, 0.333333343, 0.333333343, 0.000000)
      add r23.xyz, r5.zzzz, r22.xyzx
      round_ni r23.xyz, r23.xyzx
      add r22.xyz, r22.xyzx, -r23.xyzx
      dp3 r5.z, r23.xyzx, l(0.166666672, 0.166666672, 0.166666672, 0.000000)
      add r22.xyz, r5.zzzz, r22.xyzx
      ge r24.xyz, r22.zxyz, r22.xyzx
      and r25.xyz, r24.yzxy, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
      movc r24.xyz, r24.xyzx, l(0,0,0,0), l(1.000000,1.000000,1.000000,0)
      min r26.xyz, r24.xyzx, r25.xyzx
      max r24.xyz, r24.yzxy, r25.yzxy
      add r25.xyz, r22.xyzx, -r26.xyzx
      add r25.xyz, r25.xyzx, l(0.166666672, 0.166666672, 0.166666672, 0.000000)
      add r27.xyz, r22.xyzx, -r24.zxyz
      add r27.xyz, r27.xyzx, l(0.333333343, 0.333333343, 0.333333343, 0.000000)
      add r28.xyz, r22.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
      mul r29.xyz, r23.xyzx, l(0.00346020772, 0.00346020772, 0.00346020772, 0.000000)
      round_ni r29.xyz, r29.xyzx
      mad r23.xyz, -r29.xyzx, l(289.000000, 289.000000, 289.000000, 0.000000), r23.xyzx
      mov r29.xw, l(0,0,0,1.000000)
      mov r29.y, r26.z
      mov r29.z, r24.y
      add r29.xyzw, r23.zzzz, r29.xyzw
      mad r30.xyzw, r29.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r29.xyzw, r29.xyzw, r30.xyzw
      mul r30.xyzw, r29.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r30.xyzw, r30.xyzw
      mad r29.xyzw, -r30.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r29.xyzw
      add r29.xyzw, r23.yyyy, r29.xyzw
      mov r30.xw, l(0,0,0,1.000000)
      mov r30.y, r26.y
      mov r30.z, r24.x
      add r29.xyzw, r29.xyzw, r30.xyzw
      mad r30.xyzw, r29.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r29.xyzw, r29.xyzw, r30.xyzw
      mul r30.xyzw, r29.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r30.xyzw, r30.xyzw
      mad r29.xyzw, -r30.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r29.xyzw
      add r23.xyzw, r23.xxxx, r29.xyzw
      mov r24.xw, l(0,0,0,1.000000)
      mov r24.y, r26.x
      add r23.xyzw, r23.xyzw, r24.xyzw
      mad r24.xyzw, r23.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r23.xyzw, r23.xyzw, r24.xyzw
      mul r24.xyzw, r23.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r24.xyzw, r24.xyzw
      mad r23.xyzw, -r24.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r23.xyzw
      mul r24.xyzw, r23.xyzw, l(0.0204081647, 0.0204081647, 0.0204081647, 0.0204081647)
      round_ni r24.xyzw, r24.xyzw
      mad r23.xyzw, -r24.xyzw, l(49.000000, 49.000000, 49.000000, 49.000000), r23.xyzw
      mul r24.xyzw, r23.xyzw, l(0.142857149, 0.142857149, 0.142857149, 0.142857149)
      round_ni r24.xyzw, r24.xyzw
      mad r23.xyzw, -r24.xyzw, l(7.000000, 7.000000, 7.000000, 7.000000), r23.xyzw
      mad r24.xyzw, r24.xyzw, l(0.285714298, 0.285714298, 0.285714298, 0.285714298), l(-0.928571403, -0.928571403, -0.928571403, -0.928571403)
      mad r23.xyzw, r23.xzyw, l(0.285714298, 0.285714298, 0.285714298, 0.285714298), l(-0.928571403, -0.928571403, -0.928571403, -0.928571403)
      add r26.xyzw, -|r24.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
      add r26.xyzw, -|r23.xzwy|, r26.xywz
      round_ni r29.xz, r24.xxyx
      round_ni r29.yw, r23.xxxz
      mad r29.xyzw, r29.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      round_ni r30.xz, r24.zzwz
      round_ni r30.yw, r23.yyyw
      mad r30.xyzw, r30.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      ge r31.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000), r26.xywz
      movc r31.xyzw, r31.xyzw, l(-1.000000,-1.000000,-1.000000,-1.000000), l(-0.000000,-0.000000,-0.000000,-0.000000)
      mov r40.xz, r24.xxyx
      mov r40.yw, r23.xxxz
      mad r29.xyzw, r29.zwxy, r31.yyxx, r40.zwxy
      mov r23.xz, r24.zzwz
      mad r23.xyzw, r30.xyzw, r31.zzww, r23.xyzw
      mov r24.xy, r29.zwzz
      mov r24.z, r26.x
      dp3 r30.x, r24.xyzx, r24.xyzx
      mov r29.z, r26.y
      dp3 r30.y, r29.xyzx, r29.xyzx
      mov r31.xy, r23.xyxx
      mov r31.z, r26.w
      dp3 r30.z, r31.xyzx, r31.xyzx
      mov r26.xy, r23.zwzz
      dp3 r30.w, r26.xyzx, r26.xyzx
      mad r23.xyzw, -r30.xyzw, l(0.853734732, 0.853734732, 0.853734732, 0.853734732), l(1.79284286, 1.79284286, 1.79284286, 1.79284286)
      mul r24.xyz, r23.xxxx, r24.xyzx
      mul r29.xyz, r23.yyyy, r29.xyzx
      mul r23.xyz, r23.zzzz, r31.xyzx
      mul r26.xyz, r23.wwww, r26.xyzx
      dp3 r30.x, r22.xyzx, r22.xyzx
      dp3 r30.y, r25.xyzx, r25.xyzx
      dp3 r30.z, r27.xyzx, r27.xyzx
      dp3 r30.w, r28.xyzx, r28.xyzx
      add r30.xyzw, -r30.xyzw, l(0.600000, 0.600000, 0.600000, 0.600000)
      max r30.xyzw, r30.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
      mul r31.xyzw, r30.xyzw, r30.xyzw
      mul r30.xyzw, r30.xyzw, r31.xyzw
      mul r31.xyzw, r31.xyzw, r31.xyzw
      mul r30.xyzw, r30.xyzw, l(-8.000000, -8.000000, -8.000000, -8.000000)
      dp3 r5.z, r24.xyzx, r22.xyzx
      dp3 r13.z, r29.xyzx, r25.xyzx
      dp3 r14.w, r23.xyzx, r27.xyzx
      dp3 r16.w, r26.xyzx, r28.xyzx
      mul r17.zw, r22.xxxz, r30.xxxx
      mul r21.xy, r24.xzxx, r31.xxxx
      mad r17.zw, r17.zzzw, r5.zzzz, r21.xxxy
      mul r21.xy, r25.xzxx, r30.yyyy
      mul r22.xy, r29.xzxx, r31.yyyy
      mad r21.xy, r21.xyxx, r13.zzzz, r22.xyxx
      add r17.zw, r17.zzzw, r21.xxxy
      mul r21.xy, r27.xzxx, r30.zzzz
      mul r22.xy, r23.xzxx, r31.zzzz
      mad r21.xy, r21.xyxx, r14.wwww, r22.xyxx
      add r17.zw, r17.zzzw, r21.xxxy
      mul r21.xy, r28.xzxx, r30.wwww
      mul r22.xy, r26.xzxx, r31.wwww
      mad r21.xy, r21.xyxx, r16.wwww, r22.xyxx
      add r17.zw, r17.zzzw, r21.xxxy
      mul r5.z, r17.w, l(42.000000)
      add r20.xyz, r20.xyzx, l(328.609802, -515.140930, 343.312012, 0.000000)
      dp3 r13.z, r20.xyzx, l(0.333333343, 0.333333343, 0.333333343, 0.000000)
      add r22.xyz, r13.zzzz, r20.xyzx
      round_ni r22.xyz, r22.xyzx
      add r20.xyz, r20.xyzx, -r22.xyzx
      dp3 r13.z, r22.xyzx, l(0.166666672, 0.166666672, 0.166666672, 0.000000)
      add r20.xyz, r13.zzzz, r20.xyzx
      ge r23.xyz, r20.zxyz, r20.xyzx
      and r24.xyz, r23.yzxy, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
      movc r23.xyz, r23.xyzx, l(0,0,0,0), l(1.000000,1.000000,1.000000,0)
      min r25.xyz, r23.xyzx, r24.xyzx
      max r23.xyz, r23.yzxy, r24.yzxy
      add r24.xyz, r20.xyzx, -r25.xyzx
      add r24.xyz, r24.xyzx, l(0.166666672, 0.166666672, 0.166666672, 0.000000)
      add r26.xyz, r20.xyzx, -r23.zxyz
      add r26.xyz, r26.xyzx, l(0.333333343, 0.333333343, 0.333333343, 0.000000)
      add r27.xyz, r20.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
      mul r28.xyz, r22.xyzx, l(0.00346020772, 0.00346020772, 0.00346020772, 0.000000)
      round_ni r28.xyz, r28.xyzx
      mad r22.xyz, -r28.xyzx, l(289.000000, 289.000000, 289.000000, 0.000000), r22.xyzx
      mov r28.xw, l(0,0,0,1.000000)
      mov r28.y, r25.z
      mov r28.z, r23.y
      add r28.xyzw, r22.zzzz, r28.xyzw
      mad r29.xyzw, r28.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r28.xyzw, r28.xyzw, r29.xyzw
      mul r29.xyzw, r28.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r29.xyzw, r29.xyzw
      mad r28.xyzw, -r29.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r28.xyzw
      add r28.xyzw, r22.yyyy, r28.xyzw
      mov r29.xw, l(0,0,0,1.000000)
      mov r29.y, r25.y
      mov r29.z, r23.x
      add r28.xyzw, r28.xyzw, r29.xyzw
      mad r29.xyzw, r28.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r28.xyzw, r28.xyzw, r29.xyzw
      mul r29.xyzw, r28.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r29.xyzw, r29.xyzw
      mad r28.xyzw, -r29.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r28.xyzw
      add r22.xyzw, r22.xxxx, r28.xyzw
      mov r23.xw, l(0,0,0,1.000000)
      mov r23.y, r25.x
      add r22.xyzw, r22.xyzw, r23.xyzw
      mad r23.xyzw, r22.xyzw, l(34.000000, 34.000000, 34.000000, 34.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      mul r22.xyzw, r22.xyzw, r23.xyzw
      mul r23.xyzw, r22.xyzw, l(0.00346020772, 0.00346020772, 0.00346020772, 0.00346020772)
      round_ni r23.xyzw, r23.xyzw
      mad r22.xyzw, -r23.xyzw, l(289.000000, 289.000000, 289.000000, 289.000000), r22.xyzw
      mul r23.xyzw, r22.xyzw, l(0.0204081647, 0.0204081647, 0.0204081647, 0.0204081647)
      round_ni r23.xyzw, r23.xyzw
      mad r22.xyzw, -r23.xyzw, l(49.000000, 49.000000, 49.000000, 49.000000), r22.xyzw
      mul r23.xyzw, r22.xyzw, l(0.142857149, 0.142857149, 0.142857149, 0.142857149)
      round_ni r23.xyzw, r23.xyzw
      mad r22.xyzw, -r23.xyzw, l(7.000000, 7.000000, 7.000000, 7.000000), r22.xyzw
      mad r23.xyzw, r23.xyzw, l(0.285714298, 0.285714298, 0.285714298, 0.285714298), l(-0.928571403, -0.928571403, -0.928571403, -0.928571403)
      mad r22.xyzw, r22.xzyw, l(0.285714298, 0.285714298, 0.285714298, 0.285714298), l(-0.928571403, -0.928571403, -0.928571403, -0.928571403)
      add r25.xyzw, -|r23.xyzw|, l(1.000000, 1.000000, 1.000000, 1.000000)
      add r25.xyzw, -|r22.xzwy|, r25.xywz
      round_ni r28.xz, r23.xxyx
      round_ni r28.yw, r22.xxxz
      mad r28.xyzw, r28.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      round_ni r29.xz, r23.zzwz
      round_ni r29.yw, r22.yyyw
      mad r29.xyzw, r29.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
      ge r30.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000), r25.xywz
      movc r30.xyzw, r30.xyzw, l(-1.000000,-1.000000,-1.000000,-1.000000), l(-0.000000,-0.000000,-0.000000,-0.000000)
      mov r31.xz, r23.xxyx
      mov r31.yw, r22.xxxz
      mad r28.xyzw, r28.zwxy, r30.yyxx, r31.zwxy
      mov r22.xz, r23.zzwz
      mad r22.xyzw, r29.xyzw, r30.zzww, r22.xyzw
      mov r23.xy, r28.zwzz
      mov r23.z, r25.x
      dp3 r29.x, r23.xyzx, r23.xyzx
      mov r28.z, r25.y
      dp3 r29.y, r28.xyzx, r28.xyzx
      mov r30.xy, r22.xyxx
      mov r30.z, r25.w
      dp3 r29.z, r30.xyzx, r30.xyzx
      mov r25.xy, r22.zwzz
      dp3 r29.w, r25.xyzx, r25.xyzx
      mad r22.xyzw, -r29.xyzw, l(0.853734732, 0.853734732, 0.853734732, 0.853734732), l(1.79284286, 1.79284286, 1.79284286, 1.79284286)
      mul r23.xyz, r22.xxxx, r23.xyzx
      mul r28.xyz, r22.yyyy, r28.xyzx
      mul r22.xyz, r22.zzzz, r30.xyzx
      mul r25.xyz, r22.wwww, r25.xyzx
      dp3 r29.x, r20.xyzx, r20.xyzx
      dp3 r29.y, r24.xyzx, r24.xyzx
      dp3 r29.z, r26.xyzx, r26.xyzx
      dp3 r29.w, r27.xyzx, r27.xyzx
      add r29.xyzw, -r29.xyzw, l(0.600000, 0.600000, 0.600000, 0.600000)
      max r29.xyzw, r29.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
      mul r30.xyzw, r29.xyzw, r29.xyzw
      mul r29.xyzw, r29.xyzw, r30.xyzw
      mul r30.xyzw, r30.xyzw, r30.xyzw
      mul r29.xyzw, r29.xyzw, l(-8.000000, -8.000000, -8.000000, -8.000000)
      dp3 r13.z, r23.xyzx, r20.xyzx
      dp3 r14.w, r28.xyzx, r24.xyzx
      dp3 r16.w, r22.xyzx, r26.xyzx
      dp3 r17.w, r25.xyzx, r27.xyzx
      mul r20.xy, r20.xyxx, r29.xxxx
      mul r20.zw, r23.xxxy, r30.xxxx
      mad r20.xy, r20.xyxx, r13.zzzz, r20.zwzz
      mul r20.zw, r24.xxxy, r29.yyyy
      mul r21.xy, r28.xyxx, r30.yyyy
      mad r20.zw, r20.zzzw, r14.wwww, r21.xxxy
      add r20.xy, r20.zwzz, r20.xyxx
      mul r20.zw, r26.xxxy, r29.zzzz
      mul r21.xy, r22.xyxx, r30.zzzz
      mad r20.zw, r20.zzzw, r16.wwww, r21.xxxy
      add r20.xy, r20.zwzz, r20.xyxx
      mul r20.zw, r27.xxxy, r29.wwww
      mul r21.xy, r25.xyxx, r30.wwww
      mad r20.zw, r20.zzzw, r17.wwww, r21.xxxy
      add r20.xy, r20.zwzz, r20.xyxx
      mul r13.z, r20.x, l(42.000000)
      mad r20.x, r20.y, l(42.000000), -r5.z
      mad r20.y, r5.w, l(42.000000), -r13.z
      mad r20.z, r17.z, l(42.000000), -r4.y
      mad r18.xyz, r19.xyzx, r20.xyzx, r18.xyzx
    endif
    mad r19.xyz, r37.xyzx, r5.xxxx, r36.xyzx
    mul r20.xyz, r5.xxxx, r18.xyzx
    mul r20.xyz, r5.xxxx, r20.xyzx
    mad r19.xyz, r20.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r19.xyzx
    mad r5.xzw, r5.xxxx, r18.xxyz, r37.xxyz
    ieq r16.xy, r38.zxzz, l(0, 0, 0, 0)
    ge r4.y, r33.x, l(1.000000)
    and r4.y, r4.y, r16.x
    if_z r4.y
      lt r4.y, l(0.000000), r32.z
      mul r13.z, r32.z, r32.y
      mad r13.z, r13.z, r13.w, r32.y
      max r13.z, r13.z, l(0.000000)
      movc r4.y, r4.y, r13.z, r32.y
      add r13.z, r2.w, r33.z
      add r13.z, r32.w, r13.z
      add r13.z, -r36.y, r13.z
      add r13.w, -r36.y, r19.y
      div r13.z, r13.z, r13.w
      ge r13.w, r13.z, l(0.000000)
      ge r13.z, l(1.000000), r13.z
      and r13.z, r13.z, r13.w
      mad r18.xyz, r5.zzzz, l(-0.000000, -2.000000, -0.000000, 0.000000), r5.xzwx
      mul r18.xyz, r4.yyyy, r18.xyzx
      dp3 r13.w, r18.xyzx, r18.xyzx
      lt r13.w, r13.w, l(0.160000)
      movc r18.xyz, r13.wwww, l(0,0,0,0), r18.xyzx
      movc r20.xyz, r13.zzzz, r36.xyzx, r19.xyzx
      movc r18.xyz, r13.zzzz, r18.xyzx, r5.xzwx
      movc r19.xyz, r38.zzzz, r20.xyzx, r19.xyzx
      movc r5.xzw, r38.zzzz, r18.xxyz, r5.xxzw
      if_z r38.z
        ge r13.z, r0.z, r33.x
        if_nz r13.z
          mov r19.w, l(1.000000)
          dp4 r13.z, r19.xyzw, cb0[159].xyzw
          dp4 r18.x, r19.xyzw, cb0[161].xyzw
          dp4 r18.y, r19.xyzw, cb0[162].xyzw
          dp4 r13.w, r19.xyzw, cb0[164].xyzw
          add r45.w, r13.w, -cb12[0].y
          mad r18.x, cb12[0].x, r45.w, r18.x
          div r13.w, l(1.000000, 1.000000, 1.000000, 1.000000), r13.w
          mul r17.zw, r13.wwww, r18.xxxy
          mad r17.zw, r17.zzzw, l(0.000000, 0.000000, 0.500000, -0.500000), l(0.000000, 0.000000, 0.500000, 0.500000)
          sample_l_indexable(texture2d)(float,float,float,float) r13.w, r17.zwzz, t9.yzwx, s0, l(0.000000)
          add r13.z, -r13.w, -r13.z
          add r13.w, r32.w, r13.z
          lt r13.w, l(0.000000), r13.w
          add r13.z, -r32.w, r13.z
          lt r13.z, r13.z, r33.y
          and r13.z, r13.z, r13.w
          if_nz r13.z
            dp3 r13.z, r5.xzwx, r5.xzwx
            mul r13.w, r4.y, r4.y
            mul r13.z, r13.z, r13.w
            ge r13.z, l(0.160000), r13.z
            if_nz r13.z
              mov r5.xzw, l(0,0,0,0)
            else
              sample_l_indexable(texture2d)(float,float,float,float) r18.xyz, r17.zwzz, t10.xyzw, s0, l(0.000000)
              mad r18.xyz, r18.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
              dp3 r13.z, r5.xzwx, r18.xyzx
              add r13.z, r13.z, r13.z
              mad r18.xyz, r18.xyzx, -r13.zzzz, r5.xzwx
              mul r5.xzw, r4.yyyy, r18.xxyz
            endif
            mov r19.xyz, r36.xyzx
          endif
        endif
      endif
    endif
    mov r18.x, r1.w
    mov r18.y, r2.w
    mov r18.z, r3.z
    add r20.xyz, -r18.xyzx, r19.xyzx
    dp3 r4.y, r20.xyzx, r20.xyzx
    sqrt r4.y, r4.y
    lt r13.z, l(0.000010), r4.y
    max r13.w, r21.z, r4.y
    min r13.w, r21.w, r13.w
    div r4.y, r13.w, r4.y
    mad r18.xyz, r20.xyzx, r4.yyyy, r18.xyzx
    movc r18.xyz, r13.zzzz, r18.xyzx, r19.xyzx
    movc r18.xyz, r38.wwww, r18.xyzx, r19.xyzx
    and r19.xyzw, r5.yyyy, l(0x00800000, 0x01000000, 0x02000000, 0x20000000)
    movc r18.xyz, r19.xyzx, r36.xyzx, r18.xyzx
    add r19.xyz, r35.xyzx, r35.xyzx
    mov r34.z, r33.w
    add r20.xyz, -r34.zxyz, r18.xyzx
    add r20.xyz, r35.xyzx, r20.xyzx
    ge r21.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r20.xyzx
    and r21.xyz, r21.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
    div r20.xyz, |r20.xyzx|, r19.xyzx
    ge r22.xyz, r20.xyzx, -r20.xyzx
    frc r20.xyz, |r20.xyzx|
    movc r20.xyz, r22.xyzx, r20.xyzx, -r20.xyzx
    mad r19.xyz, r20.xyzx, r19.xyzx, -r35.xyzx
    mul r20.xyz, r21.xyzx, r19.xyzx
    mad r19.xyz, r20.xyzx, l(-2.000000, -2.000000, -2.000000, 0.000000), r19.xyzx
    add r19.xyz, r19.xyzx, r34.zxyz
    movc r18.xyz, r19.wwww, r19.xyzx, r18.xyzx
    if_nz r4.z
      iadd r4.y, r15.w, r39.x
      store_structured u25.xyz, r4.y, l(12), r18.xyzx
    endif
    if_nz r12.w
      store_structured u8.xyz, r0.w, l(0), r18.xyzx
      store_structured u10.xyz, r0.w, l(0), r5.xzwx
    endif
    and r0.w, r5.y, l(2048)
    mov r18.w, l(1.000000)
    dp4 r19.x, r18.xyzw, r1.xyzw
    dp4 r19.y, r18.xyzw, r2.xyzw
    dp4 r19.z, r18.xywz, r3.xyzw
    dp3 r20.x, r5.xzwx, r1.xyzx
    dp3 r20.y, r5.xzwx, r2.xyzx
    dp3 r20.z, r5.xzwx, r3.xywx
    mov r36.w, l(1.000000)
    dp4 r21.x, r36.xyzw, r1.xyzw
    dp4 r21.y, r36.xyzw, r2.xyzw
    dp4 r21.z, r36.xywz, r3.xyzw
    dp3 r1.x, r37.xyzx, r1.xyzx
    dp3 r1.y, r37.xyzx, r2.xyzx
    dp3 r1.z, r37.xyzx, r3.xywx
    movc r7.xyw, r0.wwww, r19.xyxz, r18.xyxz
    movc r8.xyz, r0.wwww, r20.xyzx, r5.xzwx
    movc r11.xyz, r0.wwww, r21.zxyz, r36.zxyz
    movc r12.xyz, r0.wwww, r1.xyzx, r37.xyzx
    mov r9.x, r11.y
    mov r10.x, r11.z
    mov r13.xy, r17.xyxx
    mov r14.x, r0.z
    mov r16.x, r0.x
    mov r8.w, l(-1)
  endif
endif
imul null, r0.x, r4.x, l(14)
dp3 r0.z, r7.xywx, cb0[r0.x + 8].xyzx
add r0.z, r0.z, cb0[r0.x + 8].w
dp3 r0.w, r7.xywx, cb0[r0.x + 9].xyzx
add r0.w, r0.w, cb0[r0.x + 9].w
lt r0.zw, -r6.wwww, r0.zzzw
and r0.z, r0.w, r0.z
dp3 r0.w, r7.xywx, cb0[r0.x + 10].xyzx
add r0.w, r0.w, cb0[r0.x + 10].w
lt r0.w, -r6.w, r0.w
and r0.z, r0.w, r0.z
dp3 r0.w, r7.xywx, cb0[r0.x + 11].xyzx
add r0.w, r0.w, cb0[r0.x + 11].w
lt r0.w, -r6.w, r0.w
and r0.z, r0.w, r0.z
dp3 r0.w, r7.xywx, cb0[r0.x + 12].xyzx
add r0.w, r0.w, cb0[r0.x + 12].w
lt r0.w, -r6.w, r0.w
and r0.z, r0.w, r0.z
bfi r0.w, l(1), vThreadIDInGroupFlattened.x, r0.z, l(0)
ult r1.x, vThreadIDInGroupFlattened.x, l(32)
movc r1.y, r1.x, l(0), r0.w
and r0.w, r0.w, r1.x
if_z vThreadIDInGroupFlattened.x
  store_raw g1.xy, l(0), l(0,0,0,0)
endif
sync_g_t
atomic_or g1, l(0), r0.w
atomic_or g1, l(4), r1.y
sync_g_t
and r1.yz, r5.yyyy, l(0, 0x00100000, 0x04000000, 0)
ine r0.w, r1.y, l(0)
and r0.w, r0.w, r8.w
if_z r0.w
  mov r0.z, r8.w
endif
bfi r0.w, l(1), vThreadIDInGroupFlattened.x, r8.w, l(0)
movc r1.y, r1.x, l(0), r0.w
and r0.w, r0.w, r1.x
if_z vThreadIDInGroupFlattened.x
  store_raw g1.xy, l(0), l(0,0,0,0)
endif
sync_g_t
atomic_or g1, l(0), r0.w
atomic_or g1, l(4), r1.y
sync_g_t
ld_raw r2.xy, l(0), g1.xyxx
movc r4.xyz, r8.wwww, r7.xywx, l(340282346638528859811704183484516925440.000000,340282346638528859811704183484516925440.000000,340282346638528859811704183484516925440.000000,0)
movc r5.xzw, r8.wwww, r7.xxyw, l(-340282346638528859811704183484516925440.000000,0,-340282346638528859811704183484516925440.000000,-340282346638528859811704183484516925440.000000)
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.x
sync_g_t
xor r17.xyzw, vThreadIDInGroupFlattened.xxxx, l(1, 2, 4, 8)
ld_structured r0.w, r17.x, l(0), g0.xxxx
min r0.w, r0.w, r4.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r1.y, r17.y, l(0), g0.xxxx
min r0.w, r0.w, r1.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r1.y, r17.z, l(0), g0.xxxx
min r0.w, r0.w, r1.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r1.y, r17.w, l(0), g0.xxxx
min r0.w, r0.w, r1.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
xor r1.y, vThreadIDInGroupFlattened.x, l(16)
ld_structured r2.z, r1.y, l(0), g0.xxxx
min r0.w, r0.w, r2.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r2.z, l(32), l(0), g0.xxxx
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.y
sync_g_t
ld_structured r3.w, r17.x, l(0), g0.xxxx
min r3.w, r3.w, r4.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r3.w
sync_g_t
ld_structured r4.x, r17.y, l(0), g0.xxxx
min r3.w, r3.w, r4.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r3.w
sync_g_t
ld_structured r4.x, r17.z, l(0), g0.xxxx
min r3.w, r3.w, r4.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r3.w
sync_g_t
ld_structured r4.x, r17.w, l(0), g0.xxxx
min r3.w, r3.w, r4.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r3.w
sync_g_t
ld_structured r4.x, r1.y, l(0), g0.xxxx
min r3.w, r3.w, r4.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r3.w
sync_g_t
ld_structured r4.x, l(32), l(0), g0.xxxx
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.z
sync_g_t
ld_structured r4.y, r17.x, l(0), g0.xxxx
min r4.y, r4.y, r4.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.y
sync_g_t
ld_structured r4.z, r17.y, l(0), g0.xxxx
min r4.y, r4.z, r4.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.y
sync_g_t
ld_structured r4.z, r17.z, l(0), g0.xxxx
min r4.y, r4.z, r4.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.y
sync_g_t
ld_structured r4.z, r17.w, l(0), g0.xxxx
min r4.y, r4.z, r4.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.y
sync_g_t
ld_structured r4.z, r1.y, l(0), g0.xxxx
min r4.y, r4.z, r4.y
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.y
sync_g_t
ld_structured r4.z, l(32), l(0), g0.xxxx
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.x
sync_g_t
ld_structured r8.w, r17.x, l(0), g0.xxxx
max r5.x, r5.x, r8.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.x
sync_g_t
ld_structured r8.w, r17.y, l(0), g0.xxxx
max r5.x, r5.x, r8.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.x
sync_g_t
ld_structured r8.w, r17.z, l(0), g0.xxxx
max r5.x, r5.x, r8.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.x
sync_g_t
ld_structured r8.w, r17.w, l(0), g0.xxxx
max r5.x, r5.x, r8.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.x
sync_g_t
ld_structured r8.w, r1.y, l(0), g0.xxxx
max r5.x, r5.x, r8.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.x
sync_g_t
ld_structured r8.w, l(32), l(0), g0.xxxx
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.z
sync_g_t
ld_structured r12.w, r17.x, l(0), g0.xxxx
max r5.z, r5.z, r12.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.z
sync_g_t
ld_structured r12.w, r17.y, l(0), g0.xxxx
max r5.z, r5.z, r12.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.z
sync_g_t
ld_structured r12.w, r17.z, l(0), g0.xxxx
max r5.z, r5.z, r12.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.z
sync_g_t
ld_structured r12.w, r17.w, l(0), g0.xxxx
max r5.z, r5.z, r12.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.z
sync_g_t
ld_structured r12.w, r1.y, l(0), g0.xxxx
max r5.z, r5.z, r12.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.z
sync_g_t
ld_structured r12.w, l(32), l(0), g0.xxxx
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.w
sync_g_t
ld_structured r13.z, r17.x, l(0), g0.xxxx
max r5.w, r5.w, r13.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.w
sync_g_t
ld_structured r13.z, r17.y, l(0), g0.xxxx
max r5.w, r5.w, r13.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.w
sync_g_t
ld_structured r13.z, r17.z, l(0), g0.xxxx
max r5.w, r5.w, r13.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.w
sync_g_t
ld_structured r13.z, r17.w, l(0), g0.xxxx
max r5.w, r5.w, r13.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r5.w
sync_g_t
ld_structured r1.y, r1.y, l(0), g0.xxxx
max r1.y, r1.y, r5.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r1.y
sync_g_t
ld_structured r5.w, l(32), l(0), g0.xxxx
bfi r13.z, l(1), vThreadIDInGroupFlattened.x, r0.z, l(0)
movc r13.w, r1.x, l(0), r13.z
and r1.x, r1.x, r13.z
if_z vThreadIDInGroupFlattened.x
  store_raw g1.xy, l(0), l(0,0,0,0)
endif
sync_g_t
atomic_or g1, l(0), r1.x
atomic_or g1, l(4), r13.w
sync_g_t
ld_raw r13.zw, l(0), g1.xxxy
if_z vThreadIDInGroupFlattened.x
  countbits r2.xy, r2.xyxx
  iadd r17.x, r2.y, r2.x
  min r18.y, r0.w, r2.z
  min r18.z, r3.w, r4.x
  min r18.w, r4.z, r4.y
  max r2.x, r5.x, r8.w
  max r2.y, r5.z, r12.w
  max r2.z, r1.y, r5.w
  countbits r1.xy, r13.zwzz
  iadd r0.w, r1.y, r1.x
  ld_structured_indexable(structured_buffer, stride=44)(mixed,mixed,mixed,mixed) r1.x, vThreadGroupID.x, l(4), t11.xxxx
  store_structured u27.x, r1.x, l(0), r0.w
  mov r3.x, r1.w
  mov r3.y, r2.w
  movc r4.xyz, r17.xxxx, r18.yzwy, r3.xyzx
  movc r2.xyz, r17.xxxx, r2.xyzx, r3.xyzx
  add r17.yzw, -r6.wwww, r4.xxyz
  store_structured u26.xyzw, r1.x, l(0), r17.xyzw
  add r2.xyz, r6.wwww, r2.xyzx
  store_structured u26.xyz, r1.x, l(16), r2.xyzx
endif
if_z r1.z
  ld_structured_indexable(structured_buffer, stride=44)(mixed,mixed,mixed,mixed) r1.xyzw, vThreadGroupID.x, l(20), t11.xyzw
  store_structured g3.x, vThreadIDInGroupFlattened.x, l(0), l(0)
  sync_g_t
  if_nz r0.z
    ishl r0.w, r16.x, l(13)
    xor r0.w, r0.w, r16.x
    ushr r2.x, r0.w, l(17)
    xor r0.w, r0.w, r2.x
    ishl r2.x, r0.w, l(5)
    xor r0.w, r0.w, r2.x
    movc r16.x, r16.y, r16.x, r0.w
    udiv null, r2.x, r16.x, r1.z
    mov r2.y, l(0)
    imm_atomic_iadd r3.x, g3, r2.xyxx, l(1)
    mov r16.y, l(0)
  else
    mov r2.x, l(0)
    mov r3.x, l(0)
  endif
  sync_g_t
  ult r0.w, vThreadIDInGroupFlattened.x, r1.z
  ld_structured r1.z, vThreadIDInGroupFlattened.x, l(0), g3.xxxx
  ult r2.y, l(0), r1.z
  and r0.w, r0.w, r2.y
  if_nz r0.w
    iadd r0.w, r1.x, vThreadIDInGroupFlattened.x
    imad r0.w, r0.w, l(5), l(1)
    imm_atomic_iadd r17.x, u23, r0.w, r1.z
    store_structured g4.x, vThreadIDInGroupFlattened.x, l(0), r17.x
  endif
  sync_g_t
  if_nz r0.z
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r0.z, r0.y, l(356), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r17.xyzw, r0.y, l(488), t0.xyzw
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r2.yzw, r0.y, l(504), t0.xxyz
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r1.xz, r0.y, l(520), t0.xxyx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r3.yz, r0.y, l(1008), t0.xxyx
    ld_structured_indexable(structured_buffer, stride=1100)(mixed,mixed,mixed,mixed) r0.yw, r0.y, l(1056), t0.xxxy
    imul null, r1.w, r1.w, r2.x
    ishl r1.w, r1.w, l(6)
    iadd r1.y, r1.w, r1.y
    ld_structured r1.w, r2.x, l(0), g4.xxxx
    iadd r1.y, r1.w, r1.y
    iadd r1.y, r3.x, r1.y
    ieq r3.xw, r4.wwww, l(3, 0, 0, 4)
    or r1.w, r3.w, r3.x
    and r3.xw, r5.yyyy, l(8, 0, 0, 0x10000000)
    ine r4.xy, r3.xwxx, l(0, 0, 0, 0)
    and r1.w, r1.w, r4.x
    ne r4.xz, r6.yyxy, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r2.x, r4.x, r6.y, l(3.14159250)
    ishl r3.x, r16.x, l(13)
    xor r3.x, r3.x, r16.x
    ushr r4.x, r3.x, l(17)
    xor r3.x, r3.x, r4.x
    ishl r4.x, r3.x, l(5)
    xor r3.x, r3.x, r4.x
    movc r5.x, r16.y, r16.x, r3.x
    utof r3.x, r5.x
    mad r3.x, r3.x, l(4.656612873E-10), l(-1.000000)
    mul r5.z, r2.x, r3.x
    mov r5.y, l(0)
    mov r16.z, r6.y
    movc r5.xyz, r1.wwww, r5.xyzx, r16.xyzx
    if_nz r4.z
      switch r6.z
        case l(0)
        ishl r1.w, r5.x, l(13)
        xor r1.w, r1.w, r5.x
        ushr r2.x, r1.w, l(17)
        xor r1.w, r1.w, r2.x
        ishl r2.x, r1.w, l(5)
        xor r1.w, r1.w, r2.x
        movc r5.x, r5.y, r5.x, r1.w
        utof r1.w, r5.x
        mad r1.w, r1.w, l(4.656612873E-10), l(-1.000000)
        mul r6.x, r1.w, r6.x
        mov r5.y, l(0)
        break
        case l(3)
        case l(1)
        ishl r1.w, r5.x, l(13)
        xor r1.w, r1.w, r5.x
        ushr r2.x, r1.w, l(17)
        xor r1.w, r1.w, r2.x
        ishl r2.x, r1.w, l(5)
        xor r1.w, r1.w, r2.x
        movc r5.x, r5.y, r5.x, r1.w
        utof r1.w, r5.x
        mul r1.w, r6.x, r1.w
        mul r6.x, r1.w, l(2.328306437E-10)
        mov r5.y, l(0)
        break
        case l(4)
        case l(2)
        ishl r1.w, r5.x, l(13)
        xor r1.w, r1.w, r5.x
        ushr r2.x, r1.w, l(17)
        xor r1.w, r1.w, r2.x
        ishl r2.x, r1.w, l(5)
        xor r1.w, r1.w, r2.x
        movc r5.x, r5.y, r5.x, r1.w
        utof r1.w, r5.x
        mul r1.w, r1.w, l(2.328306437E-10)
        mul r6.x, -r1.w, r6.x
        mov r5.y, l(0)
        break
        default
        break
      endswitch
      ine r1.w, r3.z, l(-2)
      if_nz r1.w
        f16tof32 r1.w, r0.w
        ieq r4.xz, r3.zzzz, l(-2, 0, -3, 0)
        ushr r0.w, r0.w, l(16)
        f16tof32 r0.w, r0.w
        add r0.w, -r1.w, r0.w
        or r2.x, r4.z, r4.x
        if_z r2.x
          ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r6.yz, r3.z, l(0), t4.xxyx
          utof r3.x, r3.z
          add r3.x, r3.x, l(0.500000)
          mul r14.y, r3.x, l(0.000244140625)
          sample_l_indexable(texture2d)(float,float,float,float) r3.x, r14.xyxx, t6.xyzw, s0, l(0.000000)
          mad r3.x, r6.y, r3.x, r6.z
        else
          mov_sat r4.z, r14.x
          mad r4.z, r4.z, r0.w, r1.w
          movc r3.x, r4.x, r1.w, r4.z
        endif
        mad r6.y, r6.x, r3.x, r5.z
        if_z r2.x
          ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r13.zw, r3.z, l(0), t4.xxxy
          utof r2.x, r3.z
          add r2.x, r2.x, l(0.500000)
          mul r15.y, r2.x, l(0.000244140625)
          sample_l_indexable(texture2d)(float,float,float,float) r2.x, r15.xyxx, t6.xyzw, s0, l(0.000000)
          mad r2.x, r13.z, r2.x, r13.w
        else
          mov_sat r3.x, r15.x
          mad r0.w, r3.x, r0.w, r1.w
          movc r2.x, r4.x, r1.w, r0.w
        endif
        mad r5.z, r6.x, r2.x, r5.z
      else
        mad r6.yz, r6.xxxx, r13.xxyx, r5.zzzz
        mov r5.z, r6.z
      endif
    else
      mov r6.y, r5.z
    endif
    switch r4.w
      case l(3)
      dp3 r0.w, r8.xyzx, r8.xyzx
      lt r1.w, l(1.000000013E-10), r0.w
      rsq r0.w, r0.w
      mul r20.xyz, r0.wwww, r8.xyzx
      movc r6.xzw, r1.wwww, r20.xxyz, l(0,0,1.000000,0)
      dp3 r0.w, r12.xyzx, r12.xyzx
      lt r1.w, l(1.000000013E-10), r0.w
      rsq r0.w, r0.w
      mul r20.xyz, r0.wwww, r12.xyzx
      movc r18.xyz, r1.wwww, r20.xyzx, l(0,1.000000,0,0)
      ne r0.w, r6.y, l(0.000000)
      mul r20.xyz, r6.zwxz, l(0.000000, 1.000000, 0.000000, 0.000000)
      mul r21.xyz, r6.wxzw, l(0.000000, 0.000000, 1.000000, 0.000000)
      mad r21.xyz, r6.wxzw, l(1.000000, 0.000000, 0.000000, 0.000000), -r21.yzxy
      dp2 r1.w, r21.xyxx, r21.xyxx
      rsq r1.w, r1.w
      mul r21.xyz, r1.wwww, r21.xyzx
      sincos r2.x, r3.x, r6.y
      mul r22.xyz, r6.wxzw, r21.xyzx
      mad r22.xyz, r6.zwxz, r21.yzxy, -r22.xyzx
      mul r22.xyz, r2.xxxx, r22.xyzx
      mad r22.xyz, r21.zxyz, r3.xxxx, r22.xyzx
      dp2 r1.w, r6.zwzz, r21.xyxx
      mul r21.xyz, r1.wwww, r6.xzwx
      add r1.w, -r3.x, l(1.000000)
      mad r21.xyz, r21.xyzx, r1.wwww, r22.xyzx
      mul r22.xyz, r6.zwxz, r21.zxyz
      mad r22.xyz, r21.yzxy, r6.wxzw, -r22.xyzx
      mul r23.xyz, r18.yzxy, l(0.000000, 1.000000, 0.000000, 0.000000)
      mul r24.xyz, r18.zxyz, l(0.000000, 0.000000, 1.000000, 0.000000)
      mad r24.xyz, r18.zxyz, l(1.000000, 0.000000, 0.000000, 0.000000), -r24.yzxy
      dp2 r1.w, r24.xyxx, r24.xyxx
      rsq r1.w, r1.w
      mul r24.xyz, r1.wwww, r24.xyzx
      sincos r2.x, r3.x, r5.z
      mul r25.xyz, r18.zxyz, r24.xyzx
      mad r25.xyz, r18.yzxy, r24.yzxy, -r25.xyzx
      mul r25.xyz, r2.xxxx, r25.xyzx
      mad r25.xyz, r24.zxyz, r3.xxxx, r25.xyzx
      dp2 r1.w, r18.yzyy, r24.xyxx
      mul r24.xyz, r1.wwww, r18.xyzx
      add r1.w, -r3.x, l(1.000000)
      mad r24.xyz, r24.xyzx, r1.wwww, r25.xyzx
      mul r25.xyz, r18.yzxy, r24.zxyz
      mad r25.xyz, r24.yzxy, r18.zxyz, -r25.xyzx
      mad r20.xyz, r6.wxzw, l(0.000000, 0.000000, 1.000000, 0.000000), -r20.xyzx
      dp2 r1.w, r20.yzyy, r20.yzyy
      rsq r1.w, r1.w
      mul r20.xyz, r1.wwww, r20.xyzx
      mul r26.xyz, r6.wxzw, r20.yzxy
      mad r26.xyz, r6.zwxz, r20.zxyz, -r26.xyzx
      mad r23.xyz, r18.zxyz, l(0.000000, 0.000000, 1.000000, 0.000000), -r23.xyzx
      dp2 r1.w, r23.yzyy, r23.yzyy
      rsq r1.w, r1.w
      mul r23.xyz, r1.wwww, r23.xyzx
      mul r27.xyz, r18.zxyz, r23.yzxy
      mad r27.xyz, r18.yzxy, r23.zxyz, -r27.xyzx
      movc r4.xzw, r0.wwww, r21.xxyz, r26.xxyz
      movc r13.xyz, r0.wwww, r22.xyzx, r20.xyzx
      movc r16.xyz, r0.wwww, r24.xyzx, r27.xyzx
      movc r19.xyz, r0.wwww, r25.xyzx, r23.xyzx
      break
      case l(4)
      dp3 r0.w, r8.xyzx, r8.xyzx
      lt r1.w, l(1.000000013E-10), r0.w
      rsq r0.w, r0.w
      mul r8.xyz, r0.wwww, r8.xyzx
      movc r13.xyz, r1.wwww, r8.xyzx, l(0,1.000000,0,0)
      dp3 r0.w, r12.xyzx, r12.xyzx
      lt r1.w, l(1.000000013E-10), r0.w
      rsq r0.w, r0.w
      mul r8.xyz, r0.wwww, r12.xyzx
      movc r19.xyz, r1.wwww, r8.xyzx, l(0,1.000000,0,0)
      ne r0.w, r6.y, l(0.000000)
      mul r8.xyz, r13.yzxy, l(0.000000, 1.000000, 0.000000, 0.000000)
      mad r8.xyz, r13.zxyz, l(0.000000, 0.000000, 1.000000, 0.000000), -r8.xyzx
      dp2 r1.w, r8.yzyy, r8.yzyy
      rsq r1.w, r1.w
      mul r8.xyz, r1.wwww, r8.xyzx
      sincos r2.x, r3.x, r6.y
      mul r12.xyz, r8.yzxy, r13.zxyz
      mad r12.xyz, r13.yzxy, r8.zxyz, -r12.xyzx
      mul r20.xyz, r2.xxxx, r12.xyzx
      mad r20.xyz, r8.xyzx, r3.xxxx, r20.xyzx
      dp2 r1.w, r13.yzyy, r8.yzyy
      mul r21.xyz, r1.wwww, r13.xyzx
      add r1.w, -r3.x, l(1.000000)
      mad r20.xyz, r21.xyzx, r1.wwww, r20.xyzx
      mul r21.xyz, r13.zxyz, r20.yzxy
      mad r21.xyz, r13.yzxy, r20.zxyz, -r21.xyzx
      mul r22.xyz, r19.yzxy, l(0.000000, 1.000000, 0.000000, 0.000000)
      mad r22.xyz, r19.zxyz, l(0.000000, 0.000000, 1.000000, 0.000000), -r22.xyzx
      dp2 r1.w, r22.yzyy, r22.yzyy
      rsq r1.w, r1.w
      mul r22.xyz, r1.wwww, r22.xyzx
      sincos r2.x, r3.x, r5.z
      mul r23.xyz, r19.zxyz, r22.yzxy
      mad r23.xyz, r19.yzxy, r22.zxyz, -r23.xyzx
      mul r24.xyz, r2.xxxx, r23.xyzx
      mad r24.xyz, r22.xyzx, r3.xxxx, r24.xyzx
      dp2 r1.w, r19.yzyy, r22.yzyy
      mul r25.xyz, r1.wwww, r19.xyzx
      add r1.w, -r3.x, l(1.000000)
      mad r24.xyz, r25.xyzx, r1.wwww, r24.xyzx
      mul r25.xyz, r19.zxyz, r24.yzxy
      mad r25.xyz, r19.yzxy, r24.zxyz, -r25.xyzx
      movc r4.xzw, r0.wwww, r20.xxyz, r8.xxyz
      movc r6.xzw, r0.wwww, r21.xxyz, r12.xxyz
      movc r16.xyz, r0.wwww, r24.xyzx, r22.xyzx
      movc r18.xyz, r0.wwww, r25.xyzx, r23.xyzx
      break
      default
      ishl r0.w, r5.x, l(13)
      xor r0.w, r0.w, r5.x
      ushr r1.w, r0.w, l(17)
      xor r0.w, r0.w, r1.w
      ishl r1.w, r0.w, l(5)
      xor r0.w, r0.w, r1.w
      movc r0.w, r5.y, r5.x, r0.w
      and r1.w, r0.w, l(255)
      utof r1.w, r1.w
      mad r8.x, r1.w, l(0.00784313772), l(-1.000000)
      ubfe r3.xz, l(8, 0, 8, 0), l(8, 0, 16, 0), r0.wwww
      utof r3.xz, r3.xxzx
      mad r8.yz, r3.xxzx, l(0.000000, 0.00784313772, 0.00784313772, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
      dp3 r1.w, r8.xyzx, r8.xyzx
      rsq r1.w, r1.w
      mul r18.xyz, r1.wwww, r8.xyzx
      ishl r1.w, r0.w, l(13)
      xor r0.w, r0.w, r1.w
      ushr r1.w, r0.w, l(17)
      xor r0.w, r0.w, r1.w
      ishl r1.w, r0.w, l(5)
      xor r5.x, r0.w, r1.w
      and r0.w, r5.x, l(255)
      utof r0.w, r0.w
      mad r8.z, r0.w, l(0.00784313772), l(-1.000000)
      ubfe r3.xz, l(8, 0, 8, 0), l(8, 0, 16, 0), r5.xxxx
      utof r3.xz, r3.xxzx
      mad r8.xy, r3.xzxx, l(0.00784313772, 0.00784313772, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
      ne r0.w, r6.y, l(0.000000)
      mul r12.xyz, r8.yzxy, r18.yzxy
      mul r20.xyz, r8.xyzx, r18.zxyz
      mad r20.xyz, r18.yzxy, r8.yzxy, -r20.xyzx
      dp3 r1.w, r20.xyzx, r20.xyzx
      rsq r1.w, r1.w
      mul r20.xyz, r1.wwww, r20.xyzx
      sincos r2.x, r3.x, r6.y
      mul r21.xyz, r18.zxyz, r20.yzxy
      mad r21.xyz, r18.yzxy, r20.zxyz, -r21.xyzx
      mul r22.xyz, r2.xxxx, r21.xyzx
      mad r22.xyz, r20.xyzx, r3.xxxx, r22.xyzx
      dp3 r1.w, r18.xyzx, r20.xyzx
      mul r23.xyz, r1.wwww, r18.xyzx
      add r1.w, -r3.x, l(1.000000)
      mad r22.xyz, r23.xyzx, r1.wwww, r22.xyzx
      mul r24.xyz, r18.yzxy, r22.zxyz
      mad r24.xyz, r22.yzxy, r18.zxyz, -r24.xyzx
      sincos r2.x, r3.x, r5.z
      mul r21.xyz, r2.xxxx, r21.xyzx
      mad r20.xyz, r20.xyzx, r3.xxxx, r21.xyzx
      add r1.w, -r3.x, l(1.000000)
      mad r20.xyz, r23.xyzx, r1.wwww, r20.xyzx
      mul r21.xyz, r18.yzxy, r20.zxyz
      mad r21.xyz, r20.yzxy, r18.zxyz, -r21.xyzx
      mad r8.xyz, r18.zxyz, r8.xyzx, -r12.xyzx
      dp3 r1.w, r8.xyzx, r8.xyzx
      rsq r1.w, r1.w
      mul r8.xyz, r1.wwww, r8.xyzx
      mul r12.xyz, r8.yzxy, r18.zxyz
      mad r12.xyz, r18.yzxy, r8.zxyz, -r12.xyzx
      movc r4.xzw, r0.wwww, r22.xxyz, r12.xxyz
      movc r13.xyz, r0.wwww, r24.xyzx, r8.xyzx
      movc r16.xyz, r0.wwww, r20.xyzx, r12.xyzx
      movc r19.xyz, r0.wwww, r21.xyzx, r8.xyzx
      mov r6.xzw, r18.xxyz
      mov r5.y, l(0)
      break
    endswitch
    if_nz r3.w
      mov r7.z, l(1.000000)
      dp4 r8.x, r7.xywz, cb0[r0.x + 0].xyzw
      dp4 r8.y, r7.xywz, cb0[r0.x + 1].xyzw
      dp4 r8.z, r7.xywz, cb0[r0.x + 2].xyzw
    else
      mov r8.xyz, l(0,0,0,0)
    endif
    lt r0.x, l(0.000000), r2.y
    ishl r0.w, r5.x, l(13)
    xor r0.w, r0.w, r5.x
    ushr r1.w, r0.w, l(17)
    xor r0.w, r0.w, r1.w
    ishl r1.w, r0.w, l(5)
    xor r0.w, r0.w, r1.w
    movc r0.w, r5.y, r5.x, r0.w
    utof r0.w, r0.w
    mad r0.w, r0.w, l(4.656612873E-10), l(-1.000000)
    and r0.w, r0.w, r0.x
    switch r17.z
      case l(0)
      mov r1.w, l(0)
      break
      case l(1)
      mov r1.w, r14.x
      break
      case l(2)
      lt r2.x, l(0.000010), |r17.w|
      lt r3.x, l(0.000000), r17.w
      lt r3.z, r17.w, l(0.000000)
      iadd r3.x, -r3.x, r3.z
      itof r3.x, r3.x
      mul r3.x, r3.x, l(0.000100)
      movc r2.x, r2.x, r17.w, r3.x
      mul r3.x, r2.x, r14.x
      exp r3.x, r3.x
      add r3.x, r3.x, l(-1.000000)
      exp r2.x, r2.x
      add r2.x, r2.x, l(-1.000000)
      div r2.x, l(1.000000, 1.000000, 1.000000, 1.000000), r2.x
      mul r2.x, r2.x, r3.x
      max r1.w, r2.x, l(0.000000)
      break
      case l(3)
      add r2.x, |r17.w|, l(6.000000)
      add r3.x, -r14.x, l(0.500000)
      mul r2.x, r2.x, r3.x
      exp r2.x, r2.x
      add r2.x, r2.x, l(1.000000)
      div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.x
      break
      default
      mov r1.w, l(0)
      break
    endswitch
    add r2.x, -r17.x, r17.y
    mad r1.w, r1.w, r2.x, r17.x
    mul r3.x, r2.y, r1.w
    mad r3.x, r3.x, r0.w, r1.w
    movc r1.w, r0.x, r3.x, r1.w
    lt r3.x, r8.z, l(0.000000)
    and r3.x, r3.x, r4.y
    dp3 r3.z, r8.xyzx, r8.xyzx
    sqrt r3.z, r3.z
    add r2.z, -r2.z, r3.z
    mul_sat r1.z, r1.z, r2.z
    add r1.x, -r2.w, r1.x
    mad r1.x, r1.z, r1.x, r2.w
    mul r1.z, r1.x, r1.w
    movc r1.z, r3.x, r1.z, r1.w
    mul r1.z, r0.z, r1.z
    f16tof32 r1.w, r0.y
    ieq r2.zw, r3.yyyy, l(0, 0, -2, -3)
    ushr r0.y, r0.y, l(16)
    f16tof32 r0.y, r0.y
    add r0.y, -r1.w, r0.y
    or r2.w, r2.w, r2.z
    if_z r2.w
      ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r3.zw, r3.y, l(0), t4.xxxy
      utof r4.y, r3.y
      add r4.y, r4.y, l(0.500000)
      mul r14.z, r4.y, l(0.000244140625)
      sample_l_indexable(texture2d)(float,float,float,float) r4.y, r14.xzxx, t6.yxzw, s0, l(0.000000)
      mad r3.z, r3.z, r4.y, r3.w
    else
      mov_sat r14.x, r14.x
      mad r3.w, r14.x, r0.y, r1.w
      movc r3.z, r2.z, r1.w, r3.w
    endif
    mul r1.z, r1.z, r3.z
    lt r3.z, l(0.000010), |r1.z|
    lt r3.w, l(0.000000), r1.z
    lt r4.y, r1.z, l(0.000000)
    iadd r3.w, -r3.w, r4.y
    itof r3.w, r3.w
    mul r3.w, r3.w, l(0.000100)
    movc r1.z, r3.z, r1.z, r3.w
    switch r17.z
      case l(0)
      mov r3.z, l(0)
      break
      case l(1)
      mov r3.z, r15.x
      break
      case l(2)
      lt r3.w, l(0.000010), |r17.w|
      lt r4.y, l(0.000000), r17.w
      lt r5.x, r17.w, l(0.000000)
      iadd r4.y, -r4.y, r5.x
      itof r4.y, r4.y
      mul r4.y, r4.y, l(0.000100)
      movc r3.w, r3.w, r17.w, r4.y
      mul r4.y, r3.w, r15.x
      exp r4.y, r4.y
      add r4.y, r4.y, l(-1.000000)
      exp r3.w, r3.w
      add r3.w, r3.w, l(-1.000000)
      div r3.w, l(1.000000, 1.000000, 1.000000, 1.000000), r3.w
      mul r3.w, r3.w, r4.y
      max r3.z, r3.w, l(0.000000)
      break
      case l(3)
      add r3.w, |r17.w|, l(6.000000)
      add r4.y, -r15.x, l(0.500000)
      mul r3.w, r3.w, r4.y
      exp r3.w, r3.w
      add r3.w, r3.w, l(1.000000)
      div r3.z, l(1.000000, 1.000000, 1.000000, 1.000000), r3.w
      break
      default
      mov r3.z, l(0)
      break
    endswitch
    mad r2.x, r3.z, r2.x, r17.x
    mul r2.y, r2.y, r2.x
    mad r0.w, r2.y, r0.w, r2.x
    movc r0.x, r0.x, r0.w, r2.x
    mul r0.w, r1.x, r0.x
    movc r0.x, r3.x, r0.w, r0.x
    mul r0.x, r0.z, r0.x
    if_z r2.w
      ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r0.zw, r3.y, l(0), t4.xxxy
      utof r1.x, r3.y
      add r1.x, r1.x, l(0.500000)
      mul r15.z, r1.x, l(0.000244140625)
      sample_l_indexable(texture2d)(float,float,float,float) r1.x, r15.xzxx, t6.xyzw, s0, l(0.000000)
      mad r0.z, r0.z, r1.x, r0.w
    else
      mov_sat r15.x, r15.x
      mad r0.y, r15.x, r0.y, r1.w
      movc r0.z, r2.z, r1.w, r0.y
    endif
    mul r0.x, r0.z, r0.x
    lt r0.y, l(0.000010), |r0.x|
    lt r0.z, l(0.000000), r0.x
    lt r0.w, r0.x, l(0.000000)
    iadd r0.z, -r0.z, r0.w
    itof r0.z, r0.z
    mul r0.z, r0.z, l(0.000100)
    movc r0.x, r0.y, r0.x, r0.z
    mul r0.yzw, r1.zzzz, r4.xxzw
    mul r2.xyz, r1.zzzz, r6.xzwx
    mul r1.xzw, r1.zzzz, r13.xxyz
    mul r3.xyz, r0.xxxx, r16.xyzx
    mul r4.xyz, r0.xxxx, r18.xyzx
    mul r5.xyz, r0.xxxx, r19.xyzx
    mov r6.x, r0.y
    mov r6.y, r2.x
    mov r6.z, r1.x
    mov r6.w, r7.x
    store_structured u24.xyzw, r1.y, l(0), r6.xyzw
    mov r6.x, r0.z
    mov r6.y, r2.y
    mov r6.z, r1.z
    mov r6.w, r7.y
    store_structured u24.xyzw, r1.y, l(16), r6.xyzw
    mov r7.x, r0.w
    mov r7.y, r2.z
    mov r7.z, r1.w
    store_structured u24.xyzw, r1.y, l(32), r7.xyzw
    mov r9.y, r3.x
    mov r9.z, r4.x
    mov r9.w, r5.x
    store_structured u24.xyzw, r1.y, l(48), r9.yzwx
    mov r10.y, r3.y
    mov r10.z, r4.y
    mov r10.w, r5.y
    store_structured u24.xyzw, r1.y, l(64), r10.yzwx
    mov r11.y, r3.z
    mov r11.z, r4.z
    mov r11.w, r5.z
    store_structured u24.xyzw, r1.y, l(80), r11.yzwx
    store_structured u24.xy, r1.y, l(96), l(0,0,0,0)
  endif
endif
ret
// Approximately 0 instruction slots used
