// Reflections
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.2.57 on Fri Jun 16 15:35:39 2017
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[7], immediateIndexed
dcl_constantbuffer cb1[58], immediateIndexed
dcl_constantbuffer cb2[56], immediateIndexed
dcl_constantbuffer cb3[2387], dynamicIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texturecube (float,float,float,float) t7
dcl_resource_texturecube (float,float,float,float) t8
dcl_resource_texturecubearray (float,float,float,float) t9
dcl_resource_texturecubearray (float,float,float,float) t10
dcl_resource_texturecube (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t12
dcl_resource_texture2d (float,float,float,float) t13
dcl_uav_typed_texture2d (float,float,float,float) u0
dcl_input vThreadGroupID.xy
dcl_input vThreadIDInGroup.xy
dcl_input vThreadID.xy
//dcl_temps 14

dcl_temps 15

dcl_tgsm_raw g0, 4
dcl_tgsm_raw g1, 4
dcl_tgsm_raw g2, 4
dcl_tgsm_structured g3, 4, 341
dcl_tgsm_structured g4, 4, 341
dcl_tgsm_structured g5, 4, 256
dcl_thread_group 16, 16, 1

// 3DMigoto StereoParams:
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r15.xyzw, l(0, 0, 0, 0), t125.xyzw

imad r0.x, vThreadIDInGroup.y, l(16), vThreadIDInGroup.x
iadd r1.xy, vThreadID.xyxx, cb0[2].xyxx
iadd r0.yz, cb0[2].zzwz, -cb0[2].xxyx
utof r0.yz, r0.yyzy
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.w, r1.xyww, t4.yzwx
mad r0.w, r0.w, cb1[52].z, -cb1[52].w
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
store_structured g5.x, r0.x, l(0), r0.w
sync_g_t
ult r2.xy, r0.xxxx, l(32, 8, 0, 0)
if_nz r2.x
  iadd r2.x, r0.x, l(32)
  mov r2.zw, r0.wwww
  mov r3.x, r2.x
  loop 
    ige r3.y, r3.x, l(256)
    breakc_nz r3.y
    ld_structured r3.y, r3.x, l(0), g5.xxxx
    min r2.z, r2.z, r3.y
    max r2.w, r2.w, r3.y
    iadd r3.x, r3.x, l(32)
  endloop 
  store_structured g5.x, r0.x, l(0), r2.z
  store_structured g5.x, r2.x, l(0), r2.w
endif 
sync_g_t
if_nz r2.y
  ld_structured r2.x, r0.x, l(0), g5.xxxx
  iadd r3.xyzw, r0.xxxx, l(32, 8, 40, 16)
  ld_structured r2.y, r3.x, l(0), g5.xxxx
  ld_structured r2.z, r3.y, l(0), g5.xxxx
  min r2.x, r2.z, r2.x
  ld_structured r2.z, r3.z, l(0), g5.xxxx
  max r2.y, r2.z, r2.y
  ld_structured r2.z, r3.w, l(0), g5.xxxx
  min r2.x, r2.z, r2.x
  iadd r3.xyzw, r0.xxxx, l(48, 24, 56, 64)
  ld_structured r2.z, r3.x, l(0), g5.xxxx
  max r2.y, r2.z, r2.y
  ld_structured r2.z, r3.y, l(0), g5.xxxx
  min r2.x, r2.z, r2.x
  ld_structured r2.z, r3.z, l(0), g5.xxxx
  max r2.y, r2.z, r2.y
  store_structured g5.x, r3.w, l(0), r2.x
  iadd r2.x, r0.x, l(96)
  store_structured g5.x, r2.x, l(0), r2.y
endif 
sync_g_t
if_z r0.x
  ld_structured r2.x, l(64), l(0), g5.xxxx
  ld_structured r2.y, l(96), l(0), g5.xxxx
  mov r3.xy, r2.xyxx
  mov r2.z, l(1)
  loop 
    ige r2.w, r2.z, l(8)
    breakc_nz r2.w
    iadd r3.zw, r2.zzzz, l(0, 0, 64, 96)
    ld_structured r2.w, r3.z, l(0), g5.xxxx
    min r3.x, r2.w, r3.x
    ld_structured r2.w, r3.w, l(0), g5.xxxx
    max r3.y, r2.w, r3.y
    iadd r2.z, r2.z, l(1)
  endloop 
  store_raw g0.x, l(0), r3.x
  store_raw g1.x, l(0), r3.y
endif 
sync_g_t
ld_raw r2.x, l(0), g0.xxxx
ld_raw r2.y, l(0), g1.xxxx
utof r2.zw, vThreadGroupID.xxxy
mad r2.zw, r2.zzzw, l(0.000000, 0.000000, 16.000000, 16.000000), l(0.000000, 0.000000, 0.500000, 0.500000)
div r2.zw, r2.zzzw, r0.yyyz
mad r2.zw, r2.zzzw, l(0.000000, 0.000000, 2.000000, -2.000000), l(0.000000, 0.000000, -1.000000, 1.000000)
add r2.xy, r2.xyxx, cb1[52].wwww
mul r2.xy, r2.xyxx, cb1[52].zzzz
div r2.x, l(1.000000, 1.000000, 1.000000, 1.000000), r2.x
iadd r3.xy, vThreadGroupID.xyxx, l(1, 1, 0, 0)
utof r3.xy, r3.xyxx
mad r3.xy, r3.xyxx, l(16.000000, 16.000000, 0.000000, 0.000000), l(-0.500000, -0.500000, 0.000000, 0.000000)
div r3.xy, r3.xyxx, r0.yzyy
mad r3.xy, r3.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
div r2.y, l(1.000000, 1.000000, 1.000000, 1.000000), r2.y
mul r4.xyzw, r2.wwww, cb1[30].xyzw
mad r4.xyzw, r2.zzzz, cb1[29].xyzw, r4.xyzw
mad r5.xyzw, r2.yyyy, cb1[31].xyzw, r4.xyzw
add r5.xyzw, r5.xyzw, cb1[32].xyzw
div r5.xyz, r5.xyzx, r5.wwww
mul r6.xyzw, r3.yyyy, cb1[30].xyzw
mad r3.xyzw, r3.xxxx, cb1[29].xyzw, r6.xyzw
mad r3.xyzw, r2.yyyy, cb1[31].xyzw, r3.xyzw
add r3.xyzw, r3.xyzw, cb1[32].xyzw
div r2.yzw, r3.xxyz, r3.wwww
mad r3.xyzw, r2.xxxx, cb1[31].xyzw, r4.xyzw
add r3.xyzw, r3.xyzw, cb1[32].xyzw
div r3.xyz, r3.xyzx, r3.wwww
min r4.xyz, r2.yzwy, r5.xyzx
min r4.xyz, r3.xyzx, r4.xyzx
max r2.xyz, r2.yzwy, r5.xyzx
max r2.xyz, r2.xyzx, r3.xyzx
add r3.xyz, r4.xyzx, r2.xyzx
add r2.xyz, -r4.xyzx, r2.xyzx
if_z r0.x
  store_raw g2.x, l(0), l(0)
endif 
sync_g_t
mov r2.w, r0.x
loop 
  ult r3.w, r2.w, cb0[1].w
  ult r4.x, r2.w, l(341)
  and r3.w, r3.w, r4.x
  breakc_z r3.w
  add r4.xyz, cb1[57].xyzx, cb3[r2.w + 0].xyzx
  mul r5.xyz, r4.yyyy, cb1[10].xyzx
  mad r4.xyw, r4.xxxx, cb1[9].xyxz, r5.xyxz
  mad r4.xyz, r4.zzzz, cb1[11].xyzx, r4.xywx
  add r4.xyz, r4.xyzx, cb1[12].xyzx
  mad r4.xyz, r3.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -r4.xyzx
  mad r4.xyz, -r2.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r4.xyzx|
  max r4.xyz, r4.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r3.w, r4.xyzx, r4.xyzx
  mul r4.x, cb3[r2.w + 0].w, cb3[r2.w + 0].w
  lt r3.w, r3.w, r4.x
  if_nz r3.w
    imm_atomic_iadd r4.x, g2, l(0), l(1)
    store_structured g3.x, r4.x, l(0), r2.w
  endif 
  iadd r2.w, r2.w, l(256)
endloop 
sync_g_t
ld_raw r2.x, l(0), g2.xxxx
mov r2.y, r0.x
loop 
  uge r2.z, r2.y, r2.x
  breakc_nz r2.z
  ld_structured r2.z, r2.y, l(0), g3.xxxx
  mov r2.w, l(0)
  mov r3.x, l(0)
  loop 
    uge r3.y, r3.x, r2.x
    breakc_nz r3.y
    ld_structured r3.y, r3.x, l(0), g3.xxxx
    ilt r3.y, r3.y, r2.z
    iadd r2.w, r2.w, -r3.y
    iadd r3.x, r3.x, l(1)
  endloop 
  store_structured g4.x, r2.w, l(0), r2.z
  iadd r2.y, r2.y, l(256)
endloop 
sync_g_t
ld_indexable(texture2d)(float,float,float,float) r3.xyzw, r1.xyww, t1.xyzw
mul r0.x, r3.w, l(255.000000)
round_ne r0.x, r0.x
ftou r0.x, r0.x
and r2.y, r0.x, l(15)
ine r2.zw, r2.yyyy, l(0, 0, 0, 7)
and r2.z, r2.w, r2.z
if_nz r2.z
  utof r2.zw, vThreadID.xxxy
  add r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
  div r0.yz, r2.zzwz, r0.yyzy
  mad r0.yz, r0.yyzy, l(0.000000, 2.000000, -2.000000, 0.000000), l(0.000000, -1.000000, 1.000000, 0.000000)
  ld_indexable(texture2d)(float,float,float,float) r4.xyz, r1.xyww, t0.xyzw
  ld_indexable(texture2d)(float,float,float,float) r5.xyz, r1.xyww, t2.xyzw
  ld_indexable(texture2d)(float,float,float,float) r2.zw, r1.xyww, t3.zwxy
  ftou r3.w, cb2[32].x
  iadd r4.w, r1.x, r1.y
  iadd r3.w, r4.w, r3.w
  and r3.w, r3.w, l(1)
  mad r4.xyz, r4.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  dp3 r4.w, r4.xyzx, r4.xyzx
  rsq r4.w, r4.w
  mul r6.xyz, r4.wwww, r4.xyzx
  and r0.x, r0.x, l(16)
  movc r2.zw, r0.xxxx, l(0,0,0,0), r2.zzzw
  ieq r7.xy, r2.yyyy, l(5, 4, 0, 0)
  movc r8.xy, r3.wwww, l(1.000000,0,0,0), l(0,1.000000,0,0)
  mul r8.z, r3.y, r8.y
  mov r5.w, r3.y
  movc r5.xyzw, r7.xxxx, r8.xxxz, r5.xyzw
  mul r0.x, r5.w, l(0.080000)
  mad r5.xyz, -r5.wwww, l(0.080000, 0.080000, 0.080000, 0.000000), r5.xyzx
  mad r5.xyz, r3.xxxx, r5.xyzx, r0.xxxx
  mad r5.xyz, r5.xyzx, cb2[6].wwww, cb2[6].xyzx
  utof r7.xz, r1.xxyx
  add r7.xz, r7.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000)
  mul r7.xz, r7.xxzx, cb2[3].zzwz
  sample_l_indexable(texture2d)(float,float,float,float) r0.x, r7.xzxx, t5.xyzw, s0, l(0.000000)
  mul r0.yz, r0.wwww, r0.yyzy
  
  // Move environment reflections to infinity:
  mad r0.y, -r15.x, r0.w, r0.y
  
  mul r8.xyzw, r0.zzzz, cb1[42].xyzw
  mad r8.xyzw, r0.yyyy, cb1[41].xyzw, r8.xyzw
  mad r8.xyzw, r0.wwww, cb1[43].xyzw, r8.xyzw
  add r8.xyzw, r8.xyzw, cb1[44].xyzw
  div r0.yzw, r8.xxyz, r8.wwww
  add r7.xzw, r0.yyzw, -cb1[54].xxyz
  dp3 r2.y, r7.xzwx, r7.xzwx
  rsq r2.y, r2.y
  mul r7.xzw, r2.yyyy, r7.xxzw
  dp3 r3.x, -r7.xzwx, r6.xyzx
  add r2.y, r3.x, r3.x
  mad r7.xzw, r2.yyyy, r6.xxyz, r7.xxzw
  mov_sat r3.x, r3.x
  mul r2.y, r3.z, r3.z
  mad r3.w, -r3.z, r3.z, l(1.000000)
  sqrt r5.w, r3.w
  mad r5.w, r3.z, r3.z, r5.w
  mul r3.w, r3.w, r5.w
  mad r4.xyz, -r4.xyzx, r4.wwww, r7.xzwx
  mul r3.w, r3.w, r3.w
  ld_indexable(texture2d)(float,float,float,float) r8.xyzw, r1.xyww, t12.xyzw
  add r4.w, -r8.w, l(1.000000)
  mad r9.xyzw, r8.xyzw, l(1.000000, 1.000000, 1.000000, -1.000000), l(0.000000, 0.000000, 0.000000, 1.000000)
  add r10.xyzw, -r9.xyzw, l(0.000000, 0.000000, 0.000000, 1.000000)
  mad r10.xyzw, r2.zzzz, r10.xyzw, r9.xyzw
  movc r9.xyzw, r7.yyyy, r10.xyzw, r9.xyzw
  add r5.w, r0.x, r3.x
  log r5.w, r5.w
  mul r2.y, r2.y, r5.w
  exp r2.y, r2.y
  add r0.x, r0.x, r2.y
  add_sat r0.x, r0.x, l(-1.000000)
  mul r2.y, r0.x, r9.w
  mad r4.xyz, r4.xyzx, r3.wwww, r6.xyzx
  log r3.w, r3.z
  mad r5.w, -r3.w, l(1.200000), l(1.000000)
  add r6.x, cb2[55].z, l(-1.000000)
  add r6.y, -r5.w, r6.x
  mad r6.z, r3.w, l(2.000000), cb0[3].x
  mov r10.xyz, r9.xyzx
  mov r6.w, r2.y
  mov r8.w, l(0)
  loop 
    uge r9.w, r8.w, r2.x
    breakc_nz r9.w
    lt r9.w, r6.w, l(0.001000)
    if_nz r9.w
      break 
    endif 
    ld_structured r9.w, r8.w, l(0), g4.xxxx
    add r11.xyz, r0.yzwy, -cb3[r9.w + 0].xyzx
    dp3 r10.w, r11.xyzx, r11.xyzx
    sqrt r11.w, r10.w
    lt r12.x, r11.w, cb3[r9.w + 0].w
    if_nz r12.x
      div_sat r11.w, r11.w, cb3[r9.w + 0].w
      dp3 r12.x, r4.xyzx, r11.xyzx
      mad r10.w, -cb3[r9.w + 0].w, cb3[r9.w + 0].w, r10.w
      mad r10.w, r12.x, r12.x, -r10.w
      sqrt r10.w, r10.w
      add r10.w, -r12.x, r10.w
      mad r11.xyz, r10.wwww, r4.xyzx, r11.xyzx
      add r12.xyz, r11.xyzx, -cb3[r9.w + 2046].xyzx
      mad r10.w, r11.w, l(2.500000), l(-1.500000)
      max r10.w, r10.w, l(0.000000)
      mul r11.x, r10.w, r10.w
      mad r10.w, -r10.w, l(2.000000), l(3.000000)
      mad r10.w, -r11.x, r10.w, l(1.000000)
      ge r11.x, cb3[r9.w + 341].y, l(0.000000)
      if_nz r11.x
        mov r12.w, cb3[r9.w + 341].y
        sample_l_indexable(texturecubearray)(float,float,float,float) r11.xyzw, r12.xyzw, t9.xyzw, s4, r6.y
      else 
        add r13.x, l(-1.000000), -cb3[r9.w + 341].y
        ftou r13.x, r13.x
        utof r12.w, r13.x
        sample_l_indexable(texturecubearray)(float,float,float,float) r11.xyzw, r12.xyzw, t10.xyzw, s4, r6.z
      endif 
      mul r11.xyz, r11.xyzx, cb3[r9.w + 341].xxxx
      mul r11.xyz, r10.wwww, r11.xyzx
      mad r10.xyz, r11.xyzx, r6.wwww, r10.xyzx
      mad r9.w, -r11.w, r10.w, l(1.000000)
      mul r6.w, r6.w, r9.w
    endif 
    iadd r8.w, r8.w, l(1)
  endloop 
  ine r2.y, cb0[6].x, l(0)
  ge r6.y, r6.w, l(0.001000)
  and r6.z, r2.y, r6.y
  if_nz r6.z
    mad r3.w, -r3.w, l(1.150000), l(3.000000)
    add r6.z, cb0[5].w, l(-1.000000)
    add r3.w, -r3.w, r6.z
    sample_l_indexable(texturecube)(float,float,float,float) r9.xyz, r4.xyzx, t11.xyzw, s5, r3.w
    mad r9.xyz, r9.xyzx, cb0[4].xyzx, -r10.xyzx
    mad r10.xyz, r6.wwww, r9.xyzx, r10.xyzx
  endif 
  lt r3.w, l(0.000000), cb0[0].y
  and r6.y, r6.y, r3.w
  if_nz r6.y
    add r5.w, -r5.w, cb0[0].x
    add r5.w, r5.w, l(-1.000000)
    sample_l_indexable(texturecube)(float,float,float,float) r9.xyz, r4.xyzx, t7.xyzw, s2, r5.w
    mul r9.xyz, r9.xyzx, cb2[47].xyzx
    lt r6.y, l(0.000000), cb0[0].w
    if_nz r6.y
      sample_l_indexable(texturecube)(float,float,float,float) r4.xyz, r4.xyzx, t8.xyzw, s3, r5.w
      mad r4.xyz, r4.xyzx, cb2[47].xyzx, -r9.xyzx
      mad r9.xyz, cb0[0].wwww, r4.xyzx, r9.xyzx
    endif 
    mul r4.xyz, r9.xyzx, cb0[4].wwww
    mad r10.xyz, r6.wwww, r4.xyzx, r10.xyzx
  endif 
  if_nz r7.y
    mov r3.y, r3.z
    sample_l_indexable(texture2d)(float,float,float,float) r4.xy, r3.xyxx, t6.xyzw, s1, l(0.000000)
    mul_sat r3.y, r5.y, l(50.000000)
    mul r3.y, r3.y, r4.y
    add r4.y, -r2.z, l(1.000000)
    mul r3.y, r3.y, r4.y
    mad r4.xyz, r5.xyzx, r4.xxxx, r3.yyyy
    mul r4.xyz, r4.xyzx, r10.xyzx
    add r3.y, -r3.x, l(1.000000)
    mul r5.w, r3.y, r3.y
    mul r5.w, r5.w, r5.w
    mul r6.y, r3.y, r5.w
    mad r3.y, -r5.w, r3.y, l(1.000000)
    mad r3.y, r3.y, l(0.040000), r6.y
    mul r5.w, r2.z, r3.y
    mad r2.z, -r3.y, r2.z, l(1.000000)
    mul r6.yzw, r5.wwww, r8.xxyz
    mad r4.xyz, r4.xyzx, r2.zzzz, r6.yzwy
    mul r2.z, r4.w, r5.w
    mul r0.x, r0.x, r2.z
    log r2.z, r2.w
    mad r2.w, -r2.z, l(1.200000), l(1.000000)
    add r3.y, -r2.w, r6.x
    mad r4.w, r2.z, l(2.000000), cb0[3].x
    mov r6.xyz, r4.xyzx
    mov r5.w, r0.x
    mov r6.w, l(0)
    loop 
      uge r7.y, r6.w, r2.x
      breakc_nz r7.y
      lt r7.y, r5.w, l(0.001000)
      if_nz r7.y
        break 
      endif 
      ld_structured r7.y, r6.w, l(0), g4.xxxx
      add r8.xyz, r0.yzwy, -cb3[r7.y + 0].xyzx
      dp3 r8.w, r8.xyzx, r8.xyzx
      sqrt r9.x, r8.w
      lt r9.y, r9.x, cb3[r7.y + 0].w
      if_nz r9.y
        div_sat r9.x, r9.x, cb3[r7.y + 0].w
        dp3 r9.y, r7.xzwx, r8.xyzx
        mad r8.w, -cb3[r7.y + 0].w, cb3[r7.y + 0].w, r8.w
        mad r8.w, r9.y, r9.y, -r8.w
        sqrt r8.w, r8.w
        add r8.w, -r9.y, r8.w
        mad r8.xyz, r8.wwww, r7.xzwx, r8.xyzx
        add r8.xyz, r8.xyzx, -cb3[r7.y + 2046].xyzx
        mad r9.x, r9.x, l(2.500000), l(-1.500000)
        max r9.x, r9.x, l(0.000000)
        mul r9.y, r9.x, r9.x
        mad r9.x, -r9.x, l(2.000000), l(3.000000)
        mad r9.x, -r9.y, r9.x, l(1.000000)
        ge r9.y, cb3[r7.y + 341].y, l(0.000000)
        if_nz r9.y
          mov r8.w, cb3[r7.y + 341].y
          sample_l_indexable(texturecubearray)(float,float,float,float) r11.xyzw, r8.xyzw, t9.xyzw, s4, r3.y
        else 
          add r9.y, l(-1.000000), -cb3[r7.y + 341].y
          ftou r9.y, r9.y
          utof r8.w, r9.y
          sample_l_indexable(texturecubearray)(float,float,float,float) r11.xyzw, r8.xyzw, t10.xyzw, s4, r4.w
        endif 
        mul r8.xyz, r11.xyzx, cb3[r7.y + 341].xxxx
        mul r8.xyz, r9.xxxx, r8.xyzx
        mad r6.xyz, r8.xyzx, r5.wwww, r6.xyzx
        mad r7.y, -r11.w, r9.x, l(1.000000)
        mul r5.w, r5.w, r7.y
      endif 
      iadd r6.w, r6.w, l(1)
    endloop 
    ge r0.x, r5.w, l(0.001000)
    and r0.y, r0.x, r2.y
    if_nz r0.y
      mad r0.y, -r2.z, l(1.150000), l(3.000000)
      add r0.z, cb0[5].w, l(-1.000000)
      add r0.y, -r0.y, r0.z
      sample_l_indexable(texturecube)(float,float,float,float) r0.yzw, r7.xzwx, t11.wxyz, s5, r0.y
      mad r0.yzw, r0.yyzw, cb0[4].xxyz, -r6.xxyz
      mad r6.xyz, r5.wwww, r0.yzwy, r6.xyzx
    endif 
    and r0.x, r0.x, r3.w
    if_nz r0.x
      add r0.x, -r2.w, cb0[0].x
      add r0.x, r0.x, l(-1.000000)
      sample_l_indexable(texturecube)(float,float,float,float) r0.yzw, r7.xzwx, t7.wxyz, s2, r0.x
      mul r0.yzw, r0.yyzw, cb2[47].xxyz
      lt r2.x, l(0.000000), cb0[0].w
      if_nz r2.x
        sample_l_indexable(texturecube)(float,float,float,float) r2.xyz, r7.xzwx, t8.xyzw, s3, r0.x
        mad r2.xyz, r2.xyzx, cb2[47].xyzx, -r0.yzwy
        mad r0.yzw, cb0[0].wwww, r2.xxyz, r0.yyzw
      endif 
      mul r0.xyz, r0.yzwy, cb0[4].wwww
      mad r6.xyz, r5.wwww, r0.xyzx, r6.xyzx
    endif 
  else 
    sample_l_indexable(texture2d)(float,float,float,float) r0.xy, r3.xzxx, t6.xyzw, s1, l(0.000000)
    mul_sat r0.z, r5.y, l(50.000000)
    mul r0.y, r0.y, r0.z
    mad r0.xyz, r5.xyzx, r0.xxxx, r0.yyyy
    mul r6.xyz, r0.xyzx, r10.xyzx
  endif 
else 
  mov r6.xyz, l(0,0,0,0)
endif 
ult r0.xy, vThreadID.xyxx, cb0[2].zwzz
and r0.x, r0.y, r0.x
if_nz r0.x
  min r0.xyz, -r6.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  mov r0.xyz, -r0.xyzx
  ld_indexable(texture2d)(float,float,float,float) r2.xyzw, r1.xyzw, t13.xyzw
  mov r0.w, l(0)
  add r0.xyzw, r0.xyzw, r2.xyzw
  store_uav_typed u0.xyzw, r1.xyyy, r0.xyzw
endif 
ret 
// Approximately 0 instruction slots used
