
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.181 on Sun Dec 24 13:25:47 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   x           0   TARGET   float   x
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[1], 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_output o0.x
dcl_temps 3
mov r0.x, l(0.031250)
mov r0.zw, l(0,0,0,0.031250)
mov r1.yz, l(0,0.031250,0,0)
loop
  ige r1.w, r1.z, l(4)
  breakc_nz r1.w
  mov r1.x, r0.w
  mov r0.y, r0.z
  mov r1.w, l(0)
  loop
    ige r2.x, r1.w, l(4)
    breakc_nz r2.x
    sample_indexable(texture2d)(float,float,float,float) r2.x, r1.xyxx, t0.xyzw, s0
    mul r2.y, r2.x, r2.x
    ge r2.y, r2.y, l(0.000000)
    mad r2.x, r2.x, l(0.062500), r0.y
    movc r0.y, r2.y, r2.x, r0.y
    add r1.x, r1.x, l(0.062500)
    iadd r1.w, r1.w, l(1)
  endloop
  add r1.y, r1.y, l(0.062500)
  iadd r1.z, r1.z, l(1)
  mov r0.zw, r0.yyyx
endloop
div r0.x, cb0[0].y, r0.z
sample_indexable(texture2d)(float,float,float,float) r0.y, l(0.000000, 0.000000, 0.000000, 0.000000), t1.yxzw, s1
mul r0.z, r0.y, r0.y
ge r0.z, r0.z, l(0.000000)
log r0.y, |r0.y|
mul r0.y, r0.y, l(0.125000)
exp r0.y, r0.y
log r0.x, |r0.x|
mul r0.x, r0.x, l(0.125000)
exp r0.x, r0.x
add r0.x, -r0.y, r0.x
mul r0.w, cb0[0].x, l(1.442695)
exp r0.w, r0.w
add r0.w, -r0.w, l(1.000000)
mad r0.x, r0.x, r0.w, r0.y
mul r0.x, |r0.x|, |r0.x|
mul r0.x, r0.x, r0.x
mul r0.x, r0.x, r0.x
max r0.x, r0.x, cb0[0].z
min r0.x, r0.x, cb0[0].w
and o0.x, r0.x, r0.z
ret
// Approximately 0 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.181 on Sun Dec 24 13:25:47 2023
// Texture2D<float4> t1 : register(t1);
//
// Texture2D<float4> t0 : register(t0);
//
// SamplerState s1_s : register(s1);
//
// SamplerState s0_s : register(s0);
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[1];
// }
//
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   out float o0 : SV_TARGET0)
// {
//   float4 r0,r1,r2;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = 0.03125;
//   r0.zw = float2(0,0.03125);
//   r1.yz = float2(0.03125,0);
//   while (true) {
//     r1.w = cmp((int)r1.z >= 4);
//     if (r1.w != 0) break;
//     r1.x = r0.w;
//     r0.y = r0.z;
//     r1.w = 0;
//     while (true) {
//       r2.x = cmp((int)r1.w >= 4);
//       if (r2.x != 0) break;
//       r2.x = t0.Sample(s0_s, r1.xy).x;
//       r2.y = r2.x * r2.x;
//       r2.y = cmp(r2.y >= 0);
//       r2.x = r2.x * 0.0625 + r0.y;
//       r0.y = r2.y ? r2.x : r0.y;
//       r1.x = 0.0625 + r1.x;
//       r1.w = (int)r1.w + 1;
//     }
//     r1.y = 0.0625 + r1.y;
//     r1.z = (int)r1.z + 1;
//     r0.zw = r0.yx;
//   }
//   r0.x = cb0[0].y / r0.z;
//   r0.y = t1.Sample(s1_s, float2(0,0)).x;
//   r0.z = r0.y * r0.y;
//   r0.z = cmp(r0.z >= 0);
//   r0.y = log2(abs(r0.y));
//   r0.y = 0.125 * r0.y;
//   r0.y = exp2(r0.y);
//   r0.x = log2(abs(r0.x));
//   r0.x = 0.125 * r0.x;
//   r0.x = exp2(r0.x);
//   r0.x = r0.x + -r0.y;
//   r0.w = 1.44269502 * cb0[0].x;
//   r0.w = exp2(r0.w);
//   r0.w = 1 + -r0.w;
//   r0.x = r0.x * r0.w + r0.y;
//   r0.x = abs(r0.x) * abs(r0.x);
//   r0.x = r0.x * r0.x;
//   r0.x = r0.x * r0.x;
//   r0.x = max(cb0[0].z, r0.x);
//   r0.x = min(cb0[0].w, r0.x);
//   o0.x = r0.z ? r0.x : 0;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
