// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.89 on Wed Dec 21 12:57:46 2022
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 1   xyzw        1     NONE   float   xyzw
// TEXCOORD                 2   xyz         2     NONE   float   xyz
// TEXCOORD                 3   xyz         3     NONE   float   xyz
// TEXCOORD                 4   xyzw        4     NONE   float
// TEXCOORD                 5   xyzw        5     NONE   float
// SV_Position              0   xyzw        6      POS   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB1[37], immediateIndexed
dcl_constantbuffer CB2[17], immediateIndexed
dcl_constantbuffer CB3[25], immediateIndexed
dcl_constantbuffer CB12[273], immediateIndexed
dcl_constantbuffer CB4[24], immediateIndexed
dcl_constantbuffer CB13[2362], dynamicIndexed
dcl_sampler s0, mode_default
dcl_sampler s10, mode_default
dcl_sampler s11, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texturecube (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2darray (float,float,float,float) t9
dcl_resource_texturecubearray (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t17
dcl_resource_raw t20
dcl_resource_texture2d (float,float,float,float) t22
dcl_resource_texture2d (float,float,float,float) t23
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xyz
dcl_input_ps linear v3.xyz
dcl_input_ps_siv linear noperspective v6.xy, position
dcl_output o0.xyzw
dcl_temps 29
dcl_resource_buffer (float,float,float,float) t125
lt r0.x, l(0.000000), v0.x
add r0.yz, v0.xxxx, l(0.000000, -1.000000, 1.000000, 0.000000)
movc r0.x, r0.x, r0.y, r0.z
ge r0.z, r0.x, l(0.000000)
movc r0.z, r0.z, l(0), l(1.000000)
dp3 r0.w, v3.xyzx, v3.xyzx
rsq r0.w, r0.w
mul r1.xyz, r0.wwww, v3.xyzx
mov r0.y, v0.y
mul r2.xy, r0.xyxx, cb4[2].xxxx
sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t0.xyzw, s0
add r2.xy, r2.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
add r2.xy, r2.xyxx, r2.xyxx
add r3.xy, r0.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
add r0.w, -cb4[3].x, cb4[4].x
add r1.w, cb4[3].x, cb4[4].x
dp2 r2.z, r3.xyxx, r3.xyxx
sqrt r2.z, r2.z
add r2.w, -r0.w, r2.z
add r0.w, -r0.w, r1.w
div r0.w, r2.w, r0.w
add_sat r0.w, -r0.w, l(1.000000)
add r1.w, -r0.w, l(1.000000)
mul r3.z, cb4[7].x, cb4[8].x
dp3 r2.w, r3.xyzx, r3.xyzx
rsq r2.w, r2.w
mul r4.xyz, r2.wwww, r3.xyzx
mul r2.w, r4.z, cb4[8].x
lt r2.w, r3.z, r2.w
mad r3.xyw, cb4[8].xxxx, r4.xyxz, -r3.xyxz
dp3 r4.x, r3.xywx, r3.xywx
rsq r4.x, r4.x
mul r3.xyw, r3.xyxw, r4.xxxx
movc r3.xyw, r2.wwww, r3.xyxw, l(0,0,0,1.000000)
mul r2.w, r3.z, r3.z
mad r2.w, cb4[8].x, cb4[8].x, -r2.w
sqrt r2.w, r2.w
mul r2.z, r2.z, cb4[6].x
div r2.z, r2.z, r2.w
add_sat r2.z, -r2.z, l(1.000000)
log r2.z, r2.z
mul r2.z, r2.z, cb4[5].x
exp r2.z, r2.z
mul r3.xy, r3.xyxx, r2.zzzz
dp3 r2.z, r3.xywx, r3.xywx
rsq r2.z, r2.z
mul r4.xy, r1.wwww, r2.xyxx
mov r4.z, l(0)
mad r2.xyz, r3.xywx, r2.zzzz, r4.xyzx
dp3 r1.w, r2.xyzx, r2.xyzx
rsq r1.w, r1.w
mul r2.xyz, r1.wwww, r2.xyzx
mov r3.xy, v0.zwzz
mov r3.z, v1.w
dp3 r1.w, r3.xyzx, r3.xyzx
rsq r1.w, r1.w
mul r3.xyw, r1.wwww, r3.xyxz
dp3 r2.w, v1.xyzx, v1.xyzx
rsq r2.w, r2.w
mul r4.xyz, r2.wwww, v1.xyzx
mul r5.xyz, r2.yyyy, r4.xyzx
mad r2.xyw, r2.xxxx, r1.xyxz, r5.xyxz
mad r2.xyz, r2.zzzz, r3.xywx, r2.xywx
dp3 r2.w, r2.xyzx, r2.xyzx
rsq r2.w, r2.w
mul r2.xyz, r2.wwww, r2.xyzx
add r5.xyz, -v2.xyzx, cb1[36].xyzx
ld_indexable(buffer)(float,float,float,float) r26.xyzw, l(0, 0, 0, 0), t125.xyzw
mul r27.xyz, r26.yyyy, cb12[207].xyzx
mad r5.xyz, r26.xxxx, r27.xyzx, r5.xyzx
dp3 r2.w, r5.xyzx, r5.xyzx
rsq r4.w, r2.w
mul r5.xyz, r4.wwww, r5.xyzx
sqrt r2.w, r2.w
mad r6.xyz, -r3.xyyx, cb4[9].xxxx, v2.xyyx
mad r7.xyz, r5.xyzx, r2.wwww, v2.xyzx
add r6.xyz, -r6.xyzx, r7.xyyx
dp2 r2.w, r6.xzxx, r6.xzxx
rsq r8.w, r2.w
mul r8.xyz, r6.xyzx, r8.wwww
mul r6.yzw, r8.xxxz, l(0.000000, 0.000000, 0.000000, 1.000000)
mov r6.x, l(0)
mad r6.xyzw, -r8.xyzw, l(1.000000, 0.000000, 0.000000, 0.000000), r6.xyzw
mul r8.xy, r6.zwzz, l(0.000000, 1.000000, 0.000000, 0.000000)
mad r6.yz, r6.xxyx, l(0.000000, 1.000000, 0.000000, 0.000000), -r8.xxyx
add r7.xyz, -r7.xyzx, v2.xyzx
dp3 r2.w, r7.xyzx, r7.xyzx
rsq r2.w, r2.w
mul r7.xyz, r2.wwww, r7.xyzx
dp3 r2.w, r7.xyzx, r2.xyzx
add r2.w, r2.w, r2.w
mad r7.xyz, r2.xyzx, -r2.wwww, r7.xyzx
dp2 r8.x, r6.wxww, r7.xyxx
dp2 r8.y, -r6.yzyy, r7.xyxx
mov r8.z, r7.z
sample_indexable(texturecube)(float,float,float,float) r6.xyz, r8.xyzx, t1.xyzw, s0
add r2.w, -cb4[0].x, cb4[1].x
mad r2.w, r0.z, r2.w, cb4[0].x
log r6.xyz, r6.xyzx
mul r6.xyz, r6.xyzx, l(2.200000, 2.200000, 2.200000, 0.000000)
exp r6.xyz, r6.xyzx
mul r6.xyz, r2.wwww, r6.xyzx
ge r2.w, l(0.000000), v0.x
movc r4.w, r2.w, -cb4[15].x, -cb4[14].x
mul r4.w, r4.w, l(0.0174532942)
sincos r7.x, r8.x, r4.w
movc r9.xyz, r2.wwww, cb3[11].xyzx, cb3[8].xyzx
movc r10.xyz, r2.wwww, cb3[12].xzyx, cb3[9].xzyx
mov r7.y, r8.x
mov r9.w, r10.x
dp2 r8.x, r7.xyxx, r9.xwxx
mov r10.xw, r9.zzzy
dp2 r8.y, r7.yxyy, r10.zwzz
dp2 r8.z, r7.xyxx, r10.xyxx
dp3 r2.w, r1.xyzx, r8.xyzx
mad r7.xyz, -r8.xyzx, r2.wwww, r1.xyzx
dp3 r2.w, r7.xyzx, r7.xyzx
rsq r2.w, r2.w
mul r7.xyz, r2.wwww, r7.xyzx
mul r9.xyz, r8.yzxy, r7.zxyz
mad r9.xyz, r7.yzxy, r8.zxyz, -r9.xyzx
mad r10.xyz, -r3.xywx, cb4[9].xxxx, v2.xyzx
add r10.xyz, -r10.xyzx, v2.xyzx
dp3 r11.x, r7.xyzx, r10.xyzx
dp3 r2.w, r8.xyzx, r10.xyzx
dp3 r11.y, r9.xyzx, r10.xyzx
dp3 r10.x, r7.xyzx, -r5.xyzx
dp3 r10.y, r8.xyzx, -r5.xyzx
dp3 r10.z, r9.xyzx, -r5.xyzx
dp3 r5.x, r7.xyzx, r3.xywx
dp3 r5.y, r8.xyzx, r3.xywx
dp3 r5.z, r9.xyzx, r3.xywx
dp3 r4.w, r10.xyzx, r5.xyzx
mul r5.w, cb4[11].x, cb4[11].x
mad r6.w, -r4.w, r4.w, l(1.000000)
mad r5.w, -r5.w, r6.w, l(1.000000)
sqrt r6.w, r5.w
mad r4.w, cb4[11].x, r4.w, r6.w
ge r5.w, r5.w, l(0.000000)
mul r5.xyz, r5.xyzx, r4.wwww
mad r5.xyz, cb4[11].xxxx, r10.xyzx, -r5.xyzx
and r5.xyz, r5.xyzx, r5.wwww
add r2.w, r2.w, -cb4[16].x
max r2.w, r2.w, l(0.000000)
mul r5.xz, r2.wwww, r5.xxzx
rcp r2.w, |r5.y|
max r2.w, r2.w, l(-340282346638528859811704183484516925440.000000)
min r2.w, r2.w, l(340282346638528859811704183484516925440.000000)
mul r5.xy, r2.wwww, r5.xzxx
mad r5.xy, cb4[12].xxxx, r5.xyxx, r11.xyxx
mul r5.xy, r5.xyxx, cb4[17].xxxx
add r2.w, cb4[9].x, cb4[9].x
div r5.xy, r5.xyxx, r2.wwww
add r5.xy, r5.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
add r5.xy, -r0.xyxx, r5.xyxx
mad r0.xy, r0.wwww, r5.xyxx, r0.xyxx
sample_indexable(texture2d)(float,float,float,float) r5.xyz, r0.xyxx, t2.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r0.xyw, r0.xyxx, t3.xywz, s0
add r0.xyw, r0.xyxw, l(-0.500000, -0.500000, 0.000000, -0.500000)
add r0.xyw, r0.xyxw, r0.xyxw
mul r4.xyz, r4.xyzx, r0.yyyy
mad r1.xyz, r0.xxxx, r1.xyzx, r4.xyzx
mad r0.xyw, r0.wwww, r3.xyxw, r1.xyxz
dp3 r1.x, r0.xywx, r0.xywx
rsq r1.x, r1.x
mul r0.xyw, r0.xyxw, r1.xxxx
add r1.x, -cb4[18].x, cb4[19].x
mad_sat r0.z, r0.z, r1.x, cb4[18].x
max r1.xyz, r6.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mov_sat r5.xyz, r5.xyzx
log r4.xyz, r5.xyzx
mul r4.xyz, r4.xyzx, l(2.200000, 2.200000, 2.200000, 0.000000)
exp r4.xyz, r4.xyzx
log r0.z, r0.z
mul r0.z, r0.z, l(2.200000)
exp r0.z, r0.z
mov_sat r2.w, cb4[20].x
ftou r5.xy, v6.xyxx
ushr r6.xy, r5.xyxx, l(4, 4, 0, 0)
ftoi r4.w, cb12[24].x
imad r4.w, r6.y, r4.w, r6.x
ishl r4.w, r4.w, l(8)
add r6.xyz, -v2.xyzx, cb12[0].xyzx
mad r6.xyz, r26.xxxx, r27.xyzx, r6.xyzx
dp3 r6.w, r6.xyzx, r6.xyzx
rsq r6.w, r6.w
mul r7.xyz, r6.wwww, r6.xyzx
mov r5.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r8.xyz, r5.xyzw, t17.yzwx
lt r5.z, l(0.000000), r8.x
if_nz r5.z
  dp3 r5.z, r0.xywx, cb13[0].xyzx
  add r5.z, r5.z, cb4[21].x
  add r5.w, l(1.000000), cb4[21].x
  div r5.z, r5.z, r5.w
  div r5.w, l(1.000000, 1.000000, 1.000000, 1.000000), r5.w
  mov_sat r9.xyz, r5.zzzz
  mad r10.xyz, r6.xyzx, r6.wwww, cb13[0].xyzx
  dp3 r5.z, r10.xyzx, r10.xyzx
  rsq r5.z, r5.z
  mul r10.xyz, r5.zzzz, r10.xyzx
  dp3 r5.z, r10.xyzx, r7.xyzx
  add r5.z, -|r5.z|, l(1.000000)
  max r5.z, r5.z, l(0.000000)
  mul r7.w, r5.z, r5.z
  mul r7.w, r7.w, r7.w
  mul r5.z, r5.z, r7.w
  add r7.w, -r2.w, l(1.000000)
  add r8.w, -r0.z, l(1.000000)
  mul r8.w, r8.w, cb13[56].x
  mul r5.z, r5.z, r8.w
  add r8.w, cb13[56].z, l(1.000000)
  mad r7.w, -cb13[56].z, r7.w, r8.w
  div r5.z, r5.z, r7.w
  add r5.z, r0.z, r5.z
  add r7.w, -r5.z, l(1.000000)
  mul r7.w, r7.w, r9.z
  mul r5.w, r5.w, r7.w
  mul r5.w, r8.x, r5.w
  add r11.xy, v2.xyxx, -cb12[0].xyxx
  dp2 r7.w, r11.xyxx, r11.xyxx
  sqrt r7.w, r7.w
  mad_sat r8.w, v2.z, cb12[219].z, cb12[219].w
  add r11.xyz, cb13[51].xyzx, -cb13[52].xyzx
  mad r11.xyz, r8.wwww, r11.xyzx, cb13[52].xyzx
  mad_sat r7.w, r7.w, cb12[219].x, cb12[219].y
  add r11.xyz, r11.xyzx, -cb13[1].xyzx
  mad r11.xyz, r7.wwww, r11.xyzx, cb13[1].xyzx
  mul r5.w, r5.w, l(0.318309873)
  mul r12.xyz, r11.xyzx, r5.wwww
  dp3 r5.w, cb13[0].xyzx, r2.xyzx
  lt r7.w, l(0.000000), r5.w
  if_nz r7.w
    dp3_sat r7.w, r2.xyzx, r10.xyzx
    dp3 r8.w, r2.xyzx, r7.xyzx
    mov_sat r5.w, r5.w
    mul r9.w, r2.w, r2.w
    mul r10.x, r9.w, r9.w
    mul r7.w, r7.w, r7.w
    mad r9.w, r9.w, r9.w, l(-1.000000)
    mad r7.w, r7.w, r9.w, l(1.000000)
    mul r7.w, r7.w, r7.w
    mul r7.w, r7.w, l(3.141520)
    div r7.w, r10.x, r7.w
    add r9.w, r2.w, l(1.000000)
    mul r9.w, r9.w, r9.w
    mul r10.x, r9.w, l(0.125000)
    mad r9.w, -r9.w, l(0.125000), l(1.000000)
    mad r10.y, r5.w, r9.w, r10.x
    div r10.y, r5.w, r10.y
    mad r9.w, |r8.w|, r9.w, r10.x
    div r9.w, |r8.w|, r9.w
    mul r9.w, r9.w, r10.y
    mul r7.w, r7.w, r9.w
    mul r5.z, r5.z, r7.w
    mul r7.w, |r8.w|, r5.w
    mad r7.w, r7.w, l(4.000000), l(0.000100)
    div r5.z, r5.z, r7.w
    mul r10.xyz, r5.wwww, r5.zzzz
  else
    mov r10.xyz, l(0,0,0,0)
  endif
  mul r10.xyz, r8.xxxx, r10.xyzx
  mul r10.xyz, r11.xyzx, r10.xyzx
else
  mov r9.xyz, l(0,0,0,0)
  mov r12.xyz, l(0,0,0,0)
  mov r10.xyz, l(0,0,0,0)
endif
min r9.xyz, r8.xxxx, r9.xyzx
eq r5.z, r8.y, l(1.000000)
ne r5.w, cb3[24].y, l(0.000000)
mad r11.x, cb3[21].z, cb4[23].x, cb3[21].y
mad r11.y, cb3[22].z, cb4[23].x, cb3[22].y
mad r11.z, cb3[23].z, cb4[23].x, cb3[23].y
add r13.xyz, -r11.xyzx, v2.xyzx
dp3 r7.w, r13.xyzx, r13.xyzx
rsq r7.w, r7.w
mul r13.xyz, r7.wwww, r13.xyzx
add r7.w, l(-0.200000), cb4[22].x
lt r8.x, cb2[16].x, l(0.000000)
movc r8.x, r8.x, l(1.000000), cb12[71].x
add r8.w, l(1.000000), cb4[21].x
div r9.w, l(1.000000, 1.000000, 1.000000, 1.000000), r8.w
add r10.w, -r2.w, l(1.000000)
add r11.w, -r0.z, l(1.000000)
mul r12.w, r11.w, cb13[56].x
add r14.xy, cb13[56].zwzz, l(1.000000, 1.000000, 0.000000, 0.000000)
mad r14.xy, -cb13[56].zwzz, r10.wwww, r14.xyxx
dp3 r10.w, r2.xyzx, r7.xyzx
mul r13.w, r2.w, r2.w
mul r14.z, r13.w, r13.w
mad r14.w, r13.w, r13.w, l(-1.000000)
add r2.w, r2.w, l(1.000000)
mul r2.w, r2.w, r2.w
mul r15.x, r2.w, l(0.125000)
mad r2.w, -r2.w, l(0.125000), l(1.000000)
mad r15.y, |r10.w|, r2.w, r15.x
div r15.y, |r10.w|, r15.y
mul r10.w, |r10.w|, l(4.000000)
and r15.z, r5.z, l(0x3f800000)
movc r5.z, r5.z, l(0), l(1.000000)
mov r16.xyz, r12.xyzx
mov r17.xyz, r10.xyzx
mov r15.w, l(0)
loop
  ige r16.w, r15.w, l(256)
  breakc_nz r16.w
  iadd r16.w, r4.w, r15.w
  ishl r16.w, r16.w, l(2)
  ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r16.w, r16.w, t20.xxxx
  uge r17.w, r16.w, l(256)
  if_nz r17.w
    break
  endif
  imul null, r16.w, r16.w, l(9)
  add r18.xyz, -v2.xyzx, cb13[r16.w + 58].xyzx
  dp3 r17.w, r18.xyzx, r18.xyzx
  sqrt r19.x, r17.w
  div r19.y, r19.x, cb13[r16.w + 58].w
  mul r19.z, r19.y, r19.y
  mad r19.z, -r19.z, r19.z, l(1.000000)
  max r19.z, r19.z, l(0.000000)
  mul r19.z, r19.z, r19.z
  and r20.xyz, l(1, 2048, 4096, 0), cb13[r16.w + 61].wwww
  lt r19.w, l(0.000000), cb13[r16.w + 63].z
  lt r20.w, l(0.000000), cb13[r16.w + 64].x
  mad r21.x, r17.w, cb13[r16.w + 63].x, l(1.000000)
  div r19.z, r19.z, r21.x
  if_nz r20.x
    rsq r21.x, r17.w
    mul r21.xyz, r18.xyzx, r21.xxxx
    dp3 r21.x, -r21.xyzx, cb13[r16.w + 60].xyzx
    mad_sat r21.x, r21.x, cb13[r16.w + 62].y, cb13[r16.w + 62].z
    log r21.x, r21.x
    mul r21.x, r21.x, cb13[r16.w + 62].w
    exp r21.x, r21.x
    mul r19.z, r19.z, r21.x
  endif
  lt r21.x, l(0.000000), r19.z
  and r19.w, r19.w, r21.x
  if_nz r19.w
    if_nz r20.x
      add r21.yzw, v2.xxyz, -cb13[r16.w + 58].xxyz
      mul r22.xyz, cb13[r16.w + 60].zxyz, cb13[r16.w + 65].zwyz
      mad r22.xyz, cb13[r16.w + 60].yzxy, cb13[r16.w + 65].wyzw, -r22.xyzx
      dp3 r22.x, r22.xyzx, r21.yzwy
      dp3 r22.y, cb13[r16.w + 65].yzwy, r21.yzwy
      dp3 r22.z, cb13[r16.w + 60].xyzx, r21.yzwy
      mov r22.w, cb13[r16.w + 65].x
    else
      add r23.xyz, v2.xzyx, -cb13[r16.w + 58].xzyx
      div r21.yzw, r18.xxyz, r19.xxxx
      max r19.x, |r21.w|, |r21.z|
      lt r19.x, r19.x, |r21.y|
      if_nz r19.x
        lt r19.x, l(0.000000), r21.y
        mul r24.xyz, r23.zyxz, l(1.000000, 1.000000, -1.000000, 0.000000)
        mov r24.w, cb13[r16.w + 65].x
        mul r25.xyz, r23.zyxz, l(-1.000000, 1.000000, 1.000000, 0.000000)
        mov r25.w, cb13[r16.w + 65].y
        movc r22.xyzw, r19.xxxx, r24.xyzw, r25.xyzw
      else
        max r19.x, |r21.w|, |r21.y|
        lt r19.x, r19.x, |r21.z|
        if_nz r19.x
          lt r19.x, l(0.000000), r21.z
          mul r24.xyz, r23.xyzx, l(-1.000000, 1.000000, -1.000000, 0.000000)
          mov r24.w, cb13[r16.w + 65].z
          mov r23.w, cb13[r16.w + 65].w
          movc r22.xyzw, r19.xxxx, r24.xyzw, r23.xyzw
        else
          lt r19.x, l(0.000000), r21.w
          mov r22.x, r23.x
          movc r22.y, r19.x, r23.z, -r23.z
          movc r22.z, r19.x, -r23.y, r23.y
          movc r22.w, r19.x, cb13[r16.w + 66].x, cb13[r16.w + 66].y
        endif
      endif
    endif
    mul r19.xw, r22.xxxy, cb13[r16.w + 63].yyyy
    div r19.xw, r19.xxxw, r22.zzzz
    mad r19.xw, r19.xxxw, l(0.500000, 0.000000, 0.000000, -0.500000), l(0.500000, 0.000000, 0.000000, 0.500000)
    bfi r20.x, l(10), l(2), r22.w, l(0)
    utof r22.x, r20.x
    ushr r21.yzw, r22.wwww, l(0, 10, 20, 30)
    bfi r21.yz, l(0, 10, 10, 0), l(0, 2, 2, 0), r21.yyzy, l(0, 0, 0, 0)
    utof r22.yz, r21.yyzy
    utof r23.z, r21.w
    lt r20.x, l(0.000000), r22.z
    if_nz r20.x
      mad r19.xw, r19.xxxw, r22.zzzz, r22.xxxy
      mul r23.xy, r19.xwxx, cb13[57].xxxx
      sample_l_indexable(texture2darray)(float,float,float,float) r19.x, r23.xyzx, t9.xyzw, s10, l(0.000000)
      mad r19.x, -r19.y, l(0.990000), r19.x
      mul r19.x, r19.x, l(144.269501)
      exp r19.x, r19.x
      min r19.x, r19.x, l(1.000000)
    else
      mov r19.x, l(1.000000)
    endif
  else
    mov r19.x, l(1.000000)
  endif
  and r19.w, r20.w, r21.x
  if_nz r19.w
    mov r18.w, cb13[r16.w + 64].y
    sample_l_indexable(texturecubearray)(float,float,float,float) r18.w, r18.xyzw, t10.yzwx, s10, l(0.000000)
    mad r18.w, -r19.y, l(0.990000), r18.w
    mul r18.w, r18.w, l(144.269501)
    exp r18.w, r18.w
    min r18.w, r18.w, l(1.000000)
    mul r19.x, r18.w, r19.x
  endif
  add r18.w, r19.x, l(-1.000000)
  mad r18.w, cb13[r16.w + 60].w, r18.w, l(1.000000)
  mul r18.w, r18.w, r19.z
  movc r19.x, r20.y, l(1.000000), r15.z
  movc r19.y, r20.z, l(1.000000), r5.z
  mul r19.x, r19.y, r19.x
  mul r18.w, r18.w, r19.x
  if_nz r5.w
    add r19.xyz, -r11.xyzx, cb13[r16.w + 58].xyzx
    dp3 r19.w, r19.xyzx, r19.xyzx
    rsq r19.w, r19.w
    mul r19.xyz, r19.wwww, r19.xyzx
    dp3 r19.x, r13.xyzx, r19.xyzx
    mad r19.x, r19.x, l(0.500000), -r7.w
    add r19.x, r19.x, l(0.500000)
    mul_sat r19.x, r19.x, l(5.000000)
  else
    mov r19.x, l(1.000000)
  endif
  mul r18.w, r18.w, r19.x
  lt r19.x, l(0.000000), r18.w
  if_nz r19.x
    and r19.x, l(0x80000000), cb13[r16.w + 61].w
    movc r19.x, r19.x, r8.x, l(1.000000)
    mul r18.w, r18.w, r19.x
    rsq r17.w, r17.w
    mul r18.xyz, r17.wwww, r18.xyzx
    dp3 r17.w, r0.xywx, r18.xyzx
    add r17.w, r17.w, cb4[21].x
    div_sat r17.w, r17.w, r8.w
    mad r19.xyz, r6.xyzx, r6.wwww, r18.xyzx
    dp3 r19.w, r19.xyzx, r19.xyzx
    rsq r19.w, r19.w
    mul r19.xyz, r19.wwww, r19.xyzx
    dp3 r19.w, r19.xyzx, r7.xyzx
    add r19.w, -|r19.w|, l(1.000000)
    max r19.w, r19.w, l(0.000000)
    mul r20.x, r19.w, r19.w
    mul r20.x, r20.x, r20.x
    mul r19.w, r19.w, r20.x
    mul r19.w, r12.w, r19.w
    div r19.w, r19.w, r14.x
    add r19.w, r0.z, r19.w
    add r20.x, -r19.w, l(1.000000)
    mul r17.w, r17.w, r20.x
    mul r17.w, r9.w, r17.w
    mul r17.w, r17.w, l(0.318309873)
    mul r20.xyz, r17.wwww, cb13[r16.w + 61].xyzx
    mad r16.xyz, r18.wwww, r20.xyzx, r16.xyzx
    dp3 r17.w, r18.xyzx, r2.xyzx
    lt r18.x, l(0.000000), r17.w
    if_nz r18.x
      dp3_sat r18.x, r2.xyzx, r19.xyzx
      mov_sat r17.w, r17.w
      mul r18.x, r18.x, r18.x
      mad r18.x, r18.x, r14.w, l(1.000000)
      mul r18.x, r18.x, r18.x
      mul r18.x, r18.x, l(3.141520)
      div r18.x, r14.z, r18.x
      mad r18.y, r17.w, r2.w, r15.x
      div r18.y, r17.w, r18.y
      mul r18.y, r15.y, r18.y
      mul r18.x, r18.y, r18.x
      mul r18.x, r19.w, r18.x
      mad r18.y, r10.w, r17.w, l(0.000100)
      div r18.x, r18.x, r18.y
      mul r18.xyz, r17.wwww, r18.xxxx
    else
      mov r18.xyz, l(0,0,0,0)
    endif
    mul r18.xyz, r18.xyzx, cb13[r16.w + 61].xyzx
    mad r17.xyz, r18.wwww, r18.xyzx, r17.xyzx
  endif
  iadd r15.w, r15.w, l(1)
endloop
dp3 r0.x, -r7.xyzx, r2.xyzx
add r0.x, r0.x, r0.x
mad r0.xyw, r2.xyxz, -r0.xxxx, -r7.xyxz
dp3 r2.x, r0.xywx, r0.xywx
rsq r2.x, r2.x
mul r2.yzw, r0.xxyw, r2.xxxx
deriv_rtx_coarse r6.xyz, r2.yzwy
deriv_rty_coarse r10.xyz, r2.yzwy
and r5.xy, r5.xyxx, l(1, 1, 0, 0)
movc r5.xzw, r5.xxxx, -r6.xxyz, r6.xxyz
movc r6.xyz, r5.yyyy, -r10.xyzx, r10.xyzx
mad r5.xyz, r0.xywx, r2.xxxx, r5.xzwx
dp3 r4.w, r5.xyzx, r5.xyzx
rsq r4.w, r4.w
mul r5.xyz, r4.wwww, r5.xyzx
dp3 r4.w, r2.yzwy, r5.xyzx
add r5.x, -|r4.w|, l(1.000000)
sqrt r5.x, r5.x
mad r5.y, |r4.w|, l(-0.0187292993), l(0.074261)
mad r5.y, r5.y, |r4.w|, l(-0.212114394)
mad r5.y, r5.y, |r4.w|, l(1.57072878)
mul r5.z, r5.x, r5.y
mad r5.z, r5.z, l(-2.000000), l(3.14159274)
lt r4.w, r4.w, -r4.w
and r4.w, r4.w, r5.z
mad r4.w, r5.y, r5.x, r4.w
mul r4.w, r4.w, l(81.487328)
log r4.w, r4.w
max r4.w, r4.w, l(0.000000)
mad r5.xyz, r0.xywx, r2.xxxx, r6.xyzx
dp3 r2.x, r5.xyzx, r5.xyzx
rsq r2.x, r2.x
mul r5.xyz, r2.xxxx, r5.xyzx
dp3 r2.x, r2.yzwy, r5.xyzx
add r2.y, -|r2.x|, l(1.000000)
sqrt r2.y, r2.y
mad r2.z, |r2.x|, l(-0.0187292993), l(0.074261)
mad r2.z, r2.z, |r2.x|, l(-0.212114394)
mad r2.z, r2.z, |r2.x|, l(1.57072878)
mul r2.w, r2.y, r2.z
mad r2.w, r2.w, l(-2.000000), l(3.14159274)
lt r2.x, r2.x, -r2.x
and r2.x, r2.x, r2.w
mad r2.x, r2.z, r2.y, r2.x
mul r2.x, r2.x, l(81.487328)
log r2.x, r2.x
max r2.x, r2.x, l(0.000000)
max r2.x, r2.x, r4.w
mul r2.x, r2.x, l(0.625000)
mul r2.y, r13.w, l(10.500000)
max r2.x, r2.x, r2.y
lt r2.y, r3.w, l(0.000000)
and r2.z, r2.y, l(1)
mul r5.xyzw, r3.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
mad r2.w, -r3.z, r1.w, l(1.000000)
rcp r2.w, r2.w
max r2.w, r2.w, l(-340282346638528859811704183484516925440.000000)
min r2.w, r2.w, l(340282346638528859811704183484516925440.000000)
mad r5.xy, r5.xyxx, r2.wwww, l(0.500000, 0.500000, 0.000000, 0.000000)
mad r1.w, r3.z, r1.w, l(1.000000)
rcp r1.w, r1.w
max r1.w, r1.w, l(-340282346638528859811704183484516925440.000000)
min r1.w, r1.w, l(340282346638528859811704183484516925440.000000)
mad r5.zw, r5.zzzw, r1.wwww, l(0.000000, 0.000000, 0.500000, 0.500000)
movc r2.yw, r2.yyyy, r5.xxxy, r5.zzzw
mad r2.yw, r2.yyyw, l(0.000000, 0.666666627, 0.000000, 0.666666627), l(0.000000, 0.166666672, 0.000000, 0.166666672)
itof r5.x, r2.z
mov r5.y, l(0)
add r2.yz, r2.yywy, r5.xxyx
mul r5.xy, r2.yzyy, l(0.500000, 0.142857149, 0.000000, 0.000000)
mul r2.yzw, v2.yyyy, cb12[115].xxyz
mad r2.yzw, cb12[114].xxyz, v2.xxxx, r2.yyzw
mad r2.yzw, cb12[116].xxyz, v2.zzzz, r2.yyzw
add r2.yzw, r2.yyzw, cb12[117].xxyz
add r2.yzw, -|r2.yyzw|, l(0.000000, 1.000000, 1.000000, 1.000000)
ne r1.w, r8.y, l(-1.000000)
if_nz r1.w
  and r6.xy, cb12[118].yyyy, l(1, 2, 0, 0)
  movc r3.z, r6.x, l(1.000000), r8.y
  add r4.w, -r8.y, l(1.000000)
  movc r4.w, r6.y, l(1.000000), r4.w
  mul r3.z, r3.z, r4.w
else
  mov r3.z, l(1.000000)
endif
lt r6.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r2.yzwy
and r4.w, r6.y, r6.x
and r4.w, r6.z, r4.w
lt r6.x, l(0.000000), r3.z
and r4.w, r4.w, r6.x
if_nz r4.w
  mul_sat r2.yzw, r2.yyzw, cb12[113].xxyz
  mul r3.z, r3.z, cb12[112].x
  mul r3.z, r3.z, l(0.999990)
  mul r2.y, r2.z, r2.y
  mul r2.y, r2.w, r2.y
  mul r2.z, r2.y, r3.z
  mad r2.y, r3.z, r2.y, l(0.000010)
  mul r2.z, r2.z, cb12[118].x
  itof r2.w, cb12[123].x
  mad r5.z, r2.w, l(0.142857149), r5.y
  sample_l_indexable(texture2d)(float,float,float,float) r6.xyz, r5.xzxx, t22.xyzw, s11, l(1.000000)
  mul r6.xyz, r2.zzzz, r6.xyzx
  mul r10.xyz, r0.yyyy, cb12[120].xyzx
  mad r10.xyz, cb12[119].xyzx, r0.xxxx, r10.xyzx
  mad r10.xyz, cb12[121].xyzx, r0.wwww, r10.xyzx
  mul r11.xyz, v2.yyyy, cb12[120].xyzx
  mad r11.xyz, cb12[119].xyzx, v2.xxxx, r11.xyzx
  mad r11.xyz, cb12[121].xyzx, v2.zzzz, r11.xyzx
  add r11.xyz, r11.xyzx, cb12[122].xyzx
  div r10.xyz, l(1.000000, 1.000000, 1.000000, 1.000000), r10.xyzx
  mad r12.xyz, -r11.xyzx, r10.xyzx, r10.xyzx
  mad r10.xyz, -r11.xyzx, r10.xyzx, -r10.xyzx
  max r10.xyz, r10.xyzx, r12.xyzx
  min r2.w, r10.z, r10.y
  min r2.w, r2.w, r10.x
  mad r10.xyz, r0.xywx, r2.wwww, v2.xyzx
  add r10.xyz, r10.xyzx, -cb12[112].yzwy
  dp3 r2.w, r10.xyzx, r10.xyzx
  rsq r2.w, r2.w
  mul r10.xyw, r2.wwww, r10.xyxz
  lt r3.z, r10.w, l(0.000000)
  and r4.w, r3.z, l(1)
  mul r12.xyzw, r10.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
  mad r5.z, -r10.z, r2.w, l(1.000000)
  rcp r5.z, r5.z
  max r5.z, r5.z, l(-340282346638528859811704183484516925440.000000)
  min r5.z, r5.z, l(340282346638528859811704183484516925440.000000)
  mad r8.xw, r12.xxxy, r5.zzzz, l(0.500000, 0.000000, 0.000000, 0.500000)
  mad r2.w, r10.z, r2.w, l(1.000000)
  rcp r2.w, r2.w
  max r2.w, r2.w, l(-340282346638528859811704183484516925440.000000)
  min r2.w, r2.w, l(340282346638528859811704183484516925440.000000)
  mad r10.xy, r12.zwzz, r2.wwww, l(0.500000, 0.500000, 0.000000, 0.000000)
  movc r8.xw, r3.zzzz, r8.xxxw, r10.xxxy
  mad r8.xw, r8.xxxw, l(0.666666627, 0.000000, 0.000000, 0.666666627), l(0.166666672, 0.000000, 0.000000, 0.166666672)
  itof r10.y, cb12[123].x
  itof r10.z, r4.w
  mov r10.xw, l(0,0,0,0)
  add r8.xw, r8.xxxw, r10.zzzw
  add r8.xw, r8.xxxw, r10.xxxy
  mul r8.xw, r8.xxxw, l(0.500000, 0.000000, 0.000000, 0.142857149)
  sample_l_indexable(texture2d)(float,float,float,float) r10.xyz, r8.xwxx, t23.xyzw, s11, r2.x
  mul r10.xyz, r2.zzzz, r10.xyzx
else
  mov r6.xyz, l(0,0,0,0)
  mov r10.xyz, l(0,0,0,0)
  mov r2.y, l(0.000010)
endif
lt r2.z, r2.y, l(0.999000)
if_nz r2.z
  mul r11.xyz, v2.yyyy, cb12[127].xyzx
  mad r11.xyz, cb12[126].xyzx, v2.xxxx, r11.xyzx
  mad r11.xyz, cb12[128].xyzx, v2.zzzz, r11.xyzx
  add r11.xyz, r11.xyzx, cb12[129].xyzx
  add r11.xyz, -|r11.xyzx|, l(1.000000, 1.000000, 1.000000, 0.000000)
  if_nz r1.w
    and r8.xw, cb12[130].yyyy, l(1, 0, 0, 2)
    movc r2.w, r8.x, l(1.000000), r8.y
    add r3.z, -r8.y, l(1.000000)
    movc r3.z, r8.w, l(1.000000), r3.z
    mul r2.w, r2.w, r3.z
  else
    mov r2.w, l(1.000000)
  endif
  lt r12.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r11.xyzx
  and r3.z, r12.y, r12.x
  and r3.z, r12.z, r3.z
  lt r4.w, l(0.000000), r2.w
  and r3.z, r3.z, r4.w
  if_nz r3.z
    mul_sat r11.xyz, r11.xyzx, cb12[125].xyzx
    add r3.z, -r2.y, l(1.000000)
    mul r2.w, r2.w, r3.z
    mul r2.w, r2.w, cb12[124].x
    mul r3.z, r11.y, r11.x
    mul r3.z, r11.z, r3.z
    mul r4.w, r2.w, r3.z
    mad r2.y, r2.w, r3.z, r2.y
    mul r2.w, r4.w, cb12[130].x
    itof r3.z, cb12[135].x
    mad r5.w, r3.z, l(0.142857149), r5.y
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r5.xwxx, t22.xyzw, s11, l(1.000000)
    mad r6.xyz, r2.wwww, r11.xyzx, r6.xyzx
    mul r11.xyz, r0.yyyy, cb12[132].xyzx
    mad r11.xyz, cb12[131].xyzx, r0.xxxx, r11.xyzx
    mad r11.xyz, cb12[133].xyzx, r0.wwww, r11.xyzx
    mul r12.xyz, v2.yyyy, cb12[132].xyzx
    mad r12.xyz, cb12[131].xyzx, v2.xxxx, r12.xyzx
    mad r12.xyz, cb12[133].xyzx, v2.zzzz, r12.xyzx
    add r12.xyz, r12.xyzx, cb12[134].xyzx
    div r11.xyz, l(1.000000, 1.000000, 1.000000, 1.000000), r11.xyzx
    mad r13.xyz, -r12.xyzx, r11.xyzx, r11.xyzx
    mad r11.xyz, -r12.xyzx, r11.xyzx, -r11.xyzx
    max r11.xyz, r11.xyzx, r13.xyzx
    min r3.z, r11.z, r11.y
    min r3.z, r3.z, r11.x
    mad r11.xyz, r0.xywx, r3.zzzz, v2.xyzx
    add r11.xyz, r11.xyzx, -cb12[124].yzwy
    dp3 r3.z, r11.xyzx, r11.xyzx
    rsq r3.z, r3.z
    mul r12.xyz, r3.zzzz, r11.xyzx
    lt r4.w, r12.z, l(0.000000)
    and r5.z, r4.w, l(1)
    mul r12.xyzw, r12.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
    mad r5.w, -r11.z, r3.z, l(1.000000)
    rcp r5.w, r5.w
    max r5.w, r5.w, l(-340282346638528859811704183484516925440.000000)
    min r5.w, r5.w, l(340282346638528859811704183484516925440.000000)
    mad r8.xw, r12.xxxy, r5.wwww, l(0.500000, 0.000000, 0.000000, 0.500000)
    mad r3.z, r11.z, r3.z, l(1.000000)
    rcp r3.z, r3.z
    max r3.z, r3.z, l(-340282346638528859811704183484516925440.000000)
    min r3.z, r3.z, l(340282346638528859811704183484516925440.000000)
    mad r11.xy, r12.zwzz, r3.zzzz, l(0.500000, 0.500000, 0.000000, 0.000000)
    movc r8.xw, r4.wwww, r8.xxxw, r11.xxxy
    mad r8.xw, r8.xxxw, l(0.666666627, 0.000000, 0.000000, 0.666666627), l(0.166666672, 0.000000, 0.000000, 0.166666672)
    itof r12.y, cb12[135].x
    itof r12.z, r5.z
    mov r12.xw, l(0,0,0,0)
    add r5.zw, r8.xxxw, r12.zzzw
    add r5.zw, r5.zzzw, r12.xxxy
    mul r5.zw, r5.zzzw, l(0.000000, 0.000000, 0.500000, 0.142857149)
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r5.zwzz, t23.xyzw, s11, r2.x
    mad r10.xyz, r2.wwww, r11.xyzx, r10.xyzx
  endif
endif
lt r2.w, r2.y, l(0.999000)
and r2.z, r2.w, r2.z
if_nz r2.z
  mul r11.xyz, v2.yyyy, cb12[139].xyzx
  mad r11.xyz, cb12[138].xyzx, v2.xxxx, r11.xyzx
  mad r11.xyz, cb12[140].xyzx, v2.zzzz, r11.xyzx
  add r11.xyz, r11.xyzx, cb12[141].xyzx
  add r11.xyz, -|r11.xyzx|, l(1.000000, 1.000000, 1.000000, 0.000000)
  if_nz r1.w
    and r5.zw, cb12[142].yyyy, l(0, 0, 1, 2)
    movc r2.w, r5.z, l(1.000000), r8.y
    add r3.z, -r8.y, l(1.000000)
    movc r3.z, r5.w, l(1.000000), r3.z
    mul r2.w, r2.w, r3.z
  else
    mov r2.w, l(1.000000)
  endif
  lt r12.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r11.xyzx
  and r3.z, r12.y, r12.x
  and r3.z, r12.z, r3.z
  lt r4.w, l(0.000000), r2.w
  and r3.z, r3.z, r4.w
  if_nz r3.z
    mul_sat r11.xyz, r11.xyzx, cb12[137].xyzx
    add r3.z, -r2.y, l(1.000000)
    mul r2.w, r2.w, r3.z
    mul r2.w, r2.w, cb12[136].x
    mul r3.z, r11.y, r11.x
    mul r3.z, r11.z, r3.z
    mul r4.w, r2.w, r3.z
    mad r2.y, r2.w, r3.z, r2.y
    mul r2.w, r4.w, cb12[142].x
    itof r3.z, cb12[147].x
    mad r11.y, r3.z, l(0.142857149), r5.y
    mov r11.x, r5.x
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r11.xyxx, t22.xyzw, s11, l(1.000000)
    mad r6.xyz, r2.wwww, r11.xyzx, r6.xyzx
    mul r11.xyz, r0.yyyy, cb12[144].xyzx
    mad r11.xyz, cb12[143].xyzx, r0.xxxx, r11.xyzx
    mad r11.xyz, cb12[145].xyzx, r0.wwww, r11.xyzx
    mul r12.xyz, v2.yyyy, cb12[144].xyzx
    mad r12.xyz, cb12[143].xyzx, v2.xxxx, r12.xyzx
    mad r12.xyz, cb12[145].xyzx, v2.zzzz, r12.xyzx
    add r12.xyz, r12.xyzx, cb12[146].xyzx
    div r11.xyz, l(1.000000, 1.000000, 1.000000, 1.000000), r11.xyzx
    mad r13.xyz, -r12.xyzx, r11.xyzx, r11.xyzx
    mad r11.xyz, -r12.xyzx, r11.xyzx, -r11.xyzx
    max r11.xyz, r11.xyzx, r13.xyzx
    min r3.z, r11.z, r11.y
    min r3.z, r3.z, r11.x
    mad r11.xyz, r0.xywx, r3.zzzz, v2.xyzx
    add r11.xyz, r11.xyzx, -cb12[136].yzwy
    dp3 r3.z, r11.xyzx, r11.xyzx
    rsq r3.z, r3.z
    mul r12.xyz, r3.zzzz, r11.xyzx
    lt r4.w, r12.z, l(0.000000)
    and r5.z, r4.w, l(1)
    mul r12.xyzw, r12.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
    mad r5.w, -r11.z, r3.z, l(1.000000)
    rcp r5.w, r5.w
    max r5.w, r5.w, l(-340282346638528859811704183484516925440.000000)
    min r5.w, r5.w, l(340282346638528859811704183484516925440.000000)
    mad r8.xw, r12.xxxy, r5.wwww, l(0.500000, 0.000000, 0.000000, 0.500000)
    mad r3.z, r11.z, r3.z, l(1.000000)
    rcp r3.z, r3.z
    max r3.z, r3.z, l(-340282346638528859811704183484516925440.000000)
    min r3.z, r3.z, l(340282346638528859811704183484516925440.000000)
    mad r11.xy, r12.zwzz, r3.zzzz, l(0.500000, 0.500000, 0.000000, 0.000000)
    movc r8.xw, r4.wwww, r8.xxxw, r11.xxxy
    mad r8.xw, r8.xxxw, l(0.666666627, 0.000000, 0.000000, 0.666666627), l(0.166666672, 0.000000, 0.000000, 0.166666672)
    itof r12.y, cb12[147].x
    itof r12.z, r5.z
    mov r12.xw, l(0,0,0,0)
    add r5.zw, r8.xxxw, r12.zzzw
    add r5.zw, r5.zzzw, r12.xxxy
    mul r5.zw, r5.zzzw, l(0.000000, 0.000000, 0.500000, 0.142857149)
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r5.zwzz, t23.xyzw, s11, r2.x
    mad r10.xyz, r2.wwww, r11.xyzx, r10.xyzx
  endif
endif
lt r2.w, r2.y, l(0.999000)
and r2.z, r2.w, r2.z
if_nz r2.z
  mul r11.xyz, v2.yyyy, cb12[151].xyzx
  mad r11.xyz, cb12[150].xyzx, v2.xxxx, r11.xyzx
  mad r11.xyz, cb12[152].xyzx, v2.zzzz, r11.xyzx
  add r11.xyz, r11.xyzx, cb12[153].xyzx
  add r11.xyz, -|r11.xyzx|, l(1.000000, 1.000000, 1.000000, 0.000000)
  if_nz r1.w
    and r5.zw, cb12[154].yyyy, l(0, 0, 1, 2)
    movc r2.w, r5.z, l(1.000000), r8.y
    add r3.z, -r8.y, l(1.000000)
    movc r3.z, r5.w, l(1.000000), r3.z
    mul r2.w, r2.w, r3.z
  else
    mov r2.w, l(1.000000)
  endif
  lt r12.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r11.xyzx
  and r3.z, r12.y, r12.x
  and r3.z, r12.z, r3.z
  lt r4.w, l(0.000000), r2.w
  and r3.z, r3.z, r4.w
  if_nz r3.z
    mul_sat r11.xyz, r11.xyzx, cb12[149].xyzx
    add r3.z, -r2.y, l(1.000000)
    mul r2.w, r2.w, r3.z
    mul r2.w, r2.w, cb12[148].x
    mul r3.z, r11.y, r11.x
    mul r3.z, r11.z, r3.z
    mul r4.w, r2.w, r3.z
    mad r2.y, r2.w, r3.z, r2.y
    mul r2.w, r4.w, cb12[154].x
    itof r3.z, cb12[159].x
    mad r11.y, r3.z, l(0.142857149), r5.y
    mov r11.x, r5.x
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r11.xyxx, t22.xyzw, s11, l(1.000000)
    mad r6.xyz, r2.wwww, r11.xyzx, r6.xyzx
    mul r11.xyz, r0.yyyy, cb12[156].xyzx
    mad r11.xyz, cb12[155].xyzx, r0.xxxx, r11.xyzx
    mad r11.xyz, cb12[157].xyzx, r0.wwww, r11.xyzx
    mul r12.xyz, v2.yyyy, cb12[156].xyzx
    mad r12.xyz, cb12[155].xyzx, v2.xxxx, r12.xyzx
    mad r12.xyz, cb12[157].xyzx, v2.zzzz, r12.xyzx
    add r12.xyz, r12.xyzx, cb12[158].xyzx
    div r11.xyz, l(1.000000, 1.000000, 1.000000, 1.000000), r11.xyzx
    mad r13.xyz, -r12.xyzx, r11.xyzx, r11.xyzx
    mad r11.xyz, -r12.xyzx, r11.xyzx, -r11.xyzx
    max r11.xyz, r11.xyzx, r13.xyzx
    min r3.z, r11.z, r11.y
    min r3.z, r3.z, r11.x
    mad r11.xyz, r0.xywx, r3.zzzz, v2.xyzx
    add r11.xyz, r11.xyzx, -cb12[148].yzwy
    dp3 r3.z, r11.xyzx, r11.xyzx
    rsq r3.z, r3.z
    mul r12.xyz, r3.zzzz, r11.xyzx
    lt r4.w, r12.z, l(0.000000)
    and r5.z, r4.w, l(1)
    mul r12.xyzw, r12.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
    mad r5.w, -r11.z, r3.z, l(1.000000)
    rcp r5.w, r5.w
    max r5.w, r5.w, l(-340282346638528859811704183484516925440.000000)
    min r5.w, r5.w, l(340282346638528859811704183484516925440.000000)
    mad r8.xw, r12.xxxy, r5.wwww, l(0.500000, 0.000000, 0.000000, 0.500000)
    mad r3.z, r11.z, r3.z, l(1.000000)
    rcp r3.z, r3.z
    max r3.z, r3.z, l(-340282346638528859811704183484516925440.000000)
    min r3.z, r3.z, l(340282346638528859811704183484516925440.000000)
    mad r11.xy, r12.zwzz, r3.zzzz, l(0.500000, 0.500000, 0.000000, 0.000000)
    movc r8.xw, r4.wwww, r8.xxxw, r11.xxxy
    mad r8.xw, r8.xxxw, l(0.666666627, 0.000000, 0.000000, 0.666666627), l(0.166666672, 0.000000, 0.000000, 0.166666672)
    itof r12.y, cb12[159].x
    itof r12.z, r5.z
    mov r12.xw, l(0,0,0,0)
    add r5.zw, r8.xxxw, r12.zzzw
    add r5.zw, r5.zzzw, r12.xxxy
    mul r5.zw, r5.zzzw, l(0.000000, 0.000000, 0.500000, 0.142857149)
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r5.zwzz, t23.xyzw, s11, r2.x
    mad r10.xyz, r2.wwww, r11.xyzx, r10.xyzx
  endif
endif
lt r2.w, r2.y, l(0.999000)
and r2.z, r2.w, r2.z
if_nz r2.z
  mul r11.xyz, v2.yyyy, cb12[163].xyzx
  mad r11.xyz, cb12[162].xyzx, v2.xxxx, r11.xyzx
  mad r11.xyz, cb12[164].xyzx, v2.zzzz, r11.xyzx
  add r11.xyz, r11.xyzx, cb12[165].xyzx
  add r11.xyz, -|r11.xyzx|, l(1.000000, 1.000000, 1.000000, 0.000000)
  if_nz r1.w
    and r5.zw, cb12[166].yyyy, l(0, 0, 1, 2)
    movc r2.w, r5.z, l(1.000000), r8.y
    add r3.z, -r8.y, l(1.000000)
    movc r3.z, r5.w, l(1.000000), r3.z
    mul r2.w, r2.w, r3.z
  else
    mov r2.w, l(1.000000)
  endif
  lt r12.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r11.xyzx
  and r3.z, r12.y, r12.x
  and r3.z, r12.z, r3.z
  lt r4.w, l(0.000000), r2.w
  and r3.z, r3.z, r4.w
  if_nz r3.z
    mul_sat r11.xyz, r11.xyzx, cb12[161].xyzx
    add r3.z, -r2.y, l(1.000000)
    mul r2.w, r2.w, r3.z
    mul r2.w, r2.w, cb12[160].x
    mul r3.z, r11.y, r11.x
    mul r3.z, r11.z, r3.z
    mul r4.w, r2.w, r3.z
    mad r2.y, r2.w, r3.z, r2.y
    mul r2.w, r4.w, cb12[166].x
    itof r3.z, cb12[171].x
    mad r11.y, r3.z, l(0.142857149), r5.y
    mov r11.x, r5.x
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r11.xyxx, t22.xyzw, s11, l(1.000000)
    mad r6.xyz, r2.wwww, r11.xyzx, r6.xyzx
    mul r11.xyz, r0.yyyy, cb12[168].xyzx
    mad r11.xyz, cb12[167].xyzx, r0.xxxx, r11.xyzx
    mad r11.xyz, cb12[169].xyzx, r0.wwww, r11.xyzx
    mul r12.xyz, v2.yyyy, cb12[168].xyzx
    mad r12.xyz, cb12[167].xyzx, v2.xxxx, r12.xyzx
    mad r12.xyz, cb12[169].xyzx, v2.zzzz, r12.xyzx
    add r12.xyz, r12.xyzx, cb12[170].xyzx
    div r11.xyz, l(1.000000, 1.000000, 1.000000, 1.000000), r11.xyzx
    mad r13.xyz, -r12.xyzx, r11.xyzx, r11.xyzx
    mad r11.xyz, -r12.xyzx, r11.xyzx, -r11.xyzx
    max r11.xyz, r11.xyzx, r13.xyzx
    min r3.z, r11.z, r11.y
    min r3.z, r3.z, r11.x
    mad r11.xyz, r0.xywx, r3.zzzz, v2.xyzx
    add r11.xyz, r11.xyzx, -cb12[160].yzwy
    dp3 r3.z, r11.xyzx, r11.xyzx
    rsq r3.z, r3.z
    mul r12.xyz, r3.zzzz, r11.xyzx
    lt r4.w, r12.z, l(0.000000)
    and r5.z, r4.w, l(1)
    mul r12.xyzw, r12.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
    mad r5.w, -r11.z, r3.z, l(1.000000)
    rcp r5.w, r5.w
    max r5.w, r5.w, l(-340282346638528859811704183484516925440.000000)
    min r5.w, r5.w, l(340282346638528859811704183484516925440.000000)
    mad r8.xw, r12.xxxy, r5.wwww, l(0.500000, 0.000000, 0.000000, 0.500000)
    mad r3.z, r11.z, r3.z, l(1.000000)
    rcp r3.z, r3.z
    max r3.z, r3.z, l(-340282346638528859811704183484516925440.000000)
    min r3.z, r3.z, l(340282346638528859811704183484516925440.000000)
    mad r11.xy, r12.zwzz, r3.zzzz, l(0.500000, 0.500000, 0.000000, 0.000000)
    movc r8.xw, r4.wwww, r8.xxxw, r11.xxxy
    mad r8.xw, r8.xxxw, l(0.666666627, 0.000000, 0.000000, 0.666666627), l(0.166666672, 0.000000, 0.000000, 0.166666672)
    itof r12.y, cb12[171].x
    itof r12.z, r5.z
    mov r12.xw, l(0,0,0,0)
    add r5.zw, r8.xxxw, r12.zzzw
    add r5.zw, r5.zzzw, r12.xxxy
    mul r5.zw, r5.zzzw, l(0.000000, 0.000000, 0.500000, 0.142857149)
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r5.zwzz, t23.xyzw, s11, r2.x
    mad r10.xyz, r2.wwww, r11.xyzx, r10.xyzx
  endif
endif
lt r2.w, r2.y, l(0.999000)
and r2.z, r2.w, r2.z
if_nz r2.z
  mul r11.xyz, v2.yyyy, cb12[175].xyzx
  mad r11.xyz, cb12[174].xyzx, v2.xxxx, r11.xyzx
  mad r11.xyz, cb12[176].xyzx, v2.zzzz, r11.xyzx
  add r11.xyz, r11.xyzx, cb12[177].xyzx
  add r11.xyz, -|r11.xyzx|, l(1.000000, 1.000000, 1.000000, 0.000000)
  if_nz r1.w
    and r2.zw, cb12[178].yyyy, l(0, 0, 1, 2)
    movc r1.w, r2.z, l(1.000000), r8.y
    add r2.z, -r8.y, l(1.000000)
    movc r2.z, r2.w, l(1.000000), r2.z
    mul r1.w, r1.w, r2.z
  else
    mov r1.w, l(1.000000)
  endif
  lt r12.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r11.xyzx
  and r2.z, r12.y, r12.x
  and r2.z, r12.z, r2.z
  lt r2.w, l(0.000000), r1.w
  and r2.z, r2.w, r2.z
  if_nz r2.z
    mul_sat r11.xyz, r11.xyzx, cb12[173].xyzx
    add r2.z, -r2.y, l(1.000000)
    mul r1.w, r1.w, r2.z
    mul r1.w, r1.w, cb12[172].x
    mul r2.z, r11.y, r11.x
    mul r2.z, r11.z, r2.z
    mul r2.w, r1.w, r2.z
    mad r2.y, r1.w, r2.z, r2.y
    mul r1.w, r2.w, cb12[178].x
    itof r2.z, cb12[183].x
    mad r11.y, r2.z, l(0.142857149), r5.y
    mov r11.x, r5.x
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r11.xyxx, t22.xyzw, s11, l(1.000000)
    mad r6.xyz, r1.wwww, r11.xyzx, r6.xyzx
    mul r11.xyz, r0.yyyy, cb12[180].xyzx
    mad r11.xyz, cb12[179].xyzx, r0.xxxx, r11.xyzx
    mad r11.xyz, cb12[181].xyzx, r0.wwww, r11.xyzx
    mul r12.xyz, v2.yyyy, cb12[180].xyzx
    mad r12.xyz, cb12[179].xyzx, v2.xxxx, r12.xyzx
    mad r12.xyz, cb12[181].xyzx, v2.zzzz, r12.xyzx
    add r12.xyz, r12.xyzx, cb12[182].xyzx
    div r11.xyz, l(1.000000, 1.000000, 1.000000, 1.000000), r11.xyzx
    mad r13.xyz, -r12.xyzx, r11.xyzx, r11.xyzx
    mad r11.xyz, -r12.xyzx, r11.xyzx, -r11.xyzx
    max r11.xyz, r11.xyzx, r13.xyzx
    min r2.z, r11.z, r11.y
    min r2.z, r2.z, r11.x
    mad r11.xyz, r0.xywx, r2.zzzz, v2.xyzx
    add r11.xyz, r11.xyzx, -cb12[172].yzwy
    dp3 r2.z, r11.xyzx, r11.xyzx
    rsq r2.z, r2.z
    mul r12.xyz, r2.zzzz, r11.xyzx
    lt r2.w, r12.z, l(0.000000)
    and r3.z, r2.w, l(1)
    mul r12.xyzw, r12.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
    mad r4.w, -r11.z, r2.z, l(1.000000)
    rcp r4.w, r4.w
    max r4.w, r4.w, l(-340282346638528859811704183484516925440.000000)
    min r4.w, r4.w, l(340282346638528859811704183484516925440.000000)
    mad r5.zw, r12.xxxy, r4.wwww, l(0.000000, 0.000000, 0.500000, 0.500000)
    mad r2.z, r11.z, r2.z, l(1.000000)
    rcp r2.z, r2.z
    max r2.z, r2.z, l(-340282346638528859811704183484516925440.000000)
    min r2.z, r2.z, l(340282346638528859811704183484516925440.000000)
    mad r8.xw, r12.zzzw, r2.zzzz, l(0.500000, 0.000000, 0.000000, 0.500000)
    movc r2.zw, r2.wwww, r5.zzzw, r8.xxxw
    mad r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.666666627, 0.666666627), l(0.000000, 0.000000, 0.166666672, 0.166666672)
    itof r12.y, cb12[183].x
    itof r12.z, r3.z
    mov r12.xw, l(0,0,0,0)
    add r2.zw, r2.zzzw, r12.zzzw
    add r2.zw, r2.zzzw, r12.xxxy
    mul r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.500000, 0.142857149)
    sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r2.zwzz, t23.xyzw, s11, r2.x
    mad r10.xyz, r1.wwww, r11.xyzx, r10.xyzx
  endif
endif
lt r1.w, r2.y, l(0.999000)
if_nz r1.w
  add r1.w, -r2.y, l(1.000000)
  mul r2.z, r1.w, cb12[100].x
  mad r2.y, r1.w, cb12[100].x, r2.y
  mul r1.w, r2.z, cb12[106].x
  itof r2.z, cb12[111].x
  mad r5.y, r2.z, l(0.142857149), r5.y
  sample_l_indexable(texture2d)(float,float,float,float) r5.xyz, r5.xyxx, t22.xyzw, s11, l(1.000000)
  mad r6.xyz, r1.wwww, r5.xyzx, r6.xyzx
  lt r2.z, r0.w, l(0.000000)
  and r2.w, r2.z, l(1)
  mul r5.xyzw, r0.xyxy, l(0.500000, -0.500000, -0.500000, 0.500000)
  add r0.x, -r0.w, l(1.000000)
  rcp r0.x, r0.x
  max r0.x, r0.x, l(-340282346638528859811704183484516925440.000000)
  min r0.x, r0.x, l(340282346638528859811704183484516925440.000000)
  mad r0.xy, r5.xyxx, r0.xxxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  add r0.w, r0.w, l(1.000000)
  rcp r0.w, r0.w
  max r0.w, r0.w, l(-340282346638528859811704183484516925440.000000)
  min r0.w, r0.w, l(340282346638528859811704183484516925440.000000)
  mad r5.xy, r5.zwzz, r0.wwww, l(0.500000, 0.500000, 0.000000, 0.000000)
  movc r0.xy, r2.zzzz, r0.xyxx, r5.xyxx
  mad r0.xy, r0.xyxx, l(0.666666627, 0.666666627, 0.000000, 0.000000), l(0.166666672, 0.166666672, 0.000000, 0.000000)
  itof r5.y, cb12[111].x
  itof r5.z, r2.w
  mov r5.xw, l(0,0,0,0)
  add r0.xy, r0.xyxx, r5.zwzz
  add r0.xy, r0.xyxx, r5.xyxx
  mul r0.xy, r0.xyxx, l(0.500000, 0.142857149, 0.000000, 0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r0.xyw, r0.xyxx, t23.xywz, s11, r2.x
  mad r10.xyz, r1.wwww, r0.xywx, r10.xyzx
endif
div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r2.y
mul r2.xyz, r0.xxxx, r6.xyzx
mul r0.xyw, r0.xxxx, r10.xyxz
lt r1.w, l(0.000000), cb12[74].x
movc r0.xyw, r1.wwww, l(0,0,0,0), r0.xyxw
add r2.w, -cb2[16].y, |cb2[16].x|
mad r5.xyz, r9.xyzx, r2.wwww, cb2[16].yyyy
add r2.w, -cb2[16].w, cb2[16].z
mad r6.xyz, r9.xyzx, r2.wwww, cb2[16].wwww
mul r2.xyz, r2.xyzx, r5.xyzx
mul r0.xyw, r0.xyxw, r6.xyxz
add r5.xy, v2.xyxx, -cb12[0].xyxx
dp2 r2.w, r5.xyxx, r5.xyxx
sqrt r2.w, r2.w
mad_sat r2.w, r2.w, cb12[219].x, cb12[219].y
add r3.z, cb12[185].z, l(-1.000000)
mad r2.w, r2.w, r3.z, l(1.000000)
add r3.z, -cb12[184].y, cb12[184].x
mad r5.xyz, r9.xyzx, r3.zzzz, cb12[184].yyyy
mul r5.xyz, r2.wwww, r5.xyzx
add r3.z, -cb12[185].y, cb12[185].x
mad r6.xyz, r9.xyzx, r3.zzzz, cb12[185].yyyy
mul r6.xyz, r2.wwww, r6.xyzx
mul r10.xyz, r16.xyzx, cb12[184].zzzz
mul r2.xyz, r2.xyzx, r5.xyzx
dp3 r2.w, r3.xywx, r7.xyzx
max r2.w, |r2.w|, |r2.w|
add r2.w, -r2.w, l(1.000000)
max r2.w, r2.w, l(0.000000)
mul r3.x, r2.w, r2.w
mul r3.x, r3.x, r3.x
mul r2.w, r2.w, r3.x
min r3.x, cb13[56].y, l(1.000000)
mul r3.x, r11.w, r3.x
mul r2.w, r2.w, r3.x
div r2.w, r2.w, r14.y
add r0.z, r0.z, r2.w
add r2.w, -r0.z, l(1.000000)
mul r2.xyz, r2.wwww, r2.xyzx
mul r0.xyw, r0.xyxw, r6.xyxz
mul r0.xyz, r0.zzzz, r0.xywx
add r0.w, -cb13[55].w, l(1.000000)
mad r3.xyz, r9.xyzx, r0.wwww, cb13[55].wwww
mul r1.xyz, r1.xyzx, r3.xyzx
mul r1.xyz, r1.xyzx, cb13[55].xyzx
mad r1.xyz, r17.xyzx, cb12[184].wwww, r1.xyzx
add r0.w, cb12[69].y, cb12[69].x
lt r2.w, r8.y, l(0.990000)
movc r2.w, r2.w, cb12[271].w, l(1.000000)
mul r3.xyzw, r2.wwww, cb12[272].xyzw
log r2.w, r8.z
mul r3.xy, r2.wwww, r3.xyxx
exp r3.xy, r3.xyxx
log r0.w, r0.w
mul r3.zw, r0.wwww, r3.zzzw
exp r3.zw, r3.zzzw
mul r5.xyz, r3.zzzz, r10.xyzx
mul r1.xyz, r1.xyzx, r3.wwww
mad r2.xyz, r2.xyzx, r3.xxxx, r5.xyzx
mad r1.xyz, r4.xyzx, r2.xyzx, r1.xyzx
mad r0.xyz, r0.xyzx, r3.yyyy, r1.xyzx
movc o0.xyz, r1.wwww, r1.xyzx, r0.xyzx
mov o0.w, l(1.000000)
ret
// Approximately 0 instruction slots used
