// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.63 on Sun Oct  9 13:48:42 2022
//
//
// 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_resource_buffer (float,float,float,float) t125
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[31], 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) 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_texture1d (float,float,float,float) t120
mov r50.z, l(0)
ld_indexable(texture1d)(float,float,float,float) r30.xyzw, l(10, 0, 0, 0), t120.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
sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, v1.xyxx, t6.xyzw, s1, l(0.000000)
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.w, r0.zwzz, t6.xyzw, s1, l(0.000000)
lt r2.x, r1.w, l(1.000000)
if_nz r2.x
  sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, r0.zwzz, t14.xywz, s1, l(0.000000)
  mul r3.xy, r2.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
  dp2 r2.x, r2.xyxx, r2.xyxx
  ne r2.x, r2.x, l(0.000000)
  if_nz r2.x
    gather4_indexable(texture2d)(float,float,float,float) r4.xyzw, v1.xyxx, t14.xyzw, s0.z
    min r2.x, r4.z, r4.y
    min r2.x, r2.x, r4.x
    min r2.x, r4.w, r2.x
    max r2.x, -r2.x, l(1.000000)
    div r2.x, r2.z, r2.x
    and r4.xy, r0.xyxx, l(63, 63, 0, 0)
    and r4.z, l(7), cb0[14].w
    mov r4.w, l(0)
    ld_indexable(texture2darray)(float,float,float,float) r2.y, r4.xyzw, t17.yxzw
    mul r2.z, r2.y, l(0.250000)
    mad r3.zw, r3.xxxy, r2.zzzz, v1.xxxy
    sample_c_lz_indexable(texture2d)(float,float,float,float) r2.w, r3.zwzz, t2.xxxx, s3, r2.x
    mad r4.xyz, r2.yyyy, l(0.250000, 0.250000, 0.250000, 0.000000), l(0.250000, 0.500000, 0.750000, 0.000000)
    mad r5.xyzw, r3.xyxy, r4.xxyy, v1.xyxy
    sample_c_lz_indexable(texture2d)(float,float,float,float) r2.y, r5.xyxx, t2.xxxx, s3, r2.x
    sample_c_lz_indexable(texture2d)(float,float,float,float) r3.z, r5.zwzz, t2.xxxx, s3, r2.x
    mad r5.xy, r3.xyxx, r4.zzzz, v1.xyxx
    sample_c_lz_indexable(texture2d)(float,float,float,float) r2.x, r5.xyxx, t2.xxxx, s3, r2.x
    ge r2.xyw, l(0.000000, 0.000000, 0.000000, 0.000000), r2.xyxw
    and r2.z, r2.z, r2.w
    movc r2.y, r2.y, r4.x, r2.z
    ge r2.z, l(0.000000), r3.z
    movc r2.y, r2.z, r4.y, r2.y
    movc r2.x, r2.x, r4.z, r2.y
  else
    mov r2.x, l(0)
  endif
  mad r2.xy, r3.xyxx, r2.xxxx, 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, r0.zwzz, t13.xyzw, s1, l(0.000000)
  max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r0.z, r3.w, r4.w
  mad r3.xyz, r3.xyzx, r4.wwww, r4.xyzx
  add r0.w, -r2.y, r3.y
  mul_sat r0.w, r0.w, cb0[29].z
  min r0.z, r0.z, l(1.000000)
  mad r2.xyz, r2.xyzx, r0.zzzz, r3.xyzx
  mov_sat r1.w, r1.w
  max r0.z, r2.z, r2.y
  max r0.z, r0.z, r2.x
  add r0.z, r0.z, l(1.000000)
  rcp r0.z, r0.z
  mul r3.xyz, r0.zzzz, r2.xyzx
  mad r2.xyz, -r2.xyzx, r0.zzzz, r1.xyzx
  mad r1.xyz, r1.wwww, r2.xyzx, r3.xyzx
else
  mov r0.w, l(0)
endif
max r0.z, r1.z, r1.y
max r0.z, r0.z, r1.x
add r0.z, -r0.z, l(1.000000)
rcp r0.z, r0.z
mul r1.xyz, r0.zzzz, r1.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 r2.xyz, r0.zzzz, r1.xyzx
else
  mul r2.xyz, r1.xyzx, cb0[22].xxxx
endif
sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, v1.xyxx, t4.xyzw, s1, l(0.000000)
mad r1.xyz, cb0[1].zzzz, r1.xyzx, r2.xyzx
add r2.xy, v0.xyxx, -cb0[14].yzyy
dp2 r0.z, r2.xyxx, r2.xyxx
mul r0.z, r0.z, cb0[14].x
mul r0.z, r0.z, r0.z
mul r0.z, r0.z, cb0[13].z
ieq r31.x, r30.z, l(0x3f800000)
if_nz r31.x
  mov r0.z, l(0)
endif
exp r0.z, -r0.z
mul r1.xyz, r0.zzzz, r1.xyzx
mul r2.xyz, r1.yyyy, cb0[20].xyzx
mad r2.xyz, r1.xxxx, cb0[19].xyzx, r2.xyzx
mad r1.xyz, r1.zzzz, cb0[21].xyzx, r2.xyzx
max r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
add r2.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.xy, -v1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
if_nz r31.x
  mov r3.xy, l(1.000000)
endif
mul r0.z, r0.z, r3.x
mul r0.z, r3.y, r0.z
log r0.z, |r0.z|
mul r0.z, r0.z, cb0[13].x
exp r0.z, r0.z
if_nz r31.x
  mad_sat r0.z, r2.x, l(1.000000), cb0[12].w
else
  mad_sat r0.z, r2.x, r0.z, cb0[12].w
endif
mad r2.xyz, r0.zzzz, r2.yzwy, cb0[12].xyzx
mul r1.xyz, r1.xyzx, r2.xyzx
ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].w
movc r1.xyz, r0.zzzz, l(0,0,0,0), r1.xyzx
lt r2.xyz, l(0.010591, 0.010591, 0.010591, 0.000000), r1.xyzx
mad r3.xyzw, r1.xxyy, l(5.555556, 5.367655, 5.555556, 5.367655), l(0.052272, 0.092809, 0.052272, 0.092809)
log r1.xy, r3.xzxx
mad r1.xy, r1.xyxx, l(0.0744116008, 0.0744116008, 0.000000, 0.000000), l(0.385537, 0.385537, 0.000000, 0.000000)
movc r3.xy, r2.xyxx, r1.xyxx, r3.ywyy
mad r1.xy, r1.zzzz, l(5.555556, 5.367655, 0.000000, 0.000000), l(0.052272, 0.092809, 0.000000, 0.000000)
log r0.z, r1.x
mad r0.z, r0.z, l(0.0744116008), l(0.385537)
movc r3.z, r2.z, r0.z, r1.y
mad r1.xyz, r3.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) r1.xyz, r1.xyzx, t0.xyzw, s1, l(0.000000)
lt r2.xyz, l(0.149658203, 0.149658203, 0.149658203, 0.000000), r1.xyzx
add r3.xyzw, r1.xxyy, l(-0.385537, -0.092809, -0.385537, -0.092809)
mul r3.xyzw, r3.xyzw, l(13.43878651, 0.186301097, 13.43878651, 0.186301097)
exp r1.xy, r3.xzxx
add r1.xy, r1.xyxx, l(-0.052272, -0.052272, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, l(0.179999992, 0.179999992, 0.000000, 0.000000)
movc r3.xy, r2.xyxx, r1.xyxx, r3.ywyy
add r1.xy, r1.zzzz, l(-0.385537, -0.092809, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, l(13.43878651, 0.186301097, 0.000000, 0.000000)
exp r0.z, r1.x
add r0.z, r0.z, l(-0.052272)
mul r0.z, r0.z, l(0.179999992)
movc r3.z, r2.z, r0.z, r1.y
max r1.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
max r0.z, r1.z, r1.y
max r0.z, r0.z, r1.x
min r2.xyz, r1.xyzx, cb0[24].xxxx
log r2.xyz, r2.xyzx
mul r3.xyz, r2.xyzx, cb0[23].wwww
exp r3.xyz, r3.xyzx
mul r2.xyz, r2.xyzx, cb0[24].zzzz
exp r2.xyz, r2.xyzx
mad r2.xyz, r2.xyzx, cb0[25].xxxx, cb0[25].yyyy
div r2.xyz, r3.xyzx, r2.xyzx
max r2.w, r2.z, r2.y
max r2.w, r2.w, r2.x
mul r1.xyz, r1.xyzx, r2.wwww
div r1.xyz, r1.xyzx, r0.zzzz
add r2.xyz, -r1.xyzx, r2.xyzx
mad_sat o0.xyz, cb0[24].wwww, r2.xyzx, r1.xyzx
mad_sat r0.z, r1.w, l(4.000000), l(-1.000000)
mul r0.z, r0.z, -cb0[29].w
lt r1.x, l(-0.100000), r0.z
mul r0.w, r0.w, cb0[30].x
movc r0.z, r1.x, r0.w, 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.w, l(1.000000)
ret
// Approximately 0 instruction slots used
