// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.198 on Sat Oct 19 23:10:37 2024
//
//
// Buffer Definitions:
//
// cbuffer cb2
// {
//
//   float4 cb2[15];                    // Index:    0-14             Components:    60
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[6];                     // Index:    0-5              Components:    24
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[145];                   // Index:    0-144            Components:   580
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s                              sampler      NA          NA    0        1
// s1_s                              sampler      NA          NA    1        1
// s2_s                              sampler      NA          NA    2        1
// s3_s                              sampler      NA          NA    3        1
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// t2                                texture  float4          2d    2        1
// t3                                texture  float4          2d    3        1
// StereoParams                      texture  float4          2d  125        1
// cb0                               cbuffer      NA          NA    0        1
// cb1                               cbuffer      NA          NA    1        1
// cb2                               cbuffer      NA          NA    2        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 2   xyzw        1     NONE   float      w
// TEXCOORD                 3   xyzw        2     NONE   float   xy
// SV_IsFrontFace           0   x           3    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_constantbuffer CB2[15], immediateIndexed
dcl_constantbuffer CB1[6], immediateIndexed
dcl_constantbuffer CB0[145], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, 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_resource_texture2d (float,float,float,float) t3
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xyzw, position
dcl_input_ps linear v1.w
dcl_input_ps linear v2.xy
dcl_output o0.xyzw
dcl_temps 5
ld_indexable(buffer)(float,float,float,float) r0.x, l(0, 0, 0, 0), t125.xyzw
ld_indexable(buffer)(float,float,float,float) r0.yz, l(2, 0, 0, 0), t125.zxyw
mul r1.xyz, cb0[65].xyzx, l(-2097152.000000, -2097152.000000, -2097152.000000, 0.000000)
mul r2.xyz, r1.yyyy, cb0[9].xywx
mad r1.xyw, r1.xxxx, cb0[8].xyxw, r2.xyxz
mad r1.xyz, r1.zzzz, cb0[10].xywx, r1.xywx
add r1.xyz, r1.xyzx, cb0[11].xywx
mad r2.xyz, cb1[1].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), cb1[5].xyzx
mul r3.xyz, r2.yyyy, cb0[9].xywx
mad r2.xyw, r2.xxxx, cb0[8].xyxw, r3.xyxz
mad r2.xyz, r2.zzzz, cb0[10].xywx, r2.xywx
add r1.yzw, r1.xxyz, r2.xxyz
mad r1.x, r0.y, -r0.z, r1.y
div r0.yz, r1.xxzx, r1.wwww
mad r0.yz, r0.yyzy, l(0.000000, 0.500000, -0.500000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
mad r0.yz, r0.yyzy, cb0[129].xxyx, l(0.000000, 0.500000, 0.500000, 0.000000)
mul r0.yz, r0.yyzy, cb0[129].zzwz
mul r0.x, r0.x, cb0[129].x
mad r1.x, r0.x, l(-0.500000), v0.x
mov r1.yz, v0.yyzy
add r0.xw, r1.xxxy, -cb0[128].xxxy
mad r0.xy, r0.xwxx, cb0[129].zwzz, -r0.yzyy
add r2.xyz, -cb1[5].xyzx, cb0[73].xyzx
add r3.xyz, -cb1[1].xyzx, cb0[64].xyzx
mad r4.xyz, r2.xyzx, l(9.536743164E-07, 9.536743164E-07, 9.536743164E-07, 0.000000), r3.xyzx
mul r2.xyz, r2.xyzx, r2.xyzx
mul r0.zw, r3.xxxy, r4.xxxy
add r0.z, r0.w, r0.z
mad r0.z, r4.z, r3.z, r0.z
mul r1.xy, r2.xyxx, l(4.768371582E-07, 4.768371582E-07, 0.000000, 0.000000)
add r0.w, r1.y, r1.x
mad r0.w, r2.z, l(4.768371582E-07), r0.w
mad r0.z, r0.w, l(4.768371582E-07), r0.z
sqrt r0.z, r0.z
mul r0.xy, r0.xyxx, r0.zzzz
div r1.x, cb0[129].x, cb0[129].y
mov r1.y, l(1.000000)
mul r0.xy, r0.xyxx, r1.xyxx
mul r2.zw, r0.xxxy, cb2[11].xxxy
mul r2.xy, r0.xyxx, cb2[6].xyxx
mul r0.xyzw, r2.xyzw, cb2[3].wwww
mul r0.xyzw, r0.xyzw, l(2097152.000000, 2097152.000000, 2097152.000000, 2097152.000000)
frc r0.xyzw, r0.xyzw
mul r1.xy, cb2[10].xyxx, cb0[143].yyyy
frc r1.xy, r1.xyxx
add r1.xy, r0.zwzz, r1.xyxx
sample_b_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t3.xyzw, s3, cb0[144].x
mul r2.xy, cb2[12].zwzz, cb0[143].yyyy
frc r2.xy, r2.xyxx
add r0.zw, r0.zzzw, r2.xxxy
sample_b_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t3.xzyw, s3, cb0[144].x
add r0.z, r0.z, r1.x
mul r0.z, r0.z, cb2[13].x
mov r1.w, l(1.000000)
mul r1.xy, r1.zwzz, v0.wwww
mad r0.w, r1.x, cb0[71].z, -cb0[71].w
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mad r1.x, r1.x, cb0[71].x, cb0[71].y
add r0.w, r0.w, r1.x
lt r1.x, cb0[35].w, l(1.000000)
movc r0.w, r1.x, r1.y, r0.w
mul r0.w, r0.w, cb2[8].z
mul_sat r0.w, r0.w, l(0.100000)
mul r0.z, r0.w, r0.z
sample_b_indexable(texture2d)(float,float,float,float) r0.z, r0.zzzz, t0.yzxw, s0, cb0[144].x
mul r1.x, cb2[4].w, cb0[143].y
mul r1.z, cb2[5].x, cb0[143].y
frc r1.xy, r1.xzxx
add r1.xy, r0.xyxx, r1.xyxx
sample_b_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t1.xyzw, s1, cb0[144].x
mul r1.yz, cb2[7].zzwz, cb0[143].yyyy
frc r1.yz, r1.yyzy
add r0.xy, r0.xyxx, r1.yzyy
sample_b_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.xyzw, s1, cb0[144].x
add r0.x, r0.x, r1.x
mul r0.x, r0.x, cb2[8].x
mul r0.x, r0.w, r0.x
sample_b_indexable(texture2d)(float,float,float,float) r0.x, r0.xxxx, t2.xyzw, s2, cb0[144].x
sample_b_indexable(texture2d)(float,float,float,float) r0.y, v2.xyxx, t0.yxzw, s0, cb0[144].x
mul r0.x, r0.x, r0.y
mad r0.x, r0.z, r0.y, r0.x
log r0.y, r0.x
mul r0.y, r0.y, cb2[13].y
exp r0.y, r0.y
round_pi r0.y, r0.y
add r0.z, -v1.w, l(1.000000)
mul r0.y, r0.z, r0.y
ge r0.z, l(0.000000), r0.x
movc r0.y, r0.z, l(0), r0.y
add r0.y, r0.y, v1.w
mul r0.z, r0.x, v1.w
mad r0.x, -r0.x, v1.w, l(0.080000)
lt r0.x, l(0.000010), |r0.x|
ge r0.z, l(0.080000), r0.z
movc r0.y, r0.z, l(0), r0.y
and r0.x, r0.y, r0.x
mad r0.x, r0.x, cb2[14].w, l(-0.333300)
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
mov o0.xyzw, l(0,0,0,0)
ret
// Approximately 101 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.198 on Sat Oct 19 23:10:37 2024
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[15] : packoffset(c0);
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[6] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[145] : packoffset(c0);
// }
//
// SamplerState s0_s_s : register(s0);
// SamplerState s1_s_s : register(s1);
// SamplerState s2_s_s : register(s2);
// SamplerState s3_s_s : register(s3);
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
// Texture2D<float4> t2 : register(t2);
// Texture2D<float4> t3 : register(t3);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   float4 v1 : TEXCOORD2,
//   float4 v2 : TEXCOORD3,
//   uint v3 : SV_IsFrontFace0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3,r4;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = StereoParams.Load(float4(0,0,0,0)).x;
//   r0.yz = StereoParams.Load(float4(2,0,0,0)).xy;
//   r1.xyz = float3(-2097152,-2097152,-2097152) * cb0[65].xyz;
//   r2.xyz = cb0[9].xyw * r1.yyy;
//   r1.xyw = r1.xxx * cb0[8].xyw + r2.xyz;
//   r1.xyz = r1.zzz * cb0[10].xyw + r1.xyw;
//   r1.xyz = cb0[11].xyw + r1.xyz;
//   r2.xyz = cb1[1].xyz * float3(2097152,2097152,2097152) + cb1[5].xyz;
//   r3.xyz = cb0[9].xyw * r2.yyy;
//   r2.xyw = r2.xxx * cb0[8].xyw + r3.xyz;
//   r2.xyz = r2.zzz * cb0[10].xyw + r2.xyw;
//   r1.yzw = r2.xyz + r1.xyz;
//   r1.x = r0.y * -r0.z + r1.y;
//   r0.yz = r1.xz / r1.ww;
//   r0.yz = r0.yz * float2(0.5,-0.5) + float2(0.5,0.5);
//   r0.yz = r0.yz * cb0[129].xy + float2(0.5,0.5);
//   r0.yz = cb0[129].zw * r0.yz;
//   r0.x = cb0[129].x * r0.x;
//   r1.x = r0.x * -0.5 + v0.x;
//   r1.yz = v0.yz;
//   r0.xw = -cb0[128].xy + r1.xy;
//   r0.xy = r0.xw * cb0[129].zw + -r0.yz;
//   r2.xyz = cb0[73].xyz + -cb1[5].xyz;
//   r3.xyz = cb0[64].xyz + -cb1[1].xyz;
//   r4.xyz = r2.xyz * float3(9.53674316e-07,9.53674316e-07,9.53674316e-07) + r3.xyz;
//   r2.xyz = r2.xyz * r2.xyz;
//   r0.zw = r4.xy * r3.xy;
//   r0.z = r0.z + r0.w;
//   r0.z = r4.z * r3.z + r0.z;
//   r1.xy = float2(4.76837158e-07,4.76837158e-07) * r2.xy;
//   r0.w = r1.x + r1.y;
//   r0.w = r2.z * 4.76837158e-07 + r0.w;
//   r0.z = r0.w * 4.76837158e-07 + r0.z;
//   r0.z = sqrt(r0.z);
//   r0.xy = r0.zz * r0.xy;
//   r1.x = cb0[129].x / cb0[129].y;
//   r1.y = 1;
//   r0.xy = r1.xy * r0.xy;
//   r2.zw = cb2[11].xy * r0.xy;
//   r2.xy = cb2[6].xy * r0.xy;
//   r0.xyzw = cb2[3].wwww * r2.xyzw;
//   r0.xyzw = float4(2097152,2097152,2097152,2097152) * r0.xyzw;
//   r0.xyzw = frac(r0.xyzw);
//   r1.xy = cb0[143].yy * cb2[10].xy;
//   r1.xy = frac(r1.xy);
//   r1.xy = r1.xy + r0.zw;
//   r1.x = t3.SampleBias(s3_s_s, r1.xy, cb0[144].x).x;
//   r2.xy = cb0[143].yy * cb2[12].zw;
//   r2.xy = frac(r2.xy);
//   r0.zw = r2.xy + r0.zw;
//   r0.z = t3.SampleBias(s3_s_s, r0.zw, cb0[144].x).y;
//   r0.z = r1.x + r0.z;
//   r0.z = cb2[13].x * r0.z;
//   r1.w = 1;
//   r1.xy = v0.ww * r1.zw;
//   r0.w = r1.x * cb0[71].z + -cb0[71].w;
//   r0.w = 1 / r0.w;
//   r1.x = r1.x * cb0[71].x + cb0[71].y;
//   r0.w = r1.x + r0.w;
//   r1.x = cmp(cb0[35].w < 1);
//   r0.w = r1.x ? r1.y : r0.w;
//   r0.w = cb2[8].z * r0.w;
//   r0.w = saturate(0.100000001 * r0.w);
//   r0.z = r0.z * r0.w;
//   r0.z = t0.SampleBias(s0_s_s, r0.zz, cb0[144].x).x;
//   r1.x = cb0[143].y * cb2[4].w;
//   r1.z = cb0[143].y * cb2[5].x;
//   r1.xy = frac(r1.xz);
//   r1.xy = r1.xy + r0.xy;
//   r1.x = t1.SampleBias(s1_s_s, r1.xy, cb0[144].x).x;
//   r1.yz = cb0[143].yy * cb2[7].zw;
//   r1.yz = frac(r1.yz);
//   r0.xy = r1.yz + r0.xy;
//   r0.x = t1.SampleBias(s1_s_s, r0.xy, cb0[144].x).x;
//   r0.x = r1.x + r0.x;
//   r0.x = cb2[8].x * r0.x;
//   r0.x = r0.x * r0.w;
//   r0.x = t2.SampleBias(s2_s_s, r0.xx, cb0[144].x).x;
//   r0.y = t0.SampleBias(s0_s_s, v2.xy, cb0[144].x).x;
//   r0.x = r0.y * r0.x;
//   r0.x = r0.z * r0.y + r0.x;
//   r0.y = log2(r0.x);
//   r0.y = cb2[13].y * r0.y;
//   r0.y = exp2(r0.y);
//   r0.y = ceil(r0.y);
//   r0.z = 1 + -v1.w;
//   r0.y = r0.y * r0.z;
//   r0.z = cmp(0 >= r0.x);
//   r0.y = r0.z ? 0 : r0.y;
//   r0.y = v1.w + r0.y;
//   r0.z = v1.w * r0.x;
//   r0.x = -r0.x * v1.w + 0.0799999982;
//   r0.x = cmp(9.99999975e-06 < abs(r0.x));
//   r0.z = cmp(0.0799999982 >= r0.z);
//   r0.y = r0.z ? 0 : r0.y;
//   r0.x = r0.x ? r0.y : 0;
//   r0.x = r0.x * cb2[14].w + -0.333299994;
//   r0.x = cmp(r0.x < 0);
//   if (r0.x != 0) discard;
//   o0.xyzw = float4(0,0,0,0);
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
