//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D AmbientOcclusionTexture;
//   float3 CameraPosWS;
//   float2 FOWBorderOpacity;
//   float4 FOWBorderSettings;
//   float3 LevelVolumeDimensions;
//   float3 LevelVolumePosition;
//   float4 NoiseScale;
//   sampler2D RandomAngleTexture;
//   float3 VoxelSizeUVW;
//   sampler3D XComFOWVolumeTexture;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   LevelVolumeDimensions   c0       1
//   LevelVolumePosition     c9       1
//   VoxelSizeUVW            c10      1
//   CameraPosWS             c11      1
//   NoiseScale              c12      1
//   FOWBorderSettings       c13      1
//   FOWBorderOpacity        c14      1
//   AmbientOcclusionTexture s0       1
//   XComFOWVolumeTexture    s1       1
//   RandomAngleTexture      s2       1
//

    ps_3_0
    def c1, 0.356657594, 0.693281114, 0, -0.5
    def c2, -0.335602701, 0.217944294, 0, -0.100000001
    def c3, 0.634881914, 0.0454780906, 0, 65503
    def c4, -0.197865799, 0.933724821, 0, -14
    def c5, 0.0994187668, -0.343426108, 0, 65504
    def c6, -0.616402209, -0.414058805, 0, 0
    def c7, 0.616186917, -0.658345103, 0, 0
    def c8, -0.147801504, -0.968242526, 0, 0
    def c15, 0.75, 0.25, -0.400000006, -0.649999976
    def c16, 2, -1, 0, 1
	def c201, 0.0, 1000.0, 0.0625, 256 
	def c202, 0.500463, 0.500260, 0.5, -0.5 
	def c203, -9.990000, 0.999000, -0.100100, -0.100000
	def c204, 0, 1, -1, -0.999000013
    dcl_texcoord v0.xy
    dcl_texcoord1 v1.xyz
	dcl_texcoord2 v2
	dcl_texcoord3 v3
	dcl_texcoord4 v4
	dcl_texcoord5 v5
    dcl_2d s0
    dcl_volume s1
    dcl_2d s2
	dcl_2d s14
	dcl_2d s15
    mov r0.z, c16.z
    mul r1.xy, c12, v0
    texld r1, r1, s2
    mad r1.xy, r1, c16.x, c16.y
    dp2add r0.w, r1, r1, c16.z
    rsq r0.w, r0.w
    mul r1.xy, r0.w, r1
    dp2add r0.x, r1, c2, c2.z
    mul r1.zw, r1.xyyx, c16.xyyw
    dp2add r0.y, r1.zwzw, c2, c2.z
    texld r2, v0, s0
	
	mov r11, v2 
	
	mov r15.xy, v0.xy
	
	 
	 
	mad r15.xy, r11, c202.zw, c202.yxxy
	
	mov r15.zw, c201.xx
	 
	texldl r15, r15, s15
 
	
	mov r14.yz, c204
    add r15.z, r14.y, -c203.y
    add r15.z, -r15.z, r15.w
    rcp r15.z, r15.z
    mul r15.w, r15.z, -c203.x
	

	texldl r12, c201.z, s14

    add r12.y, r15.w, -r12.y
    mul r12.x, r12.x, r12.y

	rcp r12.w, r15.w
	mul r12.x, r12.w, r12.x
    add r11.x, r11.x, -r12.x

	mov r12, v3 
	mov r13, v4
	mov r14, v5
	mul r10.xyz, r13, r11.y
    mad r10.xyz, r12, r11.x, r10

    add r10.xyz, r10, r14
	

    mad r2.xzw, r10.xyyz, r2.y, c11.xyyz
    add r2.xzw, r2, -c9.xyyz
    mul r3.xyz, r2.xzww, c0
    mov r0.w, c1.w
    mad r2.xzw, r2, c0.xyyz, r0.w
    add r2.xzw, r2_abs, c15.zyzw
    max r4.xyz, r2.xzww, c16.z
    mad r0.xyz, r0, c10, r3
    texld r0, r0, s1
    add r0.z, -r0.x, c16.w
    mad r0.z, r0.z, c15.x, c15.y
    mul r0.xy, r0.z, r0
    mov r5.z, c16.z
    dp2add r5.x, r1, c1, c1.z
    dp2add r5.y, r1.zwzw, c1, c1.z
    mad r2.xzw, r5.xyyz, c10.xyyz, r3.xyyz
    texld r5, r2.xzww, s1
    add r0.w, -r5.x, c16.w
    mad r0.w, r0.w, c15.x, c15.y
    mad r0.xy, r5, r0.w, r0
    add r0.z, r0.z, r0.w
    mov r5.z, c16.z
    dp2add r5.x, r1, c3, c3.z
    dp2add r5.y, r1.zwzw, c3, c3.z
    mad r2.xzw, r5.xyyz, c10.xyyz, r3.xyyz
    texld r5, r2.xzww, s1
    add r0.w, -r5.x, c16.w
    mad r0.w, r0.w, c15.x, c15.y
    mad r0.xy, r5, r0.w, r0
    add r0.z, r0.w, r0.z
    dp2add r5.x, r1, c4, c4.z
    mov r5.z, c16.z
    dp2add r5.y, r1.zwzw, c4, c4.z
    mad r2.xzw, r5.xyyz, c10.xyyz, r3.xyyz
    texld r5, r2.xzww, s1
    add r0.w, -r5.x, c16.w
    mad r0.w, r0.w, c15.x, c15.y
    mad r0.xy, r5, r0.w, r0
    add r0.z, r0.w, r0.z
    dp2add r5.x, r1, c5, c5.z
    mov r5.z, c16.z
    dp2add r5.y, r1.zwzw, c5, c5.z
    mad r2.xzw, r5.xyyz, c10.xyyz, r3.xyyz
    texld r5, r2.xzww, s1
    add r0.w, -r5.x, c16.w
    mad r0.w, r0.w, c15.x, c15.y
    mad r0.xy, r5, r0.w, r0
    add r0.z, r0.w, r0.z
    dp2add r5.x, r1, c6, c6.z
    mov r5.z, c16.z
    dp2add r5.y, r1.zwzw, c6, c6.z
    mad r2.xzw, r5.xyyz, c10.xyyz, r3.xyyz
    texld r5, r2.xzww, s1
    add r0.w, -r5.x, c16.w
    mad r0.w, r0.w, c15.x, c15.y
    mad r0.xy, r5, r0.w, r0
    add r0.z, r0.w, r0.z
    dp2add r5.x, r1, c7, c7.z
    dp2add r6.x, r1, c8, c8.z
    dp2add r5.y, r1.zwzw, c7, c7.z
    dp2add r6.y, r1.zwzw, c8, c8.z
    mov r5.z, c16.z
    mad r1.xyz, r5, c10, r3
    texld r1, r1, s1
    add r0.w, -r1.x, c16.w
    mad r0.w, r0.w, c15.x, c15.y
    mad r0.xy, r1, r0.w, r0
    add r0.z, r0.w, r0.z
    mov r6.z, c16.z
    mad r1.xyz, r6, c10, r3
    texld r1, r1, s1
    add r0.w, -r1.x, c16.w
    mad r0.w, r0.w, c15.x, c15.y
    mad r0.xy, r1, r0.w, r0
    add r0.z, r0.w, r0.z
    rcp r0.z, r0.z
    mad r0.y, r0.y, -r0.z, c16.w
    mul r0.x, r0.z, r0.x
    add r0.w, r4.y, r4.x
    add r0.w, r4.z, r0.w
    mad r1.x, r0.w, -c16.x, c16.w
    add r0.w, r0.w, c2.w
    cmp r0.w, r0.w, -r0.w, -c16.z
    max r2.x, r1.x, c16.z
    mul r0.y, r0.y, r2.x
    cmp oC0.z, r2.y, r0.y, c16.w
    add r1.xy, r0.w, c13.xzzw
    cmp r0.y, r0.w, c16.w, c16.y
    mul_sat r1.xy, r1, c13.ywzw
    mov r0.z, c16.z
    lrp r2.xz, r1.xyyw, r0, c14.xyyw
    add r0.x, r2.z, r2.x
    cmp r0.x, r2.y, r0.x, c16.z
    min r0.z, r2.y, c3.w
    mul r0.w, r0.x, r0.x
    mul oC0.x, r0.x, r0.w
    add r0.x, r0.z, c4.w
    cmp r0.x, r0.x, r0.z, c5.w
    mul oC0.y, r0.y, r0.x
    mov oC0.w, c16.w
 
// approximately 128 instruction slots used (10 texture, 118 arithmetic)
 