//DBSZ Broly aura 1.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Tue Oct  8 21:32:37 2024
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xyzw        1     NONE   float   xy
// TEXCOORD                 5   xyzw        2     NONE   float      w
// SV_IsFrontFace           0   x           3    FFACE    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
// SV_DepthLessEqual        0    N/A oDepthLE  DEPTHLE   float    YES
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[154], immediateIndexed
dcl_constantbuffer CB1[6], immediateIndexed
dcl_constantbuffer CB2[17], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, 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_siv linear noperspective centroid v0.xyzw, position
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.w
dcl_output o0.xyzw
dcl_output oDepthLE
dcl_temps 35
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r11.xyzw, l(0, 0, 0, 0), t125.xyzw
mov r12.xy, v0.xyxx
mul r13.xyzw, v0.yyyy, cb0[49].xyzw
mad r13.xyzw, r12.xxxx, cb0[48].xyzw, r13.xyzw
//Pattern break.
mad r13.xyzw, v0.zzzz, cb0[50].xyzw, r13.xyzw
add r13.xyzw, r13.xyzw, cb0[51].xyzw
mul r14.x, l(0.5), cb0[129].x
mad r14.y, r13.w, r11.y, l(-1.0)
mul r14.y, r14.y, r14.x
mad r12.x, r11.x, r14.y, r12.x

add r20.xy, r12.xyxx, -cb0[128].xyxx

add r0.xy, v0.xyxx, -cb0[128].xyxx
mad r0.zw, r20.xxxy, cb0[129].zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
mul r1.xy, r0.zwzz, l(2.000000, -2.000000, 0.000000, 0.000000)
mov [precise(z)] r1.z, v0.z
mov [precise(w)] r1.w, l(1.000000)
mul [precise(zw)] r1.xyzw, r1.xyzw, v0.wwww
div r0.zw, r1.xxxy, r1.wwww
add r0.zw, r0.zzzw, -cb1[5].xxxy
mad r0.zw, r0.zzzw, cb1[5].zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
mul r0.zw, r0.zzzw, cb2[2].yyyy
sample_b_indexable(texture2d)(float,float,float,float) r1.x, v1.xyxx, t0.xyzw, s0, cb0[144].x
mul r1.y, cb0[143].y, cb2[4].w
frc r2.x, r1.y
mul r1.y, cb0[143].y, cb2[5].x
frc r2.y, r1.y
mul r2.zw, r0.zzzw, cb2[6].xxxy
mad r2.xy, r2.zwzz, cb2[3].wwww, r2.xyxx
sample_b_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t1.yxzw, s1, cb0[144].x
mul r2.xy, cb0[143].yyyy, cb2[7].zwzz
frc r2.xy, r2.xyxx
mad r2.xy, r2.zwzz, cb2[3].wwww, r2.xyxx
sample_b_indexable(texture2d)(float,float,float,float) r2.x, r2.xyxx, t1.xyzw, s1, cb0[144].x
add r1.y, r1.y, r2.x
mul r2.x, v2.w, cb2[8].x
mul r1.y, r1.y, r2.x
lt [precise(x)] r2.x, cb0[35].w, l(1.000000)
mul [precise(yz)] r2.yz, r1.zzzz, cb0[71].xxzx
add [precise(y)] r2.y, r2.y, cb0[71].y
add [precise(z)] r2.z, r2.z, -cb0[71].w
div [precise(z)] r2.z, l(1.000000, 1.000000, 1.000000, 1.000000), r2.z
add [precise(y)] r2.y, r2.z, r2.y
movc [precise(x)] r2.x, r2.x, r1.w, r2.y
mul r2.y, r2.x, l(0.100000)
mul_sat r2.y, r2.y, cb2[8].z
mul r1.y, r1.y, r2.y
sample_b_indexable(texture2d)(float,float,float,float) r1.y, r1.yyyy, t2.yxzw, s2, cb0[144].x
mul r1.y, r1.y, r1.x
mul r2.zw, cb0[143].yyyy, cb2[10].zzzw
frc r2.zw, r2.zzzw
mul r0.zw, r0.zzzw, cb2[11].zzzw
mad r2.zw, r0.zzzw, cb2[3].wwww, r2.zzzw
sample_b_indexable(texture2d)(float,float,float,float) r2.z, r2.zwzz, t3.yzxw, s3, cb0[144].x
mul r3.xy, cb0[143].yyyy, cb2[13].xyxx
frc r3.xy, r3.xyxx
mad r0.zw, r0.zzzw, cb2[3].wwww, r3.xxxy
sample_b_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t3.xzyw, s3, cb0[144].x
add r0.z, r0.z, r2.z
mul r0.w, v2.w, cb2[13].z
mul r0.z, r0.w, r0.z
mul r0.z, r2.y, r0.z
sample_b_indexable(texture2d)(float,float,float,float) r0.z, r0.zzzz, t0.yzxw, s0, cb0[144].x
mad r0.z, r0.z, r1.x, r1.y
ge r0.w, l(0.000000), r0.z
log r1.x, r0.z
mul r1.x, r1.x, cb2[13].w
exp r1.x, r1.x
round_pi r1.x, r1.x
mul r1.y, r0.z, v2.w
add r2.y, -v2.w, l(1.000000)
mul r1.x, r1.x, r2.y
movc r0.w, r0.w, l(0), r1.x
add r0.w, r0.w, v2.w
mad r0.z, -r0.z, v2.w, l(0.080000)
lt r0.z, l(0.000010), |r0.z|
ge r1.x, l(0.080000), r1.y
movc r0.w, r1.x, l(0), r0.w
and r0.z, r0.w, r0.z
add r0.w, r2.x, -cb2[15].x
mul_sat r0.w, r0.w, cb2[15].z
add r0.xy, r0.xyxx, cb0[153].xxxx
ftou r0.xy, r0.xyxx
ishl r0.y, r0.y, l(1)
iadd r0.x, r0.y, r0.x
udiv null, r0.x, r0.x, l(5)
utof r0.x, r0.x
mad r0.x, r0.x, l(0.166666672), r0.w
add r0.x, r0.x, l(-0.500000)
mul r0.x, r0.x, r0.z
if_z cb0[145].z
  add [precise(y)] r0.y, r1.w, cb2[16].y
  div [precise(y)] r0.y, r1.z, r0.y
  min [precise(x)] oDepthLE, r0.y, v0.z
else
  mov oDepthLE, v0.z
endif
mad r0.x, r0.x, cb2[15].w, l(-0.333300)
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
mov o0.xyzw, l(0,0,0,0)
ret
// Approximately 0 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.198 on Tue Oct  8 21:32:37 2024
// Texture2D<float4> t3 : register(t3);
//
// Texture2D<float4> t2 : register(t2);
//
// Texture2D<float4> t1 : register(t1);
//
// Texture2D<float4> t0 : register(t0);
//
// SamplerState s3_s : register(s3);
//
// SamplerState s2_s : register(s2);
//
// SamplerState s1_s : register(s1);
//
// SamplerState s0_s : register(s0);
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[17];
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[6];
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[154];
// }
//
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   float4 v1 : TEXCOORD0,
//   float4 v2 : TEXCOORD5,
//   uint v3 : SV_IsFrontFace0,
//   out float4 o0 : SV_Target0,
//   out float oDepthLE : SV_DepthLessEqual)
// {
//   float4 r0,r1,r2,r3;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = -cb0[128].xy + v0.xy;
//   r0.zw = r0.xy * cb0[129].zw + float2(-0.5,-0.5);
//   r1.xy = float2(2,-2) * r0.zw;
//   r1.z = v0.z;
//   r1.w = 1;
//   r1.xyzw = v0.wwww * r1.xyzw;
//   r0.zw = r1.xy / r1.ww;
//   r0.zw = -cb1[5].xy + r0.zw;
//   r0.zw = r0.zw * cb1[5].zw + float2(0.5,0.5);
//   r0.zw = cb2[2].yy * r0.zw;
//   r1.x = t0.SampleBias(s0_s, v1.xy, cb0[144].x).x;
//   r1.y = cb2[4].w * cb0[143].y;
//   r2.x = frac(r1.y);
//   r1.y = cb2[5].x * cb0[143].y;
//   r2.y = frac(r1.y);
//   r2.zw = cb2[6].xy * r0.zw;
//   r2.xy = r2.zw * cb2[3].ww + r2.xy;
//   r1.y = t1.SampleBias(s1_s, r2.xy, cb0[144].x).x;
//   r2.xy = cb2[7].zw * cb0[143].yy;
//   r2.xy = frac(r2.xy);
//   r2.xy = r2.zw * cb2[3].ww + r2.xy;
//   r2.x = t1.SampleBias(s1_s, r2.xy, cb0[144].x).x;
//   r1.y = r2.x + r1.y;
//   r2.x = cb2[8].x * v2.w;
//   r1.y = r2.x * r1.y;
//   r2.x = cmp(cb0[35].w < 1);
//   r2.yz = cb0[71].xz * r1.zz;
//   r2.y = cb0[71].y + r2.y;
//   r2.z = -cb0[71].w + r2.z;
//   r2.z = 1 / r2.z;
//   r2.y = r2.y + r2.z;
//   r2.x = r2.x ? r1.w : r2.y;
//   r2.y = 0.100000001 * r2.x;
//   r2.y = saturate(cb2[8].z * r2.y);
//   r1.y = r2.y * r1.y;
//   r1.y = t2.SampleBias(s2_s, r1.yy, cb0[144].x).x;
//   r1.y = r1.x * r1.y;
//   r2.zw = cb2[10].zw * cb0[143].yy;
//   r2.zw = frac(r2.zw);
//   r0.zw = cb2[11].zw * r0.zw;
//   r2.zw = r0.zw * cb2[3].ww + r2.zw;
//   r2.z = t3.SampleBias(s3_s, r2.zw, cb0[144].x).x;
//   r3.xy = cb2[13].xy * cb0[143].yy;
//   r3.xy = frac(r3.xy);
//   r0.zw = r0.zw * cb2[3].ww + r3.xy;
//   r0.z = t3.SampleBias(s3_s, r0.zw, cb0[144].x).y;
//   r0.z = r2.z + r0.z;
//   r0.w = cb2[13].z * v2.w;
//   r0.z = r0.z * r0.w;
//   r0.z = r0.z * r2.y;
//   r0.z = t0.SampleBias(s0_s, r0.zz, cb0[144].x).x;
//   r0.z = r0.z * r1.x + r1.y;
//   r0.w = cmp(0 >= r0.z);
//   r1.x = log2(r0.z);
//   r1.x = cb2[13].w * r1.x;
//   r1.x = exp2(r1.x);
//   r1.x = ceil(r1.x);
//   r1.y = v2.w * r0.z;
//   r2.y = 1 + -v2.w;
//   r1.x = r2.y * r1.x;
//   r0.w = r0.w ? 0 : r1.x;
//   r0.w = v2.w + r0.w;
//   r0.z = -r0.z * v2.w + 0.0799999982;
//   r0.z = cmp(9.99999975e-06 < abs(r0.z));
//   r1.x = cmp(0.0799999982 >= r1.y);
//   r0.w = r1.x ? 0 : r0.w;
//   r0.z = r0.z ? r0.w : 0;
//   r0.w = -cb2[15].x + r2.x;
//   r0.w = saturate(cb2[15].z * r0.w);
//   r0.xy = cb0[153].xx + r0.xy;
//   r0.xy = (uint2)r0.xy;
//   r0.y = (uint)r0.y << 1;
//   r0.x = (int)r0.y + (int)r0.x;
//   r0.x = (uint)r0.x % 5;
//   r0.x = (uint)r0.x;
//   r0.x = r0.x * 0.166666672 + r0.w;
//   r0.x = -0.5 + r0.x;
//   r0.x = r0.z * r0.x;
//   if (cb0[145].z == 0) {
//     r0.y = cb2[16].y + r1.w;
//     r0.y = r1.z / r0.y;
//     oDepthLE = min(v0.z, r0.y);
//   } else {
//     oDepthLE = v0.z;
//   }
//   r0.x = r0.x * cb2[15].w + -0.333299994;
//   r0.x = cmp(r0.x < 0);
//   if (r0.x != 0) discard;
//   o0.xyzw = float4(0,0,0,0);
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// error X8000: D3D11 Internal Compiler Error: Invalid Bytecode: Interpolation mode for PS input position must be linear_noperspective_centroid or linear_noperspective_sample when outputting oDepthGE or oDepthLE and not running at sample frequency (which is forced by inputting SV_SampleIndex or declaring an input linear_sample or linear_noperspective_sample). 
/////////////////////////////////////////////////////////////////////////////
