// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Mon Sep 29 00:17:29 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyz
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// PRIMITIVE_ID             0   x           2     NONE    uint   x
// TEXCOORD                 9   xyz         3     NONE   float   xyz
// SV_Position              0   xyzw        4      POS   float   xyzw
// SV_IsFrontFace           0   x           5    FFACE    uint
//
//
// 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
// SV_Target                2   xyzw        2   TARGET   float   xyzw
// SV_Target                3   xyzw        3   TARGET   float   xyzw
// SV_Target                5   xyzw        5   TARGET   float   xyzw
// SV_Target                6   xyzw        6   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[256], immediateIndexed
dcl_constantbuffer CB1[8], immediateIndexed
dcl_constantbuffer CB2[157], dynamicIndexed
dcl_constantbuffer CB3[6], immediateIndexed
dcl_constantbuffer CB4[26], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s7, mode_default
dcl_sampler s8, mode_default
dcl_sampler s9, mode_default
dcl_resource_texture3d (uint,uint,uint,uint) t0
dcl_resource_texture3d (float,float,float,float) t1
dcl_resource_structured t2, 16
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_structured t5, 16
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_structured t7, 16
dcl_resource_structured t8, 4
dcl_resource_buffer (uint,uint,uint,uint) t9
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_raw t12
dcl_resource_structured t13, 4
dcl_resource_texture2darray (uint,uint,uint,uint) t14
dcl_resource_texture2d (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_texture2d (float,float,float,float) t20
dcl_resource_texture2d (float,float,float,float) t21
dcl_resource_texture3d (float,float,float,float) t22
dcl_input_ps linear centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps constant v2.x
dcl_input_ps linear v3.xyz
dcl_input_ps_siv linear noperspective v4.xyzw, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o5.xyzw
dcl_output o6.xyzw
dcl_temps 50
dcl_resource_buffer (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
mul [precise(xyz)] r0.xyz, v0.zxyz, v1.yzxy
mul [precise(xyz)] r1.xyz, v0.yzxy, v1.zxyz
add [precise(xyz)] r0.xyz, r0.xyzx, -r1.xyzx
mul [precise(xyz)] r0.xyz, r0.xyzx, v1.wwww
add [precise(xy)] r1.xy, v4.xyxx, -cb0[135].xyxx
mul [precise(zw)] r1.zw, r1.xxxy, cb0[136].zzzw
add [precise(zw)] r1.zw, r1.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
mul [precise(xy)] r2.xy, r1.zwzz, l(2.000000, -2.000000, 0.000000, 0.000000)
mov [precise(z)] r2.z, v4.z
mov [precise(w)] r2.w, l(1.000000)
mul [precise] r2.xyzw, r2.xyzw, v4.wwww
ld_indexable(buffer)(float,float,float,float) r33.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r31.xyzw, l(15, 0, 0, 0), t120.xyzw
ftou r32.xyzw, r31.xyzw
mov r34.x, v4.x
mov r34.y, v4.x
mul [precise] r35.xyzw, v4.xxxx, cb0[44].xyzw
mul [precise] r36.xyzw, v4.yyyy, cb0[45].xyzw
add [precise] r35.xyzw, r35.xyzw, r36.xyzw
mul [precise] r36.xyzw, v4.zzzz, cb0[46].xyzw
add [precise] r35.xyzw, r35.xyzw, r36.xyzw
add [precise] r35.xyzw, r35.xyzw, cb0[47].xyzw
ge r39.w, cb0[r32.x + 0].x, l(20.000000)
if_nz r39.w
  mul r39.x, l(0.500000), cb0[r32.x + 0].x
else
  mul r39.x, l(0.500000), cb1[r32.x + 0].x
endif
mad r39.y, r35.w, r33.y, l(-1.000000)
mul r39.y, r39.y, r39.x
mad r34.x, r33.x, r39.y, r34.x
mad r34.y, -r33.x, r39.x, r34.y
mul [precise] r37.xyzw, r34.yyyy, cb0[44].xyzw
mul [precise] r38.xyzw, v4.yyyy, cb0[45].xyzw
add [precise] r37.xyzw, r37.xyzw, r38.xyzw
mul [precise] r38.xyzw, v4.zzzz, cb0[46].xyzw
add [precise] r37.xyzw, r37.xyzw, r38.xyzw
add [precise] r37.xyzw, r37.xyzw, cb0[47].xyzw
div [precise(xyz)] r37.xyz, r37.xyzx, r37.wwww
mul [precise] r3.xyzw, r34.xxxx, cb0[44].xyzw
mul [precise] r4.xyzw, v4.yyyy, cb0[45].xyzw
add [precise] r3.xyzw, r3.xyzw, r4.xyzw
mul [precise] r4.xyzw, v4.zzzz, cb0[46].xyzw
add [precise] r3.xyzw, r3.xyzw, r4.xyzw
add [precise] r3.xyzw, r3.xyzw, cb0[47].xyzw
div [precise(xyz)] r3.xyz, r3.xyzx, r3.wwww
add [precise(xyz)] r4.xyz, r3.xyzx, -cb0[112].xyzx
div [precise(zw)] r1.zw, r2.xxxy, r2.wwww
mul [precise(zw)] r1.zw, r1.zzzw, cb0[67].xxxy
add [precise(zw)] r1.zw, r1.zzzw, cb0[67].wwwz
ge [precise(w)] r0.w, cb0[31].w, l(1.000000)
dp3 [precise(x)] r2.x, -r37.xyzx, -r37.xyzx
rsq [precise(x)] r2.x, r2.x
mul [precise(xyz)] r5.xyz, r2.xxxx, -r37.xyzx
movc [precise(xyz)] r5.xyz, r0.wwww, -cb0[61].xyzx, r5.xyzx
mul [precise(w)] r0.w, cb0[150].y, cb4[0].x
mul [precise(xy)] r2.xy, r0.wwww, l(0.100000, -0.100000, 0.000000, 0.000000)
mul [precise(xy)] r6.xy, cb0[109].xyxx, cb4[0].yyyy
mul [precise(zw)] r6.zw, r4.xxxy, cb4[0].yyyy
mul [precise(xy)] r7.xy, r6.xyxx, cb4[0].zzzz
mul [precise(zw)] r7.zw, r6.zzzw, cb4[0].zzzz
add [precise(xy)] r8.xy, r2.xxxx, r7.zwzz
mul [precise(xy)] r7.xy, r7.xyxx, l(2097152.000000, 2097152.000000, 0.000000, 0.000000)
frc [precise(xy)] r7.xy, r7.xyxx
add [precise(xy)] r8.xy, r8.xyxx, r7.xyxx
sample_b_indexable [precise(xy)](texture2d)(float,float,float,float) r8.xy, r8.xyxx, t15.xyzw, s2, cb0[151].x
mul [precise(xy)] r8.xy, r8.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
add [precise(xy)] r8.xy, r8.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r8.xyxx, r8.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r8.z, r0.w
add [precise] r9.xyzw, r7.zwzw, l(0.418100, 0.354800, 0.864861, 0.148384)
add [precise] r9.xyzw, r2.yyyx, r9.xyzw
add [precise] r9.xyzw, r7.xyxy, r9.xyzw
sample_b_indexable [precise(xy)](texture2d)(float,float,float,float) r9.xy, r9.xyxx, t15.xyzw, s2, cb0[151].x
mul [precise(xy)] r9.xy, r9.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
add [precise(xy)] r10.xy, r9.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r10.xyxx, r10.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r10.z, r0.w
add [precise(xyz)] r8.xyz, r8.xyzx, r10.xyzx
sample_b_indexable [precise(xy)](texture2d)(float,float,float,float) r9.xy, r9.zwzz, t15.xyzw, s2, cb0[151].x
mul [precise(xy)] r9.xy, r9.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
add [precise(xy)] r9.xy, r9.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r9.xyxx, r9.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r9.z, r0.w
add [precise(zw)] r7.zw, r7.zzzw, l(0.000000, 0.000000, 0.651340, 0.751638)
add [precise(xy)] r2.xy, r2.xyxx, r7.zwzz
add [precise(xy)] r2.xy, r2.xyxx, r7.xyxx
sample_b_indexable [precise(xy)](texture2d)(float,float,float,float) r2.xy, r2.xyxx, t15.xyzw, s2, cb0[151].x
mul [precise(xy)] r2.xy, r2.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
add [precise(xy)] r7.xy, r2.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r7.xyxx, r7.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r7.z, r0.w
add [precise(xyz)] r7.xyz, r7.xyzx, r9.xyzx
add [precise(xyz)] r7.xyz, r7.xyzx, r8.xyzx
mul [precise(xyz)] r7.xyz, r7.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
mul [precise(xy)] r2.xy, -r7.xyxx, cb4[0].wwww
add [precise(xy)] r2.xy, r2.xyxx, r7.xyxx
mul [precise(w)] r0.w, cb0[150].y, cb4[1].x
mul [precise(xy)] r8.xy, r0.wwww, l(0.100000, -0.100000, 0.000000, 0.000000)
mul [precise(zw)] r8.zw, r6.xxxy, cb4[1].yyyy
mul [precise(xy)] r9.xy, r6.zwzz, cb4[1].yyyy
add [precise(zw)] r9.zw, r8.xxxx, r9.xxxy
mul [precise(zw)] r8.zw, r8.zzzw, l(0.000000, 0.000000, 2097152.000000, 2097152.000000)
frc [precise(zw)] r8.zw, r8.zzzw
add [precise(zw)] r9.zw, r9.zzzw, r8.zzzw
sample_b_indexable [precise(zw)](texture2d)(float,float,float,float) r9.zw, r9.zwzz, t16.zwxy, s3, cb0[151].x
mul [precise(zw)] r9.zw, r9.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
add [precise(xy)] r10.xy, r9.zwzz, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r10.xyxx, r10.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r10.z, r0.w
add [precise] r11.xyzw, r9.xyxy, l(0.418100, 0.354800, 0.864861, 0.148384)
add [precise] r11.xyzw, r8.yyyx, r11.xyzw
add [precise] r11.xyzw, r8.zwzw, r11.xyzw
sample_b_indexable [precise(zw)](texture2d)(float,float,float,float) r9.zw, r11.xyxx, t16.zwxy, s3, cb0[151].x
mul [precise(zw)] r9.zw, r9.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
add [precise(xy)] r12.xy, r9.zwzz, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r12.xyxx, r12.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r12.z, r0.w
add [precise(xyz)] r10.xyz, r10.xyzx, r12.xyzx
sample_b_indexable [precise(zw)](texture2d)(float,float,float,float) r9.zw, r11.zwzz, t16.zwxy, s3, cb0[151].x
mul [precise(zw)] r9.zw, r9.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
add [precise(xy)] r11.xy, r9.zwzz, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r11.xyxx, r11.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r11.z, r0.w
add [precise(xy)] r9.xy, r9.xyxx, l(0.651340, 0.751638, 0.000000, 0.000000)
add [precise(xy)] r8.xy, r8.xyxx, r9.xyxx
add [precise(xy)] r8.xy, r8.xyxx, r8.zwzz
sample_b_indexable [precise(xy)](texture2d)(float,float,float,float) r8.xy, r8.xyxx, t16.xyzw, s3, cb0[151].x
mul [precise(xy)] r8.xy, r8.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
add [precise(xy)] r8.xy, r8.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r8.xyxx, r8.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r8.z, r0.w
add [precise(xyz)] r8.xyz, r8.xyzx, r11.xyzx
add [precise(xyz)] r8.xyz, r8.xyzx, r10.xyzx
mul [precise(xyz)] r8.xyz, r8.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
mul [precise(xy)] r9.xy, -r8.xyxx, cb4[1].zzzz
add [precise(xy)] r9.xy, r8.xyxx, r9.xyxx
add [precise(xy)] r2.xy, r2.xyxx, r9.xyxx
mul [precise] r9.xyzw, cb0[109].xyxy, l(0.707106769, 0.707106769, -0.707106769, -0.707106769)
mul [precise] r10.xyzw, r4.xyxy, l(0.707106769, 0.707106769, -0.707106769, -0.707106769)
add [precise(xy)] r9.xy, r9.ywyy, r9.xzxx
add [precise(zw)] r9.zw, r10.yyyw, r10.xxxz
mul [precise(w)] r0.w, r9.x, cb4[1].w
mul [precise(w)] r3.w, r9.z, cb4[1].w
mul [precise(w)] r4.w, cb0[150].y, cb4[2].x
add [precise(w)] r3.w, r3.w, r4.w
mul [precise(w)] r0.w, r0.w, l(1.00000012)
mul [precise(w)] r3.w, r3.w, l(1.00000012)
mul [precise(w)] r4.w, r0.w, l(0.159154937)
mul [precise(w)] r5.w, r3.w, l(0.159154937)
round_ni [precise(w)] r7.w, r4.w
add [precise(w)] r4.w, r4.w, -r7.w
mul [precise(w)] r4.w, r4.w, l(2097152.000000)
add [precise(w)] r4.w, r5.w, r4.w
round_ni [precise(w)] r4.w, r4.w
mul [precise(w)] r5.w, r7.w, l(6.28318548)
mul [precise(w)] r4.w, r4.w, l(6.28318548)
add [precise(w)] r0.w, r0.w, -r5.w
add [precise(w)] r3.w, r3.w, -r4.w
mul [precise(w)] r0.w, r0.w, l(2097152.000000)
add [precise(w)] r0.w, r3.w, r0.w
sincos [precise(x)] r9.x, r10.x, r0.w
mul [precise(w)] r0.w, r10.x, cb4[2].y
mul [precise(w)] r0.w, r0.w, l(0.707106769)
mul [precise(xy)] r10.xy, r0.wwww, l(-1.000000, -1.000000, 0.000000, 0.000000)
mul [precise(w)] r0.w, r9.x, cb4[2].y
mul [precise(w)] r0.w, r0.w, cb4[2].z
add [precise(z)] r10.z, -r0.w, l(1.000000)
dp3 [precise(w)] r0.w, r10.xyzx, r10.xyzx
rsq [precise(w)] r0.w, r0.w
mul [precise(w)] r0.w, r0.w, r10.y
mul [precise(w)] r3.w, r9.y, cb4[2].w
mul [precise(w)] r4.w, r9.w, cb4[2].w
mul [precise(w)] r5.w, cb0[150].y, cb4[3].x
add [precise(w)] r4.w, r4.w, r5.w
mul [precise(w)] r3.w, r3.w, l(1.00000012)
mul [precise(w)] r4.w, r4.w, l(1.00000012)
mul [precise(w)] r5.w, r3.w, l(0.159154937)
mul [precise(w)] r7.w, r4.w, l(0.159154937)
round_ni [precise(w)] r8.w, r5.w
add [precise(w)] r5.w, r5.w, -r8.w
mul [precise(w)] r5.w, r5.w, l(2097152.000000)
add [precise(w)] r5.w, r7.w, r5.w
round_ni [precise(w)] r5.w, r5.w
mul [precise(w)] r7.w, r8.w, l(6.28318548)
mul [precise(w)] r5.w, r5.w, l(6.28318548)
add [precise(w)] r3.w, r3.w, -r7.w
add [precise(w)] r4.w, r4.w, -r5.w
mul [precise(w)] r3.w, r3.w, l(2097152.000000)
add [precise(w)] r3.w, r4.w, r3.w
sincos [precise(x)] r10.x, r11.x, r3.w
mul [precise(w)] r3.w, r11.x, cb4[3].y
mul [precise(w)] r3.w, r3.w, l(-0.707106769)
mul [precise(xy)] r11.xy, r3.wwww, l(-1.000000, -1.000000, 0.000000, 0.000000)
mul [precise(w)] r3.w, r10.x, cb4[3].y
mul [precise(w)] r3.w, r3.w, cb4[3].z
add [precise(z)] r11.z, -r3.w, l(1.000000)
dp3 [precise(w)] r3.w, r11.xyzx, r11.xyzx
rsq [precise(w)] r3.w, r3.w
mul [precise(w)] r3.w, r3.w, r11.y
add [precise(x)] r11.x, r0.w, r3.w
mul [precise(w)] r0.w, cb0[109].y, cb4[3].w
mul [precise(w)] r3.w, r4.y, cb4[3].w
mul [precise(w)] r4.w, cb0[150].y, cb4[4].x
add [precise(w)] r3.w, r3.w, r4.w
mul [precise(w)] r0.w, r0.w, l(1.00000012)
mul [precise(w)] r3.w, r3.w, l(1.00000012)
mul [precise(w)] r4.w, r0.w, l(0.159154937)
mul [precise(w)] r5.w, r3.w, l(0.159154937)
round_ni [precise(w)] r7.w, r4.w
add [precise(w)] r4.w, r4.w, -r7.w
mul [precise(w)] r4.w, r4.w, l(2097152.000000)
add [precise(w)] r4.w, r5.w, r4.w
round_ni [precise(w)] r4.w, r4.w
mul [precise(w)] r5.w, r7.w, l(6.28318548)
mul [precise(w)] r4.w, r4.w, l(6.28318548)
add [precise(w)] r0.w, r0.w, -r5.w
add [precise(w)] r3.w, r3.w, -r4.w
mul [precise(w)] r0.w, r0.w, l(2097152.000000)
add [precise(w)] r0.w, r3.w, r0.w
sincos [precise(x)] r12.x, r13.x, r0.w
mul [precise(w)] r0.w, r13.x, cb4[4].y
mul [precise(x)] r13.x, r0.w, l(-1.000000)
mul [precise(w)] r0.w, r12.x, cb4[4].y
mul [precise(w)] r0.w, r0.w, cb4[4].z
add [precise(y)] r13.y, -r0.w, l(1.000000)
dp2 [precise(w)] r0.w, r13.xyxx, r13.xyxx
rsq [precise(w)] r0.w, r0.w
mul [precise(w)] r0.w, r0.w, r13.x
mul [precise(w)] r3.w, cb0[109].y, l(-1.000000)
mul [precise(w)] r4.w, r4.y, l(-1.000000)
mul [precise(w)] r3.w, r3.w, cb4[4].w
mul [precise(w)] r4.w, r4.w, cb4[4].w
mul [precise(w)] r5.w, cb0[150].y, cb4[5].x
add [precise(w)] r4.w, r4.w, r5.w
mul [precise(w)] r3.w, r3.w, l(1.00000012)
mul [precise(w)] r4.w, r4.w, l(1.00000012)
mul [precise(w)] r5.w, r3.w, l(0.159154937)
mul [precise(w)] r7.w, r4.w, l(0.159154937)
round_ni [precise(w)] r8.w, r5.w
add [precise(w)] r5.w, r5.w, -r8.w
mul [precise(w)] r5.w, r5.w, l(2097152.000000)
add [precise(w)] r5.w, r7.w, r5.w
round_ni [precise(w)] r5.w, r5.w
mul [precise(w)] r7.w, r8.w, l(6.28318548)
mul [precise(w)] r5.w, r5.w, l(6.28318548)
add [precise(w)] r3.w, r3.w, -r7.w
add [precise(w)] r4.w, r4.w, -r5.w
mul [precise(w)] r3.w, r3.w, l(2097152.000000)
add [precise(w)] r3.w, r4.w, r3.w
sincos [precise(x)] r13.x, r14.x, r3.w
mul [precise(w)] r3.w, r14.x, cb4[5].y
mul [precise(w)] r3.w, r3.w, l(-1.000000)
mul [precise(x)] r14.x, r3.w, l(-1.000000)
mul [precise(w)] r3.w, r13.x, cb4[5].y
mul [precise(w)] r3.w, r3.w, cb4[5].z
add [precise(y)] r14.y, -r3.w, l(1.000000)
dp2 [precise(w)] r3.w, r14.xyxx, r14.xyxx
rsq [precise(w)] r3.w, r3.w
mul [precise(w)] r3.w, r3.w, r14.x
add [precise(w)] r0.w, r0.w, r3.w
add [precise(y)] r11.y, r0.w, r11.x
add [precise(yzw)] r9.yzw, -cb0[109].xxyz, cb0[109].xxyz
add [precise(yzw)] r10.yzw, -r4.xxyz, cb0[110].xxyz
mul [precise(yzw)] r9.yzw, r9.yyzw, l(0.000000, 2097152.000000, 2097152.000000, 2097152.000000)
add [precise(yzw)] r9.yzw, r10.yyzw, r9.yyzw
dp3 [precise(w)] r0.w, r9.yzwy, r9.yzwy
sqrt [precise(w)] r0.w, r0.w
add [precise(w)] r3.w, r0.w, -cb4[5].w
mul_sat [precise(w)] r3.w, r3.w, cb4[6].x
add [precise(w)] r4.w, -cb4[6].y, l(1.000000)
mul [precise(w)] r3.w, r3.w, r4.w
add [precise(w)] r3.w, r3.w, cb4[6].y
mul [precise(yz)] r9.yz, -r11.xxyx, r3.wwww
add [precise(yz)] r9.yz, r9.yyzy, r11.xxyx
add [precise(xy)] r2.xy, r2.xyxx, r9.yzyy
add [precise(yz)] r9.yz, r4.xxyx, -cb4[7].xxyx
mul [precise(yz)] r10.yz, cb0[109].xxyx, cb4[8].xxyx
mul [precise(yz)] r9.yz, r9.yyzy, cb4[8].xxyx
add [precise(xy)] r11.xy, r9.yzyy, cb4[8].zwzz
mul [precise(yz)] r10.yz, r10.yyzy, l(0.000000, 2097152.000000, 2097152.000000, 0.000000)
frc [precise(zw)] r11.zw, r10.yyyz
add [precise(xy)] r11.xy, r11.xyxx, r11.zwzz
sample_b_indexable [precise(w)](texture2d)(float,float,float,float) r3.w, r11.xyxx, t17.yzwx, s4, cb0[151].x
add [precise(xy)] r11.xy, r9.yzyy, r11.zwzz
sample_b_indexable [precise(w)](texture2d)(float,float,float,float) r4.w, r11.xyxx, t17.yzwx, s4, cb0[151].x
add [precise(w)] r3.w, r3.w, -r4.w
add [precise(yz)] r10.yz, r9.yyzy, r10.yyzy
sample_l_indexable [precise(w)](texture2d)(float,float,float,float) r5.w, r10.yzyy, t18.yzwx, s9, l(-1.000000)
mul [precise(w)] r7.w, r5.w, cb4[9].x
mul [precise(x)] r14.x, r3.w, r7.w
add [precise(yz)] r9.yz, r9.yyzy, cb4[9].yyzy
add [precise(yz)] r9.yz, r9.yyzy, r11.zzwz
sample_b_indexable [precise(w)](texture2d)(float,float,float,float) r3.w, r9.yzyy, t17.yzwx, s4, cb0[151].x
add [precise(w)] r3.w, -r4.w, r3.w
mul [precise(y)] r14.y, r3.w, r7.w
add [precise(xy)] r14.xy, r2.xyxx, -r14.xyxx
mov [precise(z)] r14.z, l(1.000000)
dp3 [precise(x)] r2.x, r14.xyzx, r14.xyzx
rsq [precise(x)] r2.x, r2.x
mul [precise(yzw)] r9.yzw, r2.xxxx, r14.xxyz
max [precise(zw)] r1.zw, r1.zzzw, cb1[4].xxxy
min [precise(xy)] r14.xy, r1.zwzz, cb1[4].zwzz
sample_l_indexable [precise(w)](texture2d)(float,float,float,float) r14.w, r14.xyxx, t4.yzwx, s0, l(0.000000)
mul [precise(zw)] r1.zw, r14.wwww, cb0[66].xxxz
add [precise(z)] r1.z, r1.z, cb0[66].y
add [precise(w)] r1.w, r1.w, -cb0[66].w
div [precise(w)] r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
add [precise(z)] r14.z, r1.w, r1.z
lt [precise(z)] r1.z, cb0[31].w, l(1.000000)
mul [precise(xy)] r2.xy, r2.zzzz, cb0[66].xzxx
add [precise(w)] r1.w, r2.x, cb0[66].y
add [precise(x)] r2.x, r2.y, -cb0[66].w
div [precise(x)] r2.x, l(1.000000, 1.000000, 1.000000, 1.000000), r2.x
add [precise(w)] r1.w, r1.w, r2.x
movc [precise(z)] r1.z, r1.z, r2.w, r1.w
add [precise(w)] r1.w, -r1.z, r14.z
mul_sat [precise(w)] r1.w, r1.w, cb4[9].w
add [precise(xyz)] r2.xyz, r9.yzwy, l(-0.000000, -0.000000, -1.000000, 0.000000)
mul [precise(xyz)] r2.xyz, r1.wwww, r2.xyzx
add [precise(xyz)] r2.xyz, r2.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul_sat [precise(w)] r3.w, r4.w, cb4[10].x
sample_b_indexable [precise(yzw)](texture2d)(float,float,float,float) r9.yzw, r11.xyxx, t19.wxyz, s5, cb0[151].x
max [precise(w)] r3.w, r3.w, r9.w
min [precise(w)] r3.w, r3.w, l(1.000000)
mul [precise(w)] r7.w, cb0[150].y, cb4[10].y
mul [precise] r6.xyzw, r6.xyzw, cb4[10].zzzz
add [precise(yz)] r10.yz, r7.wwww, l(0.000000, -0.500000, 300.000000, 0.000000)
round_ni [precise(zw)] r10.zw, r10.yyyz
ftoi [precise(zw)] r10.zw, r10.zzzw
imad [precise(zw)] r10.zw, r10.zzzw, l(0, 0, 0x0019660d, 0x0019660d), l(0, 0, 0xd17070a0, 0x3c6ef35f)
imad [precise(xy)] r11.xy, l(0x3c6ef35f, 0x3c6ef35f, 0, 0), r10.zwzz, l(0x3c6ef35f, 0x3c6ef35f, 0, 0)
imad [precise(w)] r8.w, r10.z, r11.x, l(0x3c6ef35f)
imad [precise(w)] r8.w, r11.x, r8.w, r10.z
ushr [precise(w)] r8.w, r8.w, l(16)
utof [precise(w)] r8.w, r8.w
mul [precise(w)] r8.w, r8.w, l(0.0000152590219)
frc [precise(w)] r9.w, r10.y
mul [precise(yz)] r9.yz, r9.yyzy, cb4[10].wwww
max [precise(yz)] r9.yz, r9.yyzy, cb4[11].xxxx
min [precise(yz)] r9.yz, r9.yyzy, cb4[11].yyyy
mul [precise(yz)] r9.yz, r9.yyzy, l(0.000000, -1.000000, -1.000000, 0.000000)
mul [precise(yz)] r10.yz, r9.yyzy, r9.wwww
add [precise(yz)] r10.yz, r8.wwww, r10.yyzy
add [precise(yz)] r10.yz, r6.zzwz, r10.yyzy
add [precise(yz)] r10.yz, r10.yyzy, l(0.000000, 0.500000, 0.500000, 0.000000)
mul [precise(xy)] r6.xy, r6.xyxx, l(2097152.000000, 2097152.000000, 0.000000, 0.000000)
frc [precise(xy)] r6.xy, r6.xyxx
add [precise(yz)] r10.yz, r10.yyzy, r6.xxyx
sample_b_indexable [precise(w)](texture2d)(float,float,float,float) r8.w, r10.yzyy, t20.yzwx, s6, cb0[151].x
imad [precise(w)] r9.w, l(0x3c6ef35f), r11.y, r10.w
imad [precise(y)] r10.y, r11.y, r9.w, l(0x3c6ef35f)
imad [precise(w)] r9.w, r9.w, r10.y, r11.y
ushr [precise(w)] r9.w, r9.w, l(16)
utof [precise(w)] r9.w, r9.w
mul [precise(w)] r9.w, r9.w, l(0.0000152590219)
frc [precise(w)] r7.w, r7.w
mul [precise(yz)] r9.yz, r7.wwww, r9.yyzy
add [precise(yz)] r9.yz, r9.yyzy, r9.wwww
add [precise(zw)] r6.zw, r6.zzzw, r9.yyyz
add [precise(xy)] r6.xy, r6.zwzz, r6.xyxx
sample_b_indexable [precise(x)](texture2d)(float,float,float,float) r6.x, r6.xyxx, t20.xyzw, s6, cb0[151].x
add [precise(y)] r6.y, r7.w, l(-0.500000)
mul [precise(y)] r6.y, r6.y, l(2.000000)
add [precise(y)] r6.y, -|r6.y|, l(1.000000)
add [precise(x)] r6.x, -r8.w, r6.x
mul [precise(x)] r6.x, r6.x, r6.y
add [precise(x)] r6.x, r6.x, r8.w
ge [precise(y)] r6.y, l(2.980232949E-08), r6.x
log [precise(x)] r6.x, r6.x
mul [precise(x)] r6.x, r6.x, cb4[11].z
exp [precise(x)] r6.x, r6.x
min [precise(x)] r6.x, r6.x, l(1.000000)
mul [precise(w)] r3.w, r3.w, r6.x
movc [precise(w)] r3.w, r6.y, l(0), r3.w
add [precise(xyz)] r6.xyz, -r2.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul [precise(xyz)] r6.xyz, r3.wwww, r6.xyzx
add [precise(xyz)] r2.xyz, r2.xyzx, r6.xyzx
mul [precise(xyz)] r2.xyz, r2.xyzx, cb0[146].wwww
add [precise(xyz)] r2.xyz, r2.xyzx, cb0[146].xyzx
dp3 [precise(x)] r6.x, r2.xyzx, r2.xyzx
rsq [precise(x)] r6.x, r6.x
mul [precise(xyz)] r2.xyz, r2.xyzx, r6.xxxx
mul [precise(xyz)] r6.xyz, r2.xxxx, v0.xyzx
mul [precise(xyz)] r0.xyz, r0.xyzx, r2.yyyy
add [precise(xyz)] r0.xyz, r0.xyzx, r6.xyzx
mul [precise(xyz)] r2.xyz, r2.zzzz, v1.xyzx
add [precise(xyz)] r0.xyz, r0.xyzx, r2.xyzx
dp3 [precise(x)] r2.x, r0.xyzx, r0.xyzx
rsq [precise(x)] r2.x, r2.x
mul [precise(xyz)] r6.xyz, r0.xyzx, r2.xxxx
dp3 [precise(x)] r0.x, r7.xyzx, r7.xyzx
rsq [precise(x)] r0.x, r0.x
mul [precise(xyz)] r0.xyz, r0.xxxx, r7.xyzx
dp3 [precise(x)] r2.x, r8.xyzx, r8.xyzx
rsq [precise(x)] r2.x, r2.x
mul [precise(xyz)] r2.xyz, r2.xxxx, r8.xyzx
dp3 [precise(x)] r0.x, r0.xyzx, r2.xyzx
add [precise(x)] r0.x, r0.x, l(-0.002500)
mul_sat [precise(y)] r0.y, r7.x, r8.x
ge [precise(z)] r0.z, l(2.980232949E-08), r0.y
log [precise(y)] r0.y, r0.y
mul [precise(y)] r0.y, r0.y, cb4[11].w
exp [precise(y)] r0.y, r0.y
mul [precise(y)] r0.y, r0.y, l(3.500000)
min [precise(y)] r0.y, r0.y, l(1.000000)
movc [precise(y)] r0.y, r0.z, l(0), r0.y
mul [precise(x)] r0.x, r0.y, r0.x
ge [precise(y)] r0.y, l(2.980232949E-08), r0.x
log [precise(x)] r0.x, r0.x
mul [precise(x)] r0.x, r0.x, l(3800.000000)
exp [precise(x)] r0.x, r0.x
mul [precise(x)] r0.x, r0.x, l(50000000.000000)
mul [precise(z)] r0.z, r9.x, cb4[12].y
mul [precise(x)] r2.x, r10.x, cb4[12].w
add [precise(z)] r0.z, r0.z, r2.x
mul [precise(x)] r2.x, r12.x, cb4[13].y
mul [precise(y)] r2.y, r13.x, cb4[13].w
add [precise(x)] r2.x, r2.y, r2.x
add [precise(z)] r0.z, r0.z, r2.x
mul [precise(z)] r0.z, r0.z, cb4[14].x
max [precise(z)] r0.z, r0.z, l(-1.000000)
min [precise(z)] r0.z, r0.z, l(1.000000)
add [precise(z)] r0.z, r0.z, cb4[14].y
mul [precise(z)] r0.z, r0.z, cb4[14].z
mul_sat [precise(z)] r0.z, r0.z, cb4[14].w
mul [precise(x)] r0.x, r0.z, r0.x
mul [precise(x)] r0.x, r0.x, l(5000.000000)
min [precise(x)] r0.x, r0.x, l(1.000000)
mul [precise(x)] r0.x, r0.x, cb4[15].x
add [precise(z)] r0.z, r0.w, -cb4[15].y
mul_sat [precise(z)] r0.z, r0.z, cb4[15].z
add [precise(z)] r0.z, -r0.z, l(1.000000)
mul [precise(x)] r0.x, r0.z, r0.x
movc [precise(x)] r0.x, r0.y, l(0), r0.x
add r0.y, -r0.x, r1.w
mad r0.x, r3.w, r0.y, r0.x
add r0.yzw, -r0.xxxx, cb4[16].xxyz
mad r0.xyz, cb4[15].wwww, r0.yzwy, r0.xxxx
mul [precise(xyz)] r2.xyz, r1.wwww, cb4[17].xyzx
mul_sat [precise(xyz)] r2.xyz, r2.xyzx, r3.wwww
add [precise(w)] r0.w, cb4[17].w, -cb4[18].x
mul [precise(w)] r0.w, r0.w, r3.w
add_sat [precise(w)] r0.w, r0.w, cb4[18].x
dp3 [precise(x)] r7.x, r6.xyzx, r5.xyzx
max [precise(x)] r8.x, r7.x, l(0.000000)
add [precise(y)] r7.y, -r8.x, l(1.000000)
max [precise(y)] r7.y, |r7.y|, l(0.000100)
mul [precise(z)] r7.z, r7.y, r7.y
mul [precise(z)] r7.z, r7.z, r7.z
mul [precise(y)] r7.y, r7.z, r7.y
add [precise(z)] r7.z, -cb4[18].z, cb4[18].y
mul [precise(y)] r7.y, r7.z, r7.y
add [precise(y)] r7.y, r7.y, cb4[18].z
add [precise(z)] r7.z, -r7.y, cb4[18].w
mul [precise(z)] r7.z, r3.w, r7.z
add_sat [precise(y)] r7.y, r7.z, r7.y
mul [precise(y)] r7.y, r7.y, cb0[147].y
add [precise(y)] r8.y, r7.y, cb0[147].x
add [precise(y)] r7.y, -r3.w, l(1.000000)
imul [precise(z)] null, r7.z, v2.x, l(42)
ld_structured_indexable [precise(z)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r7.z, r7.z, l(0), t5.xxxx
and [precise(xyw)] r9.xyzw, r7.zzzz, l(256, 512, 4, 2048)
movc [precise(xyw)] r9.xyw, r9.yxyw, l(1.000000,2.000000,0,1), l(0,0,0,0)
add r7.w, r9.x, r9.y
mul o1.w, r7.w, l(0.333333343)
if_nz r9.z
  mad r9.xyz, cb0[109].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r4.xyzx
  mad r9.xyz, r9.xyzx, cb0[243].xyzx, cb0[244].xyzx
  max r9.xyz, r9.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r9.xyz, r9.xyzx, l(0.990000, 0.990000, 0.990000, 0.000000)
  mul r9.xyz, r9.xyzx, cb0[245].xyzx
  ftoi r10.xyz, r9.xyzx
  mov r10.w, l(0)
  ld_indexable(texture3d)(uint,uint,uint,uint) r10.xyzw, r10.xyzw, t0.xyzw
  utof r10.xyzw, r10.xyzw
  add r7.w, cb0[245].w, l(1.000000)
  div r9.xyz, r9.xyzx, r10.wwww
  frc r9.xyz, r9.xyzx
  mul r9.xyz, r9.xyzx, cb0[245].wwww
  mad r9.xyz, r10.xyzx, r7.wwww, r9.xyzx
  add r9.xyz, r9.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
  mul r9.xyz, r9.xyzx, cb0[246].xyzx
  sample_l_indexable(texture3d)(float,float,float,float) r7.w, r9.xyzx, t1.yzwx, s0, l(0.000000)
else
  mov r7.w, l(1.000000)
endif
mul [precise(z)] r8.z, r0.w, l(0.080000)
mul [precise(xyz)] r9.xyz, r2.xyzx, cb0[144].wwww
add [precise(xyz)] r9.xyz, r9.xyzx, cb0[144].xyzx
mul [precise(w)] r8.w, r8.z, cb0[145].w
add [precise(xyz)] r10.xyz, r8.wwww, cb0[145].xyzx
ne [precise(w)] r8.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[190].w
mul [precise(xyz)] r12.xyz, r10.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000)
add [precise(xyz)] r12.xyz, r9.xyzx, r12.xyzx
movc [precise(xyz)] r9.xyz, r8.wwww, r12.xyzx, r9.xyzx
movc [precise(xyz)] r10.xyz, r8.wwww, l(0,0,0,0), r10.xyzx
if_nz cb2[151].x
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r12.xyzw, l(0), l(0), t2.xyzw
  mov r6.w, l(1.000000)
  dp4 r12.x, r12.xyzw, r6.xyzw
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r13.xyzw, l(1), l(0), t2.xyzw
  dp4 r12.y, r13.xyzw, r6.xyzw
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r13.xyzw, l(2), l(0), t2.xyzw
  dp4 r12.z, r13.xyzw, r6.xyzw
  mul r13.xyzw, r6.yzzx, r6.xyzz
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r15.xyzw, l(3), l(0), t2.xyzw
  dp4 r15.x, r15.xyzw, r13.xyzw
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.xyzw, l(4), l(0), t2.xyzw
  dp4 r15.y, r16.xyzw, r13.xyzw
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.xyzw, l(5), l(0), t2.xyzw
  dp4 r15.z, r16.xyzw, r13.xyzw
  mul r6.w, r6.y, r6.y
  mad r6.w, r6.x, r6.x, -r6.w
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r13.xyz, l(6), l(0), t2.xyzx
  add r12.xyz, r12.xyzx, r15.xyzx
  mad r12.xyz, r13.xyzx, r6.wwww, r12.xyzx
  max r12.xyz, r12.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r12.xyz, r12.xyzx, cb0[194].xyzx
else
  mov r12.xyz, l(0,0,0,0)
endif
mul r13.xyz, r9.xyzx, r12.xyzx
mad r15.xyz, l(2.040400, 2.040400, 2.040400, 0.000000), r2.xyzx, l(-0.332400, -0.332400, -0.332400, 0.000000)
mad r15.xyz, l(-4.795100, -4.795100, -4.795100, 0.000000), r2.xyzx, r15.xyzx
mad r15.xyz, l(2.755200, 2.755200, 2.755200, 0.000000), r2.xyzx, r15.xyzx
add r15.xyz, r15.xyzx, l(1.332000, 1.332000, 1.332000, 0.000000)
max r15.xyz, r15.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r13.xyz, r13.xyzx, r15.xyzx
mul [precise(xyz)] r15.xyz, r3.wwww, r9.xyzx
mul [precise(xy)] r1.xy, r1.xyxx, cb0[138].zwzz
ftou [precise(xy)] r1.xy, r1.xyxx
mul [precise(w)] r6.w, v4.w, cb2[3].x
add [precise(w)] r6.w, r6.w, cb2[3].y
log [precise(w)] r6.w, r6.w
mul [precise(w)] r6.w, r6.w, cb2[3].z
max [precise(w)] r6.w, r6.w, l(0.000000)
ftou [precise(w)] r6.w, r6.w
iadd [precise(w)] r8.w, cb2[1].z, l(-1)
umin [precise(w)] r6.w, r6.w, r8.w
ushr [precise(xy)] r1.xy, r1.xyxx, cb2[2].xxxx
imad [precise(y)] r1.y, r6.w, cb2[1].y, r1.y
imad [precise(x)] r1.x, r1.y, cb2[1].x, r1.x
ine [precise(y)] r1.y, cb1[7].y, l(0)
if_nz cb2[156].x
  ld_indexable(texture2d)(float,float,float,float) r16.xyzw, l(0, 0, 0, 0), t10.xyzw
else
  mov r16.xyzw, l(1.000000,1.000000,1.000000,1.000000)
endif
mul r16.xyzw, r16.xyzw, r16.xyzw
and [precise(xy)] r11.xy, r7.zzzz, l(4096, 8192, 0, 0)
movc [precise(xy)] r11.xy, r11.xyxx, l(1,1,0,0), l(0,0,0,0)
imad [precise(w)] r6.w, r11.x, l(2), r9.w
imad [precise(w)] r6.w, r11.y, l(4), r6.w
if_nz cb2[0].z
  ubfe [precise(xyz)] r17.xyz, l(1, 1, 1, 0), l(1, 2, 3, 0), cb2[7].yyyy
  utof [precise(yzw)] r17.yzw, r17.xxyz
  ushr [precise(z)] r7.z, cb2[7].y, l(8)
  if_nz cb2[8].x
    ge [precise] r18.xyzw, r2.wwww, cb2[9].xyzw
    and [precise] r18.xyzw, r18.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
    add [precise(w)] r8.w, r18.y, r18.x
    add [precise(w)] r8.w, r18.z, r8.w
    add [precise(w)] r8.w, r18.w, r8.w
    ftou [precise(w)] r8.w, r8.w
    ult [precise(w)] r9.w, r8.w, cb2[8].x
    if_nz r9.w
      ishl [precise(w)] r9.w, r8.w, l(2)
      mul [precise] r18.xyzw, r3.xxxx, cb2[r9.w + 10].xyzw
      mul [precise] r19.xyzw, r3.yyyy, cb2[r9.w + 11].xyzw
      add [precise] r18.xyzw, r18.xyzw, r19.xyzw
      mul [precise] r19.xyzw, r3.zzzz, cb2[r9.w + 12].xyzw
      add [precise] r18.xyzw, r18.xyzw, r19.xyzw
      add [precise] r18.xyzw, r18.xyzw, cb2[r9.w + 13].xyzw
      div [precise(xy)] r11.xy, r18.xyxx, r18.wwww
      ge [precise(xy)] r18.xy, r11.xyxx, cb2[r8.w + 26].xyxx
      ge [precise(xy)] r19.xy, cb2[r8.w + 26].zwzz, r11.xyxx
      and [precise(xy)] r18.xy, r18.xyxx, r19.xyxx
      and [precise(w)] r8.w, r18.y, r18.x
      if_nz r8.w
        add [precise(w)] r8.w, -r18.z, l(1.000000)
        mul [precise(xy)] r11.xy, r11.xyxx, cb2[30].xyxx
        add [precise(xy)] r11.xy, r11.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
        frc [precise(xy)] r18.xy, r11.xyxx
        round_ni [precise(xy)] r11.xy, r11.xyxx
        add [precise(xy)] r11.xy, r11.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
        mul [precise(xy)] r11.xy, r11.xyxx, cb2[30].zwzz
        gather4_indexable [precise](texture2d)(float,float,float,float) r19.xyzw, r11.xyxx, t6.xyzw, s1.x
        mul [precise(w)] r8.w, r8.w, l(4000.000000)
        add [precise(w)] r8.w, r8.w, l(-1.000000)
        mul [precise] r19.xyzw, r19.xyzw, l(4000.000000, 4000.000000, 4000.000000, 4000.000000)
        add_sat [precise] r19.xyzw, -r8.wwww, r19.xyzw
        add [precise(xy)] r11.xy, -r19.wxww, r19.zyzz
        mul [precise(xy)] r11.xy, r11.xyxx, r18.xxxx
        add [precise(xy)] r11.xy, r11.xyxx, r19.wxww
        add [precise(w)] r8.w, -r11.x, r11.y
        mul [precise(w)] r8.w, r8.w, r18.y
        add [precise(w)] r8.w, r8.w, r11.x
      else
        mov [precise(w)] r8.w, l(1.000000)
      endif
    else
      mov [precise(w)] r8.w, l(1.000000)
    endif
  else
    mov [precise(w)] r8.w, l(1.000000)
  endif
  ieq [precise(w)] r9.w, cb1[7].x, l(0)
  ine [precise(w)] r10.w, cb2[8].y, l(-1)
  and [precise(w)] r9.w, r9.w, r10.w
  if_nz r9.w
    imad [precise] r18.xyzw, cb2[8].yyyy, l(288, 288, 288, 288), l(208, 224, 240, 264)
    ld_raw_indexable [precise(xyz)](raw_buffer)(mixed,mixed,mixed,mixed) r19.xyz, r18.x, t12.xyzx
    ld_raw_indexable [precise](raw_buffer)(mixed,mixed,mixed,mixed) r20.xyzw, r18.y, t12.xyzw
    ld_raw_indexable [precise(xyz)](raw_buffer)(mixed,mixed,mixed,mixed) r18.xyz, r18.z, t12.xyzx
    ld_raw_indexable [precise(xy)](raw_buffer)(mixed,mixed,mixed,mixed) r11.xy, r18.w, t12.xyxx
    add [precise(xyz)] r19.xyz, r19.xyzx, -cb0[72].xyzx
    add [precise(xyz)] r20.xyz, r20.xyzx, -cb0[73].xyzx
    add [precise(xyz)] r19.xyz, r19.xyzx, r20.xyzx
    add [precise(xyz)] r18.xyz, r18.xyzx, r19.xyzx
    add [precise(xyz)] r18.xyz, r3.xyzx, r18.xyzx
    dp3 [precise(w)] r9.w, r18.xyzx, r18.xyzx
    sqrt [precise(w)] r9.w, r9.w
    log [precise(w)] r9.w, r9.w
    movc [precise(w)] r10.w, cb3[5].y, l(0), r20.w
    add [precise(w)] r9.w, r9.w, r10.w
    round_ni [precise(w)] r9.w, r9.w
    ftoi [precise(w)] r9.w, r9.w
    iadd [precise(w)] r9.w, -r11.x, r9.w
    imax [precise(w)] r9.w, r9.w, l(0)
    ilt [precise(w)] r10.w, r9.w, r11.y
    if_nz r10.w
      iadd [precise(w)] r9.w, r9.w, cb2[8].y
      imad [precise] r18.xyzw, r9.wwww, l(288, 288, 288, 288), l(64, 80, 96, 112)
      ld_raw_indexable [precise(xyz)](raw_buffer)(mixed,mixed,mixed,mixed) r19.xyz, r18.x, t12.xyzx
      ld_raw_indexable [precise(xyz)](raw_buffer)(mixed,mixed,mixed,mixed) r20.xyz, r18.y, t12.xyzx
      ld_raw_indexable [precise(xyz)](raw_buffer)(mixed,mixed,mixed,mixed) r18.xyz, r18.z, t12.xyzx
      ld_raw_indexable [precise(xyz)](raw_buffer)(mixed,mixed,mixed,mixed) r21.xyz, r18.w, t12.xyzx
      imad [precise(xyz)] r22.xyz, r9.wwww, l(288, 288, 0x00005555, 0), l(208, 224, 0xf5558000, 0)
      ld_raw_indexable [precise(xyz)](raw_buffer)(mixed,mixed,mixed,mixed) r23.xyz, r22.x, t12.xyzx
      ld_raw_indexable [precise(xyw)](raw_buffer)(mixed,mixed,mixed,mixed) r22.xyw, r22.y, t12.xyxz
      add [precise(xyz)] r23.xyz, r23.xyzx, -cb0[72].xyzx
      add [precise(xyw)] r22.xyw, r22.xyxw, -cb0[73].xyxz
      add [precise(xyw)] r22.xyw, r22.xyxw, r23.xyxz
      add [precise(xyw)] r22.xyw, r3.xyxz, r22.xyxw
      mul [precise(xyz)] r19.xyz, r19.xyzx, r22.xxxx
      mul [precise(xyz)] r20.xyz, r20.xyzx, r22.yyyy
      add [precise(xyz)] r19.xyz, r19.xyzx, r20.xyzx
      mul [precise(xyz)] r18.xyz, r18.xyzx, r22.wwww
      add [precise(xyz)] r18.xyz, r18.xyzx, r19.xyzx
      add [precise(xyz)] r18.xyz, r21.xyzx, r18.xyzx
      mul [precise(xy)] r11.xy, r18.xyxx, l(128.000000, 128.000000, 0.000000, 0.000000)
      ftou [precise(xy)] r11.xy, r11.xyxx
      uge [precise(w)] r10.w, r9.w, l(8192)
      ishl [precise(w)] r12.w, r11.y, l(7)
      iadd [precise(w)] r12.w, r11.x, r12.w
      iadd [precise(w)] r12.w, r12.w, r22.z
      movc [precise(w)] r10.w, r10.w, r12.w, r9.w
      ld_structured_indexable [precise(w)](structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r10.w, r10.w, l(0), t13.xxxx
      and [precise(w)] r12.w, r10.w, l(0x80000000)
      if_nz r12.w
        ubfe [precise(w)] r13.w, l(6), l(20), r10.w
        if_nz r13.w
          ushr [precise(w)] r15.w, r10.w, l(20)
          iadd [precise(w)] r13.w, r9.w, r13.w
          imad [precise(xy)] r19.xy, r9.wwww, l(288, 288, 0, 0), l(256, 48, 0, 0)
          ld_raw_indexable [precise(xz)](raw_buffer)(mixed,mixed,mixed,mixed) r19.xz, r19.x, t12.xxyx
          imad [precise(xyz)] r20.xyz, r13.wwww, l(288, 288, 0x00005555, 0), l(256, 48, 0xf5558000, 0)
          ld_raw_indexable [precise(xw)](raw_buffer)(mixed,mixed,mixed,mixed) r20.xw, r20.x, t12.xxxy
          ishl [precise(xy)] r21.xy, r20.xwxx, l(5, 5, 0, 0)
          imad [precise(xy)] r11.xy, l(-32, -32, 0, 0), r19.xzxx, r11.xyxx
          ishl [precise(xy)] r21.xy, r21.xyxx, r15.wwww
          iadd [precise(xy)] r11.xy, r11.xyxx, r21.xyxx
          ushr [precise(xy)] r11.xy, r11.xyxx, r15.wwww
          ishl [precise(xy)] r21.xy, r11.xyxx, l(7, 7, 0, 0)
          bfi [precise(zw)] r21.zw, l(0, 0, 25, 25), l(0, 0, 7, 7), r11.xxxy, l(0, 0, 127, 127)
          or [precise(w)] r9.w, r19.y, l(24)
          ld_raw_indexable [precise(w)](raw_buffer)(mixed,mixed,mixed,mixed) r9.w, r9.w, t12.xxxx
          or [precise(y)] r11.y, r20.y, l(24)
          ld_raw_indexable [precise(y)](raw_buffer)(mixed,mixed,mixed,mixed) r11.y, r11.y, t12.xxxx
          itof [precise(xy)] r19.xy, r19.xzxx
          itof [precise(zw)] r19.zw, r20.xxxw
          ishl [precise(w)] r15.w, l(1), r15.w
          utof [precise(w)] r15.w, r15.w
          rcp [precise(w)] r15.w, r15.w
          mul [precise(xy)] r19.xy, r19.xyxx, r15.wwww
          add [precise(xy)] r19.xy, -r19.xyxx, r19.zwzz
          mul [precise(xy)] r19.xy, r19.xyxx, l(0.250000, 0.250000, 0.000000, 0.000000)
          mul [precise(w)] r9.w, r9.w, r15.w
          add [precise(w)] r9.w, -r9.w, r11.y
          mul [precise(zw)] r19.zw, r15.wwww, r18.xxxy
          add [precise(xy)] r19.xy, r19.xyxx, r19.zwzz
          mul [precise(xy)] r19.xy, r19.xyxx, l(16384.000000, 16384.000000, 0.000000, 0.000000)
          ftou [precise(xy)] r19.xy, r19.xyxx
          umax [precise(xy)] r19.xy, r21.xyxx, r19.xyxx
          umin [precise(xy)] r19.xy, r21.zwzz, r19.xyxx
          uge [precise(y)] r11.y, r13.w, l(8192)
          iadd [precise(x)] r11.x, r11.x, r21.y
          iadd [precise(x)] r11.x, r11.x, r20.z
          movc [precise(x)] r11.x, r11.y, r11.x, r13.w
          ld_structured_indexable [precise(x)](structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r11.x, r11.x, l(0), t13.xxxx
          ubfe [precise(yw)] r20.yw, l(0, 10, 0, 6), l(0, 10, 0, 20), r11.xxxx
          and [precise(xz)] r20.xz, r11.xxxx, l(1023, 0, 0x80000000, 0)
          ine [precise(x)] r11.x, r20.z, l(0)
          ieq [precise(y)] r11.y, r20.w, l(0)
          and [precise(x)] r11.x, r11.y, r11.x
        else
          and [precise(x)] r20.x, r10.w, l(1023)
          ubfe [precise(y)] r20.y, l(10), l(10), r10.w
          ine [precise(x)] r11.x, r12.w, l(0)
          mul [precise(xy)] r18.xy, r18.xyxx, l(16384.000000, 16384.000000, 0.000000, 0.000000)
          ftou [precise(xy)] r19.xy, r18.xyxx
          mov [precise(w)] r15.w, l(1.000000)
          mov [precise(w)] r9.w, l(0)
        endif
        if_nz r11.x
          bfi [precise(xy)] r19.xy, l(25, 25, 0, 0), l(7, 7, 0, 0), r20.xyxx, r19.xyxx
          mov [precise(zw)] r19.zw, l(0,0,0,0)
          ld_indexable [precise(w)](texture2darray)(uint,uint,uint,uint) r10.w, r19.xyzw, t14.yzwx
          add [precise(w)] r9.w, -r9.w, r10.w
          div [precise(w)] r9.w, r9.w, r15.w
        else
          mov [precise(w)] r9.w, l(0)
        endif
      else
        mov [precise(w)] r9.w, l(0)
        mov [precise(x)] r11.x, l(0)
      endif
      if_nz r11.x
        lt [precise(w)] r9.w, r18.z, r9.w
        movc [precise(w)] r9.w, r9.w, l(0), l(1.000000)
      endif
    else
      mov [precise(x)] r11.x, l(0)
    endif
    movc [precise(w)] r9.w, r11.x, r9.w, l(1.000000)
    mul [precise(w)] r8.w, r8.w, r9.w
  endif
  mov [precise(x)] r17.x, l(1.000000)
  dp4 [precise(w)] r9.w, l(1.000000, 1.000000, 1.000000, 1.000000), r17.xyzw
  add [precise(w)] r10.w, r9.w, l(-1.000000)
  mul [precise(w)] r9.w, r9.w, r10.w
  add [precise(w)] r9.w, r9.w, l(1.000000)
  mul [precise(w)] r10.w, r2.w, cb2[7].z
  add_sat [precise(w)] r10.w, r10.w, cb2[7].w
  mul [precise(w)] r10.w, r10.w, r10.w
  add [precise(w)] r9.w, -r8.w, r9.w
  mul [precise(w)] r9.w, r9.w, r10.w
  add [precise(w)] r8.w, r8.w, r9.w
  min [precise(w)] r9.w, r8.w, l(1.000000)
  add [precise(w)] r9.w, r8.w, r9.w
  lt [precise(w)] r9.w, l(0.000000), r9.w
  if_nz r9.w
    max [precise(w)] r9.w, r8.y, cb0[255].y
    dp3 [precise(w)] r10.w, cb2[4].xyzx, cb2[4].xyzx
    add [precise(x)] r11.x, r10.w, l(1.000000)
    rcp [precise(x)] r11.x, r11.x
    rsq [precise(w)] r10.w, r10.w
    mul [precise] r17.xyzw, r10.wwww, cb2[4].xyzw
    dp3 [precise(y)] r11.y, r6.xyzx, r17.xyzx
    lt [precise(w)] r12.w, l(0.000000), cb2[4].w
    mul [precise(w)] r13.w, cb2[4].w, cb2[4].w
    mul [precise(x)] r11.x, r11.x, r13.w
    min [precise(x)] r11.x, r11.x, l(1.000000)
    sqrt [precise(x)] r11.x, r11.x
    lt [precise(w)] r13.w, r11.y, r11.x
    max [precise(w)] r15.w, -r11.x, r11.y
    add [precise(w)] r15.w, r11.x, r15.w
    mul [precise(w)] r15.w, r15.w, r15.w
    mul [precise(x)] r11.x, r11.x, l(4.000000)
    div [precise(x)] r11.x, r15.w, r11.x
    movc [precise(x)] r11.x, r13.w, r11.x, r11.y
    movc_sat [precise(x)] r11.x, r12.w, r11.x, r11.y
    max [precise(w)] r12.w, r9.w, cb0[255].y
    mul [precise(w)] r12.w, r12.w, r12.w
    add [precise(w)] r12.w, -r12.w, l(1.000000)
    mul_sat [precise(w)] r12.w, r12.w, r17.w
    mul_sat [precise(w)] r10.w, r10.w, cb2[5].x
    dp3 [precise(w)] r13.w, r5.xyzx, r17.xyzx
    mul [precise(w)] r15.w, r13.w, l(2.000000)
    add [precise(w)] r15.w, r15.w, l(2.000000)
    rsq [precise(w)] r15.w, r15.w
    add [precise(x)] r17.x, r7.x, r11.y
    mul_sat [precise(x)] r17.x, r15.w, r17.x
    mul [precise(y)] r17.y, r13.w, r15.w
    add_sat [precise(w)] r15.w, r15.w, r17.y
    lt [precise(y)] r17.y, l(0.000000), r12.w
    if_nz r17.y
      mul [precise(z)] r17.z, r12.w, r12.w
      add [precise(z)] r17.z, -r17.z, l(1.000000)
      sqrt [precise(z)] r17.z, r17.z
      mul [precise(w)] r17.w, r11.y, l(2.000000)
      mul [precise(w)] r17.w, r7.x, r17.w
      add [precise(x)] r18.x, -r13.w, r17.w
      ge [precise(y)] r18.y, r18.x, r17.z
      if_nz r18.y
        mov [precise(x)] r17.x, l(1.000000)
        mov [precise(w)] r15.w, |r7.x|
      else
        mul [precise(y)] r18.y, r18.x, r18.x
        add [precise(y)] r18.y, -r18.y, l(1.000000)
        rsq [precise(y)] r18.y, r18.y
        mul [precise(y)] r18.y, r12.w, r18.y
        mul [precise(z)] r18.z, r11.y, r18.x
        add [precise(z)] r18.z, r7.x, -r18.z
        mul [precise(w)] r18.w, r7.x, l(2.000000)
        mul [precise(w)] r18.w, r7.x, r18.w
        add [precise(w)] r18.w, r18.w, l(-1.000000)
        mul [precise(x)] r18.x, r13.w, r18.x
        add [precise(x)] r18.x, -r18.x, r18.w
        mul [precise(xz)] r18.xz, r18.xxzx, r18.yyyy
        mul [precise(w)] r18.w, r11.y, r11.y
        add [precise(w)] r18.w, -r18.w, l(1.000000)
        mul [precise(x)] r19.x, r7.x, r7.x
        add [precise(w)] r18.w, r18.w, -r19.x
        mul [precise(x)] r19.x, r13.w, r13.w
        add [precise(w)] r18.w, r18.w, -r19.x
        mul [precise(w)] r17.w, r13.w, r17.w
        add_sat [precise(w)] r17.w, r17.w, r18.w
        sqrt [precise(w)] r17.w, r17.w
        mul [precise(w)] r17.w, r17.w, r18.y
        mul [precise(y)] r18.y, r17.w, l(2.000000)
        mul [precise(y)] r18.y, r7.x, r18.y
        mul [precise(y)] r11.y, r11.y, r17.z
        add [precise(w)] r18.w, r7.x, r11.y
        add [precise(x)] r19.x, r18.z, r18.w
        mul [precise(w)] r13.w, r13.w, r17.z
        add [precise(z)] r17.z, r13.w, l(1.000000)
        add [precise(z)] r17.z, r18.x, r17.z
        mul [precise(y)] r19.y, r17.z, r17.w
        mul [precise(z)] r19.z, r17.z, r19.x
        mul [precise(w)] r19.w, r18.y, r19.x
        mul [precise(xy)] r20.xy, r19.yyyy, l(-0.500000, 2.000000, 0.000000, 0.000000)
        mul [precise(z)] r20.z, r18.y, l(0.250000)
        mul [precise(z)] r20.z, r19.x, r20.z
        add [precise(x)] r20.x, r20.z, r20.x
        mul [precise(x)] r20.x, r19.z, r20.x
        mul [precise(y)] r19.y, r19.y, r19.y
        add [precise(y)] r20.y, r19.w, -r20.y
        mul [precise(w)] r19.w, r19.w, r20.y
        add [precise(y)] r19.y, r19.w, r19.y
        mul [precise(w)] r19.w, r17.z, r17.z
        mul [precise(w)] r18.w, r18.w, r19.w
        add [precise(z)] r17.z, r13.w, r17.z
        mul [precise(z)] r17.z, r17.z, l(-0.500000)
        add [precise(z)] r17.z, r17.z, l(-0.500000)
        mul [precise(z)] r17.z, r17.z, r19.z
        add [precise(z)] r17.z, r17.z, r18.w
        mul [precise(z)] r17.z, r17.z, r19.x
        add [precise(z)] r17.z, r17.z, r19.y
        mul [precise(w)] r18.w, r20.x, l(2.000000)
        mul [precise(x)] r19.x, r17.z, r17.z
        mul [precise(y)] r19.y, r20.x, r20.x
        add [precise(x)] r19.x, r19.y, r19.x
        div [precise(w)] r18.w, r18.w, r19.x
        mul [precise(z)] r17.z, r17.z, r18.w
        mul [precise(w)] r18.w, r20.x, r18.w
        add [precise(w)] r18.w, -r18.w, l(1.000000)
        mul [precise(xz)] r18.xz, r18.xxzx, r18.wwww
        mul [precise(w)] r17.w, r17.w, r17.z
        mul [precise(z)] r17.z, r18.y, r17.z
        add [precise(zw)] r17.zw, r17.zzzw, r18.xxxz
        add [precise(y)] r11.y, r11.y, r17.w
        add [precise(w)] r13.w, r13.w, r17.z
        mul [precise(z)] r17.z, r13.w, l(2.000000)
        add [precise(z)] r17.z, r17.z, l(2.000000)
        rsq [precise(z)] r17.z, r17.z
        add [precise(y)] r11.y, r7.x, r11.y
        mul_sat [precise(x)] r17.x, r17.z, r11.y
        mul [precise(y)] r11.y, r13.w, r17.z
        add_sat [precise(w)] r15.w, r11.y, r17.z
      endif
    endif
    add [precise(y)] r11.y, |r7.x|, l(0.000010)
    min [precise(y)] r11.y, r11.y, l(1.000000)
    mul [precise(xyz)] r18.xyz, r15.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
    mul [precise(xyz)] r18.xyz, r11.xxxx, r18.xyzx
    mul [precise(w)] r9.w, r9.w, r9.w
    mul [precise(w)] r9.w, r9.w, r9.w
    lt [precise(w)] r13.w, l(0.000000), r10.w
    mul [precise(w)] r10.w, r10.w, r10.w
    mul [precise(z)] r17.z, r15.w, l(3.600000)
    add [precise(z)] r17.z, r17.z, l(0.400000)
    div [precise(w)] r10.w, r10.w, r17.z
    add [precise(w)] r10.w, r9.w, r10.w
    min [precise(w)] r10.w, r10.w, l(1.000000)
    movc [precise(w)] r9.w, r13.w, r10.w, r9.w
    mul [precise(w)] r10.w, r12.w, l(0.250000)
    ishr [precise(w)] r13.w, r9.w, l(1)
    iadd [precise(w)] r13.w, r13.w, l(0x1fbd1df5)
    mul [precise(w)] r13.w, r13.w, l(3.000000)
    add [precise(w)] r12.w, r12.w, r13.w
    mul [precise(w)] r10.w, r10.w, r12.w
    add [precise(w)] r12.w, r15.w, l(0.001000)
    div [precise(w)] r10.w, r10.w, r12.w
    add [precise(w)] r10.w, r9.w, r10.w
    div [precise(w)] r10.w, r9.w, r10.w
    movc [precise(w)] r10.w, r17.y, r10.w, l(1.000000)
    mul [precise(w)] r12.w, r9.w, r17.x
    add [precise(w)] r12.w, -r17.x, r12.w
    mul [precise(w)] r12.w, r17.x, r12.w
    add [precise(w)] r12.w, r12.w, l(1.000000)
    mul [precise(w)] r13.w, r12.w, l(3.14159274)
    mul [precise(w)] r12.w, r12.w, r13.w
    div [precise(w)] r12.w, r9.w, r12.w
    mul [precise(w)] r10.w, r10.w, r12.w
    sqrt [precise(w)] r9.w, r9.w
    add [precise(w)] r12.w, -r9.w, l(1.000000)
    mul [precise(w)] r13.w, r11.y, r12.w
    add [precise(w)] r13.w, r9.w, r13.w
    mul [precise(w)] r13.w, r11.x, r13.w
    mul [precise(w)] r12.w, r11.x, r12.w
    add [precise(w)] r9.w, r9.w, r12.w
    mul [precise(w)] r9.w, r9.w, r11.y
    add [precise(w)] r9.w, r9.w, r13.w
    rcp [precise(w)] r9.w, r9.w
    mul [precise(w)] r9.w, r9.w, l(0.500000)
    add [precise(y)] r11.y, -r15.w, l(1.000000)
    mul [precise(w)] r12.w, r11.y, r11.y
    mul [precise(w)] r12.w, r12.w, r12.w
    mul [precise(y)] r11.y, r11.y, r12.w
    mul_sat [precise(w)] r12.w, r10.y, l(50.000000)
    mul [precise(w)] r12.w, r11.y, r12.w
    add [precise(y)] r11.y, -r11.y, l(1.000000)
    mul [precise(xyz)] r17.xyz, r10.xyzx, r11.yyyy
    add [precise(xyz)] r17.xyz, r12.wwww, r17.xyzx
    mul [precise(w)] r9.w, r9.w, r10.w
    mul [precise(xyz)] r17.xyz, r17.xyzx, r9.wwww
    mul [precise(xyz)] r17.xyz, r11.xxxx, r17.xyzx
    mul [precise(xyz)] r17.xyz, r17.xyzx, cb2[7].xxxx
    mul [precise(xyz)] r19.xyz, r8.wwww, cb2[6].xyzx
    mul [precise(xyz)] r18.xyz, r18.xyzx, r19.xyzx
    mul [precise(xyz)] r17.xyz, r17.xyzx, r19.xyzx
  else
    mov [precise(xyz)] r18.xyz, l(0,0,0,0)
    mov [precise(xyz)] r17.xyz, l(0,0,0,0)
  endif
  and [precise(z)] r7.z, r6.w, r7.z
  add r19.xyz, r17.xyzx, r18.xyzx
  mov [precise(w)] r18.w, r17.x
  movc [precise] r18.xyzw, cb1[7].yyyy, l(0,0,0,0), r18.xyzw
  and r19.xyz, r1.yyyy, r19.xyzx
  movc [precise(xy)] r11.xy, cb1[7].yyyy, l(0,0,0,0), r17.yzyy
  movc [precise] r17.xyzw, r7.zzzz, r18.xyzw, l(0,0,0,0)
  movc r18.xyz, r7.zzzz, r19.xyzx, l(0,0,0,0)
  movc [precise(xy)] r11.xy, r7.zzzz, r11.xyxx, l(0,0,0,0)
  mov r19.x, l(1.000000)
else
  mov r17.xyzw, l(0,0,0,0)
  mov r18.xyz, l(0,0,0,0)
  mov r11.xy, l(0,0,0,0)
  mov r19.x, r7.w
  mov r8.w, l(1.000000)
endif
ishl [precise(z)] r7.z, r1.x, l(1)
ld_structured_indexable [precise(z)](structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.z, r7.z, l(0), t8.xxxx
umin [precise(z)] r7.z, r7.z, cb2[0].x
bfi [precise(x)] r1.x, l(31), l(1), r1.x, l(1)
ld_structured_indexable [precise(x)](structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r1.x, l(0), t8.xxxx
umin [precise(z)] r7.z, r7.z, cb2[1].w
max r9.w, r8.y, cb0[255].y
dp3 r10.w, -r5.xyzx, r6.xyzx
add r10.w, r10.w, r10.w
mad r20.xyz, r6.xyzx, -r10.wwww, -r5.xyzx
max r10.w, r9.w, cb0[255].y
mad r10.w, -r10.w, r10.w, l(1.000000)
mul r12.w, r7.x, l(2.000000)
mad r12.w, r12.w, r7.x, l(-1.000000)
add r13.w, |r7.x|, l(0.000010)
min r13.w, r13.w, l(1.000000)
mul r15.xyz, r15.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
mul r9.w, r9.w, r9.w
mul r15.w, r9.w, r9.w
mul r21.xyzw, r10.yxyz, l(50.000000, 0.450000, 0.450000, 0.450000)
mov_sat r21.x, r21.x
mov r19.yw, l(0,1.000000,0,1.000000)
mov r22.xyz, r17.xyzx
mov r23.x, r17.w
mov r23.yz, r11.xxyx
mov [precise(w)] r18.w, l(0)
loop
  uge [precise(w)] r20.w, r18.w, r7.z
  breakc_nz r20.w
  iadd [precise(w)] r20.w, r1.x, r18.w
  ld_indexable [precise(w)](buffer)(uint,uint,uint,uint) r20.w, r20.wwww, t9.yzwx
  imul [precise(w)] null, r22.w, r20.w, l(6)
  ld_structured_indexable [precise](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r24.xyzw, r22.w, l(0), t7.xyzw
  imad [precise(w)] r22.w, r20.w, l(6), l(1)
  ld_structured_indexable [precise(w)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.w, r22.w, l(12), t7.xxxx
  imad [precise(xy)] r25.xy, r20.wwww, l(6, 6, 0, 0), l(2, 3, 0, 0)
  ld_structured_indexable [precise](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r25.x, l(0), t7.xyzw
  ld_structured_indexable [precise(xy)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r25.y, l(0), t7.xyzw
  ubfe [precise(x)] r27.x, l(2), l(16), r26.w
  eq [precise(y)] r27.y, r23.w, l(0.000000)
  ieq [precise(x)] r27.x, r27.x, l(2)
  ushr r27.z, r26.w, l(8)
  add [precise(xyz)] r24.xyz, -r3.xyzx, r24.xyzx
  dp3 [precise(w)] r27.w, r24.xyzx, r24.xyzx
  rsq [precise(x)] r28.x, r27.w
  mul [precise(xyz)] r28.xyz, r24.xyzx, r28.xxxx
  mul [precise(w)] r28.w, r24.w, r24.w
  mul [precise(w)] r27.w, r27.w, r28.w
  mul [precise(w)] r27.w, r27.w, r27.w
  add [precise(w)] r27.w, -r27.w, l(1.000000)
  max [precise(w)] r27.w, r27.w, l(0.000000)
  mul [precise(w)] r27.w, r27.w, r27.w
  mul [precise(xyz)] r29.xyz, r24.wwww, r24.xyzx
  dp3 [precise(w)] r24.w, r29.xyzx, r29.xyzx
  min [precise(w)] r24.w, r24.w, l(1.000000)
  add [precise(w)] r24.w, -r24.w, l(1.000000)
  log [precise(w)] r24.w, r24.w
  mul [precise(w)] r23.w, r23.w, r24.w
  exp [precise(w)] r23.w, r23.w
  movc [precise(w)] r23.w, r27.y, r27.w, r23.w
  dp3 [precise(w)] r24.w, r28.xyzx, r26.xyzx
  add [precise(w)] r24.w, -r25.x, r24.w
  mul_sat [precise(w)] r24.w, r25.y, r24.w
  mul [precise(w)] r24.w, r24.w, r24.w
  mul [precise(w)] r24.w, r23.w, r24.w
  movc [precise(w)] r23.w, r27.x, r24.w, r23.w
  lt [precise(w)] r24.w, l(0.000000), r23.w
  if_nz r24.w
    and [precise(w)] r24.w, r26.w, l(255)
    movc [precise(w)] r24.w, r24.w, l(1), l(0)
    if_nz r24.w
      and r24.w, r26.w, l(1)
      ubfe r28.xyzw, l(1, 1, 1, 1), l(1, 2, 3, 4), r26.wwww
      utof r29.x, r24.w
      utof r29.yzw, r28.xxyz
      ubfe r26.xyz, l(1, 1, 1, 0), l(5, 6, 7, 0), r26.wwww
      utof r28.x, r28.w
      utof r28.yzw, r26.xxyz
      dp4 r24.w, r28.xyzw, r16.xyzw
      dp4 r25.x, r29.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
      dp4 r25.y, r19.xyyy, r29.xyzw
      add r25.y, r25.y, l(-1.000000)
      mad r25.x, r25.x, r25.y, l(1.000000)
      mul r25.xy, r24.wwww, r25.xxxx
    else
      mov r25.xy, l(1.000000,1.000000,0,0)
    endif
    add r24.w, r25.y, r25.x
    lt r24.w, l(0.000000), r24.w
    if_nz r24.w
      ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xy, r22.w, l(0), t7.xyxx
      imad r20.w, r20.w, l(6), l(4)
      ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r28.xyzw, r20.w, l(0), t7.xyzw
      and r20.w, r26.y, l(1023)
      ubfe r26.yz, l(0, 10, 10, 0), l(0, 10, 20, 0), r26.yyyy
      utof r29.x, r20.w
      utof r29.yz, r26.yyzy
      mul r26.xyz, r26.xxxx, r29.xyzx
      and r20.w, r25.z, l(0x0000ffff)
      f16tof32 r20.w, r20.w
      f16tof32 r22.w, r25.w
      ushr r24.w, r25.z, l(16)
      f16tof32 r24.w, r24.w
      and r25.y, r28.w, l(0x0000ffff)
      f16tof32 r25.y, r25.y
      mul r26.xyz, r23.wwww, r26.xyzx
      mul r23.w, r22.w, l(0.500000)
      mad r29.xyz, -r23.wwww, r28.xyzx, r24.xyzx
      mad r24.xyz, r23.wwww, r28.xyzx, r24.xyzx
      lt r23.w, l(0.000000), r22.w
      if_nz r23.w
        dp3 r25.z, r29.xyzx, r29.xyzx
        dp3 r25.w, r24.xyzx, r24.xyzx
        rsq r25.z, r25.z
        rsq r25.w, r25.w
        mul r26.w, r25.w, r25.z
        dp3 r27.x, r29.xyzx, r24.xyzx
        mul r27.x, r26.w, r27.x
        mad r27.w, r27.x, l(0.500000), l(0.500000)
        mad r27.w, r25.z, r25.w, r27.w
        div r28.y, r26.w, r27.w
        dp3 r26.w, r6.xyzx, r29.xyzx
        dp3 r27.w, r6.xyzx, r24.xyzx
        mul r25.w, r25.w, r27.w
        mad r25.z, r26.w, r25.z, r25.w
        mul r28.x, r25.z, l(0.500000)
      else
        dp3 r25.z, r29.xyzx, r29.xyzx
        add r25.w, r25.z, l(1.000000)
        rcp r28.y, r25.w
        rsq r25.z, r25.z
        mul r30.xyz, r25.zzzz, r29.xyzx
        dp3 r28.x, r6.xyzx, r30.xyzx
        mov r27.x, l(1.000000)
      endif
      lt r25.z, l(0.000000), r20.w
      mul r25.w, r20.w, r20.w
      mul_sat r25.w, r28.y, r25.w
      sqrt r25.w, r25.w
      lt r26.w, r28.x, r25.w
      max r27.w, -r25.w, r28.x
      add r27.w, r25.w, r27.w
      mul r27.w, r27.w, r27.w
      mul r25.w, r25.w, l(4.000000)
      div r25.w, r27.w, r25.w
      movc r25.w, r26.w, r25.w, r28.x
      movc_sat r25.z, r25.z, r25.w, r28.x
      movc r25.w, r27.y, r28.y, l(1.000000)
      add r24.xyz, -r29.xyzx, r24.xyzx
      dp3 r26.w, r20.xyzx, r24.xyzx
      mad r28.xyz, r26.wwww, r20.xyzx, -r24.xyzx
      dp3 r27.y, r29.xyzx, r28.xyzx
      mul r26.w, r26.w, r26.w
      mad r22.w, r22.w, r22.w, -r26.w
      div_sat r22.w, r27.y, r22.w
      mad r24.xyz, r22.wwww, r24.xyzx, r29.xyzx
      movc r24.xyz, r23.wwww, r24.xyzx, r29.xyzx
      dp3 r22.w, r24.xyzx, r24.xyzx
      rsq r22.w, r22.w
      mul r24.xyz, r22.wwww, r24.xyzx
      mul r20.w, r20.w, r22.w
      mul_sat r20.w, r10.w, r20.w
      mul_sat r22.w, r22.w, r24.w
      dp3 r23.w, r6.xyzx, r24.xyzx
      dp3 r24.x, r5.xyzx, r24.xyzx
      mad r24.y, l(2.000000), r24.x, l(2.000000)
      rsq r24.y, r24.y
      add r24.z, r7.x, r23.w
      mul_sat r24.z, r24.y, r24.z
      mad_sat r24.y, r24.y, r24.x, r24.y
      lt r24.w, l(0.000000), r20.w
      if_nz r24.w
        mad r26.w, -r20.w, r20.w, l(1.000000)
        sqrt r26.w, r26.w
        mul r27.y, r23.w, l(2.000000)
        mul r27.w, r7.x, r27.y
        mad r27.y, r27.y, r7.x, -r24.x
        ge r28.x, r27.y, r26.w
        if_nz r28.x
          mov r24.z, l(1.000000)
          mov r24.y, |r7.x|
        else
          mad r28.x, -r27.y, r27.y, l(1.000000)
          rsq r28.x, r28.x
          mul r28.x, r20.w, r28.x
          mad r28.y, -r27.y, r23.w, r7.x
          mul r28.z, r28.y, r28.x
          mad r27.y, -r27.y, r24.x, r12.w
          mul r28.w, r27.y, r28.x
          mad r29.x, -r23.w, r23.w, l(1.000000)
          mad r29.x, -r7.x, r7.x, r29.x
          mad r29.x, -r24.x, r24.x, r29.x
          mad_sat r27.w, r27.w, r24.x, r29.x
          sqrt r27.w, r27.w
          mul r27.w, r27.w, r28.x
          mul r29.x, r27.w, l(2.000000)
          mul r29.x, r7.x, r29.x
          mad r29.y, r23.w, r26.w, r7.x
          mad r28.y, r28.x, r28.y, r29.y
          mad r29.z, r24.x, r26.w, l(1.000000)
          mad r27.y, r28.x, r27.y, r29.z
          mul r28.x, r27.y, r27.w
          mul r29.z, r27.y, r28.y
          mul r29.w, r28.y, r29.x
          mul r30.xy, r28.xxxx, l(-0.500000, 2.000000, 0.000000, 0.000000)
          mul r30.z, r29.x, l(0.250000)
          mad r30.x, r30.z, r28.y, r30.x
          mul r30.x, r29.z, r30.x
          mad r30.y, r29.x, r28.y, -r30.y
          mul r29.w, r29.w, r30.y
          mad r28.x, r28.x, r28.x, r29.w
          mul r29.w, r27.y, r27.y
          mad r27.y, r24.x, r26.w, r27.y
          mad r27.y, l(-0.500000), r27.y, l(-0.500000)
          mul r27.y, r27.y, r29.z
          mad r27.y, r29.y, r29.w, r27.y
          mad r27.y, r28.y, r27.y, r28.x
          mul r28.x, r30.x, l(2.000000)
          mul r28.y, r30.x, r30.x
          mad r28.y, r27.y, r27.y, r28.y
          div r28.x, r28.x, r28.y
          mul r27.y, r27.y, r28.x
          mad r28.x, -r28.x, r30.x, l(1.000000)
          mul r27.w, r27.w, r27.y
          mad r27.w, r28.x, r28.z, r27.w
          mul r27.y, r29.x, r27.y
          mad r27.y, r28.x, r28.w, r27.y
          mad r23.w, r23.w, r26.w, r27.w
          mad r24.x, r24.x, r26.w, r27.y
          mad r26.w, l(2.000000), r24.x, l(2.000000)
          rsq r26.w, r26.w
          add r23.w, r7.x, r23.w
          mul_sat r24.z, r26.w, r23.w
          mad_sat r24.y, r26.w, r24.x, r26.w
        endif
      endif
      mul r23.w, r25.z, r25.w
      mul r28.xyz, r15.xyzx, r23.wwww
      lt r24.x, l(0.000000), r22.w
      mul r22.w, r22.w, r22.w
      mad r25.w, r24.y, l(3.600000), l(0.400000)
      div r22.w, r22.w, r25.w
      mad r22.w, r9.w, r9.w, r22.w
      min r22.w, r22.w, l(1.000000)
      movc r19.z, r24.x, r22.w, r15.w
      mul r22.w, r20.w, l(0.250000)
      ishr r24.x, r19.z, l(1)
      iadd r24.x, r24.x, l(0x1fbd1df5)
      mad r20.w, l(3.000000), r24.x, r20.w
      mul r20.w, r20.w, r22.w
      add r22.w, r24.y, l(0.001000)
      div r20.w, r20.w, r22.w
      add r29.x, r19.z, r20.w
      div r29.y, r19.z, r29.x
      movc r24.xw, r24.wwww, r29.xxxy, r19.zzzw
      lt r20.w, r27.x, l(1.000000)
      add r25.w, -r27.x, l(1.000100)
      add r26.w, r27.x, l(1.000000)
      div r25.w, r25.w, r26.w
      sqrt r25.w, r25.w
      mul r26.w, r25.w, l(0.250000)
      ishr r27.x, r24.x, l(1)
      iadd r27.x, r27.x, l(0x1fbd1df5)
      mad r25.w, l(3.000000), r27.x, r25.w
      mul r25.w, r25.w, r26.w
      div r22.w, r25.w, r22.w
      add r22.w, r22.w, r24.x
      div r22.w, r24.x, r22.w
      sqrt r22.w, r22.w
      mul r22.w, r22.w, r24.w
      movc r20.w, r20.w, r22.w, r24.w
      mad r22.w, r24.z, r19.z, -r24.z
      mad r22.w, r22.w, r24.z, l(1.000000)
      mul r24.x, r22.w, l(3.14159274)
      mul r22.w, r22.w, r24.x
      div r22.w, r19.z, r22.w
      mul r20.w, r20.w, r22.w
      sqrt r19.z, r19.z
      add r22.w, -r19.z, l(1.000000)
      mad r24.x, r13.w, r22.w, r19.z
      mad r19.z, r25.z, r22.w, r19.z
      mul r19.z, r13.w, r19.z
      mad r19.z, r25.z, r24.x, r19.z
      rcp r19.z, r19.z
      mul r19.z, r19.z, l(0.500000)
      add r22.w, -r24.y, l(1.000000)
      mul r24.x, r22.w, r22.w
      mul r24.x, r24.x, r24.x
      mul r24.y, r22.w, r24.x
      mad r22.w, -r24.x, r22.w, l(1.000000)
      mul r24.xzw, r10.xxyz, r22.wwww
      mad r24.xyz, r21.xxxx, r24.yyyy, r24.xzwx
      mul r19.z, r19.z, r20.w
      mul r24.xyz, r24.xyzx, r19.zzzz
      mul r24.xyz, r23.wwww, r24.xyzx
      mul r24.xyz, r25.yyyy, r24.xyzx
      mul r25.xyz, r25.xxxx, r26.xyzx
      mul r26.xyz, r25.xyzx, r28.xyzx
      mul r24.xyz, r24.xyzx, r25.xyzx
    else
      mov r26.xyz, l(0,0,0,0)
      mov r24.xyz, l(0,0,0,0)
    endif
  else
    mov r26.xyz, l(0,0,0,0)
    mov r24.xyz, l(0,0,0,0)
  endif
  and r19.z, r6.w, r27.z
  add r25.xyz, r22.xyzx, r26.xyzx
  add r24.xyz, r23.xyzx, r24.xyzx
  movc r22.xyz, r19.zzzz, r25.xyzx, r22.xyzx
  movc r23.xyz, r19.zzzz, r24.xyzx, r23.xyzx
  iadd [precise(w)] r18.w, r18.w, l(1)
endloop
movc r15.xyz, cb2[38].xxxx, r22.xyzx, l(0,0,0,0)
movc r16.xyz, cb2[38].xxxx, r23.xyzx, l(0,0,0,0)
add r15.xyz, r15.xyzx, r16.xyzx
mad r9.xyz, r9.xyzx, r3.wwww, r21.yzwy
add r9.xyz, -r15.xyzx, r9.xyzx
mad r9.xyz, cb0[153].zzzz, r9.xyzx, r15.xyzx
max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
lt [precise(x)] r1.x, l(0.000000), cb0[148].x
if_nz r1.x
  mad [precise(xyz)] r15.xyz, cb0[109].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r4.xyzx
  mad [precise(xyz)] r16.xyz, -cb0[109].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r15.xyzx
  add [precise(xyz)] r4.xyz, r4.xyzx, -r16.xyzx
  imad [precise] r16.xyzw, v2.xxxx, l(42, 42, 42, 42), l(18, 19, 17, 26)
  ld_structured_indexable [precise(xyz)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r17.xyz, r16.x, l(0), t5.xyzx
  ld_structured_indexable [precise(xyz)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r19.xyz, r16.y, l(0), t5.xyzx
  ld_structured_indexable [precise(x)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.x, r16.z, l(12), t5.xxxx
  mul [precise(xyz)] r17.xyz, r17.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000)
  add [precise(xyz)] r20.xyz, r19.xyzx, r17.xyzx
  add [precise(xyz)] r17.xyz, -r17.xyzx, r20.xyzx
  add [precise(xyz)] r17.xyz, -r17.xyzx, r19.xyzx
  ld_structured_indexable [precise(y)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.y, r16.w, l(12), t5.xxxx
  imad [precise(x)] r11.xy, v2.xxxx, l(42, 42, 0, 0), l(27, 32, 0, 0)
  ld_structured_indexable [precise(z)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.z, r11.x, l(12), t5.xxxx
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r1.x, r11.y, l(0), t5.xxxx
  add [precise(xyz)] r19.xyz, r15.xyzx, -r20.xyzx
  add [precise(xyz)] r17.xyz, r4.xyzx, -r17.xyzx
  add [precise(xyz)] r17.xyz, r17.xyzx, r19.xyzx
  add [precise(xyz)] r16.xyz, r16.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  lt [precise(xyz)] r16.xyz, r16.xyzx, |r17.xyzx|
  or [precise(w)] r6.w, r16.y, r16.x
  or [precise(w)] r6.w, r16.z, r6.w
  if_nz r6.w
    mul [precise(xyz)] r15.xyz, r15.xyzx, l(0.0000152587891, 0.0000152587891, 0.0000152587891, 0.000000)
    mul [precise(xyz)] r4.xyz, r4.xyzx, l(0.0000152587891, 0.0000152587891, 0.0000152587891, 0.000000)
    frc [precise(xyz)] r15.xyz, r15.xyzx
    frc [precise(xyz)] r4.xyz, r4.xyzx
    add [precise(xyz)] r4.xyz, r4.xyzx, r15.xyzx
    frc [precise(xyz)] r4.xyz, r4.xyzx
    mul [precise(xyz)] r4.xyz, r4.xyzx, l(65536.000000, 65536.000000, 65536.000000, 0.000000)
    dp3 [precise(x)] r4.x, r4.xyzx, l(0.001154, 0.001154, 0.001154, 0.000000)
    frc [precise(x)] r4.x, r4.x
    lt [precise(x)] r4.x, l(0.500000), r4.x
    movc [precise(xyz)] r0.xyz, r4.xxxx, l(0,1.000000,1.000000,0), l(1.000000,1.000000,0,0)
  else
    lt r4.x, l(0.000000), r1.x
    add r15.xyz, r3.xyzx, -v3.xyzx
    max r3.x, |r15.z|, |r15.y|
    max r3.x, r3.x, |r15.x|
    add r1.x, -r1.x, r3.x
    mul r1.x, |r1.x|, l(20.000000)
    min r1.x, r1.x, l(1.000000)
    add r1.x, -r1.x, l(1.000000)
    mul r15.xyz, r1.xxxx, l(1.000000, 0.000000, 1.000000, 0.000000)
    movc r0.xyz, r4.xxxx, r15.xyzx, r0.xyzx
  endif
endif
mad r4.xyz, r13.xyzx, r3.wwww, r9.xyzx
add r0.xyz, r0.xyzx, r4.xyzx
lt [precise(x)] r1.x, l(0.000000), r7.y
if_nz r1.x
  add [precise(xy)] r3.xy, v3.xyxx, -cb0[112].xyxx
  mul_sat [precise(x)] r1.x, r1.z, cb4[20].y
  add [precise(x)] r1.x, -r1.x, l(1.000000)
  add [precise(x)] r4.x, -cb4[20].w, cb4[20].z
  mul [precise(x)] r1.x, r1.x, r4.x
  add [precise(x)] r1.x, r1.x, cb4[20].w
  add [precise(x)] r4.x, -r1.x, l(1.000000)
  mul [precise(w)] r3.w, r3.w, r4.x
  add [precise(x)] r1.x, r1.x, r3.w
  mul r4.xyz, cb0[154].xyzx, l(3.14159274, 3.14159274, 3.14159274, 0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r9.xy, r8.xyxx, t11.xyzw, s0, l(0.000000)
  mul r3.w, r9.y, r21.x
  mad r9.xyz, r10.xyzx, r9.xxxx, r3.wwww
  sqrt r3.w, r8.z
  add r3.w, -r3.w, l(1.000000)
  div r3.w, l(2.000000), r3.w
  add r3.w, r3.w, l(-1.000000)
  mul [precise(xyz)] r10.xyz, r6.xxxx, cb0[12].xyzx
  mul [precise(xyz)] r13.xyz, r6.yyyy, cb0[13].xyzx
  add [precise(xyz)] r10.xyz, r10.xyzx, r13.xyzx
  mul [precise(xyz)] r13.xyz, r6.zzzz, cb0[14].xyzx
  add [precise(xyz)] r10.xyz, r10.xyzx, r13.xyzx
  dp3 [precise(w)] r6.w, r10.xyzx, r10.xyzx
  rsq [precise(w)] r6.w, r6.w
  mul [precise(xz)] r8.xz, r6.wwww, r10.xxyx
  mul [precise(xy)] r10.xy, v1.xxxx, cb0[12].xyxx
  mul [precise(zw)] r10.zw, v1.yyyy, cb0[13].xxxy
  add [precise(xy)] r10.xy, r10.zwzz, r10.xyxx
  mul [precise(zw)] r10.zw, v1.zzzz, cb0[14].xxxy
  add [precise(xy)] r10.xy, r10.zwzz, r10.xyxx
  add [precise(xz)] r8.xz, -r8.xxzx, r10.xxyx
  add [precise(x)] r1.x, r1.x, l(-1.000000)
  mul [precise(xz)] r8.xz, r1.xxxx, r8.xxzx
  mul [precise(xz)] r8.xz, r8.xxzx, cb0[136].xxyx
  mul [precise(xz)] r8.xz, r8.xxzx, cb0[139].zzwz
  mul [precise(y)] r10.y, cb1[5].x, cb1[5].y
  mul [precise(zw)] r10.zw, cb1[5].zzzw, l(0.000000, 0.000000, 0.000230, -0.000230)
  mov [precise(x)] r10.x, cb1[5].x
  mul [precise(xy)] r10.xy, r10.xyxx, r10.zwzz
  mul [precise(xz)] r8.xz, r8.xxzx, r10.xxyx
  mul [precise(x)] r1.x, -cb4[21].x, l(0.500000)
  min [precise(x)] r1.x, |r1.x|, l(50.000000)
  max [precise(x)] r1.x, r1.x, l(1.000000)
  div [precise(x)] r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
  add [precise(w)] r6.w, -r2.w, r14.z
  mul [precise(x)] r1.x, r1.x, r6.w
  add_sat [precise(x)] r1.x, r1.x, -cb4[21].x
  mul [precise(xz)] r8.xz, r1.xxxx, r8.xxzx
  mul [precise(xz)] r8.xz, r8.xxzx, l(4.000000, 0.000000, 4.000000, 0.000000)
  mul_sat [precise(x)] r1.x, r6.w, l(0.0333333351)
  mul [precise(xz)] r8.xz, r1.xxxx, r8.xxzx
  add [precise(xz)] r8.xz, r8.xxzx, r14.xxyx
  max [precise(xz)] r8.xz, r8.xxzx, cb1[4].xxyx
  min [precise(xy)] r10.xy, r8.xzxx, cb1[4].zwzz
  gather4_indexable [precise](texture2d)(float,float,float,float) r13.xyzw, r10.xyxx, t4.xyzw, s0.x
  mul [precise] r15.xyzw, r13.xxyy, cb0[66].xzxz
  add [precise(xz)] r8.xz, r15.xxzx, cb0[66].yyyy
  add [precise(xy)] r11.xy, r15.ywyy, -cb0[66].wwww
  div [precise(xy)] r11.xy, l(1.000000, 1.000000, 1.000000, 1.000000), r11.xyxx
  add [precise(xy)] r15.xy, r8.xzxx, r11.xyxx
  mul [precise] r16.xyzw, r13.zzww, cb0[66].xzxz
  add [precise(xz)] r8.xz, r16.xxzx, cb0[66].yyyy
  add [precise(xy)] r11.xy, r16.ywyy, -cb0[66].wwww
  div [precise(xy)] r11.xy, l(1.000000, 1.000000, 1.000000, 1.000000), r11.xyxx
  add [precise(zw)] r15.zw, r8.xxxz, r11.xxxy
  lt [precise] r15.xyzw, r15.xyzw, r2.wwww
  or [precise(xz)] r8.xz, r15.zzwz, r15.xxyx
  or [precise(x)] r1.x, r8.z, r8.x
  mul [precise(xz)] r8.xz, r10.xxyx, cb1[6].xxyx
  add [precise(xz)] r8.xz, r8.xxzx, l(-0.500000, 0.000000, -0.500000, 0.000000)
  frc [precise(xz)] r8.xz, r8.xxzx
  add [precise(xy)] r11.xy, -r8.zxzz, l(1.000000, 1.000000, 0.000000, 0.000000)
  mul [precise(x)] r15.x, r11.x, r11.y
  mul [precise(yz)] r15.yz, r8.xxzx, r11.xxyx
  mul [precise(w)] r15.w, r8.z, r8.x
  dp4 [precise(w)] r10.w, r13.wzxy, r15.xyzw
  mul [precise(xz)] r8.xz, r10.wwww, cb0[66].xxzx
  add [precise(w)] r6.w, r8.x, cb0[66].y
  add [precise(z)] r7.z, r8.z, -cb0[66].w
  div [precise(z)] r7.z, l(1.000000, 1.000000, 1.000000, 1.000000), r7.z
  add [precise(z)] r10.z, r6.w, r7.z
  movc [precise] r10.xyzw, r1.xxxx, r14.xyzw, r10.xyzw
  max r1.x, r10.w, l(9.999999960E-13)
  add [precise(w)] r2.w, -r2.w, r10.z
  max [precise(w)] r2.w, r2.w, l(0.000000)
  max r13.xyz, cb4[21].yzwy, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r14.xyw, r1.wwww, cb4[22].xyxz
  mul r14.xyw, r14.xyxw, cb4[22].wwww
  mul r14.xyw, r14.xyxw, l(0.010000, 0.010000, 0.000000, 0.010000)
  max r14.xyw, r14.xyxw, l(0.000000, 0.000000, 0.000000, 0.000000)
  max r1.w, cb4[23].x, l(-1.000000)
  min r1.w, r1.w, l(1.000000)
  add [precise(z)] r1.z, -r14.z, r1.z
  mul [precise(w)] r6.w, |r1.z|, cb4[9].w
  ge [precise(z)] r7.z, l(2.980232949E-08), r6.w
  log [precise(w)] r6.w, r6.w
  mul [precise(w)] r6.w, r6.w, cb4[23].y
  exp [precise(w)] r6.w, r6.w
  min [precise(w)] r6.w, r6.w, l(1.000000)
  mul [precise(xz)] r8.xz, r1.zzzz, r5.xxyx
  add [precise(xy)] r3.xy, r3.xyxx, r8.xzxx
  mul [precise(xz)] r8.xz, cb0[109].xxyx, cb4[23].zzzz
  mul [precise(zw)] r10.zw, r3.xxxy, cb4[23].zzzz
  mul [precise(z)] r1.z, r4.w, r5.w
  mul [precise(z)] r1.z, r1.z, cb4[23].w
  mul [precise(z)] r1.z, r1.z, cb4[24].x
  add [precise(xy)] r3.xy, r3.xyxx, -cb4[7].xyxx
  mul [precise(xy)] r3.xy, r3.xyxx, cb4[8].xyxx
  add [precise(xy)] r3.xy, r1.zzzz, r3.xyxx
  add [precise(xy)] r3.xy, r3.xyxx, r11.zwzz
  sample_b_indexable [precise(z)](texture2d)(float,float,float,float) r1.z, r3.xyxx, t21.xzyw, s7, cb0[151].x
  mul [precise(x)] r3.x, r1.z, cb4[24].x
  add [precise(xy)] r11.xy, r3.xxxx, r10.zwzz
  mul [precise(xyz)] r15.xyz, cb0[150].yyyy, cb4[24].yzwy
  mov [precise(z)] r11.z, l(0)
  add [precise(xyz)] r11.xyz, r11.xyzx, r15.xyzx
  mul [precise(xy)] r3.xy, r8.xzxx, l(2097152.000000, 2097152.000000, 0.000000, 0.000000)
  frc [precise(xy)] r3.xy, r3.xyxx
  add [precise(xy)] r11.xy, r11.xyxx, r3.xyxx
  sample_indexable [precise(x)](texture3d)(float,float,float,float) r3.x, r11.xyzx, t22.xyzw, s8
  mul [precise(z)] r1.z, r1.z, cb4[25].x
  max_sat [precise(z)] r1.z, r1.z, r3.x
  mul [precise(z)] r1.z, r1.z, r6.w
  add [precise(x)] r3.x, cb4[25].y, l(-1.000000)
  mul [precise(z)] r1.z, r1.z, r3.x
  add [precise(z)] r1.z, r1.z, l(1.000000)
  max [precise(z)] r1.z, r1.z, l(0.000000)
  mul [precise(x)] r3.x, r2.w, l(0.020000)
  min [precise(x)] r3.x, r3.x, l(1.000000)
  add [precise(z)] r1.z, r1.z, l(-1.000000)
  mul [precise(z)] r1.z, r1.z, r3.x
  add [precise(z)] r1.z, r1.z, l(1.000000)
  movc [precise(z)] r1.z, r7.z, l(1.000000), r1.z
  add r11.xyz, r13.xyzx, r14.xywx
  max r14.xyz, r11.xyzx, l(0.000010, 0.000010, 0.000010, 0.000000)
  div r3.x, l(1.000000, 1.000000, 1.000000, 1.000000), r3.w
  mul r3.y, r3.x, r3.x
  mad r3.w, -r7.x, r7.x, l(1.000000)
  mad r3.y, -r3.y, r3.w, l(1.000000)
  ge [precise(w)] r3.w, r7.x, l(0.000000)
  movc [precise(w)] r3.w, r3.w, l(-1.000000), l(1.000000)
  sqrt r3.y, r3.y
  mul r3.y, r3.y, r3.w
  mad r3.y, r3.x, r7.x, r3.y
  mul r5.xyz, r5.xyzx, r3.xxxx
  mad r3.xyw, r3.yyyy, r6.xyxz, -r5.xyxz
  dp3 r3.x, -cb0[155].xyzx, r3.xywx
  mul r3.y, r1.w, r1.w
  mul r3.y, r1.w, r3.y
  mul r3.y, r3.y, l(0.550000)
  mad r1.w, r1.w, l(1.550000), -r3.y
  mad r3.x, r1.w, r3.x, l(1.000000)
  mad r1.w, -r1.w, r1.w, l(1.000000)
  mul r3.x, r3.x, r3.x
  mul r3.x, r3.x, l(12.566371)
  div r1.w, r1.w, r3.x
  mov r34.x, v4.x
  mov r34.y, v4.x
  mul r43.xy, v4.yyyy, cb0[45].zwzz
  mad r43.xy, v4.xxxx, cb0[44].zwzz, r43.xyxx
  mad r43.xy, r1.xxxx, cb0[46].zwzz, r43.xyxx
  add r43.xy, r43.xyxx, cb0[47].zwzz
  ge r39.w, cb0[r32.x + 0].x, l(20.000000)
  if_nz r39.w
    mul r39.x, l(0.500000), cb0[r32.x + 0].x
  else
    mul r39.x, l(0.500000), cb1[r32.x + 0].x
  endif
  mad r39.y, r43.y, r33.y, l(-1.000000)
  mul r39.y, r39.y, r39.x
  mad r34.x, r33.x, r39.y, r34.x
  mad r34.y, -r33.x, r39.x, r34.y
  mul r3.xy, v4.yyyy, cb0[45].zwzz
  mad r3.xy, r34.xxxx, cb0[44].zwzz, r3.xyxx
  mad r3.xy, r1.xxxx, cb0[46].zwzz, r3.xyxx
  add r3.xy, r3.xyxx, cb0[47].zwzz
  div r1.x, r3.x, r3.y
  add r1.x, -r1.x, r3.z
  max r1.x, r1.x, l(0.000000)
  mul r3.xyz, r11.xyzx, -r1.xxxx
  mul r3.xyz, r3.xyzx, l(1.442695, 1.442695, 1.442695, 0.000000)
  exp r3.xyz, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r5.xyz, r10.xyxx, t3.xyzw, s0, l(0.000000)
  mul r3.xyz, r3.xyzx, cb0[143].wwww
  mul r3.xyz, r5.xyzx, r3.xyzx
  mul r4.xyz, r4.xyzx, r1.wwww
  movc [precise(x)] r1.x, cb1[7].y, l(0), l(1.000000)
  and [precise(y)] r1.y, r1.y, l(0x3f800000)
  mul r5.xyz, r2.wwww, r11.xyzx
  mul r5.xyz, r5.xyzx, l(-1.442695, -1.442695, -1.442695, 0.000000)
  exp r5.xyz, r5.xyzx
  mul r4.xyz, r8.wwww, r4.xyzx
  mul r8.xzw, r1.xxxx, r4.xxyz
  mad r8.xzw, l(0.250000, 0.000000, 0.250000, 0.250000), r12.xxyz, r8.xxzw
  add r10.xyz, -r5.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  mul r10.xyz, r10.xyzx, r13.xyzx
  div r10.xyz, r10.xyzx, r14.xyzx
  min r10.xyz, r10.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  mul r8.xzw, r8.xxzw, r10.xxyz
  mul r1.xyw, r1.yyyy, r4.xyxz
  mul r1.xyw, r10.xyxz, r1.xyxw
  add r4.xyz, -r9.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  mul r1.xyw, r1.xyxw, r4.xyxz
  mad r18.xyz, r1.xywx, r7.yyyy, r18.xyzx
  mul r1.xyz, r1.zzzz, r3.xyzx
  mul r1.xyz, r1.xyzx, r5.xyzx
  mad r1.xyz, r8.xzwx, r4.xyzx, r1.xyzx
  mul r1.xyz, r1.xyzx, r7.yyyy
else
  mov r1.xyz, l(0,0,0,0)
endif
add r0.xyz, r0.xyzx, r1.xyzx
mul r1.xyz, v4.xyxx, l(0.00781250000, 0.00781250000, 0.00781250000, 0.000000)
frc r1.xyz, r1.xyzx
mad r1.xyz, r1.xyzx, l(128.000000, 128.000000, 128.000000, 0.000000), l(-64.340622, -72.465622, -64.340622, 0.000000)
mul r1.xyz, r1.xyyx, r1.xyzx
dp3 r1.x, r1.xyzx, l(20.390625, 60.703125, 2.42812085, 0.000000)
frc r1.x, r1.x
add r1.x, r1.x, l(-0.500000)
mul o3.w, r1.x, l(0.00392156886)
mad o1.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
mul o6.xyz, r18.xyzx, cb0[143].zzzz
mul r0.xyz, r0.xyzx, cb0[143].zzzz
mov o0.w, l(0)
min o0.xyz, r0.xyzx, l(32256.000000, 32256.000000, 32256.000000, 0.000000)
mov o2.xw, l(0,0,0,0.541176498)
mov [precise(z)] o2.z, r8.y
mov [precise(y)] o2.y, r0.w
mov [precise(xyz)] o3.xyz, r2.xyzx
mov o5.x, r7.w
mov o5.yzw, l(0,1.000000,1.000000,1.000000)
mov o6.w, l(1.000000)
ret
// Approximately 0 instruction slots used
