//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 ArraySettings;
//   sampler2D BokehInputTexture0;
//   float4 DOFKernelSize;
//   float4 MinMaxBlurClamp;
//   float4 PackedParameters;
//   float4 SceneCoordinate1ScaleBias;
//   float4 SceneCoordinate2ScaleBias;
//   float4 ViewportScaleBias[2];
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   ViewportScaleBias         c6       2
//   PackedParameters          c8       1
//   MinMaxBlurClamp           c9       1
//   SceneCoordinate1ScaleBias c10      1
//   SceneCoordinate2ScaleBias c11      1
//   DOFKernelSize             c12      1
//   ArraySettings             c13      1
//   BokehInputTexture0        s0       1
//

    vs_3_0
    def c17, 0, 0, 0, 0.0833333358
    def c18, 1, 2, 0, 10
    def c19, 0, 0, 2, 4
    def c20, 12, 0.25, 0.5, 1.20000005
    def c21, 0.333333343, 0.5, 3, 0
    def c14, 1, 0, -1, -1
    def c15, 0, 1, 3, -1
    def c16, 0, 0, -1, 3
	def c222, 1, 2, 3, 4
	def c223, 0, 0, 0, 0
    dcl_position v0
    dcl_2d s0
    dcl_texcoord o0
    dcl_texcoord1 o1.xyz
    dcl_position o2
	mov r13.x, c12.x
	mov r11.x, c250.w
		   if_eq r11.x, c222.x
	   mov r13.x, c12.x
	   endif 
	   if_eq r11.x, c222.y
	   mov r13.x, c223.y
	   endif
    frc r0.x, v0.x
    add r0.y, -r0.x, v0.x
    slt r0.z, v0.x, -v0.x
    slt r0.x, -r0.x, r0.x
    mad r0.x, r0.z, r0.x, r0.y
    frc r0.y, c13.x
    add r0.z, -r0.y, c13.x
    slt r0.w, c13.x, -c13.x
    slt r0.y, -r0.y, r0.y
    mad r0.y, r0.w, r0.y, r0.z
    mul r0.z, r0.x, c17.w
    frc r0.w, r0.z
    add r1.x, r0.z, -r0.w
    slt r0.z, r0.z, -r0.z
    slt r0.w, -r0.w, r0.w
    mad r0.z, r0.z, r0.w, r1.x
    rcp r0.w, r0.y
    mul r0.w, r0.w, r0.z
    frc r1.x, r0.w
    add r1.y, r0.w, -r1.x
    slt r0.w, r0.w, -r0.w
    slt r1.x, -r1.x, r1.x
    mad r0.w, r0.w, r1.x, r1.y
    mad r0.y, r0.w, -r0.y, r0.z
    add r1.xy, r0.ywzw, r0.ywzw
    mad r2.xy, r1, c11, c11.zwzw
    mov r2.zw, c14.y
    texldl r2, r2, s0
    add r0.y, r2_abs.w, -c8.x
    slt r0.w, r0.y, c14.y
    lrp r3.x, r0.w, c9.x, c9.y
    mul_sat r0.y, r0_abs.y, c8.y
    pow r3.y, r0.y, c8.z
    min r0.y, r3.y, r3.x
    max r3.w, r0.y, c8.w
    add r1.zw, r1.xyxy, c14.x
    mad r4.xy, r1.zyzw, c11, c11.zwzw
    mov r4.zw, c14.y
    texldl r4, r4, s0
    add r0.y, r4_abs.w, -c8.x
    slt r0.w, r0.y, c14.y
    lrp r1.z, r0.w, c9.x, c9.y
    mul_sat r0.y, r0_abs.y, c8.y
    pow r5.x, r0.y, c8.z
    min r0.y, r1.z, r5.x
    max r5.w, r0.y, c8.w
    mad r6.xy, r1.xwzw, c11, c11.zwzw
    mov r6.zw, c14.y
    texldl r6, r6, s0
    add r0.y, r6_abs.w, -c8.x
    slt r0.w, r0.y, c14.y
    lrp r1.z, r0.w, c9.x, c9.y
    mul_sat r0.y, r0_abs.y, c8.y
    pow r7.x, r0.y, c8.z
    min r0.y, r1.z, r7.x
    max r7.y, r0.y, c8.w
    add r0.yw, r1.xxzw, c14.xxzy
    mad r8.xy, r0.ywzw, c11, c11.zwzw
    mov r8.zw, c14.y
    texldl r8, r8, s0
    add r0.y, r8_abs.w, -c8.x
    slt r0.w, r0.y, c14.y
    lrp r1.z, r0.w, c9.x, c9.y
    mul_sat r0.y, r0_abs.y, c8.y
    pow r1.w, r0.y, c8.z
    min r0.y, r1.w, r1.z
    max r9.y, r0.y, c8.w
    mov r3.xyz, r2
    mov r5.xyz, r4
    min r10, r3, r5
    max r11, r3, r5
    mov r7.xzw, r6.xyyz
    min r10, r7.xzwy, r10
    max r11, r7.xzwy, r11
    mov r9.xzw, r8.xyyz
    min r10, r9.xzwy, r10
    max r11, r9.xzwy, r11
    add r12, -r10, r11
    dp4 r0.y, c18.yyyw, r12
    mul r0.w, r11.w, r13.x
    slt r0.w, r0.w, c19.w
    add r0.y, r0.w, r0.y
    mad r0.x, r0.z, -c20.x, r0.x
    if_lt r0.y, c14.x
      if_lt r0.x, c15.z
        add r0.yzw, r10.xxyz, r11.xxyz
        add r1.z, r2_abs.w, r4_abs.w
        add r1.z, r6_abs.w, r1.z
        add r1.z, r8_abs.w, r1.z
        mov r2.x, c8.x
        mad r1.z, r1.z, c20.y, -r2.x
        slt r1.w, r1.z, c14.y
        lrp r2.x, r1.w, c9.x, c9.y
        mul_sat r1.z, r1_abs.z, c8.y
        pow r2.y, r1.z, c8.z
        min r1.z, r2.y, r2.x
        max r1.z, r1.z, c8.w
        mul r2.xyz, r0.yzww, c18.y
        mov r2.w, c19.w
        mul r0.y, r1.z, r13.x
        mul r0.y, r0.y, c20.z
        pow r1.z, r0.y, c20.w
        max r0.z, r1.z, c14.x
        rcp r0.z, r0.z
        mul o0, r0.z, r2
        mova a0.x, r0.x
        mov r2.xzw, c17[a0.x].xyyz
        mad r0.yz, r0.y, c14[a0.x].xzww, r2.x
        add r1.zw, r1.xyxy, c20.z
        add r0.yz, r0, r1.xzww
        mad r0.yz, r0, c10.xxyw, c10.xzww
        mad r2.xy, r0.yzzw, c7, c7.zwzw
        mov o1.xyz, r2.zwxw
      else
        mov o0, c14.y
        mov o1.xyz, c14.yyzw
        mov r2.xy, c14.y
      endif
      mov o2.xy, r2
      mov o2.zw, c14.x
    else
      mul r0.y, r0.x, c21.x
      frc r0.z, r0.y
      add r0.w, r0.y, -r0.z
      slt r0.y, r0.y, -r0.y
      slt r0.z, -r0.z, r0.z
      mad r0.y, r0.y, r0.z, r0.w
      mul r0.zw, r0.y, c21.xyyz
      frc r1.z, r0.z
      add r1.w, r0.z, -r1.z
      slt r0.z, r0.z, -r0.z
      slt r1.z, -r1.z, r1.z
      mad r0.z, r0.z, r1.z, r1.w
      mad r0.y, r0.z, -c18.y, r0.y
      add r2.xy, r0.yzzw, r1
      mova a0.xy, r0.yzzw
      mul r1.xyz, r3, c14[a0.x].x
      mul r3.xyz, r7.xzww, c14[a0.x].x
      mad r1.xyz, c14[a0.x].y, r5, r1
      mad r3.xyz, c14[a0.x].y, r9.xzww, r3
      mul r1.xyz, r1, c14[a0.y].x
      mad r1.xyz, c14[a0.y].y, r3, r1
      mov r7.x, r3.w
      mul r0.yz, r7.xxyw, c14[a0.x].x
      mov r9.x, r5.w
      mad r0.yz, c14[a0.x].y, r9.xxyw, r0
      mul r0.yz, r0, c14[a0.y].xxyw
      add r0.y, r0.y, r0.z
      mul r0.y, r0.y, r13.x
      mul r0.y, r0.y, c20.z
      pow r2.z, r0.y, c20.w
      max r0.z, r2.z, c14.x
      rcp r0.z, r0.z
      mov r1.w, c14.x
      mul o0, r0.z, r1
      add r0.x, -r0.w, r0.x
      mova a0.x, r0.x
      mov r0.xzw, c17[a0.x].xyyz
      mad r0.xy, r0.y, c14[a0.x].zwzw, r0.x
      add r0.xy, r0, r2
      mad r0.xy, r0, c10, c10.zwzw
      mad r0.xy, r0, c7, c7.zwzw
      mov o2.xy, r0
      mov o2.zw, c14.x
      mov o1.xyz, r0.zwxw
    endif

// approximately 188 instruction slots used (8 texture, 180 arithmetic)
 