//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float3 CameraWorldPos;
//   float4 MinZ_MaxZRatio;
//   float NvStereoEnabled;
//   sampler2D NvStereoFixTexture;
//   sampler2D PixelTexture2D_0;
//   sampler2D PixelTexture2D_1;
//   sampler2D PixelTexture2D_2;
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4 UniformPixelScalars_1;
//   float4 UniformPixelScalars_2;
//   float4 UniformPixelScalars_3;
//   float4 UniformPixelScalars_4;
//   float4 UniformPixelScalars_5;
//   float4 UniformPixelVector_0;
//   float4 UniformPixelVector_1;
//   float4 UniformPixelVector_2;
//   float4 UniformPixelVector_3;
//   float4 UniformPixelVector_4;
//   float4 UniformPixelVector_5;
//   float4 UniformPixelVector_6;
//   float4x4 ViewProjectionMatrix;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   CameraWorldPos          c0       1
//   ScreenPositionScaleBias c1       1
//   MinZ_MaxZRatio          c2       1
//   NvStereoEnabled         c3       1
//   ViewProjectionMatrix    c7       4
//   UniformPixelVector_0    c11      1
//   UniformPixelVector_1    c12      1
//   UniformPixelVector_2    c13      1
//   UniformPixelVector_3    c14      1
//   UniformPixelVector_4    c15      1
//   UniformPixelVector_5    c16      1
//   UniformPixelVector_6    c17      1
//   UniformPixelScalars_1   c18      1
//   UniformPixelScalars_2   c19      1
//   UniformPixelScalars_3   c20      1
//   UniformPixelScalars_4   c21      1
//   UniformPixelScalars_5   c22      1
//   SceneColorTexture       s0       1
//   NvStereoFixTexture      s1       1
//   PixelTexture2D_0        s2       1
//   PixelTexture2D_1        s3       1
//   PixelTexture2D_2        s4       1
//

    ps_3_0
    def c4, 7, 6, 0.0625, 0
    def c5, 1, -0.5, 100000, 0.0500000007
    def c6, 2.5, -0.400000006, 2, 1.5
    def c23, 4, 0, 0, 0
    dcl_texcoord4 v0
    dcl_texcoord5 v1
    dcl_texcoord v2.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    add r0.x, c0.z, v1.z
    mul r0.yzw, c8.xxyw, v1.y
    mad r0.yzw, c7.xxyw, v1.x, r0
    mad r0.yzw, c9.xxyw, v1.z, r0
    mad r1.yzw, c10.xxyw, v1.w, r0
    mov r2.xy, c4
    mad r0.yz, v2.xxyw, r2.xxyw, c12.xxyw
    abs r0.w, c3.x
    if_ne c3.x, -c3.x
      texld r2, c4.zwzw, s1
      add r2.y, r1.w, -r2.y
      mad r1.x, r2.x, r2.y, r1.y
      mov r2.xyz, r1.xzww
    else
      mov r2.xyz, c4.w
    endif
    cmp r2.xyz, -r0.w, r1.yzww, r2
    rcp r1.x, r2.z
    mul r2.xy, r1.x, r2
    mad r2.xy, r2, c1, c1.wzzw
    mov r2.zw, c4.w
    texldl r2, r2, s0
    mov_pp r1.x, c5.x
    add r2.x, r1.x, -c2.y
    add r2.y, -r2.x, r2.w
    rcp r2.y, r2.y
    mov r3.x, c2.x
    mad r2.y, -r3.x, r2.y, -c18.y
    rcp r2.z, c18.w
    mul_sat r2.y, r2.z, r2.y
    mad r1.x, c19.x, -r2.y, r1.x
    add r0.yz, r0, r1.x
    texld r4, r0.yzzw, s2
    mul r0.y, r2.y, r4.x
    mov_sat r0.y, r0.y
    mul r0.y, r0.y, c19.y
    if_ne c3.x, -c3.x
      texld r5, c4.zwzw, s1
      add r0.z, r1.w, -r5.y
      mad r5.x, r5.x, r0.z, r1.y
      mov r5.yz, r1.xzww
    else
      mov r5.xyz, c4.w
    endif
    cmp r3.yzw, -r0.w, r1, r5.xxyz
    rcp r0.z, r3.w
    mul r2.zw, r0.z, r3.xyyz
    mad r2.zw, r2, c1.xyxy, c1.xywz
    add r3.yz, r2.xzww, c5.y
    mad r0.yz, r0.y, r3, r2.xzww
    texld_pp r5, r0.yzzw, s0
    if_ne c3.x, -c3.x
      texld r6, c4.zwzw, s1
      add r0.y, r1.w, -r6.y
      mad r6.x, r6.x, r0.y, r1.y
      mov r6.yz, r1.xzww
    else
      mov r6.xyz, c4.w
    endif
    cmp r3.yzw, -r0.w, r1, r6.xxyz
    rcp r0.y, r3.w
    mul r0.yz, r0.y, r3
    mad r6.xy, r0.yzzw, c1, c1.wzzw
    mov r6.zw, c4.w
    texldl r6, r6, s0
    add r0.y, -r2.x, r6.w
    rcp r0.y, r0.y
    mad r0.y, -r3.x, r0.y, -c19.w
    rcp r0.z, c20.x
    mul_sat r0.y, r0.z, r0.y
    mul r0.y, r0.y, c20.y
    add r0.x, r0.x, -c20.z
    max r1.x, r0.x, c4.w
    min r0.x, r1.x, c5.z
    rcp r0.z, c21.x
    mul_sat r0.x, r0.z, r0.x
    add r0.x, -r0.x, c5.x
    mul_sat r0.x, r0.x, r0.y
    mov r0.z, c19.z
    mad r2.xzw, r0.z, c13.xyyz, -r5.xyyz
    mad r0.xyz, r0.x, r2.xzww, r5
    texld r3, v2, s3
    mad r2.xyz, r4, r2.y, r2.y
    if_ne c3.x, -c3.x
      texld r4, c4.zwzw, s1
      add r1.x, r1.w, -r4.y
      mad r4.x, r4.x, r1.x, r1.y
      mov r4.yz, r1.xzww
    else
      mov r4.xyz, c4.w
    endif
    cmp r3.yzw, -r0.w, r1, r4.xxyz
	mov r3.yzw, r1
    rcp r1.x, r3.w
    mul r3.yz, r1.x, r3
    mad r3.yz, r3, c1.xxyw, c1.xwzw
    mov r2.w, c21.w
    mad r3.yz, r2.w, r3, c15.xxyw
    texld r4, r3.yzzw, s2
    add r1.x, r4.x, c5.w
    mul r2.xyz, r2, r1.x
    mul r2.xyz, r2, c14
    mul r2.xyz, r2, c22.z
    mad r0.xyz, r3.x, r2, r0
    if_ne c3.x, -c3.x
      texld r2, c4.zwzw, s1
      add r1.x, r1.w, -r2.y
      mad r2.x, r2.x, r1.x, r1.y
      mov r2.yz, r1.xzww
    else
      mov r2.xyz, c4.w
    endif
    cmp r2.xyz, -r0.w, r1.yzww, r2
    rcp r1.x, r2.z
    mul r2.xy, r1.x, r2
    mad r2.xy, r2, c1, c1.wzzw
    texld_pp r2, r2, s0
    mul r2.xyz, r2, c6.x
    if_ne c3.x, -c3.x
      mov r3.xy, r1.zwzw
    else
      mov r3.xy, c4.w
    endif
    cmp r3.xy, -r0.w, r1.zwzw, r3
    rcp r1.x, r3.y
    mul r1.x, r1.x, r3.x
    mad r1.x, r1.x, c1.y, c1.z
    mov r3.xyz, c16
    add r3.xyz, -r3, c17
    mad r3.xyz, r1.x, r3, c16
    add r3.xyz, r3, -c5.x
    mul r3.xyz, r3, c22.w
    max r4.xyz, r3, c6.y
    min r3.xyz, r4, c6.z
    mul r2.xyz, r2, r3
    if_ne c3.x, -c3.x
      texld r3, c4.zwzw, s1
      add r1.x, r1.w, -r3.y
      mad r3.x, r3.x, r1.x, r1.y
      mov r3.yz, r1.xzww
    else
      mov r3.xyz, c4.w
    endif
    cmp r1.xyz, -r0.w, r1.yzww, r3
    rcp r0.w, r1.z
    mul r1.xy, r0.w, r1
    mad r1.xy, r1, c1, c1.wzzw
    texld r1, r1, s4
    add_sat r0.w, -r1.z, c6.w
    mad r0.xyz, r0.w, r2, r0
    max r1.xyz, r0, c4.w
    min r0.xyz, r1, c23.x
    add_pp r0.xyz, r0, c11
    mad_pp oC0.xyz, r0, v0.w, v0
    mov_pp oC0.w, c5.x

// approximately 170 instruction slots used (16 texture, 154 arithmetic)
 