//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 AmbientColorAndSkyFactor;
//   float4 DiffuseOverrideParameter;
//   float3 LowerSkyColor;
//   float4 MinZ_MaxZRatio;
//   sampler2D PixelTexture2D_0;
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4 SpecularOverrideParameter;
//   float4 UniformPixelScalars_2;
//   float4 UniformPixelVector_0;
//   float4 UniformPixelVector_1;
//   float4 UniformPixelVector_2;
//   float4 UniformPixelVector_3;
//   float3 UpperSkyColor;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   UniformPixelVector_0      c0       1
//   ScreenPositionScaleBias   c1       1
//   MinZ_MaxZRatio            c2       1
//   DiffuseOverrideParameter  c4       1
//   SpecularOverrideParameter c5       1
//   UniformPixelVector_1      c8       1
//   UniformPixelVector_2      c9       1
//   UniformPixelVector_3      c10      1
//   UniformPixelScalars_2     c11      1
//   UpperSkyColor             c12      1
//   LowerSkyColor             c13      1
//   AmbientColorAndSkyFactor  c14      1
//   SceneColorTexture         s0       1
//   PixelTexture2D_0          s1       1
//

    ps_3_0
    def c3, 1.5, 3, 0.75, 2
    def c6, 0.816496611, 0.577350259, 0, 0.333333343
    def c7, 0.5, -0.5, -9.99999997e-007, 1.20000005
    def c15, 0, 2, 1, 1.5
    def c16, -0.707106769, -0.408248305, 0.577350259, 0.707106769
    dcl_texcoord2_pp v0.xyz
    dcl_texcoord3_pp v1.xyz
    dcl_texcoord4 v2
    dcl_texcoord6 v3.xyz
    dcl_texcoord7 v4.xyz
    dcl_texcoord5 v5.xyw
    dcl_texcoord v6.xy
    dcl_2d s0
    dcl_2d s1

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

// Unreal Engine SceneColorTexture halo fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -i --fix-unreal-halo-sct --only-autofixed --stereo-sampler-ps=s15 CRC32_BC608090_1070.txt
mov r30, r30
texldl r31, c220.z, s15
add r31.w, r30.w, -r31.y
mad r30.x, r31.w, r31.x, r30.x

    rcp r0.x, r30.w
    mul r0.xy, r0.x, r30
    mad r0.xy, r0, c1, c1.wzzw
    mov r0.zw, c15.x
    texldl r0, r0, s0
    mov r1.zw, c15
    add r0.x, r1.z, -c2.y
    add r0.x, -r0.x, r0.w
    rcp r0.x, r0.x
    mad r0.x, -c2.x, r0.x, -r30.w
    rcp r0.y, c11.z
    mul_sat r0.x, r0.y, r0.x
    mad r0.yz, v6.xxyw, r1.w, c9.xxyw
    texld r2, r0.yzzw, s1
    mul r0.y, r2_abs.w, r2_abs.w
    mul r0.y, r0.y, r0.y
    mul r0.y, r0.y, r2_abs.w
    add r0.z, r2_abs.w, c7.z
    cmp r0.y, r0.z, r0.y, c15.x
    mov r3, c3
    mad r0.zw, v6.xyxy, r3, c10.xyxy
    texld r4, r0.zwzw, s1
    mul r0.z, r4_abs.w, r4_abs.w
    mul r0.z, r0.z, r0.z
    mul r0.z, r0.z, r4_abs.w
    add r0.w, r4_abs.w, c7.z
    add r1.xyw, r2.xyzz, r4.xyzz
    cmp r0.z, r0.w, r0.z, c15.x
    lrp r2.x, r0.y, r0.z, r0.y
    dp3 r0.y, v3, v3
    rsq r0.y, r0.y
    mad r0.z, v3.z, -r0.y, c15.z
    mul r2.yzw, r0.y, v3.xxyz
    cmp r0.y, r2.w, r0_abs.z, c15.z
    mad r2.yzw, r2.w, c15.xxxy, -r2
    add r0.z, r0.y, c7.z
    pow r3.z, r0.y, c7.w
    cmp r0.y, r0.z, r3.z, c15.x
    add r0.y, r0.y, c11.y
    mad r0.x, r0.y, r0.x, r2.x
    add r0.y, -r2_abs.y, c15.z
    mul_pp oC0.w, r0.y, r0.x
    dp2add_sat_pp r0.x, r2.zwzw, c6, c6.z
    dp3_sat_pp r0.y, r2.yzww, c16
    dp3_sat_pp r0.z, r2.zwyw, c16.yzww
    mul_pp r0.xyz, r0, r0
    mul_pp r0.xyz, r0, r0
    mul_pp r0.xyz, r0, r0
    mul_pp r0.xyz, r0, r0
    dp3_pp r0.x, v1, r0
    mul r0.yzw, c5.xxyz, v0.xxyz
    mul r0.xyz, r0.x, r0.yzww
    mad r2.xy, v6, r3, c8
    texld r2, r2, s1
    add r1.xyw, r1, r2.xyzz
    add r2.xyz, r1.z, -c0
    mul_pp r1.xyz, r1.xyww, r2
    mad_pp r1.xyz, r1, c4.w, c4
    dp3_pp r0.w, v1, c6.w
    mul_pp r2.xyz, r0.w, v0
    mad_pp r0.xyz, r1, r2, r0
    add_pp r0.xyz, r0, c0
    dp3 r0.w, v4, v4
    rsq r0.w, r0.w
    mul r0.w, r0.w, v4.z
    mad r2.xy, r0.w, c7, c7.x
    mul r2.xy, r2, r2
    mul r2.yzw, r1.xxyz, r2.y
    mul r3.xyz, r1, r2.x
    mul r2.xyz, r2.yzww, c13
    mad r2.xyz, r3, c12, r2
    mad_pp r0.xyz, r2, c14.w, r0
    mad_pp r0.xyz, r1, c14, r0
    mad_pp oC0.xyz, r0, v2.w, v2

// approximately 78 instruction slots used (5 texture, 73 arithmetic)
