// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.108 on Sun Jan 29 12:40:42 2023
//
//
// Note: shader requires additional functionality:
//       64 UAV slots
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xy          1     NONE   float   xy
// TEXCOORD                 1     zw        1     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_immediateConstantBuffer { { 0, 0, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 1.000000, 1.000000, 0},
                              { 0, 1.000000, 0, 0},
                              { 1.000000, 1.000000, 0, 0},
                              { 1.000000, 0, 0, 0},
                              { 1.000000, 0, 1.000000, 0},
                              { 1.000000, 1.000000, 1.000000, 0},
                              { 1.000000, 1.000000, 1.000000, 0} }
dcl_constantbuffer CB0[34], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s3, mode_comparison
dcl_resource_texture3d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t12
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_texture2d (float,float,float,float) t14
dcl_resource_texture2darray (float,float,float,float) t17
dcl_resource_texture2d (float,float,float,float) t18
dcl_resource_texture2d (float,float,float,float) t21
dcl_uav_typed_texture2darray (float,float,float,float) u9
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 50
dcl_resource_buffer (float,float,float,float) t125
mov r50.z, l(0)
ld_indexable(buffer)(float,float,float,float) r40.xyzw, l(0, 0, 0, 0), t125.xyzw
ftou r0.xy, v0.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.xy, r0.xyww, t18.xyzw
mul r1.xy, r1.xyxx, cb0[2].zwzz
mad r1.xy, r1.xyxx, l(8.000000, 8.000000, 0.000000, 0.000000), v1.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r1.z, r1.xyxx, t6.xywz, s1, l(0.000000)
if_nz cb0[17].z
  sample_l_indexable(texture2d)(float,float,float,float) r2.xy, v1.xyxx, t14.xyzw, s1, l(0.000000)
  mad r2.xy, r2.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), v1.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, r2.xyxx, t3.xyzw, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r3.xyzw, v1.xyxx, t12.xyzw, s1, l(0.000000)
  max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r1.xyxx, t13.xyzw, s1, l(0.000000)
  max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r1.w, r3.w, r4.w
  mad r3.xyz, r3.xyzx, r4.wwww, r4.xyzx
  mad r2.xyz, r2.xyzx, r1.wwww, r3.xyzx
  mul r3.xyz, r2.xyzx, cb0[22].xxxx
  movc r2.xyz, cb0[17].wwww, r3.xyzx, r2.xyzx
  mul r3.xyz, r2.yyyy, cb0[20].xyzx
  mad r3.xyz, r2.xxxx, cb0[19].xyzx, r3.xyzx
  mad r3.xyz, r2.zzzz, cb0[21].xyzx, r3.xyzx
  max r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  movc r2.xyz, cb0[18].xxxx, r3.xyzx, r2.xyzx
  if_nz cb0[18].y
    mad r3.xyz, r2.xyzx, l(0.707762539, 0.707762539, 0.707762539, 0.000000), l(0.037584, 0.037584, 0.037584, 0.000000)
    log r3.xyz, r3.xyzx
    mad r3.xyz, r3.xyzx, l(0.130255371, 0.130255371, 0.130255371, 0.000000), l(0.646595955, 0.646595955, 0.646595955, 0.000000)
    mad r2.xyz, r3.xyzx, l(0.855481803, 0.855481803, 0.855481803, 0.000000), l(0.0625009537, 0.0625009537, 0.0625009537, 0.000000)
  endif
  mov r1.w, l(0)
  mov r2.w, l(0)
else
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, v1.xyxx, t6.xyzw, s1, l(0.000000)
  lt r4.w, r1.z, l(1.000000)
  if_nz r4.w
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyz, r1.xyxx, t14.xywz, s1, l(0.000000)
    mul r6.xy, r5.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
    dp2 r4.w, r5.xyxx, r5.xyxx
    ne r4.w, r4.w, l(0.000000)
    if_nz r4.w
      gather4_indexable(texture2d)(float,float,float,float) r7.xyzw, v1.xyxx, t14.xyzw, s0.z
      min r4.w, r7.z, r7.y
      min r4.w, r4.w, r7.x
      min r4.w, r7.w, r4.w
      max r4.w, -r4.w, l(1.000000)
      div r4.w, r5.z, r4.w
      and r5.xy, r0.xyxx, l(63, 63, 0, 0)
      and r5.z, l(7), cb0[14].w
      mov r5.w, l(0)
      ld_indexable(texture2darray)(float,float,float,float) r5.x, r5.xyzw, t17.xyzw
      mul r5.y, r5.x, l(0.250000)
      mad r5.zw, r6.xxxy, r5.yyyy, v1.xxxy
      sample_c_lz_indexable(texture2d)(float,float,float,float) r5.z, r5.zwzz, t2.xxxx, s3, r4.w
      mad r7.xyz, r5.xxxx, l(0.250000, 0.250000, 0.250000, 0.000000), l(0.250000, 0.500000, 0.750000, 0.000000)
      mad r8.xyzw, r6.xyxy, r7.xxyy, v1.xyxy
      sample_c_lz_indexable(texture2d)(float,float,float,float) r5.x, r8.xyxx, t2.xxxx, s3, r4.w
      sample_c_lz_indexable(texture2d)(float,float,float,float) r5.w, r8.zwzz, t2.xxxx, s3, r4.w
      mad r6.zw, r6.xxxy, r7.zzzz, v1.xxxy
      sample_c_lz_indexable(texture2d)(float,float,float,float) r4.w, r6.zwzz, t2.xxxx, s3, r4.w
      ge r5.xz, l(0.000000, 0.000000, 0.000000, 0.000000), r5.xxzx
      and r5.y, r5.y, r5.z
      movc r5.x, r5.x, r7.x, r5.y
      ge r5.y, l(0.000000), r5.w
      movc r5.x, r5.y, r7.y, r5.x
      ge r4.w, l(0.000000), r4.w
      movc r4.w, r4.w, r7.z, r5.x
    else
      mov r4.w, l(0)
    endif
    mad r5.xy, r6.xyxx, r4.wwww, v1.xyxx
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyz, r5.xyxx, t3.xyzw, s1, l(0.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r6.xyzw, v1.xyxx, t12.xyzw, s1, l(0.000000)
    max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r7.xyzw, r1.xyxx, t13.xyzw, s1, l(0.000000)
    max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    mul r1.x, r6.w, r7.w
    mad r6.xyz, r6.xyzx, r7.wwww, r7.xyzx
    add r1.y, -r5.y, r6.y
    mul_sat r1.w, r1.y, cb0[29].z
    min r1.x, r1.x, l(1.000000)
    mad r5.xyz, r5.xyzx, r1.xxxx, r6.xyzx
    mov_sat r1.z, r1.z
    max r1.x, r5.z, r5.y
    max r1.x, r1.x, r5.x
    add r1.x, r1.x, l(1.000000)
    rcp r1.x, r1.x
    mul r6.xyz, r1.xxxx, r5.xyzx
    mad r5.xyz, -r5.xyzx, r1.xxxx, r4.xyzx
    mad r5.xyz, r1.zzzz, r5.xyzx, r6.xyzx
  else
    mov r5.xyz, r4.xyzx
    mov r1.w, l(0)
  endif
  max r1.x, r5.z, r5.y
  max r1.x, r1.x, r5.x
  add r1.x, -r1.x, l(1.000000)
  rcp r1.x, r1.x
  mul r5.xyz, r1.xxxx, r5.xyzx
  ne r1.xy, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].zwzz
  max r4.w, r4.z, r4.y
  max r4.w, r4.w, r4.x
  add r4.w, -r4.w, l(1.000000)
  rcp r4.w, r4.w
  mul r4.xyz, r4.wwww, r4.xyzx
  movc r4.xyz, r1.xxxx, r4.xyzx, r5.xyzx
  ne r1.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[21].w
  if_nz r1.x
    sample_l_indexable(texture2d)(float,float,float,float) r1.x, v1.xyxx, t1.xyzw, s1, l(0.000000)
    exp r1.x, r1.x
    mul r5.xyz, r1.xxxx, r4.xyzx
  else
    mul r5.xyz, r4.xyzx, cb0[22].xxxx
  endif
  add r4.xy, v1.xyxx, v1.xyxx
  frc r4.xy, r4.xyxx
  lt r4.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  ne r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[26].xyzw
  ine r1.x, r4.y, r4.x
  ieq r4.x, r4.y, r4.x
  movc r1.x, r6.y, r1.x, r4.x
  movc r1.x, r6.x, r1.x, l(-1)
  movc r1.x, r6.z, l(0), r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, v1.xyxx, t4.xyzw, s1, l(0.000000)
  mad r4.xyz, cb0[1].zzzz, r4.xyzx, r5.xyzx
  add r5.xy, v0.xyxx, -cb0[14].yzyy
  dp2 r4.w, r5.xyxx, r5.xyxx
  mul r4.w, r4.w, cb0[14].x
  mul r4.w, r4.w, r4.w
  mul r4.w, r4.w, cb0[13].z
  exp r4.w, -r4.w
  mul r4.xyz, r4.wwww, r4.xyzx
  mul r5.xyz, r4.yyyy, cb0[20].xyzx
  mad r4.xyw, r4.xxxx, cb0[19].xyxz, r5.xyxz
  mad r4.xyz, r4.zzzz, cb0[21].xyzx, r4.xywx
  max r4.xyz, r4.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000), -cb0[12].wxyz
  mul r4.w, v1.x, cb0[13].y
  mul r4.w, r4.w, v1.y
  add r6.xy, -v1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
  mul r4.w, r4.w, r6.x
  mul r4.w, r6.y, r4.w
  log r4.w, |r4.w|
  mul r4.w, r4.w, cb0[13].x
  exp r4.w, r4.w
  mad_sat r4.w, r5.x, r4.w, cb0[12].w
  mad r5.xyz, r4.wwww, r5.yzwy, cb0[12].xyzx
  mul r4.xyz, r4.xyzx, r5.xyzx
  movc r4.xyz, r1.yyyy, l(0,0,0,0), r4.xyzx
  if_z cb0[17].y
    lt r5.xyz, l(0.010591, 0.010591, 0.010591, 0.000000), r4.xyzx
    mad r7.xyzw, r4.xxyy, l(5.555556, 5.367655, 5.555556, 5.367655), l(0.052272, 0.092809, 0.052272, 0.092809)
    log r6.xz, r7.xxzx
    mad r6.xz, r6.xxzx, l(0.0744116008, 0.000000, 0.0744116008, 0.000000), l(0.385537, 0.000000, 0.385537, 0.000000)
    movc r7.xy, r5.xyxx, r6.xzxx, r7.ywyy
    mad r5.xy, r4.zzzz, l(5.555556, 5.367655, 0.000000, 0.000000), l(0.052272, 0.092809, 0.000000, 0.000000)
    log r1.y, r5.x
    mad r1.y, r1.y, l(0.0744116008), l(0.385537)
    movc r7.z, r5.z, r1.y, r5.y
    mad r5.xyz, r7.xyzx, l(0.984375, 0.984375, 0.984375, 0.000000), l(0.00781250000, 0.00781250000, 0.00781250000, 0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r5.xyz, r5.xyzx, t0.xyzw, s1, l(0.000000)
    lt r7.xyz, l(0.149658203, 0.149658203, 0.149658203, 0.000000), r5.xyzx
    add r8.xyzw, r5.xxyy, l(-0.385537, -0.092809, -0.385537, -0.092809)
    mul r8.xyzw, r8.xyzw, l(13.43878651, 0.186301097, 13.43878651, 0.186301097)
    exp r5.xy, r8.xzxx
    add r5.xy, r5.xyxx, l(-0.052272, -0.052272, 0.000000, 0.000000)
    mul r5.xy, r5.xyxx, l(0.179999992, 0.179999992, 0.000000, 0.000000)
    movc r8.xy, r7.xyxx, r5.xyxx, r8.ywyy
    add r5.xy, r5.zzzz, l(-0.385537, -0.092809, 0.000000, 0.000000)
    mul r5.xy, r5.xyxx, l(13.43878651, 0.186301097, 0.000000, 0.000000)
    exp r1.y, r5.x
    add r1.y, r1.y, l(-0.052272)
    mul r1.y, r1.y, l(0.179999992)
    movc r8.z, r7.z, r1.y, r5.y
    max r4.xyz, r8.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  endif
  max r1.y, r4.z, r4.y
  max r1.y, r1.y, r4.x
  ieq r4.w, l(3), cb0[23].z
  movc r4.w, r4.w, l(2), cb0[23].z
  ieq r5.x, r4.w, l(1)
  if_nz r5.x
    mad r5.xyz, r4.xyzx, l(0.150000, 0.150000, 0.150000, 0.000000), l(0.050000, 0.050000, 0.050000, 0.000000)
    mad r5.xyz, r4.xyzx, r5.xyzx, l(0.004000, 0.004000, 0.004000, 0.000000)
    mad r7.xyz, r4.xyzx, l(0.150000, 0.150000, 0.150000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
    mad r7.xyz, r4.xyzx, r7.xyzx, l(0.0600000024, 0.0600000024, 0.0600000024, 0.000000)
    div r5.xyz, r5.xyzx, r7.xyzx
    add r5.xyz, r5.xyzx, l(-0.0666666627, -0.0666666627, -0.0666666627, 0.000000)
    mul r5.xyz, r5.xyzx, l(3.37499952, 3.37499952, 3.37499952, 0.000000)
  else
    ieq r5.w, r4.w, l(2)
    if_nz r5.w
      lt r7.xyz, r4.xyzx, l(0.180000, 0.180000, 0.180000, 0.000000)
      min r8.xyz, r4.xyzx, cb0[24].xxxx
      log r8.xyz, r8.xyzx
      mul r9.xyz, r8.xyzx, cb0[23].wwww
      exp r9.xyz, r9.xyzx
      mul r8.xyz, r8.xyzx, cb0[24].zzzz
      exp r8.xyz, r8.xyzx
      mad r8.xyz, r8.xyzx, cb0[25].xxxx, cb0[25].yyyy
      div r8.xyz, r9.xyzx, r8.xyzx
      movc r7.xyz, r7.xyzx, r8.xyzx, r4.xyzx
      movc r5.xyz, r1.xxxx, r7.xyzx, r8.xyzx
    else
      ieq r5.w, r4.w, l(4)
      if_nz r5.w
        mul r7.xyz, r4.xyzx, l(0.600000, 0.600000, 0.600000, 0.000000)
        mad r8.xyz, r4.xyzx, l(9.48000050, 9.48000050, 9.48000050, 0.000000), l(2.120000, 2.120000, 2.120000, 0.000000)
        mul r8.xyz, r7.xyzx, r8.xyzx
        mad r9.xyz, r4.xyzx, l(0.720000, 0.720000, 0.720000, 0.000000), l(5.920000, 5.920000, 5.920000, 0.000000)
        mad r9.xyz, r7.xyzx, r9.xyzx, l(1.900000, 1.900000, 1.900000, 0.000000)
        div r8.xyz, r8.xyzx, r9.xyzx
        mad r9.xyz, r4.xyzx, l(1.506000, 1.506000, 1.506000, 0.000000), l(0.030000, 0.030000, 0.030000, 0.000000)
        mul r9.xyz, r7.xyzx, r9.xyzx
        mad r10.xyz, r4.xyzx, l(1.45800006, 1.45800006, 1.45800006, 0.000000), l(0.590000, 0.590000, 0.590000, 0.000000)
        mad r7.xyz, r7.xyzx, r10.xyzx, l(0.140000, 0.140000, 0.140000, 0.000000)
        div r7.xyz, r9.xyzx, r7.xyzx
        movc r5.xyz, r1.xxxx, r8.xyzx, r7.xyzx
      else
        ieq r5.w, r4.w, l(5)
        if_nz r5.w
          mul r5.w, r1.y, l(5.55555534)
          log r5.w, r5.w
          mad r5.w, r5.w, l(0.500000), l(2.000000)
          min r5.w, r5.w, l(7.000000)
          max r5.w, r5.w, l(0.000000)
          ftoi r6.x, r5.w
          round_z r6.z, r5.w
          add r5.w, r5.w, -r6.z
          add r7.xyz, -icb[r6.x + 0].xyzx, icb[r6.x + 1].xyzx
          mad r5.xyz, r5.wwww, r7.xyzx, icb[r6.x + 0].xyzx
        else
          mov r5.xyz, r4.xyzx
        endif
      endif
    endif
  endif
  ilt r5.w, l(0), r4.w
  ilt r4.w, r4.w, l(5)
  and r4.w, r4.w, r5.w
  max r5.w, r5.z, r5.y
  max r5.w, r5.w, r5.x
  mul r4.xyz, r4.xyzx, r5.wwww
  div r4.xyz, r4.xyzx, r1.yyyy
  add r7.xyz, -r4.xyzx, r5.xyzx
  mad r4.xyz, cb0[24].wwww, r7.xyzx, r4.xyzx
  movc r4.xyz, r4.wwww, r4.xyzx, r5.xyzx
  max r4.xyz, r4.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  if_nz r6.w
    ftou r1.y, v0.y
    ftou r4.w, cb0[2].y
    ushr r4.w, r4.w, l(9)
    udiv null, r1.y, r1.y, r4.w
    mul r5.xyz, r4.xyzx, l(0.025000, 0.025000, 0.025000, 0.000000)
    if_z r1.y
      mul r1.y, r6.y, l(512.000000)
      ftoi r1.y, r1.y
      ieq r6.xyzw, r1.yyyy, l(75, 170, 254, 330)
      or r4.w, r6.y, r6.x
      or r4.w, r6.z, r4.w
      or r4.w, r6.w, r4.w
      and r4.w, r4.w, l(0x3dcccccd)
      ieq r6.xy, r1.yyyy, l(292, 47, 0, 0)
      movc r4.w, r6.x, l(5.000000), r4.w
      lt r5.w, l(0.010591), cb0[24].x
      mad r6.xz, cb0[24].xxxx, l(5.555556, 0.000000, 5.367655, 0.000000), l(0.052272, 0.000000, 0.092809, 0.000000)
      log r6.x, r6.x
      mad r6.x, r6.x, l(0.0744116008), l(0.385537)
      movc r5.w, r5.w, r6.x, r6.z
      mul r5.w, r5.w, l(512.000000)
      ftoi r5.w, r5.w
      ieq r5.w, r1.y, r5.w
      or r5.w, r5.w, r6.y
      movc r6.xyz, r5.wwww, l(1.000000,0.100000,0.100000,0), r4.wwww
      max r4.w, r6.x, r6.z
      max r4.w, r4.w, r6.x
      lt r4.w, r4.w, l(0.100000)
      if_nz r4.w
        mov r7.x, v1.x
        mov r8.xyz, r6.xzzx
        mov r4.w, l(0)
        loop
          ige r5.w, r4.w, l(512)
          breakc_nz r5.w
          itof r5.w, r4.w
          mul r7.y, r5.w, l(0.00195312500)
          sample_l_indexable(texture2d)(float,float,float,float) r7.yzw, r7.xyxx, t3.wxyz, s1, l(0.000000)
          lt r9.xyz, l(0.010591, 0.010591, 0.010591, 0.000000), r7.yzwy
          mad r10.xyzw, r7.yyzz, l(5.555556, 5.367655, 5.555556, 5.367655), l(0.052272, 0.092809, 0.052272, 0.092809)
          log r7.yz, r10.xxzx
          mad r7.yz, r7.yyzy, l(0.000000, 0.0744116008, 0.0744116008, 0.000000), l(0.000000, 0.385537, 0.385537, 0.000000)
          movc r7.yz, r9.xxyx, r7.yyzy, r10.yywy
          mad r9.xy, r7.wwww, l(5.555556, 5.367655, 0.000000, 0.000000), l(0.052272, 0.092809, 0.000000, 0.000000)
          log r5.w, r9.x
          mad r5.w, r5.w, l(0.0744116008), l(0.385537)
          movc r5.w, r9.z, r5.w, r9.y
          mul r7.yz, r7.yyzy, l(0.000000, 512.000000, 512.000000, 0.000000)
          ftoi r7.yz, r7.yyzy
          ieq r7.yz, r1.yyyy, r7.yyzy
          add r9.xyz, r8.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
          movc r8.xy, r7.yzyy, r9.xyxx, r8.xyxx
          mul r5.w, r5.w, l(512.000000)
          ftoi r5.w, r5.w
          ieq r5.w, r1.y, r5.w
          movc r8.z, r5.w, r9.z, r8.z
          iadd r4.w, r4.w, l(1)
        endloop
        mov r6.xyz, r8.xyzx
      endif
      mad r4.xyz, r4.xyzx, l(0.025000, 0.025000, 0.025000, 0.000000), r6.xyzx
    else
      mov r4.xyz, r5.xyzx
    endif
  endif
  mov_sat r5.xyz, r4.xyzx
  movc r2.xyz, r1.xxxx, r4.xyzx, r5.xyzx
  ne r1.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[32].y
  if_nz r1.x
    sample_l_indexable(texture2d)(float,float,float,float) r1.y, v1.xyxx, t2.yxzw, s0, l(0.000000)
    mul_sat r4.x, r1.y, l(0.002500)
    mad r4.y, r4.x, l(0.980000), l(0.020000)
    add r4.z, r1.y, -cb0[33].w
    lt r4.w, r4.y, |r4.z|
    if_nz r4.w
      add r4.w, r1.y, -cb0[32].z
      lt r5.x, r4.y, |r4.w|
      if_nz r5.x
        add r5.x, r1.y, -cb0[32].w
        lt r4.y, r4.y, |r5.x|
        if_nz r4.y
          add r4.y, -r1.y, cb0[32].z
          max r4.y, r5.x, r4.y
          max r4.y, r4.y, l(0.000000)
          div r4.y, r4.y, r1.y
          mul r4.y, r4.y, cb0[33].x
          mul_sat r4.y, r4.y, l(0.0666666701)
          mad r4.x, r4.x, l(1.04000008), l(0.060000)
          ge r4.zw, r4.xxxx, |r4.zzzw|
          or r4.z, r4.w, r4.z
          ge r4.x, r4.x, |r5.x|
          or r4.x, r4.x, r4.z
          lt r4.z, r1.y, cb0[32].z
          lt r1.y, cb0[32].w, r1.y
          lt r4.w, l(0.000000), cb0[32].w
          and r1.y, r1.y, r4.w
          or r1.y, r1.y, r4.z
          add r4.y, r4.y, r4.y
          min r5.y, r4.y, l(1.000000)
          add r5.x, -r5.y, l(1.000000)
          and r4.yz, r1.yyyy, r5.xxyx
          movc r4.xy, r4.xxxx, l(0,0,0,0), r4.yzyy
        else
          mov r4.xy, l(0,1.000000,0,0)
        endif
        mov r4.z, l(0)
      else
        mov r4.xyz, l(0,0,1.000000,0)
      endif
    else
      mov r4.xyz, l(1.000000,1.000000,1.000000,0)
    endif
    add r4.xyzw, -r2.xyzx, r4.xyzx
    mad r4.xyzw, r4.xyzw, l(0.800000, 0.800000, 0.800000, 0.800000), r2.xyzx
    mul r5.xyz, r4.xywx, l(0.250000, 0.500000, -0.250000, 0.000000)
    add r4.xy, r5.yyyy, r5.xzxx
    mad r5.x, r4.z, l(0.250000), r4.x
    dp2 r5.y, r4.wzww, l(0.500000, -0.500000, 0.000000, 0.000000)
    mad r5.z, r4.z, l(-0.250000), r4.y
    mul r4.xyz, r5.xyzx, l(0.142857149, 0.142857149, 0.142857149, 0.000000)
    mov_sat r4.x, r4.x
    sqrt r1.y, r4.x
    sqrt r1.y, r1.y
    mul r1.y, r1.y, l(4095.000000)
    round_ni r1.y, r1.y
    mul r4.xw, r1.yyyy, l(0.000244200259, 0.000000, 0.000000, 0.250000)
    mul r1.y, r4.x, r4.x
    mul r1.y, r1.y, r1.y
    rcp r1.y, r1.y
    mul r1.y, r1.y, l(0.500000)
    mul r4.yz, r1.yyyy, r4.yyzy
    mad_sat r5.yz, r4.yyzy, l(0.000000, 0.499511242, 0.499511242, 0.000000), l(0.000000, 0.499511242, 0.499511242, 0.000000)
    frc r1.y, r4.w
    mul r5.w, r1.y, l(1.33333337)
    mov r5.x, r4.x
  endif
  if_z r1.x
    ne r1.y, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].y
    mul r4.x, r1.z, l(0.142857149)
    min r4.x, r4.x, l(1.000000)
    sqrt r4.x, r4.x
    sqrt r4.x, r4.x
    mul r4.x, r4.x, l(4095.000000)
    round_ni r4.x, r4.x
    mul r4.xy, r4.xxxx, l(0.000244200259, 0.250000, 0.000000, 0.000000)
    frc r4.y, r4.y
    mul r4.z, r4.y, l(1.33333337)
    mov r4.w, l(0.499511242)
    movc r4.xyzw, r1.yyyy, r4.xwwz, r5.xyzw
    if_z r1.y
      ne r6.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[1].y
      if_nz r6.x
        sample_l_indexable(texture2d)(float,float,float,float) r6.yz, v1.xyxx, t5.zxyw, s0, l(0.000000)
        mul r7.zw, |r6.yyyz|, cb0[6].zzzw
        mul r6.yzw, r7.zzwz, l(0.000000, 2.500000, 5.000000, -2.500000)
        add r7.xy, r6.zzzz, r6.ywyy
        mul r6.yzw, r7.xxzy, l(0.000000, 0.142857149, 0.714285731, 0.142857149)
        mov_sat r6.y, r6.y
        sqrt r6.y, r6.y
        sqrt r6.y, r6.y
        mul r6.y, r6.y, l(4095.000000)
        round_ni r6.y, r6.y
        mul r7.xy, r6.yyyy, l(0.000244200259, 0.250000, 0.000000, 0.000000)
        mul r6.y, r7.x, r7.x
        mul r6.y, r6.y, r6.y
        rcp r6.y, r6.y
        mul r6.y, r6.y, l(0.500000)
        mul r6.yz, r6.yyyy, r6.zzwz
        mad_sat r4.yz, r6.yyzy, l(0.000000, 0.499511242, 0.499511242, 0.000000), l(0.000000, 0.499511242, 0.499511242, 0.000000)
        frc r6.y, r7.y
        mul r4.w, r6.y, l(1.33333337)
        mov r4.x, r7.x
      endif
      ine r6.y, l(0), cb0[1].x
      mul r7.xyz, r2.xyxx, l(0.250000, 0.500000, -0.250000, 0.000000)
      add r6.zw, r7.yyyy, r7.xxxz
      mad r7.x, r2.z, l(0.250000), r6.z
      dp2 r7.y, r2.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
      mad r7.z, r2.z, l(-0.250000), r6.w
      mul r7.xyz, r7.xyzx, l(0.142857149, 0.142857149, 0.142857149, 0.000000)
      mov_sat r7.x, r7.x
      sqrt r6.z, r7.x
      sqrt r6.z, r6.z
      mul r6.z, r6.z, l(4095.000000)
      round_ni r6.z, r6.z
      mul r6.zw, r6.zzzz, l(0.000000, 0.000000, 0.000244200259, 0.250000)
      mul r7.x, r6.z, r6.z
      mul r7.x, r7.x, r7.x
      rcp r7.x, r7.x
      mul r7.x, r7.x, l(0.500000)
      mul r7.xy, r7.xxxx, r7.yzyy
      mad_sat r7.yz, r7.xxyx, l(0.000000, 0.499511242, 0.499511242, 0.000000), l(0.000000, 0.499511242, 0.499511242, 0.000000)
      frc r6.w, r6.w
      mul r7.w, r6.w, l(1.33333337)
      mov r7.x, r6.z
      movc r7.xyzw, cb0[1].xxxx, r7.xyzw, r4.xyzw
      movc o0.xyzw, r6.xxxx, r4.xyzw, r7.xyzw
      or r6.x, r6.x, r6.y
    else
      mov o0.xyzw, r4.xyzw
      mov r6.x, l(-1)
    endif
    or r1.y, r1.y, r6.x
  else
    mov o0.xyzw, r5.xyzw
    mov r1.y, l(-1)
  endif
  or r2.w, r1.x, r1.y
endif
if_z r2.w
  min r2.xyzw, r2.xyzx, l(7.000000, 7.000000, 7.000000, 7.000000)
  mul r3.xyz, r2.xywx, l(0.250000, 0.500000, -0.250000, 0.000000)
  add r1.xy, r3.yyyy, r3.xzxx
  mad r3.x, r2.z, l(0.250000), r1.x
  dp2 r3.y, r2.wzww, l(0.500000, -0.500000, 0.000000, 0.000000)
  mad r3.z, r2.z, l(-0.250000), r1.y
  mad_sat r1.x, r1.z, l(4.000000), l(-1.000000)
  mul r1.x, r1.x, -cb0[29].w
  lt r1.y, l(-0.100000), r1.x
  mul r1.w, r1.w, cb0[30].x
  movc r1.x, r1.y, r1.w, r1.x
  add r1.x, r1.x, cb0[29].w
  mul r1.x, r1.x, cb0[30].z
  ld_indexable(texture2d)(float,float,float,float) r0.z, r0.xyzw, t21.xywz
  mad r0.z, r0.z, l(255.000000), l(0.500000)
  ftou r0.z, r0.z
  mul r0.w, r1.x, l(255.000000)
  ftoi r0.w, r0.w
  and r0.zw, r0.zzzw, l(0, 0, 1, 252)
  movc r0.z, r0.z, l(1), l(0)
  iadd r0.z, r0.w, r0.z
  lt r0.w, l(0.100000), r1.z
  and r0.w, r0.w, l(2)
  iadd r0.z, r0.w, r0.z
  itof r0.z, r0.z
  mul r0.z, r0.z, l(0.00392156886)
  mov r50.xy, r0.xyyy
  store_uav_typed u9.xyzw, r50.xyzz, r0.zzzz
  mul r0.xyz, r3.xyzx, l(0.142857149, 0.142857149, 0.142857149, 0.000000)
  max r0.x, r0.x, l(0.000000)
  sqrt r0.x, r0.x
  sqrt r0.x, r0.x
  mul r0.x, r0.x, l(4095.000000)
  round_ni r0.x, r0.x
  mul r0.xw, r0.xxxx, l(0.000244200259, 0.000000, 0.000000, 0.250000)
  mul r1.x, r0.x, r0.x
  mul r1.x, r1.x, r1.x
  rcp r1.x, r1.x
  mul r1.x, r1.x, l(0.500000)
  mul r0.yz, r0.yyzy, r1.xxxx
  mad_sat o0.yz, r0.yyzy, l(0.000000, 0.499511242, 0.499511242, 0.000000), l(0.000000, 0.499511242, 0.499511242, 0.000000)
  frc r0.y, r0.w
  mul o0.w, r0.y, l(1.33333337)
  mov o0.x, r0.x
endif
ret
// Approximately 0 instruction slots used
