// water
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.164 on Sat Nov  7 08:43:45 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 8   xyz         0     NONE   float   xyz
// TEXCOORD                 9   xyz         1     NONE   float   xyz
// SV_POSITION              0   xyzw        2      POS   float   xyzw
// TEXCOORD                 0   xyz         3     NONE   float   xyz
// TEXCOORD                 1   xyz         4     NONE   float   xyz
// TEXCOORD                 2   xyzw        5     NONE   float   xyzw
// TEXCOORD                 3   xyzw        6     NONE   float   xyzw
// TEXCOORD                 4   xyzw        7     NONE   float    y
// TEXCOORD                 5   xyzw        8     NONE   float   x zw
// TEXCOORD                 6   xyzw        9     NONE   float
// SV_IsFrontFace           0   x          10    FFACE    uint   x
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
// SV_Target                1   xyzw        1   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_immediateConstantBuffer { { 1.000000, 0, 0, 0},
                              { 0, 1.000000, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 0, 0, 1.000000} }
dcl_constantbuffer CB0[361], dynamicIndexed
dcl_constantbuffer CB1[38], immediateIndexed
dcl_constantbuffer CB2[26], immediateIndexed
dcl_constantbuffer CB3[12], immediateIndexed
dcl_constantbuffer CB4[5], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_comparison
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_resource_texture2darray (float,float,float,float) t0
dcl_resource_texture2darray (float,float,float,float) t1
dcl_resource_texture3d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_structured t5, 4
dcl_resource_structured t6, 4
dcl_resource_structured t7, 4
dcl_resource_structured t8, 228
dcl_resource_structured t9, 224
dcl_resource_structured t10, 240
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texturecubearray (float,float,float,float) t12
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_texturecubearray (float,float,float,float) t14
dcl_resource_texture2darray (float,float,float,float) t15
dcl_resource_texture2d (float,float,float,float) t16
dcl_resource_texture2d (float,float,float,float) t17
dcl_resource_texture2d (float,float,float,float) t18
dcl_resource_texture2d (float,float,float,float) t19
dcl_resource_texture3d (float,float,float,float) t20
dcl_resource_texture3d (float,float,float,float) t21
dcl_resource_texture3d (float,float,float,float) t22
dcl_resource_texture3d (float,float,float,float) t23
dcl_resource_texture2d (float,float,float,float) t24
dcl_resource_texture2d (float,float,float,float) t25
dcl_resource_texture2d (float,float,float,float) t26
dcl_resource_texture2d (float,float,float,float) t27
dcl_resource_texture2d (float,float,float,float) t28
dcl_resource_structured t29, 208
dcl_resource_structured t30, 96
dcl_resource_texture2darray (float,float,float,float) t31
dcl_resource_texture2d (float,float,float,float) t32
dcl_resource_structured t33, 32
dcl_resource_structured t34, 32
dcl_resource_texture2darray (float,float,float,float) t35
dcl_resource_texture2darray (float,float,float,float) t36
dcl_resource_texture2darray (float,float,float,float) t37
dcl_input_ps linear v0.xyz
dcl_input_ps linear v1.xyz
dcl_input_ps_siv linear noperspective v2.xyzw, position
dcl_input_ps linear v3.xyz
dcl_input_ps linear v4.xyz
dcl_input_ps linear v5.xyzw
dcl_input_ps linear v6.xyzw
dcl_input_ps linear v7.y
dcl_input_ps linear v8.xzw
dcl_input_ps_sgv constant v10.x, is_front_face
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 52


dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
//registro para testear
ld_indexable(texture1d)(float,float,float,float) r60.xyzw, l(90, 0, 0, 0), t120.xyzw
//stereo registro
ld_indexable(texture2d)(float,float,float,float) r52.xyzw, l(0, 0, 0, 0), t125.xyzw


dp3 r0.x, v4.xyzx, v4.xyzx
sqrt r0.x, r0.x
max r0.x, r0.x, l(1.175494351E-38)
div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.x
lt r0.y, l(0.000000), v5.w
ge r0.z, cb1[9].w, l(0.000000)
movc r0.yz, r0.yyzy, l(0,1.000000,1.000000,0), l(0,-1.000000,-1.000000,0)
mul r0.y, r0.z, r0.y
mul r1.xyz, v4.zxyz, v5.yzxy
mad r1.xyz, v4.yzxy, v5.zxyz, -r1.xyzx
mul r0.yzw, r0.yyyy, r1.xxyz
mul r1.xyz, r0.xxxx, v5.xyzx
mul r0.yzw, r0.xxxx, r0.yyzw
mul r2.xyz, r0.xxxx, v4.xyzx
ult r0.x, l(0), cb0[358].x
utof r1.w, cb0[358].y
mul r3.xy, r1.wwww, v2.xyxx
movc r3.xy, r0.xxxx, r3.xyxx, v2.xyxx
ftou r4.xy, r3.xyxx
ushr r3.zw, r4.xxxy, l(0, 0, 5, 5)
mul r5.xy, r3.xyxx, cb0[42].zwzz
eq r0.x, cb0[11].w, l(0.000000)
add r6.xyz, -v3.xyzx, cb0[7].xyzx
mov r7.x, cb0[0].z
mov r7.y, cb0[1].z
mov r7.z, cb0[2].z
movc r6.xyz, r0.xxxx, r6.xyzx, r7.xyzx
dp3 r0.x, r6.xyzx, r6.xyzx
rsq r0.x, r0.x
mul r8.xyz, r0.xxxx, r6.xyzx
movc r9.xy, v10.xxxx, l(1.000000,1.000000,0,0), cb2[24].zxzz
mul r2.xyz, r2.xyzx, r9.xxxx
mul r0.x, v3.y, cb0[1].z
mad r0.x, cb0[0].z, v3.x, r0.x
mad r0.x, cb0[2].z, v3.z, r0.x
add r0.x, r0.x, cb0[3].z
add r9.xz, v3.xxzx, cb0[40].xxzx
mul r10.xyz, v3.yyyy, cb0[17].xywx
mad r10.xyz, cb0[16].xywx, v3.xxxx, r10.xyzx
mad r10.xyz, cb0[18].xywx, v3.zzzz, r10.xyzx
add r10.xyz, r10.xyzx, cb0[19].xywx

//halo fix
add r52.w, r10.z, -r52.y
mad r10.x, r52.w, r52.x, r10.x

mul r11.xz, r10.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000)
mul r1.w, r10.y, cb0[46].x
mul r11.w, r1.w, l(0.500000)
add r10.xy, r11.zzzz, r11.xwxx
and r11.xy, cb1[10].xxxx, l(-2, 255, 0, 0)
itof r1.w, r11.x
log r1.w, r1.w
add r1.w, r1.w, l(-16.000000)
ftou r1.w, r1.w
utof r12.w, r1.w
iadd r2.w, r1.w, l(1)
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r11.xz, r1.w, l(0), t33.xxyx
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r13.xy, r2.w, l(0), t33.xyxx
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r14.xyzw, r1.w, l(12), t33.zxyw
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r15.xyzw, r2.w, l(12), t33.zxyw
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r5.w, r1.w, l(4), t34.xxxx
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r13.zw, r1.w, l(12), t34.xxxy
add r16.z, r12.w, l(1.000000)
add r6.w, -v6.z, l(1.000000)
mul r7.w, r14.w, r6.w
mad r8.w, -r6.w, r14.w, l(1.000000)
mul r8.w, r15.w, r8.w
lt r9.w, l(0.001000), r7.w
if_nz r9.w
  add r17.xy, -r11.xzxx, v6.xyxx
  mul r9.w, r14.y, r14.x
  div r17.xy, r17.xyxx, r9.wwww
  add r12.xy, r17.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_l_indexable(texture2darray)(float,float,float,float) r18.xyz, r12.xywx, t35.xyzw, s5, l(0.000000)
  add r17.z, r17.x, l(0.500000)
  mov r17.w, r12.w
  mov r19.y, r14.z
  mov r19.xz, l(0.500000,0,0,0)
  add r20.xyz, r17.zywz, r19.yxzy
  sample_l_indexable(texture2darray)(float,float,float,float) r20.xyz, r20.xyzx, t35.xyzw, s5, l(0.000000)
  mov r14.yz, l(0,0,0,0)
  add r20.xyz, r20.yzxy, r14.zzxz
  add r17.xyz, r17.xywx, l(0.000000, 0.500000, 0.000000, 0.000000)
  add r17.xyz, r19.xyzx, r17.xyzx
  sample_l_indexable(texture2darray)(float,float,float,float) r17.xyz, r17.xyzx, t35.xyzw, s5, l(0.000000)
  add r17.xzw, r14.zzyx, r17.yyxz
  add r14.yzw, -r18.zzxy, r17.wwzx
  add r19.xyz, -r18.yzxy, r20.xyzx
  mul r21.xyz, r14.yzwy, r19.xyzx
  mad r19.xyz, r14.wyzw, r19.yzxy, -r21.xyzx
  max r19.w, r19.y, l(0.000100)
  dp3 r9.w, r19.xzwx, r19.xzwx
  rsq r9.w, r9.w
  mul r14.yz, r9.wwww, r19.xxzx
  mov r17.xy, r20.zyzz
  add r17.xyzw, -r18.xzxz, r17.xyzw
  div r17.xyzw, r17.xyzw, r14.xxxx
  mul r9.w, r17.z, r17.y
  mad r9.w, r17.x, r17.w, -r9.w
  mad_sat r9.w, -r9.w, l(0.120000), l(0.600000)
  mul r9.w, r7.w, r9.w
  mul r14.yz, r7.wwww, r14.yyzy
else
  mov r14.yz, l(0,0,0,0)
  mov r9.w, l(0)
endif
lt r7.w, l(0.001000), r8.w
if_nz r7.w
  add r17.xy, -r13.xyxx, v6.xyxx
  mul r7.w, r15.y, r15.x
  div r12.xy, r17.xyxx, r7.wwww
  add r16.xy, r12.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_l_indexable(texture2darray)(float,float,float,float) r17.xyz, r16.xyzx, t35.xyzw, s5, l(0.000000)
  add r12.z, r12.x, l(0.500000)
  mov r18.y, r15.z
  mov r18.xz, l(0.500000,0,1.000000,0)
  add r19.xyz, r12.zywz, r18.yxzy
  sample_l_indexable(texture2darray)(float,float,float,float) r19.xyz, r19.xyzx, t35.xyzw, s5, l(0.000000)
  mov r15.yz, l(0,0,0,0)
  add r19.xyz, r19.yzxy, r15.zzxz
  add r20.xyz, r12.xywx, l(0.000000, 0.500000, 0.000000, 0.000000)
  add r18.xyz, r18.xyzx, r20.xyzx
  sample_l_indexable(texture2darray)(float,float,float,float) r18.xyz, r18.xyzx, t35.xyzw, s5, l(0.000000)
  add r18.xzw, r15.zzyx, r18.yyxz
  add r15.yzw, -r17.zzxy, r18.wwzx
  add r20.xyz, -r17.yzxy, r19.xyzx
  mul r21.xyz, r15.yzwy, r20.xyzx
  mad r20.xyz, r15.wyzw, r20.yzxy, -r21.xyzx
  max r20.w, r20.y, l(0.000100)
  dp3 r7.w, r20.xzwx, r20.xzwx
  rsq r7.w, r7.w
  mul r15.yz, r7.wwww, r20.xxzx
  mov r18.xy, r19.zyzz
  add r17.xyzw, -r17.xzxz, r18.xyzw
  div r17.xyzw, r17.xyzw, r15.xxxx
  mul r7.w, r17.z, r17.y
  mad r7.w, r17.x, r17.w, -r7.w
  mad_sat r7.w, -r7.w, l(0.120000), l(0.600000)
  mad r9.w, r8.w, r7.w, r9.w
  mad r14.yz, r8.wwww, r15.yyzy, r14.yyzy
endif
mul r17.xyzw, cb4[0].xxxx, l(0.500000, 0.940000, 0.340000, 0.100000)
ge r7.w, r17.x, -r17.x
frc r8.w, |r17.x|
movc r7.w, r7.w, r8.w, -r8.w
add r8.w, r7.w, r7.w
lt r10.w, l(0.500000), r7.w
mad r7.w, -r7.w, l(2.000000), l(2.000000)
movc r7.w, r10.w, r7.w, r8.w
add r10.w, cb4[0].x, l(1.000000)
mul r10.w, r10.w, l(0.500000)
ge r11.w, r10.w, -r10.w
frc r10.w, |r10.w|
movc r10.w, r11.w, r10.w, -r10.w
add r10.w, r10.w, r10.w
add r11.w, -r7.w, l(1.000000)
mad r15.yz, -v8.zzwz, r8.wwww, v6.xxyx
mul r8.w, r14.x, cb2[2].x
mad r18.xy, r17.yzyy, r13.zzzz, r15.yzyy
div r18.xy, r18.xyxx, r8.wwww
sample_indexable(texture2d)(float,float,float,float) r18.xyz, r18.xyxx, t16.xywz, s4
mul r18.x, r18.x, r18.z
mad r18.xy, r18.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r18.zw, cb4[0].xxxx, l(0.000000, 0.000000, -0.850000, -0.530000)
mad r19.xy, r18.zwzz, r13.zzzz, r15.yzyy
div r19.xy, r19.xyxx, r8.wwww
sample_indexable(texture2d)(float,float,float,float) r19.xyz, r19.xyxx, t16.xywz, s4
mul r19.x, r19.x, r19.z
mad r18.xy, r19.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), r18.xyxx
add r18.xy, r18.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r5.w, r5.w, v6.z
lt r12.z, l(0.001000), r5.w
if_nz r12.z
  add r14.w, r8.w, r8.w
  mad r19.xy, r17.yzyy, r13.wwww, r15.yzyy
  div r19.xy, r19.xyxx, r14.wwww
  sample_indexable(texture2d)(float,float,float,float) r19.xyz, r19.xyxx, t16.xywz, s4
  mul r19.x, r19.x, r19.z
  mad r19.xy, r19.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  mad r19.zw, r18.zzzw, r13.wwww, r15.yyyz
  div r19.zw, r19.zzzw, r14.wwww
  sample_indexable(texture2d)(float,float,float,float) r20.xyz, r19.zwzz, t16.xywz, s4
  mul r20.x, r20.x, r20.z
  mad r19.xy, r20.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), r19.xyxx
  add r19.xy, r19.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
  add r19.xy, -r18.xyxx, r19.xyxx
  mad r18.xy, r5.wwww, r19.xyxx, r18.xyxx
endif
mul r18.xy, r18.xyxx, cb2[2].yyyy
mad r19.xy, -v8.zwzz, r10.wwww, v6.xyxx
mad r19.zw, r17.yyyz, r13.zzzz, r19.xxxy
div r19.zw, r19.zzzw, r8.wwww
sample_indexable(texture2d)(float,float,float,float) r20.xyz, r19.zwzz, t16.xywz, s4
mul r20.x, r20.x, r20.z
mad r19.zw, r20.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
mad r20.xy, r18.zwzz, r13.zzzz, r19.xyxx
div r20.xy, r20.xyxx, r8.wwww
sample_indexable(texture2d)(float,float,float,float) r20.xyz, r20.xyxx, t16.xywz, s4
mul r20.x, r20.x, r20.z
mad r19.zw, r20.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), r19.zzzw
add r19.zw, r19.zzzw, l(0.000000, 0.000000, -1.000000, -1.000000)
if_nz r12.z
  add r8.w, r8.w, r8.w
  mad r17.xy, r17.yzyy, r13.wwww, r19.xyxx
  div r17.xy, r17.xyxx, r8.wwww
  sample_indexable(texture2d)(float,float,float,float) r17.xyz, r17.xyxx, t16.xywz, s4
  mul r17.x, r17.x, r17.z
  mad r17.xy, r17.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  mad r13.zw, r18.zzzw, r13.wwww, r19.xxxy
  div r13.zw, r13.zzzw, r8.wwww
  sample_indexable(texture2d)(float,float,float,float) r20.xyz, r13.zwzz, t16.xywz, s4
  mul r20.x, r20.x, r20.z
  mad r13.zw, r20.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), r17.xxxy
  add r13.zw, r13.zzzw, l(0.000000, 0.000000, -1.000000, -1.000000)
  add r13.zw, -r19.zzzw, r13.zzzw
  mad r19.zw, r5.wwww, r13.zzzw, r19.zzzw
endif
mul r13.zw, r19.zzzw, cb2[2].yyyy
mad r14.yz, r7.wwww, r18.xxyx, r14.yyzy
mad r17.xz, r11.wwww, r13.zzwz, r14.yyzy
mov r17.y, l(1.000000)
dp3 r5.w, r17.xyzx, r17.xyzx
rsq r5.w, r5.w
mul r14.yzw, r5.wwww, r17.xxyz
movc r17.xyz, v10.xxxx, r14.yzwy, -r14.yzwy
mov r18.xyz, -r8.xyzx
dp3 r5.w, r18.xyzx, r17.xyzx
add r5.w, r5.w, r5.w
mad r20.xyz, r17.xyzx, -r5.wwww, r18.xyzx
lt r5.w, r20.y, cb2[10].x
mov r20.w, cb2[10].x
dp3 r8.w, r20.xzwx, r20.xzwx
rsq r8.w, r8.w
mad r20.xyz, r20.xwzx, r8.wwww, r8.xyzx
dp3 r8.w, r20.xyzx, r20.xyzx
rsq r8.w, r8.w
mul r20.xyz, r8.wwww, r20.xyzx
movc r17.xyz, r5.wwww, r20.xyzx, r17.xyzx
movc r20.xyz, v10.xxxx, r17.xyzx, -r14.yzwy
movc r20.w, v10.x, -r20.z, -r14.w
mul r17.xy, r20.xwxx, cb2[0].xxxx
mov_sat r5.w, cb2[0].x
add r8.w, r20.y, l(-1.000000)
mad r17.z, r5.w, r8.w, l(1.000000)
if_z v10.x
  dp3 r5.w, r17.xzyx, r8.xyzx
  max r5.w, r5.w, l(0.000000)
  add r8.w, -r5.w, l(1.000000)
  sqrt r8.w, r8.w
  mad r10.w, r5.w, l(-0.0187292993), l(0.074261)
  mad r10.w, r10.w, r5.w, l(-0.212114394)
  mad r10.w, r10.w, r5.w, l(1.57072878)
  mul r8.w, r8.w, r10.w
  sincos r8.w, null, r8.w
  mul r8.w, r8.w, cb2[9].w
  max r8.w, r8.w, l(-1.000000)
  min r8.w, r8.w, l(1.000000)
  add r10.w, -|r8.w|, l(1.000000)
  sqrt r10.w, r10.w
  mad r12.z, |r8.w|, l(-0.0187292993), l(0.074261)
  mad r12.z, r12.z, |r8.w|, l(-0.212114394)
  mad r12.z, r12.z, |r8.w|, l(1.57072878)
  mul r13.z, r10.w, r12.z
  mad r13.z, r13.z, l(-2.000000), l(3.14159274)
  lt r8.w, r8.w, -r8.w
  and r8.w, r8.w, r13.z
  mad r8.w, r12.z, r10.w, r8.w
  add r8.w, -r8.w, l(1.57079637)
  sincos null, r8.w, r8.w
  add r10.w, -cb2[9].w, l(1.000000)
  add r12.z, cb2[9].w, l(1.000000)
  div r10.w, r10.w, r12.z
  mul r12.z, r10.w, r10.w
  mad r10.w, -r10.w, r10.w, l(1.000000)
  add r8.w, -r8.w, l(1.000000)
  mul r13.z, r8.w, r8.w
  mul r13.z, r13.z, r13.z
  mul r8.w, r8.w, r13.z
  mad r8.w, r10.w, r8.w, r12.z
  add r8.w, -r8.w, l(1.000000)
  max r8.w, r8.w, l(0.000000)
  div r10.w, l(1.000000, 1.000000, 1.000000, 1.000000), cb2[9].w
  add r12.z, -|r10.w|, l(1.000000)
  sqrt r12.z, r12.z
  mad r13.z, |r10.w|, l(-0.0187292993), l(0.074261)
  mad r13.z, r13.z, |r10.w|, l(-0.212114394)
  mad r13.z, r13.z, |r10.w|, l(1.57072878)
  mul r13.w, r12.z, r13.z
  mad r13.w, r13.w, l(-2.000000), l(3.14159274)
  lt r10.w, r10.w, -r10.w
  and r10.w, r10.w, r13.w
  mad r10.w, r13.z, r12.z, r10.w
  add r10.w, -r10.w, l(1.57079637)
  sincos null, r10.w, r10.w
  lt r5.w, r5.w, r10.w
  and r5.w, r5.w, l(0x3f800000)
else
  dp3 r10.w, r17.xzyx, r8.xyzx
  max r10.w, r10.w, l(0.000000)
  add r12.z, -cb2[9].w, l(1.000000)
  add r13.z, cb2[9].w, l(1.000000)
  div r12.z, r12.z, r13.z
  mul r13.z, r12.z, r12.z
  mad r12.z, -r12.z, r12.z, l(1.000000)
  add r10.w, -r10.w, l(1.000000)
  max r10.w, r10.w, l(0.000000)
  mul r13.w, r10.w, r10.w
  mul r13.w, r13.w, r13.w
  mul r10.w, r10.w, r13.w
  mad r5.w, r12.z, r10.w, r13.z
  mov r8.w, l(1.000000)
endif
movc r10.w, cb0[280].w, cb1[10].x, l(255)
and r10.w, r10.w, cb0[284].y
movc r10.w, r10.w, cb0[284].x, l(1.000000)
mov r20.x, cb1[14].w
mov r20.y, cb1[15].w
mov r20.z, cb1[16].w
mul r14.yzw, r10.wwww, r20.xxyz
add r10.w, -v8.x, l(1.000000)
add r20.xyz, cb2[3].xyzx, -cb2[4].xyzx
mad r20.xyz, r10.wwww, r20.xyzx, cb2[4].xyzx
div_sat r12.z, v6.w, cb2[6].x
add r12.z, -r12.z, l(1.000000)
log r12.z, r12.z
mul r12.z, r12.z, cb2[6].y
exp r12.z, r12.z
add r21.xyz, -cb2[4].xyzx, cb2[5].xyzx
mad r21.xyz, r10.wwww, r21.xyzx, cb2[4].xyzx
add r21.xyz, -r20.xyzx, r21.xyzx
mad r20.xyz, r12.zzzz, r21.xyzx, r20.xyzx
mul r21.xyz, r10.wwww, cb4[4].xyzx
mad r21.xyz, r21.xyzx, l(0.318310142, 0.318310142, 0.318310142, 0.000000), r14.yzwy
mul r20.xyz, r20.xyzx, r21.xyzx
dp3 r12.z, cb4[3].xyzx, r18.xyzx
max r12.z, r12.z, l(0.000000)
log r12.z, r12.z
mul r12.z, r12.z, cb2[8].x
exp r12.z, r12.z
mad r12.z, cb2[6].w, r12.z, cb2[6].z
mul r21.xyz, r12.zzzz, cb2[7].xyzx
mul r21.xyz, r21.xyzx, cb4[4].xyzx
mul r21.xyz, r10.wwww, r21.xyzx
mad r12.z, -|r8.y|, |r8.y|, l(1.000000)
mul r12.z, r9.w, r12.z
mad r21.xyz, r21.xyzx, r12.zzzz, r20.xyzx
div r10.xy, r10.xyxx, r10.zzzz
ld_indexable(texture2d)(float,float,float,float) r10.z, l(0, 0, 0, 0), t3.yzxw
mul r12.z, r10.z, cb0[282].y
eq r13.z, r12.z, l(0.000000)
and r13.z, r13.z, l(0x3f800000)
mad r10.z, r10.z, cb0[282].y, r13.z
rcp r10.z, r10.z
mul r13.zw, r10.xxxy, cb0[42].xxxy
ftou r22.xy, r13.zwzz
mov r22.zw, l(0,0,0,0)
ld_indexable(texture2darray)(float,float,float,float) r15.w, r22.xyzw, t0.yzwx
mad r16.w, cb0[45].z, r15.w, cb0[45].w
div r16.w, l(1.000000, 1.000000, 1.000000, 1.000000), r16.w
add r19.z, -cb0[46].z, cb0[46].y
mad r15.w, r15.w, r19.z, cb0[46].z
add r15.w, -r16.w, r15.w
mad r15.w, cb0[47].w, r15.w, r16.w
add r22.xy, r9.xzxx, -r15.yzyy
mad r22.xy, r22.xyxx, l(0.700000, 0.700000, 0.000000, 0.000000), r15.yzyy
mad r22.xy, cb4[0].xxxx, l(0.433000, 0.250000, 0.000000, 0.000000), r22.xyxx
mul r22.xy, r22.xyxx, l(0.740000, 0.740000, 0.000000, 0.000000)
div r22.xy, r22.xyxx, cb2[12].xxxx
mad r22.xy, r17.xzxx, l(0.125000, 0.125000, 0.000000, 0.000000), r22.xyxx
mul r22.zw, r8.xxxz, -cb2[15].xxxx
dp3 r16.w, r17.xyzx, r8.xyzx
div r22.zw, r22.zzzw, r16.wwww
add r22.xy, r22.zwzz, r22.xyxx
mul r14.x, r14.x, l(4.000000)
mul r14.x, r14.x, cb2[12].x
div r23.xy, r22.xyxx, r14.xxxx
sample_l_indexable(texture2d)(float,float,float,float) r16.w, r23.xyxx, t17.yzwx, s6, l(3.000000)
mul r15.x, r15.x, l(4.000000)
mul r15.x, r15.x, cb2[12].x
div r22.xy, r22.xyxx, r15.xxxx
sample_l_indexable(texture2d)(float,float,float,float) r19.w, r22.xyxx, t17.yzwx, s6, l(3.000000)
add r19.w, -r16.w, r19.w
mad r16.w, v6.z, r19.w, r16.w
add r22.xy, r9.xzxx, -r19.xyxx
mad r22.xy, r22.xyxx, l(0.700000, 0.700000, 0.000000, 0.000000), r19.xyxx
mad r22.xy, cb4[0].xxxx, l(0.433000, 0.250000, 0.000000, 0.000000), r22.xyxx
mul r22.xy, r22.xyxx, l(0.740000, 0.740000, 0.000000, 0.000000)
div r22.xy, r22.xyxx, cb2[12].xxxx
mad r22.xy, r17.xzxx, l(0.125000, 0.125000, 0.000000, 0.000000), r22.xyxx
add r22.xy, r22.zwzz, r22.xyxx
div r22.zw, r22.xxxy, r14.xxxx
sample_l_indexable(texture2d)(float,float,float,float) r19.w, r22.zwzz, t17.yzwx, s6, l(3.000000)
div r22.xy, r22.xyxx, r15.xxxx
sample_l_indexable(texture2d)(float,float,float,float) r20.w, r22.xyxx, t17.yzwx, s6, l(3.000000)
add r20.w, -r19.w, r20.w
mad r19.w, v6.z, r20.w, r19.w
mul r19.w, r11.w, r19.w
mad r16.w, r16.w, r7.w, r19.w
mul_sat r19.w, v7.y, cb2[15].y
mul r22.xyz, r19.wwww, cb2[14].xyzx
mul r14.yzw, r14.yyzw, r22.xxyz
mul r22.xy, r17.xyxx, cb2[15].zzzz
add r19.w, r0.x, r15.w
mul r22.zw, r19.wwww, l(0.000000, 0.000000, 5.000000, 0.500000)
min r20.w, r22.w, l(1.000000)
div r20.w, r20.w, r15.w
mul r23.xy, r20.wwww, r22.xyxx
movc r22.xy, v10.xxxx, r23.xyxx, r22.xyxx
add r22.xy, r10.xyxx, r22.xyxx
max r22.xy, r22.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r22.xy, r22.xyxx, l(0.990000, 0.990000, 0.000000, 0.000000)
mul r23.xy, r22.xyxx, cb0[42].xyxx
ftou r24.xy, r23.xyxx
mov r24.zw, l(0,0,0,0)
ld_indexable(texture2darray)(float,float,float,float) r20.w, r24.xyzw, t0.yzwx
if_nz v10.x
  mad r21.w, cb0[45].z, r20.w, cb0[45].w
  div r21.w, l(1.000000, 1.000000, 1.000000, 1.000000), r21.w
  mad r22.w, r20.w, r19.z, cb0[46].z
  add r22.w, -r21.w, r22.w
  mad r21.w, cb0[47].w, r22.w, r21.w
  lt r22.w, -r0.x, r21.w
  if_nz r22.w
    add r21.w, r0.x, r21.w
    mul r24.xy, r22.xyxx, cb0[44].xyxx
    mov r24.z, l(0)
    sample_l_indexable(texture2darray)(float,float,float,float) r24.xyz, r24.xyzx, t1.xyzw, s1, l(0.000000)
    mul r24.xyz, r10.zzzz, r24.xyzx
    mul r23.zw, r23.xxxy, cb0[42].zzzw
    mad r23.zw, r23.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
    mul r25.xyzw, -r23.wwww, cb0[25].xyzw
    mad r25.xyzw, cb0[24].xyzw, r23.zzzz, r25.xyzw
    mad r25.xyzw, cb0[26].xyzw, r20.wwww, r25.xyzw
    add r25.xyzw, r25.xyzw, cb0[27].xyzw
    div r25.xyz, r25.xyzx, r25.wwww
    add r25.xyz, r25.xzyx, cb0[40].xzyx
  else
    mul r26.xy, r10.xyxx, cb0[44].xyxx
    mov r26.z, l(0)
    sample_l_indexable(texture2darray)(float,float,float,float) r26.xyz, r26.xyzx, t1.xyzw, s1, l(0.000000)
    mul r24.xyz, r10.zzzz, r26.xyzx
    max r21.w, r19.w, l(0.000000)
    mad r10.x, cb0[45].z, r15.w, cb0[45].w
    div r10.x, l(1.000000, 1.000000, 1.000000, 1.000000), r10.x
    mad r10.y, r15.w, r19.z, cb0[46].z
    add r10.y, -r10.x, r10.y
    mad r10.x, cb0[47].w, r10.y, r10.x
    mul r13.zw, r13.zzzw, cb0[42].zzzw
    mad r13.zw, r13.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
    mul r26.xyzw, -r13.wwww, cb0[25].xyzw
    mad r26.xyzw, cb0[24].xyzw, r13.zzzz, r26.xyzw
    mad r26.xyzw, cb0[26].xyzw, r10.xxxx, r26.xyzw
    add r26.xyzw, r26.xyzw, cb0[27].xyzw
    div r26.xyz, r26.xyzx, r26.wwww
    add r25.xyz, r26.xzyx, cb0[40].xzyx
  endif
else
  mul r26.xy, r22.xyxx, cb0[44].xyxx
  mov r26.z, l(0)
  sample_l_indexable(texture2darray)(float,float,float,float) r22.xyw, r26.xyzx, t1.xywz, s1, l(0.000000)
  mul r24.xyz, r10.zzzz, r22.xywx
  mul r10.xy, r23.xyxx, cb0[42].zwzz
  mad r10.xy, r10.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  mul r23.xyzw, -r10.yyyy, cb0[25].xyzw
  mad r23.xyzw, cb0[24].xyzw, r10.xxxx, r23.xyzw
  mad r23.xyzw, cb0[26].xyzw, r20.wwww, r23.xyzw
  add r23.xyzw, r23.xyzw, cb0[27].xyzw
  div r10.xyz, r23.xyzx, r23.wwww
  add r25.xyz, r10.xzyx, cb0[40].xzyx
  mov r21.w, -r0.x
endif
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r10.x, r2.w, l(20), t33.xxxx
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r10.y, r2.w, l(12), t33.xxxx
add r13.zw, -r13.xxxy, r25.xxxy
mul r10.x, r10.y, r10.x
div r13.zw, r13.zzzw, r10.xxxx
add r16.xy, r13.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
sample_l_indexable(texture2darray)(float,float,float,float) r10.z, r16.xyzx, t35.xzyw, s5, l(0.000000)
add r10.z, r10.z, cb4[1].y
ge r13.z, r10.z, r25.z
if_nz r13.z
  add r10.z, -r25.z, r10.z
  log r13.z, r21.w
  div r13.z, r13.z, cb2[19].x
  mul r19.zw, r10.zzzz, cb4[3].xxxz
  mul r10.z, cb4[3].y, l(4.000000)
  div r22.xy, r19.zwzz, r10.zzzz
  add r22.xy, r22.xyxx, r25.xyxx
  div r23.xy, r22.xyxx, cb2[18].xxxx
  mad r26.x, cb4[0].x, l(0.044000), r23.x
  mov r23.z, l(17.160000)
  mul r26.y, cb4[0].x, l(-0.169000)
  add r23.xy, r23.zyzz, r26.xyxx
  mul r23.zw, r22.xxxy, l(0.000000, 0.000000, 1.370000, 1.370000)
  div r23.zw, r23.zzzw, cb2[18].xxxx
  mad r23.zw, cb4[0].xxxx, l(0.000000, 0.000000, 0.248000, 0.117000), r23.zzzw
  if_z v10.x
    div r22.xy, r22.xyxx, cb2[21].yyyy
    sample_indexable(texture2d)(float,float,float,float) r22.xyw, r22.xyxx, t19.xyzw, s6
    mul r26.xz, r22.xxxx, r22.wwww
    mov r26.yw, r22.yyyy
    mad r26.xyzw, r26.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
    mul r26.xyzw, r26.xyzw, cb2[21].xxxx
    mad r23.xy, r26.xyxx, l(1.300000, 1.300000, 0.000000, 0.000000), r23.xyxx
    mad r23.zw, r26.zzzw, l(0.000000, 0.000000, 1.770000, 1.770000), r23.zzzw
  endif
  div r19.zw, r19.zzzw, cb4[3].yyyy
  add r19.zw, r19.zzzw, r25.xxxy
  if_z v10.x
    ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r10.z, r1.w, l(12), t33.xxxx
    ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r13.w, r1.w, l(20), t33.xxxx
    add r22.xy, -r11.xzxx, r19.zwzz
    mul r10.z, r10.z, r13.w
    div r22.xy, r22.xyxx, r10.zzzz
    add r12.xy, r22.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
    sample_l_indexable(texture2darray)(float,float,float,float) r10.z, r12.xywx, t37.xzyw, s5, l(0.000000)
  else
    utof r25.z, r2.w
    add r19.zw, -r13.xxxy, r19.zzzw
    div r19.zw, r19.zzzw, r10.xxxx
    add r25.xy, r19.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
    sample_l_indexable(texture2darray)(float,float,float,float) r10.z, r25.xyzx, t37.xzyw, s5, l(0.000000)
  endif
  add r10.x, -r10.z, l(1.000000)
  mul r10.x, r10.x, cb2[18].z
  sample_l_indexable(texture2d)(float,float,float,float) r22.xyw, r23.xyxx, t18.xywz, s6, r13.z
  sample_l_indexable(texture2d)(float,float,float,float) r23.xyz, r23.zwzz, t18.xyzw, s6, r13.z
  mul r23.xyz, r23.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
  mad r22.xyw, r22.xyxw, l(0.500000, 0.500000, 0.000000, 0.500000), r23.xyxz
  add r22.xyw, r22.xyxw, -cb2[18].yyyy
  mad r22.xyw, r10.xxxx, r22.xyxw, l(1.000000, 1.000000, 0.000000, 1.000000)
  mul r24.xyz, r22.xywx, r24.xyzx
endif
mad r14.yzw, r16.wwww, r14.yyzw, r21.xxyz
mul r21.xyz, r21.wwww, cb2[16].xyzx
mul r21.xyz, r21.xyzx, l(-1.442695, -1.442695, -1.442695, 0.000000)
exp r21.xyz, r21.xyzx
add r21.xyz, -r21.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
add r14.yzw, -r24.xxyz, r14.yyzw
mad r14.yzw, r21.xxyz, r14.yyzw, r24.xxyz
movc r14.yzw, v10.xxxx, r14.yyzw, r24.xxyz
mul r14.yzw, r8.wwww, r14.yyzw
dp3 r8.w, r18.xyzx, r17.xyzx
add r8.w, r8.w, r8.w
mad r21.xyz, r17.xyzx, -r8.wwww, r18.xyzx
dp3 r8.w, cb4[3].xyzx, -r21.xyzx
max r8.w, r8.w, l(0.000000)
log r8.w, r8.w
mul r8.w, r8.w, cb2[8].x
exp r8.w, r8.w
mad r8.w, cb2[6].w, r8.w, cb2[6].z
mul r21.xzw, r8.wwww, cb2[7].xxyz
mul r21.xzw, r21.xxzw, cb4[4].xxyz
mul r10.xzw, r10.wwww, r21.xxzw
mad r8.w, -|r21.y|, |r21.y|, l(1.000000)
mul r8.w, r9.w, r8.w
mad r10.xzw, r10.xxzw, r8.wwww, r20.xxyz
mad r10.xzw, r5.wwww, r10.xxzw, r14.yyzw
movc r10.xzw, v10.xxxx, r14.yyzw, r10.xxzw
div_sat r8.w, -r0.x, cb2[9].y
log r8.w, r8.w
mul r8.w, r8.w, cb2[9].z
exp r8.w, r8.w
add r9.w, -cb2[8].w, cb2[9].x
mad r8.w, r8.w, r9.w, cb2[8].w
mad r13.zw, r15.yyyz, l(0.000000, 0.000000, 1.250000, 1.250000), r17.wwww
div r14.yz, r13.zzwz, r14.xxxx
sample_indexable(texture2d)(float,float,float,float) r9.w, r14.yzyy, t17.yzwx, s6
div r13.zw, r13.zzzw, r15.xxxx
sample_indexable(texture2d)(float,float,float,float) r13.z, r13.zwzz, t17.yzxw, s6
add r13.z, -r9.w, r13.z
mad r9.w, v6.z, r13.z, r9.w
add_sat r13.z, -v7.y, l(1.000000)
add r9.w, r9.w, -r13.z
div r13.w, l(1.000000, 1.000000, 1.000000, 1.000000), cb2[12].y
mul_sat r9.w, r9.w, r13.w
mad r14.y, r9.w, l(-2.000000), l(3.000000)
mul r9.w, r9.w, r9.w
mul r9.w, r9.w, r14.y
mul_sat r14.y, r9.w, cb2[12].z
add r20.xyz, -r10.xzwx, cb2[12].wwww
mad r21.xyz, r9.wwww, r20.xyzx, r10.xzwx
add r14.z, -r8.w, cb2[13].x
mad r14.w, r9.w, r14.z, r8.w
mul r23.w, r0.x, l(-0.250000)
mul r23.x, r23.w, cb2[11].x
mov r23.yz, l(0,0,0,0)
add r19.zw, r15.yyyz, r23.xxxy
mad r19.zw, r19.zzzw, l(0.000000, 0.000000, 1.250000, 1.250000), r17.wwww
div r22.xy, r19.zwzz, r14.xxxx
sample_indexable(texture2d)(float,float,float,float) r0.x, r22.xyxx, t17.xyzw, s6
div r19.zw, r19.zzzw, r15.xxxx
sample_indexable(texture2d)(float,float,float,float) r15.w, r19.zwzz, t17.yzwx, s6
add r15.w, -r0.x, r15.w
mad r0.x, v6.z, r15.w, r0.x
add r0.x, -r13.z, r0.x
mul_sat r0.x, r13.w, r0.x
mad r15.w, r0.x, l(-2.000000), l(3.000000)
mul r0.x, r0.x, r0.x
mad r15.yz, r23.zzwz, cb2[11].xxyx, r15.yyzy
mad r15.yz, r15.yyzy, l(0.000000, 1.250000, 1.250000, 0.000000), r17.wwww
div r19.zw, r15.yyyz, r14.xxxx
sample_indexable(texture2d)(float,float,float,float) r16.w, r19.zwzz, t17.yzwx, s6
div r15.yz, r15.yyzy, r15.xxxx
sample_indexable(texture2d)(float,float,float,float) r15.y, r15.yzyy, t17.yxzw, s6
add r15.y, -r16.w, r15.y
mad r15.y, v6.z, r15.y, r16.w
add r15.y, -r13.z, r15.y
mul_sat r15.y, r13.w, r15.y
mad r15.z, r15.y, l(-2.000000), l(3.000000)
mul r15.y, r15.y, r15.y
mad r22.x, r15.w, r0.x, -r9.w
mad r22.y, r15.z, r15.y, -r9.w
mad r24.xy, -cb2[13].yyyy, r22.xyxx, r17.xyxx
mov r24.z, r17.z
dp3 r0.x, r24.xyzx, r24.xyzx
rsq r0.x, r0.x
mul r15.yzw, r0.xxxx, r24.xxyz
mad r19.zw, r19.xxxy, l(0.000000, 0.000000, 1.250000, 1.250000), r17.wwww
div r22.xy, r19.zwzz, r14.xxxx
sample_indexable(texture2d)(float,float,float,float) r0.x, r22.xyxx, t17.xyzw, s6
div r19.zw, r19.zzzw, r15.xxxx
sample_indexable(texture2d)(float,float,float,float) r9.w, r19.zwzz, t17.yzwx, s6
add r9.w, -r0.x, r9.w
mad r0.x, v6.z, r9.w, r0.x
add r0.x, -r13.z, r0.x
mul_sat r0.x, r13.w, r0.x
mad r9.w, r0.x, l(-2.000000), l(3.000000)
mul r0.x, r0.x, r0.x
mul r0.x, r0.x, r9.w
mul_sat r9.w, r0.x, cb2[12].z
mad r10.xzw, r0.xxxx, r20.xxyz, r10.xxzw
mad r8.w, r0.x, r14.z, r8.w
add r19.zw, r19.xxxy, r23.xxxy
mad r19.zw, r19.zzzw, l(0.000000, 0.000000, 1.250000, 1.250000), r17.wwww
div r20.xy, r19.zwzz, r14.xxxx
sample_indexable(texture2d)(float,float,float,float) r14.z, r20.xyxx, t17.yzxw, s6
div r19.zw, r19.zzzw, r15.xxxx
sample_indexable(texture2d)(float,float,float,float) r16.w, r19.zwzz, t17.yzwx, s6
add r16.w, -r14.z, r16.w
mad r14.z, v6.z, r16.w, r14.z
add r14.z, -r13.z, r14.z
mul_sat r14.z, r13.w, r14.z
mad r16.w, r14.z, l(-2.000000), l(3.000000)
mul r14.z, r14.z, r14.z
mad r19.xy, r23.zwzz, cb2[11].xyxx, r19.xyxx
mad r17.zw, r19.xxxy, l(0.000000, 0.000000, 1.250000, 1.250000), r17.wwww
div r19.xy, r17.zwzz, r14.xxxx
sample_indexable(texture2d)(float,float,float,float) r14.x, r19.xyxx, t17.xyzw, s6
div r17.zw, r17.zzzw, r15.xxxx
sample_indexable(texture2d)(float,float,float,float) r15.x, r17.zwzz, t17.xyzw, s6
add r15.x, -r14.x, r15.x
mad r14.x, v6.z, r15.x, r14.x
add r13.z, -r13.z, r14.x
mul_sat r13.z, r13.w, r13.z
mad r13.w, r13.z, l(-2.000000), l(3.000000)
mul r13.z, r13.z, r13.z
mad r19.x, r16.w, r14.z, -r0.x
mad r19.y, r13.w, r13.z, -r0.x
mad r24.xy, -cb2[13].yyyy, r19.xyxx, r17.xyxx
dp3 r0.x, r24.xyzx, r24.xyzx
rsq r0.x, r0.x
mul r17.xyz, r0.xxxx, r24.xyzx
mul r0.x, r9.w, r11.w
mad r0.x, r14.y, r7.w, r0.x
mul r14.xyz, r11.wwww, r17.xyzx
mad r14.xyz, r15.yzwy, r7.wwww, r14.xyzx
mul r10.xzw, r10.xxzw, r11.wwww
mad r10.xzw, r21.xxyz, r7.wwww, r10.xxzw
mul r8.w, r8.w, r11.w
mad r7.w, r14.w, r7.w, r8.w
mov_sat r22.z, r22.z
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r13.zw, r1.w, l(20), t33.xxxy
ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r15.xy, r2.w, l(20), t33.xyxx
mul r2.w, r6.w, r13.w
mad r8.w, -r6.w, r13.w, l(1.000000)
mul r8.w, r15.y, r8.w
lt r9.w, l(0.001000), r2.w
if_nz r9.w
  ld_structured_indexable(structured_buffer, stride=32)(mixed,mixed,mixed,mixed) r1.w, r1.w, l(12), t33.xxxx
  add r11.xz, r9.xxzx, -r11.xxzx
  mul r1.w, r1.w, r13.z
  div r11.xz, r11.xxzx, r1.wwww
  add r12.xy, r11.xzxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_l_indexable(texture2darray)(float,float,float,float) r1.w, r12.xywx, t36.yzwx, s5, l(0.000000)
  mul r1.w, r1.w, r2.w
else
  mov r1.w, l(0)
endif
lt r2.w, l(0.001000), r8.w
if_nz r2.w
  add r9.xz, r9.xxzx, -r13.xxyx
  mul r2.w, r10.y, r15.x
  div r9.xz, r9.xxzx, r2.wwww
  add r16.xy, r9.xzxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_l_indexable(texture2darray)(float,float,float,float) r2.w, r16.xyzx, t36.yzwx, s5, l(0.000000)
  mad r1.w, r8.w, r2.w, r1.w
endif
mad r2.w, r6.w, r13.w, r8.w
add r1.w, r1.w, -cb4[2].y
mad r1.w, r2.w, r1.w, cb4[2].y
lt r1.w, l(0.500000), r1.w
movc r1.w, r1.w, l(-2.000000), l(-0.000000)
add r1.w, r1.w, r22.z
and r2.w, v10.x, cb2[8].z
mul r6.w, r5.w, cb2[8].y
lt r8.w, r1.w, l(0.000000)
discard_nz r8.w
mul r9.xy, r9.yyyy, r14.xyxx
mul r0.yzw, r0.yyzw, r9.yyyy
mad r0.yzw, r9.xxxx, r1.xxyz, r0.yyzw
mad r0.yzw, r14.zzzz, r2.xxyz, r0.yyzw
dp3 r1.x, r0.yzwy, r0.yzwy
max r1.x, r1.x, l(1.175494351E-38)
rsq r1.x, r1.x
mul r9.xyz, r0.yzwy, r1.xxxx
dp3 r1.y, r9.xyzx, r8.xyzx
max r1.z, r1.y, l(0.000100)
add r13.y, -r7.w, l(1.000000)
mul r7.w, r13.y, r13.y
add r8.w, r2.w, r1.z
mad r10.y, r7.w, l(-16.000000), l(-1.000000)
exp r10.y, r10.y
log r8.w, |r8.w|
mul r8.w, r8.w, r10.y
exp r8.w, r8.w
add r8.w, r8.w, l(-1.000000)
add_sat r8.w, r2.w, r8.w
movc r10.y, cb0[280].w, r11.y, l(255)
eq r11.x, cb1[21].x, l(0.000000)
if_nz r11.x
  mov r9.w, l(1.000000)
  dp4 r11.x, cb1[14].xyzw, r9.xyzw
  dp4 r11.y, cb1[15].xyzw, r9.xyzw
  dp4 r11.z, cb1[16].xyzw, r9.xyzw
  mul r14.xyzw, r9.yzzx, r9.xyzz
  dp4 r15.x, cb1[17].xyzw, r14.xyzw
  dp4 r15.y, cb1[18].xyzw, r14.xyzw
  dp4 r15.z, cb1[19].xyzw, r14.xyzw
  mul r11.w, r9.y, r9.y
  mad r11.w, r9.x, r9.x, -r11.w
  mad r12.xyw, cb1[20].xyxz, r11.wwww, r15.xyxz
  add r11.xyz, r11.xyzx, r12.xywx
else
  mul r12.xyw, cb0[40].yyyy, cb1[23].xyxz
  mad r12.xyw, cb1[22].xyxz, cb0[40].xxxx, r12.xyxw
  mad r12.xyw, cb1[24].xyxz, cb0[40].zzzz, r12.xyxw
  add r12.xyw, r12.xyxw, cb1[25].xyxz
  eq r11.w, cb1[21].y, l(1.000000)
  mul r14.xyz, v3.yyyy, cb1[23].xyzx
  mad r14.xyz, cb1[22].xyzx, v3.xxxx, r14.xyzx
  mad r14.xyz, cb1[24].xyzx, v3.zzzz, r14.xyzx
  add r12.xyw, r12.xyxw, r14.xyxz
  movc r12.xyw, r11.wwww, r12.xyxw, v3.xyxz
  add r12.xyw, r12.xyxw, -cb1[27].xyxz
  mul r14.yzw, r12.xxyw, cb1[26].xxyz
  mul r11.w, r14.y, l(0.250000)
  mul r12.x, cb1[21].z, l(0.500000)
  mad r12.y, -cb1[21].z, l(0.500000), l(0.250000)
  max r11.w, r11.w, r12.x
  min r14.x, r12.y, r11.w
  sample_l_indexable(texture3d)(float,float,float,float) r15.xyzw, r14.xzwx, t2.xyzw, s3, l(0.000000)
  add r12.xyw, r14.xzxw, l(0.250000, 0.000000, 0.000000, 0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r16.xyzw, r12.xywx, t2.xyzw, s3, l(0.000000)
  add r12.xyw, r14.xzxw, l(0.500000, 0.000000, 0.000000, 0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r14.xyzw, r12.xywx, t2.xyzw, s3, l(0.000000)
  mov r9.w, l(1.000000)
  dp4 r11.x, r15.xyzw, r9.xyzw
  dp4 r11.y, r16.xyzw, r9.xyzw
  dp4 r11.z, r14.xyzw, r9.xyzw
endif
and r12.xy, r10.yyyy, cb0[284].ywyy
movc r12.xy, r12.xyxx, cb0[284].xzxx, l(1.000000,1.000000,0,0)
mul r11.xyz, r11.xyzx, r12.xxxx
sqrt r13.x, r1.z
mad r12.xw, r13.xxxy, l(0.984375, 0.000000, 0.000000, 0.984375), l(0.00781250000, 0.000000, 0.000000, 0.00781250000)
sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r12.xwxx, t32.xyzw, s0, l(0.000000)
add r9.w, r14.z, l(0.500000)
max r11.w, r6.w, r6.w
max r11.w, r6.w, r11.w
add r11.w, r11.w, l(-0.200000)
mul_sat r11.w, r11.w, l(4.000000)
mul r11.w, r11.w, cb0[282].w
mad r5.w, cb2[8].y, r5.w, -r0.x
mad r5.w, r11.w, r5.w, r0.x
mul r5.w, r5.w, r9.w
mul r11.xyz, r5.wwww, r11.xyzx
add r5.w, -r14.x, r14.y
mad r5.w, r6.w, r5.w, r14.x
div r11.w, l(1.000000, 1.000000, 1.000000, 1.000000), r14.y
add r11.w, r11.w, l(-1.000000)
mul r12.x, r7.w, r7.w
mad r12.w, -r1.z, r12.x, r1.z
mad r12.w, r12.w, r1.z, r12.x
sqrt r12.w, r12.w
dp3 r13.x, r18.xyzx, r9.xyzx
add r13.x, r13.x, r13.x
mad r14.xyz, r9.xyzx, -r13.xxxx, r18.xyzx
ige r13.x, cb0[280].z, l(0)
if_nz r13.x
  ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r13.x, cb0[280].z, l(16), t8.xxxx
  ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r15.xyz, cb0[280].z, l(24), t8.xyzx
  ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r13.w, cb0[280].z, l(116), t8.xxxx
  lt r13.xw, l(0.000000, 0.000000, 0.000000, 0.000000), r13.xxxw
  and r13.x, r13.w, r13.x
  dp3 r13.w, r9.xyzx, -r15.xyzx
  lt r13.w, l(0.000000), r13.w
  and r13.x, r13.w, r13.x
  if_nz r13.x
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r16.xyzw, l(0), l(0), t30.xyzw
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r17.xyzw, l(0), l(16), t30.xyzw
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r19.xyzw, l(0), l(32), t30.xyzw
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r20.xyzw, l(0), l(48), t30.xyzw
    mov r21.xyz, l(0,0,0,0)
    mov r13.xw, l(0,0,0,0)
    loop
      uge r14.w, r13.x, cb0[280].y
      breakc_nz r14.w
      mul r22.xyzw, r16.xyzw, icb[r13.x + 0].xxxx
      mad r22.xyzw, icb[r13.x + 0].yyyy, r17.xyzw, r22.xyzw
      mad r22.xyzw, icb[r13.x + 0].zzzz, r19.xyzw, r22.xyzw
      mad r22.xyzw, icb[r13.x + 0].wwww, r20.xyzw, r22.xyzw
      add r22.xyz, -r22.xyzx, v3.xyzx
      dp3 r14.w, r22.xyzx, r22.xyzx
      div r15.w, r14.w, r22.w
      lt r21.w, l(0.000000), r15.w
      ge r22.w, l(1.000000), r15.w
      and r21.w, r21.w, r22.w
      if_nz r21.w
        sqrt r14.w, r14.w
        div r21.xyz, r22.xyzx, r14.wwww
        mov r13.w, r15.w
        break
      endif
      iadd r13.x, r13.x, l(1)
      mov r21.xyz, r22.xyzx
      mov r13.w, r15.w
    endloop
    ult r14.w, r13.x, cb0[280].y
    movc r13.x, r14.w, r13.x, l(-1)
    itof r14.w, r13.x
    ge r15.w, r14.w, l(0.000000)
    if_nz r15.w
      ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r16.xyzw, l(0), l(76), t30.xyzw
      ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r17.w, l(0), l(92), t30.xxxx
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r15.w, cb0[280].z, l(68), t8.xxxx
      utof r19.xy, r4.xyxx
      dp3 r15.x, r2.xyzx, -r15.xyzx
      ge r15.x, r15.x, l(0.000000)
      movc r15.x, r15.x, l(1.000000), l(-1.000000)
      mul r15.xyz, r2.xyzx, r15.xxxx
      ftoi r16.x, r16.x
      mov r17.xyz, r16.yzwy
      dp4 r16.y, r17.xyzw, icb[r13.x + 0].xyzw
      ge r16.z, l(0.000000), r16.y
      add r16.w, -r16.y, l(1.000000)
      add r13.w, r13.w, -r16.w
      div_sat r13.w, r13.w, r16.y
      movc r13.w, r16.z, l(0), r13.w
      dp3 r6.x, r6.xyzx, r21.xyzx
      add r6.y, r16.y, l(-1.000000)
      mul_sat r6.y, r6.y, l(-3.33333325)
      mad r6.z, r6.y, l(-2.000000), l(3.000000)
      mul r6.y, r6.y, r6.y
      mul r6.y, r6.y, r6.z
      mad r6.y, r6.y, l(512.000000), l(8.000000)
      mul_sat r6.x, r6.y, r6.x
      mad r6.x, r6.x, -r13.w, r13.w
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r17.xyzw, r15.w, l(0), t29.xyzw
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r20.xyzw, r15.w, l(16), t29.xyzw
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r21.x, r15.w, l(32), t29.xxxx
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r6.y, r15.w, l(76), t29.xxxx
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r16.yz, r15.w, l(96), t29.xxyx
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r22.xyz, r15.w, l(128), t29.xyzx
      iadd r6.z, r13.x, r15.w
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r23.xyz, r6.z, l(64), t29.xyzx
      add r22.xyz, r22.xyzx, v3.xyzx
      mul r6.y, r6.y, r23.z
      mul r15.xyz, r6.yyyy, r15.xyzx
      iadd r6.y, r13.x, l(1)
      iadd r13.w, r16.x, l(-1)
      imin r6.y, r6.y, r13.w
      itof r6.y, r6.y
      ne r14.w, r14.w, r6.y
      lt r16.x, l(0.000000), r6.x
      and r14.w, r14.w, r16.x
      round_z r16.x, cb0[61].z
      mad r16.xw, r16.xxxx, l(2.083000, 0.000000, 0.000000, 4.867000), r19.xxxy
      dp2 r16.x, r16.xwxx, l(0.0671105608, 0.00583714992, 0.000000, 0.000000)
      frc r16.x, r16.x
      mul r16.x, r16.x, l(52.982918)
      frc r16.x, r16.x
      ge r16.x, r6.x, r16.x
      and r14.w, r14.w, r16.x
      if_nz r14.w
        itof r14.w, r15.w
        add r6.y, r6.y, r14.w
        ftoi r6.y, r6.y
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r19.xyzw, r6.y, l(48), t29.zwxy
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r24.xyz, r6.y, l(36), t29.yxzx
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r25.xyz, r6.y, l(64), t29.xyzx
        div r6.y, r25.z, r23.z
        mul r15.xyz, r6.yyyy, r15.xyzx
        mov r23.xy, r25.xyxx
        mov r25.x, r24.y
        mov r21.y, r24.z
      else
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r19.xyzw, r6.z, l(48), t29.zwxy
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r24.xyz, r6.z, l(36), t29.yxzx
        mov r25.x, r24.y
        mov r21.y, r24.z
      endif
      add r15.xyz, r15.xyzx, r22.xyzx
      mov r25.yzw, r17.xxyz
      mov r15.w, l(1.000000)
      dp4 r6.y, r25.yzwx, r15.xyzw
      mov r24.y, r17.w
      mov r24.zw, r20.xxxy
      dp4 r6.z, r24.yzwx, r15.xyzw
      mov r21.zw, r20.zzzw
      dp4 r15.x, r21.zwxy, r15.xyzw
      mul r17.xy, r6.yzyy, r19.zwzz
      mov r15.y, l(1.000000)
      dp2 r6.y, r19.xyxx, r15.xyxx
      mad_sat r15.xy, r17.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
      mul r15.xy, r16.yzyy, r15.xyxx
      mad r15.xy, r15.xyxx, cb0[83].zwzz, r23.xyxx
      add r6.y, r6.y, l(0.0000152587891)
      mad r15.zw, r15.xxxy, cb0[83].xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
      round_ni r15.zw, r15.zzzw
      mad r15.xy, r15.xyxx, cb0[83].xyxx, -r15.zwzz
      add r16.xyzw, r15.xxyy, l(0.500000, 1.000000, 0.500000, 1.000000)
      mul r17.xyzw, r16.xxzz, r16.xxzz
      mul r19.yw, r17.yyyw, l(0.000000, 0.040816, 0.000000, 0.040816)
      mad r16.xz, r17.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000), -r15.xxyx
      add r17.xy, -r15.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
      min r17.zw, r15.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
      mad r17.xy, -r17.zwzz, r17.zwzz, r17.xyxx
      max r17.zw, r15.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
      mad r16.yw, -r17.zzzw, r17.zzzw, r16.yyyw
      add r17.xy, r17.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
      add r16.yw, r16.yyyw, l(0.000000, 2.000000, 0.000000, 2.000000)
      mul r20.z, r16.y, l(0.081632)
      mul r21.xyz, r16.zxwz, l(0.081632, 0.081632, 0.081632, 0.000000)
      mul r16.xy, r17.xyxx, l(0.081632, 0.081632, 0.000000, 0.000000)
      mov r20.x, r21.y
      mad r20.yw, r15.xxxx, l(0.000000, -0.081632, 0.000000, 0.081632), l(0.000000, 0.163264, 0.000000, 0.081632)
      mad r17.xz, r15.xxxx, l(-0.081632, 0.000000, 0.081632, 0.000000), l(0.081632, 0.000000, 0.163264, 0.000000)
      mov r17.y, r16.x
      mov r17.w, r19.y
      add r20.xyzw, r17.xyzw, r20.xyzw
      mad r21.yw, r15.yyyy, l(0.000000, -0.081632, 0.000000, 0.081632), l(0.000000, 0.163264, 0.000000, 0.081632)
      mad r19.xz, r15.yyyy, l(-0.081632, 0.000000, 0.081632, 0.000000), l(0.081632, 0.000000, 0.163264, 0.000000)
      mov r19.y, r16.y
      add r16.xyzw, r19.xyzw, r21.xyzw
      div r17.xyzw, r17.xyzw, r20.xyzw
      add r17.xyzw, r17.xyzw, l(-3.500000, -1.500000, 0.500000, 2.500000)
      div r19.xyzw, r19.xyzw, r16.xyzw
      add r19.xyzw, r19.xyzw, l(-3.500000, -1.500000, 0.500000, 2.500000)
      mul r17.xyzw, r17.wxyz, cb0[83].zzzz
      mul r19.xyzw, r19.xwyz, cb0[83].wwww
      mov r21.xzw, r17.yyzw
      mov r21.y, r19.x
      mad r22.xyzw, r15.zwzw, cb0[83].zwzw, r21.xyzy
      mad r15.xy, r15.zwzz, cb0[83].zwzz, r21.wyww
      mov r17.y, r21.y
      mov r21.y, r19.z
      mad r23.xyzw, r15.zwzw, cb0[83].zwzw, r21.xyzy
      mad r24.xy, r15.zwzz, cb0[83].zwzz, r21.wyww
      mov r17.z, r21.y
      mad r25.xyzw, r15.zwzw, cb0[83].zwzw, r17.xyxz
      mov r21.y, r19.w
      mad r26.xyzw, r15.zwzw, cb0[83].zwzw, r21.xyzy
      mad r17.yz, r15.zzwz, cb0[83].zzwz, r21.wwyw
      mov r17.w, r21.y
      mad r24.zw, r15.zzzw, cb0[83].zzzw, r17.xxxw
      mov r19.xzw, r21.xxzw
      mad r21.xyzw, r15.zwzw, cb0[83].zwzw, r19.xyzy
      mad r19.zw, r15.zzzw, cb0[83].zzzw, r19.wwwy
      mov r19.x, r17.x
      mad r15.zw, r15.zzzw, cb0[83].zzzw, r19.xxxy
      mul r27.xyzw, r16.xxxx, r20.xyzw
      mul r28.xyzw, r16.yyyy, r20.xyzw
      mul r29.xyzw, r16.zzzz, r20.xyzw
      mul r16.xyzw, r16.wwww, r20.xyzw
      sample_c_lz_indexable(texture2d)(float,float,float,float) r6.z, r22.xyxx, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r14.w, r22.zwzz, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r15.x, r15.xyxx, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r15.y, r25.xyxx, t26.xxxx, s2, r6.y
      mov r17.xw, l(0,0,0,0)
      loop
        ige r19.x, r17.w, l(1)
        breakc_nz r19.x
        mad r19.x, r27.x, r6.z, r17.x
        mad r19.x, r27.y, r14.w, r19.x
        mad r19.x, r27.z, r15.x, r19.x
        mad r17.x, r27.w, r15.y, r19.x
        iadd r17.w, r17.w, l(1)
      endloop
      sample_c_lz_indexable(texture2d)(float,float,float,float) r6.z, r23.xyxx, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r14.w, r23.zwzz, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r15.x, r24.xyxx, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r15.y, r25.zwzz, t26.xxxx, s2, r6.y
      mov r17.w, r17.x
      mov r19.x, l(0)
      loop
        ige r19.y, r19.x, l(1)
        breakc_nz r19.y
        mad r19.y, r28.x, r6.z, r17.w
        mad r19.y, r28.y, r14.w, r19.y
        mad r19.y, r28.z, r15.x, r19.y
        mad r17.w, r28.w, r15.y, r19.y
        iadd r19.x, r19.x, l(1)
      endloop
      sample_c_lz_indexable(texture2d)(float,float,float,float) r6.z, r26.xyxx, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r14.w, r26.zwzz, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r15.x, r17.yzyy, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r15.y, r24.zwzz, t26.xxxx, s2, r6.y
      mov r17.x, r17.w
      mov r17.y, l(0)
      loop
        ige r17.z, r17.y, l(1)
        breakc_nz r17.z
        mad r17.z, r29.x, r6.z, r17.x
        mad r17.z, r29.y, r14.w, r17.z
        mad r17.z, r29.z, r15.x, r17.z
        mad r17.x, r29.w, r15.y, r17.z
        iadd r17.y, r17.y, l(1)
      endloop
      sample_c_lz_indexable(texture2d)(float,float,float,float) r6.z, r21.xyxx, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r14.w, r21.zwzz, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r15.x, r19.zwzz, t26.xxxx, s2, r6.y
      sample_c_lz_indexable(texture2d)(float,float,float,float) r6.y, r15.zwzz, t26.xxxx, s2, r6.y
      mov r15.y, r17.x
      mov r15.z, l(0)
      loop
        ige r15.w, r15.z, l(1)
        breakc_nz r15.w
        mad r15.w, r16.x, r6.z, r15.y
        mad r15.w, r16.y, r14.w, r15.w
        mad r15.w, r16.z, r15.x, r15.w
        mad r15.y, r16.w, r6.y, r15.w
        iadd r15.z, r15.z, l(1)
      endloop
      ilt r6.y, r13.x, r13.w
      add r6.z, -r15.y, l(1.000000)
      mad r6.x, r6.x, r6.z, r15.y
      movc r6.x, r6.y, r15.y, r6.x
    else
      mov r6.x, l(1.000000)
    endif
    mov r6.xyz, r6.xxxx
  else
    mov r6.xyz, l(1.000000,1.000000,1.000000,0)
  endif
else
  mov r6.xyz, l(1.000000,1.000000,1.000000,0)
endif
imad r13.x, r3.w, cb0[291].x, r3.z
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r13.x, r13.x, l(0), t7.xxxx
movc r13.x, cb0[290].w, r13.x, cb0[289].w
ishl r15.xy, l(2, 1, 0, 0), cb0[290].zzzz
add r13.w, v2.w, -cb0[290].x
max r13.w, r13.w, l(0.000000)
add r14.w, -cb0[290].x, cb0[290].y
div r13.w, r13.w, r14.w
itof r14.w, r15.y
log r15.z, |r13.x|
mul r14.w, r14.w, r15.z
exp r14.w, r14.w
add r14.w, r14.w, l(-1.000000)
mad r13.w, r13.w, r14.w, l(1.000000)
log r13.w, r13.w
log r13.x, r13.x
div r13.x, r13.w, r13.x
iadd r13.w, r15.y, l(-1)
itof r13.w, r13.w
max r13.x, r13.x, l(0.000000)
min r13.x, r13.w, r13.x
ftoi r13.x, r13.x
imad r13.w, r13.x, cb0[291].y, r3.w
imad r13.w, r13.w, cb0[291].x, r3.z
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r13.w, r13.w, l(0), t6.xxxx
and r14.w, r13.w, l(0x07ffffff)
ushr r13.w, r13.w, l(27)
add r15.z, -r1.z, l(1.000000)
max r15.w, -cb0[287].z, l(0.000000)
round_pi r15.w, r15.w
exp r15.w, r15.w
mul r16.x, r15.z, r15.z
mul r16.x, r16.x, r16.x
mul r16.x, r15.z, r16.x
mov r17.xz, l(1.000000,0,1.000000,0)
mov r19.w, l(1.000000)
mov r20.w, l(1.000000)
mov r21.w, l(1.000000)
mov r22.w, l(1.000000)
mov r23.w, l(1.000000)
mov r24.xyzw, l(0,0,0,0)
mov r25.yz, l(0,0,0,0)
mov r16.y, l(0)
loop
  uge r16.z, r16.y, r13.w
  breakc_nz r16.z
  iadd r16.z, r14.w, r16.y
  ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r16.z, r16.z, l(0), t5.xxxx
  ieq r16.w, r16.z, l(-1)
  if_nz r16.w
    break
  endif
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r26.xyzw, r16.z, l(0), t9.xyzw
  iadd r16.y, r16.y, l(1)
  and r16.w, r10.y, r26.w
  if_nz r16.w
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r16.w, r16.z, l(16), t9.xxxx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r27.xyzw, r16.z, l(24), t9.xyzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r28.xyzw, r16.z, l(40), t9.xyzw
    add r26.xyz, -r26.xyzx, v3.xyzx
    ieq r17.w, r28.z, l(4)
    mov r29.xy, r27.zwzz
    mov r29.z, r28.x
    dp3 r30.y, -r26.xyzx, -r26.xyzx
    rsq r25.w, r30.y
    mul r31.xyz, r25.wwww, -r26.xyzx
    movc r31.xyz, r17.wwww, -r29.xyzx, r31.xyzx
    lt r16.w, l(0.000000), r16.w
    dp3 r26.w, r9.xyzx, r31.xyzx
    lt r27.z, l(0.000000), r26.w
    and r16.w, r16.w, r27.z
    if_nz r16.w
      ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r32.xyzw, r16.z, l(56), t9.xyzw
      ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r33.xyzw, r16.z, l(72), t9.zwxy
      ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r34.xyzw, r16.z, l(88), t9.yzwx
      ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r35.xyzw, r16.z, l(104), t9.yzxw
      ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r36.xyzw, r16.z, l(120), t9.xyzw
      ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r37.xy, r16.z, l(136), t9.xyxx
      ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r16.w, r16.z, l(176), t9.xxxx
      dp3 r29.z, r26.xyzx, r29.xyzx
      mul r17.y, r29.z, r29.z
      mul r30.x, r25.w, r30.y
      add r16.w, r16.w, r30.y
      rsq r30.z, r16.w
      movc r30.yzw, r17.wwww, r17.xxyz, r30.xxyz
      mul r16.w, r29.z, r30.w
      min r17.y, r30.w, l(100.000000)
      mul r25.w, r34.x, r30.z
      mad_sat r25.w, -r25.w, r25.w, r35.x
      mul r17.y, r17.y, r25.w
      mad_sat r16.w, r16.w, r27.x, r27.y
      mul r16.w, r16.w, r17.y
      mul r16.w, r16.w, r16.w
      movc r17.y, r17.w, r29.z, r30.x
      max r17.w, |r31.y|, l(0.001000)
      rcp r25.w, r17.w
      mad r27.x, r17.y, r31.y, v3.y
      min r27.x, r27.x, v3.y
      add r27.y, r27.x, -cb0[74].y
      add r27.x, -r27.x, cb0[74].y
      mul r27.x, r25.w, r27.x
      max r27.xy, r27.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r27.x, r17.y, r27.x
      add r17.y, r17.y, -r27.x
      mul r27.y, -r27.y, cb0[75].x
      mul r27.y, r27.y, l(1.442695)
      exp r27.y, r27.y
      mul r17.y, r17.w, -r17.y
      mul r17.y, r17.y, cb0[75].x
      mul r17.y, r17.y, l(1.442695)
      exp r17.y, r17.y
      add r17.y, -r17.y, l(1.000000)
      mul r17.y, r17.y, r27.y
      mul r17.w, r25.w, cb0[75].y
      mad r17.y, r17.y, r17.w, r27.x
      mul r17.y, r17.y, cb0[74].x
      mul r17.y, r17.y, l(-1.442695)
      exp r17.y, r17.y
      mul r34.x, r16.w, r17.y
      if_nz r33.z
        mov r27.x, r28.w
        mov r27.yz, r32.xxyx
        dp3 r29.x, r26.xyzx, r27.xyzx
        mov r33.z, r34.w
        dp3 r29.y, r26.xyzx, r33.xyzx
        ieq r16.w, r28.z, l(1)
        if_nz r16.w
          dp3 r16.w, |r29.xyzx|, l(1.000000, 1.000000, 1.000000, 0.000000)
          rcp r16.w, r16.w
          mul r26.xyz, r16.wwww, r29.zxyz
          mov_sat r26.x, -r26.x
          ge r17.yw, r26.yyyz, l(0.000000, 0.000000, 0.000000, 0.000000)
          movc r17.yw, r17.yyyw, r26.xxxx, -r26.xxxx
          mad r17.yw, r29.xxxy, r16.wwww, r17.yyyw
          mad_sat r17.yw, r17.yyyw, l(0.000000, 0.500000, 0.000000, 0.500000), l(0.000000, 0.500000, 0.000000, 0.500000)
          add r26.xy, r35.ywyy, cb0[287].yyyy
          rcp r26.xy, r26.xyxx
          mul r27.xy, r35.ywyy, r26.xyxx
          mad r26.xy, -r26.xyxx, r35.ywyy, l(1.000000, 1.000000, 0.000000, 0.000000)
          mul r26.xy, r26.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
          mul r27.zw, r35.yyyw, cb0[287].xxxx
          add r27.zw, r27.zzzw, r27.zzzw
          div r27.zw, r15.wwww, r27.zzzw
          mad r17.yw, r17.yyyw, r27.xxxy, r26.xxxy
          add r26.xy, -r27.zwzz, l(1.000000, 1.000000, 0.000000, 0.000000)
          max r17.yw, r27.zzzw, r17.yyyw
          min r17.yw, r26.xxxy, r17.yyyw
          mad r17.yw, r17.yyyw, r35.yyyw, r36.xxxy
          sample_l_indexable(texture2d)(float,float,float,float) r19.xyz, r17.ywyy, t11.xyzw, s1, l(0.000000)
          mov r27.xyzw, r19.xyzw
        else
          ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r16.w, r16.z, l(220), t9.xxxx
          ine r17.yw, r28.zzzz, l(0, 4, 0, 3)
          movc r19.x, r17.y, r29.z, l(1.000000)
          div r19.xy, r29.xyxx, r19.xxxx
          mad r19.z, -r32.w, l(0.500000), r29.z
          mad r19.z, -r32.w, l(0.500000), |r19.z|
          add r19.z, r19.z, l(1.000000)
          max r25.w, |r19.y|, |r19.x|
          max r19.z, r19.z, r25.w
          ge r16.w, r16.w, r19.z
          and r17.y, r17.y, r17.w
          dp2 r17.w, r19.xyxx, r19.xyxx
          mul r19.z, r28.y, r28.y
          ge r17.w, r19.z, r17.w
          and r17.w, r16.w, r17.w
          movc r16.w, r17.y, r17.w, r16.w
          mad r17.yw, r19.xxxy, l(0.000000, 0.500000, 0.000000, 0.500000), l(0.000000, 0.500000, 0.000000, 0.500000)
          add r19.xy, r35.ywyy, cb0[287].yyyy
          rcp r19.xy, r19.xyxx
          mul r26.xy, r35.ywyy, r19.xyxx
          mad r19.xy, -r19.xyxx, r35.ywyy, l(1.000000, 1.000000, 0.000000, 0.000000)
          mul r19.xy, r19.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
          mul r28.xy, r35.ywyy, cb0[287].xxxx
          add r28.xy, r28.xyxx, r28.xyxx
          div r28.xy, r15.wwww, r28.xyxx
          mad r17.yw, r17.yyyw, r26.xxxy, r19.xxxy
          add r19.xy, -r28.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
          max r17.yw, r28.xxxy, r17.yyyw
          min r17.yw, r19.xxxy, r17.yyyw
          mad r17.yw, r17.yyyw, r35.yyyw, r36.xxxy
          sample_l_indexable(texture2d)(float,float,float,float) r27.xyz, r17.ywyy, t11.xyzw, s1, l(0.000000)
          and r27.w, r16.w, l(0x3f800000)
        endif
        mov r34.w, r35.z
        mul r34.xyzw, r27.wxyz, r34.xyzw
        mov r35.xyz, r34.yzwy
      else
        mov r35.xy, r34.yzyy
      endif
      mul r19.xyz, r34.xxxx, r35.xyzx
      ige r16.w, r33.w, l(0)
      lt r17.y, l(0.000000), r37.y
      and r16.w, r16.w, r17.y
      if_nz r16.w
        ieq r16.w, r28.z, l(1)
        ine r17.y, r28.z, l(4)
        dp3 r17.w, r2.xyzx, r31.xyzx
        ge r17.w, r17.w, l(0.000000)
        movc r17.w, r17.w, l(1.000000), l(-1.000000)
        mul r26.xyz, r2.xyzx, r17.wwww
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r27.xyzw, r33.w, l(32), t29.xyzw
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r28.xyzw, r33.w, l(48), t29.xyzw
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r29.xyzw, r33.w, l(64), t29.xyzw
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r30.xz, r33.w, l(96), t29.xxyx
        ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r34.xyzw, r33.w, l(128), t29.xyzw
        if_nz r16.w
          itof r16.w, r33.w
          ge r17.w, |r31.z|, |r31.x|
          ge r25.w, |r31.z|, |r31.y|
          and r17.w, r17.w, r25.w
          lt r32.xyw, -r31.zyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
          ge r25.w, |r31.y|, |r31.x|
          movc r32.xy, r32.xyxx, l(5.000000,3.000000,0,0), l(4.000000,2.000000,0,0)
          and r30.w, r32.w, l(0x3f800000)
          movc r25.w, r25.w, r32.y, r30.w
          movc r17.w, r17.w, r32.x, r25.w
          add r16.w, r16.w, r17.w
          ftou r16.w, r16.w
          ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r35.xyz, r16.w, l(0), t29.xyzx
          ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r38.xyz, r16.w, l(12), t29.xyzx
          ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r39.xyz, r16.w, l(24), t29.xyzx
          ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r29.xy, r16.w, l(64), t29.xyxx
        else
          ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r38.xyzw, r33.w, l(0), t29.wxyz
          ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r39.xyzw, r33.w, l(16), t29.zwxy
          mov r35.xyz, r38.yzwy
          mov r38.yz, r39.zzwz
          mov r39.z, r27.x
        endif
        lt r16.w, l(0.000000), r34.w
        if_nz r16.w
          ne r16.w, l(0.000000, 0.000000, 0.000000, 0.000000), r34.w
          movc r32.xy, r16.wwww, cb0[85].zwzz, cb0[82].zwzz
          add r33.xyz, r34.xyzx, v3.xyzx
          mul r17.w, r30.y, r29.z
          mul r17.w, r17.w, r29.w
          mad r20.xyz, r26.xyzx, r17.wwww, r33.xyzx
          add r33.xyz, -r27.yzwy, r20.xyzx
          dp3 r40.x, r35.xyzx, r33.xyzx
          dp3 r40.y, r38.xyzx, r33.xyzx
          dp3 r40.z, r39.xyzx, r33.xyzx
          mov r35.w, r27.y
          dp4 r33.x, r35.xyzw, r20.xyzw
          mov r38.w, r27.z
          dp4 r33.y, r38.xyzw, r20.xyzw
          mov r39.w, r27.w
          dp4 r33.z, r39.xyzw, r20.xyzw
          movc r21.xyz, r17.yyyy, r40.xyzx, r33.xyzx
          movc r20.xy, r17.yyyy, l(-1.000000,0,0,0), l(0,1.000000,0,0)
          mul r33.xy, r21.xyxx, r28.xyxx
          dp2 r33.z, r28.zwzz, r21.zwzz
          dp2 r17.w, r20.xyxx, r21.zwzz
          ne r20.x, r17.w, l(0.000000)
          and r20.x, r17.y, r20.x
          div r21.xyz, r33.xyzx, r17.wwww
          movc r20.xyz, r20.xxxx, r21.xyzx, r33.xyzx
          mad_sat r20.xy, r20.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
          mul r20.xy, r30.xzxx, r20.xyxx
          mad r20.xy, r20.xyxx, r32.xyxx, r29.xyxx
          add r21.xy, r30.xzxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
          mad r21.xy, r21.xyxx, r32.xyxx, r29.xyxx
          lt r21.xy, r21.xyxx, r20.xyxx
          lt r32.xy, r20.xyxx, r29.xyxx
          or r21.xy, r21.xyxx, r32.xyxx
          or r17.w, r21.y, r21.x
          movc r33.xyzw, r16.wwww, cb0[85].zwxy, cb0[82].zwxy
          add r16.w, r20.z, l(0.0000152587891)
          mad r21.xy, r20.xyxx, r33.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
          round_ni r21.xy, r21.xyxx
          mad r20.xy, r20.xyxx, r33.zwzz, -r21.xyxx
          add r40.xyzw, r20.xxyy, l(0.500000, 1.000000, 0.500000, 1.000000)
          mul r41.xyzw, r40.xxzz, r40.xxzz
          mul r32.xy, r41.ywyy, l(0.080000, 0.080000, 0.000000, 0.000000)
          mad r33.zw, r41.xxxz, l(0.000000, 0.000000, 0.500000, 0.500000), -r20.xxxy
          add r36.xy, -r20.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
          min r40.xz, r20.xxyx, l(0.000000, 0.000000, 0.000000, 0.000000)
          mad r40.xz, -r40.xxzx, r40.xxzx, r36.xxyx
          max r20.xy, r20.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
          mad r20.xy, -r20.xyxx, r20.xyxx, r40.ywyy
          add r40.xz, r40.xxzx, l(1.000000, 0.000000, 1.000000, 0.000000)
          add r20.xy, r20.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
          mul r41.xy, r33.zwzz, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r42.xy, r36.xyxx, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r43.xy, r40.xzxx, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r44.xy, r20.xyxx, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r20.xy, r40.ywyy, l(0.160000, 0.160000, 0.000000, 0.000000)
          mov r41.z, r43.x
          mov r41.w, r20.x
          mov r42.z, r44.x
          mov r42.w, r32.x
          add r40.xyzw, r41.zwxz, r42.zwxz
          mov r43.z, r41.y
          mov r43.w, r20.y
          mov r44.z, r42.y
          mov r44.w, r32.y
          add r20.xyz, r43.zywz, r44.zywz
          div r32.xyw, r42.xzxw, r40.zwzy
          add r32.xyw, r32.xyxw, l(-2.500000, -0.500000, 0.000000, 1.500000)
          div r41.xyz, r44.zywz, r20.xyzx
          add r41.xyz, r41.xyzx, l(-2.500000, -0.500000, 1.500000, 0.000000)
          mul r42.xyz, r33.xxxx, r32.yxwy
          mul r41.xyz, r33.yyyy, r41.xyzx
          mov r42.w, r41.x
          mad r43.xyzw, r21.xyxy, r33.xyxy, r42.ywxw
          mad r32.xy, r21.xyxx, r33.xyxx, r42.zwzz
          mov r41.w, r42.y
          mov r42.yw, r41.yyyz
          mad r44.xyzw, r21.xyxy, r33.xyxy, r42.xyzy
          mad r41.xyzw, r21.xyxy, r33.xyxy, r41.wywz
          mad r33.xyzw, r21.xyxy, r33.xyxy, r42.xwzw
          mul r42.xyzw, r20.xxxy, r40.zwyz
          mul r45.xyzw, r20.yyzz, r40.xyzw
          mul r20.x, r20.z, r40.y
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.y, r43.xyxx, t25.xxxx, s2, r16.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.z, r43.zwzz, t25.xxxx, s2, r16.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.x, r32.xyxx, t25.xxxx, s2, r16.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.y, r41.xyxx, t25.xxxx, s2, r16.w
          mov r21.z, l(0)
          mov r25.w, l(0)
          loop
            ige r30.w, r25.w, l(1)
            breakc_nz r30.w
            mad r30.w, r42.x, r20.y, r21.z
            mad r30.w, r42.y, r20.z, r30.w
            mad r30.w, r42.z, r21.x, r30.w
            mad r21.z, r42.w, r21.y, r30.w
            iadd r25.w, r25.w, l(1)
          endloop
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.y, r44.xyxx, t25.xxxx, s2, r16.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.z, r44.zwzz, t25.xxxx, s2, r16.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.x, r41.zwzz, t25.xxxx, s2, r16.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.y, r33.xyxx, t25.xxxx, s2, r16.w
          mov r25.w, r21.z
          mov r30.w, l(0)
          loop
            ige r31.w, r30.w, l(1)
            breakc_nz r31.w
            mad r31.w, r45.x, r20.y, r25.w
            mad r31.w, r45.y, r20.z, r31.w
            mad r31.w, r45.z, r21.x, r31.w
            mad r25.w, r45.w, r21.y, r31.w
            iadd r30.w, r30.w, l(1)
          endloop
          sample_c_lz_indexable(texture2d)(float,float,float,float) r16.w, r33.zwzz, t25.xxxx, s2, r16.w
          mad r16.w, r20.x, r16.w, r25.w
          movc r16.w, r17.w, l(1.000000), r16.w
        else
          ne r17.w, l(0.000000, 0.000000, 0.000000, 0.000000), r34.w
          movc r20.xy, r17.wwww, cb0[85].zwzz, cb0[82].zwzz
          add r32.xyw, r34.xyxz, v3.xyxz
          mul r20.z, r30.y, r29.z
          mul r20.z, r20.z, r29.w
          mad r22.xyz, r26.xyzx, r20.zzzz, r32.xywx
          add r26.xyz, -r27.yzwy, r22.xyzx
          dp3 r33.x, r35.xyzx, r26.xyzx
          dp3 r33.y, r38.xyzx, r26.xyzx
          dp3 r33.z, r39.xyzx, r26.xyzx
          mov r35.w, r27.y
          dp4 r26.x, r35.xyzw, r22.xyzw
          mov r38.w, r27.z
          dp4 r26.y, r38.xyzw, r22.xyzw
          mov r27.xyz, r39.xyzx
          dp4 r26.z, r27.xyzw, r22.xyzw
          movc r23.xyz, r17.yyyy, r33.xyzx, r26.xyzx
          movc r21.xy, r17.yyyy, l(-1.000000,0,0,0), l(0,1.000000,0,0)
          mul r22.xy, r23.xyxx, r28.xyxx
          dp2 r22.z, r28.zwzz, r23.zwzz
          dp2 r20.z, r21.xyxx, r23.zwzz
          ne r21.x, r20.z, l(0.000000)
          and r17.y, r17.y, r21.x
          div r23.xyz, r22.xyzx, r20.zzzz
          movc r22.xyz, r17.yyyy, r23.xyzx, r22.xyzx
          mad_sat r21.xy, r22.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
          mul r21.xy, r30.xzxx, r21.xyxx
          mad r21.xy, r21.xyxx, r20.xyxx, r29.xyxx
          add r22.xy, r30.xzxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
          mad r20.xy, r22.xyxx, r20.xyxx, r29.xyxx
          lt r20.xy, r20.xyxx, r21.xyxx
          lt r22.xy, r21.xyxx, r29.xyxx
          or r20.xy, r20.xyxx, r22.xyxx
          or r17.y, r20.y, r20.x
          movc r27.xyzw, r17.wwww, cb0[85].zwxy, cb0[82].zwxy
          add r17.w, r22.z, l(0.0000152587891)
          mad r20.xy, r21.xyxx, r27.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
          round_ni r20.xy, r20.xyxx
          mad r21.xy, r21.xyxx, r27.zwzz, -r20.xyxx
          add r28.xyzw, r21.xxyy, l(0.500000, 1.000000, 0.500000, 1.000000)
          mul r29.xyzw, r28.xxzz, r28.xxzz
          mul r22.xy, r29.ywyy, l(0.080000, 0.080000, 0.000000, 0.000000)
          mad r23.xy, r29.xzxx, l(0.500000, 0.500000, 0.000000, 0.000000), -r21.xyxx
          add r26.xy, -r21.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
          min r27.zw, r21.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
          mad r27.zw, -r27.zzzw, r27.zzzw, r26.xxxy
          max r21.xy, r21.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
          mad r21.xy, -r21.xyxx, r21.xyxx, r28.ywyy
          add r27.zw, r27.zzzw, l(0.000000, 0.000000, 1.000000, 1.000000)
          add r21.xy, r21.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
          mul r29.xy, r23.xyxx, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r30.xy, r26.xyxx, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r33.xy, r27.zwzz, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r34.xy, r21.xyxx, l(0.160000, 0.160000, 0.000000, 0.000000)
          mul r21.xy, r28.ywyy, l(0.160000, 0.160000, 0.000000, 0.000000)
          mov r29.z, r33.x
          mov r29.w, r21.x
          mov r30.z, r34.x
          mov r30.w, r22.x
          add r28.xyzw, r29.zwxz, r30.zwxz
          mov r33.z, r29.y
          mov r33.w, r21.y
          mov r34.z, r30.y
          mov r34.w, r22.y
          add r22.xyz, r33.zywz, r34.zywz
          div r23.xyz, r30.xzwx, r28.zwyz
          add r23.xyz, r23.xyzx, l(-2.500000, -0.500000, 1.500000, 0.000000)
          div r26.xyz, r34.zywz, r22.xyzx
          add r26.xyz, r26.xyzx, l(-2.500000, -0.500000, 1.500000, 0.000000)
          mul r29.xyz, r27.xxxx, r23.yxzy
          mul r30.xyz, r27.yyyy, r26.xyzx
          mov r29.w, r30.x
          mad r33.xyzw, r20.xyxy, r27.xyxy, r29.ywxw
          mad r21.xy, r20.xyxx, r27.xyxx, r29.zwzz
          mov r30.w, r29.y
          mov r29.yw, r30.yyyz
          mad r34.xyzw, r20.xyxy, r27.xyxy, r29.xyzy
          mad r30.xyzw, r20.xyxy, r27.xyxy, r30.wywz
          mad r27.xyzw, r20.xyxy, r27.xyxy, r29.xwzw
          mul r29.xyzw, r22.xxxy, r28.zwyz
          mul r35.xyzw, r22.yyzz, r28.xyzw
          mul r20.x, r22.z, r28.y
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.y, r33.xyxx, t24.xxxx, s2, r17.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.z, r33.zwzz, t24.xxxx, s2, r17.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.x, r21.xyxx, t24.xxxx, s2, r17.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.y, r30.xyxx, t24.xxxx, s2, r17.w
          mov r22.xy, l(0,0,0,0)
          loop
            ige r22.z, r22.y, l(1)
            breakc_nz r22.z
            mad r22.z, r29.x, r20.y, r22.x
            mad r22.z, r29.y, r20.z, r22.z
            mad r22.z, r29.z, r21.x, r22.z
            mad r22.x, r29.w, r21.y, r22.z
            iadd r22.y, r22.y, l(1)
          endloop
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.y, r34.xyxx, t24.xxxx, s2, r17.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r20.z, r34.zwzz, t24.xxxx, s2, r17.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.x, r30.zwzz, t24.xxxx, s2, r17.w
          sample_c_lz_indexable(texture2d)(float,float,float,float) r21.y, r27.xyxx, t24.xxxx, s2, r17.w
          mov r22.y, r22.x
          mov r22.z, l(0)
          loop
            ige r23.x, r22.z, l(1)
            breakc_nz r23.x
            mad r23.x, r35.x, r20.y, r22.y
            mad r23.x, r35.y, r20.z, r23.x
            mad r23.x, r35.z, r21.x, r23.x
            mad r22.y, r35.w, r21.y, r23.x
            iadd r22.z, r22.z, l(1)
          endloop
          sample_c_lz_indexable(texture2d)(float,float,float,float) r17.w, r27.zwzz, t24.xxxx, s2, r17.w
          mad r17.w, r20.x, r17.w, r22.y
          movc r16.w, r17.y, l(1.000000), r17.w
        endif
        add r16.w, r16.w, l(-1.000000)
        mad r16.w, r37.y, r16.w, l(1.000000)
      else
        mov r16.w, l(1.000000)
      endif
      mov r37.zw, r36.zzzw
      add r20.xyz, -r37.zwxz, l(1.000000, 1.000000, 1.000000, 0.000000)
      mul r17.y, r16.w, r16.w
      mul r17.y, r16.w, r17.y
      add r17.w, -r16.w, l(1.000000)
      mad r23.xyz, -r17.wwww, r20.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
      mul r26.xyz, r37.zwxz, r16.wwww
      mad r20.xyz, r17.yyyy, r20.xyzx, r26.xyzx
      add r20.xyz, -r23.xyzx, r20.xyzx
      mad r20.xyz, r32.zzzz, r20.xyzx, r23.xyzx
      mul r19.xyz, r19.xyzx, r20.xyzx
      max r16.w, r19.y, r19.x
      max r16.w, r19.z, r16.w
      lt r16.w, l(0.000000), r16.w
      if_nz r16.w
        ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r16.w, r16.z, l(152), t9.xxxx
        ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r17.yw, r16.z, l(196), t9.xxxy
        max r16.z, r7.w, r16.w
        mov_sat r16.w, r26.w
        dp3 r20.x, r31.xyzx, r8.xyzx
        mad r20.y, r20.x, l(2.000000), l(2.000000)
        max r20.y, r20.y, l(5.960464478E-08)
        rsq r20.y, r20.y
        add r20.z, r1.y, r26.w
        mul_sat r20.z, r20.y, r20.z
        mad_sat r20.y, r20.y, r20.x, r20.y
        add r20.y, -r20.y, l(1.000000)
        mul r21.x, r20.y, r20.y
        mul r21.x, r21.x, r21.x
        mul r21.y, r20.y, r21.x
        mad r20.y, -r21.x, r20.y, l(1.000000)
        mad r20.y, r6.w, r20.y, r21.y
        mul r16.z, r16.z, r16.z
        mad r21.x, r20.z, r16.z, -r20.z
        mad r20.z, r21.x, r20.z, l(1.000000)
        mad r21.x, -|r26.w|, r16.z, |r26.w|
        mad r21.x, r21.x, |r26.w|, r16.z
        sqrt r21.x, r21.x
        mul r21.x, r1.z, r21.x
        mul r20.z, r20.z, r20.z
        mad r21.x, |r26.w|, r12.w, r21.x
        mul r16.z, r16.z, l(0.159154937)
        mul r20.z, r20.z, r21.x
        max r20.z, r20.z, l(1.175494351E-38)
        div r16.z, r16.z, r20.z
        mul r16.z, r16.z, r20.y
        mad r20.x, r13.y, r20.x, r13.y
        add r20.y, -|r26.w|, l(1.000000)
        mul r20.z, r20.y, r20.y
        mul r20.z, r20.z, r20.z
        mul r20.y, r20.y, r20.z
        add r20.x, r20.x, l(-0.500000)
        mad r20.y, r20.x, r20.y, l(1.000000)
        mad r20.x, r20.x, r16.x, l(1.000000)
        mul r20.x, r20.x, r20.y
        mul r20.x, r16.w, r20.x
        mul r20.x, r20.x, l(0.307334960)
        mul r16.z, r16.w, r16.z
        mul r20.xyz, r19.xyzx, r20.xxxx
        mul r20.xyz, r17.yyyy, r20.xyzx
        mul r19.xyz, r19.xyzx, r16.zzzz
        mul r19.xyz, r17.wwww, r19.xyzx
      else
        mov r20.xyz, l(0,0,0,0)
        mov r19.xyz, l(0,0,0,0)
      endif
    else
      mov r20.xyz, l(0,0,0,0)
      mov r19.xyz, l(0,0,0,0)
    endif
    add r24.xyz, r20.xyzx, r24.xyzx
    mov r25.x, r24.w
    add r25.xyz, r19.xyzx, r25.xyzx
    mov r24.w, r25.x
  endif
endloop
iadd r2.xy, r13.xxxx, r15.xyxx
imad r2.xy, r2.xyxx, cb0[291].yyyy, r3.wwww
imad r2.xy, r2.xyxx, cb0[291].xxxx, r3.zzzz
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r2.x, l(0), t6.xxxx
and r2.z, r2.x, l(0x07ffffff)
ushr r2.x, r2.x, l(27)
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2darray)(float,float,float,float) r4.xyzw, r4.xyzw, t15.xyzw
ld_indexable(texture2d)(float,float,float,float) r3.z, l(0, 0, 0, 0), t4.yzxw
mul r3.w, r3.z, cb0[282].y
eq r3.w, r3.w, l(0.000000)
and r3.w, r3.w, l(0x3f800000)
mad r3.z, r3.z, cb0[282].y, r3.w
rcp r3.z, r3.z
movc r3.z, cb0[360].y, l(1.000000), r3.z
mul r4.xyz, r3.zzzz, r4.xyzx
mul r4.xyz, r4.wwww, r4.xyzx
mul r4.xyz, r5.wwww, r4.xyzx
mad r3.z, -r13.y, r13.y, l(1.000000)
sqrt r3.w, r3.z
mad r3.w, r13.y, r13.y, r3.w
mul r13.x, r1.z, r1.z
mul r13.x, r3.z, r13.x
mad_sat r3.z, r3.z, r3.z, r13.x
mul r3.z, r3.z, r3.w
mad r0.yzw, -r0.yyzw, r1.xxxx, r14.xxyz
mad r0.yzw, r3.zzzz, r0.yyzw, r9.xxyz
min r1.x, r12.x, l(1.000000)
mad r3.z, r1.x, l(-2.000000), l(3.000000)
mul r1.x, r1.x, r1.x
mul r1.x, r1.x, r3.z
min r1.x, r1.x, l(1.000000)
add r16.yzw, -r0.yyzw, r14.xxyz
mad r17.xyz, r1.xxxx, r16.yzwy, r0.yzwy
mov r0.yzw, r4.xxyz
mov r1.x, r4.w
mov r3.z, l(0)
loop
  uge r3.w, r3.z, r2.x
  breakc_nz r3.w
  iadd r3.w, r2.z, r3.z
  ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.w, r3.w, l(0), t5.xxxx
  ieq r12.x, r3.w, l(-1)
  if_nz r12.x
    break
  endif
  iadd r3.z, r3.z, l(1)
  lt r12.x, r1.x, l(1.000000)
  if_nz r12.x
    ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r19.xyzw, r3.w, l(0), t10.xyzw
    and r12.x, r10.y, r19.x
    if_nz r12.x
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r20.xyzw, r3.w, l(16), t10.xyzw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r21.xyzw, r3.w, l(32), t10.xyzw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r22.xyzw, r3.w, l(48), t10.xyzw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r23.xyzw, r3.w, l(64), t10.zxyw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r26.xyzw, r3.w, l(80), t10.yzxw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r27.xyzw, r3.w, l(96), t10.xyzw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r28.xyzw, r3.w, l(112), t10.zxyw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r29.xyzw, r3.w, l(128), t10.xyzw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r30.xyzw, r3.w, l(144), t10.xyzw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r31.xyzw, r3.w, l(160), t10.zwxy
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r32.xyzw, r3.w, l(208), t10.xyzw
      ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r33.xyzw, r3.w, l(224), t10.xyzw
      ige r12.x, r33.w, l(0)
      movc r34.xyz, r12.xxxx, r17.xyzx, r14.xyzx
      add r16.yzw, -r26.xxyw, v3.xxyz
      mov r35.xy, r28.xwxx
      mov r35.z, r29.x
      dp3 r36.x, r16.yzwy, r35.xyzx
      mov r28.x, r27.w
      dp3 r36.y, r16.yzwy, r28.xyzx
      dp3 r36.z, r16.yzwy, r27.xyzx
      add r16.yzw, -r21.yyzw, v3.xxyz
      mov r26.xy, r23.xwxx
      dp3 r37.x, r16.yzwy, r26.xyzx
      mov r23.x, r22.w
      dp3 r37.y, r16.yzwy, r23.xyzx
      dp3 r37.z, r16.yzwy, r22.xyzx
      dp3 r26.x, r34.xyzx, r26.xyzx
      dp3 r26.y, r34.xyzx, r23.xyzx
      dp3 r26.z, r34.xyzx, r22.xyzx
      ieq r13.x, r20.x, l(2)
      if_nz r13.x
        dp3 r13.x, r26.xyzx, r37.xyzx
        add r13.w, r13.x, r13.x
        dp3 r14.w, r37.xyzx, r37.xyzx
        mad r14.w, -r20.y, r20.y, r14.w
        mul r14.w, r14.w, l(4.000000)
        mad r13.w, r13.w, r13.w, -r14.w
        sqrt r13.w, r13.w
        mad r13.x, -r13.x, l(2.000000), r13.w
        mul r13.x, |r13.x|, l(0.500000)
        and r13.w, r13.x, l(0x7fffffff)
        ult r13.w, l(0x7f800000), r13.w
        movc r13.x, r13.w, l(-1.000000), r13.x
        max r13.x, r21.x, r13.x
        mad r16.yzw, r13.xxxx, r34.xxyz, v3.xxyz
        add r34.xyz, -r19.yzwy, r16.yzwy
        dp3 r13.w, r36.xyzx, r36.xyzx
        sqrt r13.w, r13.w
        add r14.w, r29.y, -r30.x
        add r14.w, r13.w, -r14.w
        max r14.w, r14.w, l(0.000000)
        max r15.x, r30.x, l(0.000100)
        div r14.w, r14.w, r15.x
        add r14.w, -r14.w, l(1.000000)
        max r14.w, r14.w, l(0.000000)
        add r15.x, r29.y, -r31.x
        ge r13.w, r15.x, r13.w
        add r16.yzw, -r19.yyzw, v3.xxyz
        dp3 r15.x, r16.yzwy, r16.yzwy
        rsq r15.x, r15.x
        mul r16.yzw, r15.xxxx, r16.yyzw
        dp3 r15.x, r9.xyzx, r16.yzwy
        mad_sat r15.x, r15.x, l(-2.500000), l(1.500000)
        movc r13.w, r13.w, l(1.000000), r15.x
        mul r13.w, r13.w, r14.w
      else
        ieq r14.w, r20.x, l(1)
        if_nz r14.w
          ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r22.xyzw, r3.w, l(176), t10.xyzw
          ld_structured_indexable(structured_buffer, stride=240)(mixed,mixed,mixed,mixed) r23.xyzw, r3.w, l(192), t10.wxyz
          dp3 r35.x, r34.xyzx, r35.xyzx
          dp3 r35.y, r34.xyzx, r28.xyzx
          dp3 r35.z, r34.xyzx, r27.xyzx
          dp3 r3.w, r35.xyzx, r35.xyzx
          rsq r3.w, r3.w
          mul r16.yzw, r3.wwww, r35.xxyz
          rcp r21.yzw, r26.xxyz
          add r27.xyz, -r20.yzwy, -r37.xyzx
          mul r27.xyz, r21.yzwy, r27.xyzx
          add r20.xyz, r20.yzwy, -r37.xyzx
          mul r20.xyz, r21.yzwy, r20.xyzx
          lt r21.yzw, l(0.000000, 0.000000, 0.000000, 0.000000), r26.xxyz
          movc r20.xyz, r21.yzwy, r20.xyzx, r27.xyzx
          min r3.w, r20.y, r20.x
          min r3.w, r20.z, r3.w
          max r13.x, r21.x, r3.w
          mad r20.xyz, r13.xxxx, r34.xyzx, v3.xyzx
          add r34.xyz, -r19.yzwy, r20.xyzx
          add r20.xyz, r29.yzwy, r36.xyzx
          add r21.xyz, r29.yzwy, -r36.xyzx
          mov r26.x, r30.w
          mov r26.yz, r31.zzwz
          max r26.xyz, r26.xyzx, l(0.000100, 0.000100, 0.000100, 0.000000)
          div r26.xyz, r20.xyzx, r26.xyzx
          max r27.xyz, r30.xyzx, l(0.000100, 0.000100, 0.000100, 0.000000)
          div r27.xyz, r21.xyzx, r27.xyzx
          min r3.w, r26.y, r26.x
          min r3.w, r26.z, r3.w
          min r14.w, r27.y, r27.x
          min r14.w, r27.z, r14.w
          min_sat r3.w, r3.w, r14.w
          mov r31.z, r22.x
          max r26.xyz, r31.xyzx, l(0.000100, 0.000100, 0.000100, 0.000000)
          div r21.xyz, r21.xyzx, r26.xyzx
          max r22.xyz, r22.yzwy, l(0.000100, 0.000100, 0.000100, 0.000000)
          div r20.xyz, r20.xyzx, r22.xyzx
          ge r21.xyz, r21.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
          and r14.w, r21.y, r21.x
          and r14.w, r21.z, r14.w
          ge r20.xyz, r20.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
          and r15.x, r20.y, r20.x
          and r15.x, r20.z, r15.x
          and r14.w, r14.w, r15.x
          add r19.xyz, -r19.yzwy, v3.xyzx
          dp3 r15.x, r19.xyzx, r19.xyzx
          rsq r15.x, r15.x
          mul r19.xyz, r15.xxxx, r19.xyzx
          dp3 r15.x, r9.xyzx, r19.xyzx
          mad_sat r15.x, r15.x, l(-2.500000), l(1.500000)
          movc r14.w, r14.w, l(1.000000), r15.x
          mul r3.w, r3.w, r14.w
          mad r19.xyz, r16.yzwy, l(4.000000, 4.000000, 4.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
          mul_sat r19.xyz, r23.yzwy, r19.xyzx
          mad r16.yzw, r16.yyzw, l(0.000000, -4.000000, -4.000000, -4.000000), l(0.000000, -1.000000, -1.000000, -1.000000)
          mov r23.yz, r32.xxyx
          mul_sat r16.yzw, r16.yyzw, r23.xxyz
          add r16.yzw, r16.yyzw, r19.xxyz
          add r14.w, r16.z, r16.y
          add r14.w, r16.w, r14.w
          min r14.w, r14.w, l(1.000000)
          mul r13.w, r3.w, r14.w
        else
          mov r13.xw, l(0,0,0,1.000000)
        endif
      endif
      mul r3.w, r13.w, r13.w
      mad r13.w, -r13.w, l(2.000000), l(3.000000)
      mul r3.w, r3.w, r13.w
      mul r3.w, r32.z, r3.w
      dp3 r13.w, r34.xyzx, r34.xyzx
      sqrt r13.w, r13.w
      div r13.x, r13.x, r13.w
      mul r13.x, r13.y, r13.x
      max r13.x, r13.x, l(0.000000)
      min r13.x, r13.y, r13.x
      add r13.w, -r13.x, r13.y
      mad r13.x, r13.y, r13.w, r13.x
      add r13.x, -r13.y, r13.x
      mad r13.x, r33.z, r13.x, r13.y
      movc r13.x, r12.x, r13.x, r13.y
      mad r13.w, -r13.x, l(0.700000), l(1.700000)
      mul r13.x, r13.w, r13.x
      mul r13.x, r33.y, r13.x
      mul r13.x, r13.x, l(6.000000)
      imax r13.w, -r33.w, r33.w
      iadd r13.w, r13.w, l(-1)
      if_z r12.x
        ishl r12.x, r13.w, l(2)
        mul r19.xyzw, r34.yyyy, cb0[r12.x + 88].xyzw
        mad r19.xyzw, cb0[r12.x + 87].xyzw, r34.xxxx, r19.xyzw
        mad r19.xyzw, cb0[r12.x + 89].xyzw, r34.zzzz, r19.xyzw
        add r19.xyzw, r19.xyzw, cb0[r12.x + 90].xyzw
        mul r53.x, v3.y, cb0[17].w
        mad r53.x, cb0[16].w, v3.x, r53.x
        mad r53.x, cb0[18].w, v3.z, r53.x
        add r53.x, r53.x, cb0[19].w
        max r53.x, |r53.x|, l(0.010000)
        div r52.w, r52.y, r53.x
        add r52.w, l(1.0), -r52.w
        mul r52.w, r52.w, r52.x
        mad r19.x, r52.w, r19.w, r19.x
        rcp r12.x, r19.w
        mul r16.yzw, r19.xxyz, l(0.000000, 1.000000, -1.000000, 1.000000)
        mul r16.yzw, r12.xxxx, r16.yyzw
        mad r15.xy, r16.yzyy, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
        add r19.xy, cb0[288].yyyy, cb0[r13.w + 247].xyxx
        rcp r19.xy, r19.xyxx
        mul r19.zw, r19.xxxy, cb0[r13.w + 247].xxxy
        mad r19.xy, -r19.xyxx, cb0[r13.w + 247].xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
        mul r19.xy, r19.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
        exp r12.x, r13.x
        mul r20.xy, cb0[288].xxxx, cb0[r13.w + 247].xyxx
        add r20.xy, r20.xyxx, r20.xyxx
        div r20.xy, r12.xxxx, r20.xyxx
        mad r19.xy, r15.xyxx, r19.zwzz, r19.xyxx
        add r19.zw, -r20.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
        max r19.xy, r20.xyxx, r19.xyxx
        min r19.xy, r19.zwzz, r19.xyxx
        mad r19.xy, r19.xyxx, cb0[r13.w + 247].xyxx, cb0[r13.w + 247].zwzz

mul r53.x, v3.y, cb0[17].w
mad r53.x, cb0[16].w, v3.x, r53.x
mad r53.x, cb0[18].w, v3.z, r53.x
add r53.x, r53.x, cb0[19].w
max r53.x, |r53.x|, l(0.010000)


div r52.w, r52.y, r53.x		
add r52.w, l(1.0), -r52.w
mul r52.w, r52.w, l(0.5)
//(movido al clip, ver arriba) mad r19.x, r52.x, r52.w, r19.x		
		
        sample_l_indexable(texture2d)(float,float,float,float) r19.xyz, r19.xyxx, t13.xyzw, s1, r13.x
	//EDGE FIX: test de rango y fade de borde con la UV de reflexion SIN correccion estereo,
	//asi son identicos en ambos ojos (el sample de arriba ya uso la UV corregida)
	div r54.z, r52.y, r53.x
	add r54.z, l(1.0), -r54.z
	mul r54.z, r54.z, r52.x      // sep*(1-conv/w) en NDC
	mul r54.w, r54.z, l(0.5)     // en UV
	add r15.x, r15.x, -r54.w
	add r16.y, r16.y, -r54.z
        lt r20.xyzw, r15.xyxy, l(0.000000, 0.000000, 0.500000, 0.500000)
        or r12.x, r20.y, r20.x
        mad r16.yzw, r16.yyzw, l(0.000000, 0.500000, 0.500000, 1.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
        lt r16.yzw, l(0.000000, 1.000000, 1.000000, 1.000000), r16.yyzw
        or r14.w, r16.z, r16.y
        or r14.w, r16.w, r14.w
        or r12.x, r12.x, r14.w
        dp3 r14.w, cb0[r13.w + 215].xyzx, r34.xyzx
        lt r14.w, r14.w, l(0.000000)
        mov_sat r16.yz, r15.xxyx
        mad r16.yz, r16.yyzy, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
	add r54.x, r5.x, -r54.w   //pixel UV sin separacion
	mov r54.y, r5.y
	lt r20.xy, r54.xyxx, r15.xyxx
        and r20.xyzw, r20.xyzw, l(1, 1, 1, 1)
        xor r20.xy, r20.zwzz, r20.xyxx
        mad r15.xy, -r3.xyxx, cb0[42].zwzz, r15.xyxx
	add r15.x, r15.x, r54.w   //(pixel mono = pixel estereo - r54.w)
        mul r15.xy, |r15.xyxx|, l(100.000000, 100.000000, 0.000000, 0.000000)
        min r15.xy, r15.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
        mul r20.zw, r15.xxxy, r15.xxxy
        mad r15.xy, -r15.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(3.000000, 3.000000, 0.000000, 0.000000)
        mul r15.xy, r15.xyxx, r20.zwzz
        mad r16.yz, -|r16.yyzy|, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, 2.000000, 2.000000, 0.000000)
        min r16.yz, r16.yyzy, l(0.000000, 1.000000, 1.000000, 0.000000)
        add r16.yz, r16.yyzy, l(0.000000, -1.000000, -1.000000, 0.000000)
        mad r15.xy, r15.xyxx, r16.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000)
        movc r15.xy, r20.xyxx, r15.xyxx, l(1.000000,1.000000,0,0)
        mul r15.x, r15.y, r15.x
        or r12.x, r12.x, r14.w
        movc r12.x, r12.x, l(0), r15.x
      else
        imul null, r13.w, r13.w, cb0[291].z
        itof r34.w, r13.w
        sample_l_indexable(texturecubearray)(float,float,float,float) r19.xyz, r34.xyzw, t12.xyzw, s1, r13.x
        mov r12.x, l(1.000000)
      endif
      mul r16.yzw, r33.xxxx, r19.xxyz
      min r16.yzw, r16.yyzw, l(0.000000, 65504.000000, 65504.000000, 65504.000000)
      mul r16.yzw, r5.wwww, r16.yyzw
      mad r13.x, r3.w, r12.x, r1.x
      mov_sat r1.x, r13.x
      add_sat r13.x, -r1.x, r13.x
      mad r3.w, r3.w, r12.x, -r13.x
      mul r3.w, r32.w, r3.w
      mad r0.yzw, r16.yyzw, r3.wwww, r0.yyzw
    endif
  endif
endloop
if_nz cb0[280].x
  lt r2.x, r1.x, l(1.000000)
  if_nz r2.x
    mad r2.x, -r13.y, l(0.700000), l(1.700000)
    mul r2.x, r2.x, r13.y
    mul r2.x, r2.x, l(6.000000)
    mov r17.w, l(0)
    sample_l_indexable(texturecubearray)(float,float,float,float) r3.xyz, r17.xyzw, t14.xyzw, s1, r2.x
    min r3.xyz, r3.xyzx, l(65504.000000, 65504.000000, 65504.000000, 0.000000)
    mul r3.xyz, r3.xyzx, r5.wwww
    add r1.x, r1.x, l(1.000000)
    mov_sat r2.x, r1.x
    add_sat r1.x, r1.x, -r2.x
    add r1.x, -r1.x, l(1.000000)
    movc r1.x, cb0[281].x, r1.x, l(0)
    mad r0.yzw, r3.xxyz, r1.xxxx, r0.yyzw
  endif
endif
add r3.xyz, r6.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
add r4.xyz, v3.xyzx, cb0[40].xyzx
add r4.xyz, r4.xyzx, -cb3[7].xyzx
dp3 r1.x, r4.xyzx, r4.xyzx
sqrt r1.x, r1.x
rcp r2.x, r1.x
mul r2.z, r2.x, cb3[0].x
mad r2.z, -r2.z, r2.z, l(1.000000)
max r2.z, r2.z, l(0.000000)
sqrt r2.z, r2.z
mul r6.xy, r1.xxxx, cb3[2].xzxx
mad r13.xw, cb3[2].xxxz, cb3[0].xxxx, -r6.xxxy
mul r13.xw, r13.xxxw, l(1.442695, 0.000000, 0.000000, 1.442695)
mad r14.xy, r6.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
exp r13.xw, r13.xxxw
add r1.x, r2.w, r2.w
mov r16.yzw, r24.xxyz
mov r17.x, r24.w
mov r17.yz, r25.yyzy
mov r3.w, l(0)
loop
  uge r4.w, r3.w, cb0[279].x
  breakc_nz r4.w
  ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r4.w, r3.w, l(12), t8.xxxx
  and r4.w, r10.y, r4.w
  if_nz r4.w
    ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r4.w, r3.w, l(16), t8.xxxx
    ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r19.xyzw, r3.w, l(24), t8.xyzw
    lt r4.w, l(0.000000), r4.w
    dp3 r6.z, r9.xyzx, -r19.xyzx
    lt r12.x, l(0.000000), r6.z
    and r4.w, r4.w, r12.x
    if_nz r4.w
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r20.xyzw, r3.w, l(56), t8.xyzw
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r21.xyz, r3.w, l(88), t8.xyzx
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r22.xyzw, r3.w, l(104), t8.xyzw
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r23.xyz, r3.w, l(152), t8.xyzx
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r4.w, r3.w, l(168), t8.xxxx
      max r12.x, |r19.y|, l(5.960464478E-08)
      rcp r12.x, r12.x
      ge r14.z, -r19.y, l(0.000000)
      movc r14.z, r14.z, v3.y, l(-16777216.000000)
      add r14.w, r14.z, -cb0[74].y
      add r14.z, -r14.z, cb0[74].y
      mul r14.z, r12.x, r14.z
      max r14.zw, r14.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
      mul r14.w, -r14.w, cb0[75].x
      mul r14.w, r14.w, l(1.442695)
      exp r14.w, r14.w
      mul r12.x, r12.x, cb0[75].y
      mad r12.x, r14.w, r12.x, r14.z
      mul r12.x, r12.x, cb0[74].x
      mul r12.x, r12.x, l(-1.442695)
      exp r12.x, r12.x
      mul r21.xyz, r12.xxxx, r21.xyzx
      ige r4.w, r4.w, l(0)
      if_nz r4.w
        dp3 r4.w, r4.xyzx, -r19.xyzx
        mul r4.w, r2.x, r4.w
        ge r12.x, r4.w, -r2.z
        if_nz r12.x
          mad r12.x, -r4.w, r4.w, l(1.000000)
          max r12.x, r12.x, l(0.000000)
          sqrt r12.x, r12.x
          mul r14.z, |r4.w|, |r4.w|
          mul r15.xy, r6.xyxx, r14.zzzz
          mad r14.zw, -r14.zzzz, r6.xxxy, r14.xxxy
          mul r14.zw, r14.zzzw, l(0.000000, 0.000000, 0.761643, 0.761643)
          mad r15.xy, r15.xyxx, l(0.273828, 0.273828, 0.000000, 0.000000), l(1.477210, 1.477210, 0.000000, 0.000000)
          mul r15.xy, r6.xyxx, r15.xyxx
          sqrt r15.xy, r15.xyxx
          mad r15.xy, |r4.wwww|, r6.xyxx, r15.xyxx
          rcp r15.xy, r15.xyxx
          mul r14.zw, r14.zzzw, r15.xxxy
          mad r14.zw, |r4.wwww|, l(0.000000, 0.000000, 0.500000, 0.500000), r14.zzzw
          mul r14.zw, r13.xxxw, r14.zzzw
          lt r4.w, r4.w, l(0.000000)
          mul r15.xy, r6.xyxx, r12.xxxx
          mad r25.xw, cb3[2].xxxz, cb3[0].xxxx, -r15.xxxy
          mul r25.xw, r25.xxxw, l(1.442695, 0.000000, 0.000000, 1.442695)
          exp r25.xw, r25.xxxw
          rsq r26.xy, r15.xyxx
          dp2 r12.x, r15.xxxx, r26.xxxx
          add r12.x, r12.x, r26.x
          mul r27.x, r12.x, r25.x
          dp2 r12.x, r15.yyyy, r26.yyyy
          add r12.x, r12.x, r26.y
          mul r27.y, r12.x, r25.w
          mad r15.xy, r27.xyxx, l(1.253314, 1.253314, 0.000000, 0.000000), -r14.zwzz
          movc r14.zw, r4.wwww, r15.xxxy, r14.zzzw
          mul r14.zw, r14.zzzw, cb3[2].yyyw
          mul r4.w, r14.w, cb3[10].x
          mad r26.xyz, r14.zzzz, cb3[3].xyzx, r4.wwww
          mul r26.xyz, r26.xyzx, l(-1.442695, -1.442695, -1.442695, 0.000000)
          exp r26.xyz, r26.xyzx
          add r26.xyz, -r26.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
          add r4.w, r26.y, r26.x
          add r4.w, r26.z, r4.w
          mul r12.x, r4.w, l(0.333333343)
          mad r26.xyz, -r4.wwww, l(0.333333343, 0.333333343, 0.333333343, 0.000000), r26.xyzx
          mad r26.xyz, r26.xyzx, cb3[10].wwww, r12.xxxx
          mad r26.xyz, -r26.xyzx, cb3[11].xxxx, l(1.000000, 1.000000, 1.000000, 0.000000)
          mul r21.xyz, r21.xyzx, r26.xyzx
          mov r4.w, l(1.000000)
        else
          mov r21.xyz, l(0,0,0,0)
          mov r4.w, l(0)
        endif
      else
        mov r4.w, l(1.000000)
      endif
      if_nz r19.w
        ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r26.xyz, r3.w, l(0), t8.xyzx
        ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r27.xyzw, r3.w, l(40), t8.xyzw
        ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r28.xyz, r3.w, l(72), t8.xyzx
        add r26.xyz, -r26.xyzx, v3.xyzx
        dp3 r15.x, r26.xyzx, r20.xyzx
        dp3 r15.y, r26.xyzx, r28.xyzx
        mad r14.zw, r15.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000), l(0.000000, 0.000000, 0.500000, 0.500000)
        ieq r12.x, r19.w, l(2)
        frc r15.xy, r14.zwzz
        movc r14.zw, r12.xxxx, r15.xxxy, r14.zzzw
        add r15.xy, r27.xyxx, cb0[287].yyyy
        rcp r15.xy, r15.xyxx
        mul r20.xy, r27.xyxx, r15.xyxx
        mad r15.xy, -r15.xyxx, r27.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
        mul r15.xy, r15.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
        mul r25.xw, r27.xxxy, cb0[287].xxxx
        add r25.xw, r25.xxxw, r25.xxxw
        div r25.xw, r15.wwww, r25.xxxw
        mad r14.zw, r14.zzzw, r20.xxxy, r15.xxxy
        add r15.xy, -r25.xwxx, l(1.000000, 1.000000, 0.000000, 0.000000)
        max r14.zw, r25.xxxw, r14.zzzw
        min r14.zw, r15.xxxy, r14.zzzw
        mad r14.zw, r14.zzzw, r27.xxxy, r27.zzzw
        sample_l_indexable(texture2d)(float,float,float,float) r20.xyz, r14.zwzz, t11.xyzw, s1, l(0.000000)
        mul r21.xyz, r20.xyzx, r21.xyzx
      endif
      mul r20.xyz, r4.wwww, r21.xyzx
      ige r4.w, r20.w, l(0)
      lt r12.x, l(0.000000), r22.w
      and r4.w, r4.w, r12.x
      mad r21.xyz, r22.wwww, r3.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
      movc r21.xyz, r4.wwww, r21.xyzx, l(1.000000,1.000000,1.000000,0)
      ge r4.w, r6.z, l(0.000000)
      mad r12.x, r1.x, r2.w, r6.z
      add_sat r12.x, r12.x, l(-1.000000)
      add r12.x, r12.x, l(-1.000000)
      mad r12.x, cb0[285].x, r12.x, l(1.000000)
      movc r4.w, r4.w, r12.x, l(1.000000)
      mul r26.xyz, r4.wwww, r21.xyzx
      add r27.xyz, -r22.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
      mul r28.xyz, r26.xyzx, r26.xyzx
      mul r28.xyz, r26.xyzx, r28.xyzx
      mad r21.xyz, -r21.xyzx, r4.wwww, l(1.000000, 1.000000, 1.000000, 0.000000)
      mad r21.xyz, -r21.xyzx, r27.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
      mul r22.xyz, r22.xyzx, r26.xyzx
      mad r22.xyz, r28.xyzx, r27.xyzx, r22.xyzx
      add r22.xyz, -r21.xyzx, r22.xyzx
      mad r21.xyz, r23.zzzz, r22.xyzx, r21.xyzx
      mul r20.xyz, r20.xyzx, r21.xyzx
      max r4.w, r20.y, r20.x
      max r4.w, r20.z, r4.w
      lt r4.w, l(0.000000), r4.w
      if_nz r4.w
        ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r4.w, r3.w, l(128), t8.xxxx
        max r4.w, r7.w, r4.w
        mov_sat r12.x, r6.z
        dp3 r14.z, -r19.xyzx, r8.xyzx
        mad r14.w, r14.z, l(2.000000), l(2.000000)
        max r14.w, r14.w, l(5.960464478E-08)
        rsq r14.w, r14.w
        add r15.x, r1.y, r6.z
        mul_sat r15.x, r14.w, r15.x
        mad_sat r14.w, r14.w, r14.z, r14.w
        add r14.w, -r14.w, l(1.000000)
        mul r15.y, r14.w, r14.w
        mul r15.y, r15.y, r15.y
        mul r17.w, r14.w, r15.y
        mad r14.w, -r15.y, r14.w, l(1.000000)
        mad r14.w, r6.w, r14.w, r17.w
        mul r4.w, r4.w, r4.w
        mad r15.y, r15.x, r4.w, -r15.x
        mad r15.x, r15.y, r15.x, l(1.000000)
        mad r15.y, -|r6.z|, r4.w, |r6.z|
        mad r15.y, r15.y, |r6.z|, r4.w
        sqrt r15.y, r15.y
        mul r15.y, r1.z, r15.y
        mul r15.x, r15.x, r15.x
        mad r15.y, |r6.z|, r12.w, r15.y
        mul r4.w, r4.w, l(0.159154937)
        mul r15.x, r15.y, r15.x
        max r15.x, r15.x, l(1.175494351E-38)
        div r4.w, r4.w, r15.x
        mul r4.w, r4.w, r14.w
        mad r14.z, r13.y, r14.z, r13.y
        add r6.z, -|r6.z|, l(1.000000)
        mul r14.w, r6.z, r6.z
        mul r14.w, r14.w, r14.w
        mul r6.z, r6.z, r14.w
        add r14.z, r14.z, l(-0.500000)
        mad r6.z, r14.z, r6.z, l(1.000000)
        mad r14.z, r14.z, r16.x, l(1.000000)
        mul r6.z, r6.z, r14.z
        mul r6.z, r6.z, r12.x
        mul r6.z, r6.z, l(0.307334960)
        mul r4.w, r12.x, r4.w
        mul r19.xyz, r20.xyzx, r6.zzzz
        mul r19.xyz, r23.xxxx, r19.xyzx
        mul r20.xyz, r20.xyzx, r4.wwww
        mul r20.xyz, r23.yyyy, r20.xyzx
      else
        mov r19.xyz, l(0,0,0,0)
        mov r20.xyz, l(0,0,0,0)
      endif
    else
      mov r19.xyz, l(0,0,0,0)
      mov r20.xyz, l(0,0,0,0)
    endif
    add r16.yzw, r16.yyzw, r19.xxyz
    add r17.xyz, r17.xyzx, r20.xyzx
  endif
  iadd r3.w, r3.w, l(1)
endloop
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r2.y, l(0), t6.xxxx
ushr r2.x, r1.x, l(27)
if_nz r2.x
  mad r2.y, r1.z, l(0.0468878001), l(-0.203471)
  mad r1.z, r2.y, r1.z, l(1.570796)
  sqrt r2.y, r15.z
  mul r13.z, r1.z, r2.y
  mad r3.xy, r13.yzyy, l(0.984375, 0.626672566, 0.000000, 0.000000), l(0.00781250000, 0.00781250000, 0.000000, 0.000000)
  mov r3.zw, l(0,0,1.000000,0)
  sample_l_indexable(texture2darray)(float,float,float,float) r4.xyzw, r3.xyzx, t31.xyzw, s0, l(0.000000)
  sample_l_indexable(texture2darray)(float,float,float,float) r3.xyzw, r3.xywx, t31.xyzw, s0, l(0.000000)
  mad r6.xyz, -r9.xyzx, r1.yyyy, r8.xyzx
  dp3 r1.y, r6.xyzx, r6.xyzx
  rsq r1.y, r1.y
  mul r6.xyz, r1.yyyy, r6.xyzx
  mul r13.xyz, r6.yzxy, r9.zxyz
  mad r13.xyz, r9.yzxy, r6.zxyz, -r13.xyzx
  and r1.x, r1.x, l(0x07ffffff)
  iadd r1.y, r2.x, l(-1)
  ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.z, r1.x, l(0), t5.xxxx
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r14.xyzw, r1.z, l(0), t9.xyzw
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r2.xyz, r1.z, l(32), t9.xyzx
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r15.xyzw, r1.z, l(48), t9.xyzw
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r19.xyzw, r1.z, l(64), t9.xyzw
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r20.xyzw, r1.z, l(80), t9.xyzw
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r21.xyzw, r1.z, l(96), t9.xyzw
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r22.xyzw, r1.z, l(112), t9.xyzw
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r23.xyzw, r1.z, l(128), t9.xyzw
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r12.xw, r1.z, l(176), t9.xxxy
  ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r24.xy, r1.z, l(196), t9.xyxx
  mul r25.xw, r4.wwwz, r4.zzzx
  mad r1.z, -r25.x, r4.y, r25.w
  mad r7.w, -r4.y, r4.w, r4.x
  mul r25.xy, r4.wzww, -r4.zyzz
  mul r26.xw, r3.wwwz, r3.zzzx
  mad r13.w, -r26.x, r3.y, r26.w
  mad r16.x, -r3.y, r3.w, r3.x
  mul r26.xy, r3.wzww, -r3.zyzz
  mov r27.x, r4.y
  mov r27.z, r3.y
  mov r25.z, r4.z
  mov r28.z, l(0)
  mov r27.yw, l(0,1.000000,0,1.000000)
  mov r26.z, r3.z
  mov r29.z, l(0)
  mov r30.xyz, r22.yzwy
  mov r30.w, r23.x
  mov r31.xyz, r16.yzwy
  mov r32.xyz, r17.xyzx
  mov r34.z, r19.x
  mov r36.xyz, r20.xyzx
  mov r37.xyz, r21.wyzw
  mov r38.xyz, r23.yzwy
  mov r40.z, r20.w
  mov r40.w, r21.x
  mov r41.yz, r24.xxyx
  mov r3.z, l(0)
  mov r33.xyzw, r14.xyzw
  mov r34.xyw, r2.yzyx
  mov r35.xyzw, r15.yzwx
  mov r39.xyw, r19.yzyw
  mov r42.x, r22.x
  mov r24.zw, r12.xxxw
  loop
    uge r4.z, r1.y, r3.z
    ieq r17.w, r35.w, l(5)
    and r4.z, r4.z, r17.w
    breakc_z r4.z
    and r4.z, r10.y, r33.w
    if_nz r4.z
      add r43.xyz, r33.xyzx, -v3.xyzx
      mul r4.z, r24.z, l(0.500000)
      mad r17.w, r24.z, l(0.500000), r39.x
      div_sat r17.w, r39.x, r17.w
      dp3 r31.w, r43.xyzx, r35.xyzx
      mad r17.w, -r31.w, r17.w, r31.w
      mad r44.xyz, -r17.wwww, r35.xyzx, r43.xyzx
      dp3 r17.w, r44.xyzx, r44.xyzx
      mul r17.w, r40.z, r17.w
      mad_sat r17.w, -r17.w, r17.w, r37.x
      mul r17.w, r17.w, r17.w
      ne r31.w, r17.w, l(0.000000)
      if_nz r31.w
        mul r41.xw, r17.wwww, r41.yyyz
        mad r44.xyz, -r35.xyzx, r4.zzzz, r43.xyzx
        mad r43.xyz, r35.xyzx, r4.zzzz, r43.xyzx
        dp3 r45.y, r44.xyzx, r6.xyzx
        dp3 r45.z, r44.xyzx, r13.xyzx
        dp3 r45.x, r44.xyzx, r9.xyzx
        dp3 r44.z, r43.xyzx, r6.xyzx
        dp3 r44.x, r43.xyzx, r13.xyzx
        dp3 r44.y, r43.xyzx, r9.xyzx
        mul r43.xyz, r44.xyzx, r45.xyzx
        mad r43.xyz, r45.zxyz, r44.yzxy, -r43.xyzx
        dp3 r4.z, r43.xyzx, r43.xyzx
        rsq r4.z, r4.z
        mul r43.xyz, r4.zzzz, r43.xyzx
        dp2 r46.z, r45.yxyy, r27.xyxx
        dp2 r47.z, r44.zyzz, r27.xyxx
        ge r4.z, l(0.000000), r46.z
        ge r17.w, l(0.000000), r47.z
        and r4.z, r4.z, r17.w
        if_z r4.z
          dp2 r46.x, r45.yxyy, r4.xwxx
          mul r46.y, r25.z, r45.z
          dp2 r47.x, r44.zyzz, r4.xwxx
          mul r47.y, r25.z, r44.x
          dp2 r48.x, r43.zxzz, r25.yzyy
          mul r48.y, r7.w, r43.y
          dp2 r48.z, r43.xzxx, r25.xwxx
          dp3 r4.z, r48.xyzx, r48.xyzx
          sqrt r4.z, r4.z
          div r4.z, |r1.z|, r4.z
          lt r17.w, r47.z, r46.z
          swapc r46.xyz, r47.xyz, r17.wwww, r47.xyzx, r46.xyzx
          add r46.xyz, r46.xyzx, -r47.xyzx
          dp3 r17.w, r46.xyzx, r46.xyzx
          sqrt r47.w, r17.w
          rsq r17.w, r17.w
          mul r46.xyz, r17.wwww, r46.xyzx
          ge r17.w, l(0.000000), r47.z
          div r31.w, -r47.z, r46.z
          mad r28.xy, r31.wwww, r46.xyxx, r47.xyxx
          add r28.w, -r31.w, r47.w
          movc r47.xyzw, r17.wwww, r28.xyzw, r47.xyzw
          dp3 r17.w, r47.xyzx, r46.xyzx
          mad r28.xyw, -r17.wwww, r46.xyxz, r47.xyxz
          add r31.w, r47.w, r17.w
          dp3 r28.x, r28.xywx, r28.xywx
          sqrt r28.y, r28.x
          rcp r28.y, r28.y
          mul r32.w, r17.w, r28.y
          mul r37.w, r28.y, r31.w
          mad r43.w, r17.w, r17.w, r28.x
          div r43.w, r32.w, r43.w
          mad r28.x, r31.w, r31.w, r28.x
          div r28.x, r37.w, r28.x
          mul r17.w, r17.w, r43.w
          mad r17.w, r31.w, r28.x, -r17.w
          mul r28.y, r28.y, r28.y
          lt r31.w, |r37.w|, l(1.000000)
          div r44.w, l(1.000000, 1.000000, 1.000000, 1.000000), |r37.w|
          movc r44.w, r31.w, |r37.w|, r44.w
          mul r45.w, r44.w, r44.w
          mad r46.x, r45.w, l(0.0872929022), l(-0.301895)
          mad r45.w, r46.x, r45.w, l(1.000000)
          mul r46.x, r44.w, r45.w
          mad r44.w, -r45.w, r44.w, l(1.57079637)
          movc r31.w, r31.w, r46.x, r44.w
          lt r37.w, r37.w, l(0.000000)
          movc r31.w, r37.w, -r31.w, r31.w
          mad r28.x, r28.y, r31.w, r28.x
          lt r31.w, |r32.w|, l(1.000000)
          div r37.w, l(1.000000, 1.000000, 1.000000, 1.000000), |r32.w|
          movc r37.w, r31.w, |r32.w|, r37.w
          mul r44.w, r37.w, r37.w
          mad r45.w, r44.w, l(0.0872929022), l(-0.301895)
          mad r44.w, r45.w, r44.w, l(1.000000)
          mul r45.w, r37.w, r44.w
          mad r37.w, -r44.w, r37.w, l(1.57079637)
          movc r31.w, r31.w, r45.w, r37.w
          lt r32.w, r32.w, l(0.000000)
          movc r31.w, r32.w, -r31.w, r31.w
          mad r28.y, r28.y, r31.w, r43.w
          add r28.x, -r28.y, r28.x
          mul r17.w, r46.z, r17.w
          mad r17.w, r28.x, r28.w, r17.w
          mul r4.z, r4.z, r17.w
          mul r4.z, r4.z, l(0.318309873)
          max r4.z, r4.z, l(0.000000)
        else
          mov r4.z, l(0)
        endif
        mul r4.z, r41.x, r4.z
        mul r4.z, r4.z, r9.w
        dp2 r46.z, r45.yxyy, r27.zwzz
        dp2 r47.z, r44.zyzz, r27.zwzz
        ge r17.w, l(0.000000), r46.z
        ge r28.x, l(0.000000), r47.z
        and r17.w, r17.w, r28.x
        if_z r17.w
          dp2 r46.x, r45.yxyy, r3.xwxx
          mul r46.y, r26.z, r45.z
          dp2 r47.x, r44.zyzz, r3.xwxx
          mul r47.y, r26.z, r44.x
          dp2 r44.x, r43.zxzz, r26.yzyy
          mul r44.y, r16.x, r43.y
          dp2 r44.z, r43.xzxx, r26.xwxx
          dp3 r17.w, r44.xyzx, r44.xyzx
          sqrt r17.w, r17.w
          div r17.w, |r13.w|, r17.w
          lt r28.x, r47.z, r46.z
          swapc r43.xyz, r44.xyz, r28.xxxx, r47.xyzx, r46.xyzx
          add r28.xyw, r43.xyxz, -r44.xyxz
          dp3 r31.w, r28.xywx, r28.xywx
          sqrt r44.w, r31.w
          rsq r31.w, r31.w
          mul r28.xyw, r28.xyxw, r31.wwww
          ge r31.w, l(0.000000), r44.z
          div r32.w, -r44.z, r28.w
          mad r29.xy, r32.wwww, r28.xyxx, r44.xyxx
          add r29.w, -r32.w, r44.w
          movc r43.xyzw, r31.wwww, r29.xyzw, r44.xyzw
          dp3 r29.x, r43.xyzx, r28.xywx
          mad r43.xyz, -r29.xxxx, r28.xywx, r43.xyzx
          add r28.x, r43.w, r29.x
          dp3 r28.y, r43.xyzx, r43.xyzx
          sqrt r29.y, r28.y
          rcp r29.y, r29.y
          mul r29.w, r29.y, r29.x
          mul r31.w, r28.x, r29.y
          mad r32.w, r29.x, r29.x, r28.y
          div r32.w, r29.w, r32.w
          mad r28.y, r28.x, r28.x, r28.y
          div r28.y, r31.w, r28.y
          mul r29.x, r29.x, r32.w
          mad r28.x, r28.x, r28.y, -r29.x
          mul r29.x, r29.y, r29.y
          lt r29.y, |r31.w|, l(1.000000)
          div r37.w, l(1.000000, 1.000000, 1.000000, 1.000000), |r31.w|
          movc r37.w, r29.y, |r31.w|, r37.w
          mul r41.x, r37.w, r37.w
          mad r43.x, r41.x, l(0.0872929022), l(-0.301895)
          mad r41.x, r43.x, r41.x, l(1.000000)
          mul r43.x, r37.w, r41.x
          mad r37.w, -r41.x, r37.w, l(1.57079637)
          movc r29.y, r29.y, r43.x, r37.w
          lt r31.w, r31.w, l(0.000000)
          movc r29.y, r31.w, -r29.y, r29.y
          mad r28.y, r29.x, r29.y, r28.y
          lt r29.y, |r29.w|, l(1.000000)
          div r31.w, l(1.000000, 1.000000, 1.000000, 1.000000), |r29.w|
          movc r31.w, r29.y, |r29.w|, r31.w
          mul r37.w, r31.w, r31.w
          mad r41.x, r37.w, l(0.0872929022), l(-0.301895)
          mad r37.w, r41.x, r37.w, l(1.000000)
          mul r41.x, r31.w, r37.w
          mad r31.w, -r37.w, r31.w, l(1.57079637)
          movc r29.y, r29.y, r41.x, r31.w
          lt r29.w, r29.w, l(0.000000)
          movc r29.y, r29.w, -r29.y, r29.y
          mad r29.x, r29.x, r29.y, r32.w
          add r28.y, r28.y, -r29.x
          mul r28.x, r28.w, r28.x
          mad r28.x, r28.y, r43.z, r28.x
          mul r17.w, r17.w, r28.x
          mul r17.w, r17.w, l(0.318309873)
          max r17.w, r17.w, l(0.000000)
        else
          mov r17.w, l(0)
        endif
        mul r17.w, r41.w, r17.w
        mul r17.w, r5.w, r17.w
        mov r37.x, r40.w
        mul r28.xyw, r4.zzzz, r37.xyxz
        mul r29.xyw, r17.wwww, r37.xyxz
      else
        mov r28.xyw, l(0,0,0,0)
        mov r29.xyw, l(0,0,0,0)
      endif
      add r31.xyz, r28.xywx, r31.xyzx
      add r32.xyz, r29.xywx, r32.xyzx
    endif
    iadd r3.z, r3.z, l(1)
    umin r4.z, r1.y, r3.z
    iadd r4.z, r1.x, r4.z
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r4.z, l(0), t5.xxxx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r33.xyzw, r4.z, l(0), t9.xyzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r34.xyw, r4.z, l(32), t9.yzxx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r35.xyzw, r4.z, l(48), t9.yzwx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r39.xyzw, r4.z, l(64), t9.yxzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r36.xyzw, r4.z, l(80), t9.xyzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r40.xyzw, r4.z, l(96), t9.zwyx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r42.xyzw, r4.z, l(112), t9.xyzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r38.xyzw, r4.z, l(128), t9.yzwx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r24.zw, r4.z, l(176), t9.xxxy
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r41.yz, r4.z, l(196), t9.xxyx
    mov r30.xyz, r42.yzwy
    mov r30.w, r38.w
    mov r34.z, r39.y
    mov r37.xyz, r40.yzxy
    mov r40.z, r36.w
    mov r39.xyw, r39.xzxw
  endloop
  mov r14.x, r4.y
  mov r14.z, r3.y
  mov r14.yw, l(0,1.000000,0,1.000000)
  mov r15.yw, l(0,1.000000,0,1.000000)
  mov r19.yzw, r33.xxyz
  mov r19.x, r34.w
  mov r20.xyz, r34.xyzx
  mov r20.w, r39.x
  mov r21.xy, r39.ywyy
  mov r21.zw, r40.zzzw
  mov r22.xyz, r37.xyzx
  mov r22.w, r42.x
  mov r23.xyzw, r30.xyzw
  mov r27.xyz, r38.zxyz
  mov r27.w, r24.z
  mov r16.yzw, r31.xxyz
  mov r17.xyz, r32.xyzx
  mov r28.xyz, r35.xyzx
  mov r29.xyz, r36.xyzx
  mov r43.x, r24.w
  mov r43.yz, r41.yyzy
  mov r1.z, r3.z
  mov r44.x, r33.w
  loop
    ult r2.x, r1.y, r1.z
    breakc_nz r2.x
    and r2.x, r10.y, r44.x
    if_nz r2.x
      add r2.xyz, r19.yzwy, -v3.xyzx
      mov r19.yz, r20.xxyx
      dp3 r3.y, r19.xyzx, r2.xyzx
      lt r3.y, r3.y, l(5.960464478E-08)
      if_nz r3.y
        dp3 r45.x, r2.xyzx, r28.xyzx
        dp3 r45.y, r2.xyzx, r29.xyzx
        dp3 r45.z, r2.xyzx, -r19.xyzx
        mul r3.y, r27.w, l(0.500000)
        mul r4.y, r43.x, l(0.500000)
        mad r4.z, r27.w, l(0.500000), r20.w
        mad r7.w, r43.x, l(0.500000), r20.w
        rcp r46.x, r4.z
        rcp r46.y, r7.w
        rcp r46.z, r20.w
        mul r25.xyw, r45.xyxz, r46.xyxz
        max r4.z, |r25.y|, |r25.x|
        max r4.z, |r25.w|, r4.z
        ge r4.z, l(1.000000), r4.z
        mul r26.xyw, r25.xyxw, r25.xyxw
        dp3 r7.w, r25.xywx, r25.xywx
        mul r12.x, r26.y, r26.x
        mad r7.w, -r26.x, r26.y, r7.w
        mad r7.w, -r26.y, r26.w, r7.w
        mad r7.w, -r26.w, r26.x, r7.w
        mad r7.w, r12.x, r26.w, r7.w
        mul r7.w, r21.z, r7.w
        mad_sat r7.w, -r7.w, r7.w, r22.x
        mul r7.w, r7.w, r7.w
        and r4.z, r4.z, r7.w
        ne r7.w, r4.z, l(0.000000)
        if_nz r7.w
          mul r12.xw, r4.zzzz, r43.yyyz
          mad r25.xyw, r28.xyxz, -r3.yyyy, r2.xyxz
          mad r26.xyw, r29.xyxz, -r4.yyyy, r25.xyxw
          mad r25.xyw, r29.xyxz, r4.yyyy, r25.xyxw
          mad r2.xyz, r28.xyzx, r3.yyyy, r2.xyzx
          mad r42.yzw, r29.xxyz, r4.yyyy, r2.xxyz
          mad r2.xyz, r29.xyzx, -r4.yyyy, r2.xyzx
          dp3 r24.x, r26.xywx, r6.xyzx
          dp3 r3.y, r26.xywx, r13.xyzx
          dp3 r24.y, r26.xywx, r9.xyzx
          dp3 r26.x, r25.xywx, r6.xyzx
          dp3 r4.y, r25.xywx, r13.xyzx
          dp3 r26.y, r25.xywx, r9.xyzx
          dp3 r25.x, r42.yzwy, r6.xyzx
          dp3 r4.z, r42.yzwy, r13.xyzx
          dp3 r25.y, r42.yzwy, r9.xyzx
          dp3 r40.x, r2.xyzx, r6.xyzx
          dp3 r7.w, r2.xyzx, r13.xyzx
          dp3 r40.y, r2.xyzx, r9.xyzx
          dp2 r2.x, r24.xyxx, r4.xwxx
          mul r2.y, r25.z, r3.y
          dp2 r2.z, r24.xyxx, r14.xyxx
          dp2 r45.x, r26.xyxx, r4.xwxx
          mul r45.y, r25.z, r4.y
          dp2 r45.z, r26.xyxx, r14.xyxx
          dp2 r46.y, r25.xyxx, r4.xwxx
          mul r46.z, r25.z, r4.z
          dp2 r46.x, r25.xyxx, r14.xyxx
          dp2 r47.x, r40.xyxx, r4.xwxx
          mul r47.y, r25.z, r7.w
          dp2 r47.z, r40.xyxx, r14.xyxx
          dp3 r13.w, r2.xyzx, r2.xyzx
          rsq r13.w, r13.w
          mul r42.yzw, r2.yyzx, r13.wwww
          dp3 r13.w, r45.xyzx, r45.xyzx
          rsq r13.w, r13.w
          mul r48.xyz, r13.wwww, r45.zxyz
          dp3 r13.w, r46.xyzx, r46.xyzx
          rsq r13.w, r13.w
          mul r46.xyz, r13.wwww, r46.xyzx
          dp3 r13.w, r47.xyzx, r47.xyzx
          rsq r13.w, r13.w
          mul r49.xyz, r13.wwww, r47.zxyz
          dp3 r13.w, r42.zwyz, r48.xyzx
          mul r50.xyz, r42.zwyz, r48.zxyz
          mad r50.xyz, r42.yzwy, r48.xyzx, -r50.xyzx
          mad r16.x, |r13.w|, l(0.0423204005), l(-0.194527835)
          mad r16.x, |r13.w|, r16.x, l(0.420272410)
          mad r16.x, |r13.w|, r16.x, l(-0.617311120)
          mad r16.x, |r13.w|, r16.x, l(0.778026462)
          mad r16.x, |r13.w|, r16.x, l(-0.999569714)
          mad r16.x, |r13.w|, r16.x, l(1.57079208)
          lt r17.w, r13.w, l(0.000000)
          mad r13.w, -r13.w, r13.w, l(1.000000)
          max r13.w, r13.w, l(0.000000)
          max r13.w, r13.w, l(0.000010)
          rsq r13.w, r13.w
          mad r13.w, r13.w, l(3.14159274), -r16.x
          movc r13.w, r17.w, r13.w, r16.x
          dp3 r16.x, r48.xyzx, r46.xyzx
          mul r51.xyz, r46.zxyz, r48.xyzx
          mad r48.xyz, r48.zxyz, r46.xyzx, -r51.xyzx
          mad r17.w, |r16.x|, l(0.0423204005), l(-0.194527835)
          mad r17.w, |r16.x|, r17.w, l(0.420272410)
          mad r17.w, |r16.x|, r17.w, l(-0.617311120)
          mad r17.w, |r16.x|, r17.w, l(0.778026462)
          mad r17.w, |r16.x|, r17.w, l(-0.999569714)
          mad r17.w, |r16.x|, r17.w, l(1.57079208)
          lt r25.w, r16.x, l(0.000000)
          mad r16.x, -r16.x, r16.x, l(1.000000)
          max r16.x, r16.x, l(0.000000)
          max r16.x, r16.x, l(0.000010)
          rsq r16.x, r16.x
          mad r16.x, r16.x, l(3.14159274), -r17.w
          movc r16.x, r25.w, r16.x, r17.w
          mul r48.xyz, r16.xxxx, r48.xyzx
          mad r48.xyz, r50.xyzx, r13.wwww, r48.xyzx
          dp3 r13.w, r46.xyzx, r49.xyzx
          mul r50.xyz, r46.xyzx, r49.zxyz
          mad r46.xyz, r46.zxyz, r49.xyzx, -r50.xyzx
          mad r16.x, |r13.w|, l(0.0423204005), l(-0.194527835)
          mad r16.x, |r13.w|, r16.x, l(0.420272410)
          mad r16.x, |r13.w|, r16.x, l(-0.617311120)
          mad r16.x, |r13.w|, r16.x, l(0.778026462)
          mad r16.x, |r13.w|, r16.x, l(-0.999569714)
          mad r16.x, |r13.w|, r16.x, l(1.57079208)
          lt r17.w, r13.w, l(0.000000)
          mad r13.w, -r13.w, r13.w, l(1.000000)
          max r13.w, r13.w, l(0.000000)
          max r13.w, r13.w, l(0.000010)
          rsq r13.w, r13.w
          mad r13.w, r13.w, l(3.14159274), -r16.x
          movc r13.w, r17.w, r13.w, r16.x
          mad r46.xyz, r46.xyzx, r13.wwww, r48.xyzx
          dp3 r13.w, r49.zxyz, r42.yzwy
          mul r48.xyz, r42.yzwy, r49.xyzx
          mad r42.yzw, r49.zzxy, r42.zzwy, -r48.xxyz
          mad r16.x, |r13.w|, l(0.0423204005), l(-0.194527835)
          mad r16.x, |r13.w|, r16.x, l(0.420272410)
          mad r16.x, |r13.w|, r16.x, l(-0.617311120)
          mad r16.x, |r13.w|, r16.x, l(0.778026462)
          mad r16.x, |r13.w|, r16.x, l(-0.999569714)
          mad r16.x, |r13.w|, r16.x, l(1.57079208)
          lt r17.w, r13.w, l(0.000000)
          mad r13.w, -r13.w, r13.w, l(1.000000)
          max r13.w, r13.w, l(0.000000)
          max r13.w, r13.w, l(0.000010)
          rsq r13.w, r13.w
          mad r13.w, r13.w, l(3.14159274), -r16.x
          movc r13.w, r17.w, r13.w, r16.x
          mad r42.yzw, r42.yyzw, r13.wwww, r46.xxyz
          mul r46.xyz, r42.yzwy, l(0.159154937, 0.159154937, 0.159154937, 0.000000)
          dp3 r13.w, r46.xyzx, r46.xyzx
          sqrt r16.x, r13.w
          mad r13.w, r42.w, l(0.159154937), r13.w
          add r16.x, r16.x, l(1.000000)
          div r13.w, r13.w, r16.x
          max r13.w, r13.w, l(0.000000)
          mul r42.yzw, r12.xxxx, r13.wwww
          if_nz r21.x
            add r47.xyz, -r2.xyzx, r47.xyzx
            add r45.xyz, -r2.xyzx, r45.xyzx
            mul r48.xyz, r45.yzxy, r47.zxyz
            mad r48.xyz, r47.yzxy, r45.zxyz, -r48.xyzx
            dp3 r12.x, r48.xyzx, r48.xyzx
            rsq r12.x, r12.x
            mul r48.xyz, r12.xxxx, r48.xyzx
            dp3 r13.w, r2.xyzx, r48.xyzx
            dp3 r16.x, r46.xyzx, r48.xyzx
            div r13.w, r13.w, r16.x
            mad r2.xyz, r13.wwww, r48.xyzx, -r2.xyzx
            dp3 r16.x, r47.xyzx, r47.xyzx
            div r16.x, l(1.000000, 1.000000, 1.000000, 1.000000), r16.x
            dp3 r17.w, r45.xyzx, r47.xyzx
            mul r46.xyz, r47.xyzx, r17.wwww
            mad r45.xyz, -r46.xyzx, r16.xxxx, r45.xyzx
            dp3 r25.w, r2.xyzx, r45.xyzx
            dp3 r26.w, r45.xyzx, r45.xyzx
            div r45.y, r25.w, r26.w
            dp3 r2.x, r2.xyzx, r47.xyzx
            mad r2.x, -r17.w, r45.y, r2.x
            mad r45.x, -r2.x, r16.x, l(1.000000)
            mul r2.x, r22.w, cb0[286].x
            log r2.x, r2.x
            round_ne r2.x, r2.x
            mul r2.y, r13.w, r13.w
            mul r2.y, r12.x, r2.y
            mad r2.y, r2.y, l(3.14159274), l(9.999999939E-09)
            log r2.y, r2.y
            mad r2.y, r2.y, l(0.500000), r2.x
            max r2.y, r2.y, l(0.000000)
            min r2.x, r2.x, r2.y
            mov_sat r45.xy, r45.xyxx
            add r2.y, r2.x, -cb0[287].z
            max r2.y, r2.y, l(0.000000)
            mov r46.x, r22.w
            mov r46.y, r23.x
            add r41.xw, r46.xxxy, cb0[287].yyyy
            rcp r41.xw, r41.xxxw
            mul r45.zw, r46.xxxy, r41.xxxw
            mad r41.xw, -r41.xxxw, r46.xxxy, l(1.000000, 0.000000, 0.000000, 1.000000)
            mul r41.xw, r41.xxxw, l(0.500000, 0.000000, 0.000000, 0.500000)
            round_pi r2.y, r2.y
            exp r2.y, r2.y
            mul r46.zw, r46.xxxy, cb0[287].xxxx
            add r46.zw, r46.zzzw, r46.zzzw
            div r2.yz, r2.yyyy, r46.zzwz
            mad r41.xw, r45.xxxy, r45.zzzw, r41.xxxw
            add r45.xy, -r2.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000)
            max r2.yz, r2.yyzy, r41.xxwx
            min r2.yz, r45.xxyx, r2.yyzy
            mad r2.yz, r2.yyzy, r46.xxyx, r23.yyzy
            sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, r2.yzyy, t11.xyzw, s1, r2.x
            mul r42.yzw, r2.xxyz, r42.wwww
          endif
          mul r2.xyz, r9.wwww, r42.yzwy
          dp2 r45.x, r24.xyxx, r3.xwxx
          mul r45.y, r26.z, r3.y
          dp2 r45.z, r24.xyxx, r14.zwzz
          dp2 r46.x, r26.xyxx, r3.xwxx
          mul r46.y, r26.z, r4.y
          dp2 r46.z, r26.xyxx, r14.zwzz
          dp2 r47.y, r25.xyxx, r3.xwxx
          mul r47.z, r26.z, r4.z
          dp2 r47.x, r25.xyxx, r14.zwzz
          dp2 r48.x, r40.xyxx, r3.xwxx
          mul r48.y, r26.z, r7.w
          dp2 r48.z, r40.xyxx, r14.zwzz
          dp3 r3.y, r45.xyzx, r45.xyzx
          rsq r3.y, r3.y
          mul r25.xyw, r3.yyyy, r45.yzyx
          dp3 r3.y, r46.xyzx, r46.xyzx
          rsq r3.y, r3.y
          mul r26.xyw, r3.yyyy, r46.zxzy
          dp3 r3.y, r47.xyzx, r47.xyzx
          rsq r3.y, r3.y
          mul r42.yzw, r3.yyyy, r47.xxyz
          dp3 r3.y, r48.xyzx, r48.xyzx
          rsq r3.y, r3.y
          mul r47.xyz, r3.yyyy, r48.zxyz
          dp3 r3.y, r25.ywxy, r26.xywx
          mul r49.xyz, r25.ywxy, r26.wxyw
          mad r49.xyz, r25.xywx, r26.xywx, -r49.xyzx
          mad r4.y, |r3.y|, l(0.0423204005), l(-0.194527835)
          mad r4.y, |r3.y|, r4.y, l(0.420272410)
          mad r4.y, |r3.y|, r4.y, l(-0.617311120)
          mad r4.y, |r3.y|, r4.y, l(0.778026462)
          mad r4.y, |r3.y|, r4.y, l(-0.999569714)
          mad r4.y, |r3.y|, r4.y, l(1.57079208)
          lt r4.z, r3.y, l(0.000000)
          mad r3.y, -r3.y, r3.y, l(1.000000)
          max r3.y, r3.y, l(0.000000)
          max r3.y, r3.y, l(0.000010)
          rsq r3.y, r3.y
          mad r3.y, r3.y, l(3.14159274), -r4.y
          movc r3.y, r4.z, r3.y, r4.y
          dp3 r4.y, r26.xywx, r42.yzwy
          mul r50.xyz, r26.xywx, r42.wyzw
          mad r26.xyw, r26.wxwy, r42.yzyw, -r50.xyxz
          mad r4.z, |r4.y|, l(0.0423204005), l(-0.194527835)
          mad r4.z, |r4.y|, r4.z, l(0.420272410)
          mad r4.z, |r4.y|, r4.z, l(-0.617311120)
          mad r4.z, |r4.y|, r4.z, l(0.778026462)
          mad r4.z, |r4.y|, r4.z, l(-0.999569714)
          mad r4.z, |r4.y|, r4.z, l(1.57079208)
          lt r7.w, r4.y, l(0.000000)
          mad r4.y, -r4.y, r4.y, l(1.000000)
          max r4.y, r4.y, l(0.000000)
          max r4.y, r4.y, l(0.000010)
          rsq r4.y, r4.y
          mad r4.y, r4.y, l(3.14159274), -r4.z
          movc r4.y, r7.w, r4.y, r4.z
          mul r26.xyw, r4.yyyy, r26.xyxw
          mad r26.xyw, r49.xyxz, r3.yyyy, r26.xyxw
          dp3 r3.y, r42.yzwy, r47.xyzx
          mul r49.xyz, r42.yzwy, r47.zxyz
          mad r42.yzw, r42.wwyz, r47.xxyz, -r49.xxyz
          mad r4.y, |r3.y|, l(0.0423204005), l(-0.194527835)
          mad r4.y, |r3.y|, r4.y, l(0.420272410)
          mad r4.y, |r3.y|, r4.y, l(-0.617311120)
          mad r4.y, |r3.y|, r4.y, l(0.778026462)
          mad r4.y, |r3.y|, r4.y, l(-0.999569714)
          mad r4.y, |r3.y|, r4.y, l(1.57079208)
          lt r4.z, r3.y, l(0.000000)
          mad r3.y, -r3.y, r3.y, l(1.000000)
          max r3.y, r3.y, l(0.000000)
          max r3.y, r3.y, l(0.000010)
          rsq r3.y, r3.y
          mad r3.y, r3.y, l(3.14159274), -r4.y
          movc r3.y, r4.z, r3.y, r4.y
          mad r26.xyw, r42.yzyw, r3.yyyy, r26.xyxw
          dp3 r3.y, r47.zxyz, r25.xywx
          mul r42.yzw, r25.xxyw, r47.xxyz
          mad r25.xyw, r47.zxzy, r25.ywyx, -r42.yzyw
          mad r4.y, |r3.y|, l(0.0423204005), l(-0.194527835)
          mad r4.y, |r3.y|, r4.y, l(0.420272410)
          mad r4.y, |r3.y|, r4.y, l(-0.617311120)
          mad r4.y, |r3.y|, r4.y, l(0.778026462)
          mad r4.y, |r3.y|, r4.y, l(-0.999569714)
          mad r4.y, |r3.y|, r4.y, l(1.57079208)
          lt r4.z, r3.y, l(0.000000)
          mad r3.y, -r3.y, r3.y, l(1.000000)
          max r3.y, r3.y, l(0.000000)
          max r3.y, r3.y, l(0.000010)
          rsq r3.y, r3.y
          mad r3.y, r3.y, l(3.14159274), -r4.y
          movc r3.y, r4.z, r3.y, r4.y
          mad r25.xyw, r25.xyxw, r3.yyyy, r26.xyxw
          mul r26.xyw, r25.xyxw, l(0.159154937, 0.159154937, 0.000000, 0.159154937)
          dp3 r3.y, r26.xywx, r26.xywx
          sqrt r4.y, r3.y
          mad r3.y, r25.w, l(0.159154937), r3.y
          add r4.y, r4.y, l(1.000000)
          div r3.y, r3.y, r4.y
          max r3.y, r3.y, l(0.000000)
          mul r25.xyw, r12.wwww, r3.yyyy
          if_nz r21.x
            add r42.yzw, -r45.xxyz, r48.xxyz
            add r46.xyz, -r45.xyzx, r46.xyzx
            mul r47.xyz, r42.wyzw, r46.yzxy
            mad r47.xyz, r42.zwyz, r46.zxyz, -r47.xyzx
            dp3 r3.y, r47.xyzx, r47.xyzx
            rsq r3.y, r3.y
            mul r47.xyz, r3.yyyy, r47.xyzx
            dp3 r4.y, r45.xyzx, r47.xyzx
            dp3 r4.z, r26.xywx, r47.xyzx
            div r4.y, r4.y, r4.z
            mad r26.xyw, r4.yyyy, r47.xyxz, -r45.xyxz
            dp3 r4.z, r42.yzwy, r42.yzwy
            div r4.z, l(1.000000, 1.000000, 1.000000, 1.000000), r4.z
            dp3 r7.w, r46.xyzx, r42.yzwy
            mul r45.xyz, r42.yzwy, r7.wwww
            mad r45.xyz, -r45.xyzx, r4.zzzz, r46.xyzx
            dp3 r12.x, r26.xywx, r45.xyzx
            dp3 r12.w, r45.xyzx, r45.xyzx
            div r24.y, r12.x, r12.w
            dp3 r12.x, r26.xywx, r42.yzwy
            mad r7.w, -r7.w, r24.y, r12.x
            mad r24.x, -r7.w, r4.z, l(1.000000)
            mul r4.z, r22.w, cb0[286].x
            log r4.z, r4.z
            round_ne r4.z, r4.z
            mul r4.y, r4.y, r4.y
            mul r3.y, r3.y, r4.y
            mad r3.y, r3.y, l(3.14159274), l(9.999999939E-09)
            log r3.y, r3.y
            mad r3.y, r3.y, l(0.500000), r4.z
            max r3.y, r3.y, l(0.000000)
            min r3.y, r4.z, r3.y
            mov_sat r24.xy, r24.xyxx
            add r4.y, r3.y, -cb0[287].z
            max r4.y, r4.y, l(0.000000)
            mov r26.x, r22.w
            mov r26.y, r23.x
            add r12.xw, r26.xxxy, cb0[287].yyyy
            rcp r12.xw, r12.xxxw
            mul r40.xy, r26.xyxx, r12.xwxx
            mad r12.xw, -r12.xxxw, r26.xxxy, l(1.000000, 0.000000, 0.000000, 1.000000)
            mul r12.xw, r12.xxxw, l(0.500000, 0.000000, 0.000000, 0.500000)
            round_pi r4.y, r4.y
            exp r4.y, r4.y
            mul r41.xw, r26.xxxy, cb0[287].xxxx
            add r41.xw, r41.xxxw, r41.xxxw
            div r4.yz, r4.yyyy, r41.xxwx
            mad r12.xw, r24.xxxy, r40.xxxy, r12.xxxw
            add r24.xy, -r4.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000)
            max r4.yz, r4.yyzy, r12.xxwx
            min r4.yz, r24.xxyx, r4.yyzy
            mad r4.yz, r4.yyzy, r26.xxyx, r23.yyzy
            sample_l_indexable(texture2d)(float,float,float,float) r26.xyw, r4.yzyy, t11.xywz, s1, r3.y
            mul r25.xyw, r25.wwww, r26.xyxw
          endif
          mul r25.xyw, r5.wwww, r25.xyxw
          ige r3.y, r21.y, l(0)
          lt r4.y, l(0.000000), r27.x
          and r3.y, r3.y, r4.y
          if_nz r3.y
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r45.xyzw, r21.y, l(0), t29.wxyz
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r46.xyzw, r21.y, l(16), t29.xyzw
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r47.xyzw, r21.y, l(32), t29.yzxw
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r48.xyzw, r21.y, l(48), t29.xyzw
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r4.yz, r21.y, l(64), t29.xxyx
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r12.xw, r21.y, l(96), t29.xxxy
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r49.xyzw, r21.y, l(112), t29.xyzw
            ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r50.xyzw, r21.y, l(128), t29.xyzw
            lt r3.y, l(0.000000), r50.w
            if_nz r3.y
              ne r3.y, l(0.000000, 0.000000, 0.000000, 0.000000), r50.w
              movc r24.xy, r3.yyyy, cb0[86].zwzz, cb0[84].zwzz
              add r26.xyw, r50.xyxz, v3.xyxz
              add r26.xyw, -r47.xyxw, r26.xyxw
              dp3 r3.y, r45.yzwy, r26.xywx
              mov r45.yz, r46.xxyx
              dp3 r7.w, r45.xyzx, r26.xywx
              mov r47.xy, r46.zwzz
              dp3 r15.x, r47.xyzx, r26.xywx
              mul r51.x, r3.y, r48.x
              mul r51.y, r7.w, r48.y
              dp2 r51.z, r48.zwzz, r15.xyxx
              ne r3.y, r15.x, l(-0.000000)
              div r26.xyw, r51.xyxz, -r15.xxxx
              movc r26.xyw, r3.yyyy, r26.xyxw, r51.xyxz
              mad_sat r26.xy, r26.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
              mul r26.xy, r12.xwxx, r26.xyxx
              mad r26.xy, r26.xyxx, r24.xyxx, r4.yzyy
              min r3.y, r49.w, l(4.000000)
              mad r3.y, r3.y, l(4.000000), l(1.000000)
              round_z r3.y, r3.y
              mad r40.xy, -r3.yyyy, l(0.500000, 0.500000, 0.000000, 0.000000), r12.xwxx
              mad r40.xy, r40.xyxx, r24.xyxx, r4.yzyy
              mad r24.xy, r24.xyxx, r3.yyyy, r4.yzyy
              lt r40.xy, r40.xyxx, r26.xyxx
              lt r24.xy, r26.xyxx, r24.xyxx
              or r24.xy, r24.xyxx, r40.xyxx
              or r3.y, r24.y, r24.x
              if_nz r3.y
                mov r3.y, l(1.000000)
              else
                add r7.w, -r26.w, l(1.000000)
                sample_l_indexable(texture2d)(float,float,float,float) r24.xy, r26.xyxx, t28.xyzw, s0, l(0.000000)
                mad r7.w, r7.w, l(2.000000), l(-1.000000)
                mul r7.w, r7.w, r49.x
                exp r7.w, r7.w
                mul r13.w, r7.w, r49.x
                mul r13.w, r13.w, r13.w
                mul r13.w, r49.z, r13.w
                mad r15.x, -r24.x, r24.x, r24.y
                max r13.w, r13.w, r15.x
                add r15.x, -r24.x, r7.w
                mad r15.x, r15.x, r15.x, r13.w
                div r13.w, r13.w, r15.x
                add r13.w, -r49.y, r13.w
                add r15.x, -r49.y, l(1.000000)
                div_sat r13.w, r13.w, r15.x
                ge r7.w, r24.x, r7.w
                and r7.w, r7.w, l(0x3f800000)
                max r3.y, r7.w, r13.w
              endif
            else
              ne r7.w, l(0.000000, 0.000000, 0.000000, 0.000000), r50.w
              movc r24.xy, r7.wwww, cb0[86].zwzz, cb0[84].zwzz
              add r26.xyw, r50.xyxz, v3.xyxz
              add r26.xyw, -r47.xyxw, r26.xyxw
              dp3 r7.w, r45.yzwy, r26.xywx
              mov r45.yz, r46.xxyx
              dp3 r13.w, r45.xyzx, r26.xywx
              mov r47.xy, r46.zwzz
              dp3 r15.z, r47.xyzx, r26.xywx
              mul r45.x, r7.w, r48.x
              mul r45.y, r13.w, r48.y
              dp2 r45.z, r48.zwzz, r15.zwzz
              ne r7.w, r15.z, l(-0.000000)
              div r26.xyw, r45.xyxz, -r15.zzzz
              movc r26.xyw, r7.wwww, r26.xyxw, r45.xyxz
              mad_sat r15.xz, r26.xxyx, l(0.500000, 0.000000, 0.500000, 0.000000), l(0.500000, 0.000000, 0.500000, 0.000000)
              mul r15.xz, r12.xxwx, r15.xxzx
              mad r15.xz, r15.xxzx, r24.xxyx, r4.yyzy
              min r7.w, r49.w, l(4.000000)
              mad r7.w, r7.w, l(4.000000), l(1.000000)
              round_z r7.w, r7.w
              mad r12.xw, -r7.wwww, l(0.500000, 0.000000, 0.000000, 0.500000), r12.xxxw
              mad r12.xw, r12.xxxw, r24.xxxy, r4.yyyz
              mad r4.yz, r24.xxyx, r7.wwww, r4.yyzy
              lt r12.xw, r12.xxxw, r15.xxxz
              lt r4.yz, r15.xxzx, r4.yyzy
              or r4.yz, r4.yyzy, r12.xxwx
              or r4.y, r4.z, r4.y
              if_nz r4.y
                mov r3.y, l(1.000000)
              else
                add r4.y, -r26.w, l(1.000000)
                sample_l_indexable(texture2d)(float,float,float,float) r12.xw, r15.xzxx, t27.xzwy, s0, l(0.000000)
                mad r4.y, r4.y, l(2.000000), l(-1.000000)
                mul r4.y, r4.y, r49.x
                exp r4.y, r4.y
                mul r4.z, r4.y, r49.x
                mul r4.z, r4.z, r4.z
                mul r4.z, r49.z, r4.z
                mad r7.w, -r12.x, r12.x, r12.w
                max r4.z, r4.z, r7.w
                add r7.w, -r12.x, r4.y
                mad r7.w, r7.w, r7.w, r4.z
                div r4.z, r4.z, r7.w
                add r4.z, -r49.y, r4.z
                add r7.w, -r49.y, l(1.000000)
                div_sat r4.z, r4.z, r7.w
                ge r4.y, r12.x, r4.y
                and r4.y, r4.y, l(0x3f800000)
                max r3.y, r4.y, r4.z
              endif
            endif
            add r3.y, r3.y, l(-1.000000)
            mad r3.y, r27.x, r3.y, l(1.000000)
          else
            mov r3.y, l(1.000000)
          endif
          mov r27.x, r23.w
          add r26.xyw, -r27.xyxz, l(1.000000, 1.000000, 0.000000, 1.000000)
          mul r4.y, r3.y, r3.y
          mul r4.y, r3.y, r4.y
          add r4.z, -r3.y, l(1.000000)
          mad r42.yzw, -r4.zzzz, r26.xxyw, l(0.000000, 1.000000, 1.000000, 1.000000)
          mul r45.xyz, r3.yyyy, r27.xyzx
          mad r26.xyw, r4.yyyy, r26.xyxw, r45.xyxz
          add r26.xyw, -r42.yzyw, r26.xyxw
          mad r26.xyw, r20.zzzz, r26.xyxw, r42.yzyw
          mov r22.x, r21.w
          mul r26.xyw, r26.xyxw, r22.xyxz
          mul r2.xyz, r2.xyzx, r26.xywx
          mul r25.xyw, r25.xyxw, r26.xyxw
        else
          mov r2.xyz, l(0,0,0,0)
          mov r25.xyw, l(0,0,0,0)
        endif
      else
        mov r2.xyz, l(0,0,0,0)
        mov r25.xyw, l(0,0,0,0)
      endif
      add r16.yzw, r2.xxyz, r16.yyzw
      add r17.xyz, r17.xyzx, r25.xywx
    endif
    iadd r1.z, r1.z, l(1)
    umin r2.x, r1.y, r1.z
    iadd r2.x, r1.x, r2.x
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r2.x, l(0), t5.xxxx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r44.xyzw, r2.x, l(0), t9.wxyz
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r20.xyz, r2.x, l(32), t9.yzxx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r28.xyzw, r2.x, l(52), t9.xyzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r29.xyzw, r2.x, l(68), t9.wxyz
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r45.xyzw, r2.x, l(84), t9.xyzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r22.xyzw, r2.x, l(100), t9.zxyw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r23.xyzw, r2.x, l(116), t9.xyzw
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r27.xyz, r2.x, l(132), t9.zxyx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r43.xw, r2.x, l(176), t9.yxxx
    ld_structured_indexable(structured_buffer, stride=224)(mixed,mixed,mixed,mixed) r43.yz, r2.x, l(196), t9.xxyx
    mov r19.yzw, r44.yyzw
    mov r19.x, r20.z
    mov r20.z, r28.w
    mov r20.w, r29.y
    mov r21.xy, r29.zwzz
    mov r21.zw, r45.zzzw
    mov r27.w, r43.w
    mov r29.yz, r45.xxyx
  endloop
endif
mul r0.yzw, r12.yyyy, r0.yyzw
mad r1.xyz, r6.wwww, l(2.040400, -4.795100, 2.755200, 0.000000), l(-0.332400, 0.641700, 0.690300, 0.000000)
mad r2.x, r8.w, r1.x, r1.y
mad r2.x, r2.x, r8.w, r1.z
mul r2.x, r8.w, r2.x
max r2.x, r2.x, r8.w
min r2.y, r2.w, l(1.000000)
mad r3.xyz, r0.xxxx, l(2.040400, -4.795100, 2.755200, 0.000000), l(-0.332400, 0.641700, 0.690300, 0.000000)
mad r2.z, r2.y, r3.x, r3.y
mad r2.z, r2.z, r2.y, r3.z
mul r2.z, r2.y, r2.z
max r2.y, r2.z, r2.y
add r1.x, r1.y, r1.x
add r1.x, r1.z, r1.x
add r1.y, r3.y, r3.x
add r1.y, r3.z, r1.y
max r1.xy, r1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
mul r2.yzw, r2.yyyy, r11.xxyz
mul r0.yzw, r0.yyzw, r2.xxxx
mul r3.xyz, r1.yyyy, r16.yzwy
mad r2.xyz, r0.xxxx, r3.xyzx, r2.yzwy
add r2.xyz, r10.xzwx, r2.xyzx
mad r0.xyz, r17.xyzx, r1.xxxx, r0.yzwy
mad r0.w, r6.w, r11.w, l(1.000000)
mul r0.xyz, r0.wwww, r0.xyzx
mul r1.xyz, r12.zzzz, r2.xyzx
mul r0.xyz, r12.zzzz, r0.xyzx
eq r3.xyz, cb2[25].xxxx, l(0.000000, 1.000000, 4.000000, 0.000000)
or r0.w, r3.y, r3.x
ne r2.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[25].y
movc r2.w, r2.w, l(1.000000), r1.w
mul r4.xyz, r0.xyzx, r2.wwww
mad r1.xyz, r1.xyzx, r1.wwww, r4.xyzx
mad r0.xyz, r2.xyzx, r12.zzzz, r0.xyzx
movc r0.xyz, r0.wwww, r1.xyzx, r0.xyzx
if_nz cb0[69].x
  add r1.xyz, v3.xyzx, -cb0[7].xyzx
  dp3 r0.w, r1.xyzx, r1.xyzx
  sqrt r0.w, r0.w
  if_nz cb0[69].z
    add r1.x, r0.w, -cb0[79].z
    max r1.x, r1.x, l(0.000000)
    log r1.x, r1.x
    mad r1.x, cb0[79].y, r1.x, cb0[79].x
    mad r5.z, -cb0[81].y, l(0.866025388), r1.x
    if_z cb0[74].w
      mul r1.xy, r5.xyxx, cb0[76].xyxx
      round_ni r2.xy, r1.xyxx
      frc r1.xy, r1.xyxx
      add r1.xy, -r1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
      mul r2.zw, r1.yyyx, r1.yyyx
      add r4.xy, -r1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
      mad r1.xy, r4.xyxx, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
      mad r4.xy, -r2.wzww, l(0.500000, 0.500000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
      add r4.xy, -r1.xyxx, r4.xyxx
      mul r4.zw, r1.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
      mad r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000), r4.wwwz
      mad r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), r4.xyxx
      rcp r6.xy, r2.wzww
      mad r6.zw, r4.zzzw, r6.xxxy, l(0.000000, 0.000000, -0.500000, -0.500000)
      rcp r4.zw, r1.xxxy
      mad r6.xy, r4.xyxx, r4.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
      mul r4.xy, cb0[76].zwzz, cb0[77].xyxx
      add r9.xyzw, r2.xyxy, r6.zwxw
      mul r10.xy, r4.xyxx, r9.xyxx
      mul r9.xy, r4.xyxx, r9.zwzz
      add r6.xyzw, r2.xyxy, r6.zyxy
      mul r11.xy, r4.xyxx, r6.xyxx
      mul r4.xy, r4.xyxx, r6.zwzz
      mul r10.z, r5.z, cb0[77].z
      mul r1.z, r2.z, r2.w
      min r6.xyz, r10.xyzx, cb0[78].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r6.xyzw, r6.xyzx, t23.xyzw, s0, l(0.000000)
      mul r2.xy, r2.zwzz, r1.xyxx
      mov r9.z, r10.z
      min r9.xyw, r9.xyxz, cb0[78].xyxz
      sample_l_indexable(texture3d)(float,float,float,float) r10.xyzw, r9.xywx, t23.xyzw, s0, l(0.000000)
      mul r10.xyzw, r2.xxxx, r10.xyzw
      mad r6.xyzw, r1.zzzz, r6.xyzw, r10.xyzw
      mov r11.z, r9.z
      min r2.xzw, r11.xxyz, cb0[78].xxyz
      sample_l_indexable(texture3d)(float,float,float,float) r9.xyzw, r2.xzwx, t23.xyzw, s0, l(0.000000)
      mad r2.xyzw, r2.yyyy, r9.xyzw, r6.xyzw
      mul r1.x, r1.y, r1.x
      mov r4.z, r11.z
      min r4.xyz, r4.xyzx, cb0[78].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r4.xyzw, r4.xyzx, t23.xyzw, s0, l(0.000000)
      mad r2.xyzw, r1.xxxx, r4.xyzw, r2.xyzw
    else
      mul r1.xyz, r5.xyzx, cb0[77].xyzx
      min r1.xyz, r1.xyzx, cb0[78].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r2.xyzw, r1.xyzx, t23.xyzw, s0, l(0.000000)
    endif
    mul r1.x, r2.w, l(-1.442695)
    exp r1.x, r1.x
    add r1.x, -r1.x, l(1.000000)
    ge r1.y, r1.x, l(5.960464478E-08)
    rcp r1.z, r2.w
    mul r1.z, r1.z, r1.x
    movc r1.y, r1.y, r1.z, l(1.000000)
    mul r2.xyz, r2.xyzx, r1.yyyy
    mov r1.y, cb0[81].w
  else
    mov r2.xyz, l(0,0,0,0)
    mov r1.xy, l(0,0,0,0)
  endif
  add r1.z, r0.w, -r1.y
  lt r2.w, l(0.000000), r1.z
  if_nz r2.w
    mad r1.y, -r8.y, r1.y, cb0[7].y
    div r4.xyz, cb0[73].xyzx, cb0[74].xxxx
    max r2.w, |r8.y|, l(0.001000)
    rcp r3.w, r2.w
    mad r4.w, r1.z, -r8.y, r1.y
    min r1.y, r1.y, r4.w
    add r4.w, r1.y, -cb0[74].y
    max r4.w, r4.w, l(0.000000)
    add r1.y, -r1.y, cb0[74].y
    mul r1.y, r3.w, r1.y
    max r1.y, r1.y, l(0.000000)
    min r1.y, r1.z, r1.y
    add r1.z, -r1.y, r1.z
    mul r4.w, -r4.w, cb0[75].x
    mul r4.w, r4.w, l(1.442695)
    exp r4.w, r4.w
    mul r1.z, r2.w, -r1.z
    mul r1.z, r1.z, cb0[75].x
    mul r1.z, r1.z, l(1.442695)
    exp r1.z, r1.z
    add r1.z, -r1.z, l(1.000000)
    mul r1.z, r1.z, r4.w
    mul r2.w, r3.w, cb0[75].y
    mad r1.y, r1.z, r2.w, r1.y
    mul r1.y, r1.y, cb0[74].x
    mul r1.y, r1.y, l(-1.442695)
    exp r1.y, r1.y
    add r1.z, -r1.x, l(1.000000)
    eq r2.w, cb0[71].x, l(1.000000)
    if_nz r2.w
      add r0.w, r0.w, -cb0[72].x
      add r2.w, -cb0[72].x, cb0[72].y
      div_sat r0.w, r0.w, r2.w
      mad r0.w, -cb0[72].z, r0.w, l(1.000000)
      mul r0.w, r0.w, l(6.000000)
      mov r18.w, l(0)
      sample_l_indexable(texturecubearray)(float,float,float,float) r5.xyz, r18.xyzw, t14.xyzw, s1, r0.w
      mul r5.xyz, r5.xyzx, cb0[70].xyzx
    else
      mov r5.xyz, cb0[70].xyzx
    endif
    mul r5.xyz, r1.zzzz, r5.xyzx
    mul r5.xyz, r12.zzzz, r5.xyzx
    mul r4.xyz, r4.xyzx, r5.xyzx
    add r0.w, -r1.y, l(1.000000)
    mad r2.xyz, r4.xyzx, r0.wwww, r2.xyzx
    mad r1.x, -r1.z, r1.y, l(1.000000)
  endif
  mov r1.xyz, r1.xxxx
else
  mov r2.xyz, l(0,0,0,0)
  mov r1.xyz, l(0,0,0,0)
endif
ine r0.w, cb0[69].y, l(0)
ne r2.w, v2.z, l(0.000000)
and r0.w, r0.w, r2.w
if_nz r0.w
  add r4.xyz, cb0[40].xyzx, -cb3[7].xyzx
  dp3 r0.w, r4.xyzx, r4.xyzx
  rsq r2.w, r0.w
  mul r5.xyz, r2.wwww, r4.xyzx
  sqrt r5.w, r0.w
  dp3 r0.w, r5.xyzx, r18.xyzx
  rcp r2.w, r5.w
  mul r2.w, r2.w, cb3[1].x
  mad r3.w, -r0.w, r0.w, l(1.000000)
  max r3.w, r3.w, l(0.000000)
  mad r2.w, r2.w, r2.w, -r3.w
  lt r3.w, r2.w, l(0.000000)
  sqrt r4.w, r2.w
  add r6.x, -r0.w, -r4.w
  add r6.y, -r0.w, r4.w
  mul r6.xy, r5.wwww, r6.xyxx
  movc r6.xy, r3.wwww, r2.wwww, r6.xyxx
  ge r0.w, r6.y, l(0.000000)
  max r2.w, r6.x, l(0.000000)
  movc r3.w, r0.w, r2.w, r6.x
  ge r3.w, r3.w, l(0.000000)
  if_nz r3.w
    dp3 r3.w, r18.xyzx, -r7.xyzx
    rcp r3.w, r3.w
    mul r3.w, r3.w, v2.w
    lt r4.w, l(0.000000), r2.w
    mad r6.xzw, r2.wwww, r18.xxyz, r4.xxyz
    dp3 r2.w, r6.xzwx, r6.xzwx
    rsq r2.w, r2.w
    mul r7.xyz, r2.wwww, r6.xzwx
    mov r7.w, cb3[1].x
    movc r7.xyzw, r4.wwww, r7.xyzw, r5.xyzw
    movc r5.xyzw, r0.wwww, r7.xyzw, r5.xyzw
    dp3 r0.w, r5.xyzx, r8.xyzx
    mov r7.x, -r0.w
    rcp r2.w, r5.w
    mul r2.w, r2.w, cb3[0].x
    mad r2.w, -r2.w, r2.w, l(1.000000)
    max r2.w, r2.w, l(0.000000)
    sqrt r2.w, r2.w
    lt r4.w, |r3.w|, r6.y
    ge r6.x, r3.w, l(0.000000)
    and r6.x, r4.w, r6.x
    mad r4.xyz, |r3.wwww|, r18.xyzx, r4.xyzx
    dp3 r3.w, r4.xyzx, r4.xyzx
    sqrt r9.y, r3.w
    rcp r3.w, r9.y
    mul r6.yzw, r3.wwww, r4.xxyz
    dp3 r4.x, r4.xyzx, r18.xyzx
    mul r9.z, r3.w, r4.x
    ge r3.w, r9.z, l(0.000000)
    movc r9.x, r3.w, r7.x, r0.w
    and r4.xyz, r4.wwww, r6.yzwy
    mov r7.yz, l(0,0,0,0)
    movc r6.yzw, r4.wwww, r9.xxyz, r7.xxyz
    mul r7.yz, r5.wwww, cb3[2].xxzx
    mad r3.w, -r6.y, r6.y, l(1.000000)
    max r3.w, r3.w, l(0.000000)
    sqrt r3.w, r3.w
    mad r9.xy, r7.yzyy, l(2.000000, 2.000000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
    mul r9.zw, |r6.yyyw|, |r6.yyyw|
    mul r10.xy, r7.yzyy, r9.zzzz
    mad r9.xy, -r9.zzzz, r7.yzyy, r9.xyxx
    mul r9.xy, r9.xyxx, l(0.761643, 0.761643, 0.000000, 0.000000)
    mad r10.xy, r10.xyxx, l(0.273828, 0.273828, 0.000000, 0.000000), l(1.477210, 1.477210, 0.000000, 0.000000)
    mul r10.xy, r7.yzyy, r10.xyxx
    sqrt r10.xy, r10.xyxx
    mad r10.xy, |r6.yyyy|, r7.yzyy, r10.xyxx
    mul r10.zw, |r6.yyyw|, l(0.000000, 0.000000, 0.500000, 0.500000)
    rcp r10.xy, r10.xyxx
    mad r9.xy, r9.xyxx, r10.xyxx, r10.zzzz
    mad r10.xy, cb3[2].xzxx, cb3[0].xxxx, -r7.yzyy
    mul r10.xy, r10.xyxx, l(1.442695, 1.442695, 0.000000, 0.000000)
    exp r10.xy, r10.xyxx
    mul r9.xy, r9.xyxx, r10.xyxx
    lt r6.y, r6.y, l(0.000000)
    mul r7.yz, r3.wwww, r7.yyzy
    rsq r10.xy, r7.yzyy
    dp2 r3.w, r7.yyyy, r10.xxxx
    add r3.w, r3.w, r10.x
    mul r3.w, r3.w, l(1.253314)
    mad r7.yw, cb3[2].xxxz, cb3[0].xxxx, -r7.yyyz
    mul r7.yw, r7.yyyw, l(0.000000, 1.442695, 0.000000, 1.442695)
    exp r7.yw, r7.yyyw
    mad r3.w, r3.w, r7.y, -r9.x
    movc r11.x, r6.y, r3.w, r9.x
    dp2 r3.w, r7.zzzz, r10.yyyy
    add r3.w, r3.w, r10.y
    mul r3.w, r3.w, l(1.253314)
    mad r3.w, r3.w, r7.w, -r9.y
    movc r11.y, r6.y, r3.w, r9.y
    mul r7.yz, r6.zzzz, cb3[2].xxzx
    mad r9.xy, r7.yzyy, l(2.000000, 2.000000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
    mul r10.xy, r7.yzyy, r9.wwww
    mad r9.xy, -r9.wwww, r7.yzyy, r9.xyxx
    mul r9.xy, r9.xyxx, l(0.761643, 0.761643, 0.000000, 0.000000)
    mad r9.zw, r10.xxxy, l(0.000000, 0.000000, 0.273828, 0.273828), l(0.000000, 0.000000, 1.477210, 1.477210)
    mul r9.zw, r7.yyyz, r9.zzzw
    sqrt r9.zw, r9.zzzw
    mad r9.zw, |r6.wwww|, r7.yyyz, r9.zzzw
    rcp r9.zw, r9.zzzw
    mad r9.xy, r9.xyxx, r9.zwzz, r10.wwww
    mad r7.yz, cb3[2].xxzx, cb3[0].xxxx, -r7.yyzy
    mul r7.yz, r7.yyzy, l(0.000000, 1.442695, 1.442695, 0.000000)
    exp r7.yz, r7.yyzy
    mul r7.yz, r7.yyzy, r9.xxyx
    and r7.yz, r4.wwww, r7.yyzy
    add r7.yz, -r7.yyzy, r11.xxyx
    mul r7.yz, |r7.yyzy|, cb3[2].yywy
    mul r3.w, r7.z, cb3[10].x
    mad r7.yzw, r7.yyyy, cb3[3].xxyz, r3.wwww
    mul r7.yzw, r7.yyzw, l(0.000000, -1.442695, -1.442695, -1.442695)
    exp r7.yzw, r7.yyzw
    add r7.yzw, -r7.yyzw, l(0.000000, 1.000000, 1.000000, 1.000000)
    add r3.w, r5.w, -cb3[0].x
    mad r9.xyz, -r5.xyzx, r0.wwww, r8.xyzx
    dp3 r4.w, r9.xyzx, r9.xyzx
    add r5.w, r2.w, r7.x
    ge r6.y, r5.w, l(0.000000)
    movc r6.y, r6.y, l(1.000000), l(-1.000000)
    sqrt r5.w, |r5.w|
    mad r8.w, -r6.y, -r2.w, l(1.000000)
    rsq r8.w, r8.w
    mul r5.w, r5.w, r8.w
    max r5.w, r5.w, l(0.00781250000)
    mul r5.w, r5.w, r6.y
    mad_sat r10.x, r5.w, l(0.500000), l(0.500000)
    mul r3.w, r3.w, cb3[0].w
    sqrt r10.y, r3.w
    mad r3.w, cb3[1].y, cb3[1].y, l(1.000000)
    add r5.w, cb3[1].y, cb3[1].y
    add r6.y, r6.z, -cb3[0].x
    mad r11.xyz, -r4.xyzx, -r6.wwww, r8.xyzx
    dp3 r8.w, r11.xyzx, r11.xyzx
    rcp r6.z, r6.z
    mul r6.z, r6.z, cb3[0].x
    mad r6.z, -r6.z, r6.z, l(1.000000)
    max r6.z, r6.z, l(0.000000)
    sqrt r6.z, r6.z
    add r6.w, r6.z, r6.w
    ge r9.w, r6.w, l(0.000000)
    movc r9.w, r9.w, l(1.000000), l(-1.000000)
    sqrt r6.w, |r6.w|
    mad r6.z, -r9.w, -r6.z, l(1.000000)
    rsq r6.z, r6.z
    mul r6.z, r6.z, r6.w
    max r6.z, r6.z, l(0.00781250000)
    mul r6.z, r6.z, r9.w
    mad_sat r13.x, r6.z, l(0.500000), l(0.500000)
    mul r6.y, r6.y, cb3[0].w
    sqrt r13.y, r6.y
    add r6.yzw, -r7.yyzw, l(0.000000, 1.000000, 1.000000, 1.000000)
    mov r12.xyw, l(0,0,0,0)
    mov r9.w, l(0)
    loop
      uge r11.w, r9.w, cb0[279].x
      breakc_nz r11.w
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r11.w, r9.w, l(168), t8.xxxx
      ilt r11.w, r11.w, l(0)
      if_nz r11.w
        iadd r11.w, r9.w, l(1)
        mov r9.w, r11.w
        continue
      endif
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r14.xyz, r9.w, l(24), t8.xyzx
      ld_structured_indexable(structured_buffer, stride=228)(mixed,mixed,mixed,mixed) r15.xyz, r9.w, l(88), t8.xyzx
      dp3 r11.w, r5.xyzx, -r14.xyzx
      mad r16.xyz, -r5.xyzx, r11.wwww, -r14.xyzx
      dp3 r14.w, r16.xyzx, r9.xyzx
      dp3 r15.w, r16.xyzx, r16.xyzx
      mul r15.w, r4.w, r15.w
      max r15.w, r15.w, l(5.960464478E-08)
      rsq r15.w, r15.w
      mul r14.w, r14.w, r15.w
      max r14.w, r14.w, l(-1.000000)
      min r14.w, r14.w, l(1.000000)
      add r15.w, -|r14.w|, l(1.000000)
      sqrt r15.w, r15.w
      mad r16.x, |r14.w|, l(-0.0187292993), l(0.074261)
      mad r16.x, r16.x, |r14.w|, l(-0.212114394)
      mad r16.x, r16.x, |r14.w|, l(1.57072878)
      mul r16.y, r15.w, r16.x
      mad r16.y, r16.y, l(-2.000000), l(3.14159274)
      lt r14.w, r14.w, -r14.w
      and r14.w, r14.w, r16.y
      mad r14.w, r16.x, r15.w, r14.w
      mad r14.w, r14.w, l(4.774648), l(0.500000)
      max r11.w, r11.w, l(-0.500000)
      sqrt r15.w, |r11.w|
      ge r11.w, r11.w, l(0.000000)
      movc r11.w, r11.w, r15.w, -r15.w
      mad_sat r11.w, r11.w, l(0.585786), l(0.414214)
      mul r11.w, r11.w, l(63.000000)
      round_ni r15.w, r11.w
      mad r15.w, r14.w, l(0.062500), r15.w
      mul r10.z, r15.w, l(0.015625)
      round_pi r15.w, r11.w
      mad r14.w, r14.w, l(0.062500), r15.w
      mul r10.w, r14.w, l(0.015625)
      frc r11.w, r11.w
      dp3 r14.w, -r14.xyzx, r8.xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r16.xyz, r10.xyzx, t20.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r17.xyz, r10.xywx, t20.xyzw, s0, l(0.000000)
      add r17.xyz, -r16.xyzx, r17.xyzx
      mad r16.xyz, r11.wwww, r17.xyzx, r16.xyzx
      mad r15.w, r14.w, r14.w, l(1.000000)
      mul r16.w, r15.w, l(0.0596831031)
      sample_l_indexable(texture3d)(float,float,float,float) r17.xyz, r10.xyzx, t21.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r18.xyz, r10.xywx, t21.xyzw, s0, l(0.000000)
      add r18.xyz, -r17.xyzx, r18.xyzx
      mad r17.xyz, r11.wwww, r18.xyzx, r17.xyzx
      mad r14.w, -r5.w, -r14.w, r3.w
      max r14.w, r14.w, l(5.960464478E-08)
      rsq r14.w, r14.w
      mul r17.w, r14.w, r14.w
      mul r14.w, r14.w, r17.w
      mul r14.w, r14.w, r15.w
      mul r14.w, r14.w, cb3[1].z
      mul r17.xyz, r14.wwww, r17.xyzx
      mad r16.xyz, r16.xyzx, r16.wwww, r17.xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r17.xyz, r10.xyzx, t22.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r18.xyz, r10.xywx, t22.xyzw, s0, l(0.000000)
      add r18.xyz, -r17.xyzx, r18.xyzx
      mad r17.xyz, r11.wwww, r18.xyzx, r17.xyzx
      add r16.xyz, r16.xyzx, r17.xyzx
      if_nz r6.x
        dp3 r10.z, r4.xyzx, -r14.xyzx
        mad r14.xyz, -r4.xyzx, r10.zzzz, -r14.xyzx
        dp3 r10.w, r14.xyzx, r11.xyzx
        dp3 r11.w, r14.xyzx, r14.xyzx
        mul r11.w, r8.w, r11.w
        max r11.w, r11.w, l(5.960464478E-08)
        rsq r11.w, r11.w
        mul r10.w, r10.w, r11.w
        max r10.zw, r10.zzzw, l(0.000000, 0.000000, -0.500000, -1.000000)
        min r10.w, r10.w, l(1.000000)
        add r11.w, -|r10.w|, l(1.000000)
        sqrt r11.w, r11.w
        mad r14.x, |r10.w|, l(-0.0187292993), l(0.074261)
        mad r14.x, r14.x, |r10.w|, l(-0.212114394)
        mad r14.x, r14.x, |r10.w|, l(1.57072878)
        mul r14.y, r11.w, r14.x
        mad r14.y, r14.y, l(-2.000000), l(3.14159274)
        lt r10.w, r10.w, -r10.w
        and r10.w, r10.w, r14.y
        mad r10.w, r14.x, r11.w, r10.w
        mad r10.w, r10.w, l(4.774648), l(0.500000)
        sqrt r11.w, |r10.z|
        ge r10.z, r10.z, l(0.000000)
        movc r10.z, r10.z, r11.w, -r11.w
        mad_sat r10.z, r10.z, l(0.585786), l(0.414214)
        mul r10.z, r10.z, l(63.000000)
        round_ni r11.w, r10.z
        mad r11.w, r10.w, l(0.062500), r11.w
        mul r13.z, r11.w, l(0.015625)
        round_pi r11.w, r10.z
        mad r10.w, r10.w, l(0.062500), r11.w
        mul r13.w, r10.w, l(0.015625)
        frc r10.z, r10.z
        sample_l_indexable(texture3d)(float,float,float,float) r14.xyz, r13.xyzx, t20.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r17.xyz, r13.xywx, t20.xyzw, s0, l(0.000000)
        add r17.xyz, -r14.xyzx, r17.xyzx
        mad r14.xyz, r10.zzzz, r17.xyzx, r14.xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r17.xyz, r13.xyzx, t21.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r18.xyz, r13.xywx, t21.xyzw, s0, l(0.000000)
        add r18.xyz, -r17.xyzx, r18.xyzx
        mad r17.xyz, r10.zzzz, r18.xyzx, r17.xyzx
        mul r17.xyz, r14.wwww, r17.xyzx
        mad r14.xyz, r14.xyzx, r16.wwww, r17.xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r17.xyz, r13.xyzx, t22.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r18.xyz, r13.xywx, t22.xyzw, s0, l(0.000000)
        add r18.xyz, -r17.xyzx, r18.xyzx
        mad r17.xyz, r10.zzzz, r18.xyzx, r17.xyzx
        add r14.xyz, r14.xyzx, r17.xyzx
        mad r14.xyz, -r6.yzwy, r14.xyzx, r16.xyzx
        max r16.xyz, r14.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      endif
      mad r12.xyw, r16.xyxz, r15.xyxz, r12.xyxw
      iadd r9.w, r9.w, l(1)
    endloop
    add r3.w, r12.y, r12.x
    add r3.w, r12.w, r3.w
    mul r4.x, r3.w, l(0.333333343)
    mad r4.yzw, -r3.wwww, l(0.000000, 0.333333343, 0.333333343, 0.333333343), r12.xxyw
    mad r4.xyz, r4.yzwy, cb3[10].zzzz, r4.xxxx
    add r3.w, r7.z, r7.y
    add r3.w, r7.w, r3.w
    mul r4.w, r3.w, l(0.333333343)
    mad r5.xyz, -r3.wwww, l(0.333333343, 0.333333343, 0.333333343, 0.000000), r7.yzwy
    mad r5.xyz, r5.xyzx, cb3[10].wwww, r4.wwww
    mul r5.xyz, r5.xyzx, cb3[11].xxxx
    add r3.w, -r2.w, l(1.000000)
    sqrt r3.w, r3.w
    mad r4.w, r2.w, l(-0.0187292993), l(0.074261)
    mad r4.w, r4.w, r2.w, l(-0.212114394)
    mad r4.w, r4.w, r2.w, l(1.57072878)
    mul r5.w, r3.w, r4.w
    mad r5.w, r5.w, l(-2.000000), l(3.14159274)
    lt r2.w, -r2.w, r2.w
    and r2.w, r2.w, r5.w
    mad r2.w, r4.w, r3.w, r2.w
    add r3.w, -|r0.w|, l(1.000000)
    sqrt r3.w, r3.w
    mad r4.w, |r0.w|, l(-0.0187292993), l(0.074261)
    mad r4.w, r4.w, |r0.w|, l(-0.212114394)
    mad r4.w, r4.w, |r0.w|, l(1.57072878)
    mul r5.w, r3.w, r4.w
    mad r5.w, r5.w, l(-2.000000), l(3.14159274)
    lt r0.w, r7.x, r0.w
    and r0.w, r0.w, r5.w
    mad r0.w, r4.w, r3.w, r0.w
    rcp r3.w, -r2.w
    mul r2.w, r2.w, r3.w
    mad_sat r0.w, r0.w, r3.w, -r2.w
    mul r0.w, r0.w, cb3[11].y
    mul r0.w, r0.w, l(1.442695)
    exp r0.w, r0.w
    mad r0.w, r0.w, cb3[11].z, -cb3[11].z
    add r6.xyz, -cb3[8].xyzx, cb3[9].xyzx
    mad r6.xyz, r0.wwww, r6.xyzx, cb3[8].xyzx
    mul r4.xyz, r4.xyzx, r6.xyzx
  else
    mov r4.xyz, l(0,0,0,0)
    mov r5.xyz, l(0,0,0,0)
  endif
  mul r0.w, r12.z, cb3[10].y
  mul r4.xyz, r0.wwww, r4.xyzx
  add r6.xyz, -r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  mad r2.xyz, r6.xyzx, r4.xyzx, r2.xyzx
  mad r1.xyz, r6.xyzx, r5.xyzx, r1.xyzx
endif
add r1.xyz, -r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r1.xyz, r0.xyzx, r1.xyzx
mad r2.xyz, r2.xyzx, r1.wwww, r1.xyzx
movc r0.xyz, r3.zzzz, r2.xyzx, r0.xyzx
movc r0.xyz, r3.yyyy, r1.xyzx, r0.xyzx
movc o0.xyz, r3.xxxx, r2.xyzx, r0.xyzx
eq r0.xy, cb1[37].ywyy, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.x, r0.y, r0.x
div r0.yz, v0.xxyx, v0.zzzz
div r1.xy, v1.xyxx, v1.zzzz
add r0.yz, r0.yyzy, -r1.xxyx
mul r1.xy, cb0[42].zwzz, l(0.010000, 0.010000, 0.000000, 0.000000)
lt r1.xy, |r0.yzyy|, r1.xyxx
movc r0.yz, r1.xxyx, l(0,0,0,0), r0.yyzy
mad r1.xy, cb0[42].zwzz, l(0.010000, 0.010000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mad r2.xy, -cb0[42].zwzz, l(0.010000, 0.010000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
max r0.yz, r0.yyzy, r1.xxyx
min r0.yz, r2.xxyx, r0.yyzy
mul r2.xy, r0.yzyy, l(0.500000, -0.500000, 0.000000, 0.000000)
mov r2.zw, l(0,0,1.000000,1.000000)
movc o1.xyzw, r0.xxxx, l(2.000000,0,0,0), r2.xyzw
mov o0.w, r1.w
ret
// Approximately 0 instruction slots used

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/