// 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_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_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) r1.xy, r0.xyww, t18.xyzw
mul r1.xy, r1.xyxx, cb0[2].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, v1.xyxx, t6.xyzw, s1, l(0.000000)
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)
lt r1.w, r1.z, l(1.000000)
if_nz r1.w
  sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, r1.xyxx, t14.xywz, s1, l(0.000000)
  mul r4.xy, r3.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
  dp2 r1.w, r3.xyxx, r3.xyxx
  ne r1.w, r1.w, l(0.000000)
  if_nz r1.w
    gather4_indexable(texture2d)(float,float,float,float) r5.xyzw, v1.xyxx, t14.xyzw, s0.z
    min r1.w, r5.z, r5.y
    min r1.w, r1.w, r5.x
    min r1.w, r5.w, r1.w
    max r1.w, -r1.w, l(1.000000)
    div r1.w, r3.z, r1.w
    and r3.xy, r0.xyxx, l(63, 63, 0, 0)
    and r3.z, l(7), cb0[14].w
    mov r3.w, l(0)
    ld_indexable(texture2darray)(float,float,float,float) r2.w, r3.xyzw, t17.yzwx
    mul r3.x, r2.w, l(0.250000)
    mad r3.yz, r4.xxyx, r3.xxxx, v1.xxyx
    sample_c_lz_indexable(texture2d)(float,float,float,float) r3.y, r3.yzyy, t2.xxxx, s3, r1.w
    mad r5.xyz, r2.wwww, l(0.250000, 0.250000, 0.250000, 0.000000), l(0.250000, 0.500000, 0.750000, 0.000000)
    mad r6.xyzw, r4.xyxy, r5.xxyy, v1.xyxy
    sample_c_lz_indexable(texture2d)(float,float,float,float) r2.w, r6.xyxx, t2.xxxx, s3, r1.w
    sample_c_lz_indexable(texture2d)(float,float,float,float) r3.z, r6.zwzz, t2.xxxx, s3, r1.w
    mad r4.zw, r4.xxxy, r5.zzzz, v1.xxxy
    sample_c_lz_indexable(texture2d)(float,float,float,float) r1.w, r4.zwzz, t2.xxxx, s3, r1.w
    ge r3.y, l(0.000000), r3.y
    and r3.x, r3.x, r3.y
    ge r2.w, l(0.000000), r2.w
    movc r2.w, r2.w, r5.x, r3.x
    ge r3.x, l(0.000000), r3.z
    movc r2.w, r3.x, r5.y, r2.w
    ge r1.w, l(0.000000), r1.w
    movc r1.w, r1.w, r5.z, r2.w
  else
    mov r1.w, l(0)
  endif
  mad r3.xy, r4.xyxx, r1.wwww, v1.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, r3.xyxx, t3.xyzw, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, v1.xyxx, t12.xyzw, s1, l(0.000000)
  max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r1.xyxx, t13.xyzw, s1, l(0.000000)
  max r5.xyzw, r5.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r1.x, r4.w, r5.w
  mad r4.xyz, r4.xyzx, r5.wwww, r5.xyzx
  add r1.y, -r3.y, r4.y
  mul_sat r1.y, r1.y, cb0[29].z
  min r1.x, r1.x, l(1.000000)
  mad r3.xyz, r3.xyzx, r1.xxxx, r4.xyzx
  mov_sat r1.z, r1.z
  max r1.x, r3.z, r3.y
  max r1.x, r1.x, r3.x
  add r1.x, r1.x, l(1.000000)
  rcp r1.x, r1.x
  mul r4.xyz, r1.xxxx, r3.xyzx
  mad r3.xyz, -r3.xyzx, r1.xxxx, r2.xyzx
  mad r2.xyz, r1.zzzz, r3.xyzx, r4.xyzx
else
  mov r1.y, l(0)
endif
max r1.x, r2.z, r2.y
max r1.x, r1.x, r2.x
add r1.x, -r1.x, l(1.000000)
rcp r1.x, r1.x
mul r2.xyz, r1.xxxx, r2.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 r3.xyz, r1.xxxx, r2.xyzx
else
  mul r3.xyz, r2.xyzx, cb0[22].xxxx
endif
sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, v1.xyxx, t4.xyzw, s1, l(0.000000)
mad r2.xyz, cb0[1].zzzz, r2.xyzx, r3.xyzx
add r1.xw, v0.xxxy, -cb0[14].yyyz
dp2 r1.x, r1.xwxx, r1.xwxx
mul r1.x, r1.x, cb0[14].x
mul r1.x, r1.x, r1.x
mul r1.x, r1.x, cb0[13].z
ieq r31.x, r30.z, l(0x3f800000)
if_nz r31.x
  mov r1.x, l(0)
endif
exp r1.x, -r1.x
mul r2.xyz, r1.xxxx, r2.xyzx
mul r3.xyz, r2.yyyy, cb0[20].xyzx
mad r2.xyw, r2.xxxx, cb0[19].xyxz, r3.xyxz
mad r2.xyz, r2.zzzz, cb0[21].xyzx, r2.xywx
max r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
add r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000), -cb0[12].wxyz
mul r1.x, v1.x, cb0[13].y
mul r1.x, r1.x, v1.y
add r4.xy, -v1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
if_nz r31.x
  mov r4.xy, l(1.000000)
endif
mul r1.x, r1.x, r4.x
mul r1.x, r4.y, r1.x
log r1.x, |r1.x|
mul r1.x, r1.x, cb0[13].x
exp r1.x, r1.x
if_nz r31.x
  mad_sat r1.x, r3.x, l(1.000000), cb0[12].w
else
  mad_sat r1.x, r3.x, r1.x, cb0[12].w
endif
mad r3.xyz, r1.xxxx, r3.yzwy, cb0[12].xyzx
mul r2.xyz, r2.xyzx, r3.xyzx
ne r1.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].w
movc r2.xyz, r1.xxxx, l(0,0,0,0), r2.xyzx
lt r3.xyz, l(0.010591, 0.010591, 0.010591, 0.000000), r2.xyzx
mad r4.xyzw, r2.xxyy, l(5.555556, 5.367655, 5.555556, 5.367655), l(0.052272, 0.092809, 0.052272, 0.092809)
log r1.xw, r4.xxxz
mad r1.xw, r1.xxxw, l(0.0744116008, 0.000000, 0.000000, 0.0744116008), l(0.385537, 0.000000, 0.000000, 0.385537)
movc r4.xy, r3.xyxx, r1.xwxx, r4.ywyy
mad r1.xw, r2.zzzz, l(5.555556, 0.000000, 0.000000, 5.367655), l(0.052272, 0.000000, 0.000000, 0.092809)
log r1.x, r1.x
mad r1.x, r1.x, l(0.0744116008), l(0.385537)
movc r4.z, r3.z, r1.x, r1.w
mad r2.xyz, r4.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) r2.xyz, r2.xyzx, t0.xyzw, s1, l(0.000000)
lt r3.xyz, l(0.149658203, 0.149658203, 0.149658203, 0.000000), r2.xyzx
add r4.xyzw, r2.xxyy, l(-0.385537, -0.092809, -0.385537, -0.092809)
mul r4.xyzw, r4.xyzw, l(13.43878651, 0.186301097, 13.43878651, 0.186301097)
exp r2.xyw, r4.xzxx
add r2.xyw, r2.xyxw, l(-0.052272, -0.052272, 0.000000, -0.052272)
mul r2.xyw, r2.xyxw, l(0.179999992, 0.179999992, 0.000000, 0.179999992)
movc r4.xyw, r3.xyxx, r2.xyxw, r4.ywyy
add r1.xw, r2.zzzz, l(-0.385537, 0.000000, 0.000000, -0.092809)
mul r1.xw, r1.xxxw, l(13.43878651, 0.000000, 0.000000, 0.186301097)
exp r1.x, r1.x
add r1.x, r1.x, l(-0.052272)
mul r1.x, r1.x, l(0.179999992)
movc r4.z, r3.z, r1.x, r1.w
max r2.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
max r1.x, r2.z, r2.y
max r1.x, r1.x, r2.w
min r3.xyzw, r2.wyzw, cb0[24].xxxx
log r3.xyzw, r3.xyzw
mul r4.xyzw, r3.wyzw, cb0[23].wwww
exp r4.xyzw, r4.xyzw
mul r3.xyzw, r3.xyzw, cb0[24].zzzz
exp r3.xyzw, r3.xyzw
mad r3.xyzw, r3.xyzw, cb0[25].xxxx, cb0[25].yyyy
div r3.xyzw, r4.xyzw, r3.xyzw
max r1.w, r3.z, r3.y
max r1.w, r1.w, r3.w
mul r2.xyzw, r1.wwww, r2.xyzw
div r2.xyzw, r2.xyzw, r1.xxxx
add r3.xyzw, -r2.wyzw, r3.xyzw
mad_sat r2.xyzw, cb0[24].wwww, r3.xyzw, r2.xyzw
mul r3.xyz, r2.xywx, l(0.250000, 0.500000, -0.250000, 0.000000)
add r1.xw, r3.yyyy, r3.xxxz
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.w
mad_sat r1.x, r1.z, l(4.000000), l(-1.000000)
mul r1.x, r1.x, -cb0[29].w
lt r1.w, l(-0.100000), r1.x
mul r1.y, r1.y, cb0[30].x
movc r1.x, r1.w, r1.y, 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)
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
ret
// Approximately 0 instruction slots used
