//Distorted transparent geometry PS 1.
// ---- Created with 3Dmigoto v0.6.182 on Sun Jun 11 12:29:11 2023
//Texture2D<float4> t2 : register(t2);
//
//Texture2D<float4> t1 : register(t1);
//
//Texture2D<float4> t0 : register(t0);
//
//SamplerState s2_s : register(s2);
//
//SamplerState s1_s : register(s1);
//
//SamplerState s0_s : register(s0);
//
//cbuffer cb3 : register(b3)
//{
//  float4 cb3[24];
//}
//
//cbuffer cb2 : register(b2)
//{
//  float4 cb2[21];
//}
//
//cbuffer cb1 : register(b1)
//{
//  float4 cb1[142];
//}
//
//cbuffer cb0 : register(b0)
//{
//  float4 cb0[147];
//}
//
//
//
//
//// 3Dmigoto declarations
//#define cmp -
//Texture1D<float4> IniParams : register(t120);
//Texture2D<float4> StereoParams : register(t125);
//
//
//void main(
//  linear centroid float4 v0 : TEXCOORD10,
//  linear centroid float4 v1 : TEXCOORD11,
//  nointerpolation uint v2 : PACKED_EYE_INDEX0,
//  nointerpolation uint w2 : PRIMITIVE_ID0,
//  float4 v3 : TEXCOORD6,
//  float4 v4 : SV_Position0,
//  uint v5 : SV_IsFrontFace0,
//  out float4 o0 : SV_Target0)
//{
//  const float4 icb[] = { { 1.000000, 0, 0, 0},
//                              { 0, 1.000000, 0, 0},
//                              { 0, 0, 1.000000, 0},
//                              { 0, 0, 0, 1.000000} };
//  float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;
//  uint4 bitmask, uiDest;
//  float4 fDest;
//
//  if (v2.x == 0) {
//    r0.xy = cb0[134].xy;
//    r0.zw = cb0[135].zw;
//    r1.x = cb0[12].x;
//    r1.y = cb0[13].x;
//    r1.z = cb0[14].x;
//    r2.x = cb0[12].y;
//    r2.y = cb0[13].y;
//    r2.z = cb0[14].y;
//    r3.x = cb0[12].z;
//    r3.y = cb0[13].z;
//    r3.z = cb0[14].z;
//    r4.xyz = cb0[18].xyz;
//    r5.xy = cb0[134].zw;
//    r1.w = cb0[141].w;
//    r6.xyz = cb0[141].xyz;
//    r5.zw = cb0[66].xy;
//    r7.xy = cb0[66].zw;
//    r7.zw = cb0[133].xy;
//  } else {
//    r0.xy = cb1[134].xy;
//    r0.zw = cb1[135].zw;
//    r1.x = cb1[12].x;
//    r1.y = cb1[13].x;
//    r1.z = cb1[14].x;
//    r2.x = cb1[12].y;
//    r2.y = cb1[13].y;
//    r2.z = cb1[14].y;
//    r3.x = cb1[12].z;
//    r3.y = cb1[13].z;
//    r3.z = cb1[14].z;
//    r4.xyz = cb1[18].xyz;
//    r5.xy = cb1[134].zw;
//    r1.w = cb1[141].w;
//    r6.xyz = cb1[141].xyz;
//    r5.zw = cb1[66].xy;
//    r7.xy = cb1[66].zw;
//    r7.zw = cb1[133].xy;
//  }
//  r8.xyz = v1.zxy * v0.yzx;
//  r8.xyz = v1.yzx * v0.zxy + -r8.xyz;
//  r8.xyz = v1.www * r8.xyz;
//  r7.zw = v4.xy + -r7.zw;
//  r5.xy = r7.zw * r5.xy + float2(-0.5,-0.5);
//  r9.xy = v4.ww * r5.xy;
//  r9.z = v4.w;
//  r9.xyw = float3(2,-2,1) * r9.xyz;
//  r5.xy = -cb0[133].xy + v4.xy;
//  r5.xy = cb0[134].zw * r5.xy;
//  r7.zw = cb0[135].xy * cb0[135].zw;
//  r5.xy = r5.xy / r7.zw;
//  r7.zw = t1.SampleBias(s1_s, r5.xy, cb0[146].y).xy;
//  r10.xy = r7.zw * float2(2,2) + float2(-1,-1);
//  r2.w = dot(r10.xy, r10.xy);
//  r2.w = 1 + -r2.w;
//  r2.w = max(0, r2.w);
//  r10.z = sqrt(r2.w);
//  r2.w = dot(cb3[11].xyz, r4.xyz);
//  r2.w = cb3[20].y * r2.w;
//  r2.w = max(cb3[20].z, r2.w);
//  r2.w = min(1, r2.w);
//  r2.w = 1 + -r2.w;
//  r4.x = cb3[21].w * cb0[145].z;
//  r4.yzw = cb3[22].xzw * cb0[145].zzz;
//  r4.xy = r5.xy * cb3[22].yy + r4.xy;
//  r3.w = t2.SampleBias(s2_s, r4.xy, cb0[146].y).x;
//  r4.xy = r5.xy * cb3[23].xx + r4.zw;
//  r4.x = t2.SampleBias(s2_s, r4.xy, cb0[146].y).x;
//  r3.w = r4.x * r3.w;
//  r2.w = r3.w * r2.w;
//  r3.w = -1 + cb3[23].y;
//  r2.w = r3.w * r2.w;
//  r4.xyz = r10.xyz * r1.www + r6.xyz;
//  r5.xy = r9.xy / r9.ww;
//  r5.xy = r5.xy * r5.zw + r7.yx;
//  r6.xyz = r4.yyy * r8.xyz;
//  r4.xyw = r4.xxx * v0.xyz + r6.xyz;
//  r4.xyz = r4.zzz * v1.xyz + r4.xyw;
//  r1.x = dot(r4.xyz, r1.xyz);
//  r1.y = dot(r4.xyz, r2.xyz);
//  r1.z = dot(r4.xyz, r3.xyz);
//  r1.z = dot(r1.xyz, r1.xyz);
//  r1.z = rsqrt(r1.z);
//  r1.xy = r1.xy * r1.zz;
//  r1.xy = r1.xy * r2.ww;
//  r0.xy = r1.xy * r0.xy;
//  r0.xy = r0.xy * r0.zw;
//  r0.z = dot(r0.xy, r0.xy);
//  r0.z = -9.99999975e-06 + r0.z;
//  r0.z = cmp(r0.z < 0);
//  if (r0.z != 0) discard;
//  r0.z = v2.x;
//  r0.z = dot(cb2[20].xyzw, icb[r0.z+0].xyzw);
//  r1.x = cb2[20].z / cb2[20].w;
//  r0.w = r1.x * r0.z;
//  r0.zw = cb2[20].zw * r0.zw;
//  r0.xy = r0.zw * r0.xy;
//  r0.zw = float2(0.000230000005,-0.000230000005) * r0.xy;
//  r0.xy = r0.xy * float2(0.000230000005,-0.000230000005) + r5.xy;
//  r0.x = t0.SampleLevel(s0_s, r0.xy, 0).x;
//  r0.y = r0.x * cb0[65].x + cb0[65].y;
//  r0.x = r0.x * cb0[65].z + -cb0[65].w;
//  r0.x = 1 / r0.x;
//  r0.x = r0.y + r0.x;
//  r0.y = -0.5 * cb3[23].z;
//  r0.y = min(50, abs(r0.y));
//  r0.y = max(1, r0.y);
//  r0.y = 1 / r0.y;
//  r0.x = -r9.z * 1 + r0.x;
//  r0.x = saturate(r0.x * r0.y + -cb3[23].z);
//  r0.xy = r0.zw * r0.xx;
//  r0.xy = float2(4,4) * r0.xy;
//  o0.xy = max(float2(0,0), r0.xy);
//  r0.xy = min(float2(0,0), r0.xy);
//  o0.zw = -r0.xy;
//  return;
//}
//
///*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.182 on Sun Jun 11 12:29:11 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyz
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// PACKED_EYE_INDEX         0   x           2     NONE    uint   x
// PRIMITIVE_ID             0    y          2     NONE    uint
// TEXCOORD                 6   xyzw        3     NONE   float
// SV_Position              0   xyzw        4      POS   float   xy w
// SV_IsFrontFace           0   x           5    FFACE    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_immediateConstantBuffer { { 1.000000, 0, 0, 0},
                              { 0, 1.000000, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 0, 0, 1.000000} }
dcl_constantbuffer CB0[147], immediateIndexed
dcl_constantbuffer CB1[142], immediateIndexed
dcl_constantbuffer CB2[21], immediateIndexed
dcl_constantbuffer CB3[24], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_input_ps linear centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps constant v2.x
dcl_input_ps_siv linear noperspective v4.xyw, position
dcl_output o0.xyzw
dcl_temps 31
dcl_temps 21
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
if_z v2.x
  mov r0.xy, cb0[134].xyxx
  mov r0.zw, cb0[135].zzzw
  mov r1.x, cb0[12].x
  mov r1.y, cb0[13].x
  mov r1.z, cb0[14].x
  mov r2.x, cb0[12].y
  mov r2.y, cb0[13].y
  mov r2.z, cb0[14].y
  mov r3.x, cb0[12].z
  mov r3.y, cb0[13].z
  mov r3.z, cb0[14].z
  mov r4.xyz, cb0[18].xyzx
  mov r5.xy, cb0[134].zwzz
  mov r1.w, cb0[141].w
  mov r6.xyz, cb0[141].xyzx
  mov r5.zw, cb0[66].xxxy
  mov r7.xy, cb0[66].zwzz
  mov r7.zw, cb0[133].xxxy
else
  mov r0.xy, cb1[134].xyxx
  mov r0.zw, cb1[135].zzzw
  mov r1.x, cb1[12].x
  mov r1.y, cb1[13].x
  mov r1.z, cb1[14].x
  mov r2.x, cb1[12].y
  mov r2.y, cb1[13].y
  mov r2.z, cb1[14].y
  mov r3.x, cb1[12].z
  mov r3.y, cb1[13].z
  mov r3.z, cb1[14].z
  mov r4.xyz, cb1[18].xyzx
  mov r5.xy, cb1[134].zwzz
  mov r1.w, cb1[141].w
  mov r6.xyz, cb1[141].xyzx
  mov r5.zw, cb1[66].xxxy
  mov r7.xy, cb1[66].zwzz
  mov r7.zw, cb1[133].xxxy
endif
mul r8.xyz, v0.yzxy, v1.zxyz
mad r8.xyz, v1.yzxy, v0.zxyz, -r8.xyzx
mul r8.xyz, r8.xyzx, v1.wwww

mov r14.xyw, v4.xyxw
mul r15.x, cb0[135].x, l(0.5)
div r15.y, r25.y, v4.w
add r15.y, r15.y, l(-1.0)
mul r15.x, r15.x, r15.y
mad r14.x, r25.x, r15.x, r14.x

add r7.zw, -r7.zzzw, v4.xxxy
mad r5.xy, r7.zwzz, r5.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r9.xy, r5.xyxx, v4.wwww
mov r9.z, v4.w

//mov r19.xyz, r9.xyz
//add r20.x, r19.z, -r25.y
//mul r20.x, r20.x, l(0.5)
//mad r19.x, -r25.x, r20.x, r19.x
//mul r19.xyw, r19.xyxz, l(2.000000, -2.000000, 0.000000, 1.000000)
//div r15.xy, r19.xyxx, r19.wwww

mul r9.xyw, r9.xyxz, l(2.000000, -2.000000, 0.000000, 1.000000)
add r5.xy, r14.xyxx, -cb0[133].xyxx
mul r5.xy, r5.xyxx, cb0[134].zwzz
mul r7.zw, cb0[135].zzzw, cb0[135].xxxy
div r5.xy, r5.xyxx, r7.zwzz
sample_b_indexable(texture2d)(float,float,float,float) r7.zw, r5.xyxx, t1.zwxy, s1, cb0[146].y
mad r10.xy, r7.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r2.w, r10.xyxx, r10.xyxx
add r2.w, -r2.w, l(1.000000)
max r2.w, r2.w, l(0.000000)
sqrt r10.z, r2.w
dp3 r2.w, cb3[11].xyzx, r4.xyzx
mul r2.w, r2.w, cb3[20].y
max r2.w, r2.w, cb3[20].z
min r2.w, r2.w, l(1.000000)
add r2.w, -r2.w, l(1.000000)
mul r4.x, cb0[145].z, cb3[21].w
mul r4.yzw, cb0[145].zzzz, cb3[22].xxzw
mad r4.xy, r5.xyxx, cb3[22].yyyy, r4.xyxx
sample_b_indexable(texture2d)(float,float,float,float) r3.w, r4.xyxx, t2.yzwx, s2, cb0[146].y
mad r4.xy, r5.xyxx, cb3[23].xxxx, r4.zwzz
sample_b_indexable(texture2d)(float,float,float,float) r4.x, r4.xyxx, t2.xyzw, s2, cb0[146].y
mul r3.w, r3.w, r4.x
mul r2.w, r2.w, r3.w
add r3.w, cb3[23].y, l(-1.000000)
mul r2.w, r2.w, r3.w
mad r4.xyz, r10.xyzx, r1.wwww, r6.xyzx
div r5.xy, r9.xyxx, r9.wwww
mad r5.xy, r5.xyxx, r5.zwzz, r7.yxyy
mul r6.xyz, r8.xyzx, r4.yyyy
mad r4.xyw, r4.xxxx, v0.xyxz, r6.xyxz
mad r4.xyz, r4.zzzz, v1.xyzx, r4.xywx
dp3 r1.x, r4.xyzx, r1.xyzx
dp3 r1.y, r4.xyzx, r2.xyzx
dp3 r1.z, r4.xyzx, r3.xyzx
dp3 r1.z, r1.xyzx, r1.xyzx
rsq r1.z, r1.z
mul r1.xy, r1.zzzz, r1.xyxx
mul r1.xy, r2.wwww, r1.xyxx
mul r0.xy, r0.xyxx, r1.xyxx
mul r0.xy, r0.zwzz, r0.xyxx
dp2 r0.z, r0.xyxx, r0.xyxx
add r0.z, r0.z, l(-0.000010)
lt r0.z, r0.z, l(0.000000)
discard_nz r0.z
mov r0.z, v2.x
dp4 r0.z, cb2[20].xyzw, icb[r0.z + 0].xyzw
div r1.x, cb2[20].z, cb2[20].w
mul r0.w, r0.z, r1.x
mul r0.zw, r0.zzzw, cb2[20].zzzw
mul r0.xy, r0.xyxx, r0.zwzz
mul r0.zw, r0.xxxy, l(0.000000, 0.000000, 0.000230, -0.000230)
mad r0.xy, r0.xyxx, l(0.000230, -0.000230, 0.000000, 0.000000), r5.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0, l(0.000000)
mad r0.y, r0.x, cb0[65].x, cb0[65].y
mad r0.x, r0.x, cb0[65].z, -cb0[65].w
div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.x
add r0.x, r0.x, r0.y
mul r0.y, cb3[23].z, l(-0.500000)
min r0.y, |r0.y|, l(50.000000)
max r0.y, r0.y, l(1.000000)
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
mad r0.x, -r9.z, l(1.000000), r0.x
mad_sat r0.x, r0.x, r0.y, -cb3[23].z
mul r0.xy, r0.xxxx, r0.zwzz
mul r0.xy, r0.xyxx, l(4.000000, 4.000000, 0.000000, 0.000000)
max o0.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r0.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
mov o0.zw, -r0.xxxy
ret
// Approximately 0 instruction slots used
