// MANUALLY DUMPED [ShaderRegex\ShaderFixes\UE5_masterotaku.ini\PreciseDecalsPS1r_1] SRC exception. Extra speculars.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Tue Dec  2 18:51:46 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyz
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xyzw        2     NONE   float   xyzw
// TEXCOORD                 1   xyzw        3     NONE   float   xyzw
// PRIMITIVE_ID             0   x           4     NONE    uint   x
// CUSTOM_DATA_OFFSET       0    y          4     NONE    uint
// CUSTOM_DATA_COUNT        0     z         4     NONE    uint
// TEXCOORD                 9   xyz         5     NONE   float   xyz
// SV_Position              0   xyzw        6      POS   float   xyz
// SV_IsFrontFace           0   x           7    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
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[247], immediateIndexed
dcl_constantbuffer CB1[1], immediateIndexed
dcl_constantbuffer CB2[21], 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_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_structured t9, 16
dcl_resource_structured t10, 16
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t12
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_texturecube (float,float,float,float) t14
dcl_input_ps linear centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xyzw
dcl_input_ps constant v4.x
dcl_input_ps linear v5.xyz
dcl_input_ps_siv linear noperspective v6.xyz, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o5.xyzw
dcl_temps 37
dcl_resource_texture2d (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

ld_indexable(texture2d)(float,float,float,float) r20.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r18.xyzw, l(15, 0, 0, 0), t120.xyzw
ftou r19.xyzw, r18.xyzw
mov r21.x, v6.x
mov r21.y, v6.x
mul [precise] r22.xyzw, v6.xxxx, cb0[44].xyzw
mul [precise] r23.xyzw, v6.yyyy, cb0[45].xyzw
add [precise] r22.xyzw, r22.xyzw, r23.xyzw
//Pattern break.
mul [precise] r23.xyzw, v6.zzzz, cb0[46].xyzw
add [precise] r22.xyzw, r22.xyzw, r23.xyzw
add [precise] r22.xyzw, r22.xyzw, cb0[47].xyzw
ge r26.w, cb0[r19.x + 0].x, l(20.0)
if_nz r26.w
mul r26.x, l(0.5), cb0[r19.x + 0].x
else
mul r26.x, l(0.5), cb1[r19.x + 0].x
endif
mad r26.y, r22.w, r20.y, l(-1.0)
mul r26.y, r26.y, r26.x
mad r21.x, r20.x, r26.y, r21.x
mad r21.y, -r20.x, r26.x, r21.y
mul [precise] r24.xyzw, r21.yyyy, cb0[44].xyzw
mul [precise] r25.xyzw, v6.yyyy, cb0[45].xyzw
add [precise] r24.xyzw, r24.xyzw, r25.xyzw
//Pattern break.
mul [precise] r25.xyzw, v6.zzzz, cb0[46].xyzw
add [precise] r24.xyzw, r24.xyzw, r25.xyzw
add [precise] r24.xyzw, r24.xyzw, cb0[47].xyzw
div [precise(xyz)] r24.xyz, r24.xyzx, r24.wwww
mul [precise] r1.xyzw, r21.xxxx, cb0[44].xyzw
mul [precise] r2.xyzw, v6.yyyy, cb0[45].xyzw
add [precise] r1.xyzw, r1.xyzw, r2.xyzw
//Pattern break.
mul [precise] r2.xyzw, v6.zzzz, cb0[46].xyzw
add [precise] r1.xyzw, r1.xyzw, r2.xyzw
add [precise] r1.xyzw, r1.xyzw, cb0[47].xyzw
div [precise(xyz)] r1.xyz, r1.xyzx, r1.wwww

add [precise(xyz)] r32.xyz, r24.xyzx, -cb0[112].xyzx

add [precise(xyz)] r2.xyz, r1.xyzx, -cb0[112].xyzx
ge [precise(w)] r0.w, cb0[31].w, l(1.000000)

dp3 [precise(w)] r1.w, -r24.xyzx, -r24.xyzx
rsq [precise(w)] r1.w, r1.w
mul [precise(xyz)] r3.xyz, r1.wwww, -r24.xyzx
movc [precise(xyz)] r3.xyz, r0.wwww, -cb0[61].xyzx, r3.xyzx
eq [precise] r4.xyzw, cb2[0].xxxx, l(0.000000, 1.000000, 2.000000, 3.000000)
movc [precise(xy)] r5.xy, r4.wwww, v3.zwzz, v2.xyxx
movc [precise(zw)] r4.zw, r4.zzzz, v3.xxxy, r5.xxxy
movc [precise(yz)] r4.yz, r4.yyyy, v2.zzwz, r4.zzwz
movc [precise(xy)] r4.xy, r4.xxxx, v2.xyxx, r4.yzyy
mul [precise(xy)] r4.xy, r4.xyxx, cb2[0].ywyy
add [precise(x)] r5.x, r4.x, cb2[0].z
add [precise(y)] r5.y, r4.y, cb2[1].x
add [precise(w)] r0.w, cb0[151].x, cb2[15].x
sample_b_indexable [precise(xy)](texture2d)(float,float,float,float) r4.xy, r5.xyxx, t11.xyzw, s1, r0.w
mul [precise(xy)] r4.xy, r4.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
add [precise(xy)] r4.xy, r4.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 [precise(w)] r0.w, r4.xyxx, r4.xyxx
add [precise(w)] r0.w, -r0.w, l(1.000000)
max [precise(w)] r0.w, r0.w, l(0.000000)
sqrt [precise(z)] r4.z, r0.w
mad r6.xyz, r4.xyzx, cb0[146].wwww, cb0[146].xyzx
dp3 r0.w, r6.xyzx, r6.xyzx
rsq r0.w, r0.w
mul r6.xyz, r0.wwww, r6.xyzx
mul r7.xyz, r0.xyzx, r6.yyyy
mad r6.xyw, r6.xxxx, v0.xyxz, r7.xyxz
mad r6.xyz, r6.zzzz, v1.xyzx, r6.xywx
dp3 r0.w, r6.xyzx, r6.xyzx
rsq r0.w, r0.w
mul r6.xyz, r0.wwww, r6.xyzx
add r7.xyz, -r32.xyzx, cb0[110].xyzx
dp3 r0.w, r7.xyzx, r7.xyzx
rsq r0.w, r0.w
mul [precise(xyz)] r8.xyz, r4.xxxx, v0.xyzx
mul [precise(xyz)] r0.xyz, r0.xyzx, r4.yyyy
add [precise(xyz)] r0.xyz, r0.xyzx, r8.xyzx
mul [precise(xyz)] r4.xyz, r4.zzzz, v1.xyzx
add [precise(xyz)] r0.xyz, r0.xyzx, r4.xyzx
mul r4.xyz, r0.xyzx, cb2[15].yyyy
mad r4.xyz, r7.xyzx, r0.wwww, r4.xyzx
mul r4.xyz, r4.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r0.w, r4.xyzx, r4.xyzx
rsq r0.w, r0.w
mul r4.xyz, r0.wwww, r4.xyzx
sample_l_indexable(texturecube)(float,float,float,float) r4.xyz, r4.xyzx, t14.xyzw, s4, l(0.000000)
add r7.xyz, cb2[16].xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r7.xyz, cb2[15].zzzz, r7.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r4.xyz, r4.xyzx, r7.xyzx
dp3 [precise(x)] r0.x, r0.xyzx, r3.xyzx
max [precise(x)] r0.x, r0.x, l(0.000000)
add [precise(x)] r0.x, -r0.x, l(1.000000)
max [precise(x)] r0.x, |r0.x|, l(0.000100)
log [precise(x)] r0.x, r0.x
mul [precise(x)] r0.x, r0.x, cb2[16].w
exp [precise(x)] r0.x, r0.x
add [precise(y)] r0.y, -r0.x, l(1.000000)
mul [precise(y)] r0.y, r0.y, cb2[17].x
add_sat [precise(x)] r0.x, r0.y, r0.x
mad r0.yzw, r0.xxxx, -r4.xxyz, r4.xxyz
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r1.w, l(0), l(0), t10.xxxx
log r1.w, r1.w
mul r1.w, r1.w, -cb2[17].y
exp r1.w, r1.w
mul r3.xyz, r0.yzwy, r1.wwww
max r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r3.xyz, r3.xyzx, l(500.000000, 500.000000, 500.000000, 0.000000)
add r3.xyz, -r0.yzwy, r3.xyzx
mad r0.yzw, cb1[0].xxxx, r3.xxyz, r0.yyzw
add r3.xyz, -r0.yzwy, cb2[18].xyzx
mad r0.yzw, cb2[17].zzzz, r3.xxyz, r0.yyzw
add [precise(w)] r1.w, cb0[151].x, cb2[18].w
sample_b_indexable [precise(xyz)](texture2d)(float,float,float,float) r3.xyz, r5.xyxx, t12.xyzw, s2, r1.w
mul [precise(xyz)] r3.xyz, r3.xyzx, cb2[19].xyzx
mul [precise(xyz)] r3.xyz, r0.xxxx, r3.xyzx
max [precise(xyz)] r4.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
min [precise(xyz)] r4.xyz, r4.xyzx, l(500.000000, 500.000000, 500.000000, 0.000000)
add [precise(xyz)] r4.xyz, -r3.xyzx, r4.xyzx
mul [precise(xyz)] r4.xyz, r4.xyzx, cb1[0].xxxx
add_sat [precise(xyz)] r3.xyz, r3.xyzx, r4.xyzx
add [precise(x)] r0.x, cb0[151].x, cb2[19].w
sample_b_indexable [precise(x)](texture2d)(float,float,float,float) r4.xyz, r5.xyxx, t13.xyzw, s3, r0.x
mov_sat [precise(x)] r0.x, cb2[20].x
mov_sat [precise(x)] r4.xyz, r4.xyzx
mad o2.z, r4.y, cb0[147].y, cb0[147].x
mad r5.xyz, cb0[109].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r2.xyzx
mad r5.xyz, r5.xyzx, cb0[243].xyzx, cb0[244].xyzx
max r5.xyz, r5.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r5.xyz, r5.xyzx, l(0.990000, 0.990000, 0.990000, 0.000000)
mul r5.xyz, r5.xyzx, cb0[245].xyzx
ftoi r7.xyz, r5.xyzx
mov r7.w, l(0)
ld_indexable(texture3d)(uint,uint,uint,uint) r7.xyzw, r7.xyzw, t0.xyzw
utof r7.xyzw, r7.xyzw
add r1.w, cb0[245].w, l(1.000000)
div r5.xyz, r5.xyzx, r7.wwww
frc r5.xyz, r5.xyzx
mul r5.xyz, r5.xyzx, cb0[245].wwww
mad r5.xyz, r7.xyzx, r1.wwww, r5.xyzx
add r5.xyz, r5.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
mul r5.xyz, r5.xyzx, cb0[246].xyzx
imul [precise(w)] null, r1.w, v4.x, l(42)
ld_structured_indexable [precise(w)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r1.w, r1.w, l(0), t9.xxxx
and [precise(xy)] r7.xyz, r1.wwww, l(256, 512, 4, 0)
movc [precise(yw)] r4.yw, r7.yyyx, l(0,1.000000,0,2.000000), l(0,0,0,0)
add r1.w, r4.y, r4.w
mul o1.w, r1.w, l(0.333333343)
if_nz r7.z
  sample_l_indexable(texture3d)(float,float,float,float) r1.w, r5.xyzx, t8.yzwx, s0, l(0.000000)
else
  mov r1.w, l(1.000000)
endif
mul [precise(w)] r2.w, r0.x, l(0.080000)
add [precise(xyz)] r7.xyz, -r2.wwww, r3.xyzx
mul [precise(xyz)] r7.xyz, r4.xxxx, r7.xyzx
add [precise(xyz)] r7.xyz, r2.wwww, r7.xyzx
mad r8.xyz, -r3.xyzx, r4.xxxx, r3.xyzx
mad r8.xyz, r8.xyzx, cb0[144].wwww, cb0[144].xyzx
mul [precise(xyz)] r7.xyz, r7.xyzx, cb0[145].wwww
add [precise(xyz)] r7.xyz, r7.xyzx, cb0[145].xyzx
ne [precise(w)] r2.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[190].w
mad r9.xyz, r7.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), r8.xyzx
movc r8.xyz, r2.wwww, r9.xyzx, r8.xyzx
movc [precise(xyz)] r7.xyz, r2.wwww, l(0,0,0,0), r7.xyzx
dp3 r2.w, r7.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r9.xyz, r2.wwww, l(2.040400, -4.795100, 2.755200, 0.000000), l(-0.332400, 0.641700, 0.690300, 0.000000)
mad r2.w, r4.z, r9.x, r9.y
mad r2.w, r2.w, r4.z, r9.z
mul r2.w, r4.z, r2.w
max r2.w, r2.w, r4.z
sample_l_indexable(texture3d)(float,float,float,float) r9.xyz, r5.xyzx, t1.zxyw, s0, l(0.000000)
sample_l_indexable(texture3d)(float,float,float,float) r10.xyzw, r5.xyzx, t2.xyzw, s0, l(0.000000)
mad r10.xyzw, r10.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
sample_l_indexable(texture3d)(float,float,float,float) r11.xyzw, r5.xyzx, t4.xyzw, s0, l(0.000000)
mad r11.xyzw, r11.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
sample_l_indexable(texture3d)(float,float,float,float) r12.xyzw, r5.xyzx, t6.xyzw, s0, l(0.000000)
mad r12.xyzw, r12.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
mul r10.xyzw, r9.yyyy, r10.xyzw
mul r10.xyzw, r10.wxyz, l(3.872979, 1.73205125, 1.73205125, 1.73205125)
mul r11.xyzw, r9.zzzz, r11.xyzw
mul r11.xyzw, r11.wxyz, l(3.872979, 1.73205125, 1.73205125, 1.73205125)
mul r12.xyzw, r9.xxxx, r12.xyzw
mul r12.xyzw, r12.wxyz, l(3.872979, 1.73205125, 1.73205125, 1.73205125)
sample_l_indexable(texture3d)(float,float,float,float) r13.xyzw, r5.xyzx, t3.xyzw, s0, l(0.000000)
mad r13.xyzw, r13.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
sample_l_indexable(texture3d)(float,float,float,float) r14.xyzw, r5.xyzx, t5.xyzw, s0, l(0.000000)
mad r14.xyzw, r14.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
sample_l_indexable(texture3d)(float,float,float,float) r5.xyzw, r5.xyzx, t7.xyzw, s0, l(0.000000)
mad r5.xyzw, r5.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
mul r13.xyzw, r9.yyyy, r13.xyzw
mul r13.xyzw, r13.xyzw, l(3.872979, 4.472139, 3.872979, 3.872979)
mul r14.xyzw, r9.zzzz, r14.xyzw
mul r14.xyzw, r14.xyzw, l(3.872979, 4.472139, 3.872979, 3.872979)
mul r5.xyzw, r9.xxxx, r5.xyzw
mul r5.xyzw, r5.xyzw, l(3.872979, 4.472139, 3.872979, 3.872979)
mul r15.xyz, r6.yzxy, r6.yzyy
mul r16.yw, r6.yyyx, r6.zzzz
mad r3.w, r6.x, r6.x, -r15.x
mul r17.yzw, r6.yyzx, l(0.000000, -1.02332771, 1.02332771, -1.02332771)
mad r16.xz, r15.zzyz, l(1.000000, 0.000000, 3.000000, 0.000000), l(0.000000, 0.000000, -1.000000, 0.000000)
mul r15.xyzw, r16.xyzw, l(0.858085215, -0.858085215, 0.247708291, -0.858085215)
mul r3.w, r3.w, l(0.429042608)
mov r16.x, r9.y
mov r16.yzw, r10.yyzw
mov r17.x, l(0.886227548)
dp4 r4.y, r16.xyzw, r17.xyzw
mov r10.yzw, r13.xxyz
dp4 r4.w, r10.xyzw, r15.xyzw
add r4.y, r4.w, r4.y
mad r10.x, r13.w, r3.w, r4.y
mov r13.x, r9.z
mov r13.yzw, r11.yyzw
dp4 r4.y, r13.xyzw, r17.xyzw
mov r11.yzw, r14.xxyz
dp4 r4.w, r11.xyzw, r15.xyzw
add r4.y, r4.w, r4.y
mad r10.y, r14.w, r3.w, r4.y
mov r9.yzw, r12.yyzw
dp4 r4.y, r9.xyzw, r17.xyzw
mov r12.yzw, r5.xxyz
dp4 r4.w, r12.xyzw, r15.xyzw
add r4.y, r4.w, r4.y
mad r10.z, r5.w, r3.w, r4.y
max r5.xyz, r10.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r5.xyz, r5.xyzx, cb0[166].xyzx
mul r5.xyz, r5.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
dp3 r3.w, r5.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mul r5.xyz, r8.xyzx, r5.xyzx
mad r9.xyz, l(2.040400, 2.040400, 2.040400, 0.000000), r3.xyzx, l(-0.332400, -0.332400, -0.332400, 0.000000)
mad r10.xyz, l(-4.795100, -4.795100, -4.795100, 0.000000), r3.xyzx, l(0.641700, 0.641700, 0.641700, 0.000000)
mad r11.xyz, l(2.755200, 2.755200, 2.755200, 0.000000), r3.xyzx, l(0.690300, 0.690300, 0.690300, 0.000000)
mad r9.xyz, r4.zzzz, r9.xyzx, r10.xyzx
mad r9.xyz, r9.xyzx, r4.zzzz, r11.xyzx
mul r9.xyz, r4.zzzz, r9.xyzx
max r4.yzw, r4.zzzz, r9.xxyz
mul r4.yzw, r4.yyzw, r5.xxyz
mad r5.xyz, r7.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), r8.xyzx
max r0.yzw, r0.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
lt [precise(w)] r5.w, l(0.000000), cb0[148].x
if_nz r5.w
  mad [precise(xyz)] r7.xyz, cb0[109].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r2.xyzx
  mad [precise(xyz)] r8.xyz, -cb0[109].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r7.xyzx
  add [precise(xyz)] r2.xyz, r2.xyzx, -r8.xyzx
  imad [precise] r8.xyzw, v4.xxxx, l(42, 42, 42, 42), l(18, 19, 17, 26)
  ld_structured_indexable [precise(xyz)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r9.xyz, r8.x, l(0), t9.xyzx
  ld_structured_indexable [precise(xyz)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r10.xyz, r8.y, l(0), t9.xyzx
  ld_structured_indexable [precise(x)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r8.x, r8.z, l(12), t9.xxxx
  mul [precise(xyz)] r9.xyz, r9.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000)
  add [precise(xyz)] r11.xyz, r10.xyzx, r9.xyzx
  add [precise(xyz)] r9.xyz, -r9.xyzx, r11.xyzx
  add [precise(xyz)] r9.xyz, -r9.xyzx, r10.xyzx
  ld_structured_indexable [precise(y)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r8.y, r8.w, l(12), t9.xxxx
  imad [precise(x)] r10.xy, v4.xxxx, l(42, 42, 0, 0), l(27, 32, 0, 0)
  ld_structured_indexable [precise(z)](structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r8.z, r10.x, l(12), t9.xxxx
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r5.w, r10.y, l(0), t9.xxxx
  add [precise(xyz)] r10.xyz, r7.xyzx, -r11.xyzx
  add [precise(xyz)] r9.xyz, r2.xyzx, -r9.xyzx
  add [precise(xyz)] r9.xyz, r9.xyzx, r10.xyzx
  add [precise(xyz)] r8.xyz, r8.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  lt [precise(xyz)] r8.xyz, r8.xyzx, |r9.xyzx|
  or [precise(w)] r6.w, r8.y, r8.x
  or [precise(w)] r6.w, r8.z, r6.w
  if_nz r6.w
    mul [precise(xyz)] r7.xyz, r7.xyzx, l(0.0000152587891, 0.0000152587891, 0.0000152587891, 0.000000)
    mul [precise(xyz)] r2.xyz, r2.xyzx, l(0.0000152587891, 0.0000152587891, 0.0000152587891, 0.000000)
    frc [precise(xyz)] r7.xyz, r7.xyzx
    frc [precise(xyz)] r2.xyz, r2.xyzx
    add [precise(xyz)] r2.xyz, r2.xyzx, r7.xyzx
    frc [precise(xyz)] r2.xyz, r2.xyzx
    mul [precise(xyz)] r2.xyz, r2.xyzx, l(65536.000000, 65536.000000, 65536.000000, 0.000000)
    dp3 [precise(x)] r2.x, r2.xyzx, l(0.001154, 0.001154, 0.001154, 0.000000)
    frc [precise(x)] r2.x, r2.x
    lt [precise(x)] r2.x, l(0.500000), r2.x
    movc [precise(yzw)] r0.yzw, r2.xxxx, l(0,0,1.000000,1.000000), l(0,1.000000,1.000000,0)
  else
    lt r2.x, l(0.000000), r5.w
    add r1.xyz, r1.xyzx, -v5.xyzx
    max r1.y, |r1.z|, |r1.y|
    max r1.x, r1.y, |r1.x|
    add r1.x, -r5.w, r1.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 r1.xyz, r1.xxxx, l(1.000000, 0.000000, 1.000000, 0.000000)
    movc r0.yzw, r2.xxxx, r1.xxyz, r0.yyzw
  endif
endif
mad r1.xyz, cb0[153].zzzz, r5.xyzx, r4.yzwy
add r0.yzw, r0.yyzw, r1.xxyz
mul r1.xyz, v6.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 r1.y, r2.w, r3.w
mad r1.y, r1.y, cb0[143].z, l(0.00390625000)
log r1.y, r1.y
mad r1.y, r1.y, l(0.062500), l(0.500000)
mad o3.w, r1.x, l(0.00392156886), r1.y
mad o1.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
mul r0.yzw, r0.yyzw, cb0[143].zzzz
mov o0.w, l(0)
min o0.xyz, r0.yzwy, l(32256.000000, 32256.000000, 32256.000000, 0.000000)
mov [precise(x)] o2.x, r4.x
mov o2.w, l(0.505882382)
mov [precise(y)] o2.y, r0.x
mov [precise(xyz)] o3.xyz, r3.xyzx
mov o5.x, r1.w
mov o5.yzw, l(0,1.000000,1.000000,1.000000)
ret
// Approximately 0 instruction slots used
