//Skybox clipping CS.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Sun May 23 15:42:01 2021
//
//
// 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[22], dynamicIndexed
dcl_constantbuffer cb1[98], immediateIndexed
dcl_constantbuffer cb2[142], immediateIndexed
dcl_constantbuffer cb3[60], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, 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_texture2d (float,float,float,float) t7
dcl_uav_typed_texture2d (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 40
dcl_resource_texture2d (float,float,float,float) t125
dcl_indexableTemp x3[5], 4
dcl_tgsm_structured g0, 16, 256
dcl_tgsm_structured g1, 4, 16
dcl_tgsm_raw g2, 4
dcl_thread_group 1, 128, 1

ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw

imul null, r0.x, vThreadID.x, cb0[20].w
iadd r0.yzw, vThreadID.yyyy, cb0[17].yyyy
mov r1.x, cb0[21].x
mov r1.yw, l(0,0,0,0)
iadd r1.xy, r0.xwxx, r1.xyxx
itof r2.xy, r0.xwxx
add r2.xz, r2.xxyx, l(0.500000, 0.000000, 0.500000, 0.000000)
mul r2.xz, r2.xxzx, cb0[18].zzwz
mad r3.x, cb0[18].y, r2.x, cb0[18].x
mul r2.x, r2.z, cb0[0].x
exp r2.x, r2.x
add r2.x, -r2.x, l(1.000000)
mul r3.y, r2.x, cb0[0].y
mul r2.x, cb0[18].z, cb0[18].y
itof r2.z, cb0[21].x
mul r1.z, r2.z, r2.x
add r2.xz, r1.wwzw, r3.yyxy
bfi r1.z, l(6), l(1), r0.w, l(0)
bfi r1.z, l(7), l(0), r1.z, r0.w
itof r1.z, r1.z
add r1.z, r1.z, l(0.500000)
mul r1.z, r1.z, cb0[18].w
mul r1.z, r1.z, cb0[0].x
exp r1.z, r1.z
add r1.z, -r1.z, l(1.000000)
mul r1.z, r1.z, cb0[0].y
mul r1.w, r2.z, l(6.28318548)
sincos r3.x, r4.x, r1.w
mul r1.z, r1.z, l(1.57079637)
sincos r5.x, r6.x, r1.z
mov r3.y, r4.x
mul r1.zw, r5.xxxx, r3.xxxy
mul r4.xyz, r1.wwww, cb1[1].xywx
mad r4.xyz, r1.zzzz, cb1[0].xywx, r4.xyzx
mad r4.xyz, r6.xxxx, cb1[2].xywx, r4.xyzx

mad r4.x, r25.x, r4.z, r4.x

div r4.xyz, r4.xyyx, r4.zzzz
mad r4.yzw, r4.xxyz, l(0.000000, 0.500000, -0.500000, -0.500000), l(0.000000, 0.500000, 0.500000, 0.488281250)
sample_l_indexable(texture2d)(float,float,float,float) r1.z, r4.yzyy, t2.yzxw, s2, l(0.000000)
eq r1.z, r1.z, l(0.000000)
and r3.zw, r0.wwww, l(0, 0, 3, 15)
itof r1.w, r3.z
add r1.w, r1.w, l(-1.500000)
mad r4.x, r1.w, l(0.00781250000), r4.y
and r1.z, r1.z, l(1)
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r4.xwxx, t2.yzwx, s2, l(0.000000)
eq r1.w, r1.w, l(0.000000)
and r1.w, r1.w, l(1)
or r1.z, r1.w, r1.z
store_structured g1.x, r3.w, l(0), l(0)
store_raw g2.x, l(0), l(0)
sync_g_t
if_nz r1.z
  store_raw g2.x, l(0), l(1)
endif
sync_g_t
ld_raw r1.z, l(0), g2.xxxx
if_nz r1.z
  and r1.zw, vThreadID.yyyy, l(0, 0, 127, 31)
  bfi r3.z, l(7), l(0), vThreadID.y, l(128)
  iadd r3.w, r0.w, l(128)
  itof r3.w, r3.w
  add r3.w, r3.w, l(0.500000)
  mul r3.w, r3.w, cb0[18].w
  mul r3.w, r3.w, cb0[0].x
  exp r3.w, r3.w
  add r3.w, -r3.w, l(1.000000)
  mul r3.w, r3.w, cb0[0].y
  mul r4.x, r2.x, l(1.57079637)
  sincos r4.x, r5.x, r4.x
  mul r4.xy, r3.xyxx, r4.xxxx
  mul r3.w, r3.w, l(1.57079637)
  sincos r6.x, r7.x, r3.w
  mul r3.xy, r3.xyxx, r6.xxxx
  mad r5.yz, -cb1[53].zzzz, cb2[138].yyyy, cb2[138].zzwz
  add r3.w, -r5.y, r5.z
  mad r3.w, r3.w, l(0.250000), r5.z
  max r4.z, r5.x, l(0.000000)
  div r4.w, r5.y, r4.z
  mul r5.xzw, r4.wwww, r4.xxyz
  div r3.w, r3.w, r4.z
  mul r6.xy, r3.wwww, r4.xyxx
  max r6.z, r7.x, l(0.000000)
  div r5.y, r5.y, r6.z
  mul r6.zw, r3.xxxy, r5.yyyy
  dp2 r7.x, r5.xzxx, r5.xzxx
  rsq r7.y, r7.x
  mul r8.xyz, r5.xzwx, r7.yyyy
  mul r7.z, r5.w, r5.w
  mad r7.y, r7.z, r7.y, l(1.000000)
  mad r3.w, r4.z, r3.w, -r5.w
  div r3.w, l(1.000000, 1.000000, 1.000000, 1.000000), r3.w
  mul r4.z, r3.w, -r5.w
  mul r3.w, r3.w, r8.z
  dp3 r7.z, r5.xzwx, r5.xzwx
  sqrt r7.z, r7.z
  mul r7.z, r7.z, l(-0.250000)
  exp r9.y, r7.z
  mov r9.xw, l(1.000000,0,0,0)
  mul r7.zw, r9.xxxy, cb0[19].xxxy
  sqrt r8.w, r2.x
  sqrt r2.w, r8.w
  mul r2.zw, r2.zzzw, r7.zzzz
  mul r9.z, cb3[11].z, l(0.025000)
  mad r9.xy, r2.zwzz, l(4.000000, 4.000000, 0.000000, 0.000000), r9.zwzz
  sample_l_indexable(texture2d)(float,float,float,float) r7.z, r9.xyxx, t6.yzxw, s0, l(0.000000)
  mul r9.x, cb3[11].z, l(-0.012500)
  mov r9.y, l(0)
  mad r9.xy, r2.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), r9.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r8.w, r9.xyxx, t6.yzwx, s0, l(0.000000)
  mul r8.w, r8.w, l(0.500000)
  mad r7.z, r7.z, l(0.250000), r8.w
  sample_l_indexable(texture2d)(float,float,float,float) r2.z, r2.zwzz, t6.yzxw, s0, l(0.000000)
  add r2.z, r2.z, r7.z
  add r2.z, r2.z, l(-0.875000)
  mul r2.z, r7.w, r2.z
  dp2 r2.w, r6.xyxx, r6.xyxx
  sqrt r2.w, r2.w
  min r6.x, |r5.w|, r2.w
  max r6.y, |r5.w|, r2.w
  div r6.y, l(1.000000, 1.000000, 1.000000, 1.000000), r6.y
  mul r6.x, r6.y, r6.x
  mul r6.y, r6.x, r6.x
  mad r7.z, r6.y, l(0.0208350997), l(-0.085133)
  mad r7.z, r6.y, r7.z, l(0.180141)
  mad r7.z, r6.y, r7.z, l(-0.330299497)
  mad r6.y, r6.y, r7.z, l(0.999866)
  mul r7.z, r6.y, r6.x
  lt r7.w, |r5.w|, r2.w
  mad r7.z, r7.z, l(-2.000000), l(1.57079637)
  and r7.z, r7.w, r7.z
  mad r6.x, r6.x, r6.y, r7.z
  lt r6.y, r5.w, -r5.w
  and r6.y, r6.y, l(0xc0490fdb)
  add r6.x, r6.y, r6.x
  min r6.y, r5.w, r2.w
  max r2.w, r5.w, r2.w
  lt r6.y, r6.y, -r6.y
  ge r2.w, r2.w, -r2.w
  and r2.w, r2.w, r6.y
  movc r2.w, r2.w, -r6.x, r6.x
  mul r2.w, r2.w, cb0[0].z
  mad r2.w, -r2.w, l(0.636619747), l(1.000000)
  log r2.w, r2.w
  mul r2.w, r2.w, cb0[0].w
  div r2.w, r2.w, cb0[18].w
  add r2.y, -r2.y, r2.w
  max r2.y, r2.y, l(2.000000)
  min r2.y, r2.y, l(127.000000)
  round_pi r2.y, r2.y
  ftoi r2.y, r2.y
  mul r6.xy, cb1[55].xyxx, cb2[138].yyyy
  mad r4.xy, r4.xyxx, r4.wwww, r6.xyxx
  dp2 r9.x, cb2[141].xyxx, r4.xyxx
  mul r7.zw, cb2[141].yyyx, l(0.000000, 0.000000, -1.000000, 1.000000)
  dp2 r9.y, r7.zwzz, r4.xyxx
  mul r10.x, cb2[138].y, cb2[140].w
  mul r10.y, cb2[138].y, cb2[139].w
  add r9.xy, r9.xyxx, -r10.xyxx
  add r9.zw, |r9.xxxy|, l(0.000000, 0.000000, 1.000000, 1.000000)
  div r9.xy, r9.xyxx, r9.zwzz
  mad r9.xy, r9.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  add r4.xy, r4.xyxx, -r10.xyxx
  add r9.zw, |r4.xxxy|, l(0.000000, 0.000000, 1.000000, 1.000000)
  div r4.xy, r4.xyxx, r9.zwzz
  mad r4.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r11.xyzw, r4.xyxx, t3.xyzw, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, r9.xyxx, t4.xyzw, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r12.xyzw, r4.xyxx, t5.xyzw, s1, l(0.000000)
  mov_sat r11.xyzw, r11.xyzw
  mad r11.xyzw, r11.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
  ftou r11.xyzw, r11.xyzw
  imad r2.w, r11.y, l(256), r11.x
  imad r2.w, r11.z, l(0x00010000), r2.w
  imad r11.x, r11.w, l(0x01000000), r2.w
  mov_sat r9.xyzw, r9.xyzw
  mad r9.xyzw, r9.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
  ftou r9.xyzw, r9.xyzw
  imad r2.w, r9.y, l(256), r9.x
  imad r2.w, r9.z, l(0x00010000), r2.w
  imad r11.y, r9.w, l(0x01000000), r2.w
  mov_sat r12.xyzw, r12.xyzw
  mad r9.xyzw, r12.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
  ftou r9.xyzw, r9.xyzw
  imad r2.w, r9.y, l(256), r9.x
  imad r2.w, r9.z, l(0x00010000), r2.w
  imad r11.z, r9.w, l(0x01000000), r2.w
  sqrt r11.w, r7.x
  mad r3.xy, r3.xyxx, r5.yyyy, r6.xyxx
  dp2 r4.x, cb2[141].xyxx, r3.xyxx
  dp2 r4.y, r7.zwzz, r3.xyxx
  add r4.xy, -r10.xyxx, r4.xyxx
  add r6.xy, |r4.xyxx|, l(1.000000, 1.000000, 0.000000, 0.000000)
  div r4.xy, r4.xyxx, r6.xyxx
  mad r4.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  add r3.xy, -r10.xyxx, r3.xyxx
  add r6.xy, |r3.xyxx|, l(1.000000, 1.000000, 0.000000, 0.000000)
  div r3.xy, r3.xyxx, r6.xyxx
  mad r3.xy, r3.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, r3.xyxx, t3.xyzw, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r10.xyzw, r4.xyxx, t4.xyzw, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r12.xyzw, r3.xyxx, t5.xyzw, s1, l(0.000000)
  mov_sat r9.xyzw, r9.xyzw
  mad r9.xyzw, r9.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
  ftou r9.xyzw, r9.xyzw
  imad r2.w, r9.y, l(256), r9.x
  imad r2.w, r9.z, l(0x00010000), r2.w
  imad r9.x, r9.w, l(0x01000000), r2.w
  mov_sat r10.xyzw, r10.xyzw
  mad r10.xyzw, r10.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
  ftou r10.xyzw, r10.xyzw
  imad r2.w, r10.y, l(256), r10.x
  imad r2.w, r10.z, l(0x00010000), r2.w
  imad r9.y, r10.w, l(0x01000000), r2.w
  mov_sat r12.xyzw, r12.xyzw
  mad r10.xyzw, r12.xyzw, l(255.000000, 255.000000, 255.000000, 255.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
  ftou r10.xyzw, r10.xyzw
  imad r2.w, r10.y, l(256), r10.x
  imad r2.w, r10.z, l(0x00010000), r2.w
  imad r9.z, r10.w, l(0x01000000), r2.w
  dp2 r2.w, r6.zwzz, r6.zwzz
  sqrt r9.w, r2.w
  store_structured g0.xyzw, r1.z, l(0), r11.xyzw
  store_structured g0.xyzw, r3.z, l(0), r9.xyzw
  and r2.w, r11.x, l(0xf8f8f8f8)
  and r3.x, r9.x, l(0xf8f8f8f8)
  if_nz r2.w
    ubfe r4.x, l(2), l(5), vThreadID.y
    ishl r2.w, l(1), vThreadID.y
    mov r4.y, l(0)
    atomic_or g1, r4.xyxx, r2.w
  endif
  if_nz r3.x
    ishr r3.x, r3.z, l(5)
    ishl r2.w, l(1), r3.z
    mov r3.y, l(0)
    atomic_or g1, r3.xyxx, r2.w
  endif
  mul r2.w, cb0[19].z, l(4.000000)
  mad_sat r3.x, -r2.x, l(4.000000), l(1.000000)
  mov_sat r2.x, r2.x
  mul r2.x, r2.x, r2.z
  sync_g_t
  iadd r2.y, r1.w, r2.y
  iadd r2.y, r2.y, l(1)
  ubfe r2.z, l(2), l(5), vThreadID.y
  mov r4.x, r2.y
  mov r4.y, l(0)
  loop
    ige r3.y, r4.y, l(5)
    breakc_nz r3.y
    ilt r3.y, r4.x, l(32)
    imax r3.z, r4.x, l(0)
    ishl r3.z, l(1), r3.z
    iadd r3.z, r3.z, l(-1)
    movc r3.y, r3.y, r3.z, l(-1)
    iadd r3.z, r2.z, r4.y
    ld_structured r3.z, r3.z, l(0), g1.xxxx
    and r3.y, r3.y, r3.z
    mov x3[r4.y + 0].x, r3.y
    iadd r4.xy, r4.xyxx, l(-32, 1, 0, 0)
  endloop
  mov r2.y, x3[0].x
  bfi r2.y, vThreadID.y, l(0), l(0), r2.y
  firstbit_hi r2.z, r2.y
  iadd r2.z, l(31), -r2.z
  movc r2.z, r2.y, r2.z, l(-1)
  firstbit_lo r2.y, r2.y
  ige r3.y, r2.z, l(0)
  iadd r2.z, r2.z, -r1.w
  and r2.z, r2.z, r3.y
  ige r3.y, r2.y, l(0)
  iadd r2.y, r2.y, -r1.w
  movc r2.y, r3.y, r2.y, l(36)
  imax r2.z, r2.z, l(0)
  mov r3.y, x3[1].x
  firstbit_hi r3.z, r3.y
  iadd r3.z, l(31), -r3.z
  movc r3.z, r3.y, r3.z, l(-1)
  firstbit_lo r3.y, r3.y
  iadd r4.xy, l(32, 64, 0, 0), -r1.wwww
  ige r4.w, r3.z, l(0)
  iadd r3.z, r3.z, r4.x
  and r3.z, r3.z, r4.w
  ige r4.w, r3.y, l(0)
  iadd r3.y, r3.y, r4.x
  movc r3.y, r4.w, r3.y, l(36)
  imin r2.y, r2.y, r3.y
  imax r2.z, r2.z, r3.z
  mov r3.y, x3[2].x
  firstbit_hi r3.z, r3.y
  iadd r3.z, l(31), -r3.z
  movc r3.z, r3.y, r3.z, l(-1)
  firstbit_lo r3.y, r3.y
  ige r4.x, r3.z, l(0)
  iadd r3.z, r3.z, r4.y
  and r3.z, r3.z, r4.x
  ige r4.x, r3.y, l(0)
  iadd r3.y, r3.y, r4.y
  movc r3.y, r4.x, r3.y, l(36)
  imin r2.y, r2.y, r3.y
  imax r2.z, r2.z, r3.z
  mov r3.y, x3[3].x
  firstbit_hi r3.z, r3.y
  iadd r3.z, l(31), -r3.z
  movc r3.y, r3.y, r3.z, l(-1)
  iadd r3.z, r3.y, -r1.w
  ige r3.y, r3.y, l(0)
  iadd r3.z, l(96), r3.z
  and r3.y, r3.z, r3.y
  imax r2.z, r2.z, r3.y
  mov r3.y, x3[4].x
  firstbit_hi r3.z, r3.y
  iadd r3.z, l(31), -r3.z
  movc r3.y, r3.y, r3.z, l(-1)
  iadd r1.w, r3.y, -r1.w
  ige r3.y, r3.y, l(0)
  iadd r1.w, l(128), r1.w
  and r1.w, r1.w, r3.y
  imax r1.w, r1.w, r2.z
  imin r2.z, r2.y, r1.w
  iadd r1.z, r1.z, r2.z
  iadd r1.w, r1.w, -r2.y
  imax r1.w, r1.w, l(0)
  mad r2.y, -r3.x, l(0.900000), l(1.000000)
  add r2.z, -r3.x, l(1.000000)
  iadd r3.x, r1.z, r1.w
  iadd r3.x, r3.x, l(-1)
  ld_structured r3.x, r3.x, l(12), g0.xxxx
  mov r3.yz, l(0,0,0,0)
  mov r6.w, l(0)
  mov r4.x, r3.x
  mov r4.y, r1.w
  loop
    ilt r4.w, r4.y, l(0)
    breakc_nz r4.w
    iadd r4.w, r1.z, r4.y
    ld_structured r9.xyzw, r4.w, l(0), g0.xyzw
    and r7.xzw, r9.xxyz, l(255, 0, 255, 255)
    ubfe r10.xyzw, l(8, 8, 8, 8), l(8, 16, 8, 16), r9.xxyy
    ushr r11.xyz, r9.xyzx, l(24, 24, 24, 0)
    utof r10.xyzw, r10.xyzw
    utof r7.xzw, r7.xxzw
    ubfe r9.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r9.zzzz
    utof r12.yz, r9.xxyx
    utof r11.xyw, r11.yzyx
    mov r13.x, r7.z
    mov r13.yz, r10.zzwz
    mov r13.w, r11.x
    mul r13.xyzw, r13.xyzw, r13.xyzw
    mov r12.x, r7.w
    mov r12.w, r11.y
    mul r12.xyzw, r12.xyzw, r12.xyzw
    add r4.w, r4.x, -r9.w
    mul r4.w, r7.y, |r4.w|
    mad r5.y, r9.w, r3.w, r4.z
    mul r4.w, r2.w, r4.w
    mov r11.x, r7.x
    mov r11.yz, r10.xxyx
    mad r10.xyzw, -r11.xyzw, l(0.005000, 0.005000, 0.005000, 0.005000), l(1.000000, 1.000000, 1.000000, 1.000000)
    max r10.xyzw, r10.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    mad r10.xyzw, r2.xxxx, r10.xyzw, r5.yyyy
    mad r14.xyzw, r10.xyzw, l(5.000000, 5.000000, 5.000000, 5.000000), l(-1.000000, -2.000000, -3.000000, -4.000000)
    mad r14.xyzw, -r2.zzzz, |r14.xyzw|, r2.yyyy
    max r14.xyzw, r14.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    mad_sat r10.xyzw, r10.xyzw, l(2.500000, 2.500000, 2.500000, 2.500000), l(-0.000000, -0.500000, -1.000000, -1.500000)
    mul r10.xyzw, r11.xyzw, r10.xyzw
    dp4 r5.y, r11.xyzw, r14.xyzw
    lt r7.x, l(0.000000), r5.y
    div r7.z, l(1.000000, 1.000000, 1.000000, 1.000000), r5.y
    and r7.x, r7.z, r7.x
    mul r11.xyzw, r13.xyzw, r10.xyzw
    dp4 r7.z, r11.xyzw, r14.xyzw
    mul r7.z, r7.x, r7.z
    mul r10.xyzw, r12.xyzw, r10.xyzw
    dp4 r7.w, r10.xyzw, r14.xyzw
    mul r7.x, r7.x, r7.w
    mul r7.w, r2.x, r7.x
    mul r7.w, r7.w, l(0.0000153787005)
    mul r9.xy, r5.yyyy, l(0.00392156886, 0.015625, 0.000000, 0.000000)
    min r5.y, r9.y, l(1.000000)
    mad r5.y, -r7.w, r5.y, r9.x
    mad_sat r7.w, r5.y, l(8.000000), l(-1.000000)
    mad r5.y, r5.y, l(4.000000), r7.w
    add r5.y, r5.y, l(-0.125000)
    mul r4.w, r4.w, -r5.y
    exp_sat r4.w, r4.w
    add r4.w, -r4.w, l(1.000000)
    add r5.y, -r4.w, l(1.000000)
    mul r9.xy, r3.yzyy, r5.yyyy
    add r7.w, r6.w, l(0.500000)
    add r8.w, -r6.w, l(1.250000)
    mul r7.w, r7.w, r8.w
    mul r7.w, r4.w, r7.w
    mad r3.y, r7.z, r7.w, r9.x
    mad r3.z, r7.x, r4.w, r9.y
    mad r6.w, r6.w, r5.y, r4.w
    iadd r4.y, r4.y, l(-1)
    mov r4.x, r9.w
  endloop
  ishr r1.w, r1.w, l(2)
  iadd r1.z, r1.z, r1.w
  ld_structured r1.z, r1.z, l(12), g0.xxxx
  mul r2.xyz, r1.zzzz, r8.xyzx
  mul r4.xyz, r2.xyzx, cb2[138].xxxx
  mul r1.zw, r3.zzzz, l(0.000000, 0.000000, 0.0000153787005, 0.0000307574010)
  mov r7.xy, cb1[55].xyxx
  mov r7.zw, l(0,0,0,1.000000)
  mad r3.xzw, r5.xxzw, cb2[138].xxxx, -r7.xxyz
  dp3 r2.w, r3.xzwx, r3.xzwx
  rsq r4.w, r2.w
  mul r5.xyz, r3.xzwx, r4.wwww
  dp3 r4.w, r5.xyzx, cb2[139].xyzx
  mad_sat r4.w, r4.w, l(0.500000), l(0.500000)
  add r5.x, -cb0[20].x, cb0[20].y
  mul r5.y, r6.w, r6.w
  mad r5.x, r5.y, r5.x, cb0[20].x
  mul r4.w, r4.w, -r5.x
  exp r4.w, r4.w
  exp r5.y, -r5.x
  add r5.y, r5.y, l(-1.000000)
  div r4.w, r4.w, r5.y
  mul r4.w, r4.w, -r5.x
  mul r4.w, r4.w, cb0[20].z
  mul_sat r5.x, cb2[139].z, l(-4.000000)
  mul r5.x, r5.x, l(0.500000)
  mad r4.w, r4.w, l(0.693147182), r5.x
  sqrt r2.w, r2.w
  div r5.x, r3.w, r2.w
  mul r5.y, r2.w, l(0.000010)
  mad r2.w, r2.w, l(0.000010), -cb2[44].y
  mul r5.z, r2.w, cb3[47].x
  ge r5.w, l(0.000000), r5.z
  if_nz r5.w
    mov r7.xyz, l(0,0,0,0)
    mov r8.x, l(1.000000)
  endif
  if_z r5.w
    mad r5.w, r3.w, l(0.000010), cb3[52].z
    add r5.w, r5.w, -cb3[46].z
    mul r8.y, r5.w, cb3[47].y
    mad r5.w, r5.w, cb3[47].y, -cb3[52].x
    lt r5.w, l(0.000010), |r5.w|
    add r8.z, cb3[52].x, l(0.000010)
    movc r5.w, r5.w, r8.y, r8.z
    exp r8.y, -r5.w
    add r5.w, r5.w, -cb3[52].x
    add r8.y, -r8.y, cb3[52].y
    div r5.w, |r8.y|, |r5.w|
    mul r5.z, r5.z, r5.z
    mad r2.w, r2.w, cb3[47].x, -r5.z
    mad r2.w, cb3[51].w, r2.w, r5.z
    mul r5.z, r5.w, -r2.w
    exp r5.w, r5.z
    mul r2.w, -r2.w, cb3[48].x
    exp r2.w, r2.w
    add r8.y, -r5.w, l(1.000000)
    min r8.z, |r3.z|, |r3.x|
    max r8.w, |r3.z|, |r3.x|
    div r8.w, l(1.000000, 1.000000, 1.000000, 1.000000), r8.w
    mul r8.z, r8.w, r8.z
    mul r8.w, r8.z, r8.z
    mad r9.x, r8.w, l(0.0208350997), l(-0.085133)
    mad r9.x, r8.w, r9.x, l(0.180141)
    mad r9.x, r8.w, r9.x, l(-0.330299497)
    mad r8.w, r8.w, r9.x, l(0.999866)
    mul r9.x, r8.w, r8.z
    lt r9.y, |r3.z|, |r3.x|
    mad r9.x, r9.x, l(-2.000000), l(1.57079637)
    and r9.x, r9.y, r9.x
    mad r8.z, r8.z, r8.w, r9.x
    lt r8.w, -r3.z, r3.z
    and r8.w, r8.w, l(0xc0490fdb)
    add r8.z, r8.w, r8.z
    min r8.w, -r3.z, r3.x
    max r9.x, -r3.z, r3.x
    lt r8.w, r8.w, -r8.w
    ge r9.x, r9.x, -r9.x
    and r8.w, r8.w, r9.x
    movc r8.z, r8.w, -r8.z, r8.z
    mad r9.x, r8.z, l(-0.159154937), l(0.500000)
    add r8.z, -|r5.x|, l(1.000000)
    sqrt r8.z, r8.z
    mad r8.w, |r5.x|, l(-0.0187292993), l(0.074261)
    mad r8.w, r8.w, |r5.x|, l(-0.212114394)
    mad r8.w, r8.w, |r5.x|, l(1.57072878)
    mul r9.z, r8.z, r8.w
    mad r9.z, r9.z, l(-2.000000), l(3.14159274)
    lt r5.x, -r5.x, r5.x
    and r5.x, r5.x, r9.z
    mad r5.x, r8.w, r8.z, r5.x
    add r5.x, -r5.x, l(1.57079637)
    mad r9.y, r5.x, l(0.318309873), l(0.500000)
    mul r5.x, r5.y, -cb3[52].w
    exp r5.x, r5.x
    mad r5.x, r5.x, cb3[59].y, cb3[59].x
    sample_l_indexable(texture2d)(float,float,float,float) r9.xyz, r9.xyxx, t0.xyzw, s3, r5.x
    mul r9.xyz, r9.xyzx, cb2[43].wwww
    add r5.x, -r2.w, l(1.000000)
    mul r5.x, r5.w, r5.x
    mov r10.x, cb3[31].w
    mov r10.y, cb3[32].w
    mov r10.z, cb3[33].w
    mul r10.xyz, r5.xxxx, r10.xyzx
    mad r8.yzw, r9.xxyz, r8.yyyy, r10.xxyz
    mul r8.x, r2.w, r5.w
    mul r5.xyz, r5.zzzz, cb3[51].xyzx
    exp r5.xyz, r5.xyzx
    mul r7.xyz, r5.xyzx, r8.yzwy
  endif
  dp3 r2.w, r4.xyzx, r4.xyzx
  sqrt r2.w, r2.w
  div r2.w, r4.z, r2.w
  min r4.z, |r4.y|, |r4.x|
  max r5.x, |r4.y|, |r4.x|
  div r5.x, l(1.000000, 1.000000, 1.000000, 1.000000), r5.x
  mul r4.z, r4.z, r5.x
  mul r5.x, r4.z, r4.z
  mad r5.y, r5.x, l(0.0208350997), l(-0.085133)
  mad r5.y, r5.x, r5.y, l(0.180141)
  mad r5.y, r5.x, r5.y, l(-0.330299497)
  mad r5.x, r5.x, r5.y, l(0.999866)
  mul r5.y, r4.z, r5.x
  lt r5.z, |r4.y|, |r4.x|
  mad r5.y, r5.y, l(-2.000000), l(1.57079637)
  and r5.y, r5.z, r5.y
  mad r4.z, r4.z, r5.x, r5.y
  lt r5.x, -r4.y, r4.y
  and r5.x, r5.x, l(0xc0490fdb)
  add r4.z, r4.z, r5.x
  min r5.x, -r4.y, r4.x
  max r4.x, -r4.y, r4.x
  lt r4.y, r5.x, -r5.x
  ge r4.x, r4.x, -r4.x
  and r4.x, r4.x, r4.y
  movc r4.x, r4.x, -r4.z, r4.z
  mad r4.x, r4.x, l(-0.159154937), l(0.500000)
  add r4.z, -|r2.w|, l(1.000000)
  sqrt r4.z, r4.z
  mad r5.x, |r2.w|, l(-0.0187292993), l(0.074261)
  mad r5.x, r5.x, |r2.w|, l(-0.212114394)
  mad r5.x, r5.x, |r2.w|, l(1.57072878)
  mul r5.y, r4.z, r5.x
  mad r5.y, r5.y, l(-2.000000), l(3.14159274)
  lt r2.w, -r2.w, r2.w
  and r2.w, r2.w, r5.y
  mad r2.w, r5.x, r4.z, r2.w
  add r2.w, -r2.w, l(1.57079637)
  mad r2.w, r2.w, l(0.318309873), l(0.500000)
  add_sat r4.y, r2.w, r2.w
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyxx, t1.xyzw, s3, l(0.000000)
  div r1.z, r1.z, r6.w
  add_sat r1.z, r1.z, l(0.250000)
  add r1.z, r1.z, l(-1.000000)
  mad r1.z, r6.w, r1.z, l(1.000000)
  add r2.w, -r8.x, l(1.000000)
  mul r2.w, r2.w, r2.w
  mul r2.w, r2.w, r2.w
  mul r1.z, r1.z, r2.w
  add r5.xyz, -r7.xyzx, r4.xyzx
  mad r5.xyz, r1.zzzz, r5.xyzx, r7.xyzx
  dp3 r1.z, cb2[140].xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
  add r8.yzw, r1.zzzz, cb2[140].xxyz
  mad r4.xyz, r8.yzwy, l(0.00390625000, 0.00390625000, 0.00390625000, 0.000000), r4.xyzx
  mov r9.x, cb3[31].w
  mov r9.y, cb3[32].w
  mov r9.z, cb3[33].w
  add r4.xyz, r4.xyzx, r9.xyzx
  mul r1.z, r3.y, r4.w
  mul r1.z, r1.z, l(0.0000307574010)
  mul r4.xyz, r1.wwww, r4.xyzx
  mad r4.xyz, r1.zzzz, cb2[140].xyzx, r4.xyzx
  mul r5.xyz, r6.wwww, r5.xyzx
  mad r6.xyz, r4.xyzx, r8.xxxx, r5.xyzx
  mul r1.z, r2.w, r2.w
  mul r1.z, r1.z, r1.z
  add r4.xyzw, -r6.xyzw, r7.xyzw
  mad r4.xyzw, r1.zzzz, r4.xyzw, r6.xyzw
  mul r3.xyz, r3.xzwx, cb0[19].wwww
  dp3 r1.z, r3.xyzx, r3.xyzx
  sqrt r1.z, r1.z
  mad r1.z, r1.z, cb3[59].w, l(1.000000)
  div r1.z, cb3[59].z, r1.z
  add r1.z, r1.z, -cb3[59].z
  add_sat r1.z, r1.z, l(1.000000)
  mul r4.xyz, r1.zzzz, r4.xyzx
  add r3.xyz, -cb1[53].xyzx, cb1[97].xyzx
  mad r2.xyz, r2.xyzx, cb2[138].xxxx, -r3.xyzx
  itof r1.z, cb0[20].w
  min r1.w, |r2.y|, |r2.x|
  max r2.w, |r2.y|, |r2.x|
  div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.w
  mul r1.w, r1.w, r2.w
  mul r2.w, r1.w, r1.w
  mad r3.x, r2.w, l(0.0208350997), l(-0.085133)
  mad r3.x, r2.w, r3.x, l(0.180141)
  mad r3.x, r2.w, r3.x, l(-0.330299497)
  mad r2.w, r2.w, r3.x, l(0.999866)
  mul r3.x, r1.w, r2.w
  lt r3.y, |r2.y|, |r2.x|
  mad r3.x, r3.x, l(-2.000000), l(1.57079637)
  and r3.x, r3.y, r3.x
  mad r1.w, r1.w, r2.w, r3.x
  lt r3.xy, -r2.yzyy, r2.yzyy
  and r3.xy, r3.xyxx, l(0xc0490fdb, 0xc0490fdb, 0, 0)
  add r1.w, r1.w, r3.x
  min r2.w, -r2.y, r2.x
  max r3.x, -r2.y, r2.x
  lt r2.w, r2.w, -r2.w
  ge r3.x, r3.x, -r3.x
  and r2.w, r2.w, r3.x
  movc r1.w, r2.w, -r1.w, r1.w
  mad r1.w, r1.w, l(-0.159154937), l(0.500000)
  dp2 r2.x, r2.xyxx, r2.xyxx
  sqrt r2.x, r2.x
  min r2.y, |r2.z|, r2.x
  max r2.w, |r2.z|, r2.x
  div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.w
  mul r2.y, r2.w, r2.y
  mul r2.w, r2.y, r2.y
  mad r3.x, r2.w, l(0.0208350997), l(-0.085133)
  mad r3.x, r2.w, r3.x, l(0.180141)
  mad r3.x, r2.w, r3.x, l(-0.330299497)
  mad r2.w, r2.w, r3.x, l(0.999866)
  mul r3.x, r2.w, r2.y
  lt r3.z, |r2.z|, r2.x
  mad r3.x, r3.x, l(-2.000000), l(1.57079637)
  and r3.x, r3.z, r3.x
  mad r2.y, r2.y, r2.w, r3.x
  add r2.y, r3.y, r2.y
  min r2.w, -r2.z, r2.x
  max r2.x, -r2.z, r2.x
  lt r2.z, r2.w, -r2.w
  ge r2.x, r2.x, -r2.x
  and r2.x, r2.x, r2.z
  movc r2.x, r2.x, -r2.y, r2.y
  mad r2.x, r2.x, l(-0.636619747), l(2.000000)
  mad r2.x, -r2.x, cb0[0].z, l(1.000000)
  log r2.x, r2.x
  mul r2.x, r2.x, cb0[0].w
  mov_sat r2.y, r2.x
  mul r2.y, r2.y, cb0[17].x
  add r2.z, cb0[17].x, l(-1.000000)
  min r2.z, r2.y, r2.z
  ftoi r2.z, r2.z
  frc r2.y, r2.y
  max r2.w, r2.y, l(0.00390625000)
  min r2.w, r2.w, l(0.996093750)
  add r2.y, -r2.y, r2.w
  mad r2.y, r2.y, l(0.250000), r2.x
  add r1.w, r1.w, cb0[r2.z + 1].x
  frc r1.w, r1.w
  mul r2.x, r1.w, cb0[r2.z + 1].y
  mul r1.w, r1.z, cb0[r2.z + 1].w
  lt r1.w, r1.w, r2.x
  mad r1.z, -r1.z, cb0[r2.z + 1].w, cb0[r2.z + 1].z
  lt r1.z, r2.x, r1.z
  and r1.z, r1.z, r1.w
  ine r1.w, cb0[21].z, l(0)
  and r1.z, r1.w, r1.z
else
  mov r4.xyzw, l(0,0,0,0x7fc00000)
  mov r2.xy, l(0,0,0,0)
  mov r1.z, l(0)
endif
bfi r1.y, l(2), l(2), r1.y, l(0)
bfi r1.x, l(2), l(0), r1.x, r1.y
uge r1.y, r1.x, l(8)
movc r1.y, r1.y, l(-1561935455715328.000000), l(183712671068922260000000000000000000000.000000)
bfi r1.x, l(3), l(2), r1.x, l(0)
ushr r1.x, r1.y, r1.x
and r1.x, r1.x, l(15)
and r1.y, cb3[12].y, l(15)
xor r1.y, r1.y, l(10)
imad r1.x, r1.y, l(3), r1.x
and r1.x, r1.x, l(15)
utof r1.x, r1.x
add r1.x, r1.x, l(0.500000)
mul r1.x, r1.x, l(0.062500)
mov r3.y, l(0)
mov r5.yzw, l(0,0,0,0)
mov r1.y, r1.x
mov r1.w, l(0)
loop
  ige r2.z, r1.w, cb0[20].w
  breakc_nz r2.z
  iadd r2.z, r1.w, -cb0[21].x
  itof r2.z, r2.z
  add r2.w, r1.y, l(-0.500000)
  mad r2.z, r2.w, l(0.500000), r2.z
  mul r3.x, r2.z, cb0[21].y
  add r2.zw, r2.xxxy, r3.xxxy
  sample_l_indexable(texture2d)(float,float,float,float) r6.xyzw, r2.zwzz, t7.xyzw, s1, l(0.000000)
  and r7.xyzw, r6.xyzw, l(0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000)
  ine r7.xyzw, l(0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000), r7.xyzw
  and r2.zw, r7.zzzw, r7.xxxy
  and r2.z, r2.w, r2.z
  and r2.z, r1.z, r2.z
  ine r2.w, r1.w, cb0[21].x
  movc r2.w, r2.w, l(0), l(0.250000)
  mov r5.x, r1.w
  iadd r7.xyzw, r0.xyzw, r5.xyzw
  add r8.xyzw, r4.xyzw, -r6.xyzw
  mad r6.xyzw, r2.wwww, r8.xyzw, r6.xyzw
  movc r6.xyzw, r2.zzzz, r6.xyzw, r4.xyzw
  store_uav_typed u0.xyzw, r7.xyzw, r6.xyzw
  mul r2.z, r1.y, l(234.199997)
  frc r1.y, r2.z
  iadd r1.w, r1.w, l(1)
endloop
ret
// Approximately 0 instruction slots used
