//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float4 Layer0Color_1;
//   sampler2D Layer0Diffuse_0;
//   float4 g_AmbientCube[6];
//   sampler2D g_CloudShadowSampler;
//   float4 g_CloudUVScaleOffset;
//   float4 g_EyePosition;
//   float4 g_FogColor;
//   float4 g_FogParams;
//   float4 g_LayeredSkyUserColor1;
//   float4 g_ProjShadowParams[2];
//   float4 g_ProjWorldToLight[8];
//   sampler2D g_ProjectorCookies[2];
//   sampler2D g_ProjectorShadow;
//   float4 g_ShadowCascadesRangesMax;
//   float4 g_ShadowCascadesRangesMin;
//   float4 g_ShadowFadeParams;
//   float4 g_ShadowMapSize;
//   sampler2D g_ShadowNoiseSampler;
//   float4 g_ShadowNoiseScale;
//   float4 g_ShadowOffsetsW;
//   float4 g_ShadowOffsetsX;
//   float4 g_ShadowOffsetsY;
//   float4 g_ShadowOffsetsZ;
//   sampler2D g_ShadowSampler;
//   float4 g_ShadowScalesW;
//   float4 g_ShadowScalesX;
//   float4 g_ShadowScalesY;
//   float4 g_ShadowScalesZ;
//   
//   struct
//   {
//       float3 m_Direction;
//       float3 m_Color;
//       float3 m_SpecularDirection;
//
//   } g_ShadowedDirect;
//   
//   struct
//   {
//       float4 m_PositionFar;
//       float4 m_ColorFade;
//       float3 m_Direction;
//       float4 m_ConeAngles;
//
//   } g_SpotLights[2];
//   
//   bool g_UseDepthTextureShadows;
//   sampler2D g_WorldLightMapSampler;
//   float4 g_WorldLightmapParameters;
//   float4 g_WorldLightmapUVParameters;
//   float4 g_WorldLightmapZOffsetParameters;
//
//
// Registers:
//
//   Name                             Reg   Size
//   -------------------------------- ----- ----
//   g_UseDepthTextureShadows         b15      1
//   g_EyePosition                    c12      1
//   g_FogColor                       c16      1
//   g_FogParams                      c17      1
//   g_AmbientCube                    c24      6
//   g_SpotLights                     c44      4
//   g_ShadowedDirect                 c52      2
//   g_ProjWorldToLight               c55      4
//   g_ShadowCascadesRangesMin        c64      1
//   g_ShadowCascadesRangesMax        c65      1
//   g_ShadowFadeParams               c74      1
//   g_ShadowNoiseScale               c77      1
//   g_ShadowScalesW                  c78      1
//   g_ShadowOffsetsW                 c79      1
//   g_ShadowScalesZ                  c80      1
//   g_ShadowOffsetsZ                 c81      1
//   g_ShadowScalesX                  c82      1
//   g_ShadowScalesY                  c83      1
//   g_ShadowOffsetsX                 c84      1
//   g_ShadowOffsetsY                 c85      1
//   g_ShadowMapSize                  c86      1
//   g_WorldLightmapParameters        c87      1
//   g_WorldLightmapUVParameters      c88      1
//   g_WorldLightmapZOffsetParameters c89      1
//   g_LayeredSkyUserColor1           c101     1
//   g_CloudUVScaleOffset             c115     1
//   g_ProjShadowParams               c119     1
//   Layer0Color_1                    c128     1
//   Layer0Diffuse_0                  s0       1
//   g_ShadowNoiseSampler             s6       1
//   g_ProjectorCookies               s9       1
//   g_ProjectorShadow                s11      1
//   g_WorldLightMapSampler           s12      1
//   g_CloudShadowSampler             s14      1
//   g_ShadowSampler                  s15      1
//

    ps_3_0
    def c0, 0.25, 0.5, 0.75, 0.015625
    def c1, 0.5, 1, 0, -1
    def c2, 1, -1, 0, -0
    def c3, 0.5, -0.5, 0, 0
    def c4, -1.20522094, 1.9759326, -0.335031986, 0.160125375
    def c5, -0.124001235, 0.389027983, 1.2991153, -0.504198194
    def c6, 1.2991153, -0.124001235, 0, 0
    def c7, -0.504198194, 0.389027983, 0, 0
    def c8, -0.335031986, -1.20522094, 0, 0
    def c9, 0.160125375, 1.9759326, 0, 0
    dcl_texcoord v0.xy
    dcl_color v1.xzw
    dcl_color1 v2
    dcl_texcoord1 v3
    dcl_texcoord4 v4.xyz
    dcl_texcoord5 v5.xyz
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s6
    dcl_2d s9
    dcl_2d s11
    dcl_2d s12
    dcl_2d s14
    dcl_2d s15
    add r0.xy, c1.x, vPos
    mov r1, v3.w
    texkill r1
    nrm r1.xyz, v4
    add r2.xyz, c12, -v3
    texld r3, v0, s0
    mul r3, r3, c128
    mad r4, r3.xyzx, c1.yyyz, c1.zzzy
    mul r4, r4, v2
    mul r3.xyz, r4, c101
    mul r0.z, r3.w, r4.w
    add r3.xyz, r3, r3
    mov r4.xyz, c82
    mad r4.xyz, v5, r4, c84
    mov r5.xyz, c83
    mad r5.xyz, v5, r5, c85
    mov r6.xyz, c80
    mad r6.xyz, v5, r6, c81
    mov r7.xyz, c78
    mad r7.xyz, v5, r7, c79
    add r0.w, -r5.y, r5.x
    add r1.w, -r6.y, r6.x
    add r2.w, -r7.y, r7.x
    cmp r8.xy, r0.w, r5.yxzw, r5
    cmp r9.xy, r1.w, r6.yxzw, r6
    cmp r10.xy, r2.w, r7.yxzw, r7
    mov r8.z, r9.x
    mov r8.w, r10.x
    add r8.xzw, r8, -c64.yyzw
    mov r9.z, r8.y
    mov r9.w, r10.y
    add r9.xyz, -r9.zyww, c65.yzww
    cmp r9.xyz, r9, c1.y, c1.z
    cmp r8.xyz, r8.xzww, r9, c1.z
    add r8.xyz, r8, c1.w
    mad r5.w, r5.x, c0.x, c0.x
    mul r4.w, r4.x, c0.x
    cmp r4.xyz, r8.x, r5.wyzw, r4.wyzw
    mad r6.w, r6.x, c0.x, c0.y
    cmp r4.xyz, r8.y, r6.wyzw, r4
    mad r7.w, r7.x, c0.x, c0.z
    cmp r4.xyz, r8.z, r7.wyzw, r4
    mul r0.xy, r0, c0.w
    texld r5, r0, s6
    add r0.xy, r5.yxzw, -c1.x
    mul r5.xy, r0.x, c5
    mad r5.xy, r0.y, c5.zwzw, -r5
    dp2add r5.z, r0, c6, c6.z
    mul r5.xz, r5, c77.x
    rcp r6.x, c86.x
    rcp r6.y, c86.y
    mad r7.xy, r5.xzzw, r6, r4
    if b15
      mul r7.zw, r4.z, c1.xyyz
      texldl r8, r7, s15
    else
      texld r7, r7, s15
      add r0.w, -r4.z, r7.x
      cmp r8.x, r0.w, c1.y, c1.z
    endif
    dp2add r5.w, r0, c7, c7.z
    mul r5.xy, r5.ywzw, c77.x
    mad r5.xy, r5, r6, r4
    if b15
      mul r5.zw, r4.z, c1.xyyz
      texldl r7, r5, s15
    else
      texld r5, r5, s15
      add r0.w, -r4.z, r5.x
      cmp r7.x, r0.w, c1.y, c1.z
    endif
    add r0.w, r7.x, r8.x
    mul r5.xy, r0.x, c4
    mad r5.xy, r0.y, c4.zwzw, -r5
    dp2add r5.z, r0, c8, c8.z
    mul r5.xz, r5, c77.x
    mad r7.xy, r5.xzzw, r6, r4
    if b15
      mul r7.zw, r4.z, c1.xyyz
      texldl r8, r7, s15
    else
      texld r7, r7, s15
      add r1.w, -r4.z, r7.x
      cmp r8.x, r1.w, c1.y, c1.z
    endif
    add r0.w, r0.w, r8.x
    dp2add r5.w, r0, c9, c9.z
    mul r0.xy, r5.ywzw, c77.x
    mad r5.xy, r0, r6, r4
    if b15
      mul r5.zw, r4.z, c1.xyyz
      texldl r6, r5, s15
    else
      texld r5, r5, s15
      add r0.x, -r4.z, r5.x
      cmp r6.x, r0.x, c1.y, c1.z
    endif
    add r0.x, r0.w, r6.x
    add r4.xyz, -c12, v3
    dp3 r0.y, r4, r4
    mad_sat r0.y, r0.y, c74.x, c74.y
    mad_sat r0.x, r0.x, c0.x, r0.y
    mad r0.yw, v3.xxzy, c115.xxzy, c115.xzzw
    texld r4, r0.ywzw, s14
    mul r0.x, r0.x, r4.x
    dp3_sat r0.y, r1, c52
    mul r4.xyz, r0.y, c53
    mul r0.xyw, r0.x, r4.xyzz
    mul r0.xyw, r0, r3.xyzz
    add r4.xyz, c44, -v3
    dp3 r1.w, r4, r4
    add r2.w, -r1.w, c44.w
    mul_sat r2.w, r2.w, c45.w
    rsq r1.w, r1.w
    mul r4.xyz, r1.w, r4
    dp3 r1.w, r4, c46
    add r1.w, -r1.w, c47.x
    mul_sat r1.w, r1.w, c47.y
    mul r1.w, r1.w, r2.w
    mad r5.xyz, r1, c119.y, v3
    mul r6, r5.y, c56
    mad r6, r5.x, c55, r6
    mad r5, r5.z, c57, r6
    add r5, r5, c58
    texldp r6, r5, s9
    rcp r2.w, r5.w
    mul_sat r5.xyz, r2.w, r5
    rcp r7.y, c86.w
    mul r2.w, r7.y, c86.z
    frc r3.w, r2.w
    add r4.w, r2.w, -r3.w
    cmp r3.w, -r3.w, c1.z, c1.y
    cmp r2.w, r2.w, c1.z, r3.w
    add r2.w, r2.w, r4.w
    rcp r2.w, r2.w
    mad r8.x, r5.x, r2.w, c119.x
    add r8.y, -r5.y, c1.y
    add_sat r5.z, r5.z, c119.z
    rcp r7.x, c86.z
    //if b15
    //  mad r5.xy, r7, c1.x, r8
    //  mov r5.w, c1.z
    //  texldl r9, r5, s11
    //else
      mad r5.xy, r7, c1.x, r8
      mad r7.zw, r7.xyxy, -c1.x, r5.xyxy
      texld r8, r7.zwzw, s11
      add r2.w, -r5.z, r8.x
      mad r7.zw, r7.xyxy, c3.xyxy, r5.xyxy
      texld r8, r7.zwzw, s11
      add r3.w, -r5.z, r8.x
      cmp r3.w, r3.w, c1.y, c1.z
      mad r7.zw, r7.xyxy, c3.xyyx, r5.xyxy
      texld r8, r7.zwzw, s11
      add r4.w, -r5.z, r8.x
      mad r7.xy, r7, c1.x, r5
      texld r7, r7, s11
      add r5.z, -r5.z, r7.x
      cmp r5.z, r5.z, c1.y, c1.z
      mul r5.xy, r5, c86.zwzw
      frc r5.xy, r5
      cmp r7.xy, r2.w, c2, c2.zwzw
      add r2.w, r3.w, r7.y
      mad r2.w, r5.x, r2.w, r7.x
      cmp r7.xy, r4.w, c2, c2.zwzw
      add r3.w, r5.z, r7.y
      mad r3.w, r5.x, r3.w, r7.x
      lrp r9.x, r5.y, r3.w, r2.w
    //endif
    mul r5.xyz, r6, r9.x
    dp3_sat r2.w, r1, r4
    mul r4.xyz, r2.w, c45
    mul r4.xyz, r5, r4
    mul r5.xyz, r3, r1.w
    mad r4.xyz, r5, r4, r0.xyww
    cmp r0.xyw, -r1.w, r0, r4.xyzz
    mul r3.xyz, r3, v1.x
    mul r4.xyz, r1, r1
    cmp r5.xyz, r1, c1.y, c1.z
    cmp r6.xyz, -r1, c1.y, c1.z
    mul r7, r4.x, c24
    mul r8, r4.x, c25
    mul r8, r6.x, r8
    mad r7, r7, r5.x, r8
    mul r8, r4.y, c26
    mad r7, r8, r5.y, r7
    mul r8, r4.y, c27
    mad r7, r8, r6.y, r7
    mul r8, r4.z, c28
    mad r5, r8, r5.z, r7
    mul r4, r4.z, c29
    mad r4, r4, r6.z, r5
    mul r4.xyz, r4.w, r4
    mul r4.xyz, r3, r4
    mad r1.xy, r1, c87.x, v3
    mov r5.xy, c1
    mad r1.xy, r1, c88.zwzw, r5.x
    dp3 r2.x, r2, r2
    rsq r2.x, r2.x
    rcp r2.x, r2.x
    add r2.y, r2.x, -c89.x
    rcp r2.z, c89.y
    mul_sat r1.w, r2.z, r2.y
    mov r1.z, c1.z
    texldl r1, r1, s12
    mul r1.xyz, r1, c88.x
    mad r1.w, r1.w, c87.w, c87.y
    add r1.w, r1.w, -v3.z
    mad_sat r1.w, r1_abs.w, -c87.z, r5.y
    mul r1.xyz, r1.w, r1
    mul r2.yzw, r3.xxyz, r1.xxyz
    dp3_sat r1.w, r2.yzww, c88.y
    mad r1.xyz, r1, r3, -r4
    mad r1.xyz, r1.w, r1, r4
    add_sat r0.xyw, r0, r1.xyzz
    add r1.x, r2.x, -c17.x
    mul_sat r1.x, r1.x, c17.y
    mul r1.x, r1.x, c17.z
    add r1.yzw, -r0.xxyw, c16.xxyz
    mad oC0.xyz, r1.x, r1.yzww, r0.xyww
    rcp r0.x, v1.w
    mul oC1.xyz, r0.x, v1.z
    mov oC0.w, r0.z
    mov oC1.w, r0.z

// approximately 246 instruction slots used (24 texture, 222 arithmetic)
 