// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.124 on Sat Mar 11 10:28:28 2023
//
//
// Buffer Definitions:
//
// cbuffer cb1
// {
//
//   float4 cb1[156];                   // Index:    0-155            Components:   624
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[30];                    // Index:    0-29             Components:   120
//
// }
//
//
// 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
// cb0                               cbuffer      NA          NA    0        1
// cb1                               cbuffer      NA          NA    1        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xy
// SV_POSITION              0   xyzw        1      POS   float   xy
//
//
// 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 CB1[156], immediateIndexed
dcl_constantbuffer CB0[30], 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_input_ps linear noperspective v0.xy
dcl_input_ps_siv linear noperspective v1.xy, position
dcl_output o0.xyzw
dcl_temps 5
mul r0.xy, v1.xyxx, cb0[29].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t1.yzxw, s1, l(0.000000)
mad r0.w, r0.z, cb1[65].z, -cb1[65].w
mad r0.z, r0.z, cb1[65].x, cb1[65].y
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
add r0.z, r0.w, r0.z
add r0.w, r0.z, -cb1[154].z
add r0.w, r0.w, -cb1[155].y
max r0.w, r0.w, l(0.000000)
add r0.w, r0.w, cb1[154].z
lt r1.x, cb1[154].z, r0.z
movc r0.z, r1.x, r0.w, r0.z
mul r0.z, r0.z, l(0.000010)
mad r0.w, cb1[154].z, l(0.000010), -r0.z
mul r1.x, cb1[154].w, cb1[155].x
mul r0.w, r0.w, r1.x
mad r1.x, cb1[154].z, l(0.000010), -cb1[155].x
mul r0.z, r0.z, r1.x
div r0.z, r0.w, r0.z
min r0.z, |r0.z|, l(1.000000)
mul r0.z, r0.z, l(5.000000)
min r0.z, r0.z, l(1.000000)
add r0.z, -r0.z, l(1.000000)
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, v0.xyxx, t2.xyzw, s3
max r0.w, r1.w, l(0.001000)
div r1.xyz, r1.xyzx, r0.wwww
mul_sat r0.w, r1.w, cb0[27].w
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r0.xyxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r3.xyzw, r0.xyxx, t3.xyzw, s2
add r1.xyz, r1.xyzx, -r2.xyzx
mad r1.xyz, r0.wwww, r1.xyzx, r2.xyzx
add r4.xyz, -r1.xyzx, r2.xyzx
mov r4.w, l(1.000000)
mov r1.w, l(0)
mad r0.xyzw, r0.zzzz, r4.xyzw, r1.xyzw
add r1.y, v0.y, cb0[28].y
mov r1.x, v0.x
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r1.xyxx, t2.xyzw, s3
max r2.w, r1.w, l(0.001000)
div r4.xyz, r1.xyzx, r2.wwww
mul_sat r1.x, r1.w, cb0[27].w
mov r4.w, l(0)
add r4.xyzw, -r0.xyzw, r4.xyzw
mad r0.xyzw, r1.xxxx, r4.xyzw, r0.xyzw
add r1.xyz, -r0.xyzx, r2.xyzx
mad r0.xyz, r0.wwww, r1.xyzx, r0.xyzx
mad o0.xyz, r0.xyzx, r3.wwww, r3.xyzx
mov o0.w, l(0)
ret
// Approximately 49 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.124 on Sat Mar 11 10:28:28 2023
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[156] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[30] : 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(
//   linear noperspective float4 v0 : TEXCOORD0,
//   float4 v1 : SV_POSITION0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3,r4;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = cb0[29].zw * v1.xy;
//   r0.z = t1.SampleLevel(s1_s_s, r0.xy, 0).x;
//   r0.w = r0.z * cb1[65].z + -cb1[65].w;
//   r0.z = r0.z * cb1[65].x + cb1[65].y;
//   r0.w = 1 / r0.w;
//   r0.z = r0.z + r0.w;
//   r0.w = -cb1[154].z + r0.z;
//   r0.w = -cb1[155].y + r0.w;
//   r0.w = max(0, r0.w);
//   r0.w = cb1[154].z + r0.w;
//   r1.x = cmp(cb1[154].z < r0.z);
//   r0.z = r1.x ? r0.w : r0.z;
//   r0.z = 9.99999975e-06 * r0.z;
//   r0.w = cb1[154].z * 9.99999975e-06 + -r0.z;
//   r1.x = cb1[155].x * cb1[154].w;
//   r0.w = r1.x * r0.w;
//   r1.x = cb1[154].z * 9.99999975e-06 + -cb1[155].x;
//   r0.z = r1.x * r0.z;
//   r0.z = r0.w / r0.z;
//   r0.z = min(1, abs(r0.z));
//   r0.z = 5 * r0.z;
//   r0.z = min(1, r0.z);
//   r0.z = 1 + -r0.z;
//   r1.xyzw = t2.Sample(s3_s_s, v0.xy).xyzw;
//   r0.w = max(0.00100000005, r1.w);
//   r1.xyz = r1.xyz / r0.www;
//   r0.w = saturate(cb0[27].w * r1.w);
//   r2.xyz = t0.Sample(s0_s_s, r0.xy).xyz;
//   r3.xyzw = t3.Sample(s2_s_s, r0.xy).xyzw;
//   r1.xyz = -r2.xyz + r1.xyz;
//   r1.xyz = r0.www * r1.xyz + r2.xyz;
//   r4.xyz = r2.xyz + -r1.xyz;
//   r4.w = 1;
//   r1.w = 0;
//   r0.xyzw = r0.zzzz * r4.xyzw + r1.xyzw;
//   r1.y = cb0[28].y + v0.y;
//   r1.x = v0.x;
//   r1.xyzw = t2.Sample(s3_s_s, r1.xy).xyzw;
//   r2.w = max(0.00100000005, r1.w);
//   r4.xyz = r1.xyz / r2.www;
//   r1.x = saturate(cb0[27].w * r1.w);
//   r4.w = 0;
//   r4.xyzw = r4.xyzw + -r0.xyzw;
//   r0.xyzw = r1.xxxx * r4.xyzw + r0.xyzw;
//   r1.xyz = r2.xyz + -r0.xyz;
//   r0.xyz = r0.www * r1.xyz + r0.xyz;
//   o0.xyz = r0.xyz * r3.www + r3.xyz;
//   o0.w = 0;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
