//Water PS 1. Inverted.
// ---- Created with geo-11 v0.6.198 on Thu Oct  1 18:52:33 2026
Texture2D<float4> t5 : register(t5);

Texture2D<float4> t4 : register(t4);

Texture2D<float4> t3 : register(t3);

Texture2D<float4> t2 : register(t2);

Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

Texture2D<float4> t100 : register(t100);

Texture2D<float4> t101 : register(t101);

SamplerState s4_s : register(s4);

SamplerState s3_s : register(s3);

SamplerState s2_s : register(s2);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

cbuffer cb1 : register(b1)
{
  float4 cb1[14];
}

cbuffer cb0 : register(b0)
{
  float4 cb0[136];
}




// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
  float4 v0 : SV_POSITION0,
  float3 v1 : INTERP0,
  float3 v2 : INTERP1,
  out float4 o0 : SV_Target0)
{
  float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11;
  uint4 bitmask, uiDest;
  float4 fDest;
  
  float4 stereo = StereoParams.Load(0);
  
  r0.x = cb0[77].w * v1.y;
  r0.x = cb0[76].w * v1.x + r0.x;
  r0.x = cb0[78].w * v1.z + r0.x;
  r0.x = cb0[79].w + r0.x;
  r0.y = cmp(cb0[21].x < 0);
  r0.z = cb0[4].y + -v0.y;
  r1.y = r0.y ? r0.z : v0.y;
  r1.x = v0.x;
  r1.xy = r1.xy / cb0[4].xy;
  r0.yz = float2(1,1) + -r1.xy;
  r2.z = 1 / cb0[22].y;
  r2.y = 1;
  r2.yz = float2(-0,-2) * r2.yz + r0.yz;
  r0.yz = cb1[4].zw * cb0[15].yy;
  r0.yz = v1.xz * cb1[4].xy + r0.yz;
  r3.xyzw = t3.SampleBias(s4_s, r0.yz, cb0[5].x).xyzw;
  
  float2 pos = r2.yz;
  pos.x = pos.x * 0.5;
  if (stereo.z==1) {
    pos.x+=0.5;
  }
  
  r4.xyzw = t101.SampleBias(s2_s, pos.xy, cb0[5].x).xyzw;
  //r4.xyzw = t1.SampleBias(s2_s, r2.yz, cb0[5].x).xyzw;
  r0.yzw = float3(1,1,1) + -cb1[2].zyx;
  r3.xzw = float3(1,1,1) + -cb1[0].xyw;
  r0.y = r4.x + -r0.y;
  r3.xzw = float3(1,1,1) / r3.xzw;
  r0.y = saturate(r3.x * r0.y);
  r2.w = r0.y * -2 + 3;
  r0.y = r0.y * r0.y;
  r0.y = -r2.w * r0.y + 1;
  r0.y = max(0, r0.y);
  r2.w = 24 + v1.z;
  r2.w = saturate(0.00200000009 * r2.w);
  r2.w = 1 + -r2.w;
  r3.x = cb1[2].w * r2.w;
  r0.y = r3.x * r0.y;
  r3.x = -0.25 + r3.y;
  r2.x = r3.x * r0.y + r2.y;
  
  pos = r2.xz;
  pos.x = pos.x * 0.5;
  if (stereo.z==1) {
    pos.x+=0.5;
  }
  
  r4.xyzw = t100.SampleBias(s2_s, pos.xy, cb0[5].x).xyzw;
  //r4.xyzw = t2.SampleBias(s2_s, r2.xz, cb0[5].x).xyzw;
  r0.y = max(1, v1.z);
  r3.xy = -cb0[130].xy + r0.yy;
  r5.xy = cb0[130].yz + -cb0[130].xy;
  r6.xy = r3.xy / r5.xy;
  r0.y = cmp(r6.x < 1);
  r6.xy = saturate(r6.xy);
  r6.z = 0.5;
  r7.xyzw = t4.SampleBias(s1_s, r6.xz, cb0[5].x).xyzw;
  r6.xyzw = t5.SampleBias(s1_s, r6.yz, cb0[5].x).xyzw;
  r6.xyzw = r0.yyyy ? r7.xyzw : r6.xyzw;
  r7.xyz = cb1[9].yyy * r6.xyz;
  r0.y = cb0[132].y + -cb0[132].x;
  r0.y = 1 / r0.y;
  r2.y = saturate(-cb0[132].x * r0.y);
  r3.x = r2.y * -2 + 3;
  r2.y = r2.y * r2.y;
  r2.y = r3.x * r2.y;
  r3.x = cb0[132].z * r2.y;
  r2.y = -r2.y * cb0[132].z + 1;
  r2.y = r2.y * r6.w;
  r2.y = cb0[131].x * r2.y;
  r2.y = cb0[131].z * r2.y;
  r8.xyz = r2.yyy * r6.xyz;
  r5.zw = cmp(float2(0,0) != cb0[133].xy);
  r8.xyz = r5.zzz ? r3.xxx : r8.xyz;
  r8.xyz = r5.www ? r8.xyz : 0;
  r3.xy = -cb0[130].xy + v1.zz;
  r3.xy = r3.xy / r5.xy;
  r9.xy = saturate(r3.xy);
  r8.xyz = -r6.xyz * cb1[9].yyy + r8.xyz;
  r7.xyz = r9.xxx * r8.xyz + r7.xyz;
  r2.y = cmp(r7.y >= r7.z);
  r2.y = r2.y ? 1.000000 : 0;
  r8.xy = r7.zy;
  r8.zw = float2(-1,0.666666687);
  r10.xy = -r8.xy + r7.yz;
  r10.zw = float2(1,-1);
  r8.xyzw = r2.yyyy * r10.xyzw + r8.xyzw;
  r2.y = cmp(r7.x >= r8.x);
  r2.y = r2.y ? 1.000000 : 0;
  r10.xyz = r8.xyw;
  r10.w = r7.x;
  r8.xyw = r10.wyx;
  r8.xyzw = r8.xyzw + -r10.xyzw;
  r8.xyzw = r2.yyyy * r8.xyzw + r10.xyzw;
  r2.y = min(r8.w, r8.y);
  r2.y = r8.x + -r2.y;
  r3.y = cmp(r2.y == 0.000000);
  r4.w = 1.00000001e-10 + r8.x;
  r3.y = r3.y ? r8.x : r4.w;
  r5.x = r8.w + -r8.y;
  r5.y = r2.y * 6 + 1.00000001e-10;
  r5.x = r5.x / r5.y;
  r5.x = r8.z + r5.x;
  r2.y = r2.y / r4.w;
  r3.y = cb1[9].x + r3.y;
  r8.xyz = float3(1,0.666666687,0.333333343) + abs(r5.xxx);
  r8.xyz = frac(r8.xyz);
  r8.xyz = r8.xyz * float3(6,6,6) + float3(-3,-3,-3);
  r8.xyz = saturate(float3(-1,-1,-1) + abs(r8.xyz));
  r8.xyz = float3(-1,-1,-1) + r8.xyz;
  r8.xyz = r2.yyy * r8.xyz + float3(1,1,1);
  r5.xy = cb1[7].zw * cb0[15].yy;
  r10.xy = v1.xz * cb1[7].xy + r5.xy;
  r10.xyzw = t3.SampleBias(s4_s, r10.xy, cb0[5].x).xyzw;
  r5.xy = v1.xz * cb1[7].xy + -r5.xy;
  r11.xyzw = t3.SampleBias(s4_s, r5.xy, cb0[5].x).xyzw;
  r2.y = cb1[8].x + cb1[8].w;
  r2.y = r11.z * cb1[8].z + r2.y;
  r4.w = 1 + -cb1[8].y;
  r2.y = r10.x + -r2.y;
  r4.w = 1 / r4.w;
  r2.y = saturate(r4.w * r2.y);
  r5.x = r2.y * -2 + 3;
  r2.y = r2.y * r2.y;
  r2.y = -r5.x * r2.y + 1;
  r5.x = cb1[8].x + -cb1[8].w;
  r5.x = r11.z * cb1[8].z + r5.x;
  r5.x = r10.x + -r5.x;
  r4.w = saturate(r5.x * r4.w);
  r5.x = r4.w * -2 + 3;
  r4.w = r4.w * r4.w;
  r4.w = r5.x * r4.w;
  r2.y = r4.w * r2.y;
  r2.y = r2.y * r2.w;
  r8.xyz = r3.yyy * r8.xyz + -r7.xyz;
  r7.xyz = r2.yyy * r8.xyz + r7.xyz;
  r7.xyz = cb1[10].xyz + r7.xyz;
  r2.y = 1 + -cb1[9].w;
  
  pos = r2.xz;
  pos.x = pos.x * 0.5;
  if (stereo.z==1) {
    pos.x+=0.5;
  }
  
  r8.xyzw = t101.SampleBias(s3_s, pos.xy, cb0[5].x).xyzw;
  //r8.xyzw = t1.SampleBias(s3_s, r2.xz, cb0[5].x).xyzw;
  r2.x = 1 + -cb1[6].x;
  r2.x = r8.x + -r2.x;
  r0.z = 1 / r0.z;
  r0.z = saturate(r2.x * r0.z);
  r2.x = r0.z * -2 + 3;
  r0.z = r0.z * r0.z;
  r0.z = -r2.x * r0.z + 1;
  r0.w = r8.x + -r0.w;
  r0.w = saturate(r0.w * r3.z);
  r2.x = r0.w * -2 + 3;
  r0.w = r0.w * r0.w;
  r0.w = -r2.x * r0.w + 1;
  r0.zw = max(float2(0,0), r0.zw);
  r2.x = saturate(v1.z / cb1[9].z);
  r0.w = r0.w + -r0.z;
  r0.z = r2.x * r0.w + r0.z;
  r0.z = min(r2.y, r0.z);
  r2.xyz = r7.xyz + -r4.xyz;
  r2.xyz = r0.zzz * r2.xyz + r4.xyz;
  r0.w = cmp(r3.x < 1);
  r9.z = 0.5;
  r4.xyzw = t4.SampleBias(s1_s, r9.xz, cb0[5].x).xyzw;
  r7.xyzw = t5.SampleBias(s1_s, r9.yz, cb0[5].x).xyzw;
  r4.xyzw = r0.wwww ? r4.xyzw : r7.xyzw;
  r0.w = cmp(r2.y >= r2.z);
  r0.w = r0.w ? 1.000000 : 0;
  r3.xy = r2.yz + -r2.zy;
  r3.xy = r0.ww * r3.xy + r2.zy;
  r0.w = cmp(r2.x >= r3.x);
  r0.w = r0.w ? 1.000000 : 0;
  r3.z = r2.x;
  r7.xyz = r3.zyx + -r3.xyz;
  r3.xyz = r0.www * r7.xyz + r3.xyz;
  r0.w = min(r3.z, r3.y);
  r0.w = r3.x + -r0.w;
  r0.w = cmp(r0.w == 0.000000);
  r2.w = 1.00000001e-10 + r3.x;
  r0.w = r0.w ? r3.x : r2.w;
  r0.w = -cb0[132].x + r0.w;
  r0.y = saturate(r0.w * r0.y);
  r0.w = r0.y * -2 + 3;
  r0.y = r0.y * r0.y;
  r0.y = r0.w * r0.y;
  r0.w = cb0[132].z * r0.y;
  r3.xyz = cb0[131].yyy * r4.xyz;
  r0.y = -r0.y * cb0[132].z + 1;
  r0.y = r0.y * r4.w;
  r0.y = cb0[131].x * r0.y;
  r3.xyz = r2.xyz * r3.xyz + -r2.xyz;
  r3.xyz = r0.yyy * r3.xyz + r2.xyz;
  r0.y = cb0[131].z * r0.y;
  r4.xyz = r4.xyz + -r3.xyz;
  r3.xyz = r0.yyy * r4.xyz + r3.xyz;
  r3.xyz = r5.zzz ? r0.www : r3.xyz;
  r3.xyz = r5.www ? r3.xyz : r2.xyz;
  r3.xyz = r3.xyz + -r2.xyz;
  r0.yzw = r0.zzz * r3.xyz + r2.xyz;
  r2.x = 1 + -cb0[135].x;
  r2.yz = cb1[13].xx * v1.xz;
  r4.xyzw = t3.SampleBias(s4_s, r2.yz, cb0[5].x).xyzw;
  r2.yz = float2(-0.5,-1) + r4.xx;
  r2.w = cmp(cb0[24].w == 1.000000);
  if (r2.w != 0) {
    r1.z = 1 + -r1.y;
    r4.xyzw = t0.SampleBias(s0_s, r1.xz, cb0[5].x).xyzw;
    r3.xy = r1.xz * float2(2,2) + float2(-1,-1);
    r5.xyzw = cb0[81].xyzw * -r3.yyyy;
    r5.xyzw = cb0[80].xyzw * r3.xxxx + r5.xyzw;
    r4.xyzw = cb0[82].xyzw * r4.xxxx + r5.xyzw;
    r4.xyzw = cb0[83].xyzw + r4.xyzw;
    r3.xyz = r4.xyz / r4.www;
    r1.z = cb0[65].z * r3.y;
    r1.z = cb0[64].z * r3.x + r1.z;
    r1.z = cb0[66].z * r3.z + r1.z;
    r1.z = cb0[67].z + r1.z;
    r1.z = abs(r1.z);
  } else {
    r1.w = 1 + -r1.y;
    r4.xyzw = t0.SampleBias(s0_s, r1.xw, cb0[5].x).xyzw;
    r1.x = cb0[23].z * r4.x + cb0[23].w;
    r1.z = 1 / r1.x;
  }
  r0.x = r1.z + -r0.x;
  r0.x = r0.x / cb1[11].x;
  r1.x = min(1, r0.x);
  r1.x = 1.57079637 * r1.x;
  r1.x = sin(r1.x);
  r1.x = log2(r1.x);
  r1.xy = float2(1.5,0.75) * r1.xx;
  r1.xy = exp2(r1.xy);
  r1.z = cb1[3].x * r1.x;
  r1.z = r2.y * r1.z + v1.z;
  r1.xz = cb1[11].zy * r1.xz;
  r1.z = cb0[19].x * cb1[1].y + r1.z;
  r1.z = sin(r1.z);
  r1.z = max(0, r1.z);
  r1.w = 1 + -cb1[1].w;
  r1.z = -cb1[1].z + r1.z;
  r1.w = 1 / r1.w;
  r1.z = saturate(r1.z * r1.w);
  r1.w = r1.z * -2 + 3;
  r1.z = r1.z * r1.z;
  r1.z = r1.w * r1.z;
  r0.x = -cb1[1].x + r0.x;
  r0.x = saturate(r0.x * r3.w);
  r1.w = r0.x * -2 + 3;
  r0.x = r0.x * r0.x;
  r0.x = -r1.w * r0.x + 1;
  r0.x = r1.z * r0.x;
  r1.x = r1.x * r2.z + 1;
  r0.x = r1.x * r0.x;
  r1.x = cb1[0].z * r1.y;
  r0.x = r1.x * r0.x;
  r1.xyz = r6.xyz * r0.xxx;
  o0.xyz = r0.yzw * r2.xxx + r1.xyz;
  o0.w = 1;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Thu Oct  1 18:52:33 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// INTERP                   0   xyz         1     NONE   float   xyz
// INTERP                   1   xyz         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 CB0[136], immediateIndexed
dcl_constantbuffer CB1[14], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, 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_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xyz
dcl_output o0.xyzw
dcl_temps 12
mul r0.x, v1.y, cb0[77].w
mad r0.x, cb0[76].w, v1.x, r0.x
mad r0.x, cb0[78].w, v1.z, r0.x
add r0.x, r0.x, cb0[79].w
lt r0.y, cb0[21].x, l(0.000000)
add r0.z, -v0.y, cb0[4].y
movc r1.y, r0.y, r0.z, v0.y
mov r1.x, v0.x
div r1.xy, r1.xyxx, cb0[4].xyxx
add r0.yz, -r1.xxyx, l(0.000000, 1.000000, 1.000000, 0.000000)
div r2.z, l(1.000000, 1.000000, 1.000000, 1.000000), cb0[22].y
mov r2.y, l(1.000000)
mad r2.yz, l(-0.000000, -0.000000, -2.000000, -0.000000), r2.yyzy, r0.yyzy
mul r0.yz, cb0[15].yyyy, cb1[4].zzwz
mad r0.yz, v1.xxzx, cb1[4].xxyx, r0.yyzy
sample_b r3.xyzw, r0.yzyy, t3.xyzw, s4, cb0[5].x
sample_b r4.xyzw, r2.yzyy, t1.xyzw, s2, cb0[5].x
add r0.yzw, -cb1[2].zzyx, l(0.000000, 1.000000, 1.000000, 1.000000)
add r3.xzw, -cb1[0].xxyw, l(1.000000, 0.000000, 1.000000, 1.000000)
add r0.y, -r0.y, r4.x
div r3.xzw, l(1.000000, 1.000000, 1.000000, 1.000000), r3.xxzw
mul_sat r0.y, r0.y, r3.x
mad r2.w, r0.y, l(-2.000000), l(3.000000)
mul r0.y, r0.y, r0.y
mad r0.y, -r2.w, r0.y, l(1.000000)
max r0.y, r0.y, l(0.000000)
add r2.w, v1.z, l(24.000000)
mul_sat r2.w, r2.w, l(0.002000)
add r2.w, -r2.w, l(1.000000)
mul r3.x, r2.w, cb1[2].w
mul r0.y, r0.y, r3.x
add r3.x, r3.y, l(-0.250000)
mad r2.x, r3.x, r0.y, r2.y
sample_b r4.xyzw, r2.xzxx, t2.xyzw, s2, cb0[5].x
max r0.y, v1.z, l(1.000000)
add r3.xy, r0.yyyy, -cb0[130].xyxx
add r5.xy, -cb0[130].xyxx, cb0[130].yzyy
div r6.xy, r3.xyxx, r5.xyxx
lt r0.y, r6.x, l(1.000000)
mov_sat r6.xy, r6.xyxx
mov r6.z, l(0.500000)
sample_b r7.xyzw, r6.xzxx, t4.xyzw, s1, cb0[5].x
sample_b r6.xyzw, r6.yzyy, t5.xyzw, s1, cb0[5].x
movc r6.xyzw, r0.yyyy, r7.xyzw, r6.xyzw
mul r7.xyz, r6.xyzx, cb1[9].yyyy
add r0.y, -cb0[132].x, cb0[132].y
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
mul_sat r2.y, r0.y, -cb0[132].x
mad r3.x, r2.y, l(-2.000000), l(3.000000)
mul r2.y, r2.y, r2.y
mul r2.y, r2.y, r3.x
mul r3.x, r2.y, cb0[132].z
mad r2.y, -r2.y, cb0[132].z, l(1.000000)
mul r2.y, r6.w, r2.y
mul r2.y, r2.y, cb0[131].x
mul r2.y, r2.y, cb0[131].z
mul r8.xyz, r6.xyzx, r2.yyyy
ne r5.zw, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[133].xxxy
movc r8.xyz, r5.zzzz, r3.xxxx, r8.xyzx
and r8.xyz, r5.wwww, r8.xyzx
add r3.xy, v1.zzzz, -cb0[130].xyxx
div r3.xy, r3.xyxx, r5.xyxx
mov_sat r9.xy, r3.xyxx
mad r8.xyz, -r6.xyzx, cb1[9].yyyy, r8.xyzx
mad r7.xyz, r9.xxxx, r8.xyzx, r7.xyzx
ge r2.y, r7.y, r7.z
and r2.y, r2.y, l(0x3f800000)
mov r8.xy, r7.zyzz
mov r8.zw, l(0,0,-1.000000,0.666666687)
add r10.xy, r7.yzyy, -r8.xyxx
mov r10.zw, l(0,0,1.000000,-1.000000)
mad r8.xyzw, r2.yyyy, r10.xyzw, r8.xyzw
ge r2.y, r7.x, r8.x
and r2.y, r2.y, l(0x3f800000)
mov r10.xyz, r8.xywx
mov r10.w, r7.x
mov r8.xyw, r10.wywx
add r8.xyzw, -r10.xyzw, r8.xyzw
mad r8.xyzw, r2.yyyy, r8.xyzw, r10.xyzw
min r2.y, r8.y, r8.w
add r2.y, -r2.y, r8.x
eq r3.y, r2.y, l(0.000000)
add r4.w, r8.x, l(1.000000013E-10)
movc r3.y, r3.y, r8.x, r4.w
add r5.x, -r8.y, r8.w
mad r5.y, r2.y, l(6.000000), l(1.000000013E-10)
div r5.x, r5.x, r5.y
add r5.x, r5.x, r8.z
div r2.y, r2.y, r4.w
add r3.y, r3.y, cb1[9].x
add r8.xyz, |r5.xxxx|, l(1.000000, 0.666666687, 0.333333343, 0.000000)
frc r8.xyz, r8.xyzx
mad r8.xyz, r8.xyzx, l(6.000000, 6.000000, 6.000000, 0.000000), l(-3.000000, -3.000000, -3.000000, 0.000000)
add_sat r8.xyz, |r8.xyzx|, l(-1.000000, -1.000000, -1.000000, 0.000000)
add r8.xyz, r8.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r8.xyz, r2.yyyy, r8.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r5.xy, cb0[15].yyyy, cb1[7].zwzz
mad r10.xy, v1.xzxx, cb1[7].xyxx, r5.xyxx
sample_b r10.xyzw, r10.xyxx, t3.xyzw, s4, cb0[5].x
mad r5.xy, v1.xzxx, cb1[7].xyxx, -r5.xyxx
sample_b r11.xyzw, r5.xyxx, t3.xyzw, s4, cb0[5].x
add r2.y, cb1[8].w, cb1[8].x
mad r2.y, r11.z, cb1[8].z, r2.y
add r4.w, -cb1[8].y, l(1.000000)
add r2.y, -r2.y, r10.x
div r4.w, l(1.000000, 1.000000, 1.000000, 1.000000), r4.w
mul_sat r2.y, r2.y, r4.w
mad r5.x, r2.y, l(-2.000000), l(3.000000)
mul r2.y, r2.y, r2.y
mad r2.y, -r5.x, r2.y, l(1.000000)
add r5.x, -cb1[8].w, cb1[8].x
mad r5.x, r11.z, cb1[8].z, r5.x
add r5.x, -r5.x, r10.x
mul_sat r4.w, r4.w, r5.x
mad r5.x, r4.w, l(-2.000000), l(3.000000)
mul r4.w, r4.w, r4.w
mul r4.w, r4.w, r5.x
mul r2.y, r2.y, r4.w
mul r2.y, r2.w, r2.y
mad r8.xyz, r3.yyyy, r8.xyzx, -r7.xyzx
mad r7.xyz, r2.yyyy, r8.xyzx, r7.xyzx
add r7.xyz, r7.xyzx, cb1[10].xyzx
add r2.y, -cb1[9].w, l(1.000000)
sample_b r8.xyzw, r2.xzxx, t1.xyzw, s3, cb0[5].x
add r2.x, -cb1[6].x, l(1.000000)
add r2.x, -r2.x, r8.x
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
mul_sat r0.z, r0.z, r2.x
mad r2.x, r0.z, l(-2.000000), l(3.000000)
mul r0.z, r0.z, r0.z
mad r0.z, -r2.x, r0.z, l(1.000000)
add r0.w, -r0.w, r8.x
mul_sat r0.w, r3.z, r0.w
mad r2.x, r0.w, l(-2.000000), l(3.000000)
mul r0.w, r0.w, r0.w
mad r0.w, -r2.x, r0.w, l(1.000000)
max r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
div_sat r2.x, v1.z, cb1[9].z
add r0.w, -r0.z, r0.w
mad r0.z, r2.x, r0.w, r0.z
min r0.z, r0.z, r2.y
add r2.xyz, -r4.xyzx, r7.xyzx
mad r2.xyz, r0.zzzz, r2.xyzx, r4.xyzx
lt r0.w, r3.x, l(1.000000)
mov r9.z, l(0.500000)
sample_b r4.xyzw, r9.xzxx, t4.xyzw, s1, cb0[5].x
sample_b r7.xyzw, r9.yzyy, t5.xyzw, s1, cb0[5].x
movc r4.xyzw, r0.wwww, r4.xyzw, r7.xyzw
ge r0.w, r2.y, r2.z
and r0.w, r0.w, l(0x3f800000)
add r3.xy, -r2.zyzz, r2.yzyy
mad r3.xy, r0.wwww, r3.xyxx, r2.zyzz
ge r0.w, r2.x, r3.x
and r0.w, r0.w, l(0x3f800000)
mov r3.z, r2.x
add r7.xyz, -r3.xyzx, r3.zyxz
mad r3.xyz, r0.wwww, r7.xyzx, r3.xyzx
min r0.w, r3.y, r3.z
add r0.w, -r0.w, r3.x
eq r0.w, r0.w, l(0.000000)
add r2.w, r3.x, l(1.000000013E-10)
movc r0.w, r0.w, r3.x, r2.w
add r0.w, r0.w, -cb0[132].x
mul_sat r0.y, r0.y, r0.w
mad r0.w, r0.y, l(-2.000000), l(3.000000)
mul r0.y, r0.y, r0.y
mul r0.y, r0.y, r0.w
mul r0.w, r0.y, cb0[132].z
mul r3.xyz, r4.xyzx, cb0[131].yyyy
mad r0.y, -r0.y, cb0[132].z, l(1.000000)
mul r0.y, r4.w, r0.y
mul r0.y, r0.y, cb0[131].x
mad r3.xyz, r2.xyzx, r3.xyzx, -r2.xyzx
mad r3.xyz, r0.yyyy, r3.xyzx, r2.xyzx
mul r0.y, r0.y, cb0[131].z
add r4.xyz, -r3.xyzx, r4.xyzx
mad r3.xyz, r0.yyyy, r4.xyzx, r3.xyzx
movc r3.xyz, r5.zzzz, r0.wwww, r3.xyzx
movc r3.xyz, r5.wwww, r3.xyzx, r2.xyzx
add r3.xyz, -r2.xyzx, r3.xyzx
mad r0.yzw, r0.zzzz, r3.xxyz, r2.xxyz
add r2.x, -cb0[135].x, l(1.000000)
mul r2.yz, v1.xxzx, cb1[13].xxxx
sample_b r4.xyzw, r2.yzyy, t3.xyzw, s4, cb0[5].x
add r2.yz, r4.xxxx, l(0.000000, -0.500000, -1.000000, 0.000000)
eq r2.w, cb0[24].w, l(1.000000)
if_nz r2.w
  add r1.z, -r1.y, l(1.000000)
  sample_b r4.xyzw, r1.xzxx, t0.xyzw, s0, cb0[5].x
  mad r3.xy, r1.xzxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  mul r5.xyzw, -r3.yyyy, cb0[81].xyzw
  mad r5.xyzw, cb0[80].xyzw, r3.xxxx, r5.xyzw
  mad r4.xyzw, cb0[82].xyzw, r4.xxxx, r5.xyzw
  add r4.xyzw, r4.xyzw, cb0[83].xyzw
  div r3.xyz, r4.xyzx, r4.wwww
  mul r1.z, r3.y, cb0[65].z
  mad r1.z, cb0[64].z, r3.x, r1.z
  mad r1.z, cb0[66].z, r3.z, r1.z
  add r1.z, r1.z, cb0[67].z
  mov r1.z, |r1.z|
else
  add r1.w, -r1.y, l(1.000000)
  sample_b r4.xyzw, r1.xwxx, t0.xyzw, s0, cb0[5].x
  mad r1.x, cb0[23].z, r4.x, cb0[23].w
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
endif
add r0.x, -r0.x, r1.z
div r0.x, r0.x, cb1[11].x
min r1.x, r0.x, l(1.000000)
mul r1.x, r1.x, l(1.57079637)
sincos r1.x, null, r1.x
log r1.x, r1.x
mul r1.xy, r1.xxxx, l(1.500000, 0.750000, 0.000000, 0.000000)
exp r1.xy, r1.xyxx
mul r1.z, r1.x, cb1[3].x
mad r1.z, r2.y, r1.z, v1.z
mul r1.xz, r1.xxzx, cb1[11].zzyz
mad r1.z, cb0[19].x, cb1[1].y, r1.z
sincos r1.z, null, r1.z
max r1.z, r1.z, l(0.000000)
add r1.w, -cb1[1].w, l(1.000000)
add r1.z, r1.z, -cb1[1].z
div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
mul_sat r1.z, r1.w, r1.z
mad r1.w, r1.z, l(-2.000000), l(3.000000)
mul r1.z, r1.z, r1.z
mul r1.z, r1.z, r1.w
add r0.x, r0.x, -cb1[1].x
mul_sat r0.x, r3.w, r0.x
mad r1.w, r0.x, l(-2.000000), l(3.000000)
mul r0.x, r0.x, r0.x
mad r0.x, -r1.w, r0.x, l(1.000000)
mul r0.x, r0.x, r1.z
mad r1.x, r1.x, r2.z, l(1.000000)
mul r0.x, r0.x, r1.x
mul r1.x, r1.y, cb1[0].z
mul r0.x, r0.x, r1.x
mul r1.xyz, r0.xxxx, r6.xyzx
mad o0.xyz, r0.yzwy, r2.xxxx, r1.xyzx
mov o0.w, l(1.000000)
ret
// Approximately 0 instruction slots used

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
