// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.108 on Sun Jan 29 12:40:43 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_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) r0.zw, r0.xyzw, t18.zwxy
mul r0.zw, r0.zzzw, cb0[2].zzzw
mad r0.zw, r0.zzzw, l(0.000000, 0.000000, 8.000000, 8.000000), v1.xxxy
sample_l_indexable(texture2d)(float,float,float,float) r1.x, r0.zwzz, t6.wxyz, s1, l(0.000000)
if_nz cb0[17].z
  sample_l_indexable(texture2d)(float,float,float,float) r1.yz, v1.xyxx, t14.zxyw, s1, l(0.000000)
  mad r1.yz, r1.yyzy, l(0.000000, 1.000000, -1.000000, 0.000000), v1.xxyx
  sample_l_indexable(texture2d)(float,float,float,float) r1.yzw, r1.yzyy, t3.wxyz, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r2.xyzw, v1.xyxx, t12.xyzw, s1, l(0.000000)
  max r2.xyzw, r2.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r3.xyzw, r0.zwzz, t13.xyzw, s1, l(0.000000)
  max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r2.w, r2.w, r3.w
  mad r2.xyz, r2.xyzx, r3.wwww, r3.xyzx
  mad r1.yzw, r1.yyzw, r2.wwww, r2.xxyz
  mul r2.xyz, r1.yzwy, cb0[22].xxxx
  movc r1.yzw, cb0[17].wwww, r2.xxyz, r1.yyzw
  mul r2.xyz, r1.zzzz, cb0[20].xyzx
  mad r2.xyz, r1.yyyy, cb0[19].xyzx, r2.xyzx
  mad r2.xyz, r1.wwww, cb0[21].xyzx, r2.xyzx
  max r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  movc r1.yzw, cb0[18].xxxx, r2.xxyz, r1.yyzw
  if_nz cb0[18].y
    mad r2.xyz, r1.yzwy, l(0.707762539, 0.707762539, 0.707762539, 0.000000), l(0.037584, 0.037584, 0.037584, 0.000000)
    log r2.xyz, r2.xyzx
    mad r2.xyz, r2.xyzx, l(0.130255371, 0.130255371, 0.130255371, 0.000000), l(0.646595955, 0.646595955, 0.646595955, 0.000000)
    mad r1.yzw, r2.xxyz, l(0.000000, 0.855481803, 0.855481803, 0.855481803), l(0.000000, 0.0625009537, 0.0625009537, 0.0625009537)
  endif
  mov r3.xy, l(0,0,0,0)
else
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, v1.xyxx, t6.xyzw, s1, l(0.000000)
  lt r3.z, r1.x, l(1.000000)
  if_nz r3.z
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyz, r0.zwzz, t14.xywz, s1, l(0.000000)
    mul r3.zw, r5.xxxy, l(0.000000, 0.000000, 1.000000, -1.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) r6.xyzw, v1.xyxx, t14.xyzw, s0.z
      min r4.w, r6.z, r6.y
      min r4.w, r4.w, r6.x
      min r4.w, r6.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, r3.zzzw, r5.yyyy, v1.xxxy
      sample_c_lz_indexable(texture2d)(float,float,float,float) r5.z, r5.zwzz, t2.xxxx, s3, r4.w
      mad r6.xyz, r5.xxxx, l(0.250000, 0.250000, 0.250000, 0.000000), l(0.250000, 0.500000, 0.750000, 0.000000)
      mad r7.xyzw, r3.zwzw, r6.xxyy, v1.xyxy
      sample_c_lz_indexable(texture2d)(float,float,float,float) r5.x, r7.xyxx, t2.xxxx, s3, r4.w
      sample_c_lz_indexable(texture2d)(float,float,float,float) r5.w, r7.zwzz, t2.xxxx, s3, r4.w
      mad r7.xy, r3.zwzz, r6.zzzz, v1.xyxx
      sample_c_lz_indexable(texture2d)(float,float,float,float) r4.w, r7.xyxx, 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, r6.x, r5.y
      ge r5.y, l(0.000000), r5.w
      movc r5.x, r5.y, r6.y, r5.x
      ge r4.w, l(0.000000), r4.w
      movc r4.w, r4.w, r6.z, r5.x
    else
      mov r4.w, l(0)
    endif
    mad r3.zw, r3.zzzw, r4.wwww, v1.xxxy
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyz, r3.zwzz, 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, r0.zwzz, t13.xyzw, s1, l(0.000000)
    max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    mul r0.z, r6.w, r7.w
    mad r6.xyz, r6.xyzx, r7.wwww, r7.xyzx
    add r0.w, -r5.y, r6.y
    mul_sat r3.x, r0.w, cb0[29].z
    min r0.z, r0.z, l(1.000000)
    mad r5.xyz, r5.xyzx, r0.zzzz, r6.xyzx
    mov_sat r1.x, r1.x
    max r0.z, r5.z, r5.y
    max r0.z, r0.z, r5.x
    add r0.z, r0.z, l(1.000000)
    rcp r0.z, r0.z
    mul r6.xyz, r0.zzzz, r5.xyzx
    mad r5.xyz, -r5.xyzx, r0.zzzz, r4.xyzx
    mad r5.xyz, r1.xxxx, r5.xyzx, r6.xyzx
  else
    mov r5.xyz, r4.xyzx
    mov r3.x, l(0)
  endif
  max r0.z, r5.z, r5.y
  max r0.z, r0.z, r5.x
  add r0.z, -r0.z, l(1.000000)
  rcp r0.z, r0.z
  mul r5.xyz, r0.zzzz, r5.xyzx
  ne r0.zw, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].zzzw
  max r3.z, r4.z, r4.y
  max r3.z, r3.z, r4.x
  add r3.z, -r3.z, l(1.000000)
  rcp r3.z, r3.z
  mul r4.xyz, r3.zzzz, r4.xyzx
  movc r4.xyz, r0.zzzz, r4.xyzx, r5.xyzx
  ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[21].w
  if_nz r0.z
    sample_l_indexable(texture2d)(float,float,float,float) r0.z, v1.xyxx, t1.yzxw, s1, l(0.000000)
    exp r0.z, r0.z
    mul r5.xyz, r0.zzzz, r4.xyzx
  else
    mul r5.xyz, r4.xyzx, cb0[22].xxxx
  endif
  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 r3.zw, v0.xxxy, -cb0[14].yyyz
  dp2 r0.z, r3.zwzz, r3.zwzz
  mul r0.z, r0.z, cb0[14].x
  mul r0.z, r0.z, r0.z
  mul r0.z, r0.z, cb0[13].z
  exp r0.z, -r0.z
  mul r4.xyz, r0.zzzz, 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 r0.z, v1.x, cb0[13].y
  mul r0.z, r0.z, v1.y
  add r3.zw, -v1.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
  mul r0.z, r0.z, r3.z
  mul r0.z, r3.w, r0.z
  log r0.z, |r0.z|
  mul r0.z, r0.z, cb0[13].x
  exp r0.z, r0.z
  mad_sat r0.z, r5.x, r0.z, cb0[12].w
  mad r5.xyz, r0.zzzz, r5.yzwy, cb0[12].xyzx
  mul r4.xyz, r4.xyzx, r5.xyzx
  movc r4.xyz, r0.wwww, 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 r6.xyzw, r4.xxyy, l(5.555556, 5.367655, 5.555556, 5.367655), l(0.052272, 0.092809, 0.052272, 0.092809)
    log r0.zw, r6.xxxz
    mad r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.0744116008, 0.0744116008), l(0.000000, 0.000000, 0.385537, 0.385537)
    movc r6.xy, r5.xyxx, r0.zwzz, r6.ywyy
    mad r0.zw, r4.zzzz, l(0.000000, 0.000000, 5.555556, 5.367655), l(0.000000, 0.000000, 0.052272, 0.092809)
    log r0.z, r0.z
    mad r0.z, r0.z, l(0.0744116008), l(0.385537)
    movc r6.z, r5.z, r0.z, r0.w
    mad r5.xyz, r6.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 r6.xyz, l(0.149658203, 0.149658203, 0.149658203, 0.000000), r5.xyzx
    add r7.xyzw, r5.xxyy, l(-0.385537, -0.092809, -0.385537, -0.092809)
    mul r7.xyzw, r7.xyzw, l(13.43878651, 0.186301097, 13.43878651, 0.186301097)
    exp r0.zw, r7.xxxz
    add r0.zw, r0.zzzw, l(0.000000, 0.000000, -0.052272, -0.052272)
    mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.179999992, 0.179999992)
    movc r7.xy, r6.xyxx, r0.zwzz, r7.ywyy
    add r0.zw, r5.zzzz, l(0.000000, 0.000000, -0.385537, -0.092809)
    mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 13.43878651, 0.186301097)
    exp r0.z, r0.z
    add r0.z, r0.z, l(-0.052272)
    mul r0.z, r0.z, l(0.179999992)
    movc r7.z, r6.z, r0.z, r0.w
    max r4.xyz, r7.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  endif
  max r0.z, r4.z, r4.y
  max r0.z, r0.z, r4.x
  ieq r0.w, l(3), cb0[23].z
  movc r0.w, r0.w, l(2), cb0[23].z
  ieq r3.z, r0.w, l(1)
  if_nz r3.z
    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 r6.xyz, r4.xyzx, l(0.150000, 0.150000, 0.150000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
    mad r6.xyz, r4.xyzx, r6.xyzx, l(0.0600000024, 0.0600000024, 0.0600000024, 0.000000)
    div r5.xyz, r5.xyzx, r6.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 r3.z, r0.w, l(2)
    if_nz r3.z
      min r6.xyz, r4.xyzx, cb0[24].xxxx
      log r6.xyz, r6.xyzx
      mul r7.xyz, r6.xyzx, cb0[23].wwww
      exp r7.xyz, r7.xyzx
      mul r6.xyz, r6.xyzx, cb0[24].zzzz
      exp r6.xyz, r6.xyzx
      mad r6.xyz, r6.xyzx, cb0[25].xxxx, cb0[25].yyyy
      div r5.xyz, r7.xyzx, r6.xyzx
    else
      ieq r3.z, r0.w, l(4)
      if_nz r3.z
        mul r6.xyz, r4.xyzx, l(0.600000, 0.600000, 0.600000, 0.000000)
        mad r7.xyz, r4.xyzx, l(1.506000, 1.506000, 1.506000, 0.000000), l(0.030000, 0.030000, 0.030000, 0.000000)
        mul r7.xyz, r6.xyzx, r7.xyzx
        mad r8.xyz, r4.xyzx, l(1.45800006, 1.45800006, 1.45800006, 0.000000), l(0.590000, 0.590000, 0.590000, 0.000000)
        mad r6.xyz, r6.xyzx, r8.xyzx, l(0.140000, 0.140000, 0.140000, 0.000000)
        div r5.xyz, r7.xyzx, r6.xyzx
      else
        ieq r3.z, r0.w, l(5)
        if_nz r3.z
          mul r3.z, r0.z, l(5.55555534)
          log r3.z, r3.z
          mad r3.z, r3.z, l(0.500000), l(2.000000)
          min r3.z, r3.z, l(7.000000)
          max r3.z, r3.z, l(0.000000)
          ftoi r4.w, r3.z
          round_z r5.w, r3.z
          add r3.z, r3.z, -r5.w
          add r6.xyz, -icb[r4.w + 0].xyzx, icb[r4.w + 1].xyzx
          mad r5.xyz, r3.zzzz, r6.xyzx, icb[r4.w + 0].xyzx
        else
          mov r5.xyz, r4.xyzx
        endif
      endif
    endif
  endif
  ilt r3.z, l(0), r0.w
  ilt r0.w, r0.w, l(5)
  and r0.w, r0.w, r3.z
  max r3.z, r5.z, r5.y
  max r3.z, r3.z, r5.x
  mul r4.xyz, r3.zzzz, r4.xyzx
  div r4.xyz, r4.xyzx, r0.zzzz
  add r6.xyz, -r4.xyzx, r5.xyzx
  mad r4.xyz, cb0[24].wwww, r6.xyzx, r4.xyzx
  movc r4.xyz, r0.wwww, r4.xyzx, r5.xyzx
  max r1.yzw, r4.xxyz, l(0.000000, 0.000000, 0.000000, 0.000000)
  ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[26].w
  if_nz r0.z
    ftou r0.z, v0.y
    ftou r0.w, cb0[2].y
    ushr r0.w, r0.w, l(9)
    udiv null, r0.z, r0.z, r0.w
    mul r4.xyz, r1.yzwy, l(0.025000, 0.025000, 0.025000, 0.000000)
    if_z r0.z
      mul r0.z, r3.w, l(512.000000)
      ftoi r0.z, r0.z
      ieq r5.xyzw, r0.zzzz, l(75, 170, 254, 330)
      or r0.w, r5.y, r5.x
      or r0.w, r5.z, r0.w
      or r0.w, r5.w, r0.w
      and r0.w, r0.w, l(0x3dcccccd)
      ieq r3.zw, r0.zzzz, l(0, 0, 292, 47)
      movc r0.w, r3.z, l(5.000000), r0.w
      lt r3.z, l(0.010591), cb0[24].x
      mad r5.xy, cb0[24].xxxx, l(5.555556, 5.367655, 0.000000, 0.000000), l(0.052272, 0.092809, 0.000000, 0.000000)
      log r4.w, r5.x
      mad r4.w, r4.w, l(0.0744116008), l(0.385537)
      movc r3.z, r3.z, r4.w, r5.y
      mul r3.z, r3.z, l(512.000000)
      ftoi r3.z, r3.z
      ieq r3.z, r0.z, r3.z
      or r3.z, r3.z, r3.w
      movc r5.xyz, r3.zzzz, l(1.000000,0.100000,0.100000,0), r0.wwww
      max r0.w, r5.x, r5.z
      max r0.w, r0.w, r5.x
      lt r0.w, r0.w, l(0.100000)
      if_nz r0.w
        mov r6.x, v1.x
        mov r7.xyz, r5.xzzx
        mov r0.w, l(0)
        loop
          ige r3.z, r0.w, l(512)
          breakc_nz r3.z
          itof r3.z, r0.w
          mul r6.y, r3.z, l(0.00195312500)
          sample_l_indexable(texture2d)(float,float,float,float) r6.yzw, r6.xyxx, t3.wxyz, s1, l(0.000000)
          lt r8.xyz, l(0.010591, 0.010591, 0.010591, 0.000000), r6.yzwy
          mad r9.xyzw, r6.yyzz, l(5.555556, 5.367655, 5.555556, 5.367655), l(0.052272, 0.092809, 0.052272, 0.092809)
          log r3.zw, r9.xxxz
          mad r3.zw, r3.zzzw, l(0.000000, 0.000000, 0.0744116008, 0.0744116008), l(0.000000, 0.000000, 0.385537, 0.385537)
          movc r3.zw, r8.xxxy, r3.zzzw, r9.yyyw
          mad r6.yz, r6.wwww, l(0.000000, 5.555556, 5.367655, 0.000000), l(0.000000, 0.052272, 0.092809, 0.000000)
          log r4.w, r6.y
          mad r4.w, r4.w, l(0.0744116008), l(0.385537)
          movc r4.w, r8.z, r4.w, r6.z
          mul r3.zw, r3.zzzw, l(0.000000, 0.000000, 512.000000, 512.000000)
          ftoi r3.zw, r3.zzzw
          ieq r3.zw, r0.zzzz, r3.zzzw
          add r6.yzw, r7.xxyz, l(0.000000, 0.250000, 0.250000, 0.250000)
          movc r7.xy, r3.zwzz, r6.yzyy, r7.xyxx
          mul r3.z, r4.w, l(512.000000)
          ftoi r3.z, r3.z
          ieq r3.z, r0.z, r3.z
          movc r7.z, r3.z, r6.w, r7.z
          iadd r0.w, r0.w, l(1)
        endloop
        mov r5.xyz, r7.xyzx
      endif
      mad r1.yzw, r1.yyzw, l(0.000000, 0.025000, 0.025000, 0.025000), r5.xxyz
    else
      mov r1.yzw, r4.xxyz
    endif
  endif
  mov_sat r1.yzw, r1.yyzw
  ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[32].y
  if_nz r0.z
    sample_l_indexable(texture2d)(float,float,float,float) r0.w, v1.xyxx, t2.yzwx, s0, l(0.000000)
    mul_sat r3.z, r0.w, l(0.002500)
    mad r3.w, r3.z, l(0.980000), l(0.020000)
    add r4.x, r0.w, -cb0[33].w
    lt r4.y, r3.w, |r4.x|
    if_nz r4.y
      add r4.y, r0.w, -cb0[32].z
      lt r4.z, r3.w, |r4.y|
      if_nz r4.z
        add r4.z, r0.w, -cb0[32].w
        lt r3.w, r3.w, |r4.z|
        if_nz r3.w
          add r3.w, -r0.w, cb0[32].z
          max r3.w, r4.z, r3.w
          max r3.w, r3.w, l(0.000000)
          div r3.w, r3.w, r0.w
          mul r3.w, r3.w, cb0[33].x
          mul_sat r3.w, r3.w, l(0.0666666701)
          mad r3.z, r3.z, l(1.04000008), l(0.060000)
          ge r4.xy, r3.zzzz, |r4.xyxx|
          or r4.x, r4.y, r4.x
          ge r3.z, r3.z, |r4.z|
          or r3.z, r3.z, r4.x
          lt r4.x, r0.w, cb0[32].z
          lt r0.w, cb0[32].w, r0.w
          lt r4.y, l(0.000000), cb0[32].w
          and r0.w, r0.w, r4.y
          or r0.w, r0.w, r4.x
          add r3.w, r3.w, r3.w
          min r4.y, r3.w, l(1.000000)
          add r4.x, -r4.y, l(1.000000)
          and r4.xy, r0.wwww, r4.xyxx
          movc r4.xy, r3.zzzz, l(0,0,0,0), r4.xyxx
        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, -r1.yzwy, r4.xyzx
    mad r4.xyzw, r4.xyzw, l(0.800000, 0.800000, 0.800000, 0.800000), r1.yzwy
    mul r5.xyz, r4.xywx, l(0.250000, 0.500000, -0.250000, 0.000000)
    add r3.zw, r5.yyyy, r5.xxxz
    mad r5.x, r4.z, l(0.250000), r3.z
    dp2 r5.y, r4.wzww, l(0.500000, -0.500000, 0.000000, 0.000000)
    mad r5.z, r4.z, l(-0.250000), r3.w
    mul r4.xyz, r5.xyzx, l(0.142857149, 0.142857149, 0.142857149, 0.000000)
    max r0.w, r4.x, l(0.000000)
    sqrt r0.w, r0.w
    sqrt r0.w, r0.w
    mul r0.w, r0.w, l(4095.000000)
    round_ni r0.w, r0.w
    mul r3.zw, r0.wwww, l(0.000000, 0.000000, 0.000244200259, 0.250000)
    mul r0.w, r3.z, r3.z
    mul r0.w, r0.w, r0.w
    rcp r0.w, r0.w
    mul r0.w, r0.w, l(0.500000)
    mul r4.xy, r0.wwww, r4.yzyy
    mad_sat r4.yz, r4.xxyx, l(0.000000, 0.499511242, 0.499511242, 0.000000), l(0.000000, 0.499511242, 0.499511242, 0.000000)
    frc r0.w, r3.w
    mul r4.w, r0.w, l(1.33333337)
    mov r4.x, r3.z
  endif
  if_z r0.z
    ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].y
    mul r3.z, r1.x, l(0.142857149)
    min r3.z, r3.z, l(1.000000)
    sqrt r3.z, r3.z
    sqrt r3.z, r3.z
    mul r3.z, r3.z, l(4095.000000)
    round_ni r3.z, r3.z
    mul r5.xy, r3.zzzz, l(0.000244200259, 0.250000, 0.000000, 0.000000)
    frc r3.z, r5.y
    mul r5.z, r3.z, l(1.33333337)
    mov r5.w, l(0.499511242)
    movc r5.xyzw, r0.wwww, r5.xwwz, r4.xyzw
    if_z r0.w
      ne r3.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[1].y
      if_nz r3.z
        sample_l_indexable(texture2d)(float,float,float,float) r6.xy, v1.xyxx, t5.xyzw, s0, l(0.000000)
        mul r6.zw, |r6.xxxy|, cb0[6].zzzw
        mul r7.xyz, r6.zwzz, l(2.500000, 5.000000, -2.500000, 0.000000)
        add r6.xy, r7.yyyy, r7.xzxx
        mul r6.xyz, r6.xzyx, l(0.142857149, 0.714285731, 0.142857149, 0.000000)
        mov_sat r6.x, r6.x
        sqrt r3.w, r6.x
        sqrt r3.w, r3.w
        mul r3.w, r3.w, l(4095.000000)
        round_ni r3.w, r3.w
        mul r6.xw, r3.wwww, l(0.000244200259, 0.000000, 0.000000, 0.250000)
        mul r3.w, r6.x, r6.x
        mul r3.w, r3.w, r3.w
        rcp r3.w, r3.w
        mul r3.w, r3.w, l(0.500000)
        mul r6.yz, r3.wwww, r6.yyzy
        mad_sat r5.yz, r6.yyzy, l(0.000000, 0.499511242, 0.499511242, 0.000000), l(0.000000, 0.499511242, 0.499511242, 0.000000)
        frc r3.w, r6.w
        mul r5.w, r3.w, l(1.33333337)
        mov r5.x, r6.x
      endif
      ine r3.w, l(0), cb0[1].x
      mul r6.xyz, r1.yzyy, l(0.250000, 0.500000, -0.250000, 0.000000)
      add r6.xy, r6.yyyy, r6.xzxx
      mad r7.x, r1.w, l(0.250000), r6.x
      dp2 r7.y, r1.ywyy, l(0.500000, -0.500000, 0.000000, 0.000000)
      mad r7.z, r1.w, l(-0.250000), r6.y
      mul r6.xyz, r7.xyzx, l(0.142857149, 0.142857149, 0.142857149, 0.000000)
      sqrt r6.x, r6.x
      sqrt r6.x, r6.x
      mul r6.x, r6.x, l(4095.000000)
      round_ni r6.x, r6.x
      mul r6.xw, r6.xxxx, l(0.000244200259, 0.000000, 0.000000, 0.250000)
      mul r7.x, r6.x, r6.x
      mul r7.x, r7.x, r7.x
      rcp r7.x, r7.x
      mul r7.x, r7.x, l(0.500000)
      mul r6.yz, r6.yyzy, r7.xxxx
      mad_sat r7.yz, r6.yyzy, l(0.000000, 0.499511242, 0.499511242, 0.000000), l(0.000000, 0.499511242, 0.499511242, 0.000000)
      frc r6.y, r6.w
      mul r7.w, r6.y, l(1.33333337)
      mov r7.x, r6.x
      movc r6.xyzw, cb0[1].xxxx, r7.xyzw, r5.xyzw
      movc o0.xyzw, r3.zzzz, r5.xyzw, r6.xyzw
      or r3.z, r3.z, r3.w
    else
      mov o0.xyzw, r5.xyzw
      mov r3.z, l(-1)
    endif
    or r0.w, r0.w, r3.z
  else
    mov o0.xyzw, r4.xyzw
    mov r0.w, l(-1)
  endif
  or r3.y, r0.z, r0.w
endif
if_z r3.y
  mad_sat r0.z, r1.x, l(4.000000), l(-1.000000)
  mul r0.z, r0.z, -cb0[29].w
  lt r0.w, l(-0.100000), r0.z
  mul r1.x, r3.x, cb0[30].x
  movc r0.z, r0.w, r1.x, r0.z
  add r0.z, r0.z, cb0[29].w
  mul r0.z, r0.z, cb0[30].z
  mov r50.xy, r0.xyyy
  store_uav_typed u9.xyzw, r50.xyzz, r0.zzzz
  mov o0.xyz, r1.yzwy
  mov o0.w, l(1.000000)
endif
ret
// Approximately 0 instruction slots used
