// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.198 on Wed Nov  5 22:35:04 2025
//
//
// Buffer Definitions:
//
// cbuffer cb2
// {
//
//   float4 cb2[7];                     // Index:    0-6              Components:    28
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[2];                     // Index:    0 1              Components:     8
//
// }
//
// 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
// t0                                texture  float4          2d    0        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   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 CB2[7], immediateIndexed
dcl_constantbuffer CB1[2], immediateIndexed
dcl_constantbuffer CB0[39], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 6
ld_indexable(buffer)(float,float,float,float) r0.x, l(0, 0, 0, 0), t125.xyzw
utof r0.yz, cb0[37].xxyx
add r0.yz, -r0.yyzy, v0.xxyx
mul r1.xy, r0.yzyy, cb0[38].zwzz
mad r1.xy, r1.xyxx, cb0[5].xyxx, cb0[4].xyxx
max r1.zw, r1.xxxy, cb0[6].xxxy
min r1.zw, r1.zzzw, cb0[6].zzzw
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.zwzz, t0.xyzw, s0
mul r0.w, cb2[3].x, cb1[0].z
mul r1.z, cb2[3].y, cb1[1].x
mul r1.z, r1.z, cb2[3].z
mad r1.w, -r0.y, cb0[38].z, cb2[3].w
mad r3.y, -r0.z, cb0[38].w, cb2[4].x
mad r3.x, r0.x, l(0.500000), r1.w
dp2 r1.w, r3.xyxx, r3.xyxx
sqrt r1.w, r1.w
mov r4.xyz, l(0,0,0,0)
mov r2.w, l(0)
loop
  ge r3.z, r2.w, r0.w
  if_nz r3.z
    break
  endif
  mul r3.z, r1.z, r2.w
  mul r3.z, r1.w, r3.z
  mad r3.zw, r3.zzzz, r3.xxxy, r1.xxxy
  sample_indexable(texture2d)(float,float,float,float) r5.xyz, r3.zwzz, t0.xyzw, s0
  add r4.xyz, r4.xyzx, r5.xyzx
  ftoi r3.z, r2.w
  iadd r3.z, r3.z, l(1)
  itof r2.w, r3.z
endloop
div r1.xyz, r4.xyzx, r0.wwww
mad r3.yz, cb0[38].zzwz, r0.yyzy, -cb2[1].xxyx
mad r3.x, r0.x, l(0.500000), r3.y
dp2 r0.x, r3.xzxx, r3.xzxx
sqrt r0.x, r0.x
mad r0.x, -r0.x, cb2[4].w, l(1.000000)
mul_sat r0.x, r0.x, cb2[5].w
add r0.x, -r0.x, l(1.000000)
add r0.yzw, -r2.xxyz, r1.xxyz
mad r0.xyz, r0.xxxx, r0.yzwy, r2.xyzx
add r1.xyz, -r0.xyzx, cb2[2].xyzx
mad r0.xyz, cb2[6].xxxx, r1.xyzx, r0.xyzx
max o0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mov o0.w, l(1.000000)
ret
// Approximately 47 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.198 on Wed Nov  5 22:35:04 2025
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[7] : packoffset(c0);
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[2] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[39] : 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(
//   float4 v0 : SV_POSITION0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3,r4,r5;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = StereoParams.Load(float4(0,0,0,0)).x;
//   r0.yz = asuint(cb0[37].xy);
//   r0.yz = v0.xy + -r0.yz;
//   r1.xy = cb0[38].zw * r0.yz;
//   r1.xy = r1.xy * cb0[5].xy + cb0[4].xy;
//   r1.zw = max(cb0[6].xy, r1.xy);
//   r1.zw = min(cb0[6].zw, r1.zw);
//   r2.xyz = t0.Sample(s0_s_s, r1.zw).xyz;
//   r0.w = cb1[0].z * cb2[3].x;
//   r1.z = cb1[1].x * cb2[3].y;
//   r1.z = cb2[3].z * r1.z;
//   r1.w = -r0.y * cb0[38].z + cb2[3].w;
//   r3.y = -r0.z * cb0[38].w + cb2[4].x;
//   r3.x = r0.x * 0.5 + r1.w;
//   r1.w = dot(r3.xy, r3.xy);
//   r1.w = sqrt(r1.w);
//   r4.xyz = float3(0,0,0);
//   r2.w = 0;
//   while (true) {
//     r3.z = cmp(r2.w >= r0.w);
//     if (r3.z != 0) {
//       break;
//     }
//     r3.z = r2.w * r1.z;
//     r3.z = r3.z * r1.w;
//     r3.zw = r3.zz * r3.xy + r1.xy;
//     r5.xyz = t0.Sample(s0_s_s, r3.zw).xyz;
//     r4.xyz = r5.xyz + r4.xyz;
//     r3.z = (int)r2.w;
//     r3.z = (int)r3.z + 1;
//     r2.w = (int)r3.z;
//   }
//   r1.xyz = r4.xyz / r0.www;
//   r3.yz = cb0[38].zw * r0.yz + -cb2[1].xy;
//   r3.x = r0.x * 0.5 + r3.y;
//   r0.x = dot(r3.xz, r3.xz);
//   r0.x = sqrt(r0.x);
//   r0.x = -r0.x * cb2[4].w + 1;
//   r0.x = saturate(cb2[5].w * r0.x);
//   r0.x = 1 + -r0.x;
//   r0.yzw = r1.xyz + -r2.xyz;
//   r0.xyz = r0.xxx * r0.yzw + r2.xyz;
//   r1.xyz = cb2[2].xyz + -r0.xyz;
//   r0.xyz = cb2[6].xxx * r1.xyz + r0.xyz;
//   o0.xyz = max(float3(0,0,0), r0.xyz);
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
