//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float FresnelBias_65;
//   float FresnelCoefficient_61;
//   float FresnelFactor_63;
//   float HighLightLevel_47;
//   float HighLightPower_51;
//   float3x3 Normal0Transform_4_matrix;
//   float3x3 Normal1Transform_7_matrix;
//   float3x3 Normal2Transform_11_matrix;
//   sampler2D NormalMap_0;
//   float NormalScaleGlobal_14;
//   float4 SpecularColor_37;
//   float SpecularFactor_39;
//   float SpecularPower_38;
//   float4 WaterColor_21;
//   float WaterDepthBias_33;
//   float WaterDepthScale_24;
//   float WaterDepthtransparency_31;
//   float4 WaterDiffuseColor_36;
//   float4 WaterReflectionColor_59;
//   float4 g_AmbientCube[6];
//   sampler2D g_DepthSampler;
//   
//   struct
//   {
//       float3 m_Direction;
//       float3 m_Color;
//
//   } g_DirectLights[2];
//   
//   float4 g_EyePosition;
//   float4 g_FogColor;
//   float4 g_FogParams;
//   
//   struct
//   {
//       float4 m_PositionFar;
//       float4 m_ColorFade;
//
//   } g_OmniLights[4];
//   
//   float4 g_ProjShadowParams[2];
//   float4 g_ProjWorldToLight[8];
//   sampler2D g_ProjectorCookies[2];
//   sampler2D g_ProjectorShadow;
//   sampler2D g_ReflectionSampler;
//   float4 g_ReverseProjectionParams;
//   float4 g_ShadowMapSize;
//   
//   struct
//   {
//       float4 m_PositionFar;
//       float4 m_ColorFade;
//       float3 m_Direction;
//       float4 m_ConeAngles;
//
//   } g_SpotLights[2];
//   
//   float4 g_SunColor;
//   bool g_UseDepthTextureShadows;
//   float4 g_VPosToUV;
//   sampler2D g_WorldLightMapSampler;
//   float4 g_WorldLightmapParameters;
//   float4 g_WorldLightmapUVParameters;
//   float4 g_WorldLightmapZOffsetParameters;
//   float4x4 g_WorldToView;
//   float4 waterDepthColor_20;
//
//
// Registers:
//
//   Name                             Reg   Size
//   -------------------------------- ----- ----
//   g_UseDepthTextureShadows         b15      1
//   g_ReverseProjectionParams        c0       1
//   g_WorldToView                    c6       3
//   g_EyePosition                    c12      1
//   g_FogColor                       c16      1
//   g_FogParams                      c17      1
//   g_SunColor                       c22      1
//   g_AmbientCube                    c24      6
//   g_OmniLights                     c32      2
//   g_DirectLights                   c40      2
//   g_SpotLights                     c44      4
//   g_ProjWorldToLight               c55      4
//   g_ShadowMapSize                  c86      1
//   g_WorldLightmapParameters        c87      1
//   g_WorldLightmapUVParameters      c88      1
//   g_WorldLightmapZOffsetParameters c89      1
//   g_VPosToUV                       c100     1
//   g_ProjShadowParams               c119     1
//   Normal0Transform_4_matrix        c128     2
//   Normal1Transform_7_matrix        c131     2
//   Normal2Transform_11_matrix       c134     2
//   NormalScaleGlobal_14             c137     1
//   waterDepthColor_20               c138     1
//   WaterColor_21                    c139     1
//   WaterDepthScale_24               c140     1
//   WaterDepthtransparency_31        c141     1
//   WaterDepthBias_33                c142     1
//   WaterDiffuseColor_36             c143     1
//   SpecularColor_37                 c144     1
//   SpecularPower_38                 c145     1
//   SpecularFactor_39                c146     1
//   HighLightLevel_47                c147     1
//   HighLightPower_51                c148     1
//   WaterReflectionColor_59          c149     1
//   FresnelCoefficient_61            c150     1
//   FresnelFactor_63                 c151     1
//   FresnelBias_65                   c152     1
//   NormalMap_0                      s0       1
//   g_ReflectionSampler              s7       1
//   g_DepthSampler                   s8       1
//   g_ProjectorCookies               s9       1
//   g_ProjectorShadow                s11      1
//   g_WorldLightMapSampler           s12      1
//

    ps_3_0
    def c1, 2, 0.000999999931, 0.049999997, 49.9999962
    def c2, 0.5, 1, 0, -0.5
    def c3, 1, -1, 0, -0
    dcl_texcoord v0.xy
    dcl_color v1.xzw
    dcl_color1 v2
    dcl_texcoord1 v3.x
    dcl_texcoord2 v4
    dcl_texcoord3 v5.xyz
    dcl_texcoord4 v6.xyz
    dcl_texcoord5 v7.xyz
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    dcl_2d s11
    dcl_2d s12
    add r0.xy, c2.x, vPos
    mul r0.zw, r0.xyxy, c100.xyxy
    mov r1, v4.w
    texkill r1
    mad r1.xyz, v4.xyxw, c2.yyzw, c2.zzyw
    dp3 r2.x, r1, c128
    dp3 r2.y, r1, c129
    texld r2, r2, s0
    add r2.xyz, r2, c2.w
    dp3 r3.x, r1, c131
    dp3 r3.y, r1, c132
    texld r3, r3, s0
    add r3.xyz, r3, c2.w
    add r3.xyz, r3, r3
    mad r2.xyz, r2, c1.x, r3
    dp3 r3.x, r1, c134
    dp3 r3.y, r1, c135
    texld r1, r3, s0
    add r1.xyz, r1, c2.w
    mad r1.xyz, r1, c1.x, r2
    mul r1.w, c137.x, v3.x
    lrp r2.xyz, r1.w, r1, c2.zzyw
    nrm r1.xyz, v5
    nrm r3.xyz, v6
    nrm r4.xyz, v7
    mul r3.xyz, r2.y, r3
    mad r1.xyz, r2.x, r1, r3
    mad r1.xyz, r2.z, r4, r1
    nrm r2.xyz, r1
    add r1.xyz, c12, -v4
    texld r3, r0.zwzw, s8
    add r0.z, r3.x, c0.z
    rcp r0.z, r0.z
    mad r3, v4.xyzx, c2.yyyz, c2.zzzy
    dp4 r0.w, r3, c8
    mad r0.z, c0.w, -r0.z, r0.w
    mul_sat r0.z, r0_abs.z, c140.x
    mov r3.xyz, c138
    add r3.xyz, -r3, c139
    mad r3.xyz, r0.z, r3, c138
    mul r5.xyz, r3, v2
    mov r6.x, c141.x
    mad r0.z, r0.z, r6.x, c142.x
    mul r0.z, r0.z, v2.w
    dp2add r0.w, v0, v0, c2.z
    rsq r0.w, r0.w
    mul r6.xyz, c2.yyzw, v0.xyxw
    mad r6.xyz, r6, r0.w, c2.zzyw
    dp3 r0.w, r6, r2
    mul_sat r0.w, r0.w, c147.x
    add r0.w, r0.w, c1.y
    pow r1.w, r0.w, c148.x
    mul r6.xyz, r1.w, c22
    mul r6.xyz, r6, c146.x
    mad r0.xy, r0, c100, r2
    texld r7, r0, s7
    mul r0.xyw, r7.xyzz, c149.xyzz
    mov r7.xy, c2
    add r8.xyz, -c12, v4
    nrm r9.xyz, r8
    dp3 r1.w, -r9, r2
    add r1.w, -r1.w, c2.y
    mul r2.w, r1_abs.w, r1_abs.w
    mul r2.w, r2.w, r2.w
    mul r1.w, r1_abs.w, r2.w
    lrp r2.w, r1.w, r7.y, c150.x
    mov r8.x, c151.x
    mad r1.w, r2.w, r8.x, c152.x
    mul r0.xyw, r0, r1.w
    mad r0.xyw, c144.xyzz, r6.xyzz, r0
    mad r0.xyw, v2.xyzz, r3.xyzz, r0
    dp3_sat r1.w, r2, c40
    mul r3.xyz, r1.w, c41
    mul r6.xyz, r5, c143
    dp3 r1.w, r4, c40
    add r1.w, r1.w, c1.z
    mul_sat r1.w, r1.w, c1.w
    dp3 r2.w, -c40, r2
    add r2.w, r2.w, r2.w
    mad r8.xyz, r2, -r2.w, -c40
    dp3 r2.w, r1, r1
    rsq r2.w, r2.w
    mul r1.xyz, r1, r2.w
    dp3_sat r3.w, r8, r1
    pow r4.w, r3.w, c145.x
    mul r3.w, r4.w, c146.x
    mov r8.xyz, c144
    mul r9.xyz, r8, c41
    mul r9.xyz, r3.w, r9
    mul r9.xyz, r1.w, r9
    mad r3.xyz, r6, r3, r9
    add r6.xyz, c32, -v4
    dp3 r1.w, r6, r6
    add r3.w, -r1.w, c32.w
    mul_sat r3.w, r3.w, c33.w
    if_lt -r3.w, c2.z
      rsq r1.w, r1.w
      mul r6.xyz, r1.w, r6
      dp3_sat r1.w, r2, r6
      mul r9.xyz, r1.w, c33
      mul r10.xyz, r5, r3.w
      mul r10.xyz, r10, c143
      dp3 r1.w, r4, r6
      add r1.w, r1.w, c1.z
      mul_sat r1.w, r1.w, c1.w
      dp3 r4.w, -r6, r2
      add r4.w, r4.w, r4.w
      mad r6.xyz, r2, -r4.w, -r6
      dp3_sat r4.w, r6, r1
      pow r5.w, r4.w, c145.x
      mul r4.w, r5.w, c146.x
      mul r6.xyz, r8, c33
      mul r6.xyz, r4.w, r6
      mul r6.xyz, r3.w, r6
      mul r6.xyz, r1.w, r6
      mad r6.xyz, r10, r9, r6
      add r3.xyz, r3, r6
    endif
    add r6.xyz, c44, -v4
    dp3 r1.w, r6, r6
    add r3.w, -r1.w, c44.w
    mul_sat r3.w, r3.w, c45.w
    rsq r1.w, r1.w
    mul r6.xyz, r1.w, r6
    dp3 r1.w, r6, c46
    add r1.w, -r1.w, c47.x
    mul_sat r1.w, r1.w, c47.y
    mul r1.w, r1.w, r3.w
    mad r9.xyz, r4, c119.y, v4
    mul r10, r9.y, c56
    mad r10, r9.x, c55, r10
    mad r9, r9.z, c57, r10
    add r9, r9, c58
    texldp r10, r9, s9
    rcp r3.w, r9.w
    mul_sat r9.xyz, r3.w, r9
    rcp r11.y, c86.w
    mul r3.w, r11.y, c86.z
    frc r4.w, r3.w
    add r5.w, r3.w, -r4.w
    cmp r4.w, -r4.w, c2.z, c2.y
    cmp r3.w, r3.w, c2.z, r4.w
    add r3.w, r3.w, r5.w
    rcp r3.w, r3.w
    mad r12.x, r9.x, r3.w, c119.x
    add r12.y, -r9.y, c2.y
    add_sat r9.z, r9.z, c119.z
    rcp r11.x, c86.z
    //if b15
    //  mad r9.xy, r11, c2.x, r12
    //  mov r9.w, c2.z
    //  texldl r13, r9, s11
    //else
      mad r7.zw, r11.xyxy, c2.x, r12.xyxy
      mad r9.xy, r11, c2.w, r7.zwzw
      texld r12, r9, s11
      add r3.w, -r9.z, r12.x
      mad r9.xy, r11, c2.xwzw, r7.zwzw
      texld r12, r9, s11
      add r4.w, -r9.z, r12.x
      cmp r4.w, r4.w, c2.y, c2.z
      mad r9.xy, r11, c2.wxzw, r7.zwzw
      texld r12, r9, s11
      add r5.w, -r9.z, r12.x
      mad r9.xy, r11, c2.x, r7.zwzw
      texld r11, r9, s11
      add r6.w, -r9.z, r11.x
      cmp r6.w, r6.w, c2.y, c2.z
      mul r7.zw, r7, c86
      frc r7.zw, r7
      cmp r9.xy, r3.w, c3, c3.zwzw
      add r3.w, r4.w, r9.y
      mad r3.w, r7.z, r3.w, r9.x
      cmp r9.xy, r5.w, c3, c3.zwzw
      add r4.w, r6.w, r9.y
      mad r4.w, r7.z, r4.w, r9.x
      lrp r13.x, r7.w, r4.w, r3.w
    //endif
    mul r9.xyz, r10, r13.x
    dp3_sat r3.w, r2, r6
    mul r10.xyz, r3.w, c45
    mul r10.xyz, r9, r10
    mul r11.xyz, r5, r1.w
    mul r11.xyz, r11, c143
    dp3 r3.w, r4, r6
    add r3.w, r3.w, c1.z
    mul_sat r3.w, r3.w, c1.w
    dp3 r4.x, -r6, r2
    add r4.x, r4.x, r4.x
    mad r4.xyz, r2, -r4.x, -r6
    dp3_sat r1.x, r4, r1
    pow r4.x, r1.x, c145.x
    mul r1.x, r4.x, c146.x
    mul r4.xyz, r8, c45
    mul r1.xyz, r1.x, r4
    mul r1.xyz, r1.w, r1
    mul r1.xyz, r3.w, r1
    mul r1.xyz, r9, r1
    mad r1.xyz, r11, r10, r1
    add r1.xyz, r1, r3
    cmp r1.xyz, -r1.w, r3, r1
    mul r3.xyz, r5, v1.x
    mul r4.xyz, r2, r2
    cmp r5.xyz, r2, c2.y, c2.z
    cmp r6.xyz, -r2, c2.y, c2.z
    mul r8, r4.x, c24
    mul r9, r4.x, c25
    mul r9, r6.x, r9
    mad r8, r8, r5.x, r9
    mul r9, r4.y, c26
    mad r8, r9, r5.y, r8
    mul r9, r4.y, c27
    mad r8, r9, r6.y, r8
    mul r9, r4.z, c28
    mad r5, r9, r5.z, r8
    mul r4, r4.z, c29
    mad r4, r4, r6.z, r5
    mul r4.xyz, r4.w, r4
    mul r4.xyz, r3, r4
    mad r2.xy, r2, c87.x, v4
    mad r5.xy, r2, c88.zwzw, r7.x
    rcp r1.w, r2.w
    add r2.x, r1.w, -c89.x
    rcp r2.y, c89.y
    mul_sat r5.w, r2.y, r2.x
    mov r5.z, c2.z
    texldl r2, r5, s12
    mul r2.xyz, r2, c88.x
    mad r2.w, r2.w, c87.w, c87.y
    add r2.w, r2.w, -v4.z
    mad_sat r2.w, r2_abs.w, -c87.z, r7.y
    mul r2.xyz, r2.w, r2
    mul r5.xyz, r3, r2
    dp3_sat r2.w, r5, c88.y
    mad r2.xyz, r2, r3, -r4
    mad r2.xyz, r2.w, r2, r4
    add r1.xyz, r1, r2
    add_sat r0.xyw, r0, r1.xyzz
    add r1.x, r1.w, -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 272 instruction slots used (14 texture, 258 arithmetic)
 