//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D $s_colorSampler;
//   sampler2D $s_depthSampler;
//   float4 $s_lineInnerColor;
//   float4 $s_lineOuterColor;
//   float $s_lineRadius;
//   float $s_lineWidthReciprocal;
//   float4 $s_projectionReciprocal;
//   float3 $s_viewSpaceDirection;
//   float3 $s_viewSpacePosition;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   $s_viewSpacePosition    c0       1
//   $s_viewSpaceDirection   c1       1
//   $s_projectionReciprocal c2       1
//   $s_lineRadius           c3       1
//   $s_lineWidthReciprocal  c4       1
//   $s_lineInnerColor       c5       1
//   $s_lineOuterColor       c6       1
//   $s_colorSampler         s0       1
//   $s_depthSampler         s1       1
//

    ps_3_0
    def c7, 1, 0, -0.0187292993, 0.0742610022
    def c8, -0.212114394, 1.57072878, -2, 3.14159274
    def c9, 0.636619747, -1, -2, 3
def c20, 0.636619747, -1, 0.0625, 0
def c220, 1.16, -1.016, 0.009, 0.95		
    dcl_texcoord v0.xy
    dcl_texcoord1 v1.xy
    dcl_2d s0
    dcl_2d s1
dcl_2d s13	
    texld r0, v0, s1
// Scale the depth value like PS8FF4A6B4 does and store scaled value in r25.x:
add r25.x, r0.x, c180.z
rcp r25.x, r25.x
mul r25.x, r25.x, c180.w
mov r20.xy, v1.xy
texldl r31, c20.z, s13
add r31.w, r25.x, -r31.y
mul r31.w, r31.w, r31.x
mad r5.x, r0.x, c220.z, c220.w // preparation for correction 1 depending on depth (from r0.x) ( r5.x = r0.x) * 0.009 + 0.95)
mul r31.w, r31.w, r5.x // correction 1
add r20.x, r20.x, r31.w
mad r30.x, r31.y, c220.x, c220.y // preparation for correction 2 depending on actual convergence ( r30.x = conv * 1.16 - 1.016)
mad r20.x, r31.x, r30.x, r20.x //  correction 2
//    mad r0.yzw, v1.xxyx, c7.xxxy, c7.xyyx
 mad r0.yzw, r20.xxyx, c7.xxxy, c7.xyyx	
    mul r0.xyz, r0.x, r0.yzww
    mov r1.xyz, c2
    mad r0.xyz, r0, r1, -c0
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mul r0.xyz, r0.w, r0
    rcp r0.w, r0.w
    add r0.w, r0.w, -c3.x
    mul_sat r0.w, r0_abs.w, c4.x
    add_pp r0.w, -r0.w, c7.x
    dp3 r0.x, r0, c1
    mad r0.y, r0_abs.x, c7.z, c7.w
    mad r0.y, r0.y, r0_abs.x, c8.x
    mad r0.y, r0.y, r0_abs.x, c8.y
    add r0.z, -r0_abs.x, c7.x
    cmp r0.x, r0.x, c7.y, c7.x
    rsq r0.z, r0.z
    rcp r0.z, r0.z
    mul r0.y, r0.z, r0.y
    mad r0.z, r0.y, c8.z, c8.w
    mad r0.x, r0.z, r0.x, r0.y
    mad r0.x, r0.x, c9.x, c9.y
    add_pp r0.x, -r0_abs.x, c7.x
    mul_pp r0.x, r0.x, r0.w
    max r1.x, r0.x, c7.y
    mad r0.x, r1.x, c9.z, c9.w
    mul r0.y, r1.x, r1.x
    mul_pp r0.x, r0.y, r0.x
    mul_pp r0.y, r0.x, r0.x
    mov r1, c6
    add r1, -r1, c5
    mad_pp r1, r0.y, r1, c6
    mul_pp r0.x, r0.x, r1.w
    texld_pp r2, v0, s0
    add_pp r0.yzw, r1.xxyz, -r2.xxyz
    mad_pp oC0.xyz, r0.x, r0.yzww, r2
    mov_pp oC0.w, c7.x
//	mov oC0.xyzw, c20.wwww
// approximately 39 instruction slots used (2 texture, 37 arithmetic)
 