// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.182 on Thu Jun 15 21:16:58 2023
//
//
// Buffer Definitions:
//
// cbuffer cb3
// {
//
//   float4 cb3[14];                    // Index:    0-13             Components:    56
//
// }
//
// cbuffer cb2
// {
//
//   float4 cb2[6];                     // Index:    0-5              Components:    24
//
// }
//
// 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
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// t2                                texture  float4          2d    2        1
// t3                                texture  float4          2d    3        1
// t4                                texture  float4          2d    4        1
// t5                                texture  float4          2d    5        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
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy w
//
//
// 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 CB3[14], immediateIndexed
dcl_constantbuffer CB2[6], 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_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_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xyw, position
dcl_output o0.xyzw
dcl_temps 6
mul r0.x, v0.y, cb1[45].w
mad r0.x, v0.x, cb1[44].w, r0.x
utof r0.yz, cb0[37].xxyx
add r0.yz, -r0.yyzy, v0.xxyx
mul r0.yz, r0.yyzy, cb0[38].zzwz
mad r1.xy, r0.yzyy, cb1[134].xyxx, cb1[133].xyxx
mul r1.xy, r1.xyxx, cb1[135].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r1.xyxx, t0.yzwx, s0, l(0.000000)
max r0.w, r0.w, l(1.000000046E-18)
mad r0.x, r0.w, cb1[46].w, r0.x
add r0.x, r0.x, cb1[47].w
ld_indexable(buffer)(float,float,float,float) r1.xy, l(0, 0, 0, 0), t125.xyzw
mad r0.x, r1.y, r0.x, l(-1.000000)
mul r0.x, r0.x, r1.x
mul r0.x, r0.x, cb1[135].x
mad r0.x, r0.x, l(0.500000), v0.x
mul r2.xyzw, v0.yyyy, cb1[45].xyzw
mad r2.xyzw, r0.xxxx, cb1[44].xyzw, r2.xyzw
mad r2.xyzw, r0.wwww, cb1[46].xyzw, r2.xyzw
add r2.xyzw, r2.xyzw, cb1[47].xyzw
div r1.yzw, r2.xxzy, r2.wwww
add r1.yzw, r1.yyzw, -cb1[70].xxzy
div r2.xyzw, r1.ywyw, cb3[9].wwww
mul r0.x, cb3[9].z, cb1[145].z
mad r2.xyzw, r0.xxxx, l(-0.080000, -0.090000, 0.100000, 0.110000), r2.xyzw
sample_indexable(texture2d)(float,float,float,float) r0.x, r2.xyxx, t3.yxzw, s3
sample_indexable(texture2d)(float,float,float,float) r0.w, r2.zwzz, t3.yzwx, s3
add r0.x, r0.w, r0.x
add r0.x, r0.x, -cb3[10].x
mad r0.xw, r0.xxxx, cb3[10].yyyy, r1.yyyw
div r1.yzw, r1.yyzw, cb3[8].wwww
add r0.xw, r0.xxxw, -cb2[5].xxxy
dp2 r0.x, r0.xwxx, r0.xwxx
sqrt r0.x, r0.x
div r0.x, r0.x, cb2[1].w
add r0.x, -r0.x, l(1.000000)
mul r0.w, r0.x, cb3[10].z
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, l(1.44269514)
exp r0.w, r0.w
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
add r0.w, -r0.w, l(1.000000)
ge r2.x, r0.x, l(0.000000)
lt r0.x, l(0.000010), |r0.x|
and r0.w, r0.w, r2.x
and r0.x, r0.w, r0.x
add r2.xy, v0.xyxx, -cb1[133].xyxx
mad r2.xy, r2.xyxx, cb1[134].zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r2.xy, r2.xyxx, v0.wwww
mov r2.z, v0.w
mul r2.xyz, r2.xyzx, l(2.000000, -2.000000, 1.000000, 0.000000)
div r2.xy, r2.xyxx, r2.zzzz
mad r2.xy, r2.xyxx, cb1[66].xyxx, cb1[66].wzww
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r2.xyxx, t0.yzwx, s0, l(0.000000)
mad r2.z, r0.w, cb1[65].z, -cb1[65].w
mad r0.w, r0.w, cb1[65].x, cb1[65].y
div r2.z, l(1.000000, 1.000000, 1.000000, 1.000000), r2.z
add r0.w, r0.w, r2.z
div r0.w, r0.w, cb3[10].w
add_sat r0.w, r0.w, -cb3[11].x
sample_indexable(texture2d)(float,float,float,float) r2.z, r0.wwww, t4.yzxw, s4
mad r2.w, r2.z, r0.x, cb3[12].z
mul r0.x, r0.x, r2.z
mad r3.xyz, cb3[9].xyxx, cb1[145].zzzz, r1.yzwy
sample_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t2.xzwy, s2
sample_indexable(texture2d)(float,float,float,float) r3.w, r3.zyzz, t2.yzwx, s2
sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, r2.xyxx, t1.xyzw, s1, l(0.000000)
sample_indexable(texture2d)(float,float,float,float) r5.xyz, r2.xyxx, t5.xyzw, s5
mul r5.xyz, r5.xyzx, cb1[138].zzzz
mad r4.xyz, r4.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
add r2.x, |r4.y|, |r4.x|
add r2.x, |r4.z|, r2.x
div r4.xyz, |r4.xyzx|, r2.xxxx
mul r2.xy, r3.xwxx, r4.yxyy
mad r3.xyz, cb1[145].zzzz, cb3[8].xyxx, r1.yzwy
sample_indexable(texture2d)(float,float,float,float) r1.z, r3.xyxx, t2.yzxw, s2
sample_indexable(texture2d)(float,float,float,float) r3.x, r3.zyzz, t2.xyzw, s2
mad r2.y, r3.x, r4.x, r2.y
mad r1.z, r1.z, r4.y, r2.x
add r1.z, r2.y, r1.z
mad r2.xy, cb3[9].xyxx, cb1[145].zzzz, r1.ywyy
mad r1.yw, cb1[145].zzzz, cb3[8].xxxy, r1.yyyw
sample_indexable(texture2d)(float,float,float,float) r1.y, r1.ywyy, t2.yxzw, s2
sample_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s2
mul r1.w, r4.z, r1.w
mad r1.y, r1.y, r4.z, r1.w
add_sat r1.y, r1.y, r1.z
add r1.zw, -r1.yyyy, l(0.000000, 0.000000, 0.500000, 1.000000)
mad r1.w, r2.w, r1.w, r1.y
mad r0.x, r0.x, r1.z, r1.y
mad r0.x, -cb3[11].y, cb2[2].w, r0.x
mul r1.y, cb3[11].z, cb2[2].w
mul r0.x, r0.x, r1.y
mad r1.yz, r0.xxxx, l(0.000000, 0.100000, 0.100000, 0.000000), r0.yyzy
div r2.xy, cb1[134].xyxx, cb1[135].xyxx
mul r1.yz, r1.yyzy, r2.xxyx
sample_indexable(texture2d)(float,float,float,float) r2.xyw, r1.yzyy, t5.xywz, s5
mul r3.xyz, r2.xywx, cb1[138].zzzz
dp3 r0.x, r3.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r4.xyz, -cb1[138].zzzz, r2.xywx, r0.xxxx
mad r4.xyz, cb3[12].xxxx, r4.xyzx, r3.xyzx
max r4.xyz, r4.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
log r4.xyz, r4.xyzx
mul r4.xyz, r4.xyzx, cb3[12].yyyy
exp r4.xyz, r4.xyzx
mul r4.xyz, r4.xyzx, cb3[6].xyzx
mad r1.yzw, r4.xxyz, r1.wwww, -r3.xxyz
mad r1.yzw, r2.zzzz, r1.yyzw, r3.xxyz
mad r2.xyz, cb1[138].zzzz, r2.xywx, -r1.yzwy
mad r1.yzw, r0.wwww, r2.xxyz, r1.yyzw
mul r0.xw, cb1[135].zzzw, cb1[135].xxxy
div r0.xy, r0.yzyy, r0.xwxx
add r0.yz, r0.xxyx, l(0.000000, -0.500000, -0.500000, 0.000000)
mad r0.x, -r1.x, l(0.500000), r0.y
dp2 r0.x, r0.xzxx, r0.xzxx
sqrt r0.x, r0.x
div r0.x, r0.x, cb3[13].x
add r0.x, -r0.x, l(1.000000)
mul r0.y, r0.x, cb3[13].y
mul r0.y, r0.y, r0.y
mul r0.y, r0.y, l(1.44269514)
exp r0.y, r0.y
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
add r0.y, -r0.y, l(1.000000)
mul r0.y, r0.y, cb3[13].z
ge r0.z, r0.x, l(0.000000)
lt r0.x, l(0.000010), |r0.x|
and r0.y, r0.y, r0.z
and r0.x, r0.y, r0.x
add r0.y, -cb2[2].w, l(1.000000)
max r0.x, r0.x, r0.y
mad r0.xyz, r1.yzwy, r0.xxxx, -r5.xyzx
mad r0.xyz, cb2[0].wwww, r0.xyzx, r5.xyzx
add r1.xyz, -r0.xyzx, cb3[7].xyzx
mad r0.xyz, cb3[13].wwww, 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 139 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.182 on Thu Jun 15 21:16:58 2023
//
// cbuffer cb3 : register(b3)
// {
//   float4 cb3[14] : packoffset(c0);
// }
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[6] : 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);
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
// Texture2D<float4> t2 : register(t2);
// Texture2D<float4> t3 : register(t3);
// Texture2D<float4> t4 : register(t4);
// Texture2D<float4> t5 : register(t5);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3,r4,r5;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = cb1[45].w * v0.y;
//   r0.x = v0.x * cb1[44].w + r0.x;
//   r0.yz = asuint(cb0[37].xy);
//   r0.yz = v0.xy + -r0.yz;
//   r0.yz = cb0[38].zw * r0.yz;
//   r1.xy = r0.yz * cb1[134].xy + cb1[133].xy;
//   r1.xy = cb1[135].zw * r1.xy;
//   r0.w = t0.SampleLevel(s0_s_s, r1.xy, 0).x;
//   r0.w = max(1.00000005e-18, r0.w);
//   r0.x = r0.w * cb1[46].w + r0.x;
//   r0.x = cb1[47].w + r0.x;
//   r1.xy = StereoParams.Load(float4(0,0,0,0)).xy;
//   r0.x = r1.y * r0.x + -1;
//   r0.x = r1.x * r0.x;
//   r0.x = cb1[135].x * r0.x;
//   r0.x = r0.x * 0.5 + v0.x;
//   r2.xyzw = cb1[45].xyzw * v0.yyyy;
//   r2.xyzw = r0.xxxx * cb1[44].xyzw + r2.xyzw;
//   r2.xyzw = r0.wwww * cb1[46].xyzw + r2.xyzw;
//   r2.xyzw = cb1[47].xyzw + r2.xyzw;
//   r1.yzw = r2.xzy / r2.www;
//   r1.yzw = -cb1[70].xzy + r1.yzw;
//   r2.xyzw = r1.ywyw / cb3[9].wwww;
//   r0.x = cb1[145].z * cb3[9].z;
//   r2.xyzw = r0.xxxx * float4(-0.0799999982,-0.0900000036,0.100000001,0.109999999) + r2.xyzw;
//   r0.x = t3.Sample(s3_s_s, r2.xy).y;
//   r0.w = t3.Sample(s3_s_s, r2.zw).x;
//   r0.x = r0.x + r0.w;
//   r0.x = -cb3[10].x + r0.x;
//   r0.xw = r0.xx * cb3[10].yy + r1.yw;
//   r1.yzw = r1.yzw / cb3[8].www;
//   r0.xw = -cb2[5].xy + r0.xw;
//   r0.x = dot(r0.xw, r0.xw);
//   r0.x = sqrt(r0.x);
//   r0.x = r0.x / cb2[1].w;
//   r0.x = 1 + -r0.x;
//   r0.w = cb3[10].z * r0.x;
//   r0.w = r0.w * r0.w;
//   r0.w = 1.44269514 * r0.w;
//   r0.w = exp2(r0.w);
//   r0.w = 1 / r0.w;
//   r0.w = 1 + -r0.w;
//   r2.x = cmp(r0.x >= 0);
//   r0.x = cmp(9.99999975e-06 < abs(r0.x));
//   r0.w = r2.x ? r0.w : 0;
//   r0.x = r0.x ? r0.w : 0;
//   r2.xy = -cb1[133].xy + v0.xy;
//   r2.xy = r2.xy * cb1[134].zw + float2(-0.5,-0.5);
//   r2.xy = v0.ww * r2.xy;
//   r2.z = v0.w;
//   r2.xyz = float3(2,-2,1) * r2.xyz;
//   r2.xy = r2.xy / r2.zz;
//   r2.xy = r2.xy * cb1[66].xy + cb1[66].wz;
//   r0.w = t0.SampleLevel(s0_s_s, r2.xy, 0).x;
//   r2.z = r0.w * cb1[65].z + -cb1[65].w;
//   r0.w = r0.w * cb1[65].x + cb1[65].y;
//   r2.z = 1 / r2.z;
//   r0.w = r2.z + r0.w;
//   r0.w = r0.w / cb3[10].w;
//   r0.w = saturate(-cb3[11].x + r0.w);
//   r2.z = t4.Sample(s4_s_s, r0.ww).x;
//   r2.w = r2.z * r0.x + cb3[12].z;
//   r0.x = r2.z * r0.x;
//   r3.xyz = cb3[9].xyx * cb1[145].zzz + r1.yzw;
//   r3.x = t2.Sample(s2_s_s, r3.xy).x;
//   r3.w = t2.Sample(s2_s_s, r3.zy).x;
//   r4.xyz = t1.SampleLevel(s1_s_s, r2.xy, 0).xyz;
//   r5.xyz = t5.Sample(s5_s_s, r2.xy).xyz;
//   r5.xyz = cb1[138].zzz * r5.xyz;
//   r4.xyz = r4.xyz * float3(2,2,2) + float3(-1,-1,-1);
//   r2.x = abs(r4.x) + abs(r4.y);
//   r2.x = r2.x + abs(r4.z);
//   r4.xyz = abs(r4.xyz) / r2.xxx;
//   r2.xy = r4.yx * r3.xw;
//   r3.xyz = cb1[145].zzz * cb3[8].xyx + r1.yzw;
//   r1.z = t2.Sample(s2_s_s, r3.xy).x;
//   r3.x = t2.Sample(s2_s_s, r3.zy).x;
//   r2.y = r3.x * r4.x + r2.y;
//   r1.z = r1.z * r4.y + r2.x;
//   r1.z = r1.z + r2.y;
//   r2.xy = cb3[9].xy * cb1[145].zz + r1.yw;
//   r1.yw = cb1[145].zz * cb3[8].xy + r1.yw;
//   r1.y = t2.Sample(s2_s_s, r1.yw).x;
//   r1.w = t2.Sample(s2_s_s, r2.xy).x;
//   r1.w = r1.w * r4.z;
//   r1.y = r1.y * r4.z + r1.w;
//   r1.y = saturate(r1.z + r1.y);
//   r1.zw = float2(0.5,1) + -r1.yy;
//   r1.w = r2.w * r1.w + r1.y;
//   r0.x = r0.x * r1.z + r1.y;
//   r0.x = -cb3[11].y * cb2[2].w + r0.x;
//   r1.y = cb2[2].w * cb3[11].z;
//   r0.x = r1.y * r0.x;
//   r1.yz = r0.xx * float2(0.100000001,0.100000001) + r0.yz;
//   r2.xy = cb1[134].xy / cb1[135].xy;
//   r1.yz = r2.xy * r1.yz;
//   r2.xyw = t5.Sample(s5_s_s, r1.yz).xyz;
//   r3.xyz = cb1[138].zzz * r2.xyw;
//   r0.x = dot(r3.xyz, float3(0.300000012,0.589999974,0.109999999));
//   r4.xyz = -cb1[138].zzz * r2.xyw + r0.xxx;
//   r4.xyz = cb3[12].xxx * r4.xyz + r3.xyz;
//   r4.xyz = max(float3(9.99999997e-07,9.99999997e-07,9.99999997e-07), r4.xyz);
//   r4.xyz = log2(r4.xyz);
//   r4.xyz = cb3[12].yyy * r4.xyz;
//   r4.xyz = exp2(r4.xyz);
//   r4.xyz = cb3[6].xyz * r4.xyz;
//   r1.yzw = r4.xyz * r1.www + -r3.xyz;
//   r1.yzw = r2.zzz * r1.yzw + r3.xyz;
//   r2.xyz = cb1[138].zzz * r2.xyw + -r1.yzw;
//   r1.yzw = r0.www * r2.xyz + r1.yzw;
//   r0.xw = cb1[135].xy * cb1[135].zw;
//   r0.xy = r0.yz / r0.xw;
//   r0.yz = float2(-0.5,-0.5) + r0.xy;
//   r0.x = -r1.x * 0.5 + r0.y;
//   r0.x = dot(r0.xz, r0.xz);
//   r0.x = sqrt(r0.x);
//   r0.x = r0.x / cb3[13].x;
//   r0.x = 1 + -r0.x;
//   r0.y = cb3[13].y * r0.x;
//   r0.y = r0.y * r0.y;
//   r0.y = 1.44269514 * r0.y;
//   r0.y = exp2(r0.y);
//   r0.y = 1 / r0.y;
//   r0.y = 1 + -r0.y;
//   r0.y = cb3[13].z * r0.y;
//   r0.z = cmp(r0.x >= 0);
//   r0.x = cmp(9.99999975e-06 < abs(r0.x));
//   r0.y = r0.z ? r0.y : 0;
//   r0.x = r0.x ? r0.y : 0;
//   r0.y = 1 + -cb2[2].w;
//   r0.x = max(r0.y, r0.x);
//   r0.xyz = r1.yzw * r0.xxx + -r5.xyz;
//   r0.xyz = cb2[0].www * r0.xyz + r5.xyz;
//   r1.xyz = cb3[7].xyz + -r0.xyz;
//   r0.xyz = cb3[13].www * r1.xyz + r0.xyz;
//   r0.xyz = max(float3(0,0,0), r0.xyz);
//   o0.xyz = cb1[138].yyy * r0.xyz;
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
