// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.182 on Mon Jun 12 23:50:51 2023
//
//
// Buffer Definitions:
//
// cbuffer cb4
// {
//
//   float4 cb4[11];                    // Index:    0-10             Components:    44
//
// }
//
// cbuffer cb3
// {
//
//   float4 cb3;                        // Index:    0.xyzw           Components:     4
//
// }
//
// cbuffer cb2
// {
//
//   float4 cb2[3];                     // Index:    0 1 2            Components:    12
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[146];                   // Index:    0-145            Components:   584
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[39];                    // Index:    0-38             Components:   156
//
// }
//
//
// 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
// s4_s                              sampler      NA          NA    4        1
// s5_s                              sampler      NA          NA    5        1
// s6_s                              sampler      NA          NA    6        1
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// t2                                texture   uint4          2d    2        1
// t3                                texture  float4          2d    3        1
// t4                                texture  float4          2d    4        1
// t5                                texture  float4          2d    5        1
// t6                                texture  float4          2d    6        1
// t7                                texture  float4          2d    7        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
// cb3                               cbuffer      NA          NA    3        1
// cb4                               cbuffer      NA          NA    4        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy w
// TEXCOORD                 0   xyzw        1     NONE   float
//
//
// 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 CB4[11], immediateIndexed
dcl_constantbuffer CB3[1], immediateIndexed
dcl_constantbuffer CB2[3], immediateIndexed
dcl_constantbuffer CB1[146], immediateIndexed
dcl_constantbuffer CB0[39], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (uint,uint,uint,uint) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xyw, position
dcl_output o0.xyzw
dcl_temps 7
utof r0.xyzw, cb0[37].xyxy
add r1.xy, -r0.zwzz, v0.xyxx
mul r1.xy, r1.xyxx, cb0[38].zwzz
mad r1.xy, r1.xyxx, cb1[134].xyxx, cb1[133].xyxx
mul r1.xy, r1.xyxx, cb1[135].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s0, l(0.000000)
max r1.x, r1.x, l(1.000000046E-18)
mul r2.xyzw, v0.yyyy, cb1[45].wxyw
mad r1.y, v0.x, cb1[44].w, r2.x
mad r1.y, r1.x, cb1[46].w, r1.y
add r1.y, r1.y, cb1[47].w
ld_indexable(buffer)(float,float,float,float) r1.zw, l(0, 0, 0, 0), t125.zwxy
mad r1.y, r1.w, r1.y, l(-1.000000)
mul r1.y, r1.y, r1.z
mul r1.y, r1.y, cb1[135].x
mad r3.xz, r1.yyyy, l(0.500000, 0.000000, 0.500000, 0.000000), v0.xxxx
mad r1.yzw, r3.zzzz, cb1[44].xxyw, r2.yyzw
mad r1.xyz, r1.xxxx, cb1[46].xywx, r1.yzwy
add r1.xyz, r1.xyzx, cb1[47].xywx
div r1.xyzw, r1.xyxy, r1.zzzz
add r1.xyzw, r1.xyzw, -cb1[70].xyxy
div r1.xyzw, r1.xyzw, cb4[8].zzzz
add r1.xyzw, r1.xyzw, l(0.500000, 0.500000, -0.500000, -0.500000)
add r1.xyzw, -r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xyxx, t4.xyzw, s2
sample_indexable(texture2d)(float,float,float,float) r1.x, r1.zwzz, t6.xyzw, s4
add r1.yz, v0.xxyx, -cb1[133].xxyx
mad r1.yz, r1.yyzy, cb1[134].zzwz, l(0.000000, -0.500000, -0.500000, 0.000000)
mul r4.xy, r1.yzyy, v0.wwww
mov r4.z, v0.w
mul r1.yzw, r4.xxyz, l(0.000000, 2.000000, -2.000000, 1.000000)
div r1.yz, r1.yyzy, r1.wwww
mad r1.yz, r1.yyzy, cb1[66].xxyx, cb1[66].wwzw
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r1.yzyy, t1.yzwx, s1, l(0.000000)
mad r2.w, r1.w, cb1[65].z, -cb1[65].w
mad r1.w, r1.w, cb1[65].x, cb1[65].y
div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.w
add r1.w, r1.w, r2.w
mul r2.w, r1.w, l(0.000200)
sample_l_indexable(texture2d)(float,float,float,float) r4.x, r1.yzyy, t0.xyzw, s0, l(0.000000)
mad r4.y, r4.x, cb1[65].z, -cb1[65].w
mad r4.x, r4.x, cb1[65].x, cb1[65].y
div r4.y, l(1.000000, 1.000000, 1.000000, 1.000000), r4.y
add r4.x, r4.y, r4.x
mul r4.y, r4.x, l(0.000200)
div r4.xz, r4.xxxx, cb4[9].yyzy
ge r2.w, r2.w, r4.y
mad r1.w, r1.w, l(0.000200), -r4.y
lt r1.w, l(0.000010), |r1.w|
movc r2.w, r2.w, l(0), l(1.000000)
movc r1.w, r1.w, r2.w, l(1.000000)
mul r4.yw, r1.yyyz, cb1[135].xxxy
sample_indexable(texture2d)(float,float,float,float) r5.xyz, r1.yzyy, t7.xyzw, s6
round_z r1.yz, r4.yywy
ftoi r6.xy, r1.yzyy
mov r6.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r1.y, r6.xyzw, t2.xyzw
utof r1.y, r1.y
add r6.xyz, r1.yyyy, l(-10.000000, -3.000000, -1.000000, 0.000000)
lt r6.xyz, l(0.000010, 0.000010, 0.000010, 0.000000), |r6.xyzx|
movc r1.yz, r6.xxyx, l(0,0,0,0), cb4[8].wwww
movc r2.w, r6.z, l(0), r1.w
add r2.w, r2.w, -cb3[0].z
add r1.x, r1.x, r2.w
add_sat r1.x, r1.x, l(1.000000)
add r1.y, r1.z, r1.y
mad r1.yzw, r1.yyyy, r1.wwww, r2.xxyz
max r1.yzw, r1.yyzw, cb4[9].xxxx
min r1.yzw, r1.yyzw, l(0.000000, 1.000000, 1.000000, 1.000000)
max r2.x, r4.x, l(0.000001)
add_sat r2.y, r4.z, -cb4[9].w
sample_indexable(texture2d)(float,float,float,float) r2.y, r2.yyyy, t5.yxzw, s3
mad r2.x, -r2.x, r2.x, l(1.000000)
max r2.x, r2.x, l(0.000000)
mad r1.yzw, r1.yyzw, r2.xxxx, r2.yyyy
mul r2.xyz, r5.xyzx, cb1[138].zzzz
dp3 r2.w, r2.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r4.xyz, -cb1[138].zzzz, r5.xyzx, r2.wwww
mad r2.xyz, cb4[7].xxxx, r4.xyzx, r2.xyzx
max r2.xyz, r2.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
log r2.xyz, r2.xyzx
mul r2.xyz, r2.xyzx, cb4[7].yyyy
exp r2.xyz, r2.xyzx
mul_sat r2.xyz, r2.xyzx, cb4[8].xxxx
mad r2.xyz, r2.xyzx, cb4[3].xyzx, -cb4[4].xyzx
mad r1.yzw, r1.yyzw, r2.xxyz, cb4[4].xxyz
mov r3.yw, v0.yyyy
add r0.xyzw, -r0.xyzw, r3.xyzw
mul r0.xyzw, r0.xyzw, cb0[38].zwzw
mad r0.xyzw, r0.xyzw, cb1[134].xyxy, cb1[133].xyxy
mul r0.xyzw, r0.xyzw, cb1[135].zwzw
mul r0.xyzw, r0.xyzw, cb4[6].yyww
mul r2.x, cb4[6].x, cb1[145].z
mad r3.xyzw, r2.xxxx, l(0.090000, -0.040000, -0.100000, -0.020000), r0.xyzw
mad r0.xy, r2.xxxx, l(0.010000, 0.030000, 0.000000, 0.000000), r0.xyxx
sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t3.xyzw, s5
sample_indexable(texture2d)(float,float,float,float) r0.y, r3.xyxx, t3.yxzw, s5
sample_indexable(texture2d)(float,float,float,float) r0.z, r3.zwzz, t3.yzxw, s5
add r0.y, r0.z, r0.y
add r0.x, r0.x, r0.y
add r0.x, r0.x, l(-1.000000)
mad_sat r0.x, cb2[2].w, r0.x, l(1.000000)
mul r0.xyz, r1.yzwy, r0.xxxx
mad r1.yzw, cb1[138].zzzz, r5.xxyz, -r0.xxyz
mad r0.xyz, r1.xxxx, r1.yzwy, r0.xyzx
add r1.xyz, -r0.xyzx, cb4[5].xyzx
mad r0.xyz, cb4[10].xxxx, r1.xyzx, r0.xyzx
max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mul o0.xyz, r0.xyzx, cb1[138].yyyy
mov o0.w, l(1.000000)
ret
// Approximately 111 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.182 on Mon Jun 12 23:50:51 2023
//
// cbuffer cb4 : register(b4)
// {
//   float4 cb4[11] : packoffset(c0);
// }
//
// cbuffer cb3 : register(b3)
// {
//   float4 cb3 : packoffset(c0);
// }
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[3] : packoffset(c0);
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[146] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[39] : 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);
// SamplerState s4_s_s : register(s4);
// SamplerState s5_s_s : register(s5);
// SamplerState s6_s_s : register(s6);
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
// Texture2D<uint4> t2 : register(t2);
// Texture2D<float4> t3 : register(t3);
// Texture2D<float4> t4 : register(t4);
// Texture2D<float4> t5 : register(t5);
// Texture2D<float4> t6 : register(t6);
// Texture2D<float4> t7 : register(t7);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   float4 v1 : TEXCOORD0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xyzw = asuint(cb0[37].xyxy);
//   r1.xy = v0.xy + -r0.zw;
//   r1.xy = cb0[38].zw * r1.xy;
//   r1.xy = r1.xy * cb1[134].xy + cb1[133].xy;
//   r1.xy = cb1[135].zw * r1.xy;
//   r1.x = t0.SampleLevel(s0_s_s, r1.xy, 0).x;
//   r1.x = max(1.00000005e-18, r1.x);
//   r2.xyzw = cb1[45].wxyw * v0.yyyy;
//   r1.y = v0.x * cb1[44].w + r2.x;
//   r1.y = r1.x * cb1[46].w + r1.y;
//   r1.y = cb1[47].w + r1.y;
//   r1.zw = StereoParams.Load(float4(0,0,0,0)).xy;
//   r1.y = r1.w * r1.y + -1;
//   r1.y = r1.z * r1.y;
//   r1.y = cb1[135].x * r1.y;
//   r3.xz = r1.yy * float2(0.5,0.5) + v0.xx;
//   r1.yzw = r3.zzz * cb1[44].xyw + r2.yzw;
//   r1.xyz = r1.xxx * cb1[46].xyw + r1.yzw;
//   r1.xyz = cb1[47].xyw + r1.xyz;
//   r1.xyzw = r1.xyxy / r1.zzzz;
//   r1.xyzw = -cb1[70].xyxy + r1.xyzw;
//   r1.xyzw = r1.xyzw / cb4[8].zzzz;
//   r1.xyzw = float4(0.5,0.5,-0.5,-0.5) + r1.xyzw;
//   r1.xyzw = float4(1,1,1,1) + -r1.xyzw;
//   r2.xyz = t4.Sample(s2_s_s, r1.xy).xyz;
//   r1.x = t6.Sample(s4_s_s, r1.zw).x;
//   r1.yz = -cb1[133].xy + v0.xy;
//   r1.yz = r1.yz * cb1[134].zw + float2(-0.5,-0.5);
//   r4.xy = v0.ww * r1.yz;
//   r4.z = v0.w;
//   r1.yzw = float3(2,-2,1) * r4.xyz;
//   r1.yz = r1.yz / r1.ww;
//   r1.yz = r1.yz * cb1[66].xy + cb1[66].wz;
//   r1.w = t1.SampleLevel(s1_s_s, r1.yz, 0).x;
//   r2.w = r1.w * cb1[65].z + -cb1[65].w;
//   r1.w = r1.w * cb1[65].x + cb1[65].y;
//   r2.w = 1 / r2.w;
//   r1.w = r2.w + r1.w;
//   r2.w = 0.000199999995 * r1.w;
//   r4.x = t0.SampleLevel(s0_s_s, r1.yz, 0).x;
//   r4.y = r4.x * cb1[65].z + -cb1[65].w;
//   r4.x = r4.x * cb1[65].x + cb1[65].y;
//   r4.y = 1 / r4.y;
//   r4.x = r4.x + r4.y;
//   r4.y = 0.000199999995 * r4.x;
//   r4.xz = r4.xx / cb4[9].yz;
//   r2.w = cmp(r2.w >= r4.y);
//   r1.w = r1.w * 0.000199999995 + -r4.y;
//   r1.w = cmp(9.99999975e-06 < abs(r1.w));
//   r2.w = r2.w ? 0 : 1;
//   r1.w = r1.w ? r2.w : 1;
//   r4.yw = cb1[135].xy * r1.yz;
//   r5.xyz = t7.Sample(s6_s_s, r1.yz).xyz;
//   r1.yz = trunc(r4.yw);
//   r6.xy = (int2)r1.yz;
//   r6.zw = float2(0,0);
//   r1.y = t2.Load(r6.xyz).y;
//   r1.y = (uint)r1.y;
//   r6.xyz = float3(-10,-3,-1) + r1.yyy;
//   r6.xyz = cmp(float3(9.99999975e-06,9.99999975e-06,9.99999975e-06) < abs(r6.xyz));
//   r1.yz = r6.xy ? float2(0,0) : cb4[8].ww;
//   r2.w = r6.z ? 0 : r1.w;
//   r2.w = -cb3.z + r2.w;
//   r1.x = r2.w + r1.x;
//   r1.x = saturate(1 + r1.x);
//   r1.y = r1.y + r1.z;
//   r1.yzw = r1.yyy * r1.www + r2.xyz;
//   r1.yzw = max(cb4[9].xxx, r1.yzw);
//   r1.yzw = min(float3(1,1,1), r1.yzw);
//   r2.x = max(9.99999997e-07, r4.x);
//   r2.y = saturate(-cb4[9].w + r4.z);
//   r2.y = t5.Sample(s3_s_s, r2.yy).x;
//   r2.x = -r2.x * r2.x + 1;
//   r2.x = max(0, r2.x);
//   r1.yzw = r1.yzw * r2.xxx + r2.yyy;
//   r2.xyz = cb1[138].zzz * r5.xyz;
//   r2.w = dot(r2.xyz, float3(0.300000012,0.589999974,0.109999999));
//   r4.xyz = -cb1[138].zzz * r5.xyz + r2.www;
//   r2.xyz = cb4[7].xxx * r4.xyz + r2.xyz;
//   r2.xyz = max(float3(9.99999997e-07,9.99999997e-07,9.99999997e-07), r2.xyz);
//   r2.xyz = log2(r2.xyz);
//   r2.xyz = cb4[7].yyy * r2.xyz;
//   r2.xyz = exp2(r2.xyz);
//   r2.xyz = saturate(cb4[8].xxx * r2.xyz);
//   r2.xyz = r2.xyz * cb4[3].xyz + -cb4[4].xyz;
//   r1.yzw = r1.yzw * r2.xyz + cb4[4].xyz;
//   r3.yw = v0.yy;
//   r0.xyzw = r3.xyzw + -r0.xyzw;
//   r0.xyzw = cb0[38].zwzw * r0.xyzw;
//   r0.xyzw = r0.xyzw * cb1[134].xyxy + cb1[133].xyxy;
//   r0.xyzw = cb1[135].zwzw * r0.xyzw;
//   r0.xyzw = cb4[6].yyww * r0.xyzw;
//   r2.x = cb1[145].z * cb4[6].x;
//   r3.xyzw = r2.xxxx * float4(0.0900000036,-0.0399999991,-0.100000001,-0.0199999996) + r0.xyzw;
//   r0.xy = r2.xx * float2(0.00999999978,0.0299999993) + r0.xy;
//   r0.x = t3.Sample(s5_s_s, r0.xy).x;
//   r0.y = t3.Sample(s5_s_s, r3.xy).x;
//   r0.z = t3.Sample(s5_s_s, r3.zw).x;
//   r0.y = r0.y + r0.z;
//   r0.x = r0.y + r0.x;
//   r0.x = -1 + r0.x;
//   r0.x = saturate(cb2[2].w * r0.x + 1);
//   r0.xyz = r0.xxx * r1.yzw;
//   r1.yzw = cb1[138].zzz * r5.xyz + -r0.xyz;
//   r0.xyz = r1.xxx * r1.yzw + r0.xyz;
//   r1.xyz = cb4[5].xyz + -r0.xyz;
//   r0.xyz = cb4[10].xxx * r1.xyz + r0.xyz;
//   r0.xyz = max(float3(0,0,0), r0.xyz);
//   o0.xyz = cb1[138].yyy * r0.xyz;
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
