// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.163 on Fri Oct 31 20:25:24 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
// SV_Target                1   xyzw        1   TARGET    uint   xyzw
// SV_Target                2   xy          2   TARGET    uint   xy
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[50], immediateIndexed
dcl_constantbuffer CB2[12], immediateIndexed
dcl_constantbuffer CB6[9], immediateIndexed
dcl_constantbuffer CB4[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s13, mode_comparison
dcl_sampler s14, mode_default
dcl_sampler s15, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (uint,uint,uint,uint) t1
dcl_resource_texture2d (uint,uint,uint,uint) t2
dcl_resource_texture2d (uint,uint,uint,uint) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_structured t6, 144
dcl_resource_structured t7, 128
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_structured t11, 112
dcl_resource_structured t12, 576
dcl_resource_structured t14, 64
dcl_resource_texturecube (float,float,float,float) t17
dcl_resource_texture2darray (float,float,float,float) t18
dcl_resource_texture3d (float,float,float,float) t19
dcl_resource_texture3d (float,float,float,float) t20
dcl_resource_texture2d (float,float,float,float) t21
dcl_resource_texture2d (float,float,float,float) t24
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xy
dcl_temps 45
dcl_resource_buffer (float,float,float,float) t125
ld_indexable(buffer)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
sample_l_indexable(texture2d)(float,float,float,float) r0.xyzw, v1.xyxx, t0.xyzw, s0, l(0.000000)
resinfo_indexable(texture2d)(uint,uint,uint,uint) r1.xy, l(0), t1.xyzw
mul r1.xy, r1.xyxx, v1.xyxx
ftoi r1.xy, r1.xyxx
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r1.xyz, r1.xyzw, t1.xywz
resinfo_indexable(texture2d)(uint,uint,uint,uint) r2.xy, l(0), t2.xyzw
mul r2.xy, r2.xyxx, v1.xyxx
ftoi r2.xy, r2.xyxx
mov r2.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r2.xyzw, r2.xyzw, t2.xyzw
resinfo_indexable(texture2d)(uint,uint,uint,uint) r3.xy, l(0), t3.xyzw
mul r3.xy, r3.xyxx, v1.xyxx
ftoi r3.xy, r3.xyxx
mov r3.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r3.xy, r3.xyzw, t3.xyzw
sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, v1.xyxx, t5.xyzw, s1, l(0.000000)
and r1.w, r1.z, l(8)
if_z r1.w
  ushr r5.yz, r3.xxxx, l(0, 5, 10, 0)
  mov r5.x, r3.x
  and r5.xyz, r5.xyzx, l(31, 31, 31, 0)
  utof r5.xyz, r5.xyzx
  mov r6.x, l(0.0322580636)
  mov r6.yz, r0.yyzy
  mul r5.xyz, r5.xyzx, r6.xyzx
  and r1.w, r1.z, l(1)
  if_nz r1.w
    mov r6.x, r0.x
    mov r6.yz, l(0,0.0322580636,0.0322580636,0)
    mul r7.xyz, r5.xyzx, r6.xyzx
    mul r1.w, r4.z, r4.y
    mad r4.yzw, -r6.xxyz, r5.xxyz, r0.xxyz
    mad r6.xyz, r1.wwww, r4.yzwy, r7.xyzx
    and r1.w, r1.z, l(4)
    if_z r1.w
      sample_l_indexable(texture2d)(float,float,float,float) r3.zw, v1.xyxx, t10.zwxy, s0, l(0.000000)
      mov r7.x, r3.z
      mov r7.yw, l(0,1.000000,0,1.000000)
      dp2 r1.w, cb0[14].zwzz, r7.xyxx
      dp2 r3.z, cb0[15].zwzz, r7.xyxx
      div r1.w, r1.w, r3.z
      add r8.xyzw, -r1.wwww, -cb2[0].xyzw
      mul_sat r8.xyzw, r8.xyzw, cb2[1].xyzw
      mov r9.xy, cb2[2].yzyy
      mov r9.z, cb2[3].x
      add r10.x, -r9.x, l(1.000000)
      add r10.y, -r9.y, cb2[2].w
      add r10.z, -r9.z, cb2[3].y
      mad r4.yzw, r8.yyzw, r10.xxyz, r9.xxyz
      mad r5.yz, cb2[4].xxyx, r4.yyyy, v1.xxyx
      min r5.yz, r5.yyzy, cb2[3].zzwz
      sample_l_indexable(texture2d)(float,float,float,float) r7.xz, r5.yzyy, t10.yzxw, s1, l(0.000000)
      dp2 r3.z, cb0[14].zwzz, r7.zwzz
      dp2 r5.y, cb0[15].zwzz, r7.zwzz
      div r3.z, r3.z, r5.y
      lt r5.y, r7.x, l(0.000000)
      add r3.z, r1.w, -r3.z
      ge r5.z, r3.z, l(0.000000)
      and r5.z, r5.z, l(0x3f800000)
      ge r5.w, r3.z, r4.z
      and r9.x, r5.w, l(0x3f800000)
      add r5.w, r3.w, -r7.x
      ge r7.x, |r5.w|, l(0.030000)
      and r7.x, r7.x, l(0x3f800000)
      mad r9.y, r5.z, r7.x, r9.x
      mov r7.z, |r3.z|
      mad r7.w, r5.z, |r5.w|, r7.z
      mad r5.zw, cb2[5].xxxy, r4.yyyy, v1.xxxy
      min r5.zw, r5.zzzw, cb2[3].zzzw
      sample_l_indexable(texture2d)(float,float,float,float) r5.zw, r5.zwzz, t10.zwxy, s1, l(0.000000)
      mov r10.x, r5.z
      mov r10.yw, l(0,1.000000,0,1.000000)
      dp2 r3.z, cb0[14].zwzz, r10.xyxx
      dp2 r5.z, cb0[15].zwzz, r10.xyxx
      div r3.z, r3.z, r5.z
      lt r5.z, r5.w, l(0.000000)
      or r5.y, r5.y, r5.z
      add r3.z, r1.w, -r3.z
      ge r5.z, r3.z, l(0.000000)
      and r5.z, r5.z, l(0x3f800000)
      ge r7.x, r3.z, r4.z
      and r7.x, r7.x, l(0x3f800000)
      add r5.w, r3.w, -r5.w
      ge r8.y, |r5.w|, l(0.030000)
      and r8.y, r8.y, l(0x3f800000)
      mad r7.y, r5.z, r8.y, r7.x
      mul r7.xy, r7.xyxx, cb2[5].zzzz
      mad r7.xy, r9.xyxx, cb2[4].zzzz, r7.xyxx
      mov r8.z, |r3.z|
      mad r8.w, r5.z, |r5.w|, r8.z
      max r5.zw, r7.zzzw, r8.zzzw
      mad r7.zw, cb2[6].xxxy, r4.yyyy, v1.xxxy
      min r7.zw, r7.zzzw, cb2[3].zzzw
      sample_l_indexable(texture2d)(float,float,float,float) r10.xz, r7.zwzz, t10.yzxw, s1, l(0.000000)
      dp2 r3.z, cb0[14].zwzz, r10.zwzz
      dp2 r7.z, cb0[15].zwzz, r10.zwzz
      div r3.z, r3.z, r7.z
      lt r7.z, r10.x, l(0.000000)
      or r5.y, r5.y, r7.z
      add r3.z, r1.w, -r3.z
      ge r7.z, r3.z, l(0.000000)
      and r7.z, r7.z, l(0x3f800000)
      ge r7.w, r3.z, r4.z
      and r9.x, r7.w, l(0x3f800000)
      add r7.w, r3.w, -r10.x
      ge r8.y, |r7.w|, l(0.030000)
      and r8.y, r8.y, l(0x3f800000)
      mad r9.y, r7.z, r8.y, r9.x
      mad r7.xy, r9.xyxx, cb2[6].zzzz, r7.xyxx
      mov r8.z, |r3.z|
      mad r8.w, r7.z, |r7.w|, r8.z
      max r5.zw, r5.zzzw, r8.zzzw
      mad r7.zw, cb2[7].xxxy, r4.yyyy, v1.xxxy
      min r7.zw, r7.zzzw, cb2[3].zzzw
      sample_l_indexable(texture2d)(float,float,float,float) r7.zw, r7.zwzz, t10.zwxy, s1, l(0.000000)
      mov r9.x, r7.z
      mov r9.yw, l(0,1.000000,0,1.000000)
      dp2 r3.z, cb0[14].zwzz, r9.xyxx
      dp2 r7.z, cb0[15].zwzz, r9.xyxx
      div r3.z, r3.z, r7.z
      lt r7.z, r7.w, l(0.000000)
      or r5.y, r5.y, r7.z
      add r3.z, r1.w, -r3.z
      ge r7.z, r3.z, l(0.000000)
      and r7.z, r7.z, l(0x3f800000)
      ge r8.y, r3.z, r4.z
      and r10.x, r8.y, l(0x3f800000)
      add r7.w, r3.w, -r7.w
      ge r8.y, |r7.w|, l(0.030000)
      and r8.y, r8.y, l(0x3f800000)
      mad r10.y, r7.z, r8.y, r10.x
      mad r7.xy, r10.xyxx, cb2[7].zzzz, r7.xyxx
      mov r8.z, |r3.z|
      mad r8.w, r7.z, |r7.w|, r8.z
      max r5.zw, r5.zzzw, r8.zzzw
      mad r7.zw, cb2[8].xxxy, r4.yyyy, v1.xxxy
      min r7.zw, r7.zzzw, cb2[3].zzzw
      sample_l_indexable(texture2d)(float,float,float,float) r9.xz, r7.zwzz, t10.yzxw, s1, l(0.000000)
      dp2 r3.z, cb0[14].zwzz, r9.zwzz
      dp2 r7.z, cb0[15].zwzz, r9.zwzz
      div r3.z, r3.z, r7.z
      lt r7.z, r9.x, l(0.000000)
      or r5.y, r5.y, r7.z
      add r3.z, r1.w, -r3.z
      ge r7.z, r3.z, l(0.000000)
      and r7.z, r7.z, l(0x3f800000)
      ge r7.w, r3.z, r4.z
      and r10.x, r7.w, l(0x3f800000)
      add r7.w, r3.w, -r9.x
      ge r8.y, |r7.w|, l(0.030000)
      and r8.y, r8.y, l(0x3f800000)
      mad r10.y, r7.z, r8.y, r10.x
      mad r7.xy, r10.xyxx, cb2[8].zzzz, r7.xyxx
      mov r8.z, |r3.z|
      mad r8.w, r7.z, |r7.w|, r8.z
      max r5.zw, r5.zzzw, r8.zzzw
      mad r7.zw, cb2[9].xxxy, r4.yyyy, v1.xxxy
      min r7.zw, r7.zzzw, cb2[3].zzzw
      sample_l_indexable(texture2d)(float,float,float,float) r7.zw, r7.zwzz, t10.zwxy, s1, l(0.000000)
      mov r9.x, r7.z
      mov r9.yw, l(0,1.000000,0,1.000000)
      dp2 r3.z, cb0[14].zwzz, r9.xyxx
      dp2 r7.z, cb0[15].zwzz, r9.xyxx
      div r3.z, r3.z, r7.z
      lt r7.z, r7.w, l(0.000000)
      or r5.y, r5.y, r7.z
      add r3.z, r1.w, -r3.z
      ge r7.z, r3.z, l(0.000000)
      and r7.z, r7.z, l(0x3f800000)
      ge r8.y, r3.z, r4.z
      and r10.x, r8.y, l(0x3f800000)
      add r7.w, r3.w, -r7.w
      ge r8.y, |r7.w|, l(0.030000)
      and r8.y, r8.y, l(0x3f800000)
      mad r10.y, r7.z, r8.y, r10.x
      mad r7.xy, r10.xyxx, cb2[9].zzzz, r7.xyxx
      mov r8.z, |r3.z|
      mad r8.w, r7.z, |r7.w|, r8.z
      max r5.zw, r5.zzzw, r8.zzzw
      mad r7.zw, cb2[10].xxxy, r4.yyyy, v1.xxxy
      min r7.zw, r7.zzzw, cb2[3].zzzw
      sample_l_indexable(texture2d)(float,float,float,float) r9.xz, r7.zwzz, t10.yzxw, s1, l(0.000000)
      dp2 r3.z, cb0[14].zwzz, r9.zwzz
      dp2 r7.z, cb0[15].zwzz, r9.zwzz
      div r3.z, r3.z, r7.z
      lt r7.z, r9.x, l(0.000000)
      or r5.y, r5.y, r7.z
      add r3.z, r1.w, -r3.z
      ge r7.z, r3.z, l(0.000000)
      and r7.z, r7.z, l(0x3f800000)
      ge r7.w, r3.z, r4.z
      and r10.x, r7.w, l(0x3f800000)
      add r7.w, r3.w, -r9.x
      ge r8.y, |r7.w|, l(0.030000)
      and r8.y, r8.y, l(0x3f800000)
      mad r10.y, r7.z, r8.y, r10.x
      mad r7.xy, r10.xyxx, cb2[10].zzzz, r7.xyxx
      mov r8.z, |r3.z|
      mad r8.w, r7.z, |r7.w|, r8.z
      max r5.zw, r5.zzzw, r8.zzzw
      mad r7.zw, cb2[11].xxxy, r4.yyyy, v1.xxxy
      min r7.zw, r7.zzzw, cb2[3].zzzw
      sample_l_indexable(texture2d)(float,float,float,float) r7.zw, r7.zwzz, t10.zwxy, s1, l(0.000000)
      mov r9.x, r7.z
      mov r9.y, l(1.000000)
      dp2 r3.z, cb0[14].zwzz, r9.xyxx
      dp2 r4.y, cb0[15].zwzz, r9.xyxx
      div r3.z, r3.z, r4.y
      lt r4.y, r7.w, l(0.000000)
      or r4.y, r5.y, r4.y
      add r1.w, r1.w, -r3.z
      ge r3.z, r1.w, l(0.000000)
      and r3.z, r3.z, l(0x3f800000)
      ge r4.z, r1.w, r4.z
      and r9.x, r4.z, l(0x3f800000)
      add r3.w, r3.w, -r7.w
      ge r4.z, |r3.w|, l(0.030000)
      and r4.z, r4.z, l(0x3f800000)
      mad r9.y, r3.z, r4.z, r9.x
      mad r7.xy, r9.xyxx, cb2[11].zzzz, r7.xyxx
      mov r8.z, |r1.w|
      mad r8.w, r3.z, |r3.w|, r8.z
      max r7.zw, r5.zzzw, r8.zzzw
      movc r3.zw, r4.yyyy, r7.xxxz, r7.yyyw
      ushr r7.yw, r2.zzzw, l(0, 4, 0, 4)
      mov r7.xz, r2.zzwz
      and r7.xyzw, r7.xyzw, l(15, 15, 15, 15)
      utof r7.xyzw, r7.xyzw
      mov r6.w, l(0.0666666701)
      mul r9.xyzw, r6.xyzw, r7.xyzw
      lt r1.w, l(0.000000), r7.w
      min r3.w, r4.w, r3.w
      div r3.w, r3.w, r4.w
      log r3.w, r3.w
      mul r3.w, r3.w, l(1.250000)
      exp r3.w, r3.w
      mul r3.z, r3.z, r3.z
      mul r3.z, r9.w, r3.z
      mul r3.z, r3.z, cb2[2].x
      min r3.z, r3.z, l(1.000000)
      mul r3.z, r3.w, r3.z
      add r3.w, -r8.x, l(1.000000)
      mul r3.z, r3.w, r3.z
      mad r4.yzw, r9.xxyz, l(0.000000, 0.0666666701, 0.0666666701, 0.0666666701), -r6.xxyz
      mad r4.yzw, r3.zzzz, r4.yyzw, r6.xxyz
      movc r6.xyz, r1.wwww, r4.yzwy, r6.xyzx
    endif
  else
    add r1.w, -r4.x, l(1.000000)
    mul r1.w, r1.w, r5.x
    mad r4.yzw, r0.xxyz, cb4[2].xxyz, -r0.xxyz
    mad r6.xyz, r1.wwww, r4.yzwy, r0.xyzx
  endif
  mov r6.w, r0.w
  mov o0.xyzw, r6.xyzw
  mov o1.xyzw, r2.xyzw
  mov o2.xy, r3.xyxx
  ret
endif
sample_l_indexable(texture2d)(float,float,float,float) r5.z, v1.xyxx, t4.yzxw, s0, l(0.000000)
mad r5.xy, v1.zwzz, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r5.w, l(1.000000)
dp4 r6.w, r5.xyzw, cb0[23].xyzw
add r5.x, -r25.x, r5.x
dp4 r36.x, r5.xyzw, cb0[20].xyzw
dp4 r36.y, r5.xyzw, cb0[21].xyzw
dp4 r36.z, r5.xyzw, cb0[22].xyzw
dp4 r36.w, r5.xyzw, cb0[23].xyzw
div r35.xyzw, r36.xyzw, r36.wwww
mul r26.x, r25.y, r6.w
mad r5.x, r25.x, r26.x, r5.x
dp4 r6.x, r5.xyzw, cb0[20].xyzw
dp4 r6.y, r5.xyzw, cb0[21].xyzw
dp4 r6.z, r5.xyzw, cb0[22].xyzw
dp4 r6.w, r5.xyzw, cb0[23].xyzw
div r5.xyzw, r6.xyzw, r6.wwww
min r3.zw, v1.xxxy, cb4[0].zzzw
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r3.zwzz, t9.yzwx, s1, l(0.000000)
utof r1.xy, r1.xyxx
mad r6.zw, r1.xxxy, l(0.000000, 0.000000, 0.0000305180438, 0.0000305180438), l(0.000000, 0.000000, -1.000000, -1.000000)
mul r1.x, r6.z, l(3.14159274)
sincos r1.x, r7.x, r1.x
mul r1.y, r6.w, r6.w
mad r1.w, -r6.w, r6.w, l(1.000000)
sqrt r1.w, r1.w
mul r6.x, r1.w, r7.x
mul r6.y, r1.w, r1.x
utof r2.xyzw, r2.xyzw
mul r7.xyzw, r2.wxyz, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886)
ushr r2.yz, r3.yyyy, l(0, 5, 10, 0)
mov r2.x, r3.y
and r2.xyz, r2.xyzx, l(31, 31, 31, 0)
utof r2.xyz, r2.xyzx
mul r3.yzw, r2.xxyz, l(0.000000, 0.0322580636, 0.0322580636, 0.0322580636)
umin r1.x, r3.x, l(0x00004e1f)
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r8.xyzw, r1.x, l(0), t6.xyzw
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r9.xyzw, r1.x, l(16), t6.xyzw
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r10.xyzw, r1.x, l(32), t6.xyzw
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r11.xyz, r1.x, l(48), t6.xyzx
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r12.xyzw, r1.x, l(64), t6.xyzw
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r13.xyzw, r1.x, l(80), t6.xyzw
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r14.xyzw, r1.x, l(96), t6.xyzw
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r4.yzw, r1.x, l(112), t6.xxyz
ld_structured_indexable(structured_buffer, stride=144)(mixed,mixed,mixed,mixed) r1.xw, r1.x, l(128), t6.xxxy
mov r11.w, r12.x
mov r15.xz, r11.yyzy
mov r15.yw, r12.yyyz
add r2.xy, -r11.xwxx, r15.xyxx
mad r2.xy, r3.yyyy, r2.xyxx, r11.xwxx
add r3.xy, -r2.xyxx, r15.zwzz
mad r2.xy, r3.zzzz, r3.xyxx, r2.xyxx
dp4 r3.x, cb0[2].xyzw, r5.xyzw
mul r3.yz, v0.xxyx, cb0[29].xxyx
ftou r3.yz, r3.yyzy
ishl r3.z, r3.z, l(5)
iadd r6.z, r3.y, r3.z
ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r6.z, r6.z, l(572), t12.xxxx
mul r6.z, -r3.x, r6.z
min r6.z, r6.z, l(7.000000)
max r6.z, r6.z, l(0.000000)
ftou r6.z, r6.z
imad r3.z, r6.z, l(576), r3.z
iadd r3.y, r3.y, r3.z
umin r3.y, r3.y, l(4607)
mad r11.xyz, cb0[38].xyzx, r6.xxxx, cb0[37].xyzx
mad r11.xyz, cb0[39].xyzx, r6.yyyy, r11.xyzx
mad r11.xyz, cb0[40].xyzx, r6.wwww, r11.xyzx
mul r12.xyz, r6.wwww, cb0[41].xyzx
mad r11.xyz, r12.xyzx, r6.xxxx, r11.xyzx
mul r12.xyz, r6.yyyy, cb0[42].xyzx
mad r11.xyz, r12.xyzx, r6.wwww, r11.xyzx
mul r12.xyz, r6.yyyy, cb0[43].xyzx
mad r11.xyz, r12.xyzx, r6.xxxx, r11.xyzx
mad r1.y, r1.y, l(3.000000), l(-1.000000)
mad r11.xyz, cb0[44].xyzx, r1.yyyy, r11.xyzx
mul r1.y, r6.y, r6.y
mad r1.y, r6.x, r6.x, -r1.y
mad r11.xyz, cb0[45].xyzx, r1.yyyy, r11.xyzx
max r11.xyz, r11.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
add r12.x, -r35.x, cb0[4].w
add r12.y, -r35.y, cb0[5].w
add r12.z, -r35.z, cb0[6].w
dp3 r1.y, r12.xyzx, r12.xyzx
rsq r1.y, r1.y
mul r15.xyz, r1.yyyy, r12.xyzx
add r8.xyz, r8.xyzx, cb0[27].xyzx
min r8.xyz, r8.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r3.z, r3.w, r8.w
dp3 r6.z, r6.xywx, r15.xyzx
and r16.xyzw, r1.wwww, l(1, 2, 4, 16)
movc r0.w, r16.x, r0.w, l(1.000000)
mad r17.xyz, r12.xyzx, r1.yyyy, -cb0[26].xyzx
dp3 r8.w, r17.xyzx, r17.xyzx
rsq r8.w, r8.w
mul r17.xyz, r8.wwww, r17.xyzx
mul r8.w, r2.y, cb0[32].y
dp3_sat r11.w, r17.xyzx, r6.xywx
max r8.w, r8.w, l(0.001000)
log r11.w, r11.w
mul r8.w, r8.w, r11.w
exp r8.w, r8.w
mul r8.w, r0.w, r8.w
mul r8.w, r8.w, cb0[32].z
movc r8.w, r16.y, r8.w, l(0)
mul r9.xyz, r9.xyzx, r8.wwww
mul r9.xyz, r9.xyzx, cb0[25].xyzx
if_nz r16.z
  mul r16.xz, r7.yyzy, r13.yyzy
  and r7.y, r1.w, l(32)
  if_nz r7.y
    add r17.y, -v1.y, cb0[49].y
    mov r17.x, v1.x
    sample_l_indexable(texture2d)(float,float,float,float) r17.xyz, r17.xyxx, t21.xyzw, s15, l(0.000000)
  else
    add r8.w, r6.z, r6.z
    mad r18.xyz, r6.xywx, -r8.wwww, r15.xyzx
    resinfo_indexable(texturecube)(float,float,float,float)_uint r8.w, l(0), t17.xyzw
    mul r18.xyz, r18.xyzx, l(1.000000, -1.000000, -1.000000, 0.000000)
    iadd r8.w, r8.w, l(-1)
    utof r8.w, r8.w
    mul r8.w, r8.w, r16.z
    sample_l_indexable(texturecube)(float,float,float,float) r17.xyz, r18.xyzx, t17.xyzw, s14, r8.w
  endif
  and r8.w, r1.z, l(2)
  if_nz r8.w
    mul r18.xy, v1.zwzz, cb0[49].xyxx
    sample_l_indexable(texture2d)(float,float,float,float) r18.xyzw, r18.xyxx, t24.xyzw, s15, l(0.000000)
    add r18.xyz, -r17.xyzx, r18.xyzx
    mad r17.xyz, r18.wwww, r18.xyzx, r17.xyzx
  endif
  lt r8.w, l(0.000000), r2.x
  add r11.w, -|r6.z|, l(1.000000)
  max r11.w, r11.w, l(0.000000)
  log r11.w, r11.w
  mul r2.x, r2.x, r11.w
  exp r2.x, r2.x
  movc r2.x, r8.w, r2.x, l(1.000000)
  mul r8.w, r2.x, r16.x
  mad r18.xyz, r0.xyzx, r17.xyzx, -r0.xyzx
  mad r18.xyz, r8.wwww, r18.xyzx, r0.xyzx
  dp3 r8.w, r17.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
  mad r11.w, r16.z, l(-9.000000), l(10.000000)
  log r8.w, r8.w
  mul r8.w, r8.w, r11.w
  exp r8.w, r8.w
  add r11.w, -r8.w, l(1.000000)
  mad r8.w, r16.x, r11.w, r8.w
  mul r17.xyz, r8.wwww, r17.xyzx
  mul r17.xyz, r2.xxxx, r17.xyzx
  mad r2.x, -r7.z, r13.z, l(1.000000)
  mad r17.xyz, r17.xyzx, r2.xxxx, r9.xyzx
  movc r9.xyz, r7.yyyy, r9.xyzx, r17.xyzx
else
  and r1.w, r1.w, l(8)
  if_nz r1.w
    add r1.w, r6.z, r6.z
    mad r17.xyz, r6.xywx, -r1.wwww, r15.xyzx
    div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r13.w
    dp3 r2.x, -r15.xyzx, r6.xywx
    mul r7.y, r1.w, r1.w
    mad r8.w, -r2.x, r2.x, l(1.000000)
    mad r7.y, -r7.y, r8.w, l(1.000000)
    sqrt r8.w, r7.y
    mad r2.x, r1.w, r2.x, r8.w
    ge r7.y, r7.y, l(0.000000)
    mul r19.xyz, r6.xywx, r2.xxxx
    mad r15.xyz, r1.wwww, -r15.xyzx, -r19.xyzx
    and r15.xyz, r7.yyyy, r15.xyzx
    mul r1.w, r7.z, r13.z
    resinfo_indexable(texturecube)(float,float,float,float)_uint r2.x, l(0), t17.wxyz
    mul r17.xyz, r17.xyzx, l(1.000000, -1.000000, -1.000000, 0.000000)
    iadd r2.x, r2.x, l(-1)
    utof r2.x, r2.x
    mul r1.w, r1.w, r2.x
    sample_l_indexable(texturecube)(float,float,float,float) r17.xyz, r17.xyzx, t17.xyzw, s14, r1.w
    and r2.x, r1.z, l(2)
    if_nz r2.x
      mul r13.yw, v1.zzzw, cb0[49].xxxy
      sample_l_indexable(texture2d)(float,float,float,float) r19.xyzw, r13.ywyy, t24.xyzw, s15, l(0.000000)
      add r19.xyz, -r17.xyzx, r19.xyzx
      mad r17.xyz, r19.wwww, r19.xyzx, r17.xyzx
    endif
    sample_l_indexable(texturecube)(float,float,float,float) r15.xyz, r15.xyzx, t17.xyzw, s14, r1.w
    lt r1.w, l(0.000000), r14.x
    add r2.x, -|r6.z|, l(1.000000)
    max r2.x, r2.x, l(0.000000)
    log r2.x, r2.x
    mul r2.x, r2.x, r14.x
    exp r2.x, r2.x
    movc r1.w, r1.w, r2.x, l(1.000000)
    mad r19.xyz, r0.xyzx, r17.xyzx, -r0.xyzx
    mad r19.xyz, r1.wwww, r19.xyzx, r0.xyzx
    mad r2.x, -r2.w, l(0.00392156886), l(1.000000)
    mad r7.x, r1.w, r2.x, r7.x
    mul r2.x, r14.y, |r6.z|
    log r2.x, r2.x
    mul r2.x, r2.x, r14.z
    exp r2.x, r2.x
    mul r14.xyz, r17.xyzx, r7.xxxx
    mul r14.xyz, r1.wwww, r14.xyzx
    mad r1.w, -r7.z, r13.z, l(1.000000)
    mad r9.xyz, r14.xyzx, r1.wwww, r9.xyzx
    mul r13.yzw, r15.xxyz, r2.xxxx
    mul r18.xyz, r13.yzwy, r19.xyzx
  else
    mov r18.xyz, r0.xyzx
  endif
endif
mul r1.w, r0.w, r7.x
add r13.yzw, -r8.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mad r8.xyz, r1.wwww, r13.yzwy, r8.xyzx
log r1.w, r0.w
mul r1.w, r1.w, cb4[3].w
exp r1.w, r1.w
add r13.yzw, r8.xxyz, -cb4[3].xxyz
mad r13.yzw, r0.wwww, r13.yyzw, cb4[3].xxyz
mul r1.w, r7.x, r1.w
add r7.xyz, -r8.xyzx, r13.yzwy
mad r7.xyz, r1.wwww, r7.xyzx, r8.xyzx
mad r7.xyz, r7.xyzx, cb0[25].xyzx, r11.xyzx
min r1.w, r3.z, l(1.000000)
add r8.xyz, -r7.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r7.xyz, r1.wwww, r8.xyzx, r7.xyzx
add r1.w, -|r6.z|, l(1.000000)
max r1.w, r1.w, l(0.000000)
mul r1.w, r10.w, r1.w
log r1.w, r1.w
mul r1.w, r1.w, r9.w
exp r1.w, r1.w
min r1.w, r1.w, l(1.000000)
mad r8.xyz, r10.xyzx, r1.wwww, r9.xyzx
if_nz r16.y
  ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r1.w, r3.y, l(252), t12.xxxx
  umin r1.w, r1.w, l(63)
  mov r9.xyz, l(0,0,0,0)
  mov r10.xyz, l(0,0,0,0)
  mov r2.x, l(0)
  loop
    uge r2.w, r2.x, r1.w
    breakc_nz r2.w
    ishl r2.w, r2.x, l(2)
    ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r2.w, r3.y, r2.w, t12.xxxx
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r11.xyz, r2.w, l(0), t11.xyzx
    add r11.xyz, -r5.xyzx, r11.xyzx
    dp3 r3.z, r11.xyzx, r11.xyzx
    sqrt r6.z, r3.z
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r2.w, l(28), t11.xxxx
    mul r6.z, r6.z, r8.w
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r2.w, l(44), t11.xxxx
    log r6.z, |r6.z|
    mul r6.z, r6.z, r8.w
    exp r6.z, r6.z
    add r6.z, -r6.z, l(1.000000)
    max r6.z, r6.z, l(0.000000)
    lt r8.w, l(0.000000), r6.z
    if_nz r8.w
      rsq r3.z, r3.z
      mul r11.xyz, r3.zzzz, r11.xyzx
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r3.z, r2.w, l(96), t11.xxxx
      dp3 r8.w, r11.xyzx, r6.xywx
      max r3.z, r3.z, r8.w
      mul r3.z, r3.z, r6.z
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r13.yzw, r2.w, l(16), t11.xxyz
      mad r10.xyz, r13.yzwy, r3.zzzz, r10.xyzx
      mad r11.xyz, r12.xyzx, r1.yyyy, r11.xyzx
      dp3 r6.z, r11.xyzx, r11.xyzx
      rsq r6.z, r6.z
      mul r11.xyz, r6.zzzz, r11.xyzx
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r14.xy, r2.w, l(68), t11.xyxx
      mul r2.w, r2.y, r14.y
      dp3_sat r6.z, r11.xyzx, r6.xywx
      max r2.w, r2.w, l(0.001000)
      log r6.z, r6.z
      mul r2.w, r2.w, r6.z
      exp r2.w, r2.w
      mul r11.xyz, r2.wwww, r13.yzwy
      mul r11.xyz, r3.zzzz, r11.xyzx
      mad r9.xyz, r11.xyzx, r14.xxxx, r9.xyzx
    endif
    iadd r2.x, r2.x, l(1)
  endloop
  mad r10.xyz, r10.xyzx, r12.wwww, r7.xyzx
  ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r1.w, r3.y, l(508), t12.xxxx
  umin r1.w, r1.w, l(63)
  mul r11.yw, l(0.000000, 1.250000, 0.000000, -1.250000), cb0[32].wwww
  mov r11.xz, l(0,0,0,0)
  mov r13.yzw, r9.xxyz
  mov r14.xyz, l(0,0,0,0)
  mov r2.x, l(0)
  loop
    uge r2.w, r2.x, r1.w
    breakc_nz r2.w
    ishl r2.w, r2.x, l(2)
    iadd r2.w, r2.w, l(256)
    ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r2.w, r3.y, r2.w, t12.xxxx
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r15.xyz, r2.w, l(0), t11.xyzx
    add r15.xyz, -r5.xyzx, r15.xyzx
    dp3 r3.z, r15.xyzx, r15.xyzx
    rsq r6.z, r3.z
    mul r15.xyz, r6.zzzz, r15.xyzx
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r17.xyzw, r2.w, l(48), t11.xyzw
    dp3 r6.z, r15.xyzx, r17.xyzx
    max r6.z, r6.z, l(0.000000)
    add r6.z, -r6.z, l(1.000000)
    mul r6.z, r17.w, r6.z
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r2.w, l(64), t11.xxxx
    log r6.z, r6.z
    mul r6.z, r6.z, r8.w
    exp r6.z, r6.z
    add r6.z, -r6.z, l(1.000000)
    max r6.z, r6.z, l(0.000000)
    lt r8.w, l(0.000000), r6.z
    if_nz r8.w
      sqrt r3.z, r3.z
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r2.w, l(28), t11.xxxx
      mul r3.z, r3.z, r8.w
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r2.w, l(44), t11.xxxx
      log r3.z, |r3.z|
      mul r3.z, r3.z, r8.w
      exp r3.z, r3.z
      add r3.z, -r3.z, l(1.000000)
      max r3.z, r3.z, l(0.000000)
      mul r3.z, r3.z, r6.z
      lt r6.z, l(0.000000), r3.z
      if_nz r6.z
        ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r16.xy, r2.w, l(96), t11.xyxx
        ine r6.z, r16.y, l(-1)
        if_nz r6.z
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r17.xyzw, r16.y, l(0), t14.xyzw
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r19.xyzw, r16.y, l(16), t14.xyzw
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r20.xyzw, r16.y, l(32), t14.xyzw
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r21.xyzw, r16.y, l(48), t14.xyzw
          dp4 r17.x, r5.xyzw, r17.xyzw
          dp4 r17.y, r5.xyzw, r19.xyzw
          dp4 r17.z, r5.xyzw, r20.xyzw
          dp4 r6.z, r5.xyzw, r21.xyzw
          div r17.xyz, r17.xyzx, r6.zzzz
          utof r17.w, r16.y
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r6.z, r17.xywx, t18.xxxx, s13, r17.z
          add r19.xy, r11.yxyy, r17.xyxx
          mov r19.z, r17.w
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r19.xyzx, t18.xxxx, s13, r17.z
          mul r8.w, r8.w, l(0.200000)
          mad r6.z, r6.z, l(0.200000), r8.w
          add r19.xy, r11.wzww, r17.xyxx
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r19.xyzx, t18.xxxx, s13, r17.z
          mad r6.z, r8.w, l(0.200000), r6.z
          add r19.xy, r11.xyxx, r17.xyxx
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r19.xyzx, t18.xxxx, s13, r17.z
          mad r6.z, r8.w, l(0.200000), r6.z
          add r19.xy, r11.zwzz, r17.xyxx
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r19.xyzx, t18.xxxx, s13, r17.z
          mad r6.z, r8.w, l(0.200000), r6.z
          mul r3.z, r3.z, r6.z
        endif
        dp3 r6.z, r15.xyzx, r6.xywx
        max r6.z, r6.z, r16.x
        mul r3.z, r3.z, r6.z
        ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r16.xyz, r2.w, l(16), t11.xyzx
        mad r14.xyz, r16.xyzx, r3.zzzz, r14.xyzx
        mad r15.xyz, r12.xyzx, r1.yyyy, r15.xyzx
        dp3 r6.z, r15.xyzx, r15.xyzx
        rsq r6.z, r6.z
        mul r15.xyz, r6.zzzz, r15.xyzx
        ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r17.xy, r2.w, l(68), t11.xyxx
        mul r2.w, r2.y, r17.y
        dp3_sat r6.z, r15.xyzx, r6.xywx
        max r2.w, r2.w, l(0.001000)
        log r6.z, r6.z
        mul r2.w, r2.w, r6.z
        exp r2.w, r2.w
        mul r15.xyz, r2.wwww, r16.xyzx
        mul r15.xyz, r3.zzzz, r15.xyzx
        mad r13.yzw, r15.xxyz, r17.xxxx, r13.yyzw
      endif
    endif
    iadd r2.x, r2.x, l(1)
  endloop
  mad r2.xyw, r14.xyxz, r12.wwww, r10.xyxz
  mad r8.xyz, r13.yzwy, r12.wwww, r8.xyzx
else
  ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r1.y, r3.y, l(252), t12.xxxx
  umin r1.y, r1.y, l(63)
  mov r9.xyzw, l(0,0,0,0)
  loop
    uge r1.w, r9.w, r1.y
    breakc_nz r1.w
    ishl r1.w, r9.w, l(2)
    ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r1.w, r3.y, r1.w, t12.xxxx
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r10.xyz, r1.w, l(0), t11.xyzx
    add r10.xyz, -r5.xyzx, r10.xyzx
    dp3 r3.z, r10.xyzx, r10.xyzx
    sqrt r6.z, r3.z
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r1.w, l(28), t11.xxxx
    mul r6.z, r6.z, r8.w
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r1.w, l(44), t11.xxxx
    log r6.z, |r6.z|
    mul r6.z, r6.z, r8.w
    exp r6.z, r6.z
    add r6.z, -r6.z, l(1.000000)
    max r6.z, r6.z, l(0.000000)
    lt r8.w, l(0.000000), r6.z
    if_nz r8.w
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r1.w, l(96), t11.xxxx
      rsq r3.z, r3.z
      mul r10.xyz, r3.zzzz, r10.xyzx
      dp3 r3.z, r10.xyzx, r6.xywx
      max r3.z, r3.z, r8.w
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r10.xyz, r1.w, l(16), t11.xyzx
      mul r10.xyz, r6.zzzz, r10.xyzx
      mad r9.xyz, r10.xyzx, r3.zzzz, r9.xyzx
    endif
    iadd r9.w, r9.w, l(1)
  endloop
  mad r7.xyz, r9.xyzx, r12.wwww, r7.xyzx
  ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r1.y, r3.y, l(508), t12.xxxx
  umin r1.y, r1.y, l(63)
  mul r9.yw, l(0.000000, 1.250000, 0.000000, -1.250000), cb0[32].wwww
  mov r9.xz, l(0,0,0,0)
  mov r10.xyzw, l(0,0,0,0)
  loop
    uge r1.w, r10.w, r1.y
    breakc_nz r1.w
    ishl r1.w, r10.w, l(2)
    iadd r1.w, r1.w, l(256)
    ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r1.w, r3.y, r1.w, t12.xxxx
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r11.xyz, r1.w, l(0), t11.xyzx
    add r11.xyz, -r5.xyzx, r11.xyzx
    dp3 r3.z, r11.xyzx, r11.xyzx
    rsq r6.z, r3.z
    mul r11.xyz, r6.zzzz, r11.xyzx
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r15.xyzw, r1.w, l(48), t11.xyzw
    dp3 r6.z, r11.xyzx, r15.xyzx
    max r6.z, r6.z, l(0.000000)
    add r6.z, -r6.z, l(1.000000)
    mul r6.z, r15.w, r6.z
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r1.w, l(64), t11.xxxx
    log r6.z, r6.z
    mul r6.z, r6.z, r8.w
    exp r6.z, r6.z
    add r6.z, -r6.z, l(1.000000)
    max r6.z, r6.z, l(0.000000)
    lt r8.w, l(0.000000), r6.z
    if_nz r8.w
      sqrt r3.z, r3.z
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r1.w, l(28), t11.xxxx
      mul r3.z, r3.z, r8.w
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.w, r1.w, l(44), t11.xxxx
      log r3.z, |r3.z|
      mul r3.z, r3.z, r8.w
      exp r3.z, r3.z
      add r3.z, -r3.z, l(1.000000)
      max r3.z, r3.z, l(0.000000)
      mul r3.z, r3.z, r6.z
      lt r6.z, l(0.000000), r3.z
      if_nz r6.z
        ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r12.xy, r1.w, l(96), t11.xyxx
        ine r6.z, r12.y, l(-1)
        if_nz r6.z
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r15.xyzw, r12.y, l(0), t14.xyzw
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r17.xyzw, r12.y, l(16), t14.xyzw
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r19.xyzw, r12.y, l(32), t14.xyzw
          ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r20.xyzw, r12.y, l(48), t14.xyzw
          dp4 r14.x, r5.xyzw, r15.xyzw
          dp4 r14.y, r5.xyzw, r17.xyzw
          dp4 r14.z, r5.xyzw, r19.xyzw
          dp4 r6.z, r5.xyzw, r20.xyzw
          div r15.xyz, r14.xyzx, r6.zzzz
          utof r15.w, r12.y
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r6.z, r15.xywx, t18.xxxx, s13, r15.z
          add r14.xy, r9.yxyy, r15.xyxx
          mov r14.z, r15.w
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r14.xyzx, t18.xxxx, s13, r15.z
          mul r8.w, r8.w, l(0.200000)
          mad r6.z, r6.z, l(0.200000), r8.w
          add r14.xy, r9.wzww, r15.xyxx
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r14.xyzx, t18.xxxx, s13, r15.z
          mad r6.z, r8.w, l(0.200000), r6.z
          add r14.xy, r9.xyxx, r15.xyxx
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r14.xyzx, t18.xxxx, s13, r15.z
          mad r6.z, r8.w, l(0.200000), r6.z
          add r14.xy, r9.zwzz, r15.xyxx
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r8.w, r14.xyzx, t18.xxxx, s13, r15.z
          mad r6.z, r8.w, l(0.200000), r6.z
          mul r3.z, r3.z, r6.z
        endif
        dp3 r6.z, r11.xyzx, r6.xywx
        max r6.z, r6.z, r12.x
        ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r11.xyz, r1.w, l(16), t11.xyzx
        mul r11.xyz, r3.zzzz, r11.xyzx
        mad r10.xyz, r11.xyzx, r6.zzzz, r10.xyzx
      endif
    endif
    iadd r10.w, r10.w, l(1)
  endloop
  mad r2.xyw, r10.xyxz, r12.wwww, r7.xyxz
endif
mul r6.xyz, r7.wwww, r8.xyzx
mad r2.xyw, r18.xyxz, r2.xyxw, r6.xyxz
lt r1.y, l(0.000000), r4.y
dp3 r0.x, r0.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
add r0.x, -r4.y, r0.x
max r0.x, r0.x, l(0.000000)
div r0.x, r0.x, r4.y
min r0.x, r0.x, l(1.000000)
movc r0.x, r1.y, r0.x, l(1.000000)
mul r0.y, r3.w, r14.w
mul r0.x, r0.x, r0.y
add r0.y, r0.w, l(-1.000000)
mad r0.y, r4.z, r0.y, l(1.000000)
mul r0.x, r0.y, r0.x
add r0.y, -r4.x, l(1.000000)
mul r0.y, r0.y, r4.w
mul r0.y, r0.y, cb4[2].w
mad r3.yzw, r2.xxyw, cb4[2].xxyz, -r2.xxyw
mad r0.yzw, r0.yyyy, r3.yyzw, r2.xxyw
add r1.y, -r3.x, -cb0[29].z
mul_sat r1.y, r1.y, cb0[29].w
add r1.w, r5.y, -cb0[31].x
mul_sat r1.w, r1.w, cb0[31].y
mul r1.y, r1.w, r1.y
mul r1.y, r1.y, cb0[30].w
and r1.z, r1.z, l(16)
mad r1.w, -r2.z, l(0.0322580636), l(1.000000)
movc r1.z, r1.z, r1.w, l(1.000000)
mul r1.y, r13.x, r1.y
mul r1.y, r1.z, r1.y
add r2.xyz, -r0.yzwy, cb0[30].xyzx
mad r0.yzw, r1.yyyy, r2.xxyz, r0.yyzw
div r1.y, -r3.x, cb6[8].z
mul r2.xy, v0.xyxx, cb0[24].zwzz
add r1.y, r1.y, -cb6[8].y
add r1.z, l(1.000000), -cb6[8].y
div r2.z, r1.y, r1.z
sample_l_indexable(texture3d)(float,float,float,float) r1.yzw, r2.xyzx, t19.wxyz, s1, l(0.000000)
sample_l_indexable(texture3d)(float,float,float,float) r2.xyz, r2.xyzx, t20.xyzw, s1, l(0.000000)
mad r0.yzw, r0.yyzw, r2.xxyz, r1.yyzw
if_nz cb4[0].x
  add r1.yz, r5.xxzx, -cb4[1].xxyx
  mul r1.yz, r1.yyzy, cb4[1].zzwz
  ge r2.xy, r1.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000)
  and r1.w, r2.y, r2.x
  ge r2.xy, l(1.000000, 1.000000, 0.000000, 0.000000), r1.yzyy
  and r2.x, r2.y, r2.x
  and r1.w, r1.w, r2.x
  if_nz r1.w
    sample_l_indexable(texture2d)(float,float,float,float) r1.y, r1.yzyy, t8.yxzw, s1, l(0.000000)
  else
    mov r1.y, l(1.000000)
  endif
  mov r5.w, l(1.000000)
  mov r2.xyz, r0.yzwy
  mov r1.z, l(0)
  loop
    uge r1.w, r1.z, cb4[0].x
    breakc_nz r1.w
    ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r3.xyzw, r1.z, l(96), t7.xyzw
    add r1.w, -r3.y, r5.y
    ge r2.w, r3.z, |r1.w|
    if_nz r2.w
      ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r4.xyzw, r1.z, l(0), t7.xyzw
      ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r6.xyzw, r1.z, l(32), t7.xwyz
      ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r7.xyzw, r1.z, l(64), t7.xyzw
      ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r8.xyzw, r1.z, l(80), t7.xyzw
      add r2.w, r3.w, |r1.w|
      lt r2.w, r3.z, r2.w
      add r1.w, -|r1.w|, r3.z
      div r1.w, r1.w, r3.w
      log r1.w, r1.w
      mul r1.w, r1.w, l(0.250000)
      exp r1.w, r1.w
      movc r1.w, r2.w, r1.w, l(1.000000)
      if_z r8.x
        mov r6.x, r4.w
        add r3.yz, r5.xxzx, -r6.xxyx
        dp2 r2.w, r3.yzyy, r3.yzyy
        sqrt r2.w, r2.w
        lt r3.y, r8.y, r2.w
        add r3.z, -r8.z, r8.y
        ge r3.w, r2.w, r3.z
        not r9.x, r3.w
        add r2.w, r2.w, -r3.z
        div r2.w, r2.w, r8.z
        and r2.w, r2.w, r3.w
        movc r2.w, r3.y, l(0), r2.w
        or r3.y, r3.y, r9.x
      else
        ieq r3.z, r8.x, l(1)
        if_nz r3.z
          ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r3.z, r1.z, l(112), t7.xxxx
          mov r6.xz, r4.wwzw
          add r9.xy, r5.xzxx, -r6.xyxx
          dp2 r3.w, r9.xyxx, r9.xyxx
          sqrt r9.z, r3.w
          lt r9.w, r8.y, r9.z
          add r8.y, -r8.z, r8.y
          rsq r3.w, r3.w
          mul r9.xy, r3.wwww, r9.xyxx
          dp2 r3.w, r6.zwzz, r9.xyxx
          add r9.x, -|r3.w|, l(1.000000)
          sqrt r9.x, r9.x
          mad r9.y, |r3.w|, l(-0.0187292993), l(0.074261)
          mad r9.y, r9.y, |r3.w|, l(-0.212114394)
          mad r9.y, r9.y, |r3.w|, l(1.57072878)
          mul r10.x, r9.x, r9.y
          mad r10.x, r10.x, l(-2.000000), l(3.14159274)
          lt r3.w, r3.w, -r3.w
          and r3.w, r3.w, r10.x
          mad r3.w, r9.y, r9.x, r3.w
          ge r9.x, r3.z, r3.w
          not r9.y, r9.x
          mul r10.x, r9.z, l(6.28318548)
          mul r3.zw, r3.zzzw, r10.xxxx
          mul r3.w, r3.w, l(0.159154937)
          mad r3.z, r3.z, l(0.159154937), -r3.w
          div r3.z, r3.z, r8.z
          min r3.z, r3.z, l(1.000000)
          add r3.z, -r3.z, l(1.000000)
          add r3.w, -r8.y, r9.z
          div r3.w, r3.w, r8.z
          min r3.w, r3.w, l(1.000000)
          max r3.z, r3.w, r3.z
          and r3.z, r3.z, r9.x
          movc r2.w, r9.w, l(0), r3.z
          or r3.y, r9.w, r9.y
        else
          ieq r3.z, r8.x, l(2)
          dp4 r4.x, r5.xyzw, r4.xyzw
          dp4 r4.y, r5.xwyz, r6.xyzw
          lt r4.zw, r4.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
          and r3.w, r4.w, r4.z
          lt r4.zw, l(0.000000, 0.000000, -0.500000, -0.500000), r4.xxxy
          and r4.z, r4.w, r4.z
          and r3.w, r3.w, r4.z
          add r4.zw, -r8.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
          lt r6.xy, |r4.xyxx|, r4.zwzz
          and r6.x, r6.y, r6.x
          add r4.xy, -r4.zwzz, |r4.xyxx|
          div r4.xy, r4.xyxx, r8.zwzz
          max r4.x, r4.y, r4.x
          movc r4.x, r6.x, l(0), r4.x
          and r4.x, r3.w, r4.x
          movc r3.w, r3.w, r6.x, l(-1)
          and r2.w, r3.z, r4.x
          and r3.y, r3.w, r3.z
        endif
      endif
      log r2.w, r2.w
      mul r2.w, r2.w, r3.x
      exp r2.w, r2.w
      mul r2.w, r2.w, r7.w
      mul r2.w, r1.y, r2.w
      mul r1.w, r1.w, r2.w
      add r3.xzw, -r2.xxyz, r7.xxyz
      mad r3.xzw, r1.wwww, r3.xxzw, r2.xxyz
      movc r2.xyz, r3.yyyy, r2.xyzx, r3.xzwx
    endif
    iadd r1.z, r1.z, l(1)
  endloop
  mov r0.yzw, r2.xxyz
endif
mul_sat r0.x, r0.x, l(0.100000)
movc r2.y, r16.w, r0.x, l(0)
mov r2.xzw, l(255.000000,0,255.000000,255.000000)
mul r2.xyzw, r2.xyzw, l(0.000000, 255.000000, 0.000000, 0.000000)
ftou o1.xyzw, r2.xyzw
mul r0.x, r1.x, l(65.535004)
ftou r0.x, r0.x
umin o2.y, r0.x, l(0x0000ffff)
mov o0.xyz, r0.yzwy
mov o0.w, l(1.000000)
mov o2.x, l(0)
ret
// Approximately 0 instruction slots used
