// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.89 on Wed Dec 21 12:58:19 2022
//
//
// Buffer Definitions:
//
// cbuffer cb12
// {
//
//   float4 cb12[272];                  // Index:    0-271            Components:  1088
//
// }
//
// cbuffer cb2
// {
//
//   float4 cb2[3];                     // Index:    0 1 2            Components:    12
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[40];                    // Index:    0-39             Components:   160
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// DepthBuffer                       texture   float          2d  110        1
// StereoParams                      texture  float4          2d  125        1
// cb1                               cbuffer      NA          NA    1        1
// cb2                               cbuffer      NA          NA    2        1
// cb12                              cbuffer      NA          NA   12        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyz         0     NONE   float   xyz
// COLOR                    0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xyzw        2     NONE   float   xy
// TEXCOORD                 1   xyzw        3     NONE   float   xy
// TEXCOORD                 2   xy          4     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 1   xyzw        1     NONE   float   xyzw
// TEXCOORD                 2   xyzw        2     NONE   float   xyzw
// TEXCOORD                 3   xyzw        3     NONE   float   xyz
// TEXCOORD                 4   xyzw        4     NONE   float   xyzw
// SV_Position              0   xyzw        5      POS   float   xyzw
// P                        0   x           6  RTINDEX    uint   x
//
vs_5_0
dcl_output_siv o6.x, rendertarget_array_index
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB12[272], immediateIndexed
dcl_constantbuffer CB2[3], immediateIndexed
dcl_constantbuffer CB1[40], immediateIndexed
dcl_resource_texture2d (float,float,float,float) t110
dcl_resource_buffer (float,float,float,float) t125
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_input v2.xy
dcl_input v3.xy
dcl_input v4.xy
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyz
dcl_output o4.xyzw
dcl_output_siv o5.xyzw, position
dcl_temps 10
ld_indexable(buffer)(float,float,float,float) r9.xyzw, l(0, 0, 0, 0), t125.xyzw
mov o6.x, r9.z
ld_indexable(buffer)(float,float,float,float) r0.xy, l(0, 0, 0, 0), t125.xyzw
mov r1.xyz, v0.xyzx
mov r1.w, l(1.000000)
dp4 r2.x, r1.xyzw, cb2[0].xyzw
dp4 r2.y, r1.xyzw, cb2[1].xyzw
dp4 r2.z, r1.xyzw, cb2[2].xyzw
dp2 r0.z, v2.yxyy, v3.xyxx
mul r0.w, v2.y, v3.y
mad r0.w, v3.x, v2.x, -r0.w
mad r1.xyz, cb1[37].xyzx, r0.zzzz, r2.xyzx
mad r1.xyz, cb1[39].xyzx, r0.wwww, r1.xyzx
add r2.xyz, r1.xyzx, -cb1[36].xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
rsq r0.z, r0.z
div o2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000), r0.zzzz
add r3.xyz, r1.xyzx, -cb12[0].xyzx
dp3 r0.w, r3.xyzx, r3.xyzx
sqrt r0.w, r0.w
div r3.xyz, r3.xyzx, r0.wwww
add r0.w, r0.w, -cb12[22].z
max r0.w, r0.w, l(0.000000)
min r0.w, r0.w, cb12[42].z
dp3 r1.w, cb12[38].xyzx, r3.xyzx
lt r2.w, l(0.000000), r1.w
ne r3.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb12[271].z
mul r3.y, |r1.w|, |r1.w|
mad_sat r3.w, r0.w, l(0.002000), l(-0.300000)
movc r3.x, r3.x, l(1.000000), r3.w
mul r3.x, r3.x, r3.y
movc r4.xyz, r2.wwww, cb12[39].xyzx, cb12[41].xyzx
add r4.xyz, r4.xyzx, -cb12[40].xyzx
mad r4.xyz, r3.xxxx, r4.xyzx, cb12[40].xyzx
movc r5.xyz, r2.wwww, cb12[45].xyzx, cb12[47].xyzx
add r5.xyz, r5.xyzx, -cb12[46].xyzx
mad o0.xyz, r3.xxxx, r5.xyzx, cb12[46].xyzx
ge r2.w, r0.w, cb12[48].y
if_nz r2.w
  mad r2.w, r3.z, cb12[22].z, cb12[0].z
  mul r3.x, r0.w, r3.z
  mul r3.y, r0.w, cb12[43].x
  mul r3.xy, r3.xyxx, l(0.062500, 0.062500, 0.000000, 0.000000)
  add r1.w, r1.w, cb12[42].x
  add r3.z, cb12[42].x, l(1.000000)
  div_sat r1.w, r1.w, r3.z
  add r3.z, -cb12[43].z, cb12[43].y
  mad r1.w, r1.w, r3.z, cb12[43].z
  add r2.w, r2.w, cb12[42].y
  mul r3.z, r1.w, r2.w
  mul r3.x, r1.w, r3.x
  mad r5.xyzw, r3.xxxx, l(16.000000, 15.000000, 14.000000, 13.000000), r3.zzzz
  max r5.xyzw, r5.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r5.xyzw, r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  div_sat r5.xyzw, r3.yyyy, r5.xyzw
  add r5.xyzw, -r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  mul r3.w, r5.y, r5.x
  mul r3.w, r5.z, r3.w
  mul r3.w, r5.w, r3.w
  mad r5.xyzw, r3.xxxx, l(12.000000, 11.000000, 10.000000, 9.000000), r3.zzzz
  max r5.xyzw, r5.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r5.xyzw, r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  div_sat r5.xyzw, r3.yyyy, r5.xyzw
  add r5.xyzw, -r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  mul r3.w, r3.w, r5.x
  mul r3.w, r5.y, r3.w
  mul r3.w, r5.z, r3.w
  mul r3.w, r5.w, r3.w
  mad r5.xyzw, r3.xxxx, l(8.000000, 7.000000, 6.000000, 5.000000), r3.zzzz
  max r5.xyzw, r5.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r5.xyzw, r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  div_sat r5.xyzw, r3.yyyy, r5.xyzw
  add r5.xyzw, -r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  mul r3.w, r3.w, r5.x
  mul r3.w, r5.y, r3.w
  mul r3.w, r5.z, r3.w
  mul r3.w, r5.w, r3.w
  mad r5.xy, r3.xxxx, l(4.000000, 3.000000, 0.000000, 0.000000), r3.zzzz
  max r5.xy, r5.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r5.xy, r5.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
  div_sat r5.xy, r3.yyyy, r5.xyxx
  add r5.xy, -r5.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
  mul r3.w, r3.w, r5.x
  mul r3.w, r5.y, r3.w
  mad r3.z, r3.x, l(2.000000), r3.z
  max r3.z, r3.z, l(0.000000)
  add r3.z, r3.z, l(1.000000)
  div_sat r3.z, r3.y, r3.z
  add r3.z, -r3.z, l(1.000000)
  mul r3.z, r3.z, r3.w
  mad r1.w, r2.w, r1.w, r3.x
  max r1.w, r1.w, l(0.000000)
  add r1.w, r1.w, l(1.000000)
  div_sat r1.w, r3.y, r1.w
  add r1.w, -r1.w, l(1.000000)
  mad r1.w, -r3.z, r1.w, l(1.000000)
  add r0.w, r0.w, -cb12[48].y
  mul_sat r0.w, r0.w, cb12[48].z
else
  mov r0.w, l(0)
  mov r1.w, l(1.000000)
endif
log r1.w, r1.w
mul r2.w, r1.w, cb12[42].w
exp r2.w, r2.w
mul r2.w, r0.w, r2.w
mul r1.w, r1.w, cb12[48].x
exp r1.w, r1.w
mul o0.w, r0.w, r1.w
mad_sat r3.xy, r2.wwww, cb12[190].xzxx, cb12[190].ywyy
add r5.xyz, -r4.xyzx, cb12[189].xyzx
mad r5.xyz, r3.xxxx, r5.xyzx, r4.xyzx
add r0.w, cb12[189].w, l(-1.000000)
mad r0.w, r3.y, r0.w, l(1.000000)
mul_sat r5.w, r0.w, r2.w
lt r0.w, l(0.000000), cb12[193].x
mad_sat r3.xy, r2.wwww, cb12[192].xzxx, cb12[192].ywyy
add r6.xyz, -r4.xyzx, cb12[191].xyzx
mad r4.xyz, r3.xxxx, r6.xyzx, r4.xyzx
add r1.w, cb12[191].w, l(-1.000000)
mad r1.w, r3.y, r1.w, l(1.000000)
mul_sat r4.w, r1.w, r2.w
add r3.xyzw, -r5.xyzw, r4.xyzw
mad r3.xyzw, cb12[193].xxxx, r3.xyzw, r5.xyzw
movc o1.xyzw, r0.wwww, r3.xyzw, r5.xyzw
mad r2.xyz, r2.xyzx, r0.zzzz, -r2.xyzx
add r1.xyz, r1.xyzx, r2.xyzx
mov r1.w, l(1.000000)
dp4 o3.z, r1.xyzw, cb1[10].xyzw
dp4 r0.z, r1.xyzw, cb1[0].xyzw
dp4 r2.y, r1.xyzw, cb1[1].xyzw
dp4 r7.z, r1.xyzw, cb1[2].xyzw
dp4 r2.w, r1.xyzw, cb1[3].xyzw
add r0.w, -r0.y, r2.w
mad r0.z, -r0.x, r0.w, r0.z
ne r0.w, r0.x, l(0.000000)
if_nz r0.w
  mul r0.y, r0.y, r0.x
  mul r0.y, r0.y, l(5.000000)
  resinfo_indexable(texture2d)(float,float,float,float)_uint r1.xy, l(0), t110.xyzw
  iadd r1.zw, r1.xxxy, l(0, 0, -1, -1)
  mad r0.w, r2.y, l(-0.500000), l(0.500000)
  utof r1.xy, r1.xyxx
  mul r0.w, r0.w, r1.y
  max r0.w, r0.w, l(0.000000)
  utof r1.yz, r1.zzwz
  min r0.w, r0.w, r1.z
  ftoi r3.y, r0.w
  mov r3.zw, l(0,0,0,0)
  mov r0.w, l(0)
  mov r1.zw, l(0,0,0,0)
  mov r2.xz, l(0,0,0,0)
  loop
    utof r4.x, r2.x
    ge r4.x, r4.x, l(250.000000)
    mov r2.z, l(0)
    breakc_nz r4.x
    mad r1.w, r0.x, l(0.004000), r1.w
    add r4.x, r0.z, r1.w
    mad r4.x, r4.x, l(0.500000), l(0.500000)
    mul r4.x, r1.x, r4.x
    max r4.x, r4.x, l(0.000000)
    min r4.x, r1.y, r4.x
    ftoi r3.x, r4.x
    ld_indexable(texture2d)(float,float,float,float) r3.x, r3.xyzw, t110.xyzw
    ne r4.x, r3.x, l(1.000000)
    mul r4.y, r3.x, l(0.000010)
    div r4.y, l(0.000010), r4.y
    add r3.x, r3.x, r4.y
    and r3.x, r3.x, r4.x
    eq r4.x, r3.x, l(0.000000)
    if_nz r4.x
      mov r0.w, r0.x
      mov r2.z, l(-1)
      break
    endif
    add r4.y, r0.x, -r1.w
    div r4.y, r0.y, r4.y
    lt r3.x, r3.x, r4.y
    if_nz r3.x
      mov r0.w, l(0)
      mov r2.z, l(0)
      break
    endif
    mov r1.z, r1.w
    iadd r2.x, r2.x, l(1)
    mov r2.z, r4.x
    mov r0.w, l(0)
  endloop
  movc r0.x, r2.z, r0.w, r1.z
else
  mov r0.x, l(0)
endif
mad r7.x, r0.x, r2.w, r0.z
mov o4.xyzw, v1.xyzw
mov r7.yw, r2.yyyw
mov o3.xy, v4.xyxx
add r8.x, -r9.y, r7.w
mul r8.y, r9.x, r9.w
mad r8.x, r8.x, r8.y, r7.x
ne r8.y, l(1.000000), r7.w
movc r7.x, r8.y, r8.x, r7.x
mov o5.xyzw, r7.xyzw
ret
// Approximately 196 instruction slots used
