// Amara Eyes [ShaderRegex\ShaderFixes\regex.ini\_Multiple_Effects]
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Wed Dec 18 04:01:00 2019
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyz
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// COLOR                    0   xyzw        2     NONE   float   xyz
// COLOR                    1   xyzw        3     NONE   float    y
// COLOR                    2   xyzw        4     NONE   float   xyz
// TEXCOORD                 0   xy          5     NONE   float   xy
// GBX_VERTEX_FOG           0   xyzw        6     NONE   float   xyzw
// TEXCOORD                 9   xyz         7     NONE   float   xyz
// SV_Position              0   xyzw        8      POS   float   xyzw
// SV_IsFrontFace           0   x           9    FFACE    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   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[27], dynamicIndexed
dcl_constantbuffer cb1[205], immediateIndexed
dcl_constantbuffer cb2[20], immediateIndexed
dcl_constantbuffer cb3[95], dynamicIndexed
dcl_constantbuffer cb4[6], immediateIndexed
dcl_constantbuffer cb5[3069], dynamicIndexed
dcl_constantbuffer cb6[42], immediateIndexed
dcl_constantbuffer cb7[3], immediateIndexed
dcl_constantbuffer cb8[58], 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_texture3d (float,float,float,float) t2
dcl_resource_texture3d (float,float,float,float) t3
dcl_resource_texture3d (float,float,float,float) t4
dcl_resource_texture3d (float,float,float,float) t5
dcl_resource_texture3d (float,float,float,float) t6
dcl_resource_texture3d (float,float,float,float) t7
dcl_resource_texture3d (float,float,float,float) t8
dcl_resource_texture3d (float,float,float,float) t9
dcl_resource_texture3d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t12
dcl_resource_buffer (float,float,float,float) t13
dcl_resource_buffer (uint,uint,uint,uint) t14
dcl_resource_buffer (uint,uint,uint,uint) t15
dcl_resource_texturecube (float,float,float,float) t16
dcl_resource_texturecubearray (float,float,float,float) t17
dcl_resource_texturecubearray (float,float,float,float) t18
dcl_resource_texturecubearray (float,float,float,float) t19
dcl_resource_buffer (uint,uint,uint,uint) t20
dcl_resource_texture3d (float,float,float,float) t21
dcl_resource_texture2d (float,float,float,float) t22
dcl_resource_texture2d (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_texture2d (float,float,float,float) t29
dcl_resource_texture2d (float,float,float,float) t30
dcl_resource_texture2d (float,float,float,float) t31
dcl_resource_texture2d (float,float,float,float) t32
dcl_resource_texturecube (float,float,float,float) t33
dcl_resource_texture3d (float,float,float,float) t34
dcl_resource_texture2d (float,float,float,float) t35
dcl_input_ps linear centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps linear v2.xyz
dcl_input_ps linear v3.y
dcl_input_ps linear v4.xyz
dcl_input_ps linear v5.xy
dcl_input_ps linear v6.xyzw
dcl_input_ps linear v7.xyz
dcl_input_ps_siv linear noperspective v8.xyzw, position
dcl_output o0.xyzw
dcl_temps 31
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
mul r0.xyz, v0.yzxy, v1.zxyz
mad r0.xyz, v1.yzxy, v0.zxyz, -r0.xyzx
mul r0.xyz, r0.xyzx, v1.wwww
add r1.xy, v8.xyxx, -cb1[138].xyxx
mul r2.yz, r1.xxyx, cb1[139].zzwz
mad r1.zw, r1.xxxy, cb1[139].zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
mul r3.xy, r1.zwzz, v8.wwww
mov r3.z, v8.w
mul r3.xyw, r3.xyxz, l(2.000000, -2.000000, 0.000000, 1.000000)
mul r4.xyzw, v8.yyyy, cb1[45].xyzw
mad r4.xyzw, v8.xxxx, cb1[44].xyzw, r4.xyzw
mad r4.xyzw, v8.zzzz, cb1[46].xyzw, r4.xyzw
add r4.xyzw, r4.xyzw, cb1[47].xyzw

// Multiple Effects Fix by DJ-RK
ld_indexable(texture2d)(float,float,float,float) r27.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t120.xyzw
// Multiple Effects - Transform world to clip
div r28.xyz, r4.xyzx, r4.wwww
mov r28.w, l(1.0)
mul r29.xyzw, r28.yyyy, cb1[1].xyzw
mad r29.xyzw, r28.xxxx, cb1[0].xyzw, r29.xyzw
mad r29.xyzw, r28.zzzz, cb1[2].xyzw, r29.xyzw
add r29.xyzw, r29.xyzw, cb1[3].xyzw
// // Multiple Effects - Reflection Variant - Check for user option for depth
// ld_indexable(texture1d)(float,float,float,float) r26.xyzw, l(4, 0, 0, 0), t120.xyzw
// eq r26.w, r26.y, l(1.0)
// //  Multiple Effects - Reflection Variant - Backup W for later
// mov r30.w, r29.w
// // Multiple Effects - Reflection Variant - Stereo Fix based on user depth option
// if_nz r26.w
mov r27.w, r29.w
mov r29.xyzw, l(0,0,0,0)
mad r29.x, r27.w, -r27.x, r29.x
// else
// add r27.w, r29.w, -r27.y
// // mul r27.w, r27.w, r25.w
// mov r29.xyzw, l(0,0,0,0)
// mad r29.x, r27.w, -r27.x, r29.x
// endif
//  Multiple Effects - Reflection Variant - Transform from clip to world
mul r28.xyzw, r29.yyyy, cb1[41].xyzw
mad r28.xyzw, r29.xxxx, cb1[40].xyzw, r28.xyzw
mad r28.xyzw, r29.zzzz, cb1[42].xyzw, r28.xyzw
mad r28.xyzw, r29.wwww, cb1[43].xyzw, r28.xyzw 

div r4.xyz, r4.xyzx, r4.wwww

//  Multiple Effects - Store original value of r4 into r29 for later use
add r29.xyz, r4.xyzx, -cb1[71].xyzx

//  Multiple Effects - Add stereo correction to r4
add r4.xyz, r4.xyz, r28.xyzx

add r5.xyz, r4.xyzx, -cb1[71].xyzx


add r6.xyz, v7.xyzx, -cb1[71].xyzx
dp3 r0.w, -r4.xyzx, -r4.xyzx
rsq r0.w, r0.w
mul r7.xyz, r0.wwww, -r4.xyzx
sample_indexable(texture2d)(float,float,float,float) r1.zw, v5.xyxx, t24.zwxy, s0
mad r8.xy, r1.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r1.z, r8.xyxx, r8.xyxx
add r1.z, -r1.z, l(1.000000)
max r1.z, r1.z, l(0.000000)
sqrt r1.z, r1.z
add r8.z, r1.z, l(1.000000)
add r1.zw, v5.xxxy, cb8[1].xxxy
div r1.zw, r1.zzzw, cb8[2].xxxy
add r1.zw, r1.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
add r1.zw, r1.zzzw, -cb8[3].xxxy
add r9.xyzw, r1.zwzw, l(-0.495000, -0.500000, -0.500000, -0.500000)
mul r10.xyzw, r9.xyzw, l(3.050000, 3.050000, 3.050000, 3.050000)
dp2 r2.w, r10.xyxx, r10.xyxx
min r2.w, r2.w, l(1.000000)
add r9.xy, v5.xyxx, cb8[4].xyxx
div r9.xy, r9.xyxx, cb8[5].xyxx
add r9.xy, r9.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
add r9.xy, r9.xyxx, -cb8[6].xyxx
add r11.xyzw, r9.xyxy, l(-0.495000, -0.500000, -0.500000, -0.500000)
mul r12.xyzw, r11.xyzw, l(3.050000, 3.050000, 3.050000, 3.050000)
dp2 r4.w, r12.xyxx, r12.xyxx
min r4.w, r4.w, l(1.000000)
mad r2.w, -r2.w, r4.w, l(1.000000)
max r2.w, r2.w, l(0.000001)
mul r2.w, r2.w, r2.w
dp2 r4.w, r10.zwzz, r10.zwzz
min r4.w, r4.w, l(1.000000)
dp2 r6.w, r12.zwzz, r12.zwzz
min r6.w, r6.w, l(1.000000)
mad r4.w, -r4.w, r6.w, l(1.000000)
max r6.w, r4.w, l(0.000001)
mul r7.w, r6.w, r6.w
mul r7.w, r7.w, r7.w
mad r10.x, r2.w, r2.w, -r7.w
add r10.zw, r1.zzzw, l(0.000000, 0.000000, -0.500000, -0.495000)
mul r10.zw, r10.zzzw, l(0.000000, 0.000000, 3.050000, 3.050000)
dp2 r2.w, r10.zwzz, r10.zwzz
min r2.w, r2.w, l(1.000000)
add r10.zw, r9.xxxy, l(0.000000, 0.000000, -0.500000, -0.495000)
mul r10.zw, r10.zzzw, l(0.000000, 0.000000, 3.050000, 3.050000)
dp2 r8.w, r10.zwzz, r10.zwzz
min r8.w, r8.w, l(1.000000)
mad r2.w, -r2.w, r8.w, l(1.000000)
max r2.w, r2.w, l(0.000001)
mul r2.w, r2.w, r2.w
mad r10.y, r2.w, r2.w, -r7.w
mul r10.xy, r10.xyxx, l(5.000000, 5.000000, 0.000000, 0.000000)
mov r10.z, l(1.000000)
dp3 r2.w, r8.xyzx, r10.xyzx
mul r10.xyz, r8.zzzz, r10.xyzx
mad r8.xyz, r8.xyzx, r2.wwww, -r10.xyzx
mad r8.xyz, r8.xyzx, cb1[145].wwww, cb1[145].xyzx
dp3 r2.w, r8.xyzx, r8.xyzx
rsq r2.w, r2.w
mul r8.xyz, r2.wwww, r8.xyzx
mul r10.xyz, r0.xyzx, r8.yyyy
mad r8.xyw, r8.xxxx, v0.xyxz, r10.xyxz
mad r8.xyz, r8.zzzz, v1.xyzx, r8.xywx
dp3 r2.w, r8.xyzx, r8.xyzx
rsq r2.w, r2.w
mul r10.xyz, r2.wwww, r8.xyzx
dp3 r7.w, r10.xyzx, r7.xyzx
dp2 r8.w, r10.xxxx, r7.wwww
mad r0.w, r4.x, r0.w, r8.w
round_pi_sat r8.w, v3.y
add r10.w, -cb8[39].w, cb8[39].z
mad r10.w, r8.w, r10.w, cb8[39].w
add r9.xy, -r1.zwzz, r9.xyxx
mad r1.zw, r8.wwww, r9.xxxy, r1.zzzw
log r6.w, r6.w
mul r6.w, r6.w, l(2.200000)
exp r6.w, r6.w
add r9.x, -cb8[40].y, cb8[40].x
mad r9.x, r8.w, r9.x, cb8[40].y
ld_indexable(texture2d)(float,float,float,float) r9.y, l(0, 0, 0, 0), t23.yxzw
ne r11.x, r9.y, l(0.000000)
mul r11.y, r9.y, l(0.033000)
movc r11.y, r11.x, r11.y, l(0.033000)
add r9.x, r9.x, r11.y
add r9.x, r9.x, l(-0.120000)
mul r6.w, r6.w, r9.x
mad r6.w, r6.w, l(10.000000), l(1.000000)
max r6.w, r6.w, l(0.100000)
div r1.zw, r1.zzzw, r6.wwww
add r1.zw, r1.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
div r6.w, l(0.500000), r6.w
add r1.zw, r1.zzzw, -r6.wwww
dp3 r6.w, r7.xyzx, v1.xyzx
add r9.x, r6.w, l(0.500000)
mul_sat r9.x, r9.x, l(0.800000)
mad r9.x, r9.x, l(17.000000), l(-20.000000)
mul r9.x, r4.w, r9.x
mad r9.x, r9.x, l(0.050000), l(-0.025000)
dp3 r12.x, v0.xyzx, r7.xyzx
dp3 r12.y, r0.xyzx, r7.xyzx
mad r0.xy, r12.xyxx, r9.xxxx, r1.zwzz
sample_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t25.xyzw, s1
mul r12.xyz, r6.wwww, v1.xyzx
mad r12.xyz, r12.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), -r7.xyzx
sample_b_indexable(texturecube)(float,float,float,float) r1.zw, r12.xyzx, t33.zwxy, s8, l(-3.000000)
add r12.xyz, r5.xyzx, -cb1[68].xyzx
dp3 r6.w, r12.xyzx, r12.xyzx
sqrt r9.x, r6.w
add r9.x, r9.x, l(-50.000000)
mul_sat r9.x, r9.x, l(0.005000)
add r9.x, -r9.x, l(1.000000)
mul r9.zw, r9.zzzw, l(0.000000, 0.000000, 1.500000, 1.500000)
dp2 r9.z, r9.zwzz, r9.zwzz
mul r11.yz, r11.zzwz, l(0.000000, 1.500000, 1.500000, 0.000000)
dp2 r9.w, r11.yzyy, r11.yzyy
min r9.zw, r9.zzzw, l(0.000000, 0.000000, 1.000000, 1.000000)
mad r9.z, -r9.z, r9.w, l(1.000000)
max r9.z, r9.z, l(0.000001)
log r9.z, r9.z
mul r9.zw, r9.zzzz, l(0.000000, 0.000000, 2.500000, 18.000000)
exp r9.zw, r9.zzzw
add r9.z, r9.z, l(-0.300000)
mul_sat r9.z, r9.z, l(3.500000)
mul r9.x, r9.z, r9.x
add r1.zw, r1.zzzw, l(0.000000, 0.000000, -1.000000, -0.000000)
mul r9.z, r1.w, r9.x
mad_sat r0.x, r9.x, r1.w, r0.x
max r0.x, r0.x, r10.w
mad r1.z, r9.x, r1.z, l(0.500000)
add_sat r1.z, r1.z, r1.z
mul r0.x, r0.x, r1.z
sample_indexable(texture2d)(float,float,float,float) r13.xyzw, v5.xyxx, t26.xyzw, s0
mul r11.y, r0.x, r13.x
mul_sat r11.y, r11.y, l(2.500000)
mul r14.xyz, cb6[25].xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
itof r11.zw, cb1[149].zzzw
mad r11.z, r11.w, l(4.656612873E-010), r11.z
mul r15.x, r11.z, l(16.000000)
mad r16.xyz, r11.zzzz, l(-0.040000, 0.030000, 0.075000, 0.000000), v4.xyzx
sample_indexable(texture3d)(float,float,float,float) r16.xyz, r16.xyzx, t34.xyzw, s9
dp3_sat r11.w, r16.xyzx, l(0.625000, 0.225000, 0.150000, 0.000000)
max r11.w, r11.w, l(0.000001)
mul r11.w, r11.w, r11.w
mul r12.w, r11.w, r11.w
mul r14.w, r11.w, r12.w
mad r16.x, r11.w, r12.w, l(-0.500000)
mul r16.y, r11.z, cb8[40].w
frc r16.y, r16.y
mul r16.zw, v5.xxxy, cb8[41].xxxx
mad r16.yz, r16.zzwz, l(0.000000, 2.000000, 2.000000, 0.000000), r16.yyyy
mad r16.xy, r16.xxxx, l(0.100000, 0.100000, 0.000000, 0.000000), r16.yzyy
sample_indexable(texture2d)(float,float,float,float) r16.xy, r16.xyxx, t27.xyzw, s0
max r16.z, r7.w, l(0.000000)
min r16.w, r16.z, l(1.000000)
add r17.x, -r16.w, l(1.000000)
mad r17.y, -r14.w, l(2.000000), l(0.500000)
mad r17.y, cb2[8].w, l(0.00285714283), r17.y
add r17.y, r17.y, l(1.000000)
max r17.z, r17.x, l(0.000001)
log r17.z, r17.z
mul r17.y, r17.z, r17.y
exp r17.y, r17.y
add r17.w, r17.y, r17.y
min r17.w, r17.w, l(1.000000)
mad r11.w, -r11.w, r12.w, l(1.000000)
mul r11.w, r11.w, r11.w
mul r11.w, r11.w, r17.z
exp r11.w, r11.w
mul r11.w, r11.w, r17.w
mul_sat r11.w, r11.w, cb8[41].y
mul r18.xyzw, v1.yyyy, cb2[5].yzxz
mad r18.xyzw, v1.xxxx, cb2[4].yzxz, r18.xyzw
mad r18.xyzw, v1.zzzz, cb2[6].yzxz, r18.xyzw
dp3 r12.w, r18.zxwz, cb8[9].xyzx
add r17.z, -|r12.w|, r12.w
mad_sat r12.w, cb8[42].y, r17.z, |r12.w|
add_sat r12.w, r12.w, cb8[43].z
mul r17.z, r11.w, r12.w
mad_sat r11.w, r11.w, r12.w, r16.x
max r11.w, r11.w, l(0.000001)
mul r11.w, r11.w, r11.w
mul r11.w, r11.w, r11.w
mul r11.w, r14.w, r11.w
mad r19.xyz, -cb6[25].xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), cb6[26].xyzx
mad r14.xyz, r11.wwww, r19.xyzx, r14.xyzx
mad r19.xy, r14.wwww, l(10.000000, 5.000000, 0.000000, 0.000000), l(4.000000, 3.000000, 0.000000, 0.000000)
add r11.w, r16.x, l(0.500000)
mul r11.w, r11.w, r19.x
mul r14.xyz, r11.wwww, r14.xyzx
mul r14.xyz, r17.zzzz, r14.xyzx
mad r11.w, cb2[8].w, l(0.00285714283), l(12.000000)
mad r11.w, r14.w, r11.w, r11.w
max r12.w, r16.w, l(0.000001)
log r12.w, r12.w
mul r11.w, r11.w, r12.w
exp r11.w, r11.w
add r11.w, r11.w, r11.w
min r11.w, r11.w, l(1.000000)
mul_sat r11.w, r11.w, cb8[43].w
mov r15.yw, l(0,0,0,1.000000)
mad r15.xy, v5.xyxx, l(0.001000, 0.000100, 0.000000, 0.000000), r15.xyxx
sample_indexable(texture2d)(float,float,float,float) r12.w, r15.xyxx, t28.yzwx, s0
max r12.w, |r12.w|, l(0.000001)
mul r12.w, r12.w, r12.w
mad r12.w, r12.w, r12.w, l(0.100000)
min r12.w, r12.w, l(1.000000)
mul r15.x, r11.w, r12.w
mad_sat r11.w, r11.w, r12.w, r16.y
max r11.w, r11.w, l(0.000001)
mul r11.w, r11.w, r11.w
mul r11.w, r11.w, r11.w
mul r11.w, r14.w, r11.w
add r19.xzw, -cb6[31].xxyz, cb6[32].xxyz
mad r19.xzw, r11.wwww, r19.xxzw, cb6[31].xxyz
dp3 r11.w, r19.xzwx, l(0.300000, 0.590000, 0.110000, 0.000000)
add r20.xyz, -r19.xzwx, r11.wwww
mad r19.xzw, r20.xxyz, l(-2.000000, 0.000000, -2.000000, -2.000000), r19.xxzw
max r11.w, |r16.y|, l(0.000001)
mul r11.w, r11.w, r11.w
mad r11.w, r11.w, l(5.000000), l(0.500000)
mul r11.w, r11.w, r14.w
mul r19.xzw, r11.wwww, r19.xxzw
mul r11.w, r15.x, l(50.000000)
mul r19.xzw, r11.wwww, r19.xxzw
max r14.xyz, r14.xyzx, r19.xzwx
mul r19.xzw, cb6[35].xxyz, l(0.200000, 0.000000, 0.200000, 0.200000)
mul r11.w, r11.z, cb8[44].y
frc r11.w, r11.w
mad r16.xy, v5.xyxx, cb8[41].xxxx, r11.wwww
sample_indexable(texture2d)(float,float,float,float) r20.xyz, r16.xyxx, t29.xyzw, s0
mad r21.xyz, r11.zzzz, l(0.250000, 0.250000, 0.250000, 0.000000), r20.xyzx
frc r22.xyz, r21.xyzx
add r21.xyz, r20.xyzx, r21.xyzx
add r23.xyz, r21.xyzx, l(0.025000, 0.025000, 0.025000, 0.000000)
frc r23.xyz, r23.xyzx
add r22.xyz, r22.xyzx, r23.xyzx
add r23.xyz, r21.xyzx, l(0.050000, 0.050000, 0.050000, 0.000000)
frc r23.xyz, r23.xyzx
add r22.xyz, r22.xyzx, r23.xyzx
add r23.xyz, r21.xyzx, l(0.075000, 0.075000, 0.075000, 0.000000)
frc r23.xyz, r23.xyzx
add r22.xyz, r22.xyzx, r23.xyzx
add r21.xyz, r21.xyzx, l(0.100000, 0.100000, 0.100000, 0.000000)
frc r21.xyz, r21.xyzx
add r21.xyz, r21.xyzx, r22.xyzx
mul r20.xyz, r20.xyzx, r21.xyzx
mul r11.zw, r20.yyyz, l(0.000000, 0.000000, 0.200000, 0.200000)
mul r12.w, r17.y, l(4.000000)
min r12.w, r12.w, l(1.000000)
mul r12.w, r12.w, cb8[41].w
dp3 r15.y, r18.zxwz, cb8[10].xyzx
add r16.x, -|r15.y|, r15.y
mad_sat r15.y, cb8[41].z, r16.x, |r15.y|
add_sat r15.y, r15.y, cb8[45].z
mul_sat r12.w, r12.w, r15.y
mad_sat r15.y, r20.x, l(0.200000), r12.w
max r15.y, r15.y, l(0.000001)
mul r15.y, r15.y, r15.y
mul r15.y, r15.y, r15.y
mul r14.w, r14.w, r15.y
mad r21.xyz, -cb6[35].xyzx, l(0.200000, 0.200000, 0.200000, 0.000000), cb6[36].xyzx
mad r19.xzw, r14.wwww, r21.xxyz, r19.xxzw
dp3 r14.w, r19.xzwx, l(0.300000, 0.590000, 0.110000, 0.000000)
add r21.xyz, -r19.xzwx, r14.wwww
mad r19.xzw, r21.xxyz, l(-0.250000, 0.000000, -0.250000, -0.250000), r19.xxzw
mad r20.xyz, r20.xyzx, l(0.200000, 0.200000, 0.200000, 0.000000), l(0.500000, 0.500000, 1.000000, 0.000000)
mul r14.w, r19.y, r20.x
mul r19.xyz, r14.wwww, r19.xzwx
mul r19.xyz, r12.wwww, r19.xyzx
max r14.xyz, r14.xyzx, r19.xyzx
mul r19.xyz, cb6[27].xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
max r11.z, |r11.z|, l(0.000001)
mul r11.z, r11.z, r11.z
mul r14.w, r17.y, cb8[42].y
dp3 r15.y, r18.zxwz, cb8[13].xyzx
add r16.x, -|r15.y|, r15.y
mad_sat r15.y, cb8[41].y, r16.x, |r15.y|
add_sat r15.y, r15.y, cb8[46].w
mul_sat r14.w, r14.w, r15.y
max r15.y, r14.w, l(0.000001)
mul r15.y, r15.y, r15.y
mad r11.z, r11.z, r11.z, r15.y
min r11.z, r11.z, l(1.000000)
mad r21.xyz, -cb6[27].xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), cb6[28].xyzx
mad r19.xyz, r11.zzzz, r21.xyzx, r19.xyzx
dp3 r11.z, r19.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
add r21.xyz, -r19.xyzx, r11.zzzz
add r19.xyz, r19.xyzx, -r21.xyzx
mul r16.xy, r20.yzyy, l(4.000000, 3.000000, 0.000000, 0.000000)
mul r19.xyz, r16.xxxx, r19.xyzx
mul r19.xyz, r14.wwww, r19.xyzx
max r14.xyz, r14.xyzx, r19.xyzx
mul r19.xyz, cb6[29].xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
mul r11.z, r17.w, cb8[41].z
dp3 r15.y, r18.zxwz, cb8[15].xyzx
add r16.x, -|r15.y|, r15.y
mad_sat r15.y, cb8[41].w, r16.x, |r15.y|
add_sat r15.y, r15.y, cb8[47].w
mul_sat r11.z, r11.z, r15.y
max r15.y, r11.z, l(0.000001)
mul r15.y, r15.y, r15.y
mad_sat r11.w, r15.y, r15.y, r11.w
mad r20.xyz, -cb6[29].xyzx, l(0.250000, 0.250000, 0.250000, 0.000000), cb6[30].xyzx
mad r19.xyz, r11.wwww, r20.xyzx, r19.xyzx
dp3 r11.w, r19.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
add r20.xyz, -r19.xyzx, r11.wwww
mad r19.xyz, r20.xyzx, l(-2.000000, -2.000000, -2.000000, 0.000000), r19.xyzx
mul r19.xyz, r16.yyyy, r19.xyzx
mul r19.xyz, r11.zzzz, r19.xyzx
max r14.xyz, r14.xyzx, r19.xyzx
sample_indexable(texture2d)(float,float,float,float) r19.xyz, v5.xyxx, t30.xyzw, s0
mad r20.xyz, r19.xyzx, cb8[17].xyzx, -r19.xyzx
mad r19.xyz, r13.wwww, r20.xyzx, r19.xyzx
add r20.xyz, cb8[20].xyzx, -cb8[21].xyzx
mad r20.xyz, cb8[48].xxxx, r20.xyzx, cb8[21].xyzx
add r21.xyz, -r20.xyzx, cb8[23].xyzx
mad r20.xyz, cb8[48].yyyy, r21.xyzx, r20.xyzx
add r21.xyz, -r20.xyzx, cb8[25].xyzx
mad r20.xyz, cb8[48].zzzz, r21.xyzx, r20.xyzx
dp3 r11.w, r19.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r20.xyz, r20.xyzx, r11.wwww, -r19.xyzx
mad r19.xyz, cb8[49].zzzz, r20.xyzx, r19.xyzx
mul r11.w, r0.y, l(3.000000)
mul r20.xyz, r0.yyyy, cb8[27].xyzx
mul r21.xyz, r20.xyzx, l(2.081616, 1.81148410, 1.302462, 0.000000)
mad r22.xyz, -r20.xyzx, l(2.081616, 1.81148410, 1.302462, 0.000000), cb8[20].xyzx
mad r22.xyz, cb8[49].wwww, r22.xyzx, r21.xyzx
add r23.xyz, -r22.xyzx, cb8[23].xyzx
mad r22.xyz, cb8[50].xxxx, r23.xyzx, r22.xyzx
add r23.xyz, -r22.xyzx, cb8[25].xyzx
mad r22.xyz, cb8[50].yyyy, r23.xyzx, r22.xyzx
mad r20.xyz, -r20.xyzx, l(2.081616, 1.81148410, 1.302462, 0.000000), cb8[30].xyzx
mad r20.xyz, cb8[49].wwww, r20.xyzx, r21.xyzx
add r21.xyz, -r20.xyzx, cb8[32].xyzx
mad r20.xyz, cb8[50].xxxx, r21.xyzx, r20.xyzx
add r21.xyz, -r20.xyzx, cb8[34].xyzx
mad r20.xyz, cb8[50].yyyy, r21.xyzx, r20.xyzx
add r20.xyz, -r22.xyzx, r20.xyzx
mad r20.xyz, r0.yyyy, r20.xyzx, r22.xyzx
round_pi r0.y, r4.w
add r4.w, -r10.w, l(1.000000)
mul r0.y, r0.y, r4.w
mad r21.xyz, r20.xyzx, r11.wwww, -r19.xyzx
mad r19.xyz, r0.yyyy, r21.xyzx, r19.xyzx
mul r1.z, r9.z, r1.z
mad r19.xyz, r19.xyzx, r0.xxxx, r1.zzzz
dp3 r1.z, cb2[2].xyzx, cb2[2].xyzx
sqrt r1.z, r1.z
mul r1.z, r1.z, cb8[50].z
mul r21.y, v3.y, cb8[50].w
mov r21.xz, cb8[51].xxyx
dp3_sat r4.w, v2.xyzx, r21.xyzx
mul r1.z, r1.z, r4.w
max r1.z, r1.z, l(0.000010)
div r3.xy, r3.xyxx, r3.wwww
mad r3.xy, r3.xyxx, cb1[67].xyxx, cb1[67].wzww
sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t22.xyzw, s7, l(0.000000)
ge r3.y, r3.x, l(0.875000)
mad r4.w, r3.x, l(8.000000), l(-7.000000)
movc r3.x, r3.y, r4.w, r3.x
mad r3.y, r3.x, cb1[65].x, cb1[65].y
mad r3.x, r3.x, cb1[65].z, -cb1[65].w
div r3.x, l(1.000000, 1.000000, 1.000000, 1.000000), r3.x
add r3.x, r3.x, r3.y
mad r3.x, -r3.z, l(1.000000), r3.x
div_sat r1.z, r3.x, r1.z
max r1.z, r1.z, l(0.000001)
mul r1.z, r1.z, r1.z
mul r1.z, r1.z, l(32.000000)
min r1.z, r1.z, l(1.000000)
mul r3.xyz, r1.zzzz, r19.xyzx
max r0.z, r0.z, r13.z
mul_sat r4.w, r0.z, l(5.000000)
mad r19.xyz, r4.wwww, l(-0.354166031, -0.042918, -0.0149149969, 0.000000), l(0.554166, 0.085750, 0.056156, 0.000000)
add r0.z, -r0.z, l(1.000000)
add r0.z, -r0.z, cb8[52].x
mul_sat r0.z, r0.z, l(2.500000)
mad r19.xyz, r3.xyzx, r19.xyzx, -r3.xyzx
mad r3.xyz, r0.zzzz, r19.xyzx, r3.xyzx
add r0.z, -cb8[52].z, cb8[52].y
mad r0.z, r8.w, r0.z, cb8[52].z
mul r0.y, r0.z, r0.y
mul r19.xyz, r0.yyyy, r3.xyzx
mul r19.xyz, r9.wwww, r19.xyzx
mad r0.y, -r9.x, r1.w, l(1.250000)
add r9.xz, -r13.wwyw, l(1.000000, 0.000000, 0.199999988, 0.000000)
mul r0.z, r9.x, cb8[52].w
mul r20.xyz, r0.zzzz, r20.xyzx
lt r0.z, l(0.000000), r8.w
itof r0.z, -r0.z
mad r21.xyz, r0.zzzz, l(0.000000, -0.250000, 0.000000, 0.000000), r7.xyzx
dp3 r0.z, r21.xyzx, r21.xyzx
sqrt r0.z, r0.z
div r21.xyz, r21.xyzx, r0.zzzz
dp3 r0.z, r21.xyzx, r10.xyzx
max r0.z, |r0.z|, l(0.000001)
log r0.z, r0.z
mul r0.z, r0.z, l(20.000000)
exp r0.z, r0.z
add r0.z, r0.z, l(0.020000)
mul r20.xyz, r0.zzzz, r20.xyzx
mad r19.xyz, r19.xyzx, r0.yyyy, r20.xyzx
mad r19.yzw, r3.xxyz, l(0.000000, 0.066000, 0.066000, 0.066000), r19.xxyz
max r14.xyz, r14.xyzx, r19.yzwy
itof r0.yz, cb1[150].xxyx
mad r20.y, r0.z, l(4.656612873E-010), r0.y
div r0.y, cb1[139].x, cb1[139].y
mul r2.x, r0.y, r2.y
mov r20.z, l(0)
mad r9.xw, r2.xxxz, l(144.000000, 0.000000, 0.000000, 144.000000), r20.zzzy
sample_indexable(texture2d)(float,float,float,float) r0.z, r9.xwxx, t31.xzyw, s0
max r0.z, |r0.z|, l(0.000001)
mul r1.w, r0.z, r0.z
mul r0.z, r0.z, r1.w
mul r0.z, r0.z, l(8.000000)
min r0.z, r0.z, l(1.000000)
mul_sat r0.w, r0.w, l(8.000000)
mad r0.w, r0.w, l(0.300000), l(0.100000)
add r1.w, -r16.z, l(1.000000)
mul r20.xw, r20.yyyy, l(0.519271493, 0.000000, 0.000000, 0.040000)
sincos r2.y, null, r20.x
add r2.y, |r2.y|, l(1.000000)
log r1.w, |r1.w|
mul r1.w, r1.w, r2.y
exp r1.w, r1.w
add r0.w, r0.w, r1.w
mad r0.z, r0.z, l(0.500000), r0.w
mul r16.xyz, r0.zzzz, l(0.000000, 0.500000, 1.000000, 0.000000)
mul r0.z, r6.y, cb2[5].z
mad r0.z, r6.x, cb2[4].z, r0.z
mad r0.z, r6.z, cb2[6].z, r0.z
mul r0.w, cb2[5].z, cb2[8].y
mad r0.w, cb2[8].x, cb2[4].z, r0.w
mad r0.w, cb2[8].z, cb2[6].z, r0.w
add r0.zw, r0.zzzw, cb2[7].zzzz
add r1.w, cb7[1].y, cb8[53].x
mad r0.y, r0.y, l(0.281249970), l(0.010000)
round_ni_sat r0.y, r0.y
mad r6.xy, r0.yyyy, l(-0.0500000119, 0.0499999523, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
mul r0.y, r1.w, r6.x
add r1.w, cb7[2].y, cb8[53].y
mad r1.w, r1.w, r6.y, -r0.y
mad r0.y, cb8[53].z, r1.w, r0.y
add r0.y, r0.y, r0.w
add r0.y, -r0.y, r0.z
mad r0.z, cb8[53].z, l(-0.0499999970), l(0.060000)
mul_sat r0.y, r0.z, r0.y
add r0.y, -r0.y, l(1.000000)
max r0.y, r0.y, l(0.000001)
log r0.y, r0.y
mul r0.y, r0.y, cb7[1].w
exp r0.y, r0.y
max r0.z, |r2.z|, l(0.000001)
log r0.z, r0.z
mul r0.z, r0.z, l(9.000000)
exp r0.z, r0.z
mul r0.z, r0.z, l(1024.000000)
min r0.yz, r0.yyzy, l(0.000000, 1.000000, 1.000000, 0.000000)
mul r0.y, r0.z, r0.y
mul r0.y, r0.y, cb8[54].y
max r0.y, r0.y, l(0.000000)
min r0.y, r0.y, l(0.250000)
mul r6.xyz, r0.yyyy, r16.xyzx
mul r6.xyz, r6.xyzx, cb7[1].zzzz
mad r6.xyz, cb8[54].zzzz, r6.xyzx, r14.xyzx
mul r6.xyz, r6.xyzx, r11.yyyy
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r9.y
add r0.z, r0.z, l(-1.000000)
mad r0.z, cb8[54].w, r0.z, l(1.000000)
movc r0.z, r11.x, r0.z, l(1.000000)
mad r6.xyz, r6.xyzx, r0.zzzz, cb8[37].xyzx
max r0.z, r12.w, r17.z
max r0.z, r14.w, r0.z
max r0.z, r11.z, r0.z
add r0.z, r0.z, l(0.500000)
min r0.z, r0.z, l(1.000000)
max r0.z, r15.x, r0.z
add r0.w, -r0.z, l(1.100000)
mad r9.xyw, r0.wwww, r3.xyxz, -r3.xyxz
mad r3.xyz, r0.zzzz, r9.xywx, r3.xyzx
mul r0.yzw, r0.yyyy, -r3.xxyz
mad r0.yzw, cb8[54].zzzz, r0.yyzw, r3.xxyz
add r0.yzw, r0.yyzw, -cb6[41].xxyz
mad_sat r0.yzw, r11.yyyy, r0.yyzw, cb6[41].xxyz
max r1.w, |r13.x|, l(0.000001)
dp2 r1.w, r1.wwww, r1.wwww
min r1.w, r1.w, l(1.000000)
mul r2.y, r1.w, cb8[55].x
mul r2.y, r0.x, r2.y
mad r1.z, r1.z, r2.y, -cb6[3].y
mad r1.z, r11.y, r1.z, cb6[3].y
mad r2.y, r0.x, r13.x, l(-0.550000)
mul_sat r2.y, r2.y, l(2.250000)
add r3.x, -r1.z, cb6[3].z
mad_sat r1.z, r2.y, r3.x, r1.z
mad_sat r3.x, r2.y, l(-0.100000), r13.y
eq r3.yz, cb8[55].zzzz, l(0.000000, 1.000000, 0.000000, 0.000000)
add r4.w, r5.z, -cb2[8].z
sample_indexable(texture2d)(float,float,float,float) r8.w, v5.xyxx, t32.xzwy, s0
mad r9.x, cb8[55].z, l(2.000000), l(-1.000000)
mul r9.x, r9.x, cb2[8].w
mul r9.x, r9.x, l(0.750000)
mad_sat r4.w, r4.w, r8.w, r9.x
movc r9.xy, r3.zzzz, l(0,-0.000000,0,0), l(1.000000,-1.000000,0,0)
add r3.z, r4.w, r9.y
mad r3.z, cb8[55].w, r3.z, r9.x
add r3.z, r3.z, l(-0.330000)
round_pi_sat r3.z, r3.z
movc r3.y, r3.y, l(1.000000), r3.z
mul r9.xyw, r5.yyyy, cb2[5].xyxz
mad r9.xyw, r5.xxxx, cb2[4].xyxz, r9.xyxw
mad r9.xyw, r5.zzzz, cb2[6].xyxz, r9.xyxw
add r14.xyz, r9.xywx, cb2[7].xyzx
lt r18.xyzw, |r18.xyzw|, |r18.zzxx|
and r9.xy, r18.ywyy, r18.xzxx
movc r14.w, r9.y, r14.z, r14.y
movc r9.xy, r9.xxxx, r14.yzyy, r14.xwxx
mul r9.xy, r9.xyxx, cb8[56].yyyy
mul r9.xy, r9.xyxx, l(0.010000, 0.010000, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r3.z, r9.xyxx, t32.xzyw, s0
mad r4.w, cb8[56].x, l(-1.100000), l(1.100000)
add_sat r3.z, r3.z, -r4.w
mul r3.z, r3.z, l(500.000000)
min r3.z, r3.z, l(1.000000)
mul r4.w, cb7[0].z, l(0.400000)
mul r8.w, cb2[5].z, cb2[10].y
mad r8.w, cb2[10].x, cb2[4].z, r8.w
mad r8.w, cb2[10].z, cb2[6].z, r8.w
add r8.w, r8.w, cb2[7].z
add r8.w, r8.w, cb7[0].x
add r8.w, r8.w, l(28.000000)
add r8.w, -r8.w, r14.z
mul_sat r4.w, r4.w, r8.w
dp2 r3.z, r4.wwww, r3.zzzz
mad r2.xz, r2.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000), r20.zzwz
sample_indexable(texture2d)(float,float,float,float) r2.x, r2.xzxx, t32.yxzw, s0
max r2.x, r2.x, cb7[1].x
min r2.x, r2.x, cb7[0].w
add r2.x, -r2.x, l(1.000000)
add r2.x, -r2.x, r3.z
mul_sat r2.x, r2.x, cb7[0].y
mad r2.x, cb8[56].z, r2.x, l(-0.330000)
round_pi_sat r2.x, r2.x
add r2.x, -r3.y, r2.x
mad_sat r14.w, cb8[54].z, r2.x, r3.y
max r2.x, r11.y, l(0.000001)
log r2.x, r2.x
mul r2.x, r2.x, l(2.200000)
exp r2.x, r2.x
mad r2.y, r2.y, l(0.500000), l(1.000000)
mul r2.x, r2.y, r2.x
min r2.x, r2.x, l(1.000000)
mad r2.y, r3.x, cb1[146].y, cb1[146].x
and r3.xy, cb1[150].zzzz, l(32, 128, 0, 0)
max r6.xyz, r6.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
movc r14.xyz, r3.xxxx, r6.xyzx, l(0,0,0,0)
mad r6.xyz, r5.xyzx, cb1[200].xyzx, cb1[201].xyzx
max r6.xyz, r6.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r6.xyz, r6.xyzx, l(0.990000, 0.990000, 0.990000, 0.000000)
mul r6.xyz, r6.xyzx, cb1[202].xyzx
ftoi r11.xyz, r6.xyzx
mov r11.w, l(0)
ld_indexable(texture3d)(uint,uint,uint,uint) r11.xyzw, r11.xyzw, t0.xyzw
utof r11.xyzw, r11.xyzw
add r2.z, cb1[202].w, l(1.000000)
div r6.xyz, r6.xyzx, r11.wwww
frc r6.xyz, r6.xyzx
mul r6.xyz, r6.xyzx, cb1[202].wwww
mad r6.xyz, r11.xyzx, r2.zzzz, r6.xyzx
add r6.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
mul r6.xyz, r6.xyzx, cb1[203].xyzx
lt r2.z, l(0.000000), cb2[11].w
if_nz r2.z
  sample_l_indexable(texture3d)(float,float,float,float) r15.z, r6.xyzx, t10.yzxw, s2, l(0.000000)
else
  lt r2.z, l(0.000000), cb2[11].z
  movc r15.z, r2.z, cb4[5].x, l(1.000000)
endif
mul_sat r2.z, r9.z, l(6.000000)
add_sat r3.x, r13.x, r13.x
mul r2.z, r2.z, r3.x
mul r2.z, r2.z, cb8[57].x
mul r1.w, r1.w, r2.z
mul r0.x, r0.x, r1.w
mul_sat r0.x, r0.x, r19.x
mov_sat r1.w, cb8[57].y
mul r1.z, r1.z, cb1[144].w
mad r9.xyz, r0.yzwy, cb1[143].wwww, cb1[143].xyzx
mad r11.xyz, r1.zzzz, l(0.080000, 0.080000, 0.080000, 0.000000), cb1[144].xyzx
lt r1.z, l(0.000000), cb2[19].w
if_nz r1.z
  mul r1.z, r17.x, r17.x
  mul r1.z, r1.z, r1.z
  mul r2.z, r17.x, r1.z
  mad r1.z, -r1.z, r17.x, l(1.000000)
  mad r1.z, r1.z, l(0.040000), r2.z
  mad r1.z, r0.x, -r1.z, l(1.000000)
  mul r0.yzw, r0.yyzw, r1.zzzz
  and r3.xz, cb1[150].zzzz, l(4, 0, 8, 0)
  sample_l_indexable(texture3d)(float,float,float,float) r13.xyz, r6.xyzx, t1.xyzw, s2, l(0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r16.xyz, r6.xyzx, t2.xyzw, s2, l(0.000000)
  mad r16.xyz, r16.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r17.xyz, r6.xyzx, t3.xyzw, s2, l(0.000000)
  mad r17.xyz, r17.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r18.xyz, r6.xyzx, t4.xyzw, s2, l(0.000000)
  mad r18.xyz, r18.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  mul r16.xyz, r13.xxxx, r16.xyzx
  mul r19.yzw, r16.xxyz, l(0.000000, 1.73205125, 1.73205125, 1.73205125)
  mul r16.xyz, r13.yyyy, r17.xyzx
  mul r17.yzw, r16.xxyz, l(0.000000, 1.73205125, 1.73205125, 1.73205125)
  mul r16.xyz, r13.zzzz, r18.xyzx
  mul r18.yzw, r16.xxyz, l(0.000000, 1.73205125, 1.73205125, 1.73205125)
  mov r19.x, r13.x
  movc r19.xyzw, r3.xxxx, r19.xyzw, l(0,0,0,0)
  mov r17.x, r13.y
  movc r17.xyzw, r3.xxxx, r17.xyzw, l(0,0,0,0)
  mov r18.x, r13.z
  movc r13.xyzw, r3.xxxx, r18.xyzw, l(0,0,0,0)
  sample_l_indexable(texture3d)(float,float,float,float) r16.xyz, r6.xyzx, t5.xyzw, s2, l(0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r18.xyz, r6.xyzx, t6.xyzw, s2, l(0.000000)
  mad r18.xyz, r18.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r20.xyz, r6.xyzx, t7.xyzw, s2, l(0.000000)
  mad r20.xyz, r20.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r21.xyz, r6.xyzx, t8.xyzw, s2, l(0.000000)
  mad r21.xyz, r21.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  mul r18.xyz, r16.xxxx, r18.xyzx
  mul r18.yzw, r18.xxyz, cb1[153].xxxx
  mul r20.xyz, r16.yyyy, r20.xyzx
  mul r20.yzw, r20.xxyz, cb1[153].yyyy
  mul r21.xyz, r16.zzzz, r21.xyzx
  mul r21.yzw, r21.xxyz, cb1[153].zzzz
  mov r18.x, r16.x
  mov r22.x, cb1[153].x
  mov r22.yzw, l(0,1.73205125,1.73205125,1.73205125)
  mad r18.xyzw, r18.xyzw, r22.xyzw, r19.xyzw
  mov r20.x, r16.y
  mov r22.x, cb1[153].y
  mov r22.yzw, l(0,1.73205125,1.73205125,1.73205125)
  mad r20.xyzw, r20.xyzw, r22.xyzw, r17.xyzw
  mov r21.x, r16.z
  mov r22.x, cb1[153].z
  mov r22.yzw, l(0,1.73205125,1.73205125,1.73205125)
  mad r21.xyzw, r21.xyzw, r22.xyzw, r13.xyzw
  movc r18.xyzw, r3.zzzz, r18.xyzw, r19.xyzw
  movc r17.xyzw, r3.zzzz, r20.xyzw, r17.xyzw
  movc r13.xyzw, r3.zzzz, r21.xyzw, r13.xyzw
  mul r19.yzw, r10.yyzx, l(0.000000, -1.02332771, 1.02332771, -1.02332771)
  mov r19.x, l(0.886227548)
  dp4 r16.x, r18.xyzw, r19.xyzw
  dp4 r16.y, r17.xyzw, r19.xyzw
  dp4 r16.z, r13.xyzw, r19.xyzw
  max r13.xyz, r16.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r13.xyz, r13.xyzx, cb1[165].xyzx
  mul r16.xyz, r13.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
  if_nz cb0[26].w
    lt r1.z, l(0.000000), cb1[174].y
    if_nz r1.z
      sample_l_indexable(texture3d)(float,float,float,float) r17.xyzw, r6.xyzx, t9.xyzw, s2, l(0.000000)
      mad r6.xyz, r17.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
      dp3 r1.z, r6.xyzx, r6.xyzx
      rsq r1.z, r1.z
      mul r6.xyz, r1.zzzz, r6.xyzx
      dp3 r1.z, r10.xyzx, r6.xyzx
      div r1.z, r1.z, cb1[204].x
      add_sat r1.z, r1.z, cb1[204].z
      add r2.z, r1.z, l(-1.000000)
      mad r2.z, cb1[204].y, r2.z, l(1.000000)
      mul r15.x, r2.z, r17.w
      add r17.xyz, r6.xyzx, r6.xyzx
      mad r6.xyz, r1.zzzz, r17.xyzx, -r6.xyzx
      mad r1.z, -r17.w, r2.z, l(1.000000)
      mad r1.z, -r1.z, r1.z, l(1.000000)
      mad r8.xyz, r8.xyzx, r2.wwww, -r6.xyzx
      mad r8.xyz, r1.zzzz, r8.xyzx, r6.xyzx
      dp3_sat r2.z, r6.xyzx, r10.xyzx
      add r2.w, -r2.z, l(1.000000)
      mad r15.y, r1.z, r2.w, r2.z
    else
      mov r8.xyz, r10.xyzx
      mov r15.xy, l(1.000000,1.000000,0,0)
    endif
    and r1.z, cb1[150].z, l(16)
    ld_indexable(buffer)(uint,uint,uint,uint) r2.z, l(12, 12, 12, 12), t20.yzxw
    ld_indexable(buffer)(uint,uint,uint,uint) r17.y, l(13, 13, 13, 13), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r17.z, l(14, 14, 14, 14), t20.yzxw
    ld_indexable(buffer)(uint,uint,uint,uint) r17.w, l(15, 15, 15, 15), t20.yzwx
    ld_indexable(buffer)(uint,uint,uint,uint) r2.w, l(16, 16, 16, 16), t20.yzwx
    ld_indexable(buffer)(uint,uint,uint,uint) r18.y, l(17, 17, 17, 17), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r18.z, l(18, 18, 18, 18), t20.yzxw
    ld_indexable(buffer)(uint,uint,uint,uint) r18.w, l(19, 19, 19, 19), t20.yzwx
    ld_indexable(buffer)(uint,uint,uint,uint) r3.x, l(20, 20, 20, 20), t20.xyzw
    ld_indexable(buffer)(uint,uint,uint,uint) r19.y, l(21, 21, 21, 21), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r19.z, l(22, 22, 22, 22), t20.yzxw
    ld_indexable(buffer)(uint,uint,uint,uint) r19.w, l(23, 23, 23, 23), t20.yzwx
    ld_indexable(buffer)(uint,uint,uint,uint) r20.x, l(24, 24, 24, 24), t20.xyzw
    ld_indexable(buffer)(uint,uint,uint,uint) r20.y, l(25, 25, 25, 25), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r20.z, l(26, 26, 26, 26), t20.yzxw
    ld_indexable(buffer)(uint,uint,uint,uint) r20.w, l(27, 27, 27, 27), t20.yzwx
    ld_indexable(buffer)(uint,uint,uint,uint) r21.x, l(28, 28, 28, 28), t20.xyzw
    ld_indexable(buffer)(uint,uint,uint,uint) r21.y, l(29, 29, 29, 29), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r21.z, l(30, 30, 30, 30), t20.yzxw
    ld_indexable(buffer)(uint,uint,uint,uint) r21.w, l(31, 31, 31, 31), t20.yzwx
    ld_indexable(buffer)(uint,uint,uint,uint) r22.x, l(32, 32, 32, 32), t20.xyzw
    ld_indexable(buffer)(uint,uint,uint,uint) r22.y, l(33, 33, 33, 33), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r22.z, l(34, 34, 34, 34), t20.yzxw
    ld_indexable(buffer)(uint,uint,uint,uint) r22.w, l(35, 35, 35, 35), t20.yzwx
    ld_indexable(buffer)(uint,uint,uint,uint) r6.x, l(36, 36, 36, 36), t20.xyzw
    ld_indexable(buffer)(uint,uint,uint,uint) r6.y, l(37, 37, 37, 37), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r6.z, l(38, 38, 38, 38), t20.yzxw
    mad r17.x, r20.z, l(-0.333333343), r2.z
    mad r18.x, r21.z, l(-0.333333343), r2.w
    mad r19.x, r22.z, l(-0.333333343), r3.x
    mov r8.w, l(1.000000)
    dp4 r17.x, r17.wyzx, r8.xyzw
    dp4 r17.y, r18.wyzx, r8.xyzw
    dp4 r17.z, r19.wyzx, r8.xyzw
    mul r18.xyzw, r8.yzzx, r8.xyzz
    dp4 r19.x, r20.xyzw, r18.xyzw
    dp4 r19.y, r21.xyzw, r18.xyzw
    dp4 r19.z, r22.xyzw, r18.xyzw
    mul r2.z, r8.y, r8.y
    mad r2.z, r8.x, r8.x, -r2.z
    add r8.xyz, r17.xyzx, r19.xyzx
    mad r6.xyz, r6.xyzx, r2.zzzz, r8.xyzx
    max r6.xyz, r6.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    mul r6.xyz, r6.xyzx, cb1[174].zzzz
    mul r2.z, r15.y, r15.x
    mul r6.xyz, r2.zzzz, r6.xyzx
    movc r6.xyz, r1.zzzz, r6.xyzx, l(0,0,0,0)
    mad r16.xyz, r13.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r6.xyzx
  endif
  dp3 r1.z, r4.xyzx, r4.xyzx
  sqrt r1.z, r1.z
  mad_sat r1.z, r1.z, cb2[13].x, cb2[13].y
  mad r2.z, r1.z, l(-2.000000), l(3.000000)
  mul r1.z, r1.z, r1.z
  mul r1.z, r1.z, r2.z
  min r1.z, r1.z, l(1.000000)
  mad r1.z, r1.z, cb2[13].z, cb2[13].w
  mul r4.xyz, r1.zzzz, r16.xyzx
  dp3 r1.z, r4.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
  mul r4.xyz, r4.xyzx, cb2[19].wwww
  mul r1.z, r1.z, cb2[19].w
  mul r4.xyz, r9.xyzx, r4.xyzx
  mad r6.xyz, r0.yzwy, l(2.040400, 2.040400, 2.040400, 0.000000), l(-0.332400, -0.332400, -0.332400, 0.000000)
  mad r8.xyz, r0.yzwy, l(-4.795100, -4.795100, -4.795100, 0.000000), l(0.641700, 0.641700, 0.641700, 0.000000)
  mad r0.yzw, r0.yyzw, l(0.000000, 2.755200, 2.755200, 2.755200), l(0.000000, 0.690300, 0.690300, 0.690300)
  mad r6.xyz, r2.xxxx, r6.xyzx, r8.xyzx
  mad r0.yzw, r6.xxyz, r2.xxxx, r0.yyzw
  mul r0.yzw, r2.xxxx, r0.yyzw
  max r0.yzw, r0.yyzw, r2.xxxx
  mul r0.yzw, r0.yyzw, r4.xxyz
else
  mov r0.yzw, l(0,0,0,0)
  mov r1.z, l(0)
endif
ftou r1.xy, r1.xyxx
mad r2.z, v8.w, cb3[3].x, cb3[3].y
log r2.z, r2.z
mul r2.z, r2.z, cb3[3].z
max r2.z, r2.z, l(0.000000)
ftou r2.z, r2.z
iadd r2.w, cb3[1].z, l(-1)
umin r2.z, r2.w, r2.z
ushr r1.xy, r1.xyxx, cb3[2].xxxx
imad r1.y, r2.z, cb3[1].y, r1.y
imad r1.x, r1.y, cb3[1].x, r1.x
if_nz cb3[0].z
  and r4.xyzw, cb3[6].xxxx, l(255, 2, 4, 8)
  movc r4.xyzw, r4.xyzw, l(1,1.000000,1.000000,1.000000), l(0,0,0,0)
  if_nz cb3[30].y
    mul r8.xyzw, r5.yyyy, cb3[33].xyzw
    mad r8.xyzw, r5.xxxx, cb3[32].xyzw, r8.xyzw
    mad r8.xyzw, r5.zzzz, cb3[34].xyzw, r8.xyzw
    add r8.xyzw, r8.xyzw, cb3[35].xyzw
    div r2.zw, r8.xxxy, r8.wwww
    ge r3.xz, r2.zzwz, l(0.000000, 0.000000, 0.000000, 0.000000)
    ge r6.xy, l(1.000000, 1.000000, 0.000000, 0.000000), r2.zwzz
    and r3.xz, r3.xxzx, r6.xxyx
    and r1.y, r3.z, r3.x
    if_nz r1.y
      sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.zwzz, t12.yxzw, s4, l(0.000000)
      lt r2.z, r8.z, r1.y
      lt r1.y, l(0.990000), r1.y
      or r1.y, r1.y, r2.z
      and r8.x, r1.y, l(0x3f800000)
    else
      mov r8.x, l(1.000000)
    endif
  else
    mov r8.x, l(1.000000)
  endif
  if_nz cb3[7].x
    mov r1.y, cb3[7].x
    mov r2.z, l(0)
    loop
      uge r2.w, r2.z, cb3[7].x
      breakc_nz r2.w
      dp4 r2.w, cb3[8].xyzw, icb[r2.z + 0].xyzw
      lt r2.w, r3.w, r2.w
      if_nz r2.w
        mov r1.y, r2.z
        break
      endif
      iadd r2.z, r2.z, l(1)
    endloop
    ult r2.z, r1.y, cb3[7].x
    if_nz r2.z
      ishl r2.z, r1.y, l(2)
      mul r13.xyzw, r5.yyyy, cb3[r2.z + 10].xyzw
      mad r13.xyzw, r5.xxxx, cb3[r2.z + 9].xyzw, r13.xyzw
      mad r13.xyzw, r5.zzzz, cb3[r2.z + 11].xyzw, r13.xyzw
      add r13.xyzw, r13.xyzw, cb3[r2.z + 12].xyzw
      div r17.xyzw, r13.xyxy, r13.wwww
      ge r2.zw, r17.zzzw, cb3[r1.y + 25].xxxy
      ge r3.xz, cb3[r1.y + 25].zzwz, r17.zzwz
      and r2.zw, r2.zzzw, r3.xxxz
      and r1.y, r2.w, r2.z
      if_nz r1.y
        mad r17.xyzw, r17.xyzw, cb3[29].xyxy, l(-0.500000, -0.500000, -0.500000, -0.500000)
        frc r2.zw, r17.zzzw
        round_ni r17.xyzw, r17.xyzw
        add r18.xyzw, r17.zwzw, l(0.500000, 1.500000, 0.500000, 0.500000)
        mul r18.xyzw, r18.xyzw, cb3[29].zwzw
        sample_l_indexable(texture2d)(float,float,float,float) r19.x, r18.xyxx, t11.xyzw, s3, l(0.000000)
        add r17.xyzw, r17.xyzw, l(1.500000, 1.500000, 1.500000, 0.500000)
        mul r17.xyzw, r17.xyzw, cb3[29].zwzw
        sample_l_indexable(texture2d)(float,float,float,float) r19.y, r17.xyxx, t11.yxzw, s3, l(0.000000)
        sample_l_indexable(texture2d)(float,float,float,float) r19.z, r17.zwzz, t11.yzxw, s3, l(0.000000)
        sample_l_indexable(texture2d)(float,float,float,float) r19.w, r18.zwzz, t11.yzwx, s3, l(0.000000)
        add r13.xyzw, -r13.zzzz, r19.xyzw
        mad_sat r13.xyzw, r13.xyzw, l(4000.000000, 4000.000000, 4000.000000, 4000.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
        add r3.xz, -r13.wwxw, r13.zzyz
        mad r3.xz, r2.zzzz, r3.xxzx, r13.wwxw
        add r1.y, -r3.x, r3.z
        mad r1.y, r2.w, r1.y, r3.x
      else
        mov r1.y, l(1.000000)
      endif
    else
      mov r1.y, l(1.000000)
    endif
  else
    mov r1.y, l(1.000000)
  endif
  if_nz r4.x
    mov r4.x, l(1.000000)
    dp4 r2.z, l(1.000000, 1.000000, 1.000000, 1.000000), r4.xyzw
    mov r8.yzw, r4.yyzw
    dp4 r2.w, r8.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
    add r2.w, r2.w, l(-1.000000)
    mad r2.z, r2.z, r2.w, l(1.000000)
    mad_sat r2.w, r3.w, cb3[6].z, cb3[6].w
    mul r2.w, r2.w, r2.w
    add r2.z, -r1.y, r2.z
    mad r4.x, r2.w, r2.z, r1.y
    min r4.y, r4.x, l(1.000000)
  else
    mov r4.xy, l(1.000000,1.000000,0,0)
  endif
  add r1.y, r4.y, r4.x
  lt r1.y, l(0.000000), r1.y
  if_nz r1.y
    dp3 r1.y, cb3[4].xyzx, cb3[4].xyzx
    rsq r1.y, r1.y
    mul r3.xzw, r1.yyyy, cb3[4].xxyz
    dp3 r1.y, r10.xyzx, r3.xzwx
    mov_sat r2.z, r1.y
    max r2.w, r2.y, l(0.020000)
    max r4.y, r1.w, l(0.020000)
    dp3 r3.x, r7.xyzx, r3.xzwx
    mad r3.z, r3.x, l(2.000000), l(2.000000)
    rsq r3.z, r3.z
    add r1.y, r7.w, r1.y
    mul_sat r6.x, r3.z, r1.y
    mad_sat r6.y, r3.z, r3.x, r3.z
    add r1.y, |r7.w|, l(0.000010)
    min r1.y, r1.y, l(1.000000)
    add r3.x, -r6.y, l(1.000000)
    mul r3.z, r3.x, r3.x
    mul r3.z, r3.z, r3.z
    mul r3.w, r3.x, r3.z
    mad r3.x, -r3.z, r3.x, l(1.000000)
    mad r3.z, r3.x, l(0.040000), r3.w
    mul r4.z, r0.x, r3.z
    mul r4.y, r4.y, r4.y
    mul r4.y, r4.y, r4.y
    mad r4.w, r6.x, r4.y, -r6.x
    mad r4.w, r4.w, r6.x, l(1.000000)
    mul r4.w, r4.w, r4.w
    mul r4.w, r4.w, l(3.14159274)
    div r4.y, r4.y, r4.w
    mul r4.w, r6.y, r6.y
    mad r4.w, r4.w, l(4.000000), l(0.000010)
    rcp r4.w, r4.w
    mul r4.y, r2.z, r4.y
    mul r4.y, r4.w, r4.y
    mad r3.z, -r3.z, r0.x, l(1.000000)
    mul r3.z, r2.z, r3.z
    mul r8.yzw, r3.zzzz, r9.xxyz
    mul r4.w, r2.w, r2.w
    mul r6.y, r4.w, r4.w
    mad r6.z, r6.x, r6.y, -r6.x
    mad r6.x, r6.z, r6.x, l(1.000000)
    mul r6.x, r6.x, r6.x
    mul r6.x, r6.x, l(3.14159274)
    div r6.x, r6.y, r6.x
    mad r2.w, -r2.w, r2.w, l(1.000000)
    mad r6.y, r1.y, r2.w, r4.w
    mad r2.w, r2.z, r2.w, r4.w
    mul r1.y, r1.y, r2.w
    mad r1.y, r2.z, r6.y, r1.y
    rcp r1.y, r1.y
    mul r1.y, r1.y, r6.x
    mul_sat r2.z, r11.y, l(50.000000)
    mul r6.xyz, r11.xyzx, r3.xxxx
    mad r6.xyz, r2.zzzz, r3.wwww, r6.xyzx
    mul r1.y, r1.y, l(0.500000)
    mul r6.xyz, r6.xyzx, r1.yyyy
    mul r3.xzw, r3.zzzz, r6.xxyz
    mad r3.xzw, r4.yyyy, r4.zzzz, r3.xxzw
    mad r3.xzw, r8.yyzw, l(0.318309873, 0.000000, 0.318309873, 0.318309873), r3.xxzw
    mul r4.xyz, r4.xxxx, cb3[5].xyzx
    mul r3.xzw, r3.xxzw, r4.xxyz
  else
    mov r3.xzw, l(0,0,0,0)
  endif
  ushr r1.y, cb3[6].x, l(8)
  and r1.y, r1.y, cb2[18].w
  movc r3.xzw, r1.yyyy, r3.xxzw, l(0,0,0,0)
  mov r15.z, r8.x
else
  mov r3.xzw, l(0,0,0,0)
endif
ishl r1.y, r1.x, l(1)
ld_indexable(buffer)(uint,uint,uint,uint) r1.y, r1.yyyy, t14.yxzw
umin r1.y, r1.y, cb3[0].x
bfi r2.z, l(31), l(1), r1.x, l(1)
ld_indexable(buffer)(uint,uint,uint,uint) r2.z, r2.zzzz, t14.yzxw
umin r1.y, r1.y, cb3[0].x
dp3 r2.w, -r7.xyzx, r10.xyzx
add r2.w, r2.w, r2.w
mad r4.xyz, r10.xyzx, -r2.wwww, -r7.xyzx
max r2.w, r2.y, l(0.020000)
mul r4.w, r2.w, r2.w
mad r2.w, -r2.w, r2.w, l(1.000000)
max r1.w, r1.w, l(0.020000)
mov r6.y, |r7.w|
add r6.z, r7.w, r7.w
mad r8.x, r6.z, r7.w, l(-1.000000)
add r8.y, r6.y, l(0.000010)
min r8.y, r8.y, l(1.000000)
mul r1.w, r1.w, r1.w
mul r8.z, r1.w, r1.w
mul r13.xyz, r9.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
mul r8.w, r4.w, r4.w
mul r9.w, r11.y, l(50.000000)
mov_sat r9.w, r9.w
mov r17.yw, l(0,1.000000,0,1.000000)
mov r6.x, l(1.000000)
mov r16.xyz, r3.xzwx
mov r10.w, l(0)
loop
  uge r11.w, r10.w, r1.y
  breakc_nz r11.w
  iadd r11.w, r2.z, r10.w
  ld_indexable(buffer)(uint,uint,uint,uint) r11.w, r11.wwww, t15.yzwx
  imul null, r12.w, r11.w, l(9)
  ld_indexable(buffer)(float,float,float,float) r18.xyzw, r12.wwww, t13.xyzw
  imad r19.xyz, r11.wwww, l(9, 9, 9, 0), l(1, 2, 3, 0)
  ld_indexable(buffer)(float,float,float,float) r20.xyzw, r19.xxxx, t13.xyzw
  ld_indexable(buffer)(float,float,float,float) r21.xyzw, r19.yyyy, t13.xyzw
  ld_indexable(buffer)(float,float,float,float) r19.xyzw, r19.zzzz, t13.xyzw
  lt r12.w, r18.w, l(0.000000)
  eq r13.w, r20.w, l(0.000000)
  lt r15.x, l(-2.000000), r19.x
  add r18.xyz, -r5.xyzx, r18.xyzx
  dp3 r15.y, r18.xyzx, r18.xyzx
  rsq r22.x, r15.y
  mul r22.xyz, r18.xyzx, r22.xxxx
  mul r22.w, |r18.w|, |r18.w|
  mul r15.y, r15.y, r22.w
  mad r15.y, -r15.y, r15.y, l(1.000000)
  max r15.y, r15.y, l(0.000000)
  mul r15.y, r15.y, r15.y
  mul r23.xyz, |r18.wwww|, r18.xyzx
  dp3 r18.w, r23.xyzx, r23.xyzx
  min r18.w, r18.w, l(1.000000)
  add r18.w, -r18.w, l(1.000000)
  log r18.w, r18.w
  mul r18.w, r18.w, r20.w
  exp r18.w, r18.w
  movc r15.y, r13.w, r15.y, r18.w
  dp3 r18.w, r22.xyzx, r21.xyzx
  add r18.w, -r19.x, r18.w
  mul_sat r18.w, r19.y, r18.w
  mul r18.w, r18.w, r18.w
  mul r18.w, r15.y, r18.w
  movc r15.x, r15.x, r18.w, r15.y
  if_nz r12.w
    imad r22.xyzw, r11.wwww, l(9, 9, 9, 9), l(5, 6, 7, 8)
    ld_indexable(buffer)(float,float,float,float) r21.xyz, r22.xxxx, t13.xyzw
    ld_indexable(buffer)(float,float,float,float) r23.xyzw, r22.yyyy, t13.xyzw
    ld_indexable(buffer)(float,float,float,float) r24.xyzw, r22.zzzz, t13.xyzw
    ld_indexable(buffer)(float,float,float,float) r22.xyzw, r22.wwww, t13.xyzw
    add r21.xyz, r5.xyzx, -r21.xyzx
    dp3 r12.w, r21.xyzx, r23.xyzx
    dp3 r15.y, r21.xyzx, r24.xyzx
    dp3 r18.w, r21.xyzx, r22.xyzx
    mad_sat r12.w, r23.w, |r12.w|, -r23.w
    mad_sat r15.y, r24.w, |r15.y|, -r24.w
    mad_sat r18.w, r22.w, |r18.w|, -r22.w
    mad r19.x, r12.w, l(-2.000000), l(3.000000)
    mul r12.w, r12.w, r12.w
    mul r12.w, r12.w, r19.x
    mul r12.w, r12.w, r15.x
    mad r19.x, r15.y, l(-2.000000), l(3.000000)
    mul r15.y, r15.y, r15.y
    mul r15.y, r15.y, r19.x
    mul r12.w, r12.w, r15.y
    mad r15.y, r18.w, l(-2.000000), l(3.000000)
    mul r18.w, r18.w, r18.w
    mul r15.y, r15.y, r18.w
    mul r15.x, r12.w, r15.y
  endif
  lt r12.w, l(0.000000), r15.x
  if_nz r12.w
    and r12.w, r21.w, l(255)
    movc r12.w, r12.w, l(1), l(0)
    if_nz r12.w
      and r22.xyzw, r21.wwww, l(1, 2, 4, 8)
      movc r22.xyzw, r22.xyzw, l(1.000000,1.000000,1.000000,1.000000), l(0,0,0,0)
      ushr r12.w, r21.w, l(4)
      ubfe r15.y, l(1), l(4), r21.w
      movc r23.x, r15.y, l(1.000000), l(0)
      and r21.xyz, r12.wwww, l(2, 4, 8, 0)
      movc r23.yzw, r21.xxyz, l(0,1.000000,1.000000,1.000000), l(0,0,0,0)
      dp4 r12.w, r23.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
      dp4 r15.y, r22.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
      dp4 r18.w, r15.zwww, r22.xyzw
      add r18.w, r18.w, l(-1.000000)
      mad r15.y, r15.y, r18.w, l(1.000000)
      mul r19.xy, r12.wwww, r15.yyyy
    else
      mov r19.xy, l(1.000000,1.000000,0,0)
    endif
    add r12.w, r19.y, r19.x
    lt r12.w, l(0.000000), r12.w
    if_nz r12.w
      imad r11.w, r11.w, l(9), l(4)
      ld_indexable(buffer)(float,float,float,float) r22.xyzw, r11.wwww, t13.xyzw
      f16tof32 r11.w, r19.w
      mul r12.w, r11.w, l(0.500000)
      mad r21.xyz, -r12.wwww, r22.xyzx, r18.xyzx
      mad r18.xyz, r12.wwww, r22.xyzx, r18.xyzx
      lt r12.w, l(0.000000), r11.w
      if_nz r12.w
        dp3 r15.y, r21.xyzx, r21.xyzx
        dp3 r18.w, r18.xyzx, r18.xyzx
        rsq r15.y, r15.y
        rsq r18.w, r18.w
        mul r19.y, r15.y, r18.w
        dp3 r19.w, r21.xyzx, r18.xyzx
        mul r19.w, r19.y, r19.w
        mad r20.w, r19.w, l(0.500000), r19.y
        add r20.w, r20.w, l(0.500000)
        div r22.y, r19.y, r20.w
        dp3 r19.y, r10.xyzx, r21.xyzx
        dp3 r20.w, r10.xyzx, r18.xyzx
        mul r18.w, r18.w, r20.w
        mad r15.y, r19.y, r15.y, r18.w
        mul r22.x, r15.y, l(0.500000)
      else
        dp3 r15.y, r21.xyzx, r21.xyzx
        add r18.w, r15.y, l(1.000000)
        rcp r22.y, r18.w
        rsq r15.y, r15.y
        mul r23.xyz, r15.yyyy, r21.xyzx
        dp3 r22.x, r10.xyzx, r23.xyzx
        mov r19.w, l(1.000000)
      endif
      lt r15.y, l(0.000000), r19.z
      mul r18.w, r19.z, r19.z
      mul_sat r18.w, r22.y, r18.w
      sqrt r18.w, r18.w
      lt r19.y, r22.x, r18.w
      max r20.w, -r18.w, r22.x
      add r20.w, r18.w, r20.w
      mul r20.w, r20.w, r20.w
      mul r18.w, r18.w, l(4.000000)
      div r18.w, r20.w, r18.w
      movc r18.w, r19.y, r18.w, r22.x
      movc_sat r15.y, r15.y, r18.w, r22.x
      movc r13.w, r13.w, r22.y, l(1.000000)
      add r18.xyz, -r21.xyzx, r18.xyzx
      dp3 r18.w, r4.xyzx, r18.xyzx
      mad r22.xyz, r18.wwww, r4.xyzx, -r18.xyzx
      dp3 r19.y, r21.xyzx, r22.xyzx
      mul r18.w, r18.w, r18.w
      mad r11.w, r11.w, r11.w, -r18.w
      div_sat r11.w, r19.y, r11.w
      mad r18.xyz, r11.wwww, r18.xyzx, r21.xyzx
      movc r18.xyz, r12.wwww, r18.xyzx, r21.xyzx
      dp3 r11.w, r18.xyzx, r18.xyzx
      rsq r11.w, r11.w
      mul r18.xyz, r11.wwww, r18.xyzx
      mul r12.w, r11.w, r19.z
      mul_sat r12.w, r2.w, r12.w
      mul_sat r11.w, r11.w, r22.w
      dp3 r18.w, r10.xyzx, r18.xyzx
      dp3 r18.x, r7.xyzx, r18.xyzx
      mad r18.y, r18.x, l(2.000000), l(2.000000)
      rsq r18.y, r18.y
      add r18.z, r7.w, r18.w
      mul_sat r21.x, r18.y, r18.z
      mad_sat r21.y, r18.y, r18.x, r18.y
      lt r18.y, l(0.000000), r12.w
      if_nz r18.y
        mad r18.z, -r12.w, r12.w, l(1.000000)
        sqrt r18.z, r18.z
        dp2 r19.y, r7.wwww, r18.wwww
        add r19.z, -r18.x, r19.y
        ge r20.w, r19.z, r18.z
        if_nz r20.w
          mov r21.xy, r6.xyxx
        else
          mad r20.w, -r19.z, r19.z, l(1.000000)
          rsq r20.w, r20.w
          mul r20.w, r12.w, r20.w
          mad r21.z, -r19.z, r18.w, r7.w
          mul r22.x, r20.w, r21.z
          mad r19.z, -r19.z, r18.x, r8.x
          mul r22.y, r18.w, r18.w
          mad r22.y, -r7.w, r7.w, -r22.y
          add r22.y, r22.y, l(1.000000)
          mad r22.y, -r18.x, r18.x, r22.y
          mad_sat r19.y, r19.y, r18.x, r22.y
          sqrt r19.y, r19.y
          mul r19.yz, r19.yyzy, r20.wwww
          mul r22.y, r7.w, r19.y
          add r22.z, r22.y, r22.y
          mad r22.w, r18.w, r18.z, r7.w
          mad r20.w, r20.w, r21.z, r22.w
          mad r21.z, r18.x, r18.z, r19.z
          add r21.z, r21.z, l(1.000000)
          mul r23.x, r19.y, r21.z
          mul r23.y, r20.w, r21.z
          mul r23.z, r20.w, r22.z
          mul r22.y, r22.y, r20.w
          mul r22.y, r22.y, l(0.500000)
          mad r22.y, r23.x, l(-0.500000), r22.y
          mul r22.y, r22.y, r23.y
          mad r23.w, -r23.x, l(2.000000), r23.z
          mul r23.z, r23.w, r23.z
          mad r23.x, r23.x, r23.x, r23.z
          mul r23.z, r21.z, r21.z
          mad r21.z, r18.x, r18.z, r21.z
          mad r21.z, r21.z, l(-0.500000), l(-0.500000)
          mul r21.z, r21.z, r23.y
          mad r21.z, r22.w, r23.z, r21.z
          mad r20.w, r20.w, r21.z, r23.x
          add r21.z, r22.y, r22.y
          mul r22.w, r22.y, r22.y
          mad r22.w, r20.w, r20.w, r22.w
          div r21.z, r21.z, r22.w
          mul r20.w, r20.w, r21.z
          mad r21.z, -r21.z, r22.y, l(1.000000)
          mul r19.y, r19.y, r20.w
          mad r19.y, r21.z, r22.x, r19.y
          mul r20.w, r22.z, r20.w
          mad r19.z, r21.z, r19.z, r20.w
          mad r18.w, r18.w, r18.z, r19.y
          mad r18.x, r18.x, r18.z, r19.z
          mad r18.z, r18.x, l(2.000000), l(2.000000)
          rsq r18.z, r18.z
          add r18.w, r7.w, r18.w
          mul_sat r21.x, r18.z, r18.w
          mad_sat r21.y, r18.z, r18.x, r18.z
        endif
      endif
      add r18.x, -r21.y, l(1.000000)
      mul r18.z, r18.x, r18.x
      mul r18.z, r18.z, r18.z
      mul r18.w, r18.x, r18.z
      mad r18.x, -r18.z, r18.x, l(1.000000)
      mad r18.z, r18.x, l(0.040000), r18.w
      mul r19.y, r0.x, r18.z
      lt r19.z, l(0.000000), r11.w
      mul r11.w, r11.w, r11.w
      mad r20.w, r21.y, l(3.600000), l(0.400000)
      div r11.w, r11.w, r20.w
      mad r20.w, r1.w, r1.w, r11.w
      min r20.w, r20.w, l(1.000000)
      movc r17.x, r19.z, r20.w, r8.z
      mul r20.w, r12.w, l(0.250000)
      ishr r21.z, r17.x, l(1)
      iadd r21.z, r21.z, l(0x1fbd1df5)
      mad r21.z, r21.z, l(3.000000), r12.w
      mul r21.z, r20.w, r21.z
      add r22.x, r21.y, l(0.001000)
      div r21.z, r21.z, r22.x
      add r23.x, r17.x, r21.z
      div r23.y, r17.x, r23.x
      movc r22.yz, r18.yyyy, r23.xxyx, r17.xxyx
      lt r21.z, r19.w, l(1.000000)
      add r22.w, -r19.w, l(1.000100)
      add r19.w, r19.w, l(1.000000)
      div r19.w, r22.w, r19.w
      sqrt r19.w, r19.w
      mul r22.w, r19.w, l(0.250000)
      ishr r23.x, r22.y, l(1)
      iadd r23.x, r23.x, l(0x1fbd1df5)
      mad r23.x, r23.x, l(3.000000), r19.w
      mul r23.x, r22.w, r23.x
      div r23.x, r23.x, r22.x
      add r23.x, r22.y, r23.x
      div r22.y, r22.y, r23.x
      sqrt r22.y, r22.y
      mul r22.y, r22.y, r22.z
      movc r22.y, r21.z, r22.y, r22.z
      mad r22.z, r21.x, r17.x, -r21.x
      mad r22.z, r22.z, r21.x, l(1.000000)
      mul r22.z, r22.z, r22.z
      mul r22.z, r22.z, l(3.14159274)
      div r17.x, r17.x, r22.z
      mul r17.x, r22.y, r17.x
      mul r21.y, r21.y, r21.y
      mad r21.y, r21.y, l(4.000000), l(0.000010)
      rcp r21.y, r21.y
      mul r22.y, r15.y, r13.w
      mul r17.x, r17.x, r22.y
      mul r17.x, r21.y, r17.x
      mad r18.z, -r18.z, r0.x, l(1.000000)
      mul r13.w, r13.w, r18.z
      mul r13.w, r15.y, r13.w
      mad r11.w, r4.w, r4.w, r11.w
      min r11.w, r11.w, l(1.000000)
      movc r17.z, r19.z, r11.w, r8.w
      ishr r11.w, r17.z, l(1)
      iadd r11.w, r11.w, l(0x1fbd1df5)
      mad r11.w, r11.w, l(3.000000), r12.w
      mul r11.w, r11.w, r20.w
      div r11.w, r11.w, r22.x
      add r23.x, r11.w, r17.z
      div r23.y, r17.z, r23.x
      movc r18.yz, r18.yyyy, r23.xxyx, r17.zzwz
      ishr r11.w, r18.y, l(1)
      iadd r11.w, r11.w, l(0x1fbd1df5)
      mad r11.w, r11.w, l(3.000000), r19.w
      mul r11.w, r11.w, r22.w
      div r11.w, r11.w, r22.x
      add r11.w, r11.w, r18.y
      div r11.w, r18.y, r11.w
      sqrt r11.w, r11.w
      mul r11.w, r11.w, r18.z
      movc r11.w, r21.z, r11.w, r18.z
      mad r12.w, r21.x, r17.z, -r21.x
      mad r12.w, r12.w, r21.x, l(1.000000)
      mul r12.w, r12.w, r12.w
      mul r12.w, r12.w, l(3.14159274)
      div r12.w, r17.z, r12.w
      mul r11.w, r11.w, r12.w
      sqrt r12.w, r17.z
      add r17.z, -r12.w, l(1.000000)
      mad r18.y, r8.y, r17.z, r12.w
      mad r12.w, r15.y, r17.z, r12.w
      mul r12.w, r8.y, r12.w
      mad r12.w, r15.y, r18.y, r12.w
      rcp r12.w, r12.w
      mul r11.w, r11.w, r12.w
      mul r18.xyz, r11.xyzx, r18.xxxx
      mad r18.xyz, r9.wwww, r18.wwww, r18.xyzx
      mul r11.w, r11.w, l(0.500000)
      mul r18.xyz, r18.xyzx, r11.wwww
      mul r18.xyz, r13.wwww, r18.xyzx
      mad r18.xyz, r17.xxxx, r19.yyyy, r18.xyzx
      mad r18.xyz, r13.wwww, r13.xyzx, r18.xyzx
      mul r19.yzw, r15.xxxx, r20.xxyz
      mul r19.xyz, r19.xxxx, r19.yzwy
      mul r18.xyz, r18.xyzx, r19.xyzx
    else
      mov r18.xyz, l(0,0,0,0)
    endif
  else
    mov r18.xyz, l(0,0,0,0)
  endif
  ushr r11.w, r21.w, l(8)
  and r11.w, r11.w, cb2[18].w
  add r18.xyz, r16.xyzx, r18.xyzx
  movc r16.xyz, r11.wwww, r18.xyzx, r16.xyzx
  iadd r10.w, r10.w, l(1)
endloop
if_nz r3.y
  mad r3.yzw, r6.zzzz, r10.xxyz, -r7.xxyz
  iadd r0.x, r1.x, cb3[0].w
  ishl r1.x, r0.x, l(1)
  ld_indexable(buffer)(uint,uint,uint,uint) r1.x, r1.xxxx, t14.xyzw
  umin r1.x, r1.x, cb3[0].y
  bfi r0.x, l(31), l(1), r0.x, l(1)
  ld_indexable(buffer)(uint,uint,uint,uint) r0.x, r0.xxxx, t14.xyzw
  log r1.y, r2.y
  mad r1.y, -r1.y, l(1.200000), l(1.000000)
  add r1.w, cb1[185].z, l(-1.000000)
  add r1.w, -r1.y, r1.w
  mul r4.xyzw, cb1[153].xxxw, l(0.101321183, 0.101321183, 0.101321183, 0.318309873)
  ld_indexable(buffer)(uint,uint,uint,uint) r2.z, l(3, 3, 3, 3), t20.yzxw
  and r6.xyz, cb1[150].zzzz, l(256, 512, 1024, 0)
  ld_indexable(buffer)(uint,uint,uint,uint) r7.x, l(8, 8, 8, 8), t20.xyzw
  ld_indexable(buffer)(uint,uint,uint,uint) r7.y, l(9, 9, 9, 9), t20.yxzw
  ld_indexable(buffer)(uint,uint,uint,uint) r7.z, l(10, 10, 10, 10), t20.yzxw
  mov r3.x, l(0)
  mov r2.w, l(1.000000)
  mov r7.w, l(0)
  mov r8.xyzw, l(0,0,0,1.000000)
  mov r10.w, l(1.000000)
  mov r11.w, l(0)
  loop
    uge r12.w, r11.w, r1.x
    breakc_nz r12.w
    lt r12.w, r2.w, l(0.001000)
    if_nz r12.w
      break
    endif
    iadd r12.w, r0.x, r11.w
    ld_indexable(buffer)(uint,uint,uint,uint) r12.w, r12.wwww, t15.yzwx
    add r13.xyz, r5.xyzx, -cb5[r12.w + 0].xyzx
    dp3 r13.w, r13.xyzx, r13.xyzx
    sqrt r15.x, r13.w
    lt r15.y, r15.x, cb5[r12.w + 0].w
    if_nz r15.y
      lt r15.y, l(0.000000), cb5[r12.w + 341].z
      if_nz r15.y
        ishl r15.y, r12.w, l(2)
        mul r17.xyz, r5.yyyy, cb5[r15.y + 1365].xyzx
        mad r17.xyz, r5.xxxx, cb5[r15.y + 1364].xyzx, r17.xyzx
        mad r17.xyz, r5.zzzz, cb5[r15.y + 1366].xyzx, r17.xyzx
        add r17.xyz, r17.xyzx, cb5[r15.y + 1367].xyzx
        mul r18.xyz, r3.zzzz, cb5[r15.y + 1365].xyzx
        mad r18.xyz, r3.yyyy, cb5[r15.y + 1364].xyzx, r18.xyzx
        mad r15.yzw, r3.wwww, cb5[r15.y + 1366].xxyz, r18.xxyz
        rcp r15.yzw, r15.yyzw
        mad r18.xyz, -r17.xyzx, r15.yzwy, -r15.yzwy
        mad r15.yzw, -r17.xxyz, r15.yyzw, r15.yyzw
        max r15.yzw, r15.yyzw, r18.xxyz
        min r15.z, r15.w, r15.z
        min r15.y, r15.z, r15.y
        mad r15.yzw, r15.yyyy, r3.yyzw, r5.xxyz
        add r18.xyz, cb5[r12.w + 0].xyzx, cb5[r12.w + 682].xyzx
        add r18.xyz, r15.yzwy, -r18.xyzx
        mul r15.y, l(0.700000), cb5[r12.w + 2728].w
        mad r19.xyz, -cb5[r12.w + 2728].wwww, l(0.500000, 0.500000, 0.500000, 0.000000), cb5[r12.w + 2728].xyzx
        mul r20.xyz, r17.xyzx, cb5[r12.w + 2728].xyzx
        lt r21.xyz, r20.xyzx, -r19.xyzx
        mad r22.xyz, r17.xyzx, cb5[r12.w + 2728].xyzx, r19.xyzx
        mov r22.xyz, |r22.xyzx|
        and r21.xyz, r21.xyzx, r22.xyzx
        lt r20.xyz, r19.xyzx, r20.xyzx
        mad r17.xyz, r17.xyzx, cb5[r12.w + 2728].xyzx, -r19.xyzx
        mov r17.xyz, |r17.xyzx|
        and r17.xyz, r17.xyzx, r20.xyzx
        dp3 r15.z, r21.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
        dp3 r15.w, r17.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
        add r15.z, r15.w, r15.z
        div r15.y, l(1.000000, 1.000000, 1.000000, 1.000000), r15.y
        mul_sat r15.y, r15.y, r15.z
        mad r15.z, r15.y, l(-2.000000), l(3.000000)
        mul r15.y, r15.y, r15.y
        mad r17.x, -r15.z, r15.y, l(1.000000)
      else
        div_sat r15.x, r15.x, cb5[r12.w + 0].w
        dp3 r15.y, r3.yzwy, r13.xyzx
        mad r13.w, -cb5[r12.w + 0].w, cb5[r12.w + 0].w, r13.w
        mad r13.w, r15.y, r15.y, -r13.w
        ge r15.z, r13.w, l(0.000000)
        sqrt r13.w, r13.w
        add r13.w, -r15.y, r13.w
        mad r13.xyz, r13.wwww, r3.yzwy, r13.xyzx
        add r13.yzw, r13.xxyz, -cb5[r12.w + 682].xxyz
        mad r15.x, r15.x, l(2.500000), l(-1.500000)
        max r15.x, r15.x, l(0.000000)
        mul r15.y, r15.x, r15.x
        mad r15.x, -r15.x, l(2.000000), l(3.000000)
        mad r13.x, -r15.y, r15.x, l(1.000000)
        movc r17.xyzw, r15.zzzz, r13.xyzw, r3.xyzw
        mov r18.xyz, r17.yzwy
      endif
      mov r18.w, cb5[r12.w + 341].y
      sample_l_indexable(texturecubearray)(float,float,float,float) r13.xyz, r18.xyzw, t17.xyzw, s6, r1.w
      sample_l_indexable(texturecubearray)(float,float,float,float) r15.xyzw, r18.xyzw, t18.xyzw, s6, r1.w
      sample_l_indexable(texturecubearray)(float,float,float,float) r17.yzw, r18.xyzw, t19.wxyz, s6, r1.w
      movc r18.w, r6.x, cb5[r12.w + 1023].y, l(0)
      movc r18.xyz, r6.xxxx, r13.xyzx, l(0,0,0,0)
      movc r13.w, r6.y, cb5[r12.w + 1023].z, l(0)
      movc r13.xyz, r6.yyyy, r15.xyzx, l(0,0,0,0)
      movc r15.x, r6.z, cb5[r12.w + 1023].w, l(0)
      movc r17.yzw, r6.zzzz, r17.yyzw, l(0,0,0,0)
      mad r13.xyzw, r13.xyzw, r4.xyzw, r18.xyzw
      mad r13.xyz, r17.yzwy, r7.xyzx, r13.xyzx
      mul r13.xyz, r13.xyzx, cb5[r12.w + 341].xxxx
      mul r13.xyz, r17.xxxx, r13.xyzx
      mad r8.xyz, r13.xyzx, r2.wwww, r8.xyzx
      mad r13.x, -r15.w, r17.x, l(1.000000)
      mul r2.w, r2.w, r13.x
      mad r13.x, r15.x, r2.z, r13.w
      add r13.y, -r17.x, l(1.000000)
      mul r12.w, r17.x, cb5[r12.w + 1023].x
      mad r10.w, r10.w, r13.y, r12.w
      mul r12.w, r17.x, r13.x
      mad r7.w, r12.w, r8.w, r7.w
      mul r8.w, r8.w, r13.y
    endif
    iadd r11.w, r11.w, l(1)
  endloop
  mul r4.xyz, r8.xyzx, cb1[165].xyzx
  mul r4.w, r7.w, cb1[165].w
  lt r0.x, l(0.000000), cb3[80].y
  if_nz r0.x
    add r0.x, -r1.y, cb3[80].x
    add r0.x, r0.x, l(-1.000000)
    sample_l_indexable(texturecube)(float,float,float,float) r1.xyw, r3.yzwy, t16.xywz, s5, r0.x
    ld_indexable(buffer)(uint,uint,uint,uint) r3.x, l(0, 0, 0, 0), t20.xyzw
    ld_indexable(buffer)(uint,uint,uint,uint) r3.y, l(1, 1, 1, 1), t20.yxzw
    ld_indexable(buffer)(uint,uint,uint,uint) r3.z, l(2, 2, 2, 2), t20.yzxw
    mul r1.xyw, r1.xyxw, r3.xyxz
    and r0.x, cb1[150].z, l(2048)
    movc r1.xyw, r0.xxxx, r1.xyxw, l(0,0,0,0)
    lt r0.x, cb3[80].z, l(1.000000)
    mad r3.xyz, r2.wwww, r1.xywx, r4.xyzx
    mad r3.w, r2.z, r10.w, r4.w
    movc r1.xyw, r0.xxxx, l(0,0,0,0), r1.xyxw
    movc r4.xyzw, r0.xxxx, r3.xyzw, r4.xyzw
  else
    mov r1.xyw, l(0,0,0,0)
  endif
  mul r0.x, r1.z, cb1[165].w
  mad_sat r2.z, r2.y, cb1[187].x, cb1[187].y
  mad r3.x, r2.z, l(-2.000000), l(3.000000)
  mul r2.z, r2.z, r2.z
  mul r2.z, r2.z, r3.x
  max r3.x, r4.w, l(0.003000)
  div r0.x, r0.x, r3.x
  min r0.x, r0.x, cb1[187].z
  add r0.x, r0.x, l(-1.000000)
  mad r0.x, r2.z, r0.x, l(1.000000)
  mul r1.xyw, r1.xyxw, r2.wwww
  mad r1.xyw, r4.xyxz, r0.xxxx, r1.xyxw
  mul r3.xyz, r11.xyzx, r1.zzzz
  mad r3.xyz, r3.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), -r1.xywx
  mad r1.xyz, cb1[172].wwww, r3.xyzx, r1.xywx
  mad r3.xyzw, r2.yyyy, l(-1.000000, -0.027500, -0.572000, 0.022000), l(1.000000, 0.042500, 1.040000, -0.040000)
  mul r0.x, r3.x, r3.x
  mul r1.w, r16.w, l(-9.280000)
  exp r1.w, r1.w
  min r0.x, r0.x, r1.w
  mad r0.x, r0.x, r3.x, r3.y
  mad r2.zw, r0.xxxx, l(0.000000, 0.000000, -1.040000, 1.040000), r3.zzzw
  mul r0.x, r9.w, r2.w
  mad r3.xyz, r11.xyzx, r2.zzzz, r0.xxxx
  dp3 r0.x, cb0[7].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  lt r0.x, l(0.000100), |r0.x|
  if_nz r0.x
    mov r5.w, l(-1.000000)
    dp4 r0.x, cb0[7].xyzw, r5.xyzw
    mad_sat r0.x, |r0.x|, cb0[14].x, cb0[14].y
    add r0.x, -r0.x, l(1.000000)
    add r4.xyz, r5.xyzx, -cb0[8].xyzx
    dp3 r1.w, r4.xyzx, cb0[9].xyzx
    add r1.w, -|r1.w|, cb0[9].w
    mul_sat r1.w, r1.w, cb0[14].x
    dp3 r2.z, r4.xyzx, cb0[10].xyzx
    add r2.z, -|r2.z|, cb0[10].w
    mul_sat r2.z, r2.z, cb0[14].x
    mul r1.w, r1.w, r2.z
    mul r0.x, r0.x, r1.w
    lt r1.w, l(0.000000), r0.x
    if_nz r1.w
      rsq r1.w, r6.w
      mul r4.xyz, r1.wwww, r12.xyzx
      dp3 r1.w, r4.xyzx, -cb0[7].xyzx
      add r1.w, r1.w, r1.w
      mad r4.xyz, cb0[7].xyzx, r1.wwww, r4.xyzx
      mul r6.xyz, r10.yyyy, cb0[12].xyzx
      mad r6.xyz, r10.xxxx, cb0[11].xyzx, r6.xyzx
      mad r6.xyz, r10.zzzz, cb0[13].xyzx, r6.xyzx
      dp3 r1.w, r4.xyzx, r6.xyzx
      add r1.w, r1.w, r1.w
      mad r4.xyz, r6.xyzx, -r1.wwww, r4.xyzx
      mad r4.xyz, r4.xyzx, cb0[14].zzzz, r5.xyzx
      add r4.xyz, r4.xyzx, cb1[71].xyzx
      mul r6.xyz, r4.yyyy, cb1[13].xyzx
      mad r4.xyw, r4.xxxx, cb1[12].xyxz, r6.xyxz
      mad r4.xyz, r4.zzzz, cb1[14].xyzx, r4.xywx
      add r4.xyz, r4.xyzx, cb1[15].xyzx
      ishl r1.w, cb1[187].w, l(2)
      mul r6.xyz, r4.yyyy, cb0[r1.w + 17].xywx
      mad r4.xyw, r4.xxxx, cb0[r1.w + 16].xyxw, r6.xyxz
      mad r4.xyz, r4.zzzz, cb0[r1.w + 18].xywx, r4.xywx
      add r4.xyz, r4.xyzx, cb0[r1.w + 19].xywx
      movc r1.w, cb0[26].z, cb1[187].w, l(0)
      div r2.zw, r4.xxxy, r4.zzzz
      max r2.zw, r2.zzzw, -cb0[26].xxxy
      min r2.zw, r2.zzzw, cb0[26].xxxy
      mad r2.zw, r2.zzzw, cb0[r1.w + 24].xxxy, cb0[r1.w + 24].zzzw
      dp3 r1.w, cb0[7].xyzx, r10.xyzx
      mad_sat r1.w, r1.w, cb0[15].x, cb0[15].y
      add r2.y, r2.y, l(-0.200000)
      mul_sat r2.y, r2.y, l(10.000000)
      add r2.y, -r2.y, l(1.000000)
      mul r0.x, r0.x, r1.w
      mul r0.x, r2.y, r0.x
      sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r2.zwzz, t35.xyzw, s6, l(0.000000)
      mul r0.x, r0.x, r4.w
      mul r2.yzw, r0.xxxx, r4.xxyz
    else
      mov r2.yzw, l(0,0,0,0)
      mov r0.x, l(0)
    endif
    add r0.x, -r0.x, l(1.000000)
    mad r1.xyz, r0.xxxx, r1.xyzx, r2.yzwy
  endif
  mul r1.xyz, r3.xyzx, r1.xyzx
else
  mov r1.xyz, l(0,0,0,0)
endif
mad r2.yzw, r11.xxyz, l(0.000000, 2.040400, 2.040400, 2.040400), l(0.000000, -0.332400, -0.332400, -0.332400)
mad r3.xyz, r11.xyzx, l(-4.795100, -4.795100, -4.795100, 0.000000), l(0.641700, 0.641700, 0.641700, 0.000000)
mad r4.xyz, r11.xyzx, l(2.755200, 2.755200, 2.755200, 0.000000), l(0.690300, 0.690300, 0.690300, 0.000000)
mad r2.yzw, r2.xxxx, r2.yyzw, r3.xxyz
mad r2.yzw, r2.yyzw, r2.xxxx, r4.xxyz
mul r2.yzw, r2.xxxx, r2.yyzw
max r2.xyz, r2.yzwy, r2.xxxx
mad r1.xyz, r1.xyzx, r2.xyzx, r16.xyzx
lt r0.x, l(0.000000), cb3[94].y
if_nz r0.x
//  mul r2.xyz, r4.yyyy, cb1[9].xywx
//  mad r2.xyz, r4.xxxx, cb1[8].xywx, r2.xyzx
//  mad r2.xyz, r4.zzzz, cb1[10].xywx, r2.xyzx

// Multiple Effects - Replace adjusted r4 with original value stored in r29
  mul r2.xyz, r29.yyyy, cb1[9].xywx
  mad r2.xyz, r29.xxxx, cb1[8].xywx, r2.xyzx
  mad r2.xyz, r29.zzzz, cb1[10].xywx, r2.xyzx

  add r2.xyz, r2.xyzx, cb1[11].xywx
  div r2.xy, r2.xyxx, r2.zzzz
  mad r3.xy, r2.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  mad r0.x, r2.z, cb1[198].x, cb1[198].y
  log r0.x, r0.x
  mul r0.x, r0.x, cb1[198].z
  mul r3.z, r0.x, cb1[197].z
  sample_l_indexable(texture3d)(float,float,float,float) r2.xyzw, r3.xyzx, t21.xyzw, s2, l(0.000000)
  mul r0.x, r2.w, v6.w
  mad r2.xyz, v6.xyzx, r2.wwww, r2.xyzx
else
  mov r2.xyz, v6.xyzx
  mov r0.x, v6.w
endif
mad r3.xyz, r11.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), r9.xyzx
add r3.xyz, -r1.xyzx, r3.xyzx
mad r1.xyz, cb1[152].yyyy, r3.xyzx, r1.xyzx
lt r1.w, l(0.000000), cb1[147].z
if_nz r1.w
  add r3.xyz, r5.xyzx, -cb2[8].xyzx
  add r4.xyz, cb2[9].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  lt r3.xyz, r4.xyzx, |r3.xyzx|
  or r1.w, r3.y, r3.x
  or r1.w, r3.z, r1.w
  dp3 r2.w, r5.xyzx, l(0.577000, 0.577000, 0.577000, 0.000000)
  mul r2.w, r2.w, l(0.002000)
  frc r2.w, r2.w
  lt r2.w, l(0.500000), r2.w
  movc r3.xyz, r2.wwww, l(0,1.000000,1.000000,0), l(1.000000,1.000000,0,0)
  mov r3.w, l(1.000000)
  movc r14.xyzw, r1.wwww, r3.xyzw, r14.xyzw
  mov o0.w, r14.w
else
  mov o0.w, r14.w
endif
add r0.yzw, r0.yyzw, r1.xxyz
add r0.yzw, r14.xxyz, r0.yyzw
mad o0.xyz, r0.yzwy, r0.xxxx, r2.xyzx
ret
// Approximately 0 instruction slots used
