// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.182 on Sat Jun 10 23:52:08 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy
// TEXCOORD                 1   xyz         1     NONE   float   xyz
// SV_POSITION              0   xyzw        2      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 CB0[224], immediateIndexed
dcl_constantbuffer CB1[10], immediateIndexed
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_sampler s6, mode_default
dcl_sampler s7, mode_default
dcl_sampler s8, 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_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_input_ps linear v0.xy
dcl_input_ps linear v1.xyz
dcl_input_ps_siv linear noperspective v2.xy, position
dcl_output o0.xyzw
dcl_temps 29
dcl_resource_buffer (float,float,float,float) t125
ld_indexable(buffer)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
sample_l_indexable(texture2d)(float,float,float,float) r0.xyzw, v0.xyxx, t3.xyzw, s3, l(0.000000)
mul r0.w, r0.w, l(255.000000)
round_ne r0.w, r0.w
ftou r0.w, r0.w
and r1.x, r0.w, l(15)
if_nz r1.x
  sample_l_indexable(texture2d)(float,float,float,float) r2.xyzw, v0.xyxx, t2.xyzw, s2, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, v0.xyxx, t1.yxzw, s1, l(0.000000)
  mad r1.z, r1.y, cb0[65].x, cb0[65].y
  mad r1.y, r1.y, cb0[65].z, -cb0[65].w
  div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r1.y
  add r1.y, r1.y, r1.z
  mov r31.xyz, v1.xyzx
  mul r32.w, cb0[0].x, cb0[0].x
  mad r32.w, cb0[1].x, cb0[1].x, r32.w
  mad r32.w, cb0[2].x, cb0[2].x, r32.w
  div r32.x, r25.x, r32.w
  mad r31.x, -r32.x, cb0[0].x, r31.x
  mad r31.y, -r32.x, cb0[1].x, r31.y
  mad r31.z, -r32.x, cb0[2].x, r31.z
  mad r3.xyz, r31.xyzx, r1.yyyy, cb0[67].xyzx
  dp3 r1.z, r31.xyzx, r31.xyzx
  rsq r1.z, r1.z
  mul r4.xyz, r1.zzzz, r31.xyzx
  lt r1.z, cb1[1].z, l(0.000000)
  mul r1.w, r2.w, l(3.999000)
  ftou r1.w, r1.w
  and r1.w, r1.w, l(2)
  movc r1.w, r1.w, cb1[9].x, l(1.000000)
  utof r2.w, cb0[147].y
  mad r5.xy, r2.wwww, l(32.665001, 11.815000, 0.000000, 0.000000), v2.xyxx
  dp2 r2.w, r5.xyxx, l(0.0671105608, 0.00583714992, 0.000000, 0.000000)
  frc r2.w, r2.w
  mul r2.w, r2.w, l(52.982918)
  frc r2.w, r2.w
  sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, v0.xyxx, t8.xyzw, s8, l(0.000000)
  mul r6.xyzw, r5.xyzw, r5.xyzw
  mul r3.w, r1.y, cb0[37].y
  if_nz cb1[2].x
    sample_l_indexable(texture2d)(float,float,float,float) r7.xyzw, v0.xyxx, t6.xyzw, s6, l(0.000000)
    and r5.zw, r0.wwww, l(0, 0, 32, 64)
    movc r4.w, r5.w, l(0), l(1.000000)
    movc r7.xyzw, r5.zzzz, r4.wwww, r7.xyzw
    dp4 r4.w, cb1[0].xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
    dp4 r5.z, r7.xyzw, cb1[0].xyzw
    add r5.z, r5.z, l(-1.000000)
    mad r4.w, r4.w, r5.z, l(1.000000)
    mad_sat r1.y, r1.y, cb1[1].x, cb1[1].y
    mul r1.y, r1.y, r1.y
    mad r5.xy, -r5.xyxx, r5.xyxx, r4.wwww
    mad r5.xy, r1.yyyy, r5.xyxx, r6.xyxx
    min r1.y, r6.w, r5.y
    mul r5.x, r6.z, r5.x
    mul r5.y, r6.z, r1.y
    ult r1.y, l(1), cb1[2].x
    lt r4.w, l(0.000000), |cb1[1].z|
    and r1.y, r1.y, r4.w
    movc r1.z, r1.z, l(1.000000), r3.w
    mul r1.z, r1.z, |cb1[1].z|
    and r1.y, r1.z, r1.y
  else
    sample_l_indexable(texture2d)(float,float,float,float) r5.x, v0.xyxx, t7.xyzw, s7, l(0.000000)
    mov r5.y, l(1.000000)
    mov r1.y, l(0)
  endif
  ult r1.z, cb1[2].x, l(2)
  ieq r5.zw, r1.xxxx, l(0, 0, 9, 7)
  and r1.z, r1.z, r5.w
  or r1.z, r5.z, r1.z
  mul r3.w, r3.w, l(0.200000)
  movc r1.y, r1.z, r3.w, r1.y
  lt r1.z, l(0.000000), r1.y
  if_nz r1.z
    add r1.z, r2.w, l(-0.500000)
    add r3.xyz, r3.xyzx, cb0[70].xyzx
    mul r6.xyzw, r3.yyyy, cb0[1].xyzw
    mad r6.xyzw, r3.xxxx, cb0[0].xyzw, r6.xyzw
    mad r3.xyzw, r3.zzzz, cb0[2].xyzw, r6.xyzw
    add r3.xyzw, r3.xyzw, cb0[3].xyzw
    mul r6.xyz, r1.yyyy, cb1[5].xyzx
    mul r7.xyzw, r6.yyyy, cb0[1].xyzw
    mad r7.xyzw, r6.xxxx, cb0[0].xyzw, r7.xyzw
    mad r6.xyzw, r6.zzzz, cb0[2].xyzw, r7.xyzw
    add r6.xyzw, r3.xyzw, r6.xyzw
    mad r3.x, r25.x, r3.w, r3.x
    mad r6.x, r25.x, r6.w, r6.x
    div r7.xyz, r3.xyzx, r3.wwww
    div r6.xyz, r6.xyzx, r6.wwww
    add r6.xyz, -r7.xyzx, r6.xyzx
    mad r8.xy, r7.xyxx, cb0[66].xyxx, cb0[66].wzww
    mul r9.xy, r6.xyxx, cb0[66].xyxx
    mad r3.xy, r1.yyyy, cb0[30].zwzz, r3.zwzz
    div r1.y, r3.x, r3.y
    add r1.y, -r7.z, r1.y
    mul r2.w, |r1.y|, l(0.250000)
    mad r3.xyzw, r1.zzzz, l(0.125000, 0.125000, 0.125000, 0.125000), l(0.125000, 0.250000, 0.375000, 0.500000)
    mov r9.z, r6.z
    mov r8.z, r7.z
    mad r10.xyz, r9.xyzx, r3.xxxx, r8.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r4.w, r10.xyxx, t1.yzwx, s1, l(0.000000)
    add r4.w, -r4.w, r10.z
    mad r4.w, |r1.y|, l(0.250000), r4.w
    lt r4.w, |r4.w|, r2.w
    movc r3.x, r4.w, r3.x, l(-1.000000)
    mad r10.xyz, r9.xyzx, r3.yyyy, r8.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r4.w, r10.xyxx, t1.yzwx, s1, l(0.000000)
    add r4.w, -r4.w, r10.z
    mad r4.w, |r1.y|, l(0.250000), r4.w
    lt r4.w, |r4.w|, r2.w
    lt r6.z, r3.x, l(0.000000)
    and r4.w, r4.w, r6.z
    movc r3.x, r4.w, r3.y, r3.x
    mad r10.xyz, r9.xyzx, r3.zzzz, r8.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r3.y, r10.xyxx, t1.yxzw, s1, l(0.000000)
    add r3.y, -r3.y, r10.z
    mad r3.y, |r1.y|, l(0.250000), r3.y
    lt r3.y, |r3.y|, r2.w
    lt r4.w, r3.x, l(0.000000)
    and r3.y, r3.y, r4.w
    movc r3.x, r3.y, r3.z, r3.x
    mad r10.xyz, r9.xyzx, r3.wwww, r8.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r3.y, r10.xyxx, t1.yxzw, s1, l(0.000000)
    add r3.y, -r3.y, r10.z
    mad r3.y, |r1.y|, l(0.250000), r3.y
    lt r3.y, |r3.y|, r2.w
    lt r3.z, r3.x, l(0.000000)
    and r3.y, r3.z, r3.y
    movc r3.x, r3.y, r3.w, r3.x
    mad r10.xyzw, r1.zzzz, l(0.125000, 0.125000, 0.125000, 0.125000), l(0.625000, 0.750000, 0.875000, 1.000000)
    mad r3.yzw, r9.xxyz, r10.xxxx, r8.xxyz
    sample_l_indexable(texture2d)(float,float,float,float) r1.z, r3.yzyy, t1.yzxw, s1, l(0.000000)
    add r1.z, -r1.z, r3.w
    mad r1.z, |r1.y|, l(0.250000), r1.z
    lt r1.z, |r1.z|, r2.w
    lt r3.y, r3.x, l(0.000000)
    and r1.z, r1.z, r3.y
    movc r1.z, r1.z, r10.x, r3.x
    mad r3.xyz, r9.xyzx, r10.yyyy, r8.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t1.xyzw, s1, l(0.000000)
    add r3.x, -r3.x, r3.z
    mad r3.x, |r1.y|, l(0.250000), r3.x
    lt r3.x, |r3.x|, r2.w
    lt r3.y, r1.z, l(0.000000)
    and r3.x, r3.y, r3.x
    movc r1.z, r3.x, r10.y, r1.z
    mad r3.xyz, r9.xyzx, r10.zzzz, r8.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t1.xyzw, s1, l(0.000000)
    add r3.x, -r3.x, r3.z
    mad r3.x, |r1.y|, l(0.250000), r3.x
    lt r3.x, |r3.x|, r2.w
    lt r3.y, r1.z, l(0.000000)
    and r3.x, r3.y, r3.x
    movc r1.z, r3.x, r10.z, r1.z
    mad r3.xyz, r9.xyzx, r10.wwww, r8.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t1.xyzw, s1, l(0.000000)
    add r3.x, -r3.x, r3.z
    mad r1.y, |r1.y|, l(0.250000), r3.x
    lt r1.y, |r1.y|, r2.w
    lt r2.w, r1.z, l(0.000000)
    and r1.y, r1.y, r2.w
    movc r1.y, r1.y, r10.w, r1.z
    lt r1.z, l(0.000000), r1.y
    and r1.z, r1.z, l(0x3f800000)
    mad r3.xy, r6.xyxx, r1.yyyy, r7.xyxx
    mad r3.xy, |r3.xyxx|, l(6.000000, 6.000000, 0.000000, 0.000000), l(-5.000000, -5.000000, 0.000000, 0.000000)
    max r3.xy, r3.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
    dp2 r1.y, r3.xyxx, r3.xyxx
    add r1.y, -r1.y, l(1.000000)
    max r1.y, r1.y, l(0.000000)
    mad r1.y, -r1.z, r1.y, l(1.000000)
    mul r5.x, r1.y, r5.x
    or r1.z, r5.z, r5.w
    mad r1.y, r1.y, l(0.500000), l(0.500000)
    mul r1.y, r1.y, r5.y
    movc r5.y, r1.z, r5.y, r1.y
  endif
  add r1.y, r5.y, r5.x
  lt r1.y, l(0.000000), r1.y
  if_nz r1.y
    sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, v0.xyxx, t4.xyzw, s4, l(0.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r6.xyzw, v0.xyxx, t5.xyzw, s5, l(0.000000)
    mul r1.yz, v0.xxyx, cb0[135].xxyx
    ftou r1.yz, r1.yyzy
    ftou r2.w, cb0[155].x
    iadd r1.y, r1.z, r1.y
    iadd r1.y, r2.w, r1.y
    and r1.y, r1.y, l(1)
    mad r2.xyz, r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
    dp3 r1.z, r2.xyzx, r2.xyzx
    rsq r1.z, r1.z
    mul r7.xyz, r1.zzzz, r2.xyzx
    and r0.w, r0.w, l(16)
    movc r6.xyzw, r0.wwww, l(0,0,0,0), r6.wxyz
    movc r0.w, r5.z, l(0), r0.x
    mul r2.w, r0.y, l(0.080000)
    mad r8.xyz, -r0.yyyy, l(0.080000, 0.080000, 0.080000, 0.000000), r3.xyzx
    mad r8.xyz, r0.wwww, r8.xyzx, r2.wwww
    ieq r2.w, r1.x, l(5)
    or r2.w, r5.z, r2.w
    lt r4.w, l(0.000000), cb0[159].x
    lt r5.z, l(0.000000), cb0[204].z
    and r4.w, r4.w, r5.z
    ne r5.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[159].x
    movc r9.xyz, r5.zzzz, l(1.000000,1.000000,1.000000,0), r3.xyzx
    movc r5.zw, r1.yyyy, l(0,0,1.000000,0), l(0,0,0,1.000000)
    mul r10.xyz, r5.wwww, r8.xyzx
    mul r10.w, r0.y, r5.w
    movc r9.xyz, r4.wwww, r5.zzzz, r9.xyzx
    mov r8.w, r0.y
    movc r10.xyzw, r4.wwww, r10.xyzw, r8.xyzw
    mov r9.w, r10.w
    mov r3.w, r8.w
    movc r3.xyzw, r2.wwww, r9.xyzw, r3.xyzw
    movc r8.xyz, r2.wwww, r10.xyzx, r8.xyzx
    mad r9.xyz, -r3.xyzx, r0.wwww, r3.xyzx
    mad r9.xyz, r9.xyzx, cb0[139].wwww, cb0[139].xyzx
    mad r8.xyz, r8.xyzx, cb0[140].wwww, cb0[140].xyzx
    mul r0.y, cb1[7].w, l(0.500000)
    mad r10.xyz, -r0.yyyy, cb1[6].xyzx, cb1[5].xyzx
    mad r11.xyz, r0.yyyy, cb1[6].xyzx, cb1[5].xyzx
    lt r0.y, l(0.000000), cb1[7].w
    if_nz r0.y
      dp3 r1.y, r10.xyzx, r10.xyzx
      dp3 r4.w, r11.xyzx, r11.xyzx
      rsq r1.y, r1.y
      rsq r4.w, r4.w
      mul r5.z, r1.y, r4.w
      dp3 r5.w, r10.xyzx, r11.xyzx
      mul r5.w, r5.z, r5.w
      mad r7.w, r5.w, l(0.500000), r5.z
      add r7.w, r7.w, l(0.500000)
      div r5.z, r5.z, r7.w
      dp3 r7.w, r7.xyzx, r10.xyzx
      dp3 r8.w, r7.xyzx, r11.xyzx
      mul r4.w, r4.w, r8.w
      mad r1.y, r7.w, r1.y, r4.w
      mul r1.y, r1.y, l(0.500000)
    else
      dp3 r4.w, r10.xyzx, r10.xyzx
      add r7.w, r4.w, l(1.000000)
      rcp r5.z, r7.w
      rsq r4.w, r4.w
      mul r12.xyz, r4.wwww, r10.xyzx
      dp3 r1.y, r7.xyzx, r12.xyzx
      mov r5.w, l(1.000000)
    endif
    lt r4.w, l(0.000000), cb1[6].w
    mul r7.w, cb1[6].w, cb1[6].w
    mul_sat r5.z, r5.z, r7.w
    sqrt r5.z, r5.z
    lt r7.w, r1.y, r5.z
    max r8.w, r1.y, -r5.z
    add r8.w, r5.z, r8.w
    mul r8.w, r8.w, r8.w
    mul r5.z, r5.z, l(4.000000)
    div r5.z, r8.w, r5.z
    movc r5.z, r7.w, r5.z, r1.y
    movc_sat r1.y, r4.w, r5.z, r1.y
    dp3 r4.w, r4.xyzx, r7.xyzx
    add r4.w, r4.w, r4.w
    mad r12.xyz, r7.xyzx, -r4.wwww, r4.xyzx
    add r11.xyz, -r10.xyzx, r11.xyzx
    dp3 r4.w, r12.xyzx, r11.xyzx
    mad r12.xyz, r4.wwww, r12.xyzx, -r11.xyzx
    dp3 r5.z, r10.xyzx, r12.xyzx
    mul r4.w, r4.w, r4.w
    mad r4.w, cb1[7].w, cb1[7].w, -r4.w
    div_sat r4.w, r5.z, r4.w
    mad r11.xyz, r4.wwww, r11.xyzx, r10.xyzx
    movc r10.xyz, r0.yyyy, r11.xyzx, r10.xyzx
    dp3 r0.y, r10.xyzx, r10.xyzx
    rsq r0.y, r0.y
    mul r11.xyz, r0.yyyy, r10.xyzx
    max r0.z, r0.z, cb0[223].y
    mul r4.w, r0.z, r0.z
    mul r5.z, r0.y, cb1[6].w
    mad r7.w, -r0.z, r0.z, l(1.000000)
    mul_sat r5.z, r5.z, r7.w
    mul_sat r8.w, r0.y, cb1[7].z
    switch r1.x
      case l(1)
      case l(10)
      case l(11)
      dp3 r1.x, r7.xyzx, r11.xyzx
      dp3 r9.w, r7.xyzx, -r4.xyzx
      dp3 r10.w, -r4.xyzx, r11.xyzx
      lt r11.w, l(0.000000), r5.z
      if_nz r11.w
        mad r12.w, -r5.z, r5.z, l(1.000000)
        sqrt r12.w, r12.w
        dp2 r13.w, r9.wwww, r1.xxxx
        add r14.w, -r10.w, r13.w
        ge r15.x, r14.w, r12.w
        if_nz r15.x
          mov r15.x, l(1.000000)
          mov r15.y, |r9.w|
        else
          mad r15.z, -r14.w, r14.w, l(1.000000)
          rsq r15.z, r15.z
          mul r15.z, r5.z, r15.z
          mad r15.w, -r14.w, r1.x, r9.w
          mul r16.x, r15.w, r15.z
          mul r16.y, r9.w, r9.w
          mad r16.y, r16.y, l(2.000000), l(-1.000000)
          mad r14.w, -r14.w, r10.w, r16.y
          mul r14.w, r14.w, r15.z
          mad r16.y, -r1.x, r1.x, l(1.000000)
          mad r16.y, -r9.w, r9.w, r16.y
          mad r16.y, -r10.w, r10.w, r16.y
          mad_sat r13.w, r13.w, r10.w, r16.y
          sqrt r13.w, r13.w
          mul r13.w, r13.w, r15.z
          mul r16.y, r9.w, r13.w
          add r16.z, r16.y, r16.y
          mad r16.w, r1.x, r12.w, r9.w
          mad r15.z, r15.z, r15.w, r16.w
          mad r15.w, r10.w, r12.w, r14.w
          add r15.w, r15.w, l(1.000000)
          mul r17.x, r13.w, r15.w
          mul r17.y, r15.w, r15.z
          mul r17.z, r15.z, r16.z
          mul r16.y, r16.y, r15.z
          mul r16.y, r16.y, l(0.500000)
          mad r16.y, r17.x, l(-0.500000), r16.y
          mul r16.y, r16.y, r17.y
          mad r17.w, -r17.x, l(2.000000), r17.z
          mul r17.z, r17.w, r17.z
          mad r17.x, r17.x, r17.x, r17.z
          mul r17.z, r15.w, r15.w
          mad r15.w, r10.w, r12.w, r15.w
          mad r15.w, r15.w, l(-0.500000), l(-0.500000)
          mul r15.w, r15.w, r17.y
          mad r15.w, r16.w, r17.z, r15.w
          mad r15.z, r15.z, r15.w, r17.x
          add r15.w, r16.y, r16.y
          mul r16.w, r16.y, r16.y
          mad r16.w, r15.z, r15.z, r16.w
          div r15.w, r15.w, r16.w
          mul r15.z, r15.z, r15.w
          mad r15.w, -r15.w, r16.y, l(1.000000)
          mul r13.w, r13.w, r15.z
          mad r13.w, r15.w, r16.x, r13.w
          mul r15.z, r16.z, r15.z
          mad r14.w, r15.w, r14.w, r15.z
          mad r13.w, r1.x, r12.w, r13.w
          mad r12.w, r10.w, r12.w, r14.w
          mad r14.w, r12.w, l(2.000000), l(2.000000)
          rsq r14.w, r14.w
          add r13.w, r9.w, r13.w
          mul_sat r15.x, r14.w, r13.w
          mad_sat r15.y, r14.w, r12.w, r14.w
        endif
      else
        mad r12.w, r10.w, l(2.000000), l(2.000000)
        rsq r12.w, r12.w
        add r1.x, r1.x, r9.w
        mul_sat r15.x, r12.w, r1.x
        mad_sat r15.y, r12.w, r10.w, r12.w
      endif
      add r1.x, |r9.w|, l(0.000010)
      min r1.x, r1.x, l(1.000000)
      mul r16.xyz, r1.yyyy, r9.xyzx
      mul r12.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
      mul r9.w, r4.w, r4.w
      lt r10.w, l(0.000000), r8.w
      mul r12.w, r8.w, r8.w
      mad r13.w, r15.y, l(3.600000), l(0.400000)
      div r12.w, r12.w, r13.w
      mad r12.w, r4.w, r4.w, r12.w
      min r12.w, r12.w, l(1.000000)
      movc r16.x, r10.w, r12.w, r9.w
      mul r9.w, r5.z, l(0.250000)
      ishr r10.w, r16.x, l(1)
      iadd r10.w, r10.w, l(0x1fbd1df5)
      mad r10.w, r10.w, l(3.000000), r5.z
      mul r9.w, r9.w, r10.w
      add r10.w, r15.y, l(0.001000)
      div r9.w, r9.w, r10.w
      add r17.x, r9.w, r16.x
      div r17.y, r16.x, r17.x
      mov r16.y, l(1.000000)
      movc r15.zw, r11.wwww, r17.xxxy, r16.xxxy
      lt r9.w, r5.w, l(1.000000)
      add r11.w, -r5.w, l(1.000100)
      add r12.w, r5.w, l(1.000000)
      div r11.w, r11.w, r12.w
      sqrt r11.w, r11.w
      mul r12.w, r11.w, l(0.250000)
      ishr r13.w, r15.z, l(1)
      iadd r13.w, r13.w, l(0x1fbd1df5)
      mad r11.w, r13.w, l(3.000000), r11.w
      mul r11.w, r11.w, r12.w
      div r10.w, r11.w, r10.w
      add r10.w, r10.w, r15.z
      div r10.w, r15.z, r10.w
      sqrt r10.w, r10.w
      mul r10.w, r10.w, r15.w
      movc r9.w, r9.w, r10.w, r15.w
      mad r10.w, r15.x, r16.x, -r15.x
      mad r10.w, r10.w, r15.x, l(1.000000)
      mul r10.w, r10.w, r10.w
      mul r10.w, r10.w, l(3.14159274)
      div r10.w, r16.x, r10.w
      mul r9.w, r9.w, r10.w
      sqrt r10.w, r16.x
      add r11.w, -r10.w, l(1.000000)
      mad r12.w, r1.x, r11.w, r10.w
      mad r10.w, r1.y, r11.w, r10.w
      mul r1.x, r1.x, r10.w
      mad r1.x, r1.y, r12.w, r1.x
      rcp r1.x, r1.x
      mul r1.x, r1.x, r9.w
      add r9.w, -r15.y, l(1.000000)
      mul r10.w, r9.w, r9.w
      mul r10.w, r10.w, r10.w
      mul r11.w, r9.w, r10.w
      mul_sat r12.w, r8.y, l(50.000000)
      mad r9.w, -r10.w, r9.w, l(1.000000)
      mul r15.xyz, r8.xyzx, r9.wwww
      mad r15.xyz, r12.wwww, r11.wwww, r15.xyzx
      mul r1.x, r1.x, l(0.500000)
      mul r15.xyz, r15.xyzx, r1.xxxx
      mul r13.xyz, r1.yyyy, r15.xyzx
      mov r14.xyz, l(0,0,0,0)
      break
      case l(2)
      dp3 r1.x, r7.xyzx, r11.xyzx
      dp3 r9.w, r7.xyzx, -r4.xyzx
      dp3 r10.w, -r4.xyzx, r11.xyzx
      lt r11.w, l(0.000000), r5.z
      if_nz r11.w
        mad r12.w, -r5.z, r5.z, l(1.000000)
        sqrt r12.w, r12.w
        dp2 r13.w, r9.wwww, r1.xxxx
        add r14.w, -r10.w, r13.w
        ge r15.x, r14.w, r12.w
        if_nz r15.x
          mov r15.x, l(1.000000)
          mov r15.y, |r9.w|
        else
          mad r15.z, -r14.w, r14.w, l(1.000000)
          rsq r15.z, r15.z
          mul r15.z, r5.z, r15.z
          mad r15.w, -r14.w, r1.x, r9.w
          mul r16.x, r15.w, r15.z
          mul r16.y, r9.w, r9.w
          mad r16.y, r16.y, l(2.000000), l(-1.000000)
          mad r14.w, -r14.w, r10.w, r16.y
          mul r14.w, r14.w, r15.z
          mad r16.y, -r1.x, r1.x, l(1.000000)
          mad r16.y, -r9.w, r9.w, r16.y
          mad r16.y, -r10.w, r10.w, r16.y
          mad_sat r13.w, r13.w, r10.w, r16.y
          sqrt r13.w, r13.w
          mul r13.w, r13.w, r15.z
          mul r16.y, r9.w, r13.w
          add r16.z, r16.y, r16.y
          mad r16.w, r1.x, r12.w, r9.w
          mad r15.z, r15.z, r15.w, r16.w
          mad r15.w, r10.w, r12.w, r14.w
          add r15.w, r15.w, l(1.000000)
          mul r17.x, r13.w, r15.w
          mul r17.y, r15.w, r15.z
          mul r17.z, r15.z, r16.z
          mul r16.y, r16.y, r15.z
          mul r16.y, r16.y, l(0.500000)
          mad r16.y, r17.x, l(-0.500000), r16.y
          mul r16.y, r16.y, r17.y
          mad r17.w, -r17.x, l(2.000000), r17.z
          mul r17.z, r17.w, r17.z
          mad r17.x, r17.x, r17.x, r17.z
          mul r17.z, r15.w, r15.w
          mad r15.w, r10.w, r12.w, r15.w
          mad r15.w, r15.w, l(-0.500000), l(-0.500000)
          mul r15.w, r15.w, r17.y
          mad r15.w, r16.w, r17.z, r15.w
          mad r15.z, r15.z, r15.w, r17.x
          add r15.w, r16.y, r16.y
          mul r16.w, r16.y, r16.y
          mad r16.w, r15.z, r15.z, r16.w
          div r15.w, r15.w, r16.w
          mul r15.z, r15.z, r15.w
          mad r15.w, -r15.w, r16.y, l(1.000000)
          mul r13.w, r13.w, r15.z
          mad r13.w, r15.w, r16.x, r13.w
          mul r15.z, r16.z, r15.z
          mad r14.w, r15.w, r14.w, r15.z
          mad r13.w, r1.x, r12.w, r13.w
          mad r12.w, r10.w, r12.w, r14.w
          mad r14.w, r12.w, l(2.000000), l(2.000000)
          rsq r14.w, r14.w
          add r13.w, r9.w, r13.w
          mul_sat r15.x, r14.w, r13.w
          mad_sat r15.y, r14.w, r12.w, r14.w
        endif
      else
        mad r12.w, r10.w, l(2.000000), l(2.000000)
        rsq r12.w, r12.w
        add r1.x, r1.x, r9.w
        mul_sat r15.x, r12.w, r1.x
        mad_sat r15.y, r12.w, r10.w, r12.w
      endif
      add r1.x, |r9.w|, l(0.000010)
      min r1.x, r1.x, l(1.000000)
      mul r16.xyz, r1.yyyy, r9.xyzx
      mul r12.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
      mul r9.w, r4.w, r4.w
      lt r10.w, l(0.000000), r8.w
      mul r12.w, r8.w, r8.w
      mad r13.w, r15.y, l(3.600000), l(0.400000)
      div r12.w, r12.w, r13.w
      mad r12.w, r4.w, r4.w, r12.w
      min r12.w, r12.w, l(1.000000)
      movc r16.x, r10.w, r12.w, r9.w
      mul r9.w, r5.z, l(0.250000)
      ishr r10.w, r16.x, l(1)
      iadd r10.w, r10.w, l(0x1fbd1df5)
      mad r10.w, r10.w, l(3.000000), r5.z
      mul r9.w, r9.w, r10.w
      add r10.w, r15.y, l(0.001000)
      div r9.w, r9.w, r10.w
      add r17.x, r9.w, r16.x
      div r17.y, r16.x, r17.x
      mov r16.y, l(1.000000)
      movc r15.zw, r11.wwww, r17.xxxy, r16.xxxy
      lt r9.w, r5.w, l(1.000000)
      add r11.w, -r5.w, l(1.000100)
      add r12.w, r5.w, l(1.000000)
      div r11.w, r11.w, r12.w
      sqrt r11.w, r11.w
      mul r12.w, r11.w, l(0.250000)
      ishr r13.w, r15.z, l(1)
      iadd r13.w, r13.w, l(0x1fbd1df5)
      mad r11.w, r13.w, l(3.000000), r11.w
      mul r11.w, r11.w, r12.w
      div r10.w, r11.w, r10.w
      add r10.w, r10.w, r15.z
      div r10.w, r15.z, r10.w
      sqrt r10.w, r10.w
      mul r10.w, r10.w, r15.w
      movc r9.w, r9.w, r10.w, r15.w
      mad r10.w, r15.x, r16.x, -r15.x
      mad r10.w, r10.w, r15.x, l(1.000000)
      mul r10.w, r10.w, r10.w
      mul r10.w, r10.w, l(3.14159274)
      div r10.w, r16.x, r10.w
      mul r9.w, r9.w, r10.w
      sqrt r10.w, r16.x
      add r11.w, -r10.w, l(1.000000)
      mad r12.w, r1.x, r11.w, r10.w
      mad r10.w, r1.y, r11.w, r10.w
      mul r1.x, r1.x, r10.w
      mad r1.x, r1.y, r12.w, r1.x
      rcp r1.x, r1.x
      mul r1.x, r1.x, r9.w
      add r9.w, -r15.y, l(1.000000)
      mul r10.w, r9.w, r9.w
      mul r10.w, r10.w, r10.w
      mul r11.w, r9.w, r10.w
      mul_sat r12.w, r8.y, l(50.000000)
      mad r9.w, -r10.w, r9.w, l(1.000000)
      mul r15.xyz, r8.xyzx, r9.wwww
      mad r15.xyz, r12.wwww, r11.wwww, r15.xyzx
      mul r1.x, r1.x, l(0.500000)
      mul r15.xyz, r15.xyzx, r1.xxxx
      mul r13.xyz, r1.yyyy, r15.xyzx
      mul r15.xyz, r6.yzwy, r6.yzwy
      mad r10.xyz, r10.xyzx, r0.yyyy, -r4.xyzx
      dp3 r0.y, r10.xyzx, r10.xyzx
      rsq r0.y, r0.y
      mul r10.xyz, r0.yyyy, r10.xyzx
      dp3_sat r0.y, r11.xyzx, r4.xyzx
      log r0.y, r0.y
      mul r0.y, r0.y, l(12.000000)
      exp r0.y, r0.y
      mad r1.x, r6.x, l(-2.900000), l(3.000000)
      mul r0.y, r0.y, r1.x
      dp3 r1.x, r7.xyzx, r10.xyzx
      mad r1.x, r1.x, r6.x, l(1.000000)
      add_sat r1.x, -r6.x, r1.x
      mul r9.w, r1.x, l(0.159154937)
      mad r1.x, -r1.x, l(0.159154937), l(1.000000)
      mad r0.y, r0.y, r1.x, r9.w
      mul r14.xyz, r15.xyzx, r0.yyyy
      break
      case l(3)
      dp3 r0.y, r7.xyzx, r11.xyzx
      dp3 r1.x, r7.xyzx, -r4.xyzx
      dp3 r9.w, -r4.xyzx, r11.xyzx
      lt r10.x, l(0.000000), r5.z
      if_nz r10.x
        mad r10.y, -r5.z, r5.z, l(1.000000)
        sqrt r10.y, r10.y
        dp2 r10.z, r1.xxxx, r0.yyyy
        add r10.w, -r9.w, r10.z
        ge r11.w, r10.w, r10.y
        if_nz r11.w
          mov r11.w, l(1.000000)
          mov r12.w, |r1.x|
        else
          mad r13.w, -r10.w, r10.w, l(1.000000)
          rsq r13.w, r13.w
          mul r13.w, r5.z, r13.w
          mad r14.w, -r10.w, r0.y, r1.x
          mul r15.x, r13.w, r14.w
          mul r15.y, r1.x, r1.x
          mad r15.y, r15.y, l(2.000000), l(-1.000000)
          mad r10.w, -r10.w, r9.w, r15.y
          mad r15.y, -r0.y, r0.y, l(1.000000)
          mad r15.y, -r1.x, r1.x, r15.y
          mad r15.y, -r9.w, r9.w, r15.y
          mad_sat r10.z, r10.z, r9.w, r15.y
          sqrt r10.z, r10.z
          mul r10.zw, r10.zzzw, r13.wwww
          mul r15.y, r1.x, r10.z
          add r15.z, r15.y, r15.y
          mad r15.w, r0.y, r10.y, r1.x
          mad r13.w, r13.w, r14.w, r15.w
          mad r14.w, r9.w, r10.y, r10.w
          add r14.w, r14.w, l(1.000000)
          mul r16.x, r10.z, r14.w
          mul r16.y, r13.w, r14.w
          mul r16.z, r13.w, r15.z
          mul r15.y, r15.y, r13.w
          mul r15.y, r15.y, l(0.500000)
          mad r15.y, r16.x, l(-0.500000), r15.y
          mul r15.y, r15.y, r16.y
          mad r16.w, -r16.x, l(2.000000), r16.z
          mul r16.z, r16.w, r16.z
          mad r16.x, r16.x, r16.x, r16.z
          mul r16.z, r14.w, r14.w
          mad r14.w, r9.w, r10.y, r14.w
          mad r14.w, r14.w, l(-0.500000), l(-0.500000)
          mul r14.w, r14.w, r16.y
          mad r14.w, r15.w, r16.z, r14.w
          mad r13.w, r13.w, r14.w, r16.x
          add r14.w, r15.y, r15.y
          mul r15.w, r15.y, r15.y
          mad r15.w, r13.w, r13.w, r15.w
          div r14.w, r14.w, r15.w
          mul r13.w, r13.w, r14.w
          mad r14.w, -r14.w, r15.y, l(1.000000)
          mul r10.z, r10.z, r13.w
          mad r10.z, r14.w, r15.x, r10.z
          mul r13.w, r15.z, r13.w
          mad r10.w, r14.w, r10.w, r13.w
          mad r10.z, r0.y, r10.y, r10.z
          mad r10.y, r9.w, r10.y, r10.w
          mad r10.w, r10.y, l(2.000000), l(2.000000)
          rsq r10.w, r10.w
          add r10.z, r1.x, r10.z
          mul_sat r11.w, r10.w, r10.z
          mad_sat r12.w, r10.w, r10.y, r10.w
        endif
      else
        mad r10.y, r9.w, l(2.000000), l(2.000000)
        rsq r10.y, r10.y
        add r10.z, r0.y, r1.x
        mul_sat r11.w, r10.y, r10.z
        mad_sat r12.w, r10.y, r9.w, r10.y
      endif
      add r1.x, |r1.x|, l(0.000010)
      min r1.x, r1.x, l(1.000000)
      mul r10.yzw, r1.yyyy, r9.xxyz
      mul r12.xyz, r10.yzwy, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
      mul r9.w, r4.w, r4.w
      lt r10.y, l(0.000000), r8.w
      mul r10.z, r8.w, r8.w
      mad r10.w, r12.w, l(3.600000), l(0.400000)
      div r10.z, r10.z, r10.w
      mad r10.z, r4.w, r4.w, r10.z
      min r10.z, r10.z, l(1.000000)
      movc r15.x, r10.y, r10.z, r9.w
      mul r9.w, r5.z, l(0.250000)
      ishr r10.y, r15.x, l(1)
      iadd r10.y, r10.y, l(0x1fbd1df5)
      mad r10.y, r10.y, l(3.000000), r5.z
      mul r9.w, r9.w, r10.y
      add r10.y, r12.w, l(0.001000)
      div r9.w, r9.w, r10.y
      add r16.x, r9.w, r15.x
      div r16.y, r15.x, r16.x
      mov r15.y, l(1.000000)
      movc r10.xz, r10.xxxx, r16.xxyx, r15.xxyx
      lt r9.w, r5.w, l(1.000000)
      add r10.w, -r5.w, l(1.000100)
      add r13.w, r5.w, l(1.000000)
      div r10.w, r10.w, r13.w
      sqrt r10.w, r10.w
      mul r13.w, r10.w, l(0.250000)
      ishr r14.w, r10.x, l(1)
      iadd r14.w, r14.w, l(0x1fbd1df5)
      mad r10.w, r14.w, l(3.000000), r10.w
      mul r10.w, r10.w, r13.w
      div r10.y, r10.w, r10.y
      add r10.y, r10.y, r10.x
      div r10.x, r10.x, r10.y
      sqrt r10.x, r10.x
      mul r10.x, r10.x, r10.z
      movc r9.w, r9.w, r10.x, r10.z
      mad r10.x, r11.w, r15.x, -r11.w
      mad r10.x, r10.x, r11.w, l(1.000000)
      mul r10.x, r10.x, r10.x
      mul r10.x, r10.x, l(3.14159274)
      div r10.x, r15.x, r10.x
      mul r9.w, r9.w, r10.x
      sqrt r10.x, r15.x
      add r10.y, -r10.x, l(1.000000)
      mad r10.z, r1.x, r10.y, r10.x
      mad r10.x, r1.y, r10.y, r10.x
      mul r1.x, r1.x, r10.x
      mad r1.x, r1.y, r10.z, r1.x
      rcp r1.x, r1.x
      mul r1.x, r1.x, r9.w
      add r9.w, -r12.w, l(1.000000)
      mul r10.x, r9.w, r9.w
      mul r10.x, r10.x, r10.x
      mul r10.y, r9.w, r10.x
      mul_sat r10.z, r8.y, l(50.000000)
      mad r9.w, -r10.x, r9.w, l(1.000000)
      mul r15.xyz, r8.xyzx, r9.wwww
      mad r10.xyz, r10.zzzz, r10.yyyy, r15.xyzx
      mul r1.x, r1.x, l(0.500000)
      mul r10.xyz, r10.xyzx, r1.xxxx
      mul r13.xyz, r1.yyyy, r10.xyzx
      mul r10.xyz, r6.yzwy, r6.yzwy
      mad_sat r15.x, r0.y, l(0.500000), l(0.500000)
      add r15.y, -r6.x, l(1.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r15.xyz, r15.xyxx, t0.xyzw, s0, l(0.000000)
      mul r14.xyz, r10.xyzx, r15.xyzx
      break
      case l(4)
      max r0.y, r6.z, l(0.020000)
      dp3 r10.x, r7.xyzx, r11.xyzx
      dp3 r1.x, r7.xyzx, -r4.xyzx
      dp3 r9.w, -r4.xyzx, r11.xyzx
      lt r10.w, l(0.000000), r5.z
      if_nz r10.w
        mad r11.w, -r5.z, r5.z, l(1.000000)
        sqrt r11.w, r11.w
        dp2 r12.w, r1.xxxx, r10.xxxx
        add r13.w, -r9.w, r12.w
        ge r14.w, r13.w, r11.w
        if_nz r14.w
          mov r10.z, |r1.x|
          mov r10.y, l(1.000000)
        else
          mad r14.w, -r13.w, r13.w, l(1.000000)
          rsq r14.w, r14.w
          mul r14.w, r5.z, r14.w
          mad r15.x, -r13.w, r10.x, r1.x
          mul r15.y, r14.w, r15.x
          mul r15.z, r1.x, r1.x
          mad r15.z, r15.z, l(2.000000), l(-1.000000)
          mad r13.w, -r13.w, r9.w, r15.z
          mul r13.w, r13.w, r14.w
          mad r15.z, -r10.x, r10.x, l(1.000000)
          mad r15.z, -r1.x, r1.x, r15.z
          mad r15.z, -r9.w, r9.w, r15.z
          mad_sat r12.w, r12.w, r9.w, r15.z
          sqrt r12.w, r12.w
          mul r12.w, r12.w, r14.w
          mul r15.z, r1.x, r12.w
          add r15.w, r15.z, r15.z
          mad r16.x, r10.x, r11.w, r1.x
          mad r14.w, r14.w, r15.x, r16.x
          mad r15.x, r9.w, r11.w, r13.w
          add r15.x, r15.x, l(1.000000)
          mul r16.y, r12.w, r15.x
          mul r16.z, r14.w, r15.x
          mul r16.w, r14.w, r15.w
          mul r15.z, r15.z, r14.w
          mul r15.z, r15.z, l(0.500000)
          mad r15.z, r16.y, l(-0.500000), r15.z
          mad r17.x, -r16.y, l(2.000000), r16.w
          mul r16.w, r16.w, r17.x
          mad r16.y, r16.y, r16.y, r16.w
          mul r16.w, r15.x, r15.x
          mad r15.x, r9.w, r11.w, r15.x
          mad r15.x, r15.x, l(-0.500000), l(-0.500000)
          mul r15.xz, r15.xxzx, r16.zzzz
          mad r15.x, r16.x, r16.w, r15.x
          mad r14.w, r14.w, r15.x, r16.y
          add r15.x, r15.z, r15.z
          mul r16.x, r15.z, r15.z
          mad r16.x, r14.w, r14.w, r16.x
          div r15.x, r15.x, r16.x
          mul r14.w, r14.w, r15.x
          mad r15.x, -r15.x, r15.z, l(1.000000)
          mul r12.w, r12.w, r14.w
          mad r12.w, r15.x, r15.y, r12.w
          mul r14.w, r15.w, r14.w
          mad r13.w, r15.x, r13.w, r14.w
          mad r10.x, r10.x, r11.w, r12.w
          mad r11.w, r9.w, r11.w, r13.w
          mad r12.w, r11.w, l(2.000000), l(2.000000)
          rsq r12.w, r12.w
          add r13.w, r1.x, r10.x
          mul_sat r10.y, r12.w, r13.w
          mad_sat r10.z, r12.w, r11.w, r12.w
        endif
      else
        mad r11.w, r9.w, l(2.000000), l(2.000000)
        rsq r11.w, r11.w
        add r12.w, r1.x, r10.x
        mul_sat r10.y, r11.w, r12.w
        mad_sat r10.z, r11.w, r9.w, r11.w
      endif
      add r1.x, |r1.x|, l(0.000010)
      min r1.x, r1.x, l(1.000000)
      add r9.w, -r10.z, l(1.000000)
      mul r11.w, r9.w, r9.w
      mul r11.w, r11.w, r11.w
      mul r12.w, r9.w, r11.w
      mad r9.w, -r11.w, r9.w, l(1.000000)
      mad r9.w, r9.w, l(0.040000), r12.w
      mul r0.y, r0.y, r0.y
      mul r11.w, r0.y, r0.y
      lt r12.w, l(0.000000), r8.w
      mul r13.w, r8.w, r8.w
      mad r14.w, r10.z, l(3.600000), l(0.400000)
      div r14.w, r13.w, r14.w
      mad r0.y, r0.y, r0.y, r14.w
      min r0.y, r0.y, l(1.000000)
      movc r15.x, r12.w, r0.y, r11.w
      mul r0.y, r5.z, l(0.250000)
      ishr r11.w, r15.x, l(1)
      iadd r11.w, r11.w, l(0x1fbd1df5)
      mad r11.w, r11.w, l(3.000000), r5.z
      mul r11.w, r0.y, r11.w
      add r14.w, r10.z, l(0.001000)
      div r11.w, r11.w, r14.w
      add r16.x, r11.w, r15.x
      div r16.y, r15.x, r16.x
      mov r15.yw, l(0,1.000000,0,1.000000)
      movc r16.xy, r10.wwww, r16.xyxx, r15.xyxx
      lt r11.w, r5.w, l(1.000000)
      add r15.y, -r5.w, l(1.000100)
      add r16.z, r5.w, l(1.000000)
      div r15.y, r15.y, r16.z
      sqrt r15.y, r15.y
      mul r16.z, r15.y, l(0.250000)
      ishr r16.w, r16.x, l(1)
      iadd r16.w, r16.w, l(0x1fbd1df5)
      mad r16.w, r16.w, l(3.000000), r15.y
      mul r16.w, r16.w, r16.z
      div r14.w, r16.w, r14.w
      add r14.w, r14.w, r16.x
      div r14.w, r16.x, r14.w
      sqrt r14.w, r14.w
      mul r14.w, r14.w, r16.y
      movc r14.w, r11.w, r14.w, r16.y
      mad r16.x, r10.y, r15.x, -r10.y
      mad r16.x, r16.x, r10.y, l(1.000000)
      mul r16.x, r16.x, r16.x
      mul r16.x, r16.x, l(3.14159274)
      div r16.x, r15.x, r16.x
      mul r14.w, r14.w, r16.x
      sqrt r15.x, r15.x
      add r16.x, -r15.x, l(1.000000)
      mad r16.y, r1.x, r16.x, r15.x
      mad r15.x, r1.y, r16.x, r15.x
      mul r15.x, r1.x, r15.x
      mad r15.x, r1.y, r16.y, r15.x
      rcp r15.x, r15.x
      mul r14.w, r14.w, r15.x
      mul r14.w, r9.w, r14.w
      mul r14.w, r1.y, r14.w
      mul r14.w, r6.y, r14.w
      add r9.w, -r9.w, l(1.000000)
      mul r9.w, r9.w, r9.w
      mad r15.x, -r10.z, l(0.220000), l(0.630000)
      mad r15.x, r15.x, r10.z, l(-0.745000)
      mul r16.x, r10.y, r15.x
      mad_sat r1.x, r1.x, l(0.666666687), -r16.x
      mad_sat r16.x, r10.x, l(0.666666687), -r16.x
      mad_sat r10.z, r10.z, l(0.666666687), -r15.x
      lt r15.x, l(0.000000), r16.x
      lt r16.y, l(0.000000), r1.x
      and r15.x, r15.x, r16.y
      rcp r16.y, r1.x
      rcp r16.w, r16.x
      add r16.y, r16.w, r16.y
      lt r16.w, l(0.000000), r0.w
      mul r17.xyz, r3.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
      log r17.xyz, r17.xyzx
      mul r17.xyz, r17.xyzx, l(-0.346573591, -0.346573591, -0.346573591, 0.000000)
      add r16.y, r16.y, l(-2.000000)
      max r16.y, r16.y, l(0.000000)
      mul r17.xyz, r16.yyyy, r17.xyzx
      mul r17.xyz, r17.xyzx, l(-1.442695, -1.442695, -1.442695, 0.000000)
      exp r17.xyz, r17.xyzx
      min r17.xyz, r17.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
      add r17.xyz, r17.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
      mad r17.xyz, r0.wwww, r17.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
      movc r17.xyz, r16.wwww, r17.xyzx, l(1.000000,1.000000,1.000000,0)
      and r17.xyz, r15.xxxx, r17.xyzx
      mul r15.x, r4.w, r4.w
      mad r16.y, r10.z, l(3.600000), l(0.400000)
      div r13.w, r13.w, r16.y
      mad r13.w, r4.w, r4.w, r13.w
      min r13.w, r13.w, l(1.000000)
      movc r15.z, r12.w, r13.w, r15.x
      ishr r12.w, r15.z, l(1)
      iadd r12.w, r12.w, l(0x1fbd1df5)
      mad r12.w, r12.w, l(3.000000), r5.z
      mul r0.y, r0.y, r12.w
      add r12.w, r10.z, l(0.001000)
      div r0.y, r0.y, r12.w
      add r18.x, r0.y, r15.z
      div r18.y, r15.z, r18.x
      movc r15.xw, r10.wwww, r18.xxxy, r15.zzzw
      ishr r0.y, r15.x, l(1)
      iadd r0.y, r0.y, l(0x1fbd1df5)
      mad r0.y, r0.y, l(3.000000), r15.y
      mul r0.y, r0.y, r16.z
      div r0.y, r0.y, r12.w
      add r0.y, r0.y, r15.x
      div r0.y, r15.x, r0.y
      sqrt r0.y, r0.y
      mul r0.y, r0.y, r15.w
      movc r0.y, r11.w, r0.y, r15.w
      mul r15.xyw, r0.yyyy, r9.xyxz
      mul r15.xyw, r15.xyxw, l(0.318309873, 0.318309873, 0.000000, 0.318309873)
      mul r10.w, r9.w, r16.x
      mad r16.yzw, r10.wwww, r17.xxyz, -r10.xxxx
      mad r16.yzw, r6.yyyy, r16.yyzw, r10.xxxx
      mul r12.xyz, r15.xywx, r16.yzwy
      mad r10.w, r10.y, r15.z, -r10.y
      mad r10.y, r10.w, r10.y, l(1.000000)
      mul r10.y, r10.y, r10.y
      mul r10.y, r10.y, l(3.14159274)
      div r10.y, r15.z, r10.y
      sqrt r10.w, r15.z
      add r11.w, -r10.w, l(1.000000)
      mad r12.w, r1.x, r11.w, r10.w
      mad r10.w, r16.x, r11.w, r10.w
      mul r1.x, r1.x, r10.w
      mad r1.x, r16.x, r12.w, r1.x
      rcp r1.x, r1.x
      mul r1.x, r1.x, l(0.500000)
      add r10.z, -r10.z, l(1.000000)
      mul r10.w, r10.z, r10.z
      mul r10.w, r10.w, r10.w
      mul r11.w, r10.z, r10.w
      mul_sat r12.w, r8.y, l(50.000000)
      mad r10.z, -r10.w, r10.z, l(1.000000)
      mul r15.xyz, r8.xyzx, r10.zzzz
      mad r15.xyz, r12.wwww, r11.wwww, r15.xyzx
      mul r0.y, r0.y, r10.y
      mul r0.y, r1.x, r0.y
      mul r10.yzw, r15.xxyz, r0.yyyy
      mul r15.xyz, r9.wwww, r17.xyzx
      mad r15.xyz, r15.xyzx, r16.xxxx, -r10.xxxx
      mad r15.xyz, r6.yyyy, r15.xyzx, r10.xxxx
      mul r10.xyz, r10.yzwy, r15.xyzx
      mad r13.xyz, r14.wwww, l(0.500000, 0.500000, 0.500000, 0.000000), r10.xyzx
      mov r14.xyz, l(0,0,0,0)
      break
      case l(5)
      dp3 r0.y, r7.xyzx, r11.xyzx
      dp3 r1.x, r7.xyzx, -r4.xyzx
      dp3 r9.w, -r4.xyzx, r11.xyzx
      lt r10.x, l(0.000000), r5.z
      if_nz r10.x
        mad r10.y, -r5.z, r5.z, l(1.000000)
        sqrt r10.y, r10.y
        dp2 r10.z, r1.xxxx, r0.yyyy
        add r10.w, -r9.w, r10.z
        ge r11.w, r10.w, r10.y
        if_nz r11.w
          mov r11.w, l(1.000000)
          mov r12.w, |r1.x|
        else
          mad r13.w, -r10.w, r10.w, l(1.000000)
          rsq r13.w, r13.w
          mul r13.w, r5.z, r13.w
          mad r14.w, -r10.w, r0.y, r1.x
          mul r15.x, r13.w, r14.w
          mul r15.y, r1.x, r1.x
          mad r15.y, r15.y, l(2.000000), l(-1.000000)
          mad r10.w, -r10.w, r9.w, r15.y
          mad r15.y, -r0.y, r0.y, l(1.000000)
          mad r15.y, -r1.x, r1.x, r15.y
          mad r15.y, -r9.w, r9.w, r15.y
          mad_sat r10.z, r10.z, r9.w, r15.y
          sqrt r10.z, r10.z
          mul r10.zw, r10.zzzw, r13.wwww
          mul r15.y, r1.x, r10.z
          add r15.z, r15.y, r15.y
          mad r15.w, r0.y, r10.y, r1.x
          mad r13.w, r13.w, r14.w, r15.w
          mad r14.w, r9.w, r10.y, r10.w
          add r14.w, r14.w, l(1.000000)
          mul r16.x, r10.z, r14.w
          mul r16.y, r13.w, r14.w
          mul r16.z, r13.w, r15.z
          mul r15.y, r15.y, r13.w
          mul r15.y, r15.y, l(0.500000)
          mad r15.y, r16.x, l(-0.500000), r15.y
          mul r15.y, r15.y, r16.y
          mad r16.w, -r16.x, l(2.000000), r16.z
          mul r16.z, r16.w, r16.z
          mad r16.x, r16.x, r16.x, r16.z
          mul r16.z, r14.w, r14.w
          mad r14.w, r9.w, r10.y, r14.w
          mad r14.w, r14.w, l(-0.500000), l(-0.500000)
          mul r14.w, r14.w, r16.y
          mad r14.w, r15.w, r16.z, r14.w
          mad r13.w, r13.w, r14.w, r16.x
          add r14.w, r15.y, r15.y
          mul r15.w, r15.y, r15.y
          mad r15.w, r13.w, r13.w, r15.w
          div r14.w, r14.w, r15.w
          mul r13.w, r13.w, r14.w
          mad r14.w, -r14.w, r15.y, l(1.000000)
          mul r10.z, r10.z, r13.w
          mad r10.z, r14.w, r15.x, r10.z
          mul r13.w, r15.z, r13.w
          mad r10.w, r14.w, r10.w, r13.w
          mad r10.z, r0.y, r10.y, r10.z
          mad r10.y, r9.w, r10.y, r10.w
          mad r10.w, r10.y, l(2.000000), l(2.000000)
          rsq r10.w, r10.w
          add r10.z, r1.x, r10.z
          mul_sat r11.w, r10.w, r10.z
          mad_sat r12.w, r10.w, r10.y, r10.w
        endif
      else
        mad r10.y, r9.w, l(2.000000), l(2.000000)
        rsq r10.y, r10.y
        add r0.y, r0.y, r1.x
        mul_sat r11.w, r10.y, r0.y
        mad_sat r12.w, r10.y, r9.w, r10.y
      endif
      add r0.y, |r1.x|, l(0.000010)
      min r0.y, r0.y, l(1.000000)
      mul r1.x, r6.x, l(10.000000)
      mad r9.w, r6.y, l(255.000000), l(0.500000)
      ftou r15.y, r9.w
      mov r15.xzw, l(5,0,0,0)
      ld_indexable(texture2d)(float,float,float,float) r10.yzw, r15.xyzw, t9.wxyz
      dp2_sat r9.w, r10.yyyy, r0.zzzz
      max r9.w, r9.w, l(0.020000)
      dp2_sat r10.y, r10.zzzz, r0.zzzz
      mov_sat r1.x, r1.x
      add r9.w, r9.w, l(-1.000000)
      mad r9.w, r1.x, r9.w, l(1.000000)
      add r10.y, r10.y, l(-1.000000)
      mad r1.x, r1.x, r10.y, l(1.000000)
      mul r10.y, r12.w, r12.w
      dp2 r10.y, r10.yyyy, r0.zzzz
      add r10.y, r10.y, l(-0.500000)
      add r10.z, -r0.y, l(1.000000)
      mul r13.w, r10.z, r10.z
      mul r13.w, r13.w, r13.w
      mul r10.z, r10.z, r13.w
      mad r10.z, r10.y, r10.z, l(1.000000)
      add r13.w, -r1.y, l(1.000000)
      mul r14.w, r13.w, r13.w
      mul r14.w, r14.w, r14.w
      mul r13.w, r13.w, r14.w
      mad r10.y, r10.y, r13.w, l(1.000000)
      mul r10.y, r10.z, r10.y
      mul r10.y, r10.y, l(0.318309873)
      mul r15.xyz, r9.xyzx, r10.yyyy
      mul r12.xyz, r1.yyyy, r15.xyzx
      mul r9.w, r9.w, r9.w
      mul r10.y, r9.w, r9.w
      mul r1.x, r1.x, r1.x
      mul r10.z, r1.x, r1.x
      lt r13.w, l(0.000000), r8.w
      mul r14.w, r8.w, r8.w
      mad r15.x, r12.w, l(3.600000), l(0.400000)
      div r14.w, r14.w, r15.x
      mad r9.w, r9.w, r9.w, r14.w
      min r9.w, r9.w, l(1.000000)
      movc r15.x, r13.w, r9.w, r10.y
      mul r9.w, r5.z, l(0.250000)
      ishr r10.y, r15.x, l(1)
      iadd r10.y, r10.y, l(0x1fbd1df5)
      mad r10.y, r10.y, l(3.000000), r5.z
      mul r10.y, r9.w, r10.y
      add r16.x, r12.w, l(0.001000)
      div r10.y, r10.y, r16.x
      add r17.x, r10.y, r15.x
      div r17.y, r15.x, r17.x
      mov r15.yw, l(0,1.000000,0,1.000000)
      movc r16.yz, r10.xxxx, r17.xxyx, r15.xxyx
      lt r10.y, r5.w, l(1.000000)
      add r15.y, -r5.w, l(1.000100)
      add r16.w, r5.w, l(1.000000)
      div r15.y, r15.y, r16.w
      sqrt r15.y, r15.y
      mul r16.w, r15.y, l(0.250000)
      ishr r17.x, r16.y, l(1)
      iadd r17.x, r17.x, l(0x1fbd1df5)
      mad r17.x, r17.x, l(3.000000), r15.y
      mul r17.x, r16.w, r17.x
      div r17.x, r17.x, r16.x
      add r17.x, r16.y, r17.x
      div r16.y, r16.y, r17.x
      sqrt r16.y, r16.y
      mul r16.y, r16.y, r16.z
      movc r16.y, r10.y, r16.y, r16.z
      mad r1.x, r1.x, r1.x, r14.w
      min r1.x, r1.x, l(1.000000)
      movc r15.z, r13.w, r1.x, r10.z
      ishr r1.x, r15.z, l(1)
      iadd r1.x, r1.x, l(0x1fbd1df5)
      mad r1.x, r1.x, l(3.000000), r5.z
      mul r1.x, r1.x, r9.w
      div r1.x, r1.x, r16.x
      add r17.x, r1.x, r15.z
      div r17.y, r15.z, r17.x
      movc r10.xz, r10.xxxx, r17.xxyx, r15.zzwz
      ishr r1.x, r10.x, l(1)
      iadd r1.x, r1.x, l(0x1fbd1df5)
      mad r1.x, r1.x, l(3.000000), r15.y
      mul r1.x, r1.x, r16.w
      div r1.x, r1.x, r16.x
      add r1.x, r1.x, r10.x
      div r1.x, r10.x, r1.x
      sqrt r1.x, r1.x
      mul r1.x, r1.x, r10.z
      movc r1.x, r10.y, r1.x, r10.z
      mad r10.xy, r11.wwww, r15.xzxx, -r11.wwww
      mad r10.xy, r10.xyxx, r11.wwww, l(1.000000, 1.000000, 0.000000, 0.000000)
      mul r10.xy, r10.xyxx, r10.xyxx
      mul r10.xy, r10.xyxx, l(3.14159274, 3.14159274, 0.000000, 0.000000)
      div r10.xy, r15.xzxx, r10.xyxx
      mul r9.w, r16.y, r10.x
      mad r1.x, r10.y, r1.x, -r9.w
      mad r1.x, r10.w, r1.x, r9.w
      mad r9.w, r0.y, r7.w, r4.w
      mad r7.w, r1.y, r7.w, r4.w
      mul r0.y, r0.y, r7.w
      mad r0.y, r1.y, r9.w, r0.y
      rcp r0.y, r0.y
      mul r0.y, r0.y, r1.x
      add r1.x, -r12.w, l(1.000000)
      mul r7.w, r1.x, r1.x
      mul r7.w, r7.w, r7.w
      mul r9.w, r1.x, r7.w
      mul_sat r10.x, r8.y, l(50.000000)
      mad r1.x, -r7.w, r1.x, l(1.000000)
      mul r10.yzw, r8.xxyz, r1.xxxx
      mad r10.xyz, r10.xxxx, r9.wwww, r10.yzwy
      mul r0.y, r0.y, l(0.500000)
      mul r10.xyz, r10.xyzx, r0.yyyy
      mul r13.xyz, r1.yyyy, r10.xyzx
      mov r14.xyz, l(0,0,0,0)
      break
      case l(6)
      dp3 r0.y, r7.xyzx, r11.xyzx
      dp3 r1.x, r7.xyzx, -r4.xyzx
      dp3 r7.w, -r4.xyzx, r11.xyzx
      lt r9.w, l(0.000000), r5.z
      if_nz r9.w
        mad r10.x, -r5.z, r5.z, l(1.000000)
        sqrt r10.x, r10.x
        dp2 r10.y, r1.xxxx, r0.yyyy
        add r10.z, -r7.w, r10.y
        ge r10.w, r10.z, r10.x
        if_nz r10.w
          mov r10.w, l(1.000000)
          mov r11.w, |r1.x|
        else
          mad r12.w, -r10.z, r10.z, l(1.000000)
          rsq r12.w, r12.w
          mul r12.w, r5.z, r12.w
          mad r13.w, -r10.z, r0.y, r1.x
          mul r14.w, r12.w, r13.w
          mul r15.x, r1.x, r1.x
          mad r15.x, r15.x, l(2.000000), l(-1.000000)
          mad r10.z, -r10.z, r7.w, r15.x
          mad r15.x, -r0.y, r0.y, l(1.000000)
          mad r15.x, -r1.x, r1.x, r15.x
          mad r15.x, -r7.w, r7.w, r15.x
          mad_sat r10.y, r10.y, r7.w, r15.x
          sqrt r10.y, r10.y
          mul r10.yz, r10.yyzy, r12.wwww
          mul r15.x, r1.x, r10.y
          add r15.y, r15.x, r15.x
          mad r15.z, r0.y, r10.x, r1.x
          mad r12.w, r12.w, r13.w, r15.z
          mad r13.w, r7.w, r10.x, r10.z
          add r13.w, r13.w, l(1.000000)
          mul r15.w, r10.y, r13.w
          mul r16.x, r12.w, r13.w
          mul r16.y, r12.w, r15.y
          mul r15.x, r15.x, r12.w
          mul r15.x, r15.x, l(0.500000)
          mad r15.x, r15.w, l(-0.500000), r15.x
          mul r15.x, r15.x, r16.x
          mad r16.z, -r15.w, l(2.000000), r16.y
          mul r16.y, r16.z, r16.y
          mad r15.w, r15.w, r15.w, r16.y
          mul r16.y, r13.w, r13.w
          mad r13.w, r7.w, r10.x, r13.w
          mad r13.w, r13.w, l(-0.500000), l(-0.500000)
          mul r13.w, r13.w, r16.x
          mad r13.w, r15.z, r16.y, r13.w
          mad r12.w, r12.w, r13.w, r15.w
          add r13.w, r15.x, r15.x
          mul r15.z, r15.x, r15.x
          mad r15.z, r12.w, r12.w, r15.z
          div r13.w, r13.w, r15.z
          mul r12.w, r12.w, r13.w
          mad r13.w, -r13.w, r15.x, l(1.000000)
          mul r10.y, r10.y, r12.w
          mad r10.y, r13.w, r14.w, r10.y
          mul r12.w, r15.y, r12.w
          mad r10.z, r13.w, r10.z, r12.w
          mad r10.y, r0.y, r10.x, r10.y
          mad r10.x, r7.w, r10.x, r10.z
          mad r10.z, r10.x, l(2.000000), l(2.000000)
          rsq r10.z, r10.z
          add r10.y, r1.x, r10.y
          mul_sat r10.w, r10.z, r10.y
          mad_sat r11.w, r10.z, r10.x, r10.z
        endif
      else
        mad r10.x, r7.w, l(2.000000), l(2.000000)
        rsq r10.x, r10.x
        add r10.y, r0.y, r1.x
        mul_sat r10.w, r10.x, r10.y
        mad_sat r11.w, r10.x, r7.w, r10.x
      endif
      add r1.x, |r1.x|, l(0.000010)
      min r1.x, r1.x, l(1.000000)
      mul r10.xyz, r1.yyyy, r9.xyzx
      mul r12.xyz, r10.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
      mul r10.x, r4.w, r4.w
      lt r10.y, l(0.000000), r8.w
      mul r10.z, r8.w, r8.w
      mad r12.w, r11.w, l(3.600000), l(0.400000)
      div r10.z, r10.z, r12.w
      mad r10.z, r4.w, r4.w, r10.z
      min r10.z, r10.z, l(1.000000)
      movc r10.x, r10.y, r10.z, r10.x
      mul r10.z, r5.z, l(0.250000)
      ishr r12.w, r10.x, l(1)
      iadd r12.w, r12.w, l(0x1fbd1df5)
      mad r12.w, r12.w, l(3.000000), r5.z
      mul r10.z, r10.z, r12.w
      add r12.w, r11.w, l(0.001000)
      div r10.z, r10.z, r12.w
      add r15.x, r10.z, r10.x
      div r15.y, r10.x, r15.x
      mov r10.y, l(1.000000)
      movc r10.yz, r9.wwww, r15.xxyx, r10.xxyx
      lt r9.w, r5.w, l(1.000000)
      add r13.w, -r5.w, l(1.000100)
      add r14.w, r5.w, l(1.000000)
      div r13.w, r13.w, r14.w
      sqrt r13.w, r13.w
      mul r14.w, r13.w, l(0.250000)
      ishr r15.x, r10.y, l(1)
      iadd r15.x, r15.x, l(0x1fbd1df5)
      mad r13.w, r15.x, l(3.000000), r13.w
      mul r13.w, r13.w, r14.w
      div r12.w, r13.w, r12.w
      add r12.w, r10.y, r12.w
      div r10.y, r10.y, r12.w
      sqrt r10.y, r10.y
      mul r10.y, r10.y, r10.z
      movc r9.w, r9.w, r10.y, r10.z
      mad r10.y, r10.w, r10.x, -r10.w
      mad r10.y, r10.y, r10.w, l(1.000000)
      mul r10.y, r10.y, r10.y
      mul r10.y, r10.y, l(3.14159274)
      div r10.y, r10.x, r10.y
      mul r9.w, r9.w, r10.y
      sqrt r10.x, r10.x
      add r10.y, -r10.x, l(1.000000)
      mad r10.z, r1.x, r10.y, r10.x
      mad r10.x, r1.y, r10.y, r10.x
      mul r1.x, r1.x, r10.x
      mad r1.x, r1.y, r10.z, r1.x
      rcp r1.x, r1.x
      mul r1.x, r1.x, r9.w
      add r9.w, -r11.w, l(1.000000)
      mul r10.x, r9.w, r9.w
      mul r10.x, r10.x, r10.x
      mul r10.y, r9.w, r10.x
      mul_sat r10.z, r8.y, l(50.000000)
      mad r9.w, -r10.x, r9.w, l(1.000000)
      mul r15.xyz, r8.xyzx, r9.wwww
      mad r10.xyz, r10.zzzz, r10.yyyy, r15.xyzx
      mul r1.x, r1.x, l(0.500000)
      mul r10.xyz, r10.xyzx, r1.xxxx
      mul r13.xyz, r1.yyyy, r10.xyzx
      mul r10.xyz, r6.yzwy, r6.yzwy
      add r0.y, -r0.y, l(0.500000)
      mul_sat r0.y, r0.y, l(0.444444448)
      mov_sat r7.w, -r7.w
      mul r1.x, r7.w, r7.w
      mad r1.x, r1.x, l(-0.640000), l(1.000000)
      mul r1.x, r1.x, r1.x
      mul r1.x, r1.x, l(3.14159274)
      div r1.x, l(0.360000), r1.x
      mul r0.y, r0.y, r1.x
      mul r14.xyz, r10.xyzx, r0.yyyy
      break
      case l(7)
      max r0.y, r0.z, l(0.00392156886)
      min r0.y, r0.y, l(1.000000)
      dp3 r0.z, -r4.xyzx, r11.xyzx
      dp3 r1.x, r7.xyzx, r11.xyzx
      dp3 r7.w, r7.xyzx, -r4.xyzx
      mad r9.w, |r7.w|, l(-0.156583), l(1.57079637)
      add r10.x, -|r7.w|, l(1.000000)
      sqrt r10.x, r10.x
      mul r10.y, r9.w, r10.x
      ge r10.z, r7.w, l(0.000000)
      mad r9.w, -r9.w, r10.x, l(3.14159274)
      movc r9.w, r10.z, r10.y, r9.w
      add r9.w, -r9.w, l(1.57079637)
      mad r10.x, |r1.x|, l(-0.156583), l(1.57079637)
      add r10.y, -|r1.x|, l(1.000000)
      sqrt r10.z, r10.y
      mul r10.w, r10.z, r10.x
      ge r11.w, r1.x, l(0.000000)
      mad r10.x, -r10.x, r10.z, l(3.14159274)
      movc r10.x, r11.w, r10.w, r10.x
      add r10.x, -r10.x, l(1.57079637)
      add r9.w, r9.w, -r10.x
      mul r9.w, |r9.w|, l(0.500000)
      sincos null, r9.w, r9.w
      mad r10.xzw, -r1.xxxx, r7.xxyz, r11.xxyz
      mad r15.xyz, -r7.wwww, r7.xyzx, -r4.xyzx
      dp3 r11.w, r10.xzwx, r15.xyzx
      dp3 r10.x, r10.xzwx, r10.xzwx
      dp3 r10.z, r15.xyzx, r15.xyzx
      mad r10.x, r10.x, r10.z, l(0.000100)
      rsq r10.x, r10.x
      mul r10.x, r10.x, r11.w
      mad r16.xyz, r10.xxxx, l(0.500000, -3.650000, 17.000000, 0.000000), l(0.500000, -3.980000, -16.780001, 0.000000)
      mov_sat r16.x, r16.x
      sqrt r10.w, r16.x
      div r16.xw, l(1.190000, 0.000000, 0.000000, 0.800000), r9.wwww
      mad r11.w, r9.w, l(0.360000), r16.x
      mul r0.y, r0.y, r0.y
      mul r17.xyz, r0.yyyy, l(0.500000, 1.25331414, 5.01325655, 0.000000)
      add r12.w, r0.y, r0.y
      mul r13.w, r10.w, l(0.997551)
      mad r14.w, -r7.w, r7.w, l(1.000000)
      sqrt r14.w, r14.w
      mul r15.w, r7.w, l(-0.0699428469)
      mad r13.w, r13.w, r14.w, r15.w
      mul r0.y, r10.w, r0.y
      mul r18.xy, r0.yyyy, l(1.41421354, 3.54490757, 0.000000, 0.000000)
      add r0.y, r1.x, r7.w
      mad r1.x, -r13.w, l(-0.139885694), r0.y
      mul r1.x, r1.x, r1.x
      mul r1.x, r1.x, l(-0.500000)
      mul r7.w, r18.x, r18.x
      div r1.x, r1.x, r7.w
      mul r1.x, r1.x, l(1.442695)
      exp r1.x, r1.x
      div r1.x, r1.x, r18.y
      mul r1.x, r10.w, r1.x
      mad_sat r0.z, r0.z, l(0.500000), l(0.500000)
      sqrt r0.z, r0.z
      add r0.z, -r0.z, l(1.000000)
      mul r7.w, r0.z, r0.z
      mul r7.w, r7.w, r7.w
      mul r0.z, r0.z, r7.w
      mad r0.z, r0.z, l(0.953479409), l(0.0465205684)
      mul r0.z, r1.x, r0.z
      mul r0.z, r3.w, r0.z
      add r18.xy, r0.yyyy, l(-0.035000, -0.140000, 0.000000, 0.000000)
      mul r18.xy, r18.xyxx, r18.xyxx
      mul r18.xy, r18.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
      mul r0.y, r17.x, r17.x
      div r0.y, r18.x, r0.y
      mul r0.y, r0.y, l(1.442695)
      exp r0.y, r0.y
      div r0.y, r0.y, r17.y
      div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r11.w
      mad r7.w, -r10.x, l(0.800000), l(0.600000)
      mad r7.w, r1.x, r7.w, l(1.000000)
      mul r7.w, r7.w, r10.w
      mad r10.x, -r7.w, r7.w, l(1.000000)
      max r10.x, r10.x, l(0.000000)
      sqrt r10.x, r10.x
      mad r10.x, -r9.w, r10.x, l(1.000000)
      mul r10.w, r10.x, r10.x
      mul r10.w, r10.w, r10.w
      mul r10.x, r10.x, r10.w
      mad r10.x, r10.x, l(0.953479409), l(0.0465205684)
      add r10.x, -r10.x, l(1.000000)
      mul r10.x, r10.x, r10.x
      mul r1.x, r1.x, r7.w
      mad r1.x, -r1.x, r1.x, l(1.000000)
      sqrt r1.x, r1.x
      mul r1.x, r1.x, l(0.500000)
      div r1.x, r1.x, r9.w
      log r17.xyw, r3.xyxz
      mul r18.xzw, r1.xxxx, r17.xxyw
      exp r18.xzw, r18.xxzw
      mul r16.xy, r16.yzyy, l(1.442695, 1.442695, 0.000000, 0.000000)
      exp r16.xy, r16.xyxx
      mul r0.y, r0.y, r16.x
      mul r0.y, r10.x, r0.y
      mul r18.xzw, r18.xxzw, r0.yyyy
      mad r18.xzw, r0.zzzz, l(0.500000, 0.000000, 0.500000, 0.500000), r18.xxzw
      mul r0.y, r12.w, r12.w
      div r0.y, r18.y, r0.y
      mul r0.y, r0.y, l(1.442695)
      exp r0.y, r0.y
      div r0.y, r0.y, r17.z
      mad r0.z, -r9.w, l(0.500000), l(1.000000)
      mul r1.x, r0.z, r0.z
      mul r1.x, r1.x, r1.x
      mul r0.z, r0.z, r1.x
      mad r0.z, r0.z, l(0.953479409), l(0.0465205684)
      add r1.x, -r0.z, l(1.000000)
      mul r1.x, r1.x, r1.x
      mul r0.z, r0.z, r1.x
      mul r16.xzw, r16.wwww, r17.xxyw
      exp r16.xzw, r16.xxzw
      mul r0.y, r16.y, r0.y
      mul r0.y, r0.z, r0.y
      mad r16.xyz, r0.yyyy, r16.xzwx, r18.xzwx
      rsq r0.y, r10.z
      mul r10.xzw, r0.yyyy, r15.xxyz
      dp3 r0.y, r10.xzwx, r11.xyzx
      add r0.y, r0.y, l(1.000000)
      mul_sat r0.y, r0.y, l(0.250000)
      add r0.z, -r0.y, r10.y
      mad r0.y, r0.z, l(0.330000), r0.y
      mul r0.y, r0.y, r0.w
      mul r0.y, r0.y, l(0.318309873)
      dp3 r0.z, r3.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
      div r10.xyz, r3.xyzx, r0.zzzz
      add r0.z, -r5.y, l(1.000000)
      log r10.xyz, r10.xyzx
      mul r10.xyz, r0.zzzz, r10.xyzx
      exp r10.xyz, r10.xyzx
      sqrt r3.xyz, r3.xyzx
      mul r0.yzw, r0.yyyy, r3.xxyz
      mad r0.yzw, r0.yyzw, r10.xxyz, r16.xxyz
      min r14.xyz, -r0.yzwy, l(0.000000, 0.000000, 0.000000, 0.000000)
      mov r12.xyz, l(0,0,0,0)
      mov r13.xyz, l(0,0,0,0)
      mov r14.xyz, -r14.xyzx
      break
      case l(8)
      mul r0.yzw, r6.yyzw, r6.yyzw
      mov_sat r6.x, r6.x
      dp3 r1.x, r7.xyzx, r11.xyzx
      dp3 r3.x, r7.xyzx, -r4.xyzx
      dp3 r3.y, -r4.xyzx, r11.xyzx
      lt r3.z, l(0.000000), r5.z
      if_nz r3.z
        mad r6.y, -r5.z, r5.z, l(1.000000)
        sqrt r6.y, r6.y
        dp2 r7.w, r3.xxxx, r1.xxxx
        add r9.w, -r3.y, r7.w
        ge r10.x, r9.w, r6.y
        if_nz r10.x
          mov r10.x, l(1.000000)
          mov r10.y, |r3.x|
        else
          mad r10.z, -r9.w, r9.w, l(1.000000)
          rsq r10.z, r10.z
          mul r10.z, r5.z, r10.z
          mad r10.w, -r9.w, r1.x, r3.x
          mul r11.w, r10.w, r10.z
          mul r12.w, r3.x, r3.x
          mad r12.w, r12.w, l(2.000000), l(-1.000000)
          mad r9.w, -r9.w, r3.y, r12.w
          mul r9.w, r9.w, r10.z
          mad r12.w, -r1.x, r1.x, l(1.000000)
          mad r12.w, -r3.x, r3.x, r12.w
          mad r12.w, -r3.y, r3.y, r12.w
          mad_sat r7.w, r7.w, r3.y, r12.w
          sqrt r7.w, r7.w
          mul r7.w, r7.w, r10.z
          mul r12.w, r3.x, r7.w
          add r13.w, r12.w, r12.w
          mad r14.w, r1.x, r6.y, r3.x
          mad r10.z, r10.z, r10.w, r14.w
          mad r10.w, r3.y, r6.y, r9.w
          add r10.w, r10.w, l(1.000000)
          mul r15.x, r7.w, r10.w
          mul r15.y, r10.w, r10.z
          mul r15.z, r10.z, r13.w
          mul r12.w, r12.w, r10.z
          mul r12.w, r12.w, l(0.500000)
          mad r12.w, r15.x, l(-0.500000), r12.w
          mul r12.w, r12.w, r15.y
          mad r15.w, -r15.x, l(2.000000), r15.z
          mul r15.z, r15.w, r15.z
          mad r15.x, r15.x, r15.x, r15.z
          mul r15.z, r10.w, r10.w
          mad r10.w, r3.y, r6.y, r10.w
          mad r10.w, r10.w, l(-0.500000), l(-0.500000)
          mul r10.w, r10.w, r15.y
          mad r10.w, r14.w, r15.z, r10.w
          mad r10.z, r10.z, r10.w, r15.x
          add r10.w, r12.w, r12.w
          mul r14.w, r12.w, r12.w
          mad r14.w, r10.z, r10.z, r14.w
          div r10.w, r10.w, r14.w
          mul r10.z, r10.z, r10.w
          mad r10.w, -r10.w, r12.w, l(1.000000)
          mul r7.w, r7.w, r10.z
          mad r7.w, r10.w, r11.w, r7.w
          mul r10.z, r13.w, r10.z
          mad r9.w, r10.w, r9.w, r10.z
          mad r7.w, r1.x, r6.y, r7.w
          mad r6.y, r3.y, r6.y, r9.w
          mad r9.w, r6.y, l(2.000000), l(2.000000)
          rsq r9.w, r9.w
          add r7.w, r3.x, r7.w
          mul_sat r10.x, r9.w, r7.w
          mad_sat r10.y, r9.w, r6.y, r9.w
        endif
      else
        mad r6.y, r3.y, l(2.000000), l(2.000000)
        rsq r6.y, r6.y
        add r1.x, r1.x, r3.x
        mul_sat r10.x, r6.y, r1.x
        mad_sat r10.y, r6.y, r3.y, r6.y
      endif
      add r1.x, |r3.x|, l(0.000010)
      min r1.x, r1.x, l(1.000000)
      mul r3.x, r4.w, r4.w
      lt r3.y, l(0.000000), r8.w
      mul r6.y, r8.w, r8.w
      mad r7.w, r10.y, l(3.600000), l(0.400000)
      div r6.y, r6.y, r7.w
      mad r6.y, r4.w, r4.w, r6.y
      min r6.y, r6.y, l(1.000000)
      movc r15.x, r3.y, r6.y, r3.x
      mul r3.y, r5.z, l(0.250000)
      ishr r6.y, r15.x, l(1)
      iadd r6.y, r6.y, l(0x1fbd1df5)
      mad r6.y, r6.y, l(3.000000), r5.z
      mul r3.y, r3.y, r6.y
      add r6.y, r10.y, l(0.001000)
      div r3.y, r3.y, r6.y
      add r16.x, r3.y, r15.x
      div r16.y, r15.x, r16.x
      mov r15.y, l(1.000000)
      movc r3.yz, r3.zzzz, r16.xxyx, r15.xxyx
      lt r7.w, r5.w, l(1.000000)
      add r9.w, -r5.w, l(1.000100)
      add r10.z, r5.w, l(1.000000)
      div r9.w, r9.w, r10.z
      sqrt r9.w, r9.w
      mul r10.z, r9.w, l(0.250000)
      ishr r10.w, r3.y, l(1)
      iadd r10.w, r10.w, l(0x1fbd1df5)
      mad r9.w, r10.w, l(3.000000), r9.w
      mul r9.w, r9.w, r10.z
      div r6.y, r9.w, r6.y
      add r6.y, r3.y, r6.y
      div r3.y, r3.y, r6.y
      sqrt r3.y, r3.y
      mul r3.y, r3.y, r3.z
      movc r3.y, r7.w, r3.y, r3.z
      mad r3.z, r10.x, r15.x, -r10.x
      mad r3.z, r3.z, r10.x, l(1.000000)
      mul r3.z, r3.z, r3.z
      mul r3.z, r3.z, l(3.14159274)
      div r3.z, r15.x, r3.z
      mul r3.y, r3.y, r3.z
      sqrt r3.z, r15.x
      add r6.y, -r3.z, l(1.000000)
      mad r7.w, r1.x, r6.y, r3.z
      mad r3.z, r1.y, r6.y, r3.z
      mul r3.z, r1.x, r3.z
      mad r3.z, r1.y, r7.w, r3.z
      rcp r3.z, r3.z
      mul r3.y, r3.z, r3.y
      add r3.z, -r10.y, l(1.000000)
      mul r6.y, r3.z, r3.z
      mul r6.y, r6.y, r6.y
      mul r7.w, r3.z, r6.y
      mul_sat r9.w, r8.y, l(50.000000)
      mad r3.z, -r6.y, r3.z, l(1.000000)
      mul r8.xyz, r8.xyzx, r3.zzzz
      mad r8.xyz, r9.wwww, r7.wwww, r8.xyzx
      mul r3.y, r3.y, l(0.500000)
      mul r8.xyz, r8.xyzx, r3.yyyy
      mul r8.xyz, r1.yyyy, r8.xyzx
      mad r3.y, -r3.x, r10.x, r10.x
      mad r3.y, r3.y, r10.x, r3.x
      mul r6.y, r3.x, l(4.000000)
      mad r9.w, r3.x, l(4.000000), l(1.000000)
      mul r9.w, r9.w, l(3.14159274)
      rcp r9.w, r9.w
      mul r3.x, r3.x, r6.y
      mul r3.y, r3.y, r3.y
      div r3.x, r3.x, r3.y
      add r3.x, r3.x, l(1.000000)
      mul r3.x, r3.x, r9.w
      add r3.y, r1.x, r1.y
      mad r1.x, -r1.y, r1.x, r3.y
      mul r1.x, r1.x, l(4.000000)
      rcp r1.x, r1.x
      mul r3.y, r0.z, l(50.000000)
      min r3.y, r3.y, l(1.000000)
      mul r0.yzw, r0.yyzw, r3.zzzz
      mad r0.yzw, r3.yyyy, r7.wwww, r0.yyzw
      mul r1.x, r1.x, r3.x
      mul r1.x, r1.x, r1.y
      mul r3.xyz, r1.yyyy, r9.xyzx
      mul r12.xyz, r3.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
      mad r0.yzw, r1.xxxx, r0.yyzw, -r8.xxyz
      mad r13.xyz, r6.xxxx, r0.yzwy, r8.xyzx
      mov r14.xyz, l(0,0,0,0)
      break
      case l(9)
      mad r0.yz, r6.zzwz, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
      dp2 r0.w, l(1.000000, 1.000000, 0.000000, 0.000000), |r0.yzyy|
      add r3.z, -r0.w, l(1.000000)
      lt r0.w, r3.z, l(0.000000)
      add r6.yz, -|r0.zzyz|, l(0.000000, 1.000000, 1.000000, 0.000000)
      ge r8.xy, r0.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000)
      movc r8.xy, r8.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
      mul r6.yz, r6.yyzy, r8.xxyx
      movc r3.xy, r0.wwww, r6.yzyy, r0.yzyy
      dp3 r0.y, r3.xyzx, r3.xyzx
      rsq r0.y, r0.y
      mul r0.yzw, r0.yyyy, r3.xxyz
      add r1.x, -r6.x, l(1.000000)
      mul r0.x, r0.x, r1.x
      mad r2.xyz, -r2.xyzx, r1.zzzz, -r0.yzwy
      mad r2.xyz, r0.xxxx, r2.xyzx, r0.yzwy
      dp3 r0.x, r2.xyzx, r2.xyzx
      rsq r0.x, r0.x
      mul r2.xyz, r0.xxxx, r2.xyzx
      dp3 r0.x, r7.xyzx, r11.xyzx
      dp3 r1.z, r7.xyzx, -r4.xyzx
      dp3 r3.x, -r4.xyzx, r11.xyzx
      lt r3.y, l(0.000000), r5.z
      if_nz r3.y
        mad r3.z, -r5.z, r5.z, l(1.000000)
        sqrt r3.z, r3.z
        dp2 r4.x, r1.zzzz, r0.xxxx
        add r4.x, -r3.x, r4.x
        ge r4.y, r4.x, r3.z
        if_nz r4.y
          mov r4.y, l(1.000000)
          mov r4.z, |r1.z|
        else
          mad r6.x, -r4.x, r4.x, l(1.000000)
          rsq r6.x, r6.x
          mul r6.x, r5.z, r6.x
          mad r6.y, -r4.x, r0.x, r1.z
          mul r6.y, r6.y, r6.x
          dp2 r6.z, r1.zzzz, r1.zzzz
          add r6.z, r6.z, l(-1.000000)
          mad r4.x, -r4.x, r3.x, r6.z
          mul r4.x, r4.x, r6.x
          mad r6.x, r0.x, r3.z, r6.y
          mad r3.z, r3.x, r3.z, r4.x
          mad r4.x, r3.z, l(2.000000), l(2.000000)
          rsq r4.x, r4.x
          add r6.x, r1.z, r6.x
          mul_sat r4.y, r4.x, r6.x
          mad_sat r4.z, r4.x, r3.z, r4.x
        endif
      else
        mad r3.z, r3.x, l(2.000000), l(2.000000)
        rsq r3.z, r3.z
        add r0.x, r0.x, r1.z
        mul_sat r4.y, r3.z, r0.x
        mad_sat r4.z, r3.z, r3.x, r3.z
      endif
      add r0.x, |r1.z|, l(0.000010)
      min r0.x, r0.x, l(1.000000)
      mul r1.z, r3.w, l(0.080000)
      add r3.x, -r4.z, l(1.000000)
      mul r3.z, r3.x, r3.x
      mul r3.z, r3.z, r3.z
      mul r3.w, r3.x, r3.z
      mad r3.x, -r3.z, r3.x, l(1.000000)
      mad r1.z, r3.x, r1.z, r3.w
      mul r3.x, r4.w, r4.w
      lt r3.z, l(0.000000), r8.w
      mul r3.w, r8.w, r8.w
      mad r4.x, r4.z, l(3.600000), l(0.400000)
      div r3.w, r3.w, r4.x
      mad r3.w, r4.w, r4.w, r3.w
      min r3.w, r3.w, l(1.000000)
      movc r6.x, r3.z, r3.w, r3.x
      mul r3.x, r5.z, l(0.250000)
      ishr r3.z, r6.x, l(1)
      iadd r3.z, r3.z, l(0x1fbd1df5)
      mad r3.z, r3.z, l(3.000000), r5.z
      mul r3.x, r3.z, r3.x
      add r3.z, r4.z, l(0.001000)
      div r3.x, r3.x, r3.z
      add r7.x, r3.x, r6.x
      div r7.y, r6.x, r7.x
      mov r6.y, l(1.000000)
      movc r3.xy, r3.yyyy, r7.xyxx, r6.xyxx
      lt r3.w, r5.w, l(1.000000)
      add r4.x, -r5.w, l(1.000100)
      add r4.z, r5.w, l(1.000000)
      div r4.x, r4.x, r4.z
      sqrt r4.x, r4.x
      mul r4.z, r4.x, l(0.250000)
      ishr r4.w, r3.x, l(1)
      iadd r4.w, r4.w, l(0x1fbd1df5)
      mad r4.x, r4.w, l(3.000000), r4.x
      mul r4.x, r4.x, r4.z
      div r3.z, r4.x, r3.z
      add r3.z, r3.z, r3.x
      div r3.x, r3.x, r3.z
      sqrt r3.x, r3.x
      mul r3.x, r3.x, r3.y
      movc r3.x, r3.w, r3.x, r3.y
      mad r3.y, r4.y, r6.x, -r4.y
      mad r3.y, r3.y, r4.y, l(1.000000)
      mul r3.y, r3.y, r3.y
      mul r3.y, r3.y, l(3.14159274)
      div r3.y, r6.x, r3.y
      mul r3.x, r3.x, r3.y
      sqrt r3.y, r6.x
      add r3.z, -r3.y, l(1.000000)
      mad r3.w, r0.x, r3.z, r3.y
      mad r3.y, r1.y, r3.z, r3.y
      mul r0.x, r0.x, r3.y
      mad r0.x, r1.y, r3.w, r0.x
      rcp r0.x, r0.x
      mul r0.x, r0.x, l(0.500000)
      mul r3.x, r1.y, r3.x
      mul r0.x, r0.x, r3.x
      mul r13.xyz, r1.zzzz, r0.xxxx
      dp3_sat r0.x, r0.yzwy, r11.xyzx
      mad r0.yz, r0.xxxx, l(0.000000, -11.000000, -11.000000, 0.000000), l(0.000000, 12.000000, 13.000000, 0.000000)
      mul r0.z, r0.z, l(0.200000)
      dp3_sat r0.w, r2.xyzx, r11.xyzx
      log r0.w, r0.w
      mul r0.y, r0.w, r0.y
      exp r0.y, r0.y
      mad r0.y, r0.z, r0.y, l(0.800000)
      mad r0.x, r0.x, r0.y, -r1.y
      mad r0.x, r1.x, r0.x, r1.y
      add r0.y, -r1.z, l(1.000000)
      mul r0.x, r0.y, r0.x
      mul r0.xyz, r0.xxxx, r9.xyzx
      mul r14.xyz, r0.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
      mov r12.xyz, l(0,0,0,0)
      break
      default
      mov r12.xyz, l(0,0,0,0)
      mov r13.xyz, l(0,0,0,0)
      mov r14.xyz, l(0,0,0,0)
      break
    endswitch
    mul r0.xyz, r13.xyzx, cb1[5].wwww
    mul r1.xyz, r5.xxxx, cb1[4].xyzx
    mul r1.xyz, r1.wwww, r1.xyzx
    eq r0.w, cb0[204].z, l(0.000000)
    mul r2.xyz, r1.xyzx, r12.xyzx
    dp3 r2.x, r2.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
    and r2.x, r0.w, r2.x
    and r2.x, r2.x, r2.w
    mul r3.xyz, r0.xyzx, r1.xyzx
    mul r0.xyz, r5.yyyy, cb1[4].xyzx
    mul r0.xyz, r1.wwww, r0.xyzx
    mul r0.xyz, r0.xyzx, r14.xyzx
    dp3 r1.w, r0.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
    add r1.w, r1.w, r2.x
    movc r0.w, r0.w, r1.w, r2.x
    and r0.w, r0.w, r2.w
    mad r1.xyz, r12.xyzx, r1.xyzx, r0.xyzx
  else
    mov r3.xyz, l(0,0,0,0)
    mov r0.w, l(0)
    mov r1.xyz, l(0,0,0,0)
  endif
  eq r0.x, cb0[204].z, l(0.000000)
  and r1.w, r0.w, r0.x
  mov r3.w, l(0)
  add r0.xyzw, r1.xyzw, r3.xyzw
else
  mov r0.xyzw, l(0,0,0,0)
endif
mul o0.xyzw, r0.xyzw, cb0[138].yyyy
ret
// Approximately 0 instruction slots used
