//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D $s_colorSampler;
//   sampler2D $s_depthSampler;
//   float4 $s_divisionInnerColorMatrix[4];
//   float4 $s_divisionOuterColorMatrix[4];
//   float $s_divisionRadius;
//   float $s_divisionWidthReciprocal;
//   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_divisionInnerColorMatrix c0       4
//   $s_divisionOuterColorMatrix c4       4
//   $s_viewSpacePosition        c8       1
//   $s_viewSpaceDirection       c9       1
//   $s_projectionReciprocal     c10      1
//   $s_lineRadius               c11      1
//   $s_lineWidthReciprocal      c12      1
//   $s_lineInnerColor           c13      1
//   $s_lineOuterColor           c14      1
//   $s_divisionRadius           c15      1
//   $s_divisionWidthReciprocal  c16      1
//   $s_colorSampler             s0       1
//   $s_depthSampler             s1       1
//

    ps_3_0
    def c17, 1, 0, 0.5, -0.212114394
    def c18, -2, 3, -0.0187292993, 0.0742610022
    def c19, 1.57072878, -2, 3.14159274, 0
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 (here from r0.x not r25.x as it offered better results): 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, c17.xxxy, c17.xyyx
 mad r0.yzw, r20.xxyx, c17.xxxy, c17.xyyx
    mul r0.xyz, r0.x, r0.yzww
    mov r1.xyz, c10
    mad r0.xyz, r0, r1, -c8
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mul r0.xyz, r0.w, r0
    rcp r0.w, r0.w
    dp3 r0.x, r0, c9
    mad r0.y, r0_abs.x, c18.z, c18.w
    mad r0.y, r0.y, r0_abs.x, c17.w
    mad r0.y, r0.y, r0_abs.x, c19.x
    add r0.z, -r0_abs.x, c17.x
    cmp r0.x, r0.x, c17.y, c17.x
    rsq r0.z, r0.z
    rcp r0.z, r0.z
    mul r0.y, r0.z, r0.y
    mad r0.z, r0.y, c19.y, c19.z
    mad r0.x, r0.z, r0.x, r0.y
    mad r0.x, r0.x, c20.x, c20.y
    add_pp r0.x, -r0_abs.x, c17.x
    add r0.y, r0.w, -c11.x	
   add r0.z, r0.w, -c15.x
    mul r0.z, r0.z, c16.x
    mad_sat r0.z, r0.z, c17.z, c17.z
    mul_sat r0.y, r0_abs.y, c12.x
    add_pp r0.y, -r0.y, c17.x
    mul_pp r0.x, r0.x, r0.y
    max r1.x, r0.x, c17.y
    mad r0.x, r1.x, c18.x, c18.y
    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, c14
    add r1, -r1, c13
    mad_pp r1, r0.y, r1, c14
    mad r0.y, r0.z, c18.x, c18.y
    mul r0.z, r0.z, r0.z
    mul r0.y, r0.z, r0.y
    texld_pp r2, v0, s0
    mul_pp r3.xyz, r2.y, c1
    mad_pp r3.xyz, r2.x, c0, r3
    mad_pp r3.xyz, r2.z, c2, r3
    add_pp r3.xyz, r3, c3
    mul_pp r4.xyz, r2.y, c5
    mad_pp r2.xyw, r2.x, c4.xyzz, r4.xyzz
    mad_pp r2.xyz, r2.z, c6, r2.xyww
    add_pp r2.xyz, r2, c7
    lrp_pp r4.xyz, r0.y, r2, r3
    add_pp r0.yzw, r1.xxyz, -r4.xxyz
    mul_pp r0.x, r0.x, r1.w
    mad_pp oC0.xyz, r0.x, r0.yzww, r4
    mov_pp oC0.w, c17.x	
//	mov oC0.xyzw, c20.wwww
// approximately 54 instruction slots used (2 texture, 52 arithmetic)
 