//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float3 FalloffParameters;
//   float4 LightPosition;
//   float4 MinZ_MaxZRatio;
//   float4 SampleOffsets[8];
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToShadowMatrix;
//   float4x4 ScreenToWorld;
//   sampler2D ShadowDepthTexture;
//   float4 ShadowModulateColor;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   ShadowModulateColor     c0       1
//   ScreenPositionScaleBias c1       1
//   MinZ_MaxZRatio          c2       1
//   SampleOffsets           c8       8
//   ScreenToWorld           c16      4
//   ScreenToShadowMatrix    c20      4
//   LightPosition           c24      1
//   FalloffParameters       c25      1
//   SceneColorTexture       s0       1
//   ShadowDepthTexture      s1       1
//

    ps_3_0
    def c3, 0, 1, 0.999000013, 0.0625
    dcl_texcoord v0.xyw
    dcl_2d s0
    dcl_2d s1

def c220, 0, 1, 0.0625, 0.5
dcl_2d s15


// Unreal Engine shadow fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -I ../../.. --auto-fix-unreal-shadows --stereo-sampler-ps=s15 -f 76F91775.txt
texldl r31, c220.z, s15
mov r6.xyw, v0
add r31.w, r6.w, -r31.y
mad r6.x, r31.w, r31.x, r6.x

    rcp r0.x, r6.w
    mul r0.xy, r0.x, r6
    mad r1.xy, r0, c1, c1.wzzw
    mov_pp r1.zw, c3.x
    texldl r1, r1, s0
    mov r1.y, c3.y
    add r0.z, r1.y, -c2.y
    add r0.z, -r0.z, r1.w
    rcp r0.z, r0.z
    mul r0.z, r0.z, -c2.x
    mul r0.xy, r0.z, r0
    mul r2, r0.y, c21

// Unreal Engine shadow fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -I ../../.. --auto-fix-unreal-shadows --stereo-sampler-ps=s15 -f 76F91775.txt
add r31.w, r0.z, -r31.y
mad r0.x, -r31.w, r31.x, r0.x

    mad r2, c20, r0.x, r2
    mad r2, c22, r0.z, r2
    add r2, r2, c23
    min r3.z, r2.z, c3.z
    rcp r0.w, r2.w
    mad_pp r4, r2.xyxy, r0.w, c8
    mad r3.xyw, r4.xyzx, c3.yyzx, c3.xxzy
    mad r4.xyw, r4.zwzx, c3.yyzx, c3.xxzy
    texldp_pp r5, r3, s1
    mov r4.z, r3.z
    texldp r3, r4, s1
    add_pp r1.x, r3.x, r5.x
    mad_pp r3, r2.xyxy, r0.w, c9.zwxy
    mov_pp r4.xy, r3.zwzw
    texldp r5, r4, s1
    mov r3.zw, r4
    add_pp r1.x, r1.x, r5.x
    texldp r4, r3, s1
    add_pp r1.x, r1.x, r4.x
    mad_pp r4, r2.xyxy, r0.w, c10.zwxy
    mov_pp r3.xy, r4.zwzw
    texldp r5, r3, s1
    mov r4.zw, r3
    add_pp r1.x, r1.x, r5.x
    texldp r3, r4, s1
    add_pp r1.x, r1.x, r3.x
    mad_pp r3, r2.xyxy, r0.w, c11.zwxy
    mov_pp r4.xy, r3.zwzw
    texldp r5, r4, s1
    mov r3.zw, r4
    add_pp r1.x, r1.x, r5.x
    texldp r4, r3, s1
    add_pp r1.x, r1.x, r4.x
    mad_pp r4, r2.xyxy, r0.w, c12.zwxy
    mov_pp r3.xy, r4.zwzw
    texldp r5, r3, s1
    mov r4.zw, r3
    add_pp r1.x, r1.x, r5.x
    texldp r3, r4, s1
    add_pp r1.x, r1.x, r3.x
    mad_pp r3, r2.xyxy, r0.w, c13.zwxy
    mov_pp r4.xy, r3.zwzw
    texldp r5, r4, s1
    mov r3.zw, r4
    add_pp r1.x, r1.x, r5.x
    texldp r4, r3, s1
    add_pp r1.x, r1.x, r4.x
    mad_pp r4, r2.xyxy, r0.w, c14.zwxy
    mad_pp r2, r2.xyxy, r0.w, c15.zwxy
    mov_pp r3.xy, r4.zwzw
    texldp r5, r3, s1
    mov r4.zw, r3
    add_pp r0.w, r1.x, r5.x
    texldp r3, r4, s1
    add_pp r0.w, r0.w, r3.x
    mov_pp r4.xy, r2.zwzw
    texldp r3, r4, s1
    mov r2.zw, r4
    texldp r2, r2, s1
    add_pp r0.w, r0.w, r3.x
    add_pp r0.w, r2.x, r0.w
    mul_pp r0.w, r0.w, c3.w
    mul r0.w, r0.w, r0.w
    mul r1.xzw, r0.y, c17.xyyz
    mad r1.xzw, c16.xyyz, r0.x, r1
    mad r0.xyz, c18, r0.z, r1.xzww
    add r0.xyz, r0, c19
    add r0.xyz, -r0, c24
    mul r0.xyz, r0, c24.w
    dp3 r0.x, r0, r0
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    mad r0.x, r0.x, c25.y, c25.z
    max r1.x, r0.x, c3.x
    mad r0.x, r1.x, -r1.x, c3.y
    max r1.x, r0.x, c3.x
    pow_pp r0.x, r1.x, c25.x
    add r1, -r1.y, c0
    mad r1, r0.x, r1, c3.y
    add r2, -r1, c3.y
    mad oC0, r0.w, r2, r1

// approximately 96 instruction slots used (18 texture, 78 arithmetic)
