// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.198 on Sat Oct 17 17:41:47 2026
//
//
// Buffer Definitions:
//
// cbuffer cb1
// {
//
//   float4 cb1[6];                     // Index:    0-5              Components:    24
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[130];                   // Index:    0-129            Components:   520
//
// }
//
//
// 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
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
// INTERP                   0   xyzw        1     NONE   float   xy
// INTERP                   1   xyzw        2     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
//
ps_4_0
dcl_constantbuffer CB1[6], immediateIndexed
dcl_constantbuffer CB0[130], 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 linear v1.xy
dcl_output o0.xyzw
dcl_temps 7
mul r0.x, cb1[0].x, cb0[129].z
lt r0.y, l(0.000000), r0.x
if_nz r0.y
  ld r1.xyzw, l(0, 0, 0, 0), t125.xyzw
  mad r0.y, -r1.x, l(0.500000), v1.x
  mul r0.x, r0.x, l(0.100000)
  mov r0.z, v1.y
  mad r1.yz, r0.yyzy, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
  mul r2.xyz, r1.zzzz, cb0[38].xyzx
  mad r2.xyz, cb0[37].xyzx, r1.yyyy, r2.xyzx
  add r2.xyz, r2.xyzx, -cb0[40].xyzx
  mul r3.xyz, r2.yyyy, cb0[46].xyzx
  mad r2.xyw, cb0[45].xyxz, r2.xxxx, r3.xyxz
  mad r2.xyz, cb0[47].xyzx, r2.zzzz, r2.xywx
  dp3 r0.w, r2.xyzx, r2.xyzx
  rsq r0.w, r0.w
  mul r2.xyz, r0.wwww, r2.xyzx
  dp3_sat r0.w, cb1[5].yzwy, r2.xyzx
  mul r1.w, r0.w, r0.w
  mul r0.w, r0.w, r1.w
  mul r0.x, r0.w, r0.x
  lt r0.w, l(0.000000), r0.x
  if_nz r0.w
    ne r0.w, cb1[3].x, l(0.000000)
    mul r2.xyz, cb1[5].zzzz, cb0[42].xyzx
    mad r2.xyz, cb0[41].xyzx, cb1[5].yyyy, r2.xyzx
    mad r2.xyz, cb0[43].xyzx, cb1[5].wwww, r2.xyzx
    mul r3.xyz, r2.yyyy, cb0[34].xywx
    mad r2.xyw, cb0[33].xyxw, r2.xxxx, r3.xyxz
    mad r2.xyz, cb0[35].xywx, r2.zzzz, r2.xywx
    add r2.xyz, r2.xyzx, cb0[36].xywx
    div r2.xy, -r2.xyxx, r2.zzzz
    lt r2.zw, r2.xxxy, l(0.000000, 0.000000, -1.100000, -1.100000)
    or r1.w, r2.z, r2.w
    lt r2.zw, l(0.000000, 0.000000, 1.100000, 1.100000), r2.xxxy
    or r2.z, r2.z, r2.w
    or r1.w, r1.w, r2.z
    itof r1.w, r1.w
    and r0.w, r0.w, r1.w
    eq r0.w, r0.w, l(0.000000)
    if_nz r0.w
      round_ne r0.w, cb1[1].x
      ne r2.zw, cb1[0].yyyz, l(0.000000, 0.000000, 0.000000, 0.000000)
      mul r3.xyz, cb1[2].xyzx, cb1[4].xyzx
      add r1.yz, -r1.yyzy, r2.xxyx
      and r1.w, r2.w, cb0[15].x
      add r2.xy, r0.yzyy, r1.wwww
      dp2 r1.w, r2.xyxx, l(12.989800, 78.233002, 0.000000, 0.000000)
      sincos r1.w, null, r1.w
      mul r1.w, r1.w, l(43758.546875)
      frc r1.w, r1.w
      div r2.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
      mul r2.y, r2.x, cb1[0].w
      mul r4.xy, r1.yzyy, r1.wwww
      div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), cb1[0].w
      mul r2.w, -r0.x, r2.y
      mul r2.w, r1.w, r2.w
      mul r2.w, r2.w, l(1.442695)
      exp r2.w, r2.w
      mul r3.xyz, r0.xxxx, r3.xyzx
      mul r3.xyz, r2.yyyy, r3.xyzx
      mul r3.xyz, r1.wwww, r3.xyzx
      mul r1.yz, r1.yyzy, r2.yyyy
      ftoi r0.x, r0.w
      mov r5.xyz, l(0,0,0,0)
      mov r0.w, l(1.000000)
      mov r1.w, l(0)
      loop
        ftoi r3.w, r1.w
        ige r4.z, r3.w, r0.x
        if_nz r4.z
          break
        endif
        mad r6.yz, r1.yyzy, r1.wwww, r0.yyzy
        mad r6.x, r1.x, l(0.500000), r6.y
        mad r4.zw, r4.xxxy, r2.yyyy, r6.xxxz
        mul r4.zw, r4.zzzw, cb0[129].xxxy
        lt r6.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r4.zwzz
        and r5.w, r6.y, r6.x
        and r5.w, r5.w, l(0xbf800000)
        lt r6.xy, r4.zwzz, cb0[129].xyxx
        and r5.w, r5.w, r6.x
        and r5.w, r5.w, r6.y
        ne r5.w, r5.w, l(0.000000)
        if_nz r5.w
          sample_l r6.xyzw, r4.zwzz, t0.xyzw, s0, l(0.000000)
          add r5.w, -r6.x, l(1.000000)
        else
          mov r5.w, l(0)
        endif
        mad r4.zw, r4.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
        add r4.zw, |r4.zzzw|, l(0.000000, 0.000000, -0.900000, -0.900000)
        mul_sat r4.zw, r4.zzzw, l(0.000000, 0.000000, 9.999998, 9.999998)
        mad r6.xy, r4.zwzz, l(-2.000000, -2.000000, 0.000000, 0.000000), l(3.000000, 3.000000, 0.000000, 0.000000)
        mul r4.zw, r4.zzzw, r4.zzzw
        mul r4.zw, r4.zzzw, r6.xxxy
        max r4.z, r4.w, r4.z
        add r4.w, -r5.w, l(1.000000)
        mad r4.z, r4.z, r4.w, r5.w
        movc r4.z, r2.z, r4.z, r5.w
        mul r4.w, r2.x, r1.w
        mul r4.w, r4.w, r4.w
        mul r4.w, r4.w, cb1[5].x
        add r5.w, -r4.z, l(1.000000)
        mad r4.z, r4.w, r5.w, r4.z
        mul r6.xyz, r0.wwww, r3.xyzx
        mad r5.xyz, r6.xyzx, r4.zzzz, r5.xyzx
        mul r0.w, r2.w, r0.w
        iadd r3.w, r3.w, l(1)
        itof r1.w, r3.w
      endloop
    else
      mov r5.xyz, l(0,0,0,0)
    endif
  else
    mov r5.xyz, l(0,0,0,0)
  endif
else
  mov r5.xyz, l(0,0,0,0)
endif
mov o0.xyz, r5.xyzx
mov o0.w, l(1.000000)
ret
// Approximately 123 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.198 on Sat Oct 17 17:41:47 2026
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[6] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[130] : 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,
//   float4 v1 : INTERP0,
//   float4 v2 : INTERP1,
//   out float4 o0 : SV_TARGET0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = cb0[129].z * cb1[0].x;
//   r0.y = cmp(0 < r0.x);
//   if (r0.y != 0) {
//     r1.xyzw = StereoParams.Load(float4(0,0,0,0)).xyzw;
//     r0.y = -r1.x * 0.5 + v1.x;
//     r0.x = 0.100000001 * r0.x;
//     r0.z = v1.y;
//     r1.yz = r0.yz * float2(2,2) + float2(-1,-1);
//     r2.xyz = cb0[38].xyz * r1.zzz;
//     r2.xyz = cb0[37].xyz * r1.yyy + r2.xyz;
//     r2.xyz = -cb0[40].xyz + r2.xyz;
//     r3.xyz = cb0[46].xyz * r2.yyy;
//     r2.xyw = cb0[45].xyz * r2.xxx + r3.xyz;
//     r2.xyz = cb0[47].xyz * r2.zzz + r2.xyw;
//     r0.w = dot(r2.xyz, r2.xyz);
//     r0.w = rsqrt(r0.w);
//     r2.xyz = r2.xyz * r0.www;
//     r0.w = saturate(dot(cb1[5].yzw, r2.xyz));
//     r1.w = r0.w * r0.w;
//     r0.w = r1.w * r0.w;
//     r0.x = r0.x * r0.w;
//     r0.w = cmp(0 < r0.x);
//     if (r0.w != 0) {
//       r0.w = cmp(cb1[3].x != 0.000000);
//       r2.xyz = cb0[42].xyz * cb1[5].zzz;
//       r2.xyz = cb0[41].xyz * cb1[5].yyy + r2.xyz;
//       r2.xyz = cb0[43].xyz * cb1[5].www + r2.xyz;
//       r3.xyz = cb0[34].xyw * r2.yyy;
//       r2.xyw = cb0[33].xyw * r2.xxx + r3.xyz;
//       r2.xyz = cb0[35].xyw * r2.zzz + r2.xyw;
//       r2.xyz = cb0[36].xyw + r2.xyz;
//       r2.xy = -r2.xy / r2.zz;
//       r2.zw = cmp(r2.xy < float2(-1.10000002,-1.10000002));
//       r1.w = (int)r2.z | (int)r2.w;
//       r2.zw = cmp(float2(1.10000002,1.10000002) < r2.xy);
//       r2.z = (int)r2.z | (int)r2.w;
//       r1.w = (int)r1.w | (int)r2.z;
//       r1.w = (int)r1.w;
//       r0.w = r0.w ? r1.w : 0;
//       r0.w = cmp(r0.w == 0.000000);
//       if (r0.w != 0) {
//         r0.w = round(cb1[1].x);
//         r2.zw = cmp(cb1[0].yz != float2(0,0));
//         r3.xyz = cb1[4].xyz * cb1[2].xyz;
//         r1.yz = r2.xy + -r1.yz;
//         r1.w = r2.w ? cb0[15].x : 0;
//         r2.xy = r1.ww + r0.yz;
//         r1.w = dot(r2.xy, float2(12.9898005,78.2330017));
//         r1.w = sin(r1.w);
//         r1.w = 43758.5469 * r1.w;
//         r1.w = frac(r1.w);
//         r2.x = 1 / r0.w;
//         r2.y = cb1[0].w * r2.x;
//         r4.xy = r1.ww * r1.yz;
//         r1.w = 1 / cb1[0].w;
//         r2.w = r2.y * -r0.x;
//         r2.w = r2.w * r1.w;
//         r2.w = 1.44269502 * r2.w;
//         r2.w = exp2(r2.w);
//         r3.xyz = r3.xyz * r0.xxx;
//         r3.xyz = r3.xyz * r2.yyy;
//         r3.xyz = r3.xyz * r1.www;
//         r1.yz = r2.yy * r1.yz;
//         r0.x = (int)r0.w;
//         r5.xyz = float3(0,0,0);
//         r0.w = 1;
//         r1.w = 0;
//         while (true) {
//           r3.w = (int)r1.w;
//           r4.z = cmp((int)r3.w >= (int)r0.x);
//           if (r4.z != 0) {
//             break;
//           }
//           r6.yz = r1.yz * r1.ww + r0.yz;
//           r6.x = r1.x * 0.5 + r6.y;
//           r4.zw = r4.xy * r2.yy + r6.xz;
//           r4.zw = cb0[129].xy * r4.zw;
//           r6.xy = cmp(float2(0,0) < r4.zw);
//           r5.w = r6.y ? r6.x : 0;
//           r5.w = (int)r5.w & 0xbf800000;
//           r6.xy = cmp(r4.zw < cb0[129].xy);
//           r5.w = r6.x ? r5.w : 0;
//           r5.w = r6.y ? r5.w : 0;
//           r5.w = cmp(r5.w != 0.000000);
//           if (r5.w != 0) {
//             r6.xyzw = t0.SampleLevel(s0_s_s, r4.zw, 0).xyzw;
//             r5.w = 1 + -r6.x;
//           } else {
//             r5.w = 0;
//           }
//           r4.zw = r4.zw * float2(2,2) + float2(-1,-1);
//           r4.zw = float2(-0.899999976,-0.899999976) + abs(r4.zw);
//           r4.zw = saturate(float2(9.99999809,9.99999809) * r4.zw);
//           r6.xy = r4.zw * float2(-2,-2) + float2(3,3);
//           r4.zw = r4.zw * r4.zw;
//           r4.zw = r6.xy * r4.zw;
//           r4.z = max(r4.z, r4.w);
//           r4.w = 1 + -r5.w;
//           r4.z = r4.z * r4.w + r5.w;
//           r4.z = r2.z ? r4.z : r5.w;
//           r4.w = r1.w * r2.x;
//           r4.w = r4.w * r4.w;
//           r4.w = cb1[5].x * r4.w;
//           r5.w = 1 + -r4.z;
//           r4.z = r4.w * r5.w + r4.z;
//           r6.xyz = r3.xyz * r0.www;
//           r5.xyz = r6.xyz * r4.zzz + r5.xyz;
//           r0.w = r0.w * r2.w;
//           r3.w = (int)r3.w + 1;
//           r1.w = (int)r3.w;
//         }
//       } else {
//         r5.xyz = float3(0,0,0);
//       }
//     } else {
//       r5.xyz = float3(0,0,0);
//     }
//   } else {
//     r5.xyz = float3(0,0,0);
//   }
//   o0.xyz = r5.xyz;
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
