// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.198 on Sun Jan 18 23:59:47 2026
//
//
// Buffer Definitions:
//
// cbuffer cb1
// {
//
//   float4 cb1[155];                   // Index:    0-154            Components:   620
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[3];                     // Index:    0 1 2            Components:    12
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s                              sampler      NA          NA    0        1
// s1_s                              sampler      NA          NA    1        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
// cb0                               cbuffer      NA          NA    0        1
// cb1                               cbuffer      NA          NA    1        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float     zw
// 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_immediateConstantBuffer { { 0.800000, 0, 0, 0},
                              { 0.300000, 0, 0, 0},
                              { 0.200000, 0, 0, 0} }
dcl_constantbuffer CB1[155], immediateIndexed
dcl_constantbuffer CB0[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, 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_input_ps linear v0.zw
dcl_output o0.xyzw
dcl_temps 8
mad r0.xy, v0.zwzz, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
mad r0.zw, cb0[0].xxxy, r0.xxxy, cb0[0].zzzw
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t0.yzxw, s1, l(0.000000)
mad r0.w, r0.z, cb1[65].x, cb1[65].y
mad r0.z, r0.z, cb1[65].z, -cb1[65].w
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
add r0.z, r0.z, r0.w
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r0.xyxx, t2.yzwx, s0, l(0.000000)
add r1.x, cb1[153].z, cb1[153].x
add r1.x, r0.z, -r1.x
rcp r1.y, cb1[154].w
mul r1.x, r1.y, r1.x
mul r1.x, r1.x, cb1[154].z
max r1.x, r1.x, l(0.000000)
add r0.z, r0.z, -cb1[153].x
lt r0.z, l(0.000000), r0.z
and r0.z, r1.x, r0.z
min r0.z, r0.z, l(1.500000)
add r1.x, r0.z, r0.w
mul r1.yz, cb0[1].zzwz, cb0[2].xxyx
mul r1.xy, r1.xxxx, r1.yzyy
mad r0.z, r0.w, l(-2.000000), r0.z
sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, r0.xyxx, t1.xyzw, s0, l(0.000000)
mov r3.xyz, r2.xyzx
mov r0.w, l(1.000000)
mov r1.z, l(1.000000)
loop
  ftoi r1.w, r1.z
  ilt r2.w, l(3), r1.w
  if_nz r2.w
    break
  endif
  iadd r4.xy, r1.wwww, l(-1, 1, 0, 0)
  itof r4.xy, r4.xyxx
  imul null, r1.w, r1.w, l(5)
  itof r2.w, r1.w
  div r2.w, l(6.28318548), r2.w
  ftou r3.w, r4.x
  mov r4.xzw, r3.xxyz
  mov r5.x, r0.w
  mov r5.y, l(0)
  loop
    ftoi r5.z, r5.y
    ige r5.w, r5.z, r1.w
    if_nz r5.w
      break
    endif
    mul r5.w, r2.w, r5.y
    sincos r6.x, r7.x, r5.w
    mul r7.x, r1.z, r7.x
    mul r7.y, r1.z, r6.x
    mad r6.xy, r7.xyxx, r1.xyxx, r0.xyxx
    sample_l_indexable(texture2d)(float,float,float,float) r5.w, r6.xyxx, t3.yzwx, s0, l(0.000000)
    add r5.w, r5.w, icb[r3.w + 0].x
    ge r5.w, r5.w, r0.z
    if_nz r5.w
      sample_l_indexable(texture2d)(float,float,float,float) r6.xyz, r6.xyxx, t1.xyzw, s0, l(0.000000)
      add r4.xzw, r4.xxzw, r6.xxyz
      add r5.x, r5.x, l(1.000000)
    endif
    iadd r5.z, r5.z, l(1)
    itof r5.y, r5.z
  endloop
  mov r3.xyz, r4.xzwx
  mov r0.w, r5.x
  mov r1.z, r4.y
endloop
rcp r0.x, r0.w
mul o0.xyz, r0.xxxx, r3.xyzx
mov o0.w, l(1.000000)
ret
// Approximately 71 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.198 on Sun Jan 18 23:59:47 2026
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[155] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[3] : packoffset(c0);
// }
//
// SamplerState s0_s_s : register(s0);
// SamplerState s1_s_s : register(s1);
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
// Texture2D<float4> t2 : register(t2);
// Texture2D<float4> t3 : register(t3);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : TEXCOORD0,
//   float4 v1 : SV_POSITION0,
//   out float4 o0 : SV_Target0)
// {
//   const float4 icb[] = { { 0.800000, 0, 0, 0},
//                               { 0.300000, 0, 0, 0},
//                               { 0.200000, 0, 0, 0} };
//   float4 r0,r1,r2,r3,r4,r5,r6,r7;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = v0.zw * float2(0.5,-0.5) + float2(0.5,0.5);
//   r0.zw = cb0[0].xy * r0.xy + cb0[0].zw;
//   r0.z = t0.SampleLevel(s1_s_s, r0.zw, 0).x;
//   r0.w = r0.z * cb1[65].x + cb1[65].y;
//   r0.z = r0.z * cb1[65].z + -cb1[65].w;
//   r0.z = 1 / r0.z;
//   r0.z = r0.w + r0.z;
//   r0.w = t2.SampleLevel(s0_s_s, r0.xy, 0).x;
//   r1.x = cb1[153].x + cb1[153].z;
//   r1.x = -r1.x + r0.z;
//   r1.y = rcp(cb1[154].w);
//   r1.x = r1.x * r1.y;
//   r1.x = cb1[154].z * r1.x;
//   r1.x = max(0, r1.x);
//   r0.z = -cb1[153].x + r0.z;
//   r0.z = cmp(0 < r0.z);
//   r0.z = r0.z ? r1.x : 0;
//   r0.z = min(1.5, r0.z);
//   r1.x = r0.w + r0.z;
//   r1.yz = cb0[2].xy * cb0[1].zw;
//   r1.xy = r1.yz * r1.xx;
//   r0.z = r0.w * -2 + r0.z;
//   r2.xyz = t1.SampleLevel(s0_s_s, r0.xy, 0).xyz;
//   r3.xyz = r2.xyz;
//   r0.w = 1;
//   r1.z = 1;
//   while (true) {
//     r1.w = (int)r1.z;
//     r2.w = cmp(3 < (int)r1.w);
//     if (r2.w != 0) {
//       break;
//     }
//     r4.xy = (int2)r1.ww + int2(-1,1);
//     r4.xy = (int2)r4.xy;
//     r1.w = (int)r1.w * 5;
//     r2.w = (int)r1.w;
//     r2.w = 6.28318548 / r2.w;
//     r3.w = (uint)r4.x;
//     r4.xzw = r3.xyz;
//     r5.x = r0.w;
//     r5.y = 0;
//     while (true) {
//       r5.z = (int)r5.y;
//       r5.w = cmp((int)r5.z >= (int)r1.w);
//       if (r5.w != 0) {
//         break;
//       }
//       r5.w = r5.y * r2.w;
//       sincos(r5.w, r6.x, r7.x);
//       r7.x = r7.x * r1.z;
//       r7.y = r6.x * r1.z;
//       r6.xy = r7.xy * r1.xy + r0.xy;
//       r5.w = t3.SampleLevel(s0_s_s, r6.xy, 0).x;
//       r5.w = icb[r3.w+0].x + r5.w;
//       r5.w = cmp(r5.w >= r0.z);
//       if (r5.w != 0) {
//         r6.xyz = t1.SampleLevel(s0_s_s, r6.xy, 0).xyz;
//         r4.xzw = r6.xyz + r4.xzw;
//         r5.x = 1 + r5.x;
//       }
//       r5.z = (int)r5.z + 1;
//       r5.y = (int)r5.z;
//     }
//     r3.xyz = r4.xzw;
//     r0.w = r5.x;
//     r1.z = r4.y;
//   }
//   r0.x = rcp(r0.w);
//   o0.xyz = r3.xyz * r0.xxx;
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
