//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float ClipRef;
//   bool EnableShadow;
//   float Gamma;
//   float2 ShadowDirection;
//   float ShadowSmoothWidth;
//   float SmoothWidth;
//   float4 TextureComponentReplicateAlpha;
//   sampler2D _Texture;
//
//
// Registers:
//
//   Name                           Reg   Size
//   ------------------------------ ----- ----
//   EnableShadow                   b0       1
//   TextureComponentReplicateAlpha c0       1
//   Gamma                          c3       1
//   ClipRef                        c4       1
//   SmoothWidth                    c5       1
//   ShadowDirection                c6       1
//   ShadowSmoothWidth              c7       1
//   _Texture                       s0       1
//

    ps_3_0
    def c1, 0.5, -2, 3, 0.800000012
    def c2, 0, 0.800000012, -0.419999987, -0.540000021
    def c8, 0.540000021, 0.479999989, 16.666666, -16.666666
    def c9, 9.99999997e-007, 0, 0, 0
    def c10, 0, 1, -1, -0
    def c11, -33.3333321, 33.3333321, 3, -1
    dcl_texcoord v0.xy
    dcl_texcoord1 v1
    dcl_2d s0
    texld r0, v0, s0
    dp4 r0.x, r0, c0
    mov r1.xw, c1
    add r0.y, r1.x, -c5.x
    add r0.z, r1.x, c5.x
    add r0.yz, r0.xxzw, -r0.y
    rcp r0.z, r0.z
    mul_sat r0.y, r0.y, r0.z
    mad r0.z, r0.y, c1.y, c1.z
    mul r0.y, r0.y, r0.y
    mul r2.w, r0.z, r0.y
    if b0
      mad r0.yz, c6.xxyw, r1.w, v0.xxyw
      texld r3, r0.yzzw, s0
      dp4 r0.y, r3, c0
      add r0.z, r1.x, -c7.x
      add r0.w, r1.x, c7.x
      add r0.yw, r0, -r0.z
      rcp r0.z, r0.w
      mul_sat r0.y, r0.y, r0.z
      mad r0.z, r0.y, c1.y, c1.z
      mul r0.y, r0.y, r0.y
      mul r0.y, r0.z, r0.y
      mul r1, r0.y, c2.xxxy
      mov r2.xyz, v1
      mad r3, r0.y, -c2.xxxy, r2
      mad r2, r2.w, r3, r1
    else
      mov r2.xyz, v1
    endif
    add r1, r0.x, c2.zzww
    add r0.xy, -r0.x, c8
    mul r0.zw, r1.xyxz, c8
    mad r1.xz, r1.yyww, c11.xyyw, c11.z
    mul r0.zw, r0, r0
    mul r0.zw, r1.xyxz, r0
    cmp r0.y, r0.y, r0.z, r0.w
    lrp r3, r0.y, c10.xxxy, r2
    cmp r0.x, r0.x, c10.z, c10.w
    cmp r0.x, r1.y, r0.x, -c2.x
    cmp r0, r0.x, r2, r3
    add r1, r0.w, -c4.x
    texkill r1
    mul oC0.w, r0.w, v1.w
    mov r0.w, c11.w
    add r0.w, r0.w, c3.x
    mov_sat r1.xyz, r0
    max r2.xyz, r1, c9.x
    log r1.x, r2.x
    log r1.y, r2.y
    log r1.z, r2.z
    mul r1.xyz, r1, c3.x
    exp r2.x, r1.x
    exp r2.y, r1.y
    exp r2.z, r1.z
    cmp oC0.xyz, -r0_abs.w, r0, r2

// approximately 58 instruction slots used (2 texture, 56 arithmetic)
 