// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.63 on Sun Oct  9 13:48:44 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[1], immediateIndexed
dcl_constantbuffer CB1[47], dynamicIndexed
dcl_constantbuffer CB2[11], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture3d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t11
dcl_uav_typed_texture2darray (float,float,float,float) u8
dcl_uav_typed_texture2darray (float,float,float,float) u9
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.x
dcl_temps 50
dcl_tgsm_structured g0, 4, 64
dcl_thread_group 64, 1, 1
dcl_constantbuffer CB12[3], immediateIndexed
mov r50.z, l(0)
iadd r0.x, vThreadGroupID.x, cb0[0].z
udiv r0.x, r1.x, r0.x, cb0[0].x
ushr r0.yz, vThreadIDInGroupFlattened.xxxx, l(0, 2, 3, 0)
and r0.yz, r0.yyzy, l(0, 4, 4, 0)
xor r0.z, r0.y, r0.z
ishl r0.w, vThreadIDInGroupFlattened.x, l(1)
ushr r2.xy, l(0xebfa5014, 0xfa4141af, 0, 0), r0.wwww
bfi r3.xy, l(2, 2, 0, 0), l(0, 0, 0, 0), r2.xyxx, r0.zyzz
mov r1.yzw, r0.xxxx
bfi r0.xy, l(29, 29, 0, 0), l(3, 3, 0, 0), r1.xwxx, r3.xyxx
utof r2.xy, r0.xyxx
add r2.xy, r2.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r2.xy, r2.xyxx, cb1[25].zwzz
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.xyzw, r0.xyww, t2.xyzw
ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r0.xyww, t3.xyzw
min r2.w, |r3.w|, cb1[26].z
max r5.w, r2.w, l(0.000000)
add r2.w, l(-1.000000), cb1[26].z
lt r2.w, r5.w, r2.w
mul r3.w, r4.w, r4.w
mul r3.w, r4.w, r3.w
lt r4.w, l(0.000000), r3.w
and r4.w, r2.w, r4.w
if_nz r4.w
  bfi r4.w, l(2), l(2), r0.y, l(0)
  bfi r4.w, l(2), l(0), r0.x, r4.w
  max r6.x, r5.w, l(0.000010)
  rcp r6.x, r6.x
  min r6.y, r6.x, l(2.000000)
  mul r6.yz, r6.yyyy, cb1[r4.w + 31].xxyx
  mul r6.yz, r3.wwww, r6.yyzy
  lt r7.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r6.yzyy
  lt r7.zw, r6.yyyz, l(0.000000, 0.000000, 0.000000, 0.000000)
  iadd r7.xy, -r7.xyxx, r7.zwzz
  itof r7.xy, r7.xyxx
  min r6.yz, |r6.yyzy|, cb1[26].xxxx
  mul r6.yz, r6.yyzy, r7.xxyx
  mad r7.xy, cb1[18].wwww, r6.yzyy, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r7.xyzw, r7.xyxx, t2.xyzw, s0, l(0.000000)
  mad r3.w, r6.x, r7.w, l(-1.000000)
  mul_sat r3.w, |r3.w|, cb1[26].y
  add r8.xyz, r3.xyzx, -r7.xyzx
  mad r7.xyz, r3.wwww, r8.xyzx, r7.xyzx
  mul r7.xyz, r7.xyzx, cb1[18].xyzx
  mad r7.xyz, r3.xyzx, cb1[17].xyzx, r7.xyzx
  mad r8.xy, cb1[19].wwww, r6.yzyy, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r8.xyzw, r8.xyxx, t2.xyzw, s0, l(0.000000)
  mad r3.w, r6.x, r8.w, l(-1.000000)
  mul_sat r3.w, |r3.w|, cb1[26].y
  add r9.xyz, r3.xyzx, -r8.xyzx
  mad r8.xyz, r3.wwww, r9.xyzx, r8.xyzx
  mad r7.xyz, cb1[19].xyzx, r8.xyzx, r7.xyzx
  mad r8.xy, cb1[20].wwww, r6.yzyy, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r8.xyzw, r8.xyxx, t2.xyzw, s0, l(0.000000)
  mad r3.w, r6.x, r8.w, l(-1.000000)
  mul_sat r3.w, |r3.w|, cb1[26].y
  add r9.xyz, r3.xyzx, -r8.xyzx
  mad r8.xyz, r3.wwww, r9.xyzx, r8.xyzx
  mad r7.xyz, cb1[20].xyzx, r8.xyzx, r7.xyzx
  mad r8.xy, cb1[21].wwww, r6.yzyy, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r8.xyzw, r8.xyxx, t2.xyzw, s0, l(0.000000)
  mad r3.w, r6.x, r8.w, l(-1.000000)
  mul_sat r3.w, |r3.w|, cb1[26].y
  add r9.xyz, r3.xyzx, -r8.xyzx
  mad r8.xyz, r3.wwww, r9.xyzx, r8.xyzx
  mad r7.xyz, cb1[21].xyzx, r8.xyzx, r7.xyzx
  mad r8.xy, cb1[22].wwww, r6.yzyy, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r8.xyzw, r8.xyxx, t2.xyzw, s0, l(0.000000)
  mad r3.w, r6.x, r8.w, l(-1.000000)
  mul_sat r3.w, |r3.w|, cb1[26].y
  add r9.xyz, r3.xyzx, -r8.xyzx
  mad r8.xyz, r3.wwww, r9.xyzx, r8.xyzx
  mad r7.xyz, cb1[22].xyzx, r8.xyzx, r7.xyzx
  mad r8.xy, cb1[23].wwww, r6.yzyy, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r8.xyzw, r8.xyxx, t2.xyzw, s0, l(0.000000)
  mad r3.w, r6.x, r8.w, l(-1.000000)
  mul_sat r3.w, |r3.w|, cb1[26].y
  add r9.xyz, r3.xyzx, -r8.xyzx
  mad r8.xyz, r3.wwww, r9.xyzx, r8.xyzx
  mad r7.xyz, cb1[23].xyzx, r8.xyzx, r7.xyzx
  mad r6.yz, cb1[24].wwww, r6.yyzy, r2.xxyx
  sample_l_indexable(texture2d)(float,float,float,float) r8.xyzw, r6.yzyy, t2.xyzw, s0, l(0.000000)
  mad r3.w, r6.x, r8.w, l(-1.000000)
  mul_sat r3.w, |r3.w|, cb1[26].y
  add r6.xyz, r3.xyzx, -r8.xyzx
  mad r6.xyz, r3.wwww, r6.xyzx, r8.xyzx
  mad r3.xyz, cb1[24].xyzx, r6.xyzx, r7.xyzx
endif
if_nz r2.w
  ld_indexable(texture2d)(float,float,float,float) r6.xyz, r0.xyww, t7.xyzw
  ld_indexable(texture2d)(float,float,float,float) r3.w, r0.xyww, t9.xyzw
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r3.w, r3.w, l(1)
  ld_indexable(texture2d)(float,float,float,float) r7.xyzw, r0.xyww, t11.wxyz
  iadd r8.xyzw, r0.xyxy, l(-1, 0, 0, -1)
  mov r9.xy, r8.zwzz
  mov r9.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r9.xy, r9.xyzw, t7.xyzw
  mov r8.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r8.xy, r8.xyzw, t7.xyzw
  iadd r10.xyzw, r0.xyxy, l(0, 1, 1, 0)
  mov r11.xy, r10.zwzz
  mov r11.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r8.zw, r11.xyzw, t7.zwxy
  mov r10.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r9.zw, r10.xyzw, t7.zwxy
  mov r10.yz, r8.xxzx
  mov r10.xw, r9.xxxz
  add r10.xyzw, r6.xxxx, -r10.xyzw
  mul r10.xyzw, |r10.xyzw|, l(50.000000, 50.000000, 50.000000, 50.000000)
  min r10.xyzw, r10.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  add r10.xyzw, -r10.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  ult r8.xz, l(0, 0, 0, 0), r0.yyxy
  and r9.xz, r8.xxzx, l(0x3f800000, 0, 0x3f800000, 0)
  mul r11.xy, r9.xzxx, r10.xyxx
  iadd r9.xz, l(-1, 0, -1, 0), cb2[10].xxyx
  ult r9.xz, r0.xxyx, r9.xxzx
  and r9.xz, r9.xxzx, l(0x3f800000, 0, 0x3f800000, 0)
  mul r11.zw, r9.xxxz, r10.zzzw
  add r4.w, r11.y, r11.x
  mad r4.w, r10.z, r9.x, r4.w
  mad r4.w, r10.w, r9.z, r4.w
  ge r6.w, l(0.010000), r4.w
  movc r10.xyzw, r8.xxxx, l(1.000000,0,0,0), l(0,0,0,1.000000)
  movc r10.xyzw, r6.wwww, r10.xyzw, r11.xyzw
  mul r8.x, r8.y, r10.y
  mad r8.x, r9.y, r10.x, r8.x
  mad r8.x, r8.w, r10.z, r8.x
  mad r8.x, r9.w, r10.w, r8.x
  rcp r4.w, r4.w
  movc r4.w, r6.w, l(1.000000), r4.w
  mul r8.z, r4.w, r8.x
  and r8.xw, r0.xxxy, l(1, 0, 0, 1)
  ine r4.w, r8.w, r8.x
  mov r8.xy, r6.xyxx
  movc r8.yz, r4.wwww, r8.yyzy, r8.zzyz
  add r6.xyw, r8.xyxz, l(0.000000, -0.498039216, 0.000000, -0.498039216)
  add r8.yz, r6.yywy, r6.xxxx
  add r8.x, -r6.w, r8.y
  add r4.w, -r6.y, r6.x
  add r8.w, -r6.w, r4.w
  mul r6.xyw, r8.xzxw, r8.xzxw
  min r6.xyw, r6.xyxw, l(1.000000, 1.000000, 0.000000, 1.000000)
  mad r6.xyz, r6.zzzz, -r6.xywx, r6.xywx
  mov_sat r7.x, -r7.x
  movc r6.xyz, cb1[28].zzzz, l(0.180000,0.180000,0.180000,0), r6.xyzx
  movc r3.w, r3.w, cb1[28].x, l(1.000000)
  lt r4.w, l(0.000000), r7.x
  if_nz r4.w
    itof r8.xy, r0.xyxx
    mul r8.xy, r8.xyxx, cb1[25].zwzz
    mul r8.zw, r8.xxxy, cb1[29].xxxy
    min r8.zw, r8.zzzw, cb1[30].xxxy
    add r9.w, r5.w, l(1.000000)
    itof r10.xy, cb1[30].zwzz
    mul r8.zw, r8.zzzw, r10.xxxy
    max r8.zw, r8.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r8.zw, r10.xxxy, r8.zzzw
    frc r10.zw, r8.zzzw
    ftoi r11.xy, r8.zwzz
    iadd r12.xyzw, r11.xyxy, l(1, 0, 0, 1)
    imax r12.xyzw, r12.xyzw, l(0, 0, 0, 0)
    imin r12.xyzw, r12.zwxy, cb1[30].zwzw
    iadd r8.zw, r11.xxxy, l(0, 0, 1, 1)
    imax r8.zw, r8.zzzw, l(0, 0, 0, 0)
    imin r13.xy, r8.zwzz, cb1[30].zwzz
    mov r11.zw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r11.xyzw, r11.xyzw, t5.xyzw
    mov r14.xy, r12.zwzz
    mov r14.zw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r14.xyzw, r14.xyzw, t5.xyzw
    mov r12.zw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r12.xyzw, r12.xyzw, t5.xyzw
    mov r13.zw, l(0,0,0,0)
    ld_indexable(texture2d)(float,float,float,float) r13.xyzw, r13.xyzw, t5.xyzw
    and r4.w, r11.w, l(0x7fffffff)
    ieq r4.w, r4.w, l(0x7f800000)
    mov r9.xyz, r11.xyzx
    movc r11.xyzw, r4.wwww, r9.xyzw, r11.xyzw
    and r4.w, r14.w, l(0x7fffffff)
    ieq r4.w, r4.w, l(0x7f800000)
    mov r9.xyz, r11.xyzx
    movc r14.xyzw, r4.wwww, r9.xyzw, r14.xyzw
    and r4.w, r12.w, l(0x7fffffff)
    ieq r4.w, r4.w, l(0x7f800000)
    movc r12.xyzw, r4.wwww, r9.xyzw, r12.xyzw
    and r4.w, r13.w, l(0x7fffffff)
    ieq r4.w, r4.w, l(0x7f800000)
    movc r13.xyzw, r4.wwww, r9.xyzw, r13.xyzw
    add r14.xyzw, -r11.xyzw, r14.xyzw
    mad r11.xyzw, r10.zzzz, r14.xyzw, r11.xyzw
    add r13.xyzw, -r12.xyzw, r13.xyzw
    mad r12.xyzw, r10.zzzz, r13.xyzw, r12.xyzw
    add r12.xyzw, -r11.xyzw, r12.xyzw
    mad r11.xyzw, r10.wwww, r12.xyzw, r11.xyzw
    add r4.w, -r5.w, r11.w
    lt r6.w, r4.w, r7.z
    ge r8.z, r11.z, l(0.000000)
    and r6.w, r6.w, r8.z
    if_nz r6.w
      ld_indexable(texture2d)(float,float,float,float) r12.xyz, r0.xyzw, t8.xyzw
      mad r12.xyz, r12.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
      dp3 r0.z, r12.xyzx, r12.xyzx
      rsq r0.z, r0.z
      mul r12.xyz, r0.zzzz, r12.xyzx
      mul r0.z, r7.y, r4.w
      mul r0.z, r0.z, l(0.001000)
      dp3 r0.w, r12.xyzx, cb1[13].xyzx
      dp3 r6.w, r12.xyzx, cb1[14].xyzx
      dp3 r7.y, r12.xyzx, cb1[15].xyzx
      mad r12.x, -r0.w, r0.z, r8.x
      mul r0.w, r6.w, r7.y
      mad r12.y, r0.w, r0.z, r8.y
      mul r0.zw, r12.xxxy, cb1[29].xxxy
      min r0.zw, r0.zzzw, cb1[30].xxxy
      mul r0.zw, r0.zzzw, r10.xxxy
      max r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r0.zw, r10.xxxy, r0.zzzw
      frc r8.xy, r0.zwzz
      ftoi r10.xy, r0.zwzz
      iadd r12.xyzw, r10.xyxy, l(1, 0, 0, 1)
      imax r12.xyzw, r12.xyzw, l(0, 0, 0, 0)
      imin r12.xyzw, r12.zwxy, cb1[30].zwzw
      iadd r0.zw, r10.xxxy, l(0, 0, 1, 1)
      imax r0.zw, r0.zzzw, l(0, 0, 0, 0)
      imin r13.xy, r0.zwzz, cb1[30].zwzz
      mov r10.zw, l(0,0,0,0)
      ld_indexable(texture2d)(float,float,float,float) r10.xyzw, r10.xyzw, t5.xyzw
      mov r14.xy, r12.zwzz
      mov r14.zw, l(0,0,0,0)
      ld_indexable(texture2d)(float,float,float,float) r14.xyzw, r14.xyzw, t5.xyzw
      mov r12.zw, l(0,0,0,0)
      ld_indexable(texture2d)(float,float,float,float) r12.xyzw, r12.xyzw, t5.xyzw
      mov r13.zw, l(0,0,0,0)
      ld_indexable(texture2d)(float,float,float,float) r13.xyzw, r13.xyzw, t5.xyzw
      and r0.z, r10.w, l(0x7fffffff)
      ieq r0.z, r0.z, l(0x7f800000)
      mov r9.xyz, r10.xyzx
      movc r10.xyzw, r0.zzzz, r9.xyzw, r10.xyzw
      and r0.z, r14.w, l(0x7fffffff)
      ieq r0.z, r0.z, l(0x7f800000)
      mov r9.xyz, r10.xyzx
      movc r14.xyzw, r0.zzzz, r9.xyzw, r14.xyzw
      and r0.z, r12.w, l(0x7fffffff)
      ieq r0.z, r0.z, l(0x7f800000)
      movc r12.xyzw, r0.zzzz, r9.xyzw, r12.xyzw
      and r0.z, r13.w, l(0x7fffffff)
      ieq r0.z, r0.z, l(0x7f800000)
      movc r9.xyzw, r0.zzzz, r9.xyzw, r13.xyzw
      add r13.xyzw, -r10.xyzw, r14.xyzw
      mad r10.xyzw, r8.xxxx, r13.xyzw, r10.xyzw
      add r9.xyzw, -r12.xyzw, r9.xyzw
      mad r9.xyzw, r8.xxxx, r9.xyzw, r12.xyzw
      add r9.xyzw, -r10.xyzw, r9.xyzw
      mad r8.xyzw, r8.yyyy, r9.xyzw, r10.xyzw
      max r0.z, r11.w, l(0.010000)
      lt r0.w, l(0.000000), r8.z
      div r0.z, r8.w, r0.z
      lt r0.z, l(0.990000), r0.z
      and r0.z, r0.z, r0.w
      movc r8.xyz, r0.zzzz, r8.xyzx, r11.xyzx
      add r0.w, -r5.w, r8.w
      movc r0.z, r0.z, r0.w, r4.w
      max r9.xyz, r6.xyzx, l(0.001000, 0.001000, 0.001000, 0.000000)
      min r9.xyz, r9.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
      mul r9.xyz, r9.xyzx, l(0.010000, 0.010000, 0.010000, 0.000000)
      log r9.xyz, r9.xyzx
      div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r7.z
      mul r9.xyz, r0.wwww, r9.xyzx
      mul r9.xyz, r0.zzzz, r9.xyzx
      exp r9.xyz, r9.xyzx
      add r0.z, -r7.w, l(1.000000)
      mul r7.yzw, r9.xxyz, r0.zzzz
      mul_sat r7.xyz, r7.xxxx, r7.yzwy
      mul r9.xyz, r3.xyzx, r6.xyzx
      mad r8.xyz, -r3.xyzx, r6.xyzx, r8.xyzx
      mad r7.xyz, r7.xyzx, r8.xyzx, r9.xyzx
      add r7.xyz, r4.xyzx, r7.xyzx
    else
      mad r7.xyz, r3.xyzx, r6.xyzx, r4.xyzx
    endif
  else
    mad r7.xyz, r3.xyzx, r6.xyzx, r4.xyzx
  endif
else
  min r5.w, r5.w, cb1[26].w
  mov r7.xyz, r3.xyzx
  mov r3.w, l(1.000000)
endif
mad r0.z, r5.w, cb1[11].w, l(1.000000)
log r0.z, r0.z
mul r2.z, r0.z, cb1[11].z
mov_sat r4.xyz, r2.xyzx
itof r6.xyz, cb1[12].yzwy
mad r8.xyz, r6.xyzx, cb1[12].xxxx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r4.xyz, r4.xyzx, r8.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
div r6.xyz, l(1.000000, 1.000000, 1.000000, 1.000000), r6.xyzx
mul r4.xyz, r4.xyzx, r6.xyzx
sample_l_indexable(texture3d)(float,float,float,float) r4.xyzw, r4.xyzx, t4.xyzw, s0, l(0.000000)
exp r0.z, -r4.w
min r0.z, r0.z, l(1.000000)
lt r0.w, l(0.000000), cb1[2].y
if_nz r0.w
  mad r6.xy, r2.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
  mul r5.xy, r5.wwww, r6.xyxx
  mov r5.z, l(1.000000)
  add r40.w, r5.w, -cb12[0].y
  mad r5.x, -cb12[0].x, r40.w, r5.x
  dp4 r6.x, r5.xywz, cb1[3].xyzw
  dp4 r6.y, r5.xywz, cb1[4].xyzw
  dp4 r6.z, r5.xywz, cb1[5].xyzw
  add r6.xyz, r6.xyzx, -cb1[1].xyzx
  dp3 r0.w, r6.xyzx, r6.xyzx
  sqrt r0.w, r0.w
  max r2.z, r0.w, l(0.001000)
  div r6.xzw, r6.xxyz, r2.zzzz
  mul r2.z, r6.y, cb1[0].w
  lt r6.y, l(0.010000), |r2.z|
  mul r7.w, r2.z, l(-1.442695)
  exp r7.w, r7.w
  add r7.w, -r7.w, l(1.000000)
  div r2.z, r7.w, r2.z
  mul r2.z, r2.z, cb1[1].w
  movc r2.z, r6.y, r2.z, cb1[1].w
  dp3_sat r6.x, r6.xzwx, cb1[7].xyzx
  log r6.x, r6.x
  mul r6.x, r6.x, cb1[7].w
  exp r6.x, r6.x
  mul r2.z, r2.z, cb1[2].y
  add r0.w, r0.w, -cb1[2].x
  max r0.w, r0.w, l(0.000000)
  mul r6.y, r0.w, r2.z
  exp r6.y, -r6.y
  min r6.y, r6.y, l(1.000000)
  mad r6.xzw, r6.xxxx, cb1[8].xxyz, cb1[0].xxyz
  mul r6.xzw, r0.zzzz, r6.xxzw
  add r6.y, -r6.y, l(1.000000)
  mad r4.xyz, r6.xzwx, r6.yyyy, r4.xyzx
  mad r0.w, r2.z, r0.w, r4.w
  exp r0.w, -r0.w
  min r0.z, r0.w, l(1.000000)
endif
mad r5.xyz, r7.xyzx, r0.zzzz, r4.xyzx
mul r6.xyz, r3.xyzx, l(0.180000, 0.180000, 0.180000, 0.000000)
dp3 r0.w, r3.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
movc r3.xyz, r2.wwww, r6.xyzx, r0.wwww
mad r3.xyz, r3.xyzx, r0.zzzz, r4.xyzx
dp3 r0.z, r3.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
ne r0.w, r3.z, l(0.000000)
div r2.z, r3.x, r3.z
max r2.z, r2.z, l(0.642292)
min r2.z, r2.z, l(5.000000)
add r2.z, r2.z, l(-0.441113800)
log r2.z, r2.z
mul r2.z, r2.z, l(0.116325401)
exp r2.z, r2.z
add r2.z, -r2.z, l(0.800000)
div r2.z, l(-846.396118), r2.z
max r0.z, r0.z, l(0.000001)
log r0.z, r0.z
mul r2.z, r2.z, l(0.001000)
movc r0.w, r0.w, r2.z, l(6.50000048)
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
xor r4.xyzw, vThreadIDInGroupFlattened.xxxx, l(1, 2, 4, 8)
ld_structured r2.z, r4.x, l(0), g0.xxxx
add r0.z, r0.z, r2.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
ld_structured r2.z, r4.y, l(0), g0.xxxx
add r0.z, r0.z, r2.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
ld_structured r2.z, r4.z, l(0), g0.xxxx
add r0.z, r0.z, r2.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
ld_structured r2.z, r4.w, l(0), g0.xxxx
add r0.z, r0.z, r2.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
xor r2.z, vThreadIDInGroupFlattened.x, l(16)
ld_structured r2.w, r2.z, l(0), g0.xxxx
add r0.z, r0.z, r2.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
ld_structured r2.w, l(32), l(0), g0.xxxx
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r3.x, r4.x, l(0), g0.xxxx
add r0.w, r0.w, r3.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r3.x, r4.y, l(0), g0.xxxx
add r0.w, r0.w, r3.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r3.x, r4.z, l(0), g0.xxxx
add r0.w, r0.w, r3.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r3.x, r4.w, l(0), g0.xxxx
add r0.w, r0.w, r3.x
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r2.z, r2.z, l(0), g0.xxxx
add r0.w, r0.w, r2.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
mad r2.xy, -r2.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
mul r2.xy, r2.xyxx, -r2.xyxx
mul r2.xy, r2.xyxx, cb1[27].xxxx
exp r2.xy, r2.xyxx
mul r2.x, r2.y, r2.x
mul r2.x, r3.w, r2.x
mul r2.y, r5.w, cb1[27].w
exp r2.y, r2.y
lt r2.z, cb1[27].z, l(0.000000)
add r3.x, -r2.y, l(1.000000)
movc r2.y, r2.z, r2.y, r3.x
add r2.y, r2.y, l(-1.000000)
mad r2.y, |cb1[27].z|, r2.y, l(1.000000)
mul r3.z, r2.y, r2.x
mul r2.x, r3.z, cb1[27].y
movc r4.xyzw, cb1[28].yyyy, r2.xxxx, r5.xyzw
if_z vThreadIDInGroupFlattened.x
  add r0.z, r0.z, r2.w
  ld_structured r2.x, l(32), l(0), g0.xxxx
  add r0.w, r0.w, r2.x
  mul r0.zw, r3.zzzz, r0.zzzw
  mul r3.xy, r0.zwzz, l(0.015625, 0.015625, 0.000000, 0.000000)
  mov r3.w, l(0)
  mov r50.xy, r1.xyzw
  store_uav_typed u9.xyzw, r50.xyzz, r3.xyzw
endif
mov r50.xy, r0.xyyy
store_uav_typed u8.xyzw, r50.xyzz, r4.xyzw
ret
// Approximately 0 instruction slots used
