//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 MinZ_MaxZRatio;
//   float NvStereoEnabled;
//   sampler2D NvStereoFixTexture;
//   float4 SampleOffsets[8];
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToShadowMatrix;
//   float3 ShadowBufferSizeAndSoftTransitionScale;
//   sampler2D ShadowDepthTexture;
//   float ShadowFadeFraction;
//
//
// Registers:
//
//   Name                                   Reg   Size
//   -------------------------------------- ----- ----
//   ShadowBufferSizeAndSoftTransitionScale c0       1
//   ScreenPositionScaleBias                c1       1
//   MinZ_MaxZRatio                         c2       1
//   NvStereoEnabled                        c3       1
//   SampleOffsets                          c8       8
//   ScreenToShadowMatrix                   c16      4
//   ShadowFadeFraction                     c20      1
//   SceneColorTexture                      s0       1
//   NvStereoFixTexture                     s1       1
//   ShadowDepthTexture                     s2       1
//

    ps_3_0
    def c4, 0.0625, 0, 1, 0.999000013
  def c200, 0.5, 0, 0.0625, 0
  dcl_2d s13
    dcl_texcoord v0.xyw
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    abs r0.x, c3.x
    if_ne c3.x, -c3.x
      texld r1, c4, s1
      add r0.y, -r1.y, v0.w
      mad r1.x, r1.x, r0.y, v0.x
      mov r1.yz, v0.xyww
    else
      mov r1.xyz, c4.y
       endif
				   mov r16.xyw, v0
    texldl r11, c200.z, s13
    add r11.y, r16.w, -r11.y
    mul r11.x, r11.x, r11.y
    add r16.x, r16.x, r11.x
    cmp r0.xyz, -r0.x, r16.xyww, r1
    rcp r0.z, r0.z
    mul r0.xy, r0.z, r0
    mad r0.xy, r0, c1, c1.wzzw
    mov r0.zw, c4.y
    texldl r0, r0, s0
    mov r0.z, c4.z
    add r0.x, r0.z, -c2.y
    add r0.x, -r0.x, r0.w
    rcp r0.x, r0.x
    mul r0.x, r0.x, -c2.x
    rcp r0.y, r16.w
    mul r0.yw, r0.y, r16.xxzy
    mul r0.yw, r0.x, r0
    mul r1, r0.w, c17
  texldl r16, c200.z, s13
  add r16.y, r0.x, -r16.y
  mul r16.x, r16.x, r16.y
  add r0.y, r0.y, -r16.x
    mad r1, c16, r0.y, r1
    mad r1, c18, r0.x, r1
    add r1, r1, c19
    rcp r0.x, r1.w
    min r0.y, r1.z, c4.w
    mad_pp r2, r1.xyxy, r0.x, c8
    texld_pp r3, r2, s2
    texld_pp r4, r2.zwzw, s2
    add r3, r0.y, -r3.wxyz
    add r4, r0.y, -r4.wxyz
    cmp_pp r3, r3, c4.y, c4.z
    cmp_pp r4, r4, c4.y, c4.z
    mul r2, r2, c0.xyxy
    frc_pp r2, r2
    mov_pp r5.xy, r3
    mov_pp r5.zw, r4.xyxy
    mov_pp r4.xy, r3.zwzw
    lrp_pp r3, r2.yyww, r4, r5
    mad_pp r4, r1.xyxy, r0.x, c9
    texld_pp r5, r4, s2
    texld_pp r6, r4.zwzw, s2
    add r5, r0.y, -r5.wxyz
    add r6, r0.y, -r6.wxyz
    cmp_pp r5, r5, c4.y, c4.z
    cmp_pp r6, r6, c4.y, c4.z
    mul r4, r4, c0.xyxy
    frc_pp r4, r4
    mov_pp r7.xy, r5
    mov_pp r7.zw, r6.xyxy
    mov_pp r6.xy, r5.zwzw
    lrp_pp r5, r4.yyww, r6, r7
    lrp_pp r6.xy, r2.xzzw, r3.ywzw, r3.xzzw
    lrp_pp r6.zw, r4.xyxz, r5.xyyw, r5.xyxz
    dp4_pp r0.w, r6, c4.x
    mad_pp r2, r1.xyxy, r0.x, c10
    texld_pp r3, r2, s2
    texld_pp r4, r2.zwzw, s2
    add r3, r0.y, -r3.wxyz
    add r4, r0.y, -r4.wxyz
    cmp_pp r3, r3, c4.y, c4.z
    cmp_pp r4, r4, c4.y, c4.z
    mul r2, r2, c0.xyxy
    frc_pp r2, r2
    mov_pp r5.xy, r3
    mov_pp r5.zw, r4.xyxy
    mov_pp r4.xy, r3.zwzw
    lrp_pp r3, r2.yyww, r4, r5
    mad_pp r4, r1.xyxy, r0.x, c11
    texld_pp r5, r4, s2
    texld_pp r6, r4.zwzw, s2
    add r5, r0.y, -r5.wxyz
    add r6, r0.y, -r6.wxyz
    cmp_pp r5, r5, c4.y, c4.z
    cmp_pp r6, r6, c4.y, c4.z
    mul r4, r4, c0.xyxy
    frc_pp r4, r4
    mov_pp r7.xy, r5
    mov_pp r7.zw, r6.xyxy
    mov_pp r6.xy, r5.zwzw
    lrp_pp r5, r4.yyww, r6, r7
    lrp_pp r6.xy, r2.xzzw, r3.ywzw, r3.xzzw
    lrp_pp r6.zw, r4.xyxz, r5.xyyw, r5.xyxz
    dp4_pp r1.z, r6, c4.x
    add_pp r0.w, r0.w, r1.z
    mad_pp r2, r1.xyxy, r0.x, c12
    texld_pp r3, r2, s2
    texld_pp r4, r2.zwzw, s2
    add r3, r0.y, -r3.wxyz
    add r4, r0.y, -r4.wxyz
    cmp_pp r3, r3, c4.y, c4.z
    cmp_pp r4, r4, c4.y, c4.z
    mul r2, r2, c0.xyxy
    frc_pp r2, r2
    mov_pp r5.xy, r3
    mov_pp r5.zw, r4.xyxy
    mov_pp r4.xy, r3.zwzw
    lrp_pp r3, r2.yyww, r4, r5
    mad_pp r4, r1.xyxy, r0.x, c13
    texld_pp r5, r4, s2
    texld_pp r6, r4.zwzw, s2
    add r5, r0.y, -r5.wxyz
    add r6, r0.y, -r6.wxyz
    cmp_pp r5, r5, c4.y, c4.z
    cmp_pp r6, r6, c4.y, c4.z
    mul r4, r4, c0.xyxy
    frc_pp r4, r4
    mov_pp r7.xy, r5
    mov_pp r7.zw, r6.xyxy
    mov_pp r6.xy, r5.zwzw
    lrp_pp r5, r4.yyww, r6, r7
    lrp_pp r6.xy, r2.xzzw, r3.ywzw, r3.xzzw
    lrp_pp r6.zw, r4.xyxz, r5.xyyw, r5.xyxz
    dp4_pp r1.z, r6, c4.x
    add_pp r0.w, r0.w, r1.z
    mad_pp r2, r1.xyxy, r0.x, c14
    texld_pp r3, r2, s2
    texld_pp r4, r2.zwzw, s2
    add r3, r0.y, -r3.wxyz
    add r4, r0.y, -r4.wxyz
    cmp_pp r3, r3, c4.y, c4.z
    cmp_pp r4, r4, c4.y, c4.z
    mul r2, r2, c0.xyxy
    frc_pp r2, r2
    mov_pp r5.xy, r3
    mov_pp r5.zw, r4.xyxy
    mov_pp r4.xy, r3.zwzw
    lrp_pp r3, r2.yyww, r4, r5
    mad_pp r1, r1.xyxy, r0.x, c15
    texld_pp r4, r1, s2
    texld_pp r5, r1.zwzw, s2
    add r4, r0.y, -r4.wxyz
    add r5, r0.y, -r5.wxyz
    cmp_pp r4, r4, c4.y, c4.z
    cmp_pp r5, r5, c4.y, c4.z
    mul r1, r1, c0.xyxy
    frc_pp r1, r1
    mov_pp r6.xy, r4
    mov_pp r6.zw, r5.xyxy
    mov_pp r5.xy, r4.zwzw
    lrp_pp r4, r1.yyww, r5, r6
    lrp_pp r5.xy, r2.xzzw, r3.ywzw, r3.xzzw
    lrp_pp r5.zw, r1.xyxz, r4.xyyw, r4.xyxz
    dp4_pp r0.x, r5, c4.x
    add_pp r0.x, r0.x, r0.w
    mad r0.x, r0.x, r0.x, -c4.z
    mad_pp r0.x, c20.x, r0.x, r0.z
    rsq_pp r0.x, r0.x
    rcp_pp oC0, r0.x

// approximately 155 instruction slots used (19 texture, 136 arithmetic)
 

