// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.163 on Fri Oct 31 20:25:24 2025
//
//
// Buffer Definitions:
//
// cbuffer cb_scene
// {
//
//   float4x4 view_g;                   // Index:    0 1 2 3          Components:    16 [unused]
//   float4x4 viewInv_g;                // Index:    4 5 6 7          Components:    16
//   float4x4 proj_g;                   // Index:    8 9 10 11        Components:    16
//   float4x4 projInv_g;                // Index:   12 13 14 15       Components:    16
//   float4x4 viewProj_g;               // Index:   16 17 18 19       Components:    16
//   float4x4 viewProjInv_g;            // Index:   20 21 22 23       Components:    16
//   float2 vpSize_g;                   // Index:   24.xy             Components:     2 [unused]
//   float2 invVPSize_g;                // Index:   24.zw             Components:     2 [unused]
//   float3 lightColor_g;               // Index:   25.xyz            Components:     3 [unused]
//   float disableMapObjNearFade_g;     // Index:   25.w              Components:     1 [unused]
//   float3 lightDirection_g;           // Index:   26.xyz            Components:     3 [unused]
//   float gameTime_g;                  // Index:   26.w              Components:     1 [unused]
//   float3 sceneShadowColor_g;         // Index:   27.xyz            Components:     3 [unused]
//   int shadowmapCascadeCount_g;       // Index:   27.w              Components:     1 [unused]
//   float3 windDirection_g;            // Index:   28.xyz            Components:     3 [unused]
//   float sceneTime_g;                 // Index:   28.w              Components:     1 [unused]
//   float2 lightTileSizeInv_g;         // Index:   29.xy             Components:     2 [unused]
//   float fogNearDistance_g;           // Index:   29.z              Components:     1 [unused]
//   float fogFadeRangeInv_g;           // Index:   29.w              Components:     1 [unused]
//   float3 fogColor_g;                 // Index:   30.xyz            Components:     3 [unused]
//   float fogIntensity_g;              // Index:   30.w              Components:     1 [unused]
//   float fogHeight_g;                 // Index:   31.x              Components:     1 [unused]
//   float fogHeightRangeInv_g;         // Index:   31.y              Components:     1 [unused]
//   float windWaveTime_g;              // Index:   31.z              Components:     1 [unused]
//   float windWaveFrequency_g;         // Index:   31.w              Components:     1 [unused]
//   uint localLightProbeCount_g;       // Index:   32.x              Components:     1 [unused]
//   float lightSpecularGlossiness_g;   // Index:   32.y              Components:     1 [unused]
//   float lightSpecularIntensity_g;    // Index:   32.z              Components:     1 [unused]
//   float localShadowResolutionInv_g;  // Index:   32.w              Components:     1 [unused]
//   float4x4 ditherMtx_g;              // Index:   33 34 35 36       Components:    16
//   float4 lightProbe_g[9];            // Index:   37-45             Components:    36 [unused]
//   float3 chrLightDir_g;              // Index:   46.xyz            Components:     3 [unused]
//   float windForce_g;                 // Index:   46.w              Components:     1 [unused]
//   float4 mapColor_g;                 // Index:   47.xyzw           Components:     4 [unused]
//   float4 clipPlane_g;                // Index:   48.xyzw           Components:     4 [unused]
//   float2 resolutionScaling_g;        // Index:   49.xy             Components:     2
//   float2 invShadowSize_g;            // Index:   49.zw             Components:     2 [unused]
//   float3 chrShadowColor_g;           // Index:   50.xyz            Components:     3 [unused]
//   float shadowFadeNear_g;            // Index:   50.w              Components:     1 [unused]
//   float4 frustumPlanes_g[6];         // Index:   51-56             Components:    24 [unused]
//   float3 shadowSplitDistance_g;      // Index:   57.xyz            Components:     3 [unused]
//   float shadowFadeRangeInv_g;        // Index:   57.w              Components:     1 [unused]
//   float4x4 shadowMtx_g[4];           // Index:   58-73             Components:    64 [unused]
//
// }
//
// cbuffer cb_local
// {
//
//   int2 textureSize_g;                // Index:    0.xy             Components:     2
//   float2 aoSize_g;                   // Index:    0.zw             Components:     2
//   float charaAOStrength_g;           // Index:    1.x              Components:     1
//   float charaAOCutOff_g;             // Index:    1.y              Components:     1
//   int mapAOSampleCount_g;            // Index:    1.z              Components:     1
//   float mapAOIntensity_g;            // Index:    1.w              Components:     1
//   float3 mapAOColor_g;               // Index:    2.xyz            Components:     3 [unused]
//   float mapAOFadeBeginDistance_g;    // Index:    2.w              Components:     1 [unused]
//   float mapAOFadeRangeInv_g;         // Index:    3.x              Components:     1 [unused]
//   float mapAOLimit_g;                // Index:    3.y              Components:     1
//   float mapAOBias_g;                 // Index:    3.z              Components:     1 [unused]
//   float mapAODistMaxInv_g;           // Index:    3.w              Components:     1 [unused]
//   float2 texelSize_g;                // Index:    4.xy             Components:     2 [unused]
//   float2 prevAoScaling_g;            // Index:    4.zw             Components:     2
//   float4 sphere_g[16];               // Index:    5-20             Components:    64
//
// }
//
// cbuffer cb_local2
// {
//
//   float3 rayMarchShadowDir_g;        // Index:    0.xyz            Components:     3
//   float4x4 prevViewProj_g;           // Index:    1 2 3 4          Components:    16
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// samPoint_s                        sampler      NA          NA    0        1
// samLinear_s                       sampler      NA          NA    1        1
// depthTexture                      texture  float4          2d    0        1
// mrtTexture0                       texture   uint4          2d    1        1
// intensityMap                      texture  float4          2d    2        1
// prevTexture                       texture  float4          2d    3        1
// StereoParams                      texture  float4          2d  125        1
// cb_scene                          cbuffer      NA          NA    0        1
// cb_local                          cbuffer      NA          NA    2        1
// cb_local2                         cbuffer      NA          NA    3        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
//
//
// 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 { { 1.000000, 0, 0, 0},
                              { 0, 1.000000, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 0, 0, 1.000000} }
dcl_constantbuffer CB0[50], immediateIndexed
dcl_constantbuffer CB2[16], dynamicIndexed
dcl_constantbuffer CB3[5], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (uint,uint,uint,uint) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps linear v1.xyzw
dcl_output o0.xyzw
dcl_temps 12
ld_indexable(buffer)(float,float,float,float) r0.xy, l(0, 0, 0, 0), t125.xyzw
ld_indexable(buffer)(float,float,float,float) r0.zw, l(2, 0, 0, 0), t125.zwxy
sample_l_indexable(texture2d)(float,float,float,float) r1.z, v1.xyxx, t0.yzxw, s1, l(0.000000)
resinfo_indexable(texture2d)(uint,uint,uint,uint) r2.xy, l(0), t1.xyzw
div r2.zw, l(0.000000, 0.000000, 0.250000, 0.250000), r2.xxxy
add r2.zw, r2.zzzw, v1.xxxy
mul r2.xy, r2.xyxx, r2.zwzz
round_z r2.xy, r2.xyxx
ftoi r2.xy, r2.xyxx
mov r2.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r2.xyzw, r2.xyzw, t1.xyzw
utof r3.xy, r2.zwzz
mad r2.w, v1.z, l(2.000000), l(-1.000000)
mad r1.xy, v1.zwzz, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r1.w, l(1.000000)
dp4 r3.z, r1.xyzw, cb0[15].xyzw
mad r3.z, r0.y, r3.z, l(-1.000000)
mad r1.x, r0.x, r3.z, r2.w
dp4 r4.x, r1.xyzw, cb0[12].xyzw
dp4 r4.y, r1.xyzw, cb0[13].xyzw
dp4 r4.z, r1.xyzw, cb0[14].xyzw
dp4 r2.w, r1.xyzw, cb0[15].xyzw
div r4.xyz, r4.xyzx, r2.wwww
ftoi r2.w, r3.y
and r2.w, r2.w, l(1)
itof r2.w, r2.w
ne r3.y, r2.w, l(0.000000)
if_nz r3.y
  utof r2.xy, r2.xyxx
  mad r5.zw, r2.xxxy, l(0.000000, 0.000000, 0.0000305180438, 0.0000305180438), l(0.000000, 0.000000, -1.000000, -1.000000)
  mul r2.x, r5.z, l(3.14159274)
  sincos r2.x, r6.x, r2.x
  mad r2.y, -r5.w, r5.w, l(1.000000)
  sqrt r2.y, r2.y
  mul r5.x, r2.y, r6.x
  mul r5.y, r2.y, r2.x
  dp2 r2.x, v1.zwzz, l(12.989800, 78.233002, 0.000000, 0.000000)
  sincos r2.x, null, r2.x
  mul r2.x, r2.x, l(43758.546875)
  frc r2.x, r2.x
  mul r3.yzw, r2.xxxx, l(0.000000, 5.398300, 5.442700, 6.937100)
  frc r3.yzw, r3.yyzw
  add r6.xyz, r3.yzwy, l(21.535101, 14.313700, 15.321900, 0.000000)
  dp3 r2.x, r3.zwyz, r6.xyzx
  add r3.yzw, r2.xxxx, r3.yyzw
  mul r3.yzw, r3.wwzw, r3.yyyz
  mul r3.yzw, r3.yyzw, l(0.000000, 95.433701, 97.597000, 93.836502)
  frc r3.yzw, r3.yyzw
  mad r3.yzw, r3.yyzw, l(0.000000, 2.000000, 2.000000, 2.000000), l(0.000000, -1.000000, -1.000000, -1.000000)
  dp3 r2.x, r3.yzwy, r3.yzwy
  rsq r2.x, r2.x
  mul r3.yzw, r2.xxxx, r3.yyzw
  add r2.x, -cb2[1].y, cb2[1].x
  div r2.x, l(1.000000, 1.000000, 1.000000, 1.000000), r2.x
  mov r6.xw, l(0,0,0,1.000000)
  mov r2.y, l(0)
  mov r5.z, l(0)
  loop
    ftoi r7.x, r5.z
    ige r7.y, r7.x, l(10)
    if_nz r7.y
      break
    endif
    ftou r7.y, r5.z
    dp3 r7.z, cb2[r7.y + 5].xyzx, r3.yzwy
    add r7.z, r7.z, r7.z
    mad r7.yzw, r3.yyzw, -r7.zzzz, cb2[r7.y + 5].xxyz
    dp3 r7.w, r7.yzwy, r5.xywx
    lt r8.x, l(0.000000), r7.w
    lt r7.w, r7.w, l(0.000000)
    and r8.x, r8.x, l(1)
    iadd r7.w, r7.w, r8.x
    itof r7.w, r7.w
    mul r7.yz, r7.yyzy, r7.wwww
    mul r7.yz, r7.yyzy, cb2[0].zzwz
    mad r7.yz, r7.yyzy, l(0.000000, 1.000000, -1.000000, 0.000000), v1.zzwz
    mul r7.yz, r7.yyzy, cb0[49].xxyx
    sample_l_indexable(texture2d)(float,float,float,float) r6.z, r7.yzyy, t0.zwxy, s0, l(0.000000)
    dp2 r7.y, cb0[14].zwzz, r6.zwzz
    dp2 r6.z, cb0[15].zwzz, r6.zwzz
    div r6.z, r7.y, r6.z
    add r6.z, -r4.z, r6.z
    ge r7.y, r6.z, cb2[1].y
    and r7.y, r7.y, l(0x3f800000)
    add r6.z, r6.z, -cb2[1].y
    mul_sat r6.z, r2.x, r6.z
    mad r7.z, r6.z, l(-2.000000), l(3.000000)
    mul r6.z, r6.z, r6.z
    mad r6.z, -r7.z, r6.z, l(1.000000)
    mad r2.y, r7.y, r6.z, r2.y
    iadd r6.z, r7.x, l(1)
    itof r5.z, r6.z
  endloop
  mul r6.y, r2.y, l(0.100000)
  mov r4.w, l(1.000000)
  dp4 r7.x, r4.xyzw, cb0[4].xyzw
  dp4 r7.y, r4.xyzw, cb0[5].xyzw
  dp4 r7.z, r4.xyzw, cb0[6].xyzw
  mov r8.x, cb0[4].z
  mov r8.y, cb0[5].z
  mov r8.z, cb0[6].z
  dp3 r2.x, r5.xywx, r8.xyzx
  mad r2.xy, |r2.xxxx|, l(-0.002500, 0.001500, 0.000000, 0.000000), l(0.007500, 0.000500, 0.000000, 0.000000)
  mad r3.yzw, r5.xxyw, r2.xxxx, r7.xxyz
  mul r5.xyz, r2.yyyy, cb3[0].xyzx
  mov r7.w, l(1.000000)
  mov r2.xy, l(0,0,0,0)
  loop
    ftoi r4.w, r2.y
    ige r5.w, r4.w, l(10)
    if_nz r5.w
      break
    endif
    mad r7.xyz, r5.xyzx, r2.yyyy, r3.yzwy
    dp4 r5.w, r7.xyzw, cb0[16].xyzw
    dp4 r8.y, r7.xyzw, cb0[17].xyzw
    dp4 r8.z, r7.xyzw, cb0[18].xyzw
    dp4 r6.z, r7.xyzw, cb0[19].xyzw
    add r6.w, -r0.y, r6.z
    mad r8.x, r0.x, r6.w, r5.w
    div r7.xyz, r8.xyzx, r6.zzzz
    mad r8.xy, r7.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    add r8.z, -r8.y, l(1.000000)
    mul r6.zw, r8.xxxz, cb0[49].xxxy
    sample_l_indexable(texture2d)(float,float,float,float) r5.w, r6.zwzz, t0.yzwx, s0, l(0.000000)
    add r5.w, -r7.z, r5.w
    mul_sat r5.w, r5.w, l(400000.000000)
    mad r2.x, r5.w, l(0.250000), r2.x
    iadd r4.w, r4.w, l(1)
    itof r2.y, r4.w
  endloop
  add r2.x, -r2.x, l(1.000000)
  add r3.yz, -v1.zzwz, l(0.000000, 0.500000, 0.500000, 0.000000)
  max r2.y, |r3.z|, |r3.y|
  add r2.y, r2.y, l(-0.450000)
  max r2.xy, r2.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r2.y, r2.y, l(20.000000)
  add r3.y, -r2.x, l(1.000000)
  mad r5.z, r2.y, r3.y, r2.x
else
  if_nz cb2[1].z
    ushr r2.x, r2.z, l(8)
    utof r2.x, r2.x
    ftoi r3.z, r3.x
    ftoi r3.w, r2.x
    and r2.xy, r3.zwzz, l(255, 255, 0, 0)
    itof r2.xy, r2.xyxx
    ftou r2.xy, r2.xyxx
    utof r2.xy, r2.xyxx
    mad r3.zw, r2.xxxy, l(0.000000, 0.000000, 0.00784313772, 0.00784313772), l(0.000000, 0.000000, -1.000000, -1.000000)
    mul r2.x, r3.z, l(3.14159274)
    sincos r2.x, r7.x, r2.x
    mad r2.y, -r3.w, r3.w, l(1.000000)
    sqrt r2.y, r2.y
    mul r3.x, r2.y, r7.x
    mul r3.y, r2.y, r2.x
    itof r2.xy, cb2[0].xyxx
    mul r2.xy, r2.xyxx, v1.zwzz
    mul r2.xy, r2.xyxx, l(0.250000, 0.250000, 0.000000, 0.000000)
    ge r6.zw, r2.xxxy, -r2.xxxy
    frc r2.xy, |r2.xyxx|
    movc r2.xy, r6.zwzz, r2.xyxx, -r2.xyxx
    mul r2.xy, r2.xyxx, l(4.000000, 4.000000, 0.000000, 0.000000)
    round_z r2.xy, r2.xyxx
    ftou r2.xy, r2.xyxx
    dp4 r7.x, cb0[33].xyzw, icb[r2.x + 0].xyzw
    dp4 r7.y, cb0[34].xyzw, icb[r2.x + 0].xyzw
    dp4 r7.z, cb0[35].xyzw, icb[r2.x + 0].xyzw
    dp4 r7.w, cb0[36].xyzw, icb[r2.x + 0].xyzw
    dp4 r2.x, r7.xyzw, icb[r2.y + 0].xyzw
    add r2.y, -r4.z, l(-10.000000)
    mul_sat r2.yz, r2.yyyy, l(0.000000, 0.010000, 0.002500, 0.000000)
    mad r2.y, r2.y, l(0.197500), l(0.002500)
    mul_sat r3.z, r4.z, l(-0.100000)
    mad r3.z, r3.z, l(0.190000), l(0.010000)
    add r4.w, -r3.z, l(2.000000)
    mad r2.z, r2.z, r4.w, r3.z
    itof r3.z, cb2[1].z
    mov r7.y, v1.z
    mov r7.z, -v1.z
    mov r8.w, l(1.000000)
    mov r9.w, l(1.000000)
    mov r6.zw, l(0,0,1.000000,0)
    mov r4.w, l(0)
    mov r5.w, r2.x
    loop
      ftoi r7.w, r6.w
      ige r10.x, r7.w, cb2[1].z
      if_nz r10.x
        break
      endif
      add r7.x, r5.w, v1.w
      dp2 r10.x, l(78.233002, 12.989800, 0.000000, 0.000000), r7.xyxx
      sincos r10.x, null, r10.x
      mul r10.x, r10.x, l(43758.546875)
      frc r10.x, r10.x
      mad r10.z, r10.x, l(2.000000), l(-1.000000)
      dp2 r7.x, l(78.233002, 12.989800, 0.000000, 0.000000), r7.xzxx
      sincos r7.x, null, r7.x
      mul r7.x, r7.x, l(43758.546875)
      frc r7.x, r7.x
      mul r7.x, r7.x, l(6.28318548)
      sincos r7.x, r11.x, r7.x
      mad r10.w, -r10.z, r10.z, l(1.000000)
      sqrt r10.w, r10.w
      mov r11.y, r7.x
      mul r10.xy, r10.wwww, r11.xyxx
      add r7.x, r5.w, l(1.000000)
      div r10.w, r7.x, r3.z
      sqrt r10.w, r10.w
      mul r10.w, r2.z, r10.w
      mul r10.xyz, r10.wwww, r10.xyzx
      dp3 r10.w, -r3.xywx, r10.xyzx
      lt r10.w, r10.w, l(0.000000)
      movc r10.xyz, r10.wwww, r10.xyzx, -r10.xyzx
      add r8.xyz, r4.xyzx, r10.xyzx
      dp4 r10.x, r8.xyzw, cb0[8].xyzw
      dp4 r11.y, r8.xyzw, cb0[9].xyzw
      dp4 r8.x, r8.xyzw, cb0[11].xyzw
      add r8.y, -r0.y, r8.x
      mad r11.x, r0.x, r8.y, r10.x
      div r8.xy, r11.xyxx, r8.xxxx
      mad r8.xy, r8.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
      add r10.x, -r8.y, l(1.000000)
      lt r10.y, r8.x, l(0.000000)
      lt r10.z, r10.x, l(0.000000)
      or r10.y, r10.y, r10.z
      lt r10.z, l(1.000000), r8.x
      or r10.y, r10.y, r10.z
      lt r10.x, l(1.000000), r10.x
      or r10.x, r10.y, r10.x
      itof r10.x, r10.x
      ne r10.x, r10.x, l(0.000000)
      if_nz r10.x
        iadd r10.x, r7.w, l(1)
        itof r10.y, r10.x
        mov r10.x, r6.z
        mov r5.w, r7.x
        mov r6.zw, r10.xxxy
        continue
      endif
      add r8.z, -r8.y, l(1.000000)
      mul r10.xy, r8.xzxx, cb0[49].xyxx
      sample_l_indexable(texture2d)(float,float,float,float) r8.y, r10.xyxx, t2.yxzw, s1, l(0.000000)
      min r6.z, r6.z, r8.y
      sample_l_indexable(texture2d)(float,float,float,float) r9.z, r10.xyxx, t0.yzxw, s1, l(0.000000)
      mad r9.xy, r8.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
      dp4 r8.x, r9.xyzw, cb0[15].xyzw
      mad r8.x, r0.y, r8.x, l(-1.000000)
      mad r10.x, r0.x, r8.x, r9.x
      mov r10.yzw, r9.yyzw
      dp4 r8.x, r10.xyzw, cb0[12].xyzw
      dp4 r8.y, r10.xyzw, cb0[13].xyzw
      dp4 r8.z, r10.xyzw, cb0[14].xyzw
      dp4 r9.x, r10.xyzw, cb0[15].xyzw
      div r8.xyz, r8.xyzx, r9.xxxx
      add r8.xyz, -r4.xyzx, r8.xyzx
      dp3 r9.x, r8.xyzx, r3.xywx
      add r9.x, -r2.y, r9.x
      max r9.x, r9.x, l(0.000000)
      dp3 r8.x, r8.xyzx, r8.xyzx
      eq r8.y, r8.x, l(0.000000)
      and r8.y, r8.y, l(0x3f800000)
      add r8.x, r8.y, r8.x
      div r8.x, r9.x, r8.x
      add r4.w, r4.w, r8.x
      iadd r7.w, r7.w, l(1)
      itof r6.w, r7.w
      mov r5.w, r7.x
    endloop
    mul r0.xy, v1.zwzz, cb0[49].xyxx
    sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t2.xyzw, s1, l(0.000000)
    min r0.x, r0.x, r6.z
    mul r0.x, r0.x, r2.z
    mul r0.x, r0.x, r4.w
    mul r0.x, r0.x, cb2[1].w
    div r0.x, r0.x, r3.z
    min r6.x, r0.x, cb2[3].y
  else
    mov r6.x, l(0)
  endif
  mov r6.y, l(0)
  mov r5.z, l(1.000000)
endif
add r5.xy, -r6.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
dp4 r3.x, r1.xyzw, cb0[20].xyzw
dp4 r3.y, r1.xyzw, cb0[21].xyzw
dp4 r3.z, r1.xyzw, cb0[22].xyzw
dp4 r3.w, r1.xyzw, cb0[23].xyzw
div r1.xyzw, r3.xyzw, r3.wwww
dp4 r0.x, r1.xyzw, cb3[1].xyzw
dp4 r2.y, r1.xyzw, cb3[2].xyzw
dp4 r0.y, r1.xyzw, cb3[4].xyzw
add r0.w, -r0.w, r0.y
mad r2.x, r0.z, r0.w, r0.x
div r0.xy, r2.xyxx, r0.yyyy
mad r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r0.z, -r0.y, l(1.000000)
mul r0.xy, r0.xzxx, cb0[49].xyxx
mul r0.xy, r0.xyxx, cb2[4].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t3.xyzw, s1, l(0.000000)
add r1.xyz, -r0.xyzx, r5.xyzx
mad o0.xyz, r1.xyzx, l(0.250000, 0.250000, 1.000000, 0.000000), r0.xyzx
ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), r2.w
and o0.w, r0.x, l(0x3f800000)
ret
// Approximately 306 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.163 on Fri Oct 31 20:25:24 2025
//
// cbuffer cb_scene : register(b0)
// {
//   float4x4 view_g : packoffset(c0);
//   float4x4 viewInv_g : packoffset(c4);
//   float4x4 proj_g : packoffset(c8);
//   float4x4 projInv_g : packoffset(c12);
//   float4x4 viewProj_g : packoffset(c16);
//   float4x4 viewProjInv_g : packoffset(c20);
//   float2 vpSize_g : packoffset(c24);
//   float2 invVPSize_g : packoffset(c24.z);
//   float3 lightColor_g : packoffset(c25);
//   float disableMapObjNearFade_g : packoffset(c25.w);
//   float3 lightDirection_g : packoffset(c26);
//   float gameTime_g : packoffset(c26.w);
//   float3 sceneShadowColor_g : packoffset(c27);
//   int shadowmapCascadeCount_g : packoffset(c27.w);
//   float3 windDirection_g : packoffset(c28);
//   float sceneTime_g : packoffset(c28.w);
//   float2 lightTileSizeInv_g : packoffset(c29);
//   float fogNearDistance_g : packoffset(c29.z);
//   float fogFadeRangeInv_g : packoffset(c29.w);
//   float3 fogColor_g : packoffset(c30);
//   float fogIntensity_g : packoffset(c30.w);
//   float fogHeight_g : packoffset(c31);
//   float fogHeightRangeInv_g : packoffset(c31.y);
//   float windWaveTime_g : packoffset(c31.z);
//   float windWaveFrequency_g : packoffset(c31.w);
//   uint localLightProbeCount_g : packoffset(c32);
//   float lightSpecularGlossiness_g : packoffset(c32.y);
//   float lightSpecularIntensity_g : packoffset(c32.z);
//   float localShadowResolutionInv_g : packoffset(c32.w);
//   float4x4 ditherMtx_g : packoffset(c33);
//   float4 lightProbe_g[9] : packoffset(c37);
//   float3 chrLightDir_g : packoffset(c46);
//   float windForce_g : packoffset(c46.w);
//   float4 mapColor_g : packoffset(c47);
//   float4 clipPlane_g : packoffset(c48);
//   float2 resolutionScaling_g : packoffset(c49);
//   float2 invShadowSize_g : packoffset(c49.z);
//   float3 chrShadowColor_g : packoffset(c50);
//   float shadowFadeNear_g : packoffset(c50.w);
//   float4 frustumPlanes_g[6] : packoffset(c51);
//   float3 shadowSplitDistance_g : packoffset(c57);
//   float shadowFadeRangeInv_g : packoffset(c57.w);
//   float4x4 shadowMtx_g[4] : packoffset(c58);
// }
//
// cbuffer cb_local : register(b2)
// {
//   int2 textureSize_g : packoffset(c0);
//   float2 aoSize_g : packoffset(c0.z);
//   float charaAOStrength_g : packoffset(c1);
//   float charaAOCutOff_g : packoffset(c1.y);
//   int mapAOSampleCount_g : packoffset(c1.z);
//   float mapAOIntensity_g : packoffset(c1.w);
//   float3 mapAOColor_g : packoffset(c2);
//   float mapAOFadeBeginDistance_g : packoffset(c2.w);
//   float mapAOFadeRangeInv_g : packoffset(c3);
//   float mapAOLimit_g : packoffset(c3.y);
//   float mapAOBias_g : packoffset(c3.z);
//   float mapAODistMaxInv_g : packoffset(c3.w);
//   float2 texelSize_g : packoffset(c4);
//   float2 prevAoScaling_g : packoffset(c4.z);
//   float4 sphere_g[16] : packoffset(c5);
// }
//
// cbuffer cb_local2 : register(b3)
// {
//   float3 rayMarchShadowDir_g : packoffset(c0);
//   float4x4 prevViewProj_g : packoffset(c1);
// }
//
// SamplerState samPoint_s_s : register(s0);
// SamplerState samLinear_s_s : register(s1);
// Texture2D<float4> depthTexture : register(t0);
// Texture2D<uint4> mrtTexture0 : register(t1);
// Texture2D<float4> intensityMap : register(t2);
// Texture2D<float4> prevTexture : register(t3);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   float4 v1 : TEXCOORD0,
//   out float4 o0 : SV_Target0)
// {
//   const float4 icb[] = { { 1.000000, 0, 0, 0},
//                               { 0, 1.000000, 0, 0},
//                               { 0, 0, 1.000000, 0},
//                               { 0, 0, 0, 1.000000} };
//   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = StereoParams.Load(float4(0,0,0,0)).xy;
//   r0.zw = StereoParams.Load(float4(2,0,0,0)).xy;
//   r1.z = depthTexture.SampleLevel(samLinear_s_s, v1.xy, 0).x;
//   mrtTexture0.GetDimensions(0, fDest.x, fDest.y, fDest.z);
//   r2.xy = fDest.xy;
//   r2.zw = float2(0.25,0.25) / r2.xy;
//   r2.zw = v1.xy + r2.zw;
//   r2.xy = r2.zw * r2.xy;
//   r2.xy = trunc(r2.xy);
//   r2.xy = (int2)r2.xy;
//   r2.zw = float2(0,0);
//   r2.xyzw = mrtTexture0.Load(r2.xyz).xyzw;
//   r3.xy = (uint2)r2.zw;
//   r2.w = v1.z * 2 + -1;
//   r1.xy = v1.zw * float2(2,-2) + float2(-1,1);
//   r1.w = 1;
//   r3.z = dot(r1.xyzw, projInv_g._m03_m13_m23_m33);
//   r3.z = r0.y * r3.z + -1;
//   r1.x = r0.x * r3.z + r2.w;
//   r4.x = dot(r1.xyzw, projInv_g._m00_m10_m20_m30);
//   r4.y = dot(r1.xyzw, projInv_g._m01_m11_m21_m31);
//   r4.z = dot(r1.xyzw, projInv_g._m02_m12_m22_m32);
//   r2.w = dot(r1.xyzw, projInv_g._m03_m13_m23_m33);
//   r4.xyz = r4.xyz / r2.www;
//   r2.w = (int)r3.y;
//   r2.w = (int)r2.w & 1;
//   r2.w = (int)r2.w;
//   r3.y = cmp(r2.w != 0.000000);
//   if (r3.y != 0) {
//     r2.xy = (uint2)r2.xy;
//     r5.zw = r2.xy * float2(3.05180438e-05,3.05180438e-05) + float2(-1,-1);
//     r2.x = 3.14159274 * r5.z;
//     sincos(r2.x, r2.x, r6.x);
//     r2.y = -r5.w * r5.w + 1;
//     r2.y = sqrt(r2.y);
//     r5.x = r6.x * r2.y;
//     r5.y = r2.x * r2.y;
//     r2.x = dot(v1.zw, float2(12.9898005,78.2330017));
//     r2.x = sin(r2.x);
//     r2.x = 43758.5469 * r2.x;
//     r2.x = frac(r2.x);
//     r3.yzw = float3(5.39830017,5.44269991,6.93709993) * r2.xxx;
//     r3.yzw = frac(r3.yzw);
//     r6.xyz = float3(21.5351009,14.3136997,15.3219004) + r3.yzw;
//     r2.x = dot(r3.zwy, r6.xyz);
//     r3.yzw = r3.yzw + r2.xxx;
//     r3.yzw = r3.yyz * r3.wzw;
//     r3.yzw = float3(95.4337006,97.5970001,93.8365021) * r3.yzw;
//     r3.yzw = frac(r3.yzw);
//     r3.yzw = r3.yzw * float3(2,2,2) + float3(-1,-1,-1);
//     r2.x = dot(r3.yzw, r3.yzw);
//     r2.x = rsqrt(r2.x);
//     r3.yzw = r3.yzw * r2.xxx;
//     r2.x = charaAOStrength_g + -charaAOCutOff_g;
//     r2.x = 1 / r2.x;
//     r6.xw = float2(0,1);
//     r2.y = 0;
//     r5.z = 0;
//     while (true) {
//       r7.x = (int)r5.z;
//       r7.y = cmp((int)r7.x >= 10);
//       if (r7.y != 0) {
//         break;
//       }
//       r7.y = (uint)r5.z;
//       r7.z = dot(sphere_g[r7.y].xyz, r3.yzw);
//       r7.z = r7.z + r7.z;
//       r7.yzw = r3.yzw * -r7.zzz + sphere_g[r7.y].xyz;
//       r7.w = dot(r7.yzw, r5.xyw);
//       r8.x = cmp(0 < r7.w);
//       r7.w = cmp(r7.w < 0);
//       r8.x = r8.x ? 0.000000 : 0;
//       r7.w = (int)r7.w + (int)r8.x;
//       r7.w = (int)r7.w;
//       r7.yz = r7.ww * r7.yz;
//       r7.yz = aoSize_g.xy * r7.yz;
//       r7.yz = r7.yz * float2(1,-1) + v1.zw;
//       r7.yz = resolutionScaling_g.xy * r7.yz;
//       r6.z = depthTexture.SampleLevel(samPoint_s_s, r7.yz, 0).x;
//       r7.y = dot(projInv_g._m22_m32, r6.zw);
//       r6.z = dot(projInv_g._m23_m33, r6.zw);
//       r6.z = r7.y / r6.z;
//       r6.z = r6.z + -r4.z;
//       r7.y = cmp(r6.z >= charaAOCutOff_g);
//       r7.y = r7.y ? 1.000000 : 0;
//       r6.z = -charaAOCutOff_g + r6.z;
//       r6.z = saturate(r6.z * r2.x);
//       r7.z = r6.z * -2 + 3;
//       r6.z = r6.z * r6.z;
//       r6.z = -r7.z * r6.z + 1;
//       r2.y = r7.y * r6.z + r2.y;
//       r6.z = (int)r7.x + 1;
//       r5.z = (int)r6.z;
//     }
//     r6.y = 0.100000001 * r2.y;
//     r4.w = 1;
//     r7.x = dot(r4.xyzw, viewInv_g._m00_m10_m20_m30);
//     r7.y = dot(r4.xyzw, viewInv_g._m01_m11_m21_m31);
//     r7.z = dot(r4.xyzw, viewInv_g._m02_m12_m22_m32);
//     r8.x = viewInv_g._m20;
//     r8.y = viewInv_g._m21;
//     r8.z = viewInv_g._m22;
//     r2.x = dot(r5.xyw, r8.xyz);
//     r2.xy = abs(r2.xx) * float2(-0.00249999994,0.00150000001) + float2(0.00749999983,0.000500000024);
//     r3.yzw = r5.xyw * r2.xxx + r7.xyz;
//     r5.xyz = rayMarchShadowDir_g.xyz * r2.yyy;
//     r7.w = 1;
//     r2.xy = float2(0,0);
//     while (true) {
//       r4.w = (int)r2.y;
//       r5.w = cmp((int)r4.w >= 10);
//       if (r5.w != 0) {
//         break;
//       }
//       r7.xyz = r5.xyz * r2.yyy + r3.yzw;
//       r5.w = dot(r7.xyzw, viewProj_g._m00_m10_m20_m30);
//       r8.y = dot(r7.xyzw, viewProj_g._m01_m11_m21_m31);
//       r8.z = dot(r7.xyzw, viewProj_g._m02_m12_m22_m32);
//       r6.z = dot(r7.xyzw, viewProj_g._m03_m13_m23_m33);
//       r6.w = r6.z + -r0.y;
//       r8.x = r0.x * r6.w + r5.w;
//       r7.xyz = r8.xyz / r6.zzz;
//       r8.xy = r7.xy * float2(0.5,0.5) + float2(0.5,0.5);
//       r8.z = 1 + -r8.y;
//       r6.zw = resolutionScaling_g.xy * r8.xz;
//       r5.w = depthTexture.SampleLevel(samPoint_s_s, r6.zw, 0).x;
//       r5.w = r5.w + -r7.z;
//       r5.w = saturate(400000 * r5.w);
//       r2.x = r5.w * 0.25 + r2.x;
//       r4.w = (int)r4.w + 1;
//       r2.y = (int)r4.w;
//     }
//     r2.x = 1 + -r2.x;
//     r3.yz = float2(0.5,0.5) + -v1.zw;
//     r2.y = max(abs(r3.y), abs(r3.z));
//     r2.y = -0.449999988 + r2.y;
//     r2.xy = max(float2(0,0), r2.xy);
//     r2.y = 20 * r2.y;
//     r3.y = 1 + -r2.x;
//     r5.z = r2.y * r3.y + r2.x;
//   } else {
//     if (mapAOSampleCount_g != 0) {
//       r2.x = (uint)r2.z >> 8;
//       r2.x = (uint)r2.x;
//       r3.z = (int)r3.x;
//       r3.w = (int)r2.x;
//       r2.xy = (int2)r3.zw & int2(255,255);
//       r2.xy = (int2)r2.xy;
//       r2.xy = (uint2)r2.xy;
//       r2.xy = (uint2)r2.xy;
//       r3.zw = r2.xy * float2(0.00784313772,0.00784313772) + float2(-1,-1);
//       r2.x = 3.14159274 * r3.z;
//       sincos(r2.x, r2.x, r7.x);
//       r2.y = -r3.w * r3.w + 1;
//       r2.y = sqrt(r2.y);
//       r3.x = r7.x * r2.y;
//       r3.y = r2.x * r2.y;
//       r2.xy = (int2)textureSize_g.xy;
//       r2.xy = v1.zw * r2.xy;
//       r2.xy = float2(0.25,0.25) * r2.xy;
//       r6.zw = cmp(r2.xy >= -r2.xy);
//       r2.xy = frac(abs(r2.xy));
//       r2.xy = r6.zw ? r2.xy : -r2.xy;
//       r2.xy = float2(4,4) * r2.xy;
//       r2.xy = trunc(r2.xy);
//       r2.xy = (uint2)r2.xy;
//       r7.x = dot(ditherMtx_g._m00_m10_m20_m30, icb[r2.x+0].xyzw);
//       r7.y = dot(ditherMtx_g._m01_m11_m21_m31, icb[r2.x+0].xyzw);
//       r7.z = dot(ditherMtx_g._m02_m12_m22_m32, icb[r2.x+0].xyzw);
//       r7.w = dot(ditherMtx_g._m03_m13_m23_m33, icb[r2.x+0].xyzw);
//       r2.x = dot(r7.xyzw, icb[r2.y+0].xyzw);
//       r2.y = -10 + -r4.z;
//       r2.yz = saturate(float2(0.00999999978,0.00249999994) * r2.yy);
//       r2.y = r2.y * 0.197500005 + 0.00249999994;
//       r3.z = saturate(-0.100000001 * r4.z);
//       r3.z = r3.z * 0.189999998 + 0.00999999978;
//       r4.w = 2 + -r3.z;
//       r2.z = r2.z * r4.w + r3.z;
//       r3.z = mapAOSampleCount_g;
//       r7.y = v1.z;
//       r7.z = -v1.z;
//       r8.w = 1;
//       r9.w = 1;
//       r6.zw = float2(1,0);
//       r4.w = 0;
//       r5.w = r2.x;
//       while (true) {
//         r7.w = (int)r6.w;
//         r10.x = cmp((int)r7.w >= mapAOSampleCount_g);
//         if (r10.x != 0) {
//           break;
//         }
//         r7.x = v1.w + r5.w;
//         r10.x = dot(float2(78.2330017,12.9898005), r7.xy);
//         r10.x = sin(r10.x);
//         r10.x = 43758.5469 * r10.x;
//         r10.x = frac(r10.x);
//         r10.z = r10.x * 2 + -1;
//         r7.x = dot(float2(78.2330017,12.9898005), r7.xz);
//         r7.x = sin(r7.x);
//         r7.x = 43758.5469 * r7.x;
//         r7.x = frac(r7.x);
//         r7.x = 6.28318548 * r7.x;
//         sincos(r7.x, r7.x, r11.x);
//         r10.w = -r10.z * r10.z + 1;
//         r10.w = sqrt(r10.w);
//         r11.y = r7.x;
//         r10.xy = r11.xy * r10.ww;
//         r7.x = 1 + r5.w;
//         r10.w = r7.x / r3.z;
//         r10.w = sqrt(r10.w);
//         r10.w = r10.w * r2.z;
//         r10.xyz = r10.xyz * r10.www;
//         r10.w = dot(-r3.xyw, r10.xyz);
//         r10.w = cmp(r10.w < 0);
//         r10.xyz = r10.www ? r10.xyz : -r10.xyz;
//         r8.xyz = r10.xyz + r4.xyz;
//         r10.x = dot(r8.xyzw, proj_g._m00_m10_m20_m30);
//         r11.y = dot(r8.xyzw, proj_g._m01_m11_m21_m31);
//         r8.x = dot(r8.xyzw, proj_g._m03_m13_m23_m33);
//         r8.y = r8.x + -r0.y;
//         r11.x = r0.x * r8.y + r10.x;
//         r8.xy = r11.xy / r8.xx;
//         r8.xy = r8.xy * float2(0.5,0.5) + float2(0.5,0.5);
//         r10.x = 1 + -r8.y;
//         r10.y = cmp(r8.x < 0);
//         r10.z = cmp(r10.x < 0);
//         r10.y = (int)r10.y | (int)r10.z;
//         r10.z = cmp(1 < r8.x);
//         r10.y = (int)r10.y | (int)r10.z;
//         r10.x = cmp(1 < r10.x);
//         r10.x = (int)r10.y | (int)r10.x;
//         r10.x = (int)r10.x;
//         r10.x = cmp(r10.x != 0.000000);
//         if (r10.x != 0) {
//           r10.x = (int)r7.w + 1;
//           r10.y = (int)r10.x;
//           r10.x = r6.z;
//           r5.w = r7.x;
//           r6.zw = r10.xy;
//           continue;
//         }
//         r8.z = 1 + -r8.y;
//         r10.xy = resolutionScaling_g.xy * r8.xz;
//         r8.y = intensityMap.SampleLevel(samLinear_s_s, r10.xy, 0).x;
//         r6.z = min(r8.y, r6.z);
//         r9.z = depthTexture.SampleLevel(samLinear_s_s, r10.xy, 0).x;
//         r9.xy = r8.xz * float2(2,-2) + float2(-1,1);
//         r8.x = dot(r9.xyzw, projInv_g._m03_m13_m23_m33);
//         r8.x = r0.y * r8.x + -1;
//         r10.x = r0.x * r8.x + r9.x;
//         r10.yzw = r9.yzw;
//         r8.x = dot(r10.xyzw, projInv_g._m00_m10_m20_m30);
//         r8.y = dot(r10.xyzw, projInv_g._m01_m11_m21_m31);
//         r8.z = dot(r10.xyzw, projInv_g._m02_m12_m22_m32);
//         r9.x = dot(r10.xyzw, projInv_g._m03_m13_m23_m33);
//         r8.xyz = r8.xyz / r9.xxx;
//         r8.xyz = r8.xyz + -r4.xyz;
//         r9.x = dot(r8.xyz, r3.xyw);
//         r9.x = r9.x + -r2.y;
//         r9.x = max(0, r9.x);
//         r8.x = dot(r8.xyz, r8.xyz);
//         r8.y = cmp(r8.x == 0.000000);
//         r8.y = r8.y ? 1.000000 : 0;
//         r8.x = r8.x + r8.y;
//         r8.x = r9.x / r8.x;
//         r4.w = r8.x + r4.w;
//         r7.w = (int)r7.w + 1;
//         r6.w = (int)r7.w;
//         r5.w = r7.x;
//       }
//       r0.xy = resolutionScaling_g.xy * v1.zw;
//       r0.x = intensityMap.SampleLevel(samLinear_s_s, r0.xy, 0).x;
//       r0.x = min(r6.z, r0.x);
//       r0.x = r2.z * r0.x;
//       r0.x = r4.w * r0.x;
//       r0.x = mapAOIntensity_g * r0.x;
//       r0.x = r0.x / r3.z;
//       r6.x = min(mapAOLimit_g, r0.x);
//     } else {
//       r6.x = 0;
//     }
//     r6.y = 0;
//     r5.z = 1;
//   }
//   r5.xy = float2(1,1) + -r6.xy;
//   r3.x = dot(r1.xyzw, viewProjInv_g._m00_m10_m20_m30);
//   r3.y = dot(r1.xyzw, viewProjInv_g._m01_m11_m21_m31);
//   r3.z = dot(r1.xyzw, viewProjInv_g._m02_m12_m22_m32);
//   r3.w = dot(r1.xyzw, viewProjInv_g._m03_m13_m23_m33);
//   r1.xyzw = r3.xyzw / r3.wwww;
//   r0.x = dot(r1.xyzw, prevViewProj_g._m00_m10_m20_m30);
//   r2.y = dot(r1.xyzw, prevViewProj_g._m01_m11_m21_m31);
//   r0.y = dot(r1.xyzw, prevViewProj_g._m03_m13_m23_m33);
//   r0.w = r0.y + -r0.w;
//   r2.x = r0.z * r0.w + r0.x;
//   r0.xy = r2.xy / r0.yy;
//   r0.xy = r0.xy * float2(0.5,0.5) + float2(0.5,0.5);
//   r0.z = 1 + -r0.y;
//   r0.xy = resolutionScaling_g.xy * r0.xz;
//   r0.xy = prevAoScaling_g.xy * r0.xy;
//   r0.xyz = prevTexture.SampleLevel(samLinear_s_s, r0.xy, 0).xyz;
//   r1.xyz = r5.xyz + -r0.xyz;
//   o0.xyz = r1.xyz * float3(0.25,0.25,1) + r0.xyz;
//   r0.x = cmp(0 != r2.w);
//   o0.w = r0.x ? 1.000000 : 0;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
