// AUTOMATICALLY CONVERTED FROM SHADER FIXES - Manual fix, disabling stereo.w check.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Sun Oct 27 00:24:53 2024
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyzw
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// PRIMITIVE_ID             0   x           2     NONE    uint   x
// ATTRIBUTE                0   xy          3     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyzw
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// PRIMITIVE_ID             0   x           2     NONE    uint   x
// SV_RenderTargetArrayIndex     0    y          2  RTINDEX    uint    y
// SV_POSITION              0   xyzw        3      POS   float   xyzw
//
gs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[2], immediateIndexed
dcl_constantbuffer CB1[77], immediateIndexed
dcl_constantbuffer CB2[16], immediateIndexed
dcl_resource_structured t0, 16
dcl_input v[3][0].xyzw
dcl_input v[3][1].xyzw
dcl_input v[3][2].x
dcl_input v[3][3].xy
dcl_temps 31
dcl_inputprimitive triangle
dcl_stream m0
dcl_outputtopology trianglestrip
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.x
dcl_output_siv o2.y, rendertarget_array_index
dcl_output_siv o3.xyzw, position
dcl_maxout 24
dcl_resource_buffer (float,float,float,float) t125
ld_indexable(buffer)(float,float,float,float) r33.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(buffer)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
ftoi r0.x, cb2[14].z
imad r0.y, v[0][2].x, l(42), l(1)
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r0.yzw, r0.y, l(0), t0.xxyz
imad r1.x, v[0][2].x, l(42), l(19)
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r1.xyzw, r1.x, l(0), t0.xyzw
add r2.xyz, r0.yzwy, -cb1[64].xyzx
add r1.xyz, r1.xyzx, cb1[76].xyzx
mad r1.xyz, r2.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r1.xyzx
mul r1.y, r1.y, cb1[17].z
mad r1.x, r1.x, cb1[16].z, r1.y
mad r1.x, r1.z, cb1[18].z, r1.x
add r1.x, r1.x, cb1[19].z
add r1.y, r1.w, r1.x
mad r1.y, r1.y, cb2[15].x, cb2[15].y
log r1.y, r1.y
mul r1.y, r1.y, cb2[15].z
add r1.z, -r1.w, r1.x
mad r1.z, r1.z, cb2[15].x, cb2[15].y
log r1.z, r1.z
mul r1.z, r1.z, cb2[15].z
ftoi r1.yz, r1.yyzy
imax r2.x, r1.z, l(0)
ishl r2.y, cb0[1].z, l(3)
iadd r2.x, r2.y, r2.x
ilt r1.z, r1.z, r0.x
ige r2.y, r1.y, r2.x
and r1.z, r1.z, r2.y
ige r2.y, r1.y, l(0)
and r1.z, r1.z, r2.y
if_nz r1.z
  imad r3.xyzw, v[0][2].xxxx, l(42, 42, 42, 42), l(25, 26, 2, 3)
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r4.xyz, r3.x, l(0), t0.xyzx
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r5.xyz, r3.y, l(0), t0.xyzx
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r2.yzw, r3.z, l(0), t0.xxyz
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r3.xyz, r3.w, l(0), t0.xyzx
  imad r6.xy, v[0][2].xxxx, l(42, 42, 0, 0), l(4, 5, 0, 0)
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r6.xzw, r6.x, l(0), t0.xxyz
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r7.xyz, r6.y, l(0), t0.xyzx
  mad r7.xyw, r0.yzyw, l(2097152.000000, 2097152.000000, 0.000000, 2097152.000000), r7.xyxz
  iadd r0.x, r0.x, l(-1)
  imin r0.x, r0.x, r1.y
  iadd r0.y, r2.x, l(7)
  imin r0.x, r0.y, r0.x
  mov r4.w, l(1.000000)
  mov r8.x, r2.y
  mov r8.y, r3.x
  mov r8.z, r6.x
  mov r8.w, r7.x
  dp4 r9.x, r4.xyzw, r8.xyzw
  mov r10.x, r2.z
  mov r10.y, r3.y
  mov r10.z, r6.z
  mov r10.w, r7.y
  dp4 r9.y, r4.xyzw, r10.xyzw
  mov r7.x, r2.w
  mov r7.y, r3.z
  mov r7.z, r6.w
  dp4 r9.z, r4.xyzw, r7.xyzw
  mad r0.yzw, cb1[64].xxyz, l(0.000000, -2097152.000000, -2097152.000000, -2097152.000000), cb1[76].xxyz
  add r2.yzw, r0.yyzw, r9.xxyz
  mul r1.yz, r2.zzzz, cb1[17].xxyx
  mad r1.yz, r2.yyyy, cb1[16].xxyx, r1.yyzy
  mad r1.yz, r2.wwww, cb1[18].xxyx, r1.yyzy
  add r1.yz, r1.yyzy, cb1[19].xxyx
  min r2.yz, r1.yyzy, l(0.000000, 10000000.000000, 10000000.000000, 0.000000)
  max r1.yz, r1.yyzy, l(0.000000, -10000000.000000, -10000000.000000, 0.000000)
  add r3.xyz, -r4.xyzx, r5.xyzx
  mad r6.xyz, r3.xyzx, l(1.000000, 0.000000, 0.000000, 0.000000), r4.xyzx
  mov r6.w, l(1.000000)
  dp4 r9.x, r6.xyzw, r8.xyzw
  dp4 r9.y, r6.xyzw, r10.xyzw
  dp4 r9.z, r6.xyzw, r7.xyzw
  add r6.xyz, r0.yzwy, r9.xyzx
  mul r6.yw, r6.yyyy, cb1[17].xxxy
  mad r6.xy, r6.xxxx, cb1[16].xyxx, r6.ywyy
  mad r6.xy, r6.zzzz, cb1[18].xyxx, r6.xyxx
  add r6.xy, r6.xyxx, cb1[19].xyxx
  min r2.yz, r2.yyzy, r6.xxyx
  max r1.yz, r1.yyzy, r6.xxyx
  mad r6.xyz, r3.xyzx, l(0.000000, 1.000000, 0.000000, 0.000000), r4.xyzx
  mov r6.w, l(1.000000)
  dp4 r9.x, r6.xyzw, r8.xyzw
  dp4 r9.y, r6.xyzw, r10.xyzw
  dp4 r9.z, r6.xyzw, r7.xyzw
  add r6.xyz, r0.yzwy, r9.xyzx
  mul r6.yw, r6.yyyy, cb1[17].xxxy
  mad r6.xy, r6.xxxx, cb1[16].xyxx, r6.ywyy
  mad r6.xy, r6.zzzz, cb1[18].xyxx, r6.xyxx
  add r6.xy, r6.xyxx, cb1[19].xyxx
  min r2.yz, r2.yyzy, r6.xxyx
  max r1.yz, r1.yyzy, r6.xxyx
  mad r6.xyz, r3.xyzx, l(1.000000, 1.000000, 0.000000, 0.000000), r4.xyzx
  mov r6.w, l(1.000000)
  dp4 r9.x, r6.xyzw, r8.xyzw
  dp4 r9.y, r6.xyzw, r10.xyzw
  dp4 r9.z, r6.xyzw, r7.xyzw
  add r6.xyz, r0.yzwy, r9.xyzx
  mul r6.yw, r6.yyyy, cb1[17].xxxy
  mad r6.xy, r6.xxxx, cb1[16].xyxx, r6.ywyy
  mad r6.xy, r6.zzzz, cb1[18].xyxx, r6.xyxx
  add r6.xy, r6.xyxx, cb1[19].xyxx
  min r2.yz, r2.yyzy, r6.xxyx
  max r1.yz, r1.yyzy, r6.xxyx
  mad r6.xyz, r3.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000), r4.xyzx
  mov r6.w, l(1.000000)
  dp4 r9.x, r6.xyzw, r8.xyzw
  dp4 r9.y, r6.xyzw, r10.xyzw
  dp4 r9.z, r6.xyzw, r7.xyzw
  add r6.xyz, r0.yzwy, r9.xyzx
  mul r6.yw, r6.yyyy, cb1[17].xxxy
  mad r6.xy, r6.xxxx, cb1[16].xyxx, r6.ywyy
  mad r6.xy, r6.zzzz, cb1[18].xyxx, r6.xyxx
  add r6.xy, r6.xyxx, cb1[19].xyxx
  min r2.yz, r2.yyzy, r6.xxyx
  max r1.yz, r1.yyzy, r6.xxyx
  mad r6.xyz, r3.xyzx, l(1.000000, 0.000000, 1.000000, 0.000000), r4.xyzx
  mov r6.w, l(1.000000)
  dp4 r9.x, r6.xyzw, r8.xyzw
  dp4 r9.y, r6.xyzw, r10.xyzw
  dp4 r9.z, r6.xyzw, r7.xyzw
  add r6.xyz, r0.yzwy, r9.xyzx
  mul r6.yw, r6.yyyy, cb1[17].xxxy
  mad r6.xy, r6.xxxx, cb1[16].xyxx, r6.ywyy
  mad r6.xy, r6.zzzz, cb1[18].xyxx, r6.xyxx
  add r6.xy, r6.xyxx, cb1[19].xyxx
  min r2.yz, r2.yyzy, r6.xxyx
  max r1.yz, r1.yyzy, r6.xxyx
  mad r3.xyz, r3.xyzx, l(0.000000, 1.000000, 1.000000, 0.000000), r4.xyzx
  mov r3.w, l(1.000000)
  dp4 r4.x, r3.xyzw, r8.xyzw
  dp4 r4.y, r3.xyzw, r10.xyzw
  dp4 r4.z, r3.xyzw, r7.xyzw
  add r3.xyz, r0.yzwy, r4.xyzx
  mul r3.yw, r3.yyyy, cb1[17].xxxy
  mad r3.xy, r3.xxxx, cb1[16].xyxx, r3.ywyy
  mad r3.xy, r3.zzzz, cb1[18].xyxx, r3.xyxx
  add r3.xy, r3.xyxx, cb1[19].xyxx
  min r2.yz, r2.yyzy, r3.xxyx
  max r1.yz, r1.yyzy, r3.xxyx
  mov r5.w, l(1.000000)
  dp4 r3.x, r5.xyzw, r8.xyzw
  dp4 r3.y, r5.xyzw, r10.xyzw
  dp4 r3.z, r5.xyzw, r7.xyzw
  add r0.yzw, r0.yyzw, r3.xxyz
  mul r3.xy, r0.zzzz, cb1[17].xyxx
  mad r0.yz, r0.yyyy, cb1[16].xxyx, r3.xxyx
  mad r0.yz, r0.wwww, cb1[18].xxyx, r0.yyzy
  add r0.yz, r0.yyzy, cb1[19].xxyx
  min r2.yz, r0.yyzy, r2.yyzy
  max r0.yz, r0.yyzy, r1.yyzy
  eq r0.w, r1.w, l(0.000000)
  add r0.yz, -r2.yyzy, r0.yyzy
  mad r1.yz, r0.yyzy, v[0][3].xxyx, r2.yyzy
  mad r3.xy, r0.yzyy, v[1][3].xyxx, r2.yzyy
  mad r0.yz, r0.yyzy, v[2][3].xxyx, r2.yyzy
  mul r4.xyzw, r1.zzzz, cb2[8].xyzw
  mad r4.xyzw, r1.yyyy, cb2[7].xyzw, r4.xyzw
  mul r5.xyzw, r3.yyyy, cb2[8].xyzw
  mad r3.xyzw, r3.xxxx, cb2[7].xyzw, r5.xyzw
  mul r5.xyzw, r0.zzzz, cb2[8].xyzw
  mad r5.xyzw, r0.yyyy, cb2[7].xyzw, r5.xyzw
  mov r0.y, r2.x
  loop
    ilt r0.z, r0.x, r0.y
    breakc_nz r0.z
    itof r0.z, r0.y
    add r0.z, r0.z, cb2[12].z
    div r0.z, r0.z, cb2[15].z
    exp r0.z, r0.z
    add r0.z, r0.z, -cb2[15].y
    div r0.z, r0.z, cb2[15].x
    add r1.y, -r1.x, r0.z
    ge r1.y, r1.w, |r1.y|
    or r1.y, r0.w, r1.y
    if_nz r1.y
      mad r6.xyzw, r0.zzzz, cb2[9].xyzw, r4.xyzw
      add r6.xyzw, r6.xyzw, cb2[10].xyzw
      mov o0.xyzw, v[0][0].xyzw
      mov o1.xyzw, v[0][1].xyzw
      mov o2.x, v[0][2].x
      mov r31.xyzw, r6.xyzw
      mov o2.y, r0.y
      add r32.x, -r33.y, r31.w
      mul r32.y, r33.x, l(1.0)
      mad r32.x, r32.x, r32.y, r31.x
      ne r32.y, l(1.000000), r31.w
      movc r31.x, r32.y, r32.x, r31.x
      mov o3.xyzw, r31.xyzw
      emit_stream m0
      mad r6.xyzw, r0.zzzz, cb2[9].xyzw, r3.xyzw
      add r6.xyzw, r6.xyzw, cb2[10].xyzw
      mov o0.xyzw, v[1][0].xyzw
      mov o1.xyzw, v[1][1].xyzw
      mov o2.x, v[1][2].x
      mov r31.xyzw, r6.xyzw
      mov o2.y, r0.y
      add r32.x, -r33.y, r31.w
      mul r32.y, r33.x, l(1.0)
      mad r32.x, r32.x, r32.y, r31.x
      ne r32.y, l(1.000000), r31.w
      movc r31.x, r32.y, r32.x, r31.x
      mov o3.xyzw, r31.xyzw
      emit_stream m0
      mad r6.xyzw, r0.zzzz, cb2[9].xyzw, r5.xyzw
      add r6.xyzw, r6.xyzw, cb2[10].xyzw
      mov o0.xyzw, v[2][0].xyzw
      mov o1.xyzw, v[2][1].xyzw
      mov o2.x, v[2][2].x
      mov r31.xyzw, r6.xyzw
      mov o2.y, r0.y
      add r32.x, -r33.y, r31.w
      mul r32.y, r33.x, l(1.0)
      mad r32.x, r32.x, r32.y, r31.x
      ne r32.y, l(1.000000), r31.w
      movc r31.x, r32.y, r32.x, r31.x
      mov o3.xyzw, r31.xyzw
      emit_stream m0
      cut_stream m0
    endif
    iadd r0.y, r0.y, l(1)
  endloop
endif
ret
// Approximately 0 instruction slots used
