//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 DepthFilterSampleOffsets[2];
//   float FaceScale;
//   float4 FirstDensityFunctionParameters;
//   float4 FogCameraPosition;
//   float MaxDistance;
//   float4 MinZ_MaxZRatio;
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToWorld;
//   float4 SecondDensityFunctionParameters;
//   float StartDistance;
//
//
// Registers:
//
//   Name                            Reg   Size
//   ------------------------------- ----- ----
//   FirstDensityFunctionParameters  c0       1
//   ScreenPositionScaleBias         c1       1
//   MinZ_MaxZRatio                  c2       1
//   ScreenToWorld                   c8       4
//   DepthFilterSampleOffsets        c12      2
//   SecondDensityFunctionParameters c14      1
//   StartDistance                   c15      1
//   FogCameraPosition               c16      1
//   FaceScale                       c17      1
//   MaxDistance                     c18      1
//   SceneColorTexture               s0       1
//

    ps_3_0
    def c3, 1, 0, 0.25, 65535
    def c4, 4, 0.333333343, 1, 9.99999975e-005
    def c5, 0.5, 2, 0, 0
	def c200, 0, 0.5, 0.0625, 0
    dcl_texcoord5 v0
    dcl_2d s0
	dcl_2d s14
				    mov r16, v0
    texldl r11, c200.z, s14
    add r11.y, r16.w, -r11.y
    mul r11.x, r11.x, r11.y
    add r16.x, r16.x, r11.x
	    rcp r10.x, r16.w
    mul r10.xy, r10.x, r16
    rcp r0.x, v0.w
    mul r0.xy, r0.x, v0
    mad r1, r10.xyxy, c1.xyxy, c1.wzwz
    add r2, r1.zwzw, c12
    add r1, r1, c13
    mul r3, r2.xyxx, c3.xxyy
    mul r2, r2.zwxx, c3.xxyy
    texldl r2, r2, s0
    texldl r3, r3, s0
    mov r2.x, c3.x
    add r0.z, r2.x, -c2.y
    add r0.w, -r0.z, r3.w
    rcp r0.w, r0.w
    mul r3.x, r0.w, -c2.x
    add r0.w, -r0.z, r2.w
    rcp r0.w, r0.w
    mul r3.y, r0.w, -c2.x
    mul r4, r1.xyxx, c3.xxyy
    mul r1, r1.zwxx, c3.xxyy
    texldl r1, r1, s0
    add r0.w, -r0.z, r1.w
    rcp r0.w, r0.w
    texldl r1, r4, s0
    add r0.z, -r0.z, r1.w
    rcp r0.z, r0.z
    mul r3.zw, r0, -c2.x
    min r1, c18.x, r3
    dp4_pp r0.z, r1, c3.z
    min_pp r1.x, r0.z, c3.w
    min_pp r0.z, v0.z, r1.x
    mul r0.xy, r0.z, r0
    mul r1.xyz, r0.y, c9
    mad r0.xyw, c8.xyzz, r0.x, r1.xyzz
    mad r0.xyz, c10, r0.z, r0.xyww
    add r0.xyz, r0, c11
    add r1.xyz, r0, -c14
    add r0.xyz, -r0, c16
    dp3 r3.z, r1, r1
    dp3 r3.y, r0, r1
    dp3 r3.x, r0, r0
    mul r0, r3.xxyz, c4.xyzz
    mad r1.x, c14.w, -c14.w, r3.z
    mul r0.x, r0.x, r1.x
    rsq r1.x, r3.x
    add r1.y, r3.x, c4.w
    rcp r1.y, r1.y
    mul r1.y, r1.y, c5.x
    mad r1.z, c15.x, -r1.x, r2.x
    rcp r1.x, r1.x
    add r1.w, r3.y, r3.y
    mad r0.x, r1.w, r1.w, -r0.x
    rsq r1.w, r0.x
    rcp r2.x, r1.w
    mov r2.y, -r2.x
    mad r2.xy, r3.y, c5.y, r2
    mul_sat r2.xy, r1.y, -r2
    min r3.x, r2.y, r1.z
    add r1.y, -r2.x, r3.x
    cmp r2.z, r1.y, r3.x, r2.x
    mul r3.xy, r2.xzzw, r2.xzzw
    mul r4.xy, r2.xzzw, r3
    mov r4.w, r2.x
    mov r4.z, r3.x
    dp3 r5.x, r0.yzww, r4.xzww
    mov r3.z, r4.y
    mov r3.w, r2.z
    dp3 r5.y, r0.zyww, r3.yzww
    mul r0.y, c14.w, c14.w
    rcp r0.y, r0.y
    mad r0.yz, r5.xxyw, -r0.y, r2.xxzw
    mul r0.y, r0.y, c0.x
    mad r0.y, c0.x, r0.z, -r0.y
    mul r0.y, r1.x, r0.y
    mul r0.y, r0.y, c17.x
    cmp oC0.x, r0.x, r0.y, c3.y
    mov oC0.yzw, c3.y

// approximately 80 instruction slots used (8 texture, 72 arithmetic)
 