// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.89 on Sun Dec  4 00:32:58 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[93], dynamicIndexed
dcl_constantbuffer CB1[619], dynamicIndexed
dcl_constantbuffer CB3[137], immediateIndexed
dcl_constantbuffer CB4[2], immediateIndexed
dcl_constantbuffer CB12[3], immediateIndexed
dcl_sampler s1, mode_default
dcl_sampler s3, mode_default
dcl_sampler s10, mode_default
dcl_resource_texture3d (float,float,float,float) t0
dcl_resource_texture3d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_structured t12, 4
dcl_resource_texture3d (float,float,float,float) t18
dcl_resource_texture3d (float,float,float,float) t19
dcl_resource_texture3d (float,float,float,float) t20
dcl_resource_texture3d (float,float,float,float) t21
dcl_resource_texture3d (float,float,float,float) t22
dcl_resource_texture3d (float,float,float,float) t23
dcl_resource_texture3d (float,float,float,float) t24
dcl_resource_texture3d (float,float,float,float) t25
dcl_uav_typed_texture3d (float,float,float,float) u8
dcl_uav_typed_texture3d (float,float,float,float) u10
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.xyz
dcl_temps 50
dcl_indexableTemp x0[16], 4
dcl_thread_group 4, 4, 4

iadd r0.xyzw, vThreadGroupID.xyzz, cb4[0].xyzz
ishl r1.x, vThreadIDInGroupFlattened.x, l(1)
ushr r1.xy, l(0xebfa5014, 0xfa4141af, 0, 0), r1.xxxx
and r1.xy, r1.xyxx, l(3, 3, 0, 0)
ushr r1.zw, vThreadIDInGroupFlattened.xxxx, l(0, 0, 4, 4)
bfi r0.xyzw, l(30, 30, 30, 30), l(2, 2, 2, 2), r0.xyzw, r1.xyzw
utof r1.xyz, r0.xywx
add r2.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
itof r3.xyz, cb0[91].yzwy
mul r2.xyz, r2.xyzx, l(2.000000, -2.000000, 1.000000, 0.000000)
div r2.xyz, r2.xyzx, r3.xyzx
add r2.xyz, r2.xyzx, l(-1.000000, 1.000000, 0.000000, 0.000000)
mul r1.w, r2.z, cb0[90].x
exp r1.w, r1.w
add r1.w, r1.w, l(-1.000000)
mul r4.z, r1.w, cb0[90].y
mul r4.xy, r2.xyxx, r4.zzzz
mov r4.w, l(1.000000)
add r40.w, r4.z, -cb12[0].y
mad r4.x, -cb12[0].x, r40.w, r4.x
dp4 r2.x, r4.xyzw, cb0[68].xyzw
dp4 r2.y, r4.xyzw, cb0[69].xyzw
dp4 r1.w, r4.xyzw, cb0[70].xyzw
ge r42.x, cb12[0].x, l(5.000000)
if_z r42.x
  add r40.w, r1.w, -cb12[2].y
  mad r2.x, cb12[2].x, r40.w, r2.x
else
  add r40.w, r1.w, -cb12[0].y
  mad r2.x, cb12[0].x, r40.w, r2.x
endif
div r2.xy, r2.xyxx, r1.wwww
mad r4.xy, r2.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
mad r2.z, r1.w, cb0[90].w, l(1.000000)
log r2.z, r2.z
mul r4.z, r2.z, cb0[90].z
lt r2.xy, |r2.xyxx|, l(1.000000, 1.000000, 0.000000, 0.000000)
and r2.x, r2.y, r2.x
and r2.x, r2.x, l(0x3f800000)
mul r2.x, r2.x, cb0[92].w
mul_sat r1.w, r1.w, l(1000.000000)
mul r1.w, r1.w, r2.x
sample_l_indexable(texture3d)(float,float,float,float) r2.xyz, r4.xyzx, t0.xyzw, s3, l(0.000000)
sample_l_indexable(texture3d)(float,float,float,float) r4.xyz, r4.xyzx, t2.xyzw, s3, l(0.000000)
mov r2.w, vThreadIDInGroupFlattened.x
add r1.xyz, r1.xyzx, cb0[r2.w + 0].xyzx
mul r1.xyz, r1.xyzx, l(2.000000, -2.000000, 1.000000, 0.000000)
div r1.xyz, r1.xyzx, r3.xyzx
add r1.xyz, r1.xyzx, l(-1.000000, 1.000000, 0.000000, 0.000000)
mul r1.z, r1.z, cb0[90].x
exp r1.z, r1.z
add r1.z, r1.z, l(-1.000000)
mul r3.z, r1.z, cb0[90].y
mul r3.xy, r1.xyxx, r3.zzzz
mov r3.w, l(1.000000)
add r40.w, r3.z, -cb12[0].y
mad r3.x, -cb12[0].x, r40.w, r3.x
dp4 r5.x, r3.xyzw, cb0[64].xyzw
dp4 r5.y, r3.xyzw, cb0[65].xyzw
dp4 r5.z, r3.xyzw, cb0[66].xyzw
mov x0[0].x, cb1[4].x
mov x0[1].x, cb1[5].x
mov x0[3].x, cb1[7].x
mov x0[0].y, cb1[4].y
mov x0[1].y, cb1[5].y
mov x0[3].y, cb1[7].y
mov x0[0].z, cb1[4].z
mov x0[1].z, cb1[5].z
mov x0[3].z, cb1[7].z
mov x0[0].w, cb1[4].w
mov x0[1].w, cb1[5].w
mov x0[3].w, cb1[7].w
mov x0[4].x, cb1[8].x
mov x0[5].x, cb1[9].x
mov x0[7].x, cb1[11].x
mov x0[4].y, cb1[8].y
mov x0[5].y, cb1[9].y
mov x0[7].y, cb1[11].y
mov x0[4].z, cb1[8].z
mov x0[5].z, cb1[9].z
mov x0[7].z, cb1[11].z
mov x0[4].w, cb1[8].w
mov x0[5].w, cb1[9].w
mov x0[7].w, cb1[11].w
mov x0[8].x, cb1[12].x
mov x0[9].x, cb1[13].x
mov x0[11].x, cb1[15].x
mov x0[8].y, cb1[12].y
mov x0[9].y, cb1[13].y
mov x0[11].y, cb1[15].y
mov x0[8].z, cb1[12].z
mov x0[9].z, cb1[13].z
mov x0[11].z, cb1[15].z
mov x0[8].w, cb1[12].w
mov x0[9].w, cb1[13].w
mov x0[11].w, cb1[15].w
mov x0[12].x, cb1[16].x
mov x0[13].x, cb1[17].x
mov x0[15].x, cb1[19].x
mov x0[12].y, cb1[16].y
mov x0[13].y, cb1[17].y
mov x0[15].y, cb1[19].y
mov x0[12].z, cb1[16].z
mov x0[13].z, cb1[17].z
mov x0[15].z, cb1[19].z
mov x0[12].w, cb1[16].w
mov x0[13].w, cb1[17].w
mov x0[15].w, cb1[19].w
mul r3.w, l(0.282094806), cb3[2].x
ilt r1.x, l(0), cb3[0].x
if_nz r1.x
  mul r1.xyz, r5.yyyy, cb3[58].xzyx
  mad r1.xyz, cb3[57].xzyx, r5.xxxx, r1.xyzx
  mad r1.xyz, cb3[59].xzyx, r5.zzzz, r1.xyzx
  add r1.xyz, r1.xyzx, cb3[60].xzyx
  lt r6.xyz, |r1.xzyx|, l(0.500000, 0.500000, 0.500000, 0.000000)
  and r2.w, r6.y, r6.x
  and r2.w, r6.z, r2.w
  if_nz r2.w
    add r1.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    and r4.w, l(1), cb3[76].x
    if_nz r4.w
      utof r6.xyz, cb3[64].xyzx
      mul r6.xyz, r1.xyzx, r6.xyzx
      ftoi r7.xyz, r6.xyzx
      mov r7.w, l(0)
      ld_indexable(texture3d)(float,float,float,float) r7.xyzw, r7.xyzw, t18.xyzw
      mul r8.xyzw, r7.xyzw, l(1020.000000, 255.000000, 63.750000, 255.000000)
      frc r4.w, r8.z
      mad r8.x, r4.w, l(4.000000), r8.x
      mad r8.z, r7.z, l(63.750000), -r4.w
      frc r6.xyz, r6.xyzx
      mad r6.xyz, r6.xyzx, r8.wwww, r8.xyzx
      add r6.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      utof r7.xyz, cb3[66].xyzx
      div r1.xyz, r6.xyzx, r7.xyzx
    endif
    sample_l_indexable(texture3d)(float,float,float,float) r6.xyzw, r1.xyzx, t22.xyzw, s10, l(0.000000)
    mul r6.xyzw, r6.xyzw, cb3[75].xyzw
    mul r3.xyzw, r6.xyzw, l(0.282094806, 0.282094806, 0.282094806, 0.282094806)
  else
    mov r3.xyz, l(0,0,0,0)
  endif
  ige r1.x, l(1), cb3[0].x
  or r1.x, r2.w, r1.x
  if_z r1.x
    mul r6.xyz, r5.yyyy, cb3[78].xzyx
    mad r6.xyz, cb3[77].xzyx, r5.xxxx, r6.xyzx
    mad r6.xyz, cb3[79].xzyx, r5.zzzz, r6.xyzx
    add r6.xyz, r6.xyzx, cb3[80].xzyx
    lt r7.xyz, |r6.xzyx|, l(0.500000, 0.500000, 0.500000, 0.000000)
    and r1.y, r7.y, r7.x
    and r1.y, r7.z, r1.y
    if_nz r1.y
      add r6.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      and r1.y, l(1), cb3[96].x
      if_nz r1.y
        utof r7.xyz, cb3[84].xyzx
        mul r7.xyz, r6.xyzx, r7.xyzx
        ftoi r8.xyz, r7.xyzx
        mov r8.w, l(0)
        ld_indexable(texture3d)(float,float,float,float) r8.xyzw, r8.xyzw, t19.xyzw
        mul r9.xyzw, r8.xyzw, l(1020.000000, 255.000000, 63.750000, 255.000000)
        frc r1.y, r9.z
        mad r9.x, r1.y, l(4.000000), r9.x
        mad r9.z, r8.z, l(63.750000), -r1.y
        frc r7.xyz, r7.xyzx
        mad r7.xyz, r7.xyzx, r9.wwww, r9.xyzx
        add r7.xyz, r7.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        utof r8.xyz, cb3[86].xyzx
        div r6.xyz, r7.xyzx, r8.xyzx
      endif
      sample_l_indexable(texture3d)(float,float,float,float) r6.xyzw, r6.xyzx, t23.xyzw, s10, l(0.000000)
      mul r6.xyzw, r6.xyzw, cb3[95].xyzw
      mul r3.xyzw, r6.xyzw, l(0.282094806, 0.282094806, 0.282094806, 0.282094806)
      mov r2.w, l(-1)
    else
      mov r2.w, l(0)
    endif
  endif
else
  mov r3.xyz, l(0,0,0,0)
  mov r2.w, l(0)
  mov r1.x, l(-1)
endif
if_z r1.x
  ige r1.x, l(2), cb3[0].x
  or r1.x, r2.w, r1.x
  if_z r1.x
    mul r6.xyz, r5.yyyy, cb3[98].xzyx
    mad r6.xyz, cb3[97].xzyx, r5.xxxx, r6.xyzx
    mad r6.xyz, cb3[99].xzyx, r5.zzzz, r6.xyzx
    add r6.xyz, r6.xyzx, cb3[100].xzyx
    lt r7.xyz, |r6.xzyx|, l(0.500000, 0.500000, 0.500000, 0.000000)
    and r1.y, r7.y, r7.x
    and r2.w, r7.z, r1.y
    if_nz r2.w
      add r6.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      and r1.y, l(1), cb3[116].x
      if_nz r1.y
        utof r7.xyz, cb3[104].xyzx
        mul r7.xyz, r6.xyzx, r7.xyzx
        ftoi r8.xyz, r7.xyzx
        mov r8.w, l(0)
        ld_indexable(texture3d)(float,float,float,float) r8.xyzw, r8.xyzw, t20.xyzw
        mul r9.xyzw, r8.xyzw, l(1020.000000, 255.000000, 63.750000, 255.000000)
        frc r1.y, r9.z
        mad r9.x, r1.y, l(4.000000), r9.x
        mad r9.z, r8.z, l(63.750000), -r1.y
        frc r7.xyz, r7.xyzx
        mad r7.xyz, r7.xyzx, r9.wwww, r9.xyzx
        add r7.xyz, r7.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        utof r8.xyz, cb3[106].xyzx
        div r6.xyz, r7.xyzx, r8.xyzx
      endif
      sample_l_indexable(texture3d)(float,float,float,float) r6.xyzw, r6.xyzx, t24.xyzw, s10, l(0.000000)
      mul r6.xyzw, r6.xyzw, cb3[115].xyzw
      mul r3.xyzw, r6.xyzw, l(0.282094806, 0.282094806, 0.282094806, 0.282094806)
    endif
  endif
else
  mov r1.x, l(-1)
endif
if_z r1.x
  ige r1.x, l(3), cb3[0].x
  or r1.x, r2.w, r1.x
  if_z r1.x
    mul r1.xyz, r5.yyyy, cb3[118].xzyx
    mad r1.xyz, cb3[117].xzyx, r5.xxxx, r1.xyzx
    mad r1.xyz, cb3[119].xzyx, r5.zzzz, r1.xyzx
    add r1.xyz, r1.xyzx, cb3[120].xzyx
    lt r6.xyz, |r1.xzyx|, l(0.500000, 0.500000, 0.500000, 0.000000)
    and r2.w, r6.y, r6.x
    and r2.w, r6.z, r2.w
    if_nz r2.w
      add r1.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      and r2.w, l(1), cb3[136].x
      if_nz r2.w
        utof r6.xyz, cb3[124].xyzx
        mul r6.xyz, r1.xyzx, r6.xyzx
        ftoi r7.xyz, r6.xyzx
        mov r7.w, l(0)
        ld_indexable(texture3d)(float,float,float,float) r7.xyzw, r7.xyzw, t21.xyzw
        mul r8.xyzw, r7.xyzw, l(1020.000000, 255.000000, 63.750000, 255.000000)
        frc r2.w, r8.z
        mad r8.x, r2.w, l(4.000000), r8.x
        mad r8.z, r7.z, l(63.750000), -r2.w
        frc r6.xyz, r6.xyzx
        mad r6.xyz, r6.xyzx, r8.wwww, r8.xyzx
        add r6.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        utof r7.xyz, cb3[126].xyzx
        div r1.xyz, r6.xyzx, r7.xyzx
      endif
      sample_l_indexable(texture3d)(float,float,float,float) r6.xyzw, r1.xyzx, t25.xyzw, s10, l(0.000000)
      mul r6.xyzw, r6.xyzw, cb3[135].xyzw
      mul r3.xyzw, r6.xyzw, l(0.282094806, 0.282094806, 0.282094806, 0.282094806)
    endif
  endif
endif
mul r1.x, r3.w, l(0.282094806)
mul r6.x, r1.x, cb3[21].x
mul r6.y, r1.x, cb3[22].x
mul r6.z, r1.x, cb3[23].x
add r1.xyz, r3.xyzx, r6.xyzx
mul r3.xyzw, r1.xxyy, l(0.000000, 1.000000, 0.000000, 1.000000)
mul r6.xyzw, r1.zzzz, l(0.000000, 0.000000, 0.000000, 1.000000)
and r1.x, cb4[1].x, l(0x0000ffff)
mov r5.w, l(1.000000)
mov r7.w, l(1.000000)
mov r8.xyzw, r3.xxxy
mov r9.xyzw, r3.zzzw
mov r10.xyzw, r6.xyzw
mov r1.y, l(0)
loop
  uge r1.z, r1.y, cb1[2].x
  breakc_nz r1.z
  ishl r2.w, l(1), r1.y
  and r2.w, r1.x, r2.w
  if_z r2.w
    iadd r2.w, r1.y, l(1)
    mov r1.y, r2.w
    continue
  endif
  if_nz r1.z
    break
  endif
  imul null, r1.z, r1.y, l(6)
  add r11.xyz, -r5.xyzx, cb1[r1.z + 244].xyzx
  dp3 r2.w, r11.xyzx, r11.xyzx
  rsq r4.w, r2.w
  mul r7.xyz, r4.wwww, r11.xyzx
  add r11.x, r2.w, -cb1[r1.z + 244].w
  max r11.x, r11.x, l(0.001000)
  rcp r11.x, r11.x
  mad r11.x, cb1[r1.z + 244].w, r11.x, l(1.000000)
  rsq r11.x, r11.x
  add r11.x, -r11.x, l(1.000000)
  mul r11.x, r11.x, l(6.28318548)
  mul r11.y, r2.w, r2.w
  mad_sat r11.y, -r11.y, cb1[r1.z + 245].w, l(1.000000)
  mul r11.y, r11.y, r11.y
  mul r11.x, r11.y, r11.x
  dp3_sat r11.y, cb1[r1.z + 245].xyzx, r7.xyzx
  add_sat r11.y, r11.y, -cb1[r1.z + 247].y
  mul_sat r11.y, r11.y, cb1[r1.z + 247].x
  mul r11.z, r11.y, r11.y
  mad r11.y, -r11.y, l(2.000000), l(3.000000)
  mul r11.y, r11.y, r11.z
  mul r11.x, r11.y, r11.x
  lt r11.y, l(0.000000), r11.x
  if_nz r11.y
    mul r2.w, r2.w, r4.w
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.w, cb1[r1.z + 247].z, l(0), t12.xxxx
    mul r4.w, r2.w, -r4.w
    exp r4.w, r4.w
    mad_sat r2.w, r2.w, cb1[r1.z + 248].z, -cb1[r1.z + 248].y
    log r2.w, r2.w
    mul r2.w, r2.w, cb1[r1.z + 248].w
    exp r2.w, r2.w
    mul r4.w, r4.w, r11.x
    mul r2.w, r2.w, r4.w
    mul r2.w, r2.w, l(0.0795774683)
    imul null, r4.w, r1.y, l(13)
    dp4 r11.x, r5.xyzw, cb1[r4.w + 340].xyzw
    dp4 r11.y, r5.xyzw, cb1[r4.w + 341].xyzw
    dp4 r11.z, r5.xyzw, cb1[r4.w + 342].xyzw
    dp4 r11.w, r5.xyzw, cb1[r4.w + 343].xyzw
    lt r12.xy, r11.wwww, |r11.xyxx|
    or r12.x, r12.y, r12.x
    lt r12.y, r11.w, l(0.000000)
    or r12.x, r12.y, r12.x
    if_nz r12.x
      mov r12.yz, l(0,0,0,0)
      mov r13.x, l(0)
    else
      div r13.xyz, r11.zxyz, r11.wwww
      mad r12.yz, r13.yyzy, cb1[r4.w + 347].xxyx, cb1[r4.w + 347].zzwz
    endif
    ige r11.x, r12.x, l(0)
    if_nz r11.x
      mul r11.x, r13.x, cb1[r4.w + 351].z
      mul r11.y, cb1[r4.w + 351].y, cb1[r4.w + 351].w
      mad r11.x, r11.x, cb1[r4.w + 351].y, r11.y
      rcp r11.x, r11.x
      sample_l_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r11.y, r12.yzyy, t4.yxzw, s3, l(0.000000)
      mad r11.x, r11.x, l(-2.000000), l(-1.000000)
      mul r11.x, r11.x, l(60.593193)
      exp r11.x, r11.x
      div r11.x, r11.y, r11.x
      mad_sat r11.x, r11.x, l(11.000000), l(-10.000000)
    else
      mov r11.x, l(1.000000)
    endif
    add_sat r4.w, r11.x, cb1[r4.w + 352].y
    mul r2.w, r2.w, r4.w
    mul r11.xyz, r2.wwww, cb1[r1.z + 246].xyzx
    ige r2.w, cb1[r1.z + 248].x, l(0)
    if_nz r2.w
      ishl r2.w, cb1[r1.z + 248].x, l(2)
      mov r12.x, x0[r2.w + 0].x
      mov r13.x, x0[r2.w + 1].x
      mov r14.x, x0[r2.w + 3].x
      mov r12.y, x0[r2.w + 0].y
      mov r13.y, x0[r2.w + 1].y
      mov r14.y, x0[r2.w + 3].y
      mov r12.z, x0[r2.w + 0].z
      mov r13.z, x0[r2.w + 1].z
      mov r14.z, x0[r2.w + 3].z
      mov r12.w, x0[r2.w + 0].w
      mov r13.w, x0[r2.w + 1].w
      mov r14.w, x0[r2.w + 3].w
      dp4 r12.x, r5.xyzw, r12.xyzw
      dp4 r12.y, r5.xyzw, r13.xyzw
      dp4 r2.w, r5.xyzw, r14.xyzw
      div r12.xy, r12.xyxx, r2.wwww
      sample_l_indexable(texture2d)(float,float,float,float) r13.xyz, r12.xyxx, t8.xyzw, s1, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r12.xyxx, t9.xyzw, s1, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r15.xyz, r12.xyxx, t10.xyzw, s1, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r12.xyz, r12.xyxx, t11.xyzw, s1, l(0.000000)
      ieq r16.xyz, l(1, 2, 3, 0), cb1[r1.z + 248].xxxx
      movc r13.xyz, r16.xxxx, r14.xyzx, r13.xyzx
      movc r13.xyz, r16.yyyy, r15.xyzx, r13.xyzx
      movc r12.xyz, r16.zzzz, r12.xyzx, r13.xyzx
      mul r11.xyz, r11.xyzx, r12.xyzx
    endif
    mad r8.xyzw, r7.xyzw, r11.xxxx, r8.xyzw
    mad r9.xyzw, r7.xyzw, r11.yyyy, r9.xyzw
    mad r10.xyzw, r7.xyzw, r11.zzzz, r10.xyzw
  endif
  iadd r1.y, r1.y, l(1)
endloop
mov r3.w, l(1.000000)
mov r5.w, l(1.000000)
mov r6.xyzw, r8.xyzw
mov r7.xyzw, r9.xyzw
mov r11.xyzw, r10.xywz
mov r1.x, l(0)
loop
  uge r1.y, r1.x, cb1[2].y
  breakc_nz r1.y
  ishl r1.z, l(1), r1.x
  and r1.z, r1.z, cb4[0].w
  if_z r1.z
    iadd r1.z, r1.x, l(1)
    mov r1.x, r1.z
    continue
  endif
  if_nz r1.y
    break
  endif
  imul null, r1.y, r1.x, l(6)
  add r12.xyz, -r5.xyzx, cb1[r1.y + 52].xyzx
  dp3 r1.z, r12.xyzx, r12.xyzx
  rsq r2.w, r1.z
  mul r3.xyz, r2.wwww, r12.xyzx
  add r4.w, r1.z, -cb1[r1.y + 52].w
  max r4.w, r4.w, l(0.001000)
  rcp r4.w, r4.w
  mad r4.w, cb1[r1.y + 52].w, r4.w, l(1.000000)
  rsq r4.w, r4.w
  add r4.w, -r4.w, l(1.000000)
  mul r4.w, r4.w, l(6.28318548)
  mul r12.x, r1.z, r1.z
  mad_sat r12.x, -r12.x, cb1[r1.y + 53].w, l(1.000000)
  mul r12.x, r12.x, r12.x
  mul r4.w, r4.w, r12.x
  dp3_sat r12.x, cb1[r1.y + 53].xyzx, r3.xyzx
  add_sat r12.x, r12.x, -cb1[r1.y + 55].y
  mul_sat r12.x, r12.x, cb1[r1.y + 55].x
  mul r12.y, r12.x, r12.x
  mad r12.x, -r12.x, l(2.000000), l(3.000000)
  mul r12.x, r12.x, r12.y
  mul r4.w, r4.w, r12.x
  lt r12.x, l(0.000000), r4.w
  if_nz r12.x
    mul r1.z, r1.z, r2.w
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, cb1[r1.y + 55].z, l(0), t12.xxxx
    mul r2.w, r1.z, -r2.w
    exp r2.w, r2.w
    mad_sat r1.z, r1.z, cb1[r1.y + 56].z, -cb1[r1.y + 56].y
    log r1.z, r1.z
    mul r1.z, r1.z, cb1[r1.y + 56].w
    exp r1.z, r1.z
    mul r2.w, r2.w, r4.w
    mul r1.z, r1.z, r2.w
    mul r1.z, r1.z, l(0.0795774683)
    mul r12.xyz, r1.zzzz, cb1[r1.y + 54].xyzx
    ige r1.z, cb1[r1.y + 56].x, l(0)
    if_nz r1.z
      ishl r1.z, cb1[r1.y + 56].x, l(2)
      mov r13.x, x0[r1.z + 0].x
      mov r14.x, x0[r1.z + 1].x
      mov r15.x, x0[r1.z + 3].x
      mov r13.y, x0[r1.z + 0].y
      mov r14.y, x0[r1.z + 1].y
      mov r15.y, x0[r1.z + 3].y
      mov r13.z, x0[r1.z + 0].z
      mov r14.z, x0[r1.z + 1].z
      mov r15.z, x0[r1.z + 3].z
      mov r13.w, x0[r1.z + 0].w
      mov r14.w, x0[r1.z + 1].w
      mov r15.w, x0[r1.z + 3].w
      dp4 r13.x, r5.xyzw, r13.xyzw
      dp4 r13.y, r5.xyzw, r14.xyzw
      dp4 r1.z, r5.xyzw, r15.xyzw
      div r13.xy, r13.xyxx, r1.zzzz
      sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r13.xyxx, t8.xyzw, s1, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r15.xyz, r13.xyxx, t9.xyzw, s1, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r16.xyz, r13.xyxx, t10.xyzw, s1, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r13.xyz, r13.xyxx, t11.xyzw, s1, l(0.000000)
      ieq r17.xyz, l(1, 2, 3, 0), cb1[r1.y + 56].xxxx
      movc r14.xyz, r17.xxxx, r15.xyzx, r14.xyzx
      movc r14.xyz, r17.yyyy, r16.xyzx, r14.xyzx
      movc r13.xyz, r17.zzzz, r13.xyzx, r14.xyzx
      mul r12.xyz, r12.xyzx, r13.xyzx
    endif
    mad r6.xyzw, r3.xyzw, r12.xxxx, r6.xyzw
    mad r7.xyzw, r3.xyzw, r12.yyyy, r7.xyzw
    mad r11.xyzw, r3.xywz, r12.zzzz, r11.xyzw
  endif
  iadd r1.x, r1.x, l(1)
endloop
mul r3.xyzw, r7.xyzw, l(0.587000, 0.587000, 0.587000, 0.587000)
mad r3.xyzw, r6.xyzw, l(0.299000, 0.299000, 0.299000, 0.299000), r3.xyzw
mad r3.xyzw, r11.xywz, l(0.114000, 0.114000, 0.114000, 0.114000), r3.xyzw
rcp r1.x, r3.w
mul r5.xyz, r1.xxxx, r3.xyzx
mov r11.xw, r6.wwww
mov r11.y, r7.w
add r2.xyzw, r2.xyzx, -r11.wyzw
mad r2.xyzw, r1.wwww, r2.xyzw, r11.xyzw
store_uav_typed u8.xyzw, r0.xyww, r2.xyzw
mad r1.xyz, -r3.xyzx, r1.xxxx, r4.xyzx
mad r1.xyz, r1.wwww, r1.xyzx, r5.xyzx
mov r1.w, l(1.000000)
store_uav_typed u10.xyzw, r0.xyzw, r1.xyzw
ret
// Approximately 0 instruction slots used
