//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Mon Nov 11 14:19:57 2019
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyzw
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// ATTRIBUTE                0   xy          2     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
// SV_POSITION              0   xyzw        2      POS   float   xyzw
// SV_RenderTargetArrayIndex     0   x           3  RTINDEX    uint   x
//
gs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[28], immediateIndexed
dcl_constantbuffer cb1[72], immediateIndexed
dcl_constantbuffer cb2[19], immediateIndexed
dcl_constantbuffer cb3[3], immediateIndexed
dcl_input v[3][0].xyzw
dcl_input v[3][1].xyzw
dcl_input v[3][2].xy
dcl_temps 6
dcl_inputprimitive triangle
dcl_stream m0
dcl_outputtopology trianglestrip
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output_siv o2.xyzw, position
dcl_output_siv o3.x, rendertarget_array_index
dcl_maxout 24
ftoi r0.x, cb3[1].z
add r0.yzw, cb1[71].xxyz, cb2[8].xxyz
mul r0.z, r0.z, cb1[13].z
mad r0.y, r0.y, cb1[12].z, r0.z
mad r0.y, r0.w, cb1[14].z, r0.y
add r0.y, r0.y, cb1[15].z
add r0.z, r0.y, cb2[8].w
mad r0.z, r0.z, cb3[2].x, cb3[2].y
log r0.z, r0.z
mul r0.z, r0.z, cb3[2].z
add r0.w, r0.y, -cb2[8].w
mad r0.w, r0.w, cb3[2].x, cb3[2].y
log r0.w, r0.w
mul r0.w, r0.w, cb3[2].z
ftoi r0.zw, r0.zzzw
imax r1.x, r0.w, l(0)
ishl r1.y, cb0[23].x, l(3)
iadd r1.x, r1.y, r1.x
ilt r0.w, r0.w, r0.x
ige r1.y, r0.z, r1.x
and r0.w, r0.w, r1.y
ige r1.y, r0.z, l(0)
and r0.w, r0.w, r1.y
if_nz r0.w
  iadd r0.x, r0.x, l(-1)
  imin r0.x, r0.x, r0.z
  iadd r0.z, r1.x, l(7)
  imin r0.x, r0.z, r0.x
  mul r1.yzw, cb2[1].xxyz, cb2[17].yyyy
  mad r1.yzw, cb2[17].xxxx, cb2[0].xxyz, r1.yyzw
  mad r1.yzw, cb2[17].zzzz, cb2[2].xxyz, r1.yyzw
  add r1.yzw, r1.yyzw, cb2[3].xxyz
  add r1.yzw, r1.yyzw, cb1[71].xxyz
  mul r0.zw, r1.zzzz, cb1[13].xxxy
  mad r0.zw, r1.yyyy, cb1[12].xxxy, r0.zzzw
  mad r0.zw, r1.wwww, cb1[14].xxxy, r0.zzzw
  add r0.zw, r0.zzzw, cb1[15].xxxy
  min r1.yz, r0.zzwz, l(0.000000, 10000000.000000, 10000000.000000, 0.000000)
  max r0.zw, r0.zzzw, l(0.000000, 0.000000, -10000000.000000, -10000000.000000)
  add r2.xyz, -cb2[17].xyzx, cb2[18].xyzx
  mad r3.xyz, r2.xyzx, l(1.000000, 0.000000, 0.000000, 0.000000), cb2[17].xyzx
  mul r4.xyz, r3.yyyy, cb2[1].xyzx
  mad r3.xyw, r3.xxxx, cb2[0].xyxz, r4.xyxz
  mad r3.xyz, r3.zzzz, cb2[2].xyzx, r3.xywx
  add r3.xyz, r3.xyzx, cb2[3].xyzx
  add r3.xyz, r3.xyzx, cb1[71].xyzx
  mul r3.yw, r3.yyyy, cb1[13].xxxy
  mad r3.xy, r3.xxxx, cb1[12].xyxx, r3.ywyy
  mad r3.xy, r3.zzzz, cb1[14].xyxx, r3.xyxx
  add r3.xy, r3.xyxx, cb1[15].xyxx
  min r1.yz, r1.yyzy, r3.xxyx
  max r0.zw, r0.zzzw, r3.xxxy
  mad r3.xyz, r2.xyzx, l(0.000000, 1.000000, 0.000000, 0.000000), cb2[17].xyzx
  mul r4.xyz, r3.yyyy, cb2[1].xyzx
  mad r3.xyw, r3.xxxx, cb2[0].xyxz, r4.xyxz
  mad r3.xyz, r3.zzzz, cb2[2].xyzx, r3.xywx
  add r3.xyz, r3.xyzx, cb2[3].xyzx
  add r3.xyz, r3.xyzx, cb1[71].xyzx
  mul r3.yw, r3.yyyy, cb1[13].xxxy
  mad r3.xy, r3.xxxx, cb1[12].xyxx, r3.ywyy
  mad r3.xy, r3.zzzz, cb1[14].xyxx, r3.xyxx
  add r3.xy, r3.xyxx, cb1[15].xyxx
  min r1.yz, r1.yyzy, r3.xxyx
  max r0.zw, r0.zzzw, r3.xxxy
  mad r3.xyz, r2.xyzx, l(1.000000, 1.000000, 0.000000, 0.000000), cb2[17].xyzx
  mul r4.xyz, r3.yyyy, cb2[1].xyzx
  mad r3.xyw, r3.xxxx, cb2[0].xyxz, r4.xyxz
  mad r3.xyz, r3.zzzz, cb2[2].xyzx, r3.xywx
  add r3.xyz, r3.xyzx, cb2[3].xyzx
  add r3.xyz, r3.xyzx, cb1[71].xyzx
  mul r3.yw, r3.yyyy, cb1[13].xxxy
  mad r3.xy, r3.xxxx, cb1[12].xyxx, r3.ywyy
  mad r3.xy, r3.zzzz, cb1[14].xyxx, r3.xyxx
  add r3.xy, r3.xyxx, cb1[15].xyxx
  min r1.yz, r1.yyzy, r3.xxyx
  max r0.zw, r0.zzzw, r3.xxxy
  mad r3.xyz, r2.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000), cb2[17].xyzx
  mul r4.xyz, r3.yyyy, cb2[1].xyzx
  mad r3.xyw, r3.xxxx, cb2[0].xyxz, r4.xyxz
  mad r3.xyz, r3.zzzz, cb2[2].xyzx, r3.xywx
  add r3.xyz, r3.xyzx, cb2[3].xyzx
  add r3.xyz, r3.xyzx, cb1[71].xyzx
  mul r3.yw, r3.yyyy, cb1[13].xxxy
  mad r3.xy, r3.xxxx, cb1[12].xyxx, r3.ywyy
  mad r3.xy, r3.zzzz, cb1[14].xyxx, r3.xyxx
  add r3.xy, r3.xyxx, cb1[15].xyxx
  min r1.yz, r1.yyzy, r3.xxyx
  max r0.zw, r0.zzzw, r3.xxxy
  mad r3.xyz, r2.xyzx, l(1.000000, 0.000000, 1.000000, 0.000000), cb2[17].xyzx
  mul r4.xyz, r3.yyyy, cb2[1].xyzx
  mad r3.xyw, r3.xxxx, cb2[0].xyxz, r4.xyxz
  mad r3.xyz, r3.zzzz, cb2[2].xyzx, r3.xywx
  add r3.xyz, r3.xyzx, cb2[3].xyzx
  add r3.xyz, r3.xyzx, cb1[71].xyzx
  mul r3.yw, r3.yyyy, cb1[13].xxxy
  mad r3.xy, r3.xxxx, cb1[12].xyxx, r3.ywyy
  mad r3.xy, r3.zzzz, cb1[14].xyxx, r3.xyxx
  add r3.xy, r3.xyxx, cb1[15].xyxx
  min r1.yz, r1.yyzy, r3.xxyx
  max r0.zw, r0.zzzw, r3.xxxy
  mad r2.xyz, r2.xyzx, l(0.000000, 1.000000, 1.000000, 0.000000), cb2[17].xyzx
  mul r3.xyz, r2.yyyy, cb2[1].xyzx
  mad r2.xyw, r2.xxxx, cb2[0].xyxz, r3.xyxz
  mad r2.xyz, r2.zzzz, cb2[2].xyzx, r2.xywx
  add r2.xyz, r2.xyzx, cb2[3].xyzx
  add r2.xyz, r2.xyzx, cb1[71].xyzx
  mul r2.yw, r2.yyyy, cb1[13].xxxy
  mad r2.xy, r2.xxxx, cb1[12].xyxx, r2.ywyy
  mad r2.xy, r2.zzzz, cb1[14].xyxx, r2.xyxx
  add r2.xy, r2.xyxx, cb1[15].xyxx
  min r1.yz, r1.yyzy, r2.xxyx
  max r0.zw, r0.zzzw, r2.xxxy
  mul r2.xyz, cb2[1].xyzx, cb2[18].yyyy
  mad r2.xyz, cb2[18].xxxx, cb2[0].xyzx, r2.xyzx
  mad r2.xyz, cb2[18].zzzz, cb2[2].xyzx, r2.xyzx
  add r2.xyz, r2.xyzx, cb2[3].xyzx
  add r2.xyz, r2.xyzx, cb1[71].xyzx
  mul r2.yw, r2.yyyy, cb1[13].xxxy
  mad r2.xy, r2.xxxx, cb1[12].xyxx, r2.ywyy
  mad r2.xy, r2.zzzz, cb1[14].xyxx, r2.xyxx
  add r2.xy, r2.xyxx, cb1[15].xyxx
  min r1.yz, r1.yyzy, r2.xxyx
  max r0.zw, r0.zzzw, r2.xxxy
  eq r1.w, cb2[8].w, l(0.000000)
  add r0.zw, -r1.yyyz, r0.zzzw
  mad r2.xy, r0.zwzz, v[0][2].xyxx, r1.yzyy
  mad r2.zw, r0.zzzw, v[1][2].xxxy, r1.yyyz
  mad r0.zw, r0.zzzw, v[2][2].xxxy, r1.yyyz
  mul r3.xyzw, r2.yyyy, cb0[25].xyzw
  mad r3.xyzw, r2.xxxx, cb0[24].xyzw, r3.xyzw
  mul r4.xyzw, r2.wwww, cb0[25].xyzw
  mad r2.xyzw, r2.zzzz, cb0[24].xyzw, r4.xyzw
  mul r4.xyzw, r0.wwww, cb0[25].xyzw
  mad r4.xyzw, r0.zzzz, cb0[24].xyzw, r4.xyzw
  mov r0.z, r1.x
  loop
    ilt r0.w, r0.x, r0.z
    breakc_nz r0.w
    itof r0.w, r0.z
    add r0.w, r0.w, cb0[7].z
    div r0.w, r0.w, cb3[2].z
    exp r0.w, r0.w
    add r0.w, r0.w, -cb3[2].y
    div r0.w, r0.w, cb3[2].x
    add r1.y, -r0.y, r0.w
    ge r1.y, cb2[8].w, |r1.y|
    or r1.y, r1.y, r1.w
    if_nz r1.y
      mad r5.xyzw, r0.wwww, cb0[26].xyzw, r3.xyzw
      add r5.xyzw, r5.xyzw, cb0[27].xyzw
      mov o0.xyzw, v[0][0].xyzw
      mov o1.xyzw, v[0][1].xyzw
      mov o2.xyzw, r5.xyzw
      mov o3.x, r0.z
      emit_stream m0
      mad r5.xyzw, r0.wwww, cb0[26].xyzw, r2.xyzw
      add r5.xyzw, r5.xyzw, cb0[27].xyzw
      mov o0.xyzw, v[1][0].xyzw
      mov o1.xyzw, v[1][1].xyzw
      mov o2.xyzw, r5.xyzw
      mov o3.x, r0.z
      emit_stream m0
      mad r5.xyzw, r0.wwww, cb0[26].xyzw, r4.xyzw
      add r5.xyzw, r5.xyzw, cb0[27].xyzw
      mov o0.xyzw, v[2][0].xyzw
      mov o1.xyzw, v[2][1].xyzw
      mov o2.xyzw, r5.xyzw
      mov o3.x, r0.z
      emit_stream m0
      cut_stream m0
    endif
    iadd r0.z, r0.z, l(1)
  endloop
endif
ret
// Approximately 0 instruction slots used
