// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.198 on Sat May 31 19:13:42 2025
//
//
// Buffer Definitions:
//
// cbuffer cb0
// {
//
//   float4 cb0[68];                    // Index:    0-67             Components:   272
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s                              sampler      NA          NA    0        1
// t0                                texture  float4          2d    0        1
// cb0                               cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy
// SV_POSITION              0   xyzw        1      POS   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 CB0[68], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear noperspective v0.xy
dcl_output o0.xyzw
dcl_temps 4
add r0.xy, -cb0[67].yzyy, cb0[67].xwxx
div r0.zw, v0.xxxy, cb0[66].zzzw
ge r1.xy, l(0.500000, 0.500000, 0.000000, 0.000000), r0.zwzz
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mad r0.xy, r1.xxxx, r0.xyxx, cb0[67].yzyy
add r0.x, -r0.y, r0.x
mad r0.x, r1.y, r0.x, r0.y
mad r1.xy, cb0[66].xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), -r0.xxxx
mul r1.zw, cb0[66].xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
mad r0.yz, cb0[66].xxyx, r0.zzwz, -r1.zzwz
add r1.xy, -r1.xyxx, |r0.yzyy|
add r1.zw, -r0.xxxx, r1.xxxy
max r0.w, r1.w, r1.z
dp2 r1.z, r1.xyxx, r1.xyxx
ge r1.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r1.xyxx
or r1.x, r1.x, r1.y
itof r1.x, r1.x
ne r1.x, l(0.000000, 0.000000, 0.000000, 0.000000), r1.x
and r1.x, r1.x, l(0x3f800000)
sqrt r1.y, r1.z
add r1.y, -r0.x, r1.y
max r0.x, r0.x, l(0.000000)
add r0.w, r0.w, -r1.y
mad r0.w, r1.x, r0.w, r1.y
add r0.w, r0.w, l(-1.000000)
mul_sat r0.w, r0.w, l(-0.500000)
mad r1.x, r0.w, l(-2.000000), l(3.000000)
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, r1.x
mov r1.w, l(0)
sample_indexable(texture2d)(float,float,float,float) r2.xyzw, v0.xyxx, t0.xyzw, s0
mov r1.xyz, r2.xyzx
add r3.xyzw, -r1.xyzw, r2.xyzw
mad r1.xyzw, r0.wwww, r3.xyzw, r1.xyzw
add r2.xyzw, -r1.xyzw, r2.xyzw
mad r3.xy, cb0[66].xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), -r0.xxxx
add r0.yz, |r0.yyzy|, -r3.xxyx
add r3.xy, -r0.xxxx, r0.yzyy
max r0.w, r3.y, r3.x
dp2 r3.x, r0.yzyy, r0.yzyy
ge r0.yz, l(0.000000, 0.000000, 0.000000, 0.000000), r0.yyzy
or r0.y, r0.y, r0.z
itof r0.y, r0.y
ne r0.y, l(0.000000, 0.000000, 0.000000, 0.000000), r0.y
and r0.y, r0.y, l(0x3f800000)
sqrt r0.z, r3.x
add r0.x, -r0.x, r0.z
add r0.z, -r0.x, r0.w
mad r0.x, r0.y, r0.z, r0.x
add r0.x, r0.x, l(-0.500000)
mov_sat r0.x, -r0.x
mad r0.y, r0.x, l(-2.000000), l(3.000000)
mul r0.x, r0.x, r0.x
mul r0.x, r0.x, r0.y
mad o0.xyzw, r0.xxxx, r2.xyzw, r1.xyzw
ret
// Approximately 56 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.198 on Sat May 31 19:13:42 2025
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[68] : packoffset(c0);
// }
//
// SamplerState s0_s_s : register(s0);
// Texture2D<float4> t0 : register(t0);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   linear noperspective float2 v0 : TEXCOORD0,
//   float4 v1 : SV_POSITION0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = cb0[67].xw + -cb0[67].yz;
//   r0.zw = v0.xy / cb0[66].zw;
//   r1.xy = cmp(float2(0.5,0.5) >= r0.zw);
//   r1.xy = r1.xy ? float2(1,1) : 0;
//   r0.xy = r1.xx * r0.xy + cb0[67].yz;
//   r0.x = r0.x + -r0.y;
//   r0.x = r1.y * r0.x + r0.y;
//   r1.xy = cb0[66].xy * float2(0.5,0.5) + -r0.xx;
//   r1.zw = float2(0.5,0.5) * cb0[66].xy;
//   r0.yz = cb0[66].xy * r0.zw + -r1.zw;
//   r1.xy = abs(r0.yz) + -r1.xy;
//   r1.zw = r1.xy + -r0.xx;
//   r0.w = max(r1.z, r1.w);
//   r1.z = dot(r1.xy, r1.xy);
//   r1.xy = cmp(float2(0,0) >= r1.xy);
//   r1.x = (int)r1.x | (int)r1.y;
//   r1.x = (int)r1.x;
//   r1.x = cmp(0 != r1.x);
//   r1.x = r1.x ? 1.000000 : 0;
//   r1.y = sqrt(r1.z);
//   r1.y = r1.y + -r0.x;
//   r0.x = max(0, r0.x);
//   r0.w = -r1.y + r0.w;
//   r0.w = r1.x * r0.w + r1.y;
//   r0.w = -1 + r0.w;
//   r0.w = saturate(-0.5 * r0.w);
//   r1.x = r0.w * -2 + 3;
//   r0.w = r0.w * r0.w;
//   r0.w = r1.x * r0.w;
//   r1.w = 0;
//   r2.xyzw = t0.Sample(s0_s_s, v0.xy).xyzw;
//   r1.xyz = r2.xyz;
//   r3.xyzw = r2.xyzw + -r1.xyzw;
//   r1.xyzw = r0.wwww * r3.xyzw + r1.xyzw;
//   r2.xyzw = r2.xyzw + -r1.xyzw;
//   r3.xy = cb0[66].xy * float2(0.5,0.5) + -r0.xx;
//   r0.yz = -r3.xy + abs(r0.yz);
//   r3.xy = r0.yz + -r0.xx;
//   r0.w = max(r3.x, r3.y);
//   r3.x = dot(r0.yz, r0.yz);
//   r0.yz = cmp(float2(0,0) >= r0.yz);
//   r0.y = (int)r0.y | (int)r0.z;
//   r0.y = (int)r0.y;
//   r0.y = cmp(0 != r0.y);
//   r0.y = r0.y ? 1.000000 : 0;
//   r0.z = sqrt(r3.x);
//   r0.x = r0.z + -r0.x;
//   r0.z = r0.w + -r0.x;
//   r0.x = r0.y * r0.z + r0.x;
//   r0.x = -0.5 + r0.x;
//   r0.x = saturate(-r0.x);
//   r0.y = r0.x * -2 + 3;
//   r0.x = r0.x * r0.x;
//   r0.x = r0.y * r0.x;
//   o0.xyzw = r0.xxxx * r2.xyzw + r1.xyzw;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
