//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D Base;
//   sampler2D GBuffer1;
//   sampler2D GBuffer2;
//   sampler2D GBuffer4;
//   float4x4 global_LightPropertyMatrix;
//   float4 global_ViewInfo;
//   float4 global_ViewPos;
//   row_major float4x4 global_ViewProjection;
//   row_major float3x3 invViewMatrix;
//
//
// Registers:
//
//   Name                       Reg   Size
//   -------------------------- ----- ----
//   invViewMatrix              c0       3
//   global_ViewProjection      c210     4
//   global_ViewPos             c214     1
//   global_ViewInfo            c218     1
//   global_LightPropertyMatrix c220     4
//   GBuffer1                   s0       1
//   GBuffer2                   s1       1
//   GBuffer4                   s2       1
//   Base                       s3       1
//

    ps_3_0
    def c3, 1, 0, 3.55539989, -1.77769995
    def c4, 2, -1, 0.03125, 0.5
    def c5, 0.5, -0.5, 0.0343750007, 0
    def c6, 5, 0, 0, 0
    defi i0, 16, 0, 0, 0
    dcl_texcoord v0.xy  // In<4,5>
    dcl_texcoord2 v1.xyz  // In<6,7,8>
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3

#line 32 "C:\Program Files (x86)\EoC Tools\memory"
    mul r0, c3.xxyy, v0.xyxx
    texldl r1, r0, s0  // ::GBuffer1values<0,1>

#line 38
    if_lt -r1.y, c3.y

#line 33
      texldl_pp r2, r0, s1  // ::GBuffer2values<3>
      texldl_pp r0, r0, s2  // ::GBuffer4values<3>

#line 18 "Shaders/Deferred.shdh"
      mov_pp r0.x, r2.w
      mov_pp r0.y, r0.w
      mad_pp r0.xy, r0, c3.z, c3.w  // ::nn<0,1>
      mov_pp r0.z, c3.x  // ::nn<2>
      dp3_pp r0.z, r0, r0
      rcp r0.z, r0.z
      add_pp r0.w, r0.z, r0.z  // ::g<0>
      mul_pp r2.xy, r0, r0.w  // ::n<0,1>
      mad_pp r2.z, r0.z, c4.x, c4.y  // ::n<2>

#line 42 "C:\Program Files (x86)\EoC Tools\memory"
      dp3 r0.x, c0, r2  // ::worldNormal<0>
      dp3 r0.y, c1, r2  // ::worldNormal<1>
      dp3 r0.z, c2, r2  // ::worldNormal<2>

#line 45
      mul r1.yzw, r1.x, v1.xxyz  // ::worldCameraVec<0,1,2>
      mad r2.xyz, r1.x, v1, c214  // ::worldPos<0,1,2>

#line 48
      dp3 r0.w, r1.yzww, r0
      add r0.w, r0.w, r0.w
      mad r3.xyz, r0, -r0.w, r1.yzww
      nrm r4.xyz, r3  // ::worldReflectionVec<0,1,2>
      dp3 r0.w, r1.yzww, r1.yzww
      rsq r0.w, r0.w
      rcp r1.x, r0.w  // ::distance<0>

#line 52
      mad r3.xyz, r1.x, r4, r2  // ::worldEndPos<0,1,2>
      mov r2.w, c3.x
      dp4 r5.x, c210, r2  // ::projBeginPos<0>
      dp4 r5.y, c211, r2  // ::projBeginPos<1>
      dp4 r5.z, c212, r2  // ::projBeginPos<2>
      dp4 r5.w, c213, r2  // ::projBeginPos<3>
      mov r3.w, c3.x
      dp4 r2.x, c210, r3  // ::projEndPos<0>
      dp4 r2.y, c211, r3  // ::projEndPos<1>
      dp4 r2.z, c212, r3  // ::projEndPos<2>
      dp4 r2.w, c213, r3  // ::projEndPos<3>
      mul r1.yzw, r0.w, r1
      dp3 r0.x, r0, -r1.yzww
      add r2, -r5, r2
      rcp r0.x, r0_abs.x
      mul r2, r0.x, r2
      mul r3, r2.xywz, c4.z  // ::step<0,1,3,2>
      rcp r0.y, c218.x
      mul r0.z, r0.y, r1.x
      mul r0.x, r0.z, r0.x

#line 64
      mad r0.z, r4.y, c4.w, c4.w  // ::worldUpFactor<0>
      mov r1.xyz, c223  // ::global_LightPropertyMatrix<3,7,11>
      add r4.x, -r1.x, c220.y
      add r4.y, -r1.y, c221.y
      add r4.z, -r1.z, c222.y
      mad r1.xyz, r0.z, r4, c223  // ::fallbackReflectionColor<0,1,2>

#line 78
      mad r2, r2, c4.z, r5  // ::current<0,1,2,3>
      rcp r0.z, r2.w
      mul r4.xyz, r0.z, r2  // ::ndc<0,1,2>

#line 83
      mad r5.xyz, r2, -r0.z, c3.x
      cmp r5.xyz, r5, c3.y, c3.x
      mad r0.zw, r2.xyxy, r0.z, c3.x
      cmp r0.zw, r0, c3.y, c3.x
      add r0.z, r0.z, r5.x
      cmp r0.z, -r0.z, c3.y, c3.x
      add r0.z, r5.y, r0.z
      cmp r0.z, -r0.z, c3.y, c3.x
      add r0.z, r0.w, r0.z
      cmp r0.z, -r0.z, c3.y, c3.x
      cmp r0.w, r4.z, c3.y, c3.x
      add r0.z, r0.w, r0.z
      cmp r0.z, -r0.z, c3.y, c3.x
      add r0.z, r5.z, r0.z
      if_lt -r0.z, c3.y
        mov r5.xyz, r1  // ::reflectionResult<0,1,2>

#line 89
        mov r0.z, c3.x

#line 83
      else

#line 89
        mad r4.zw, r4.xyxy, c5.xyxy, c5.x  // ::uv<0,1>
        rcp r6.x, c218.z
        rcp r6.y, c218.w
        mul r6.zw, r6.xyxy, c4.w
        mad r7.xy, r6, c4.w, r4.zwzw  // ::uv<0,1>
        mov r7.zw, c3.y
        texldl r8, r7, s0  // ::sampledDepth<0>
        mad r0.w, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
        add r1.w, r8.x, -c3.x
        mad r4.z, r0.x, c5.z, -r0.w
        cmp r4.z, r4.z, c3.x, c3.y
        cmp r0.w, r0.w, r4.z, c3.y
        cmp r0.z, r1.w, c3.y, r0.w
        if_ne r0.z, -r0.z

#line 109
          dp2add r0.w, r6, r6, c3.y
          rsq r0.w, r0.w
          rcp r0.w, r0.w  // ::pixelSize<0>

#line 126
          mov r8.zw, c3.y

#line 111
          mov r9, r2  // ::current<0,1,2,3>
          mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
          mov r4.zw, r4.xyxy  // ::ndc<0,1>
          mov r11.xy, r7  // ::uv<0,1>
          mov r6.x, -r3.w  // ::step<2>
          mov r6.y, -c3.x  // ::direction<0>
          rep i0
            mov r10.z, r6.x
            mul r12, r10, c4.w  // ::step<0,1,2,3>
            mad r13, r10, c4.w, r9  // ::current<0,1,2,3>
            rcp r1.w, r13.w
            mul r7.zw, r1.w, r13.xyxy  // ::ndc<0,1>
            mad r14.xy, r7.zwzw, c5, r6.zwzw
            add r8.xy, r14, c4.w  // ::uv<0,1>

#line 121
            dp2add r1.w, r8, r8, c3.y
            rsq r1.w, r1.w
            rcp r1.w, r1.w
            if_ge r0.w, r1.w
              mov r9, r13  // ::current<0,1,2,3>
              mov r10.xyw, r12  // ::step<0,1,3>
              mov r4.zw, r7  // ::ndc<0,1>
              mov r11.xy, r8  // ::uv<0,1>
              mov r6.x, r12.z  // ::step<2>
              break_ne c3.x, -c3.x
            endif

#line 126
            texldl r14, r8, s0  // ::sampledDepth<0>
            mad r1.w, r13.w, r0.y, -r14.x  // ::diff<0>

#line 131
            cmp r5.w, -r1.w, c3.y, c3.x
            cmp r1.w, r1.w, -c3.y, -c3.x
            add r1.w, r1.w, r5.w
            mov r14.y, -r6.y
            add r1.w, r1.w, r14.y
            cmp r10.xyw, -r1_abs.w, -r12, r12  // ::step<0,1,3>
            mov r14.x, -r12.z
            mov r6.x, r12.z
            cmp r6.xy, -r1_abs.w, r14, r6  // ::step<2>, ::direction<0>

#line 111
            mov r9, r13  // ::current<0,1,2,3>
            mov r4.zw, r7  // ::ndc<0,1>
            mov r11.xy, r8  // ::uv<0,1>
          endrep
          mov r2, r9  // ::current<0,1,2,3>
          mov r3.xyz, r10.xyww  // ::step<0,1,3>
          mov r3.w, r6.x  // ::step<2>

#line 140
          mov r11.zw, c3.y
          texldl r6, r11, s3  // ::reflectionResult<0,1,2>

#line 143
          add r4.xy, -r4_abs.zwzw, c3.x
          mul_sat r4.xy, r4, c6.x  // ::borderMaskVec<0,1>
          min r0.w, r4.y, r4.x  // ::borderMask<0>
          lrp r5.xyz, r0.w, r6, r1  // ::reflectionResult<0,1,2>

#line 97
        else
          mov r5.xyz, r1  // ::reflectionResult<0,1,2>
        endif

#line 83
      endif

#line 76
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
        mov r0.w, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.z, -r0.z
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.z, r0.z, r1.w
        cmp r0.w, -r0.z, c3.y, c3.x

#line 76
      endif
      if_ne r0.w, -r0.w
        mov r0.z, c3.x
      else
        add r2, r2, r3.xywz  // ::current<0,1,2,3>
        if_ne r0.w, -r0.w
          mov r1.w, c3.x
        else
          rcp r4.x, r2.w
          mul r4.yzw, r2.xxyz, r4.x  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r4.x, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r7.xy, r2, r4.x, c3.x
          cmp r7.xy, r7, c3.y, c3.x
          add r4.x, r6.x, r7.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r7.y, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          cmp r4.w, r4.w, c3.y, c3.x
          add r4.x, r4.w, r4.x
          cmp r4.x, -r4.x, c3.y, c3.x
          add r4.x, r6.z, r4.x
          if_lt -r4.x, c3.y

#line 89
            mov r1.w, c3.x

#line 83
          else

#line 89
            mad r4.xw, r4.yyzz, c5.xyzy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r6.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r4.xwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r4.x, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r4.w, r8.x, -c3.x
            mad r5.w, r0.x, c5.z, -r4.x
            cmp r5.w, r5.w, c3.x, c3.y
            cmp r4.x, r4.x, r5.w, c3.y
            cmp r1.w, r4.w, c3.y, r4.x
            if_ne r1.w, -r1.w

#line 109
              dp2add r4.x, r6, r6, c3.y
              rsq r4.x, r4.x
              rcp r4.x, r4.x  // ::pixelSize<0>

#line 126
              mov r8.zw, c3.y

#line 111
              mov r9, r2  // ::current<0,1,2,3>
              mov r10.xyw, -r3.xyzz  // ::step<0,1,3>
              mov r6.xy, r4.yzzw  // ::ndc<0,1>
              mov r11.xy, r7  // ::uv<0,1>
              mov r12.x, -r3.w  // ::step<2>
              mov r12.y, -c3.x  // ::direction<0>
              rep i0
                mov r10.z, r12.x
                mul r13, r10, c4.w  // ::step<0,1,2,3>
                mad r14, r10, c4.w, r9  // ::current<0,1,2,3>
                rcp r4.w, r14.w
                mul r7.zw, r4.w, r14.xyxy  // ::ndc<0,1>
                mad r12.zw, r7, c5.xyxy, r6
                add r8.xy, r12.zwzw, c4.w  // ::uv<0,1>

#line 121
                dp2add r4.w, r8, r8, c3.y
                rsq r4.w, r4.w
                rcp r4.w, r4.w
                if_ge r4.x, r4.w
                  mov r9, r14  // ::current<0,1,2,3>
                  mov r10.xyw, r13  // ::step<0,1,3>
                  mov r6.xy, r7.zwzw  // ::ndc<0,1>
                  mov r11.xy, r8  // ::uv<0,1>
                  mov r12.x, r13.z  // ::step<2>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r15, r8, s0  // ::sampledDepth<0>
                mad r4.w, r14.w, r0.y, -r15.x  // ::diff<0>

#line 131
                cmp r5.w, -r4.w, c3.y, c3.x
                cmp r4.w, r4.w, -c3.y, -c3.x
                add r4.w, r4.w, r5.w
                mov r15.y, -r12.y
                add r4.w, r4.w, r15.y
                cmp r10.xyw, -r4_abs.w, -r13, r13  // ::step<0,1,3>
                mov r15.x, -r13.z
                mov r12.x, r13.z
                cmp r12.xy, -r4_abs.w, r15, r12  // ::step<2>, ::direction<0>

#line 111
                mov r9, r14  // ::current<0,1,2,3>
                mov r6.xy, r7.zwzw  // ::ndc<0,1>
                mov r11.xy, r8  // ::uv<0,1>
              endrep
              mov r2, r9  // ::current<0,1,2,3>
              mov r3.xyz, r10.xyww  // ::step<0,1,3>
              mov r3.w, r12.x  // ::step<2>

#line 140
              mov r11.zw, c3.y
              texldl r4, r11, s3  // ::reflectionResult<0,1,2>

#line 143
              add r6.xy, -r6_abs, c3.x
              mul_sat r6.xy, r6, c6.x  // ::borderMaskVec<0,1>
              min r4.w, r6.y, r6.x  // ::borderMask<0>
              lrp r5.xyz, r4.w, r4, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif
        add r0.w, r0.w, r1.w
        cmp r0.z, -r0.w, c3.y, c3.x

#line 76
      endif
      if_ne r0.z, -r0.z
      else

#line 79
        if_ne r0.z, -r0.z
        else
          add r2, r2, r3.xywz  // ::current<0,1,2,3>
          rcp r0.z, r2.w
          mul r4.xyz, r0.z, r2  // ::ndc<0,1,2>

#line 83
          mad r6.xyz, r2, -r0.z, c3.x
          cmp r6.xyz, r6, c3.y, c3.x
          mad r0.zw, r2.xyxy, r0.z, c3.x
          cmp r0.zw, r0, c3.y, c3.x
          add r0.z, r0.z, r6.x
          cmp r0.z, -r0.z, c3.y, c3.x
          add r0.z, r6.y, r0.z
          cmp r0.z, -r0.z, c3.y, c3.x
          add r0.z, r0.w, r0.z
          cmp r0.z, -r0.z, c3.y, c3.x
          cmp r0.w, r4.z, c3.y, c3.x
          add r0.z, r0.w, r0.z
          cmp r0.z, -r0.z, c3.y, c3.x
          add r0.z, r6.z, r0.z
          if_lt -r0.z, c3.y
          else

#line 89
            mad r0.zw, r4.xyxy, c5.xyxy, c5.x  // ::uv<0,1>
            rcp r6.x, c218.z
            rcp r6.y, c218.w
            mul r4.zw, r6.xyxy, c4.w
            mad r7.xy, r6, c4.w, r0.zwzw  // ::uv<0,1>
            mov r7.zw, c3.y
            texldl r8, r7, s0  // ::sampledDepth<0>
            mad r0.z, r2.w, r0.y, -r8.x  // ::diff<0>

#line 97
            add r0.w, r8.x, -c3.x
            mad r0.x, r0.x, c5.z, -r0.z
            cmp r0.x, r0.x, c3.x, c3.y
            cmp r0.x, r0.z, r0.x, c3.y
            cmp r0.x, r0.w, c3.y, r0.x
            if_ne r0.x, -r0.x

#line 109
              dp2add r0.x, r6, r6, c3.y
              rsq r0.x, r0.x
              rcp r0.x, r0.x  // ::pixelSize<0>

#line 126
              mov r6.zw, c3.y

#line 111
              mov r8.xyz, -r3  // ::step<0,1,3>
              mov r9.xyz, r2.xyww  // ::current<0,1,3>
              mov r0.zw, r4.xyxy  // ::ndc<0,1>
              mov r10.xy, r7  // ::uv<0,1>
              mov r8.w, -c3.x  // ::direction<0>
              rep i0
                mul r11.xyz, r8, c4.w  // ::step<0,1,3>
                mad r9.xyz, r8, c4.w, r9  // ::current<0,1,3>
                rcp r1.w, r9.z
                mul r7.zw, r1.w, r9.xyxy  // ::ndc<0,1>
                mad r12.xy, r7.zwzw, c5, r4.zwzw
                add r6.xy, r12, c4.w  // ::uv<0,1>

#line 121
                dp2add r1.w, r6, r6, c3.y
                rsq r1.w, r1.w
                rcp r1.w, r1.w
                if_ge r0.x, r1.w
                  mov r0.zw, r7  // ::ndc<0,1>
                  mov r10.xy, r6  // ::uv<0,1>
                  break_ne c3.x, -c3.x
                endif

#line 126
                texldl r12, r6, s0  // ::sampledDepth<0>
                mad r1.w, r9.z, r0.y, -r12.x  // ::diff<0>

#line 131
                cmp r2.z, -r1.w, c3.y, c3.x
                cmp r1.w, r1.w, -c3.y, -c3.x
                add r1.w, r1.w, r2.z
                mov r12.w, -r8.w
                add r1.w, r1.w, r12.w
                mov r12.xyz, -r11  // ::step<0,1,3>
                mov r11.w, r8.w
                cmp r8, -r1_abs.w, r12, r11  // ::step<0,1,3>, ::direction<0>

#line 111
                mov r0.zw, r7  // ::ndc<0,1>
                mov r10.xy, r6  // ::uv<0,1>
              endrep

#line 140
              mov r10.zw, c3.y
              texldl r2, r10, s3  // ::reflectionResult<0,1,2>

#line 143
              add r0.xy, -r0_abs.zwzw, c3.x
              mul_sat r0.xy, r0, c6.x  // ::borderMaskVec<0,1>
              min r1.w, r0.y, r0.x  // ::borderMask<0>
              lrp r5.xyz, r1.w, r2, r1  // ::reflectionResult<0,1,2>

#line 97
            endif

#line 83
          endif

#line 79
        endif

#line 76
      endif

#line 38
    else

#line 159
      mov r5.xyz, c3.y  // ::Out<0,1,2>

#line 38
    endif
    mov oC0.xyz, r5  // ::main<0,1,2>
    mov oC0.w, c3.x  // ::main<3>

// approximately 3846 instruction slots used (198 texture, 3648 arithmetic)
 