// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.181 on Sun Dec 31 00:18:18 2023
//
//
// Buffer Definitions:
//
// cbuffer cb2
// {
//
//   float4 cb2[2];                     // Index:    0 1              Components:     8
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[4];                     // Index:    0 1 2 3          Components:    16
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s                              sampler      NA          NA    0        1
// t0                                texture  float4     2darray    0        1
// t1                                texture  float4          2d    1        1
// StereoParams                      texture  float4          2d  125        1
// cb0                               cbuffer      NA          NA    0        1
// cb2                               cbuffer      NA          NA    2        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xy          1     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   x           0   TARGET   float   x
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB2[2], immediateIndexed
dcl_constantbuffer CB0[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2darray (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.x
dcl_temps 11
round_ni r0.xy, v0.xyxx
mad r0.xy, r0.xyxx, l(4.000000, 4.000000, 0.000000, 0.000000), cb2[1].xyxx
mul r0.zw, r0.xxxy, cb0[0].xxxy
mul r1.xy, r0.zwzz, l(0.250000, 0.250000, 0.000000, 0.000000)
mov r1.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r2.w, r1.xyzx, t0.yzwx, s0, l(0.000000)
div r0.z, cb0[2].x, r2.w
lt r0.w, r0.z, l(1.000000)
if_nz r0.w
  mov o0.x, l(1.000000)
  ret
endif
ld_indexable(buffer)(float,float,float,float) r1.zw, l(0, 0, 0, 0), t125.zwxy
mad r3.xy, cb0[1].xyxx, r1.xyxx, cb0[1].zwzz
mul r2.yz, r2.wwww, r3.xxyx
add r0.w, -r1.w, r2.w
mul r0.w, r0.w, r1.z
mad r2.x, -r0.w, -cb0[1].z, r2.y
round_z r0.xy, r0.xyxx
ftoi r3.xy, r0.xyxx
mov r3.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.xyzw, r3.xyzw, t1.xyzw
mad r0.xyw, r3.xyxz, l(2.000000, 2.000000, 0.000000, 2.000000), l(-1.000000, -1.000000, 0.000000, -1.000000)
mul r2.y, r3.w, cb0[3].x
mul r3.x, r0.z, l(0.050000)
mad r3.x, cb2[0].z, r3.x, l(1.000000)
mul r3.yz, r3.xxxx, cb2[0].xxyx
round_ne r3.yz, r3.yyzy
mad r4.xy, r3.yzyy, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.w, r4.xyzx, t0.yzwx, s0, l(0.000000)
mad r3.yz, cb0[1].xxyx, r4.xxyx, cb0[1].zzwz
mul r5.yz, r5.wwww, r3.yyzy
add r3.y, -r1.w, r5.w
mul r3.y, r1.z, r3.y
mad r5.x, -r3.y, -cb0[1].z, r5.y
mad r3.y, r0.z, l(0.050000), r3.x
add r4.xyz, -r2.xzwx, r5.xzwx
dp3 r3.z, r4.xyzx, r4.xyzx
dp3 r3.w, r0.xywx, r4.xyzx
rsq r4.x, r3.z
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.z, r3.z, cb0[2].z, l(1.000000)
mul r4.xy, r3.yyyy, cb2[0].xyxx
round_ne r4.xy, r4.xyxx
mad r4.xy, r4.xyxx, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.w, r4.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.xy, cb0[1].xyxx, r4.xyxx, cb0[1].zwzz
mul r5.yz, r5.wwww, r4.xxyx
add r4.x, -r1.w, r5.w
mul r4.x, r1.z, r4.x
mad r5.x, -r4.x, -cb0[1].z, r5.y
mad r4.x, r0.z, l(0.050000), r3.y
add r4.yzw, -r2.xxzw, r5.xxzw
dp3 r5.x, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r5.x
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r4.z, r5.x, cb0[2].z, l(1.000000)
mul r4.y, r4.z, r4.y
mad r3.z, r3.w, r3.z, r4.y
mul r4.yz, r4.xxxx, cb2[0].xxyx
round_ne r4.yz, r4.yyzy
mad r5.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.w, r5.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r5.xxyx, cb0[1].zzwz
mul r6.yz, r6.wwww, r4.yyzy
add r3.w, -r1.w, r6.w
mul r3.w, r1.z, r3.w
mad r6.x, -r3.w, -cb0[1].z, r6.y
mad r0.z, r0.z, l(0.050000), r4.x
add r4.yzw, -r2.xxzw, r6.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r0.zzzz, cb2[0].xxyx
round_ne r4.yz, r4.yyzy
mad r5.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.w, r5.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r5.xxyx, cb0[1].zzwz
mul r6.yz, r6.wwww, r4.yyzy
add r3.w, -r1.w, r6.w
mul r3.w, r1.z, r3.w
mad r6.x, -r3.w, -cb0[1].z, r6.y
add r4.yzw, -r2.xxzw, r6.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, cb2[0].xxyx, l(0.000000, 0.707106769, 0.707106769, 0.000000)
mad r5.x, cb2[0].x, l(0.707106769), -r4.z
add r5.y, r4.y, r4.z
mul r5.zw, r3.xxxx, r5.xxxy
round_ne r5.zw, r5.zzzw
mad r6.xy, r5.zwzz, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r6.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.zw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.yz, r7.wwww, r5.zzwz
add r3.w, -r1.w, r7.w
mul r3.w, r1.z, r3.w
mad r7.x, -r3.w, -cb0[1].z, r7.y
add r6.xyz, -r2.xzwx, r7.xzwx
dp3 r3.w, r6.xyzx, r6.xyzx
dp3 r4.w, r0.xywx, r6.xyzx
rsq r5.z, r3.w
mad_sat r4.w, r4.w, r5.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mul r5.zw, r3.yyyy, r5.xxxy
round_ne r5.zw, r5.zzzw
mad r6.xy, r5.zwzz, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r6.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.zw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.yz, r7.wwww, r5.zzwz
add r3.w, -r1.w, r7.w
mul r3.w, r1.z, r3.w
mad r7.x, -r3.w, -cb0[1].z, r7.y
add r6.xyz, -r2.xzwx, r7.xzwx
dp3 r3.w, r6.xyzx, r6.xyzx
dp3 r4.w, r0.xywx, r6.xyzx
rsq r5.z, r3.w
mad_sat r4.w, r4.w, r5.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mul r5.zw, r4.xxxx, r5.xxxy
round_ne r5.zw, r5.zzzw
mad r6.xy, r5.zwzz, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r6.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.zw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.yz, r7.wwww, r5.zzwz
add r3.w, -r1.w, r7.w
mul r3.w, r1.z, r3.w
mad r7.x, -r3.w, -cb0[1].z, r7.y
add r6.xyz, -r2.xzwx, r7.xzwx
dp3 r3.w, r6.xyzx, r6.xyzx
dp3 r4.w, r0.xywx, r6.xyzx
rsq r5.z, r3.w
mad_sat r4.w, r4.w, r5.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mul r5.xy, r0.zzzz, r5.xyxx
round_ne r5.xy, r5.xyxx
mad r5.xy, r5.xyxx, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.w, r5.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.xy, cb0[1].xyxx, r5.xyxx, cb0[1].zwzz
mul r6.yz, r6.wwww, r5.xxyx
add r3.w, -r1.w, r6.w
mul r3.w, r1.z, r3.w
mad r6.x, -r3.w, -cb0[1].z, r6.y
add r5.xyz, -r2.xzwx, r6.xzwx
dp3 r3.w, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r3.w
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mad r5.x, cb2[0].x, l(1.794896565E-09), -cb2[0].y
mad r5.y, cb2[0].y, l(1.794896565E-09), cb2[0].x
mul r5.zw, r3.xxxx, r5.xxxy
round_ne r5.zw, r5.zzzw
mad r6.xy, r5.zwzz, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r6.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.zw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.yz, r7.wwww, r5.zzwz
add r3.w, -r1.w, r7.w
mul r3.w, r1.z, r3.w
mad r7.x, -r3.w, -cb0[1].z, r7.y
add r6.xyz, -r2.xzwx, r7.xzwx
dp3 r3.w, r6.xyzx, r6.xyzx
dp3 r4.w, r0.xywx, r6.xyzx
rsq r5.z, r3.w
mad_sat r4.w, r4.w, r5.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mul r5.zw, r3.yyyy, r5.xxxy
round_ne r5.zw, r5.zzzw
mad r6.xy, r5.zwzz, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r6.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.zw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.yz, r7.wwww, r5.zzwz
add r3.w, -r1.w, r7.w
mul r3.w, r1.z, r3.w
mad r7.x, -r3.w, -cb0[1].z, r7.y
add r6.xyz, -r2.xzwx, r7.xzwx
dp3 r3.w, r6.xyzx, r6.xyzx
dp3 r4.w, r0.xywx, r6.xyzx
rsq r5.z, r3.w
mad_sat r4.w, r4.w, r5.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mul r5.zw, r4.xxxx, r5.xxxy
round_ne r5.zw, r5.zzzw
mad r6.xy, r5.zwzz, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r6.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.zw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.yz, r7.wwww, r5.zzwz
add r3.w, -r1.w, r7.w
mul r3.w, r1.z, r3.w
mad r7.x, -r3.w, -cb0[1].z, r7.y
add r6.xyz, -r2.xzwx, r7.xzwx
dp3 r3.w, r6.xyzx, r6.xyzx
dp3 r4.w, r0.xywx, r6.xyzx
rsq r5.z, r3.w
mad_sat r4.w, r4.w, r5.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mul r5.xy, r0.zzzz, r5.xyxx
round_ne r5.xy, r5.xyxx
mad r5.xy, r5.xyxx, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.w, r5.xyzx, t0.yzwx, s0, l(0.000000)
mad r5.xy, cb0[1].xyxx, r5.xyxx, cb0[1].zwzz
mul r6.yz, r6.wwww, r5.xxyx
add r3.w, -r1.w, r6.w
mul r3.w, r1.z, r3.w
mad r6.x, -r3.w, -cb0[1].z, r6.y
add r5.xyz, -r2.xzwx, r6.xzwx
dp3 r3.w, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r3.w
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.w, r3.w, r3.z
mul r5.xy, cb2[0].yxyy, l(-0.707106769, -0.707106769, 0.000000, 0.000000)
mad r6.y, cb2[0].x, l(-0.707106769), -r4.z
mad r6.zw, cb2[0].yyyx, l(0.000000, 0.000000, -0.707106769, -0.707106769), r4.yyyz
mul r4.yz, r3.xxxx, r6.yyzy
round_ne r4.yz, r4.yyzy
mad r7.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.w, r7.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r7.xxyx, cb0[1].zzwz
mul r8.yz, r8.wwww, r4.yyzy
add r3.w, -r1.w, r8.w
mul r3.w, r1.z, r3.w
mad r8.x, -r3.w, -cb0[1].z, r8.y
add r4.yzw, -r2.xxzw, r8.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r3.yyyy, r6.yyzy
round_ne r4.yz, r4.yyzy
mad r7.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.w, r7.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r7.xxyx, cb0[1].zzwz
mul r8.yz, r8.wwww, r4.yyzy
add r3.w, -r1.w, r8.w
mul r3.w, r1.z, r3.w
mad r8.x, -r3.w, -cb0[1].z, r8.y
add r4.yzw, -r2.xxzw, r8.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r4.xxxx, r6.yyzy
round_ne r4.yz, r4.yyzy
mad r7.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.w, r7.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r7.xxyx, cb0[1].zzwz
mul r8.yz, r8.wwww, r4.yyzy
add r3.w, -r1.w, r8.w
mul r3.w, r1.z, r3.w
mad r8.x, -r3.w, -cb0[1].z, r8.y
add r4.yzw, -r2.xxzw, r8.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r0.zzzz, r6.yyzy
round_ne r4.yz, r4.yyzy
mad r7.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.w, r7.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r7.xxyx, cb0[1].zzwz
mul r8.yz, r8.wwww, r4.yyzy
add r3.w, -r1.w, r8.w
mul r3.w, r1.z, r3.w
mad r8.x, -r3.w, -cb0[1].z, r8.y
add r4.yzw, -r2.xxzw, r8.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mad r7.y, cb2[0].y, l(-3.589793129E-09), -cb2[0].x
mad r7.zw, cb2[0].xxxy, l(0.000000, 0.000000, 3.589793129E-09, -5.384689139E-09), -cb2[0].yyyx
mul r4.yz, r3.xxxx, r7.yyzy
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r3.yyyy, r7.yyzy
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r4.xxxx, r7.yyzy
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r0.zzzz, r7.yyzy
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mad r8.x, cb2[0].x, l(-0.707106769), -r5.x
add r8.y, r5.y, r5.x
mul r4.yz, r3.xxxx, r8.xxyx
round_ne r4.yz, r4.yyzy
mad r9.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r9.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r10.w, r9.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r9.xxyx, cb0[1].zzwz
mul r10.yz, r10.wwww, r4.yyzy
add r3.w, -r1.w, r10.w
mul r3.w, r1.z, r3.w
mad r10.x, -r3.w, -cb0[1].z, r10.y
add r4.yzw, -r2.xxzw, r10.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r3.yyyy, r8.xxyx
round_ne r4.yz, r4.yyzy
mad r9.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r9.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r10.w, r9.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r9.xxyx, cb0[1].zzwz
mul r10.yz, r10.wwww, r4.yyzy
add r3.w, -r1.w, r10.w
mul r3.w, r1.z, r3.w
mad r10.x, -r3.w, -cb0[1].z, r10.y
add r4.yzw, -r2.xxzw, r10.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r4.xxxx, r8.xxyx
round_ne r4.yz, r4.yyzy
mad r9.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r9.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r10.w, r9.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r9.xxyx, cb0[1].zzwz
mul r10.yz, r10.wwww, r4.yyzy
add r3.w, -r1.w, r10.w
mul r3.w, r1.z, r3.w
mad r10.x, -r3.w, -cb0[1].z, r10.y
add r4.yzw, -r2.xxzw, r10.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r0.zzzz, r8.xxyx
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mad r7.x, cb2[0].x, l(-5.384689139E-09), cb2[0].y
mul r4.yz, r3.xxxx, r7.xxwx
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r3.yyyy, r7.xxwx
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r4.xxxx, r7.xxwx
round_ne r4.yz, r4.yyzy
mad r8.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r8.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r9.w, r8.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r8.xxyx, cb0[1].zzwz
mul r9.yz, r9.wwww, r4.yyzy
add r3.w, -r1.w, r9.w
mul r3.w, r1.z, r3.w
mad r9.x, -r3.w, -cb0[1].z, r9.y
add r4.yzw, -r2.xxzw, r9.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mul r4.yz, r0.zzzz, r7.xxwx
round_ne r4.yz, r4.yyzy
mad r7.xy, r4.yzyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.w, r7.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.yz, cb0[1].xxyx, r7.xxyx, cb0[1].zzwz
mul r8.yz, r8.wwww, r4.yyzy
add r3.w, -r1.w, r8.w
mul r3.w, r1.z, r3.w
mad r8.x, -r3.w, -cb0[1].z, r8.y
add r4.yzw, -r2.xxzw, r8.xxzw
dp3 r3.w, r4.yzwy, r4.yzwy
dp3 r4.y, r0.xywx, r4.yzwy
rsq r4.z, r3.w
mad_sat r4.y, r4.y, r4.z, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mad r3.z, r4.y, r3.w, r3.z
mad r6.x, cb2[0].x, l(0.707106769), -r5.x
mul r3.xw, r3.xxxx, r6.xxxw
round_ne r3.xw, r3.xxxw
mad r5.xy, r3.xwxx, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r5.xyzx, t0.yzwx, s0, l(0.000000)
mad r3.xw, cb0[1].xxxy, r5.xxxy, cb0[1].zzzw
mul r7.yz, r7.wwww, r3.xxwx
add r3.x, -r1.w, r7.w
mul r3.x, r1.z, r3.x
mad r7.x, -r3.x, -cb0[1].z, r7.y
add r4.yzw, -r2.xxzw, r7.xxzw
dp3 r3.x, r4.yzwy, r4.yzwy
dp3 r3.w, r0.xywx, r4.yzwy
rsq r4.y, r3.x
mad_sat r3.w, r3.w, r4.y, -cb0[2].w
mad_sat r3.x, r3.x, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.x, r3.z
mul r3.yz, r3.yyyy, r6.xxwx
round_ne r3.yz, r3.yyzy
mad r5.xy, r3.yzyy, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.w, r5.xyzx, t0.yzwx, s0, l(0.000000)
mad r3.yz, cb0[1].xxyx, r5.xxyx, cb0[1].zzwz
mul r7.yz, r7.wwww, r3.yyzy
add r3.y, -r1.w, r7.w
mul r3.y, r1.z, r3.y
mad r7.x, -r3.y, -cb0[1].z, r7.y
add r3.yzw, -r2.xxzw, r7.xxzw
dp3 r4.y, r3.yzwy, r3.yzwy
dp3 r3.y, r0.xywx, r3.yzwy
rsq r3.z, r4.y
mad_sat r3.y, r3.y, r3.z, -cb0[2].w
mad_sat r3.z, r4.y, cb0[2].z, l(1.000000)
mad r3.x, r3.y, r3.z, r3.x
mul r3.yz, r4.xxxx, r6.xxwx
round_ne r3.yz, r3.yyzy
mad r4.xy, r3.yzyy, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.w, r4.xyzx, t0.yzwx, s0, l(0.000000)
mad r3.yz, cb0[1].xxyx, r4.xxyx, cb0[1].zzwz
mul r5.yz, r5.wwww, r3.yyzy
add r3.y, -r1.w, r5.w
mul r3.y, r1.z, r3.y
mad r5.x, -r3.y, -cb0[1].z, r5.y
add r3.yzw, -r2.xxzw, r5.xxzw
dp3 r4.x, r3.yzwy, r3.yzwy
dp3 r3.y, r0.xywx, r3.yzwy
rsq r3.z, r4.x
mad_sat r3.y, r3.y, r3.z, -cb0[2].w
mad_sat r3.z, r4.x, cb0[2].z, l(1.000000)
mad r3.x, r3.y, r3.z, r3.x
mul r3.yz, r0.zzzz, r6.xxwx
round_ne r3.yz, r3.yyzy
mad r4.xy, r3.yzyy, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.w, r4.xyzx, t0.yzwx, s0, l(0.000000)
mad r1.xy, cb0[1].xyxx, r4.xyxx, cb0[1].zwzz
mul r5.yz, r5.wwww, r1.xxyx
add r0.z, -r1.w, r5.w
mul r0.z, r0.z, r1.z
mad r5.x, -r0.z, -cb0[1].z, r5.y
add r1.xyz, -r2.xzwx, r5.xzwx
dp3 r0.z, r1.xyzx, r1.xyzx
dp3 r0.x, r0.xywx, r1.xyzx
rsq r0.y, r0.z
mad_sat r0.x, r0.x, r0.y, -cb0[2].w
mad_sat r0.y, r0.z, cb0[2].z, l(1.000000)
mad r0.x, r0.x, r0.y, r3.x
mul r0.x, r0.x, cb0[3].y
mad r0.x, r2.y, l(8.000000), r0.x
mad_sat o0.x, r0.x, l(-0.062500), l(1.000000)
ret
// Approximately 591 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.181 on Sun Dec 31 00:18:18 2023
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[2] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[4] : packoffset(c0);
// }
//
// SamplerState s0_s_s : register(s0);
// Texture2DArray<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   float2 v1 : TEXCOORD0,
//   out float o0 : SV_TARGET0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = floor(v0.xy);
//   r0.xy = r0.xy * float2(4,4) + cb2[1].xy;
//   r0.zw = cb0[0].xy * r0.xy;
//   r1.xy = float2(0.25,0.25) * r0.zw;
//   r1.z = 0;
//   r2.w = t0.SampleLevel(s0_s_s, r1.xyz, 0).x;
//   r0.z = cb0[2].x / r2.w;
//   r0.w = cmp(r0.z < 1);
//   if (r0.w != 0) {
//     o0.x = 1;
//     return;
//   }
//   r1.zw = StereoParams.Load(float4(0,0,0,0)).xy;
//   r3.xy = cb0[1].xy * r1.xy + cb0[1].zw;
//   r2.yz = r3.xy * r2.ww;
//   r0.w = r2.w + -r1.w;
//   r0.w = r1.z * r0.w;
//   r2.x = -r0.w * -cb0[1].z + r2.y;
//   r0.xy = trunc(r0.xy);
//   r3.xy = (int2)r0.xy;
//   r3.zw = float2(0,0);
//   r3.xyzw = t1.Load(r3.xyz).xyzw;
//   r0.xyw = r3.xyz * float3(2,2,2) + float3(-1,-1,-1);
//   r2.y = cb0[3].x * r3.w;
//   r3.x = 0.0500000007 * r0.z;
//   r3.x = cb2[0].z * r3.x + 1;
//   r3.yz = cb2[0].xy * r3.xx;
//   r3.yz = round(r3.yz);
//   r4.xy = r3.yz * cb0[0].xy + r1.xy;
//   r4.z = 0;
//   r5.w = t0.SampleLevel(s0_s_s, r4.xyz, 0).x;
//   r3.yz = cb0[1].xy * r4.xy + cb0[1].zw;
//   r5.yz = r3.yz * r5.ww;
//   r3.y = r5.w + -r1.w;
//   r3.y = r3.y * r1.z;
//   r5.x = -r3.y * -cb0[1].z + r5.y;
//   r3.y = r0.z * 0.0500000007 + r3.x;
//   r4.xyz = r5.xzw + -r2.xzw;
//   r3.z = dot(r4.xyz, r4.xyz);
//   r3.w = dot(r0.xyw, r4.xyz);
//   r4.x = rsqrt(r3.z);
//   r3.w = saturate(r3.w * r4.x + -cb0[2].w);
//   r3.z = saturate(r3.z * cb0[2].z + 1);
//   r4.xy = cb2[0].xy * r3.yy;
//   r4.xy = round(r4.xy);
//   r4.xy = r4.xy * cb0[0].xy + r1.xy;
//   r4.z = 0;
//   r5.w = t0.SampleLevel(s0_s_s, r4.xyz, 0).x;
//   r4.xy = cb0[1].xy * r4.xy + cb0[1].zw;
//   r5.yz = r4.xy * r5.ww;
//   r4.x = r5.w + -r1.w;
//   r4.x = r4.x * r1.z;
//   r5.x = -r4.x * -cb0[1].z + r5.y;
//   r4.x = r0.z * 0.0500000007 + r3.y;
//   r4.yzw = r5.xzw + -r2.xzw;
//   r5.x = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r5.x);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r4.z = saturate(r5.x * cb0[2].z + 1);
//   r4.y = r4.y * r4.z;
//   r3.z = r3.w * r3.z + r4.y;
//   r4.yz = cb2[0].xy * r4.xx;
//   r4.yz = round(r4.yz);
//   r5.xy = r4.yz * cb0[0].xy + r1.xy;
//   r5.z = 0;
//   r6.w = t0.SampleLevel(s0_s_s, r5.xyz, 0).x;
//   r4.yz = cb0[1].xy * r5.xy + cb0[1].zw;
//   r6.yz = r4.yz * r6.ww;
//   r3.w = r6.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r6.x = -r3.w * -cb0[1].z + r6.y;
//   r0.z = r0.z * 0.0500000007 + r4.x;
//   r4.yzw = r6.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = cb2[0].xy * r0.zz;
//   r4.yz = round(r4.yz);
//   r5.xy = r4.yz * cb0[0].xy + r1.xy;
//   r5.z = 0;
//   r6.w = t0.SampleLevel(s0_s_s, r5.xyz, 0).x;
//   r4.yz = cb0[1].xy * r5.xy + cb0[1].zw;
//   r6.yz = r4.yz * r6.ww;
//   r3.w = r6.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r6.x = -r3.w * -cb0[1].z + r6.y;
//   r4.yzw = r6.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = float2(0.707106769,0.707106769) * cb2[0].xy;
//   r5.x = cb2[0].x * 0.707106769 + -r4.z;
//   r5.y = r4.z + r4.y;
//   r5.zw = r5.xy * r3.xx;
//   r5.zw = round(r5.zw);
//   r6.xy = r5.zw * cb0[0].xy + r1.xy;
//   r6.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r6.xyz, 0).x;
//   r5.zw = cb0[1].xy * r6.xy + cb0[1].zw;
//   r7.yz = r5.zw * r7.ww;
//   r3.w = r7.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r7.x = -r3.w * -cb0[1].z + r7.y;
//   r6.xyz = r7.xzw + -r2.xzw;
//   r3.w = dot(r6.xyz, r6.xyz);
//   r4.w = dot(r0.xyw, r6.xyz);
//   r5.z = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.zw = r5.xy * r3.yy;
//   r5.zw = round(r5.zw);
//   r6.xy = r5.zw * cb0[0].xy + r1.xy;
//   r6.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r6.xyz, 0).x;
//   r5.zw = cb0[1].xy * r6.xy + cb0[1].zw;
//   r7.yz = r5.zw * r7.ww;
//   r3.w = r7.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r7.x = -r3.w * -cb0[1].z + r7.y;
//   r6.xyz = r7.xzw + -r2.xzw;
//   r3.w = dot(r6.xyz, r6.xyz);
//   r4.w = dot(r0.xyw, r6.xyz);
//   r5.z = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.zw = r5.xy * r4.xx;
//   r5.zw = round(r5.zw);
//   r6.xy = r5.zw * cb0[0].xy + r1.xy;
//   r6.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r6.xyz, 0).x;
//   r5.zw = cb0[1].xy * r6.xy + cb0[1].zw;
//   r7.yz = r5.zw * r7.ww;
//   r3.w = r7.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r7.x = -r3.w * -cb0[1].z + r7.y;
//   r6.xyz = r7.xzw + -r2.xzw;
//   r3.w = dot(r6.xyz, r6.xyz);
//   r4.w = dot(r0.xyw, r6.xyz);
//   r5.z = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.xy = r5.xy * r0.zz;
//   r5.xy = round(r5.xy);
//   r5.xy = r5.xy * cb0[0].xy + r1.xy;
//   r5.z = 0;
//   r6.w = t0.SampleLevel(s0_s_s, r5.xyz, 0).x;
//   r5.xy = cb0[1].xy * r5.xy + cb0[1].zw;
//   r6.yz = r5.xy * r6.ww;
//   r3.w = r6.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r6.x = -r3.w * -cb0[1].z + r6.y;
//   r5.xyz = r6.xzw + -r2.xzw;
//   r3.w = dot(r5.xyz, r5.xyz);
//   r4.w = dot(r0.xyw, r5.xyz);
//   r5.x = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.x + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.x = cb2[0].x * 1.79489656e-09 + -cb2[0].y;
//   r5.y = cb2[0].y * 1.79489656e-09 + cb2[0].x;
//   r5.zw = r5.xy * r3.xx;
//   r5.zw = round(r5.zw);
//   r6.xy = r5.zw * cb0[0].xy + r1.xy;
//   r6.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r6.xyz, 0).x;
//   r5.zw = cb0[1].xy * r6.xy + cb0[1].zw;
//   r7.yz = r5.zw * r7.ww;
//   r3.w = r7.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r7.x = -r3.w * -cb0[1].z + r7.y;
//   r6.xyz = r7.xzw + -r2.xzw;
//   r3.w = dot(r6.xyz, r6.xyz);
//   r4.w = dot(r0.xyw, r6.xyz);
//   r5.z = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.zw = r5.xy * r3.yy;
//   r5.zw = round(r5.zw);
//   r6.xy = r5.zw * cb0[0].xy + r1.xy;
//   r6.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r6.xyz, 0).x;
//   r5.zw = cb0[1].xy * r6.xy + cb0[1].zw;
//   r7.yz = r5.zw * r7.ww;
//   r3.w = r7.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r7.x = -r3.w * -cb0[1].z + r7.y;
//   r6.xyz = r7.xzw + -r2.xzw;
//   r3.w = dot(r6.xyz, r6.xyz);
//   r4.w = dot(r0.xyw, r6.xyz);
//   r5.z = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.zw = r5.xy * r4.xx;
//   r5.zw = round(r5.zw);
//   r6.xy = r5.zw * cb0[0].xy + r1.xy;
//   r6.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r6.xyz, 0).x;
//   r5.zw = cb0[1].xy * r6.xy + cb0[1].zw;
//   r7.yz = r5.zw * r7.ww;
//   r3.w = r7.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r7.x = -r3.w * -cb0[1].z + r7.y;
//   r6.xyz = r7.xzw + -r2.xzw;
//   r3.w = dot(r6.xyz, r6.xyz);
//   r4.w = dot(r0.xyw, r6.xyz);
//   r5.z = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.xy = r5.xy * r0.zz;
//   r5.xy = round(r5.xy);
//   r5.xy = r5.xy * cb0[0].xy + r1.xy;
//   r5.z = 0;
//   r6.w = t0.SampleLevel(s0_s_s, r5.xyz, 0).x;
//   r5.xy = cb0[1].xy * r5.xy + cb0[1].zw;
//   r6.yz = r5.xy * r6.ww;
//   r3.w = r6.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r6.x = -r3.w * -cb0[1].z + r6.y;
//   r5.xyz = r6.xzw + -r2.xzw;
//   r3.w = dot(r5.xyz, r5.xyz);
//   r4.w = dot(r0.xyw, r5.xyz);
//   r5.x = rsqrt(r3.w);
//   r4.w = saturate(r4.w * r5.x + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.w * r3.w + r3.z;
//   r5.xy = float2(-0.707106769,-0.707106769) * cb2[0].yx;
//   r6.y = cb2[0].x * -0.707106769 + -r4.z;
//   r6.zw = cb2[0].yx * float2(-0.707106769,-0.707106769) + r4.yz;
//   r4.yz = r6.yz * r3.xx;
//   r4.yz = round(r4.yz);
//   r7.xy = r4.yz * cb0[0].xy + r1.xy;
//   r7.z = 0;
//   r8.w = t0.SampleLevel(s0_s_s, r7.xyz, 0).x;
//   r4.yz = cb0[1].xy * r7.xy + cb0[1].zw;
//   r8.yz = r4.yz * r8.ww;
//   r3.w = r8.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r8.x = -r3.w * -cb0[1].z + r8.y;
//   r4.yzw = r8.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r6.yz * r3.yy;
//   r4.yz = round(r4.yz);
//   r7.xy = r4.yz * cb0[0].xy + r1.xy;
//   r7.z = 0;
//   r8.w = t0.SampleLevel(s0_s_s, r7.xyz, 0).x;
//   r4.yz = cb0[1].xy * r7.xy + cb0[1].zw;
//   r8.yz = r4.yz * r8.ww;
//   r3.w = r8.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r8.x = -r3.w * -cb0[1].z + r8.y;
//   r4.yzw = r8.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r6.yz * r4.xx;
//   r4.yz = round(r4.yz);
//   r7.xy = r4.yz * cb0[0].xy + r1.xy;
//   r7.z = 0;
//   r8.w = t0.SampleLevel(s0_s_s, r7.xyz, 0).x;
//   r4.yz = cb0[1].xy * r7.xy + cb0[1].zw;
//   r8.yz = r4.yz * r8.ww;
//   r3.w = r8.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r8.x = -r3.w * -cb0[1].z + r8.y;
//   r4.yzw = r8.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r6.yz * r0.zz;
//   r4.yz = round(r4.yz);
//   r7.xy = r4.yz * cb0[0].xy + r1.xy;
//   r7.z = 0;
//   r8.w = t0.SampleLevel(s0_s_s, r7.xyz, 0).x;
//   r4.yz = cb0[1].xy * r7.xy + cb0[1].zw;
//   r8.yz = r4.yz * r8.ww;
//   r3.w = r8.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r8.x = -r3.w * -cb0[1].z + r8.y;
//   r4.yzw = r8.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r7.y = cb2[0].y * -3.58979313e-09 + -cb2[0].x;
//   r7.zw = cb2[0].xy * float2(3.58979313e-09,-5.38468914e-09) + -cb2[0].yx;
//   r4.yz = r7.yz * r3.xx;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r7.yz * r3.yy;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r7.yz * r4.xx;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r7.yz * r0.zz;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r8.x = cb2[0].x * -0.707106769 + -r5.x;
//   r8.y = r5.x + r5.y;
//   r4.yz = r8.xy * r3.xx;
//   r4.yz = round(r4.yz);
//   r9.xy = r4.yz * cb0[0].xy + r1.xy;
//   r9.z = 0;
//   r10.w = t0.SampleLevel(s0_s_s, r9.xyz, 0).x;
//   r4.yz = cb0[1].xy * r9.xy + cb0[1].zw;
//   r10.yz = r4.yz * r10.ww;
//   r3.w = r10.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r10.x = -r3.w * -cb0[1].z + r10.y;
//   r4.yzw = r10.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r8.xy * r3.yy;
//   r4.yz = round(r4.yz);
//   r9.xy = r4.yz * cb0[0].xy + r1.xy;
//   r9.z = 0;
//   r10.w = t0.SampleLevel(s0_s_s, r9.xyz, 0).x;
//   r4.yz = cb0[1].xy * r9.xy + cb0[1].zw;
//   r10.yz = r4.yz * r10.ww;
//   r3.w = r10.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r10.x = -r3.w * -cb0[1].z + r10.y;
//   r4.yzw = r10.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r8.xy * r4.xx;
//   r4.yz = round(r4.yz);
//   r9.xy = r4.yz * cb0[0].xy + r1.xy;
//   r9.z = 0;
//   r10.w = t0.SampleLevel(s0_s_s, r9.xyz, 0).x;
//   r4.yz = cb0[1].xy * r9.xy + cb0[1].zw;
//   r10.yz = r4.yz * r10.ww;
//   r3.w = r10.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r10.x = -r3.w * -cb0[1].z + r10.y;
//   r4.yzw = r10.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r8.xy * r0.zz;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r7.x = cb2[0].x * -5.38468914e-09 + cb2[0].y;
//   r4.yz = r7.xw * r3.xx;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r7.xw * r3.yy;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r7.xw * r4.xx;
//   r4.yz = round(r4.yz);
//   r8.xy = r4.yz * cb0[0].xy + r1.xy;
//   r8.z = 0;
//   r9.w = t0.SampleLevel(s0_s_s, r8.xyz, 0).x;
//   r4.yz = cb0[1].xy * r8.xy + cb0[1].zw;
//   r9.yz = r4.yz * r9.ww;
//   r3.w = r9.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r9.x = -r3.w * -cb0[1].z + r9.y;
//   r4.yzw = r9.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r4.yz = r7.xw * r0.zz;
//   r4.yz = round(r4.yz);
//   r7.xy = r4.yz * cb0[0].xy + r1.xy;
//   r7.z = 0;
//   r8.w = t0.SampleLevel(s0_s_s, r7.xyz, 0).x;
//   r4.yz = cb0[1].xy * r7.xy + cb0[1].zw;
//   r8.yz = r4.yz * r8.ww;
//   r3.w = r8.w + -r1.w;
//   r3.w = r3.w * r1.z;
//   r8.x = -r3.w * -cb0[1].z + r8.y;
//   r4.yzw = r8.xzw + -r2.xzw;
//   r3.w = dot(r4.yzw, r4.yzw);
//   r4.y = dot(r0.xyw, r4.yzw);
//   r4.z = rsqrt(r3.w);
//   r4.y = saturate(r4.y * r4.z + -cb0[2].w);
//   r3.w = saturate(r3.w * cb0[2].z + 1);
//   r3.z = r4.y * r3.w + r3.z;
//   r6.x = cb2[0].x * 0.707106769 + -r5.x;
//   r3.xw = r6.xw * r3.xx;
//   r3.xw = round(r3.xw);
//   r5.xy = r3.xw * cb0[0].xy + r1.xy;
//   r5.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r5.xyz, 0).x;
//   r3.xw = cb0[1].xy * r5.xy + cb0[1].zw;
//   r7.yz = r3.xw * r7.ww;
//   r3.x = r7.w + -r1.w;
//   r3.x = r3.x * r1.z;
//   r7.x = -r3.x * -cb0[1].z + r7.y;
//   r4.yzw = r7.xzw + -r2.xzw;
//   r3.x = dot(r4.yzw, r4.yzw);
//   r3.w = dot(r0.xyw, r4.yzw);
//   r4.y = rsqrt(r3.x);
//   r3.w = saturate(r3.w * r4.y + -cb0[2].w);
//   r3.x = saturate(r3.x * cb0[2].z + 1);
//   r3.x = r3.w * r3.x + r3.z;
//   r3.yz = r6.xw * r3.yy;
//   r3.yz = round(r3.yz);
//   r5.xy = r3.yz * cb0[0].xy + r1.xy;
//   r5.z = 0;
//   r7.w = t0.SampleLevel(s0_s_s, r5.xyz, 0).x;
//   r3.yz = cb0[1].xy * r5.xy + cb0[1].zw;
//   r7.yz = r3.yz * r7.ww;
//   r3.y = r7.w + -r1.w;
//   r3.y = r3.y * r1.z;
//   r7.x = -r3.y * -cb0[1].z + r7.y;
//   r3.yzw = r7.xzw + -r2.xzw;
//   r4.y = dot(r3.yzw, r3.yzw);
//   r3.y = dot(r0.xyw, r3.yzw);
//   r3.z = rsqrt(r4.y);
//   r3.y = saturate(r3.y * r3.z + -cb0[2].w);
//   r3.z = saturate(r4.y * cb0[2].z + 1);
//   r3.x = r3.y * r3.z + r3.x;
//   r3.yz = r6.xw * r4.xx;
//   r3.yz = round(r3.yz);
//   r4.xy = r3.yz * cb0[0].xy + r1.xy;
//   r4.z = 0;
//   r5.w = t0.SampleLevel(s0_s_s, r4.xyz, 0).x;
//   r3.yz = cb0[1].xy * r4.xy + cb0[1].zw;
//   r5.yz = r3.yz * r5.ww;
//   r3.y = r5.w + -r1.w;
//   r3.y = r3.y * r1.z;
//   r5.x = -r3.y * -cb0[1].z + r5.y;
//   r3.yzw = r5.xzw + -r2.xzw;
//   r4.x = dot(r3.yzw, r3.yzw);
//   r3.y = dot(r0.xyw, r3.yzw);
//   r3.z = rsqrt(r4.x);
//   r3.y = saturate(r3.y * r3.z + -cb0[2].w);
//   r3.z = saturate(r4.x * cb0[2].z + 1);
//   r3.x = r3.y * r3.z + r3.x;
//   r3.yz = r6.xw * r0.zz;
//   r3.yz = round(r3.yz);
//   r4.xy = r3.yz * cb0[0].xy + r1.xy;
//   r4.z = 0;
//   r5.w = t0.SampleLevel(s0_s_s, r4.xyz, 0).x;
//   r1.xy = cb0[1].xy * r4.xy + cb0[1].zw;
//   r5.yz = r1.xy * r5.ww;
//   r0.z = r5.w + -r1.w;
//   r0.z = r1.z * r0.z;
//   r5.x = -r0.z * -cb0[1].z + r5.y;
//   r1.xyz = r5.xzw + -r2.xzw;
//   r0.z = dot(r1.xyz, r1.xyz);
//   r0.x = dot(r0.xyw, r1.xyz);
//   r0.y = rsqrt(r0.z);
//   r0.x = saturate(r0.x * r0.y + -cb0[2].w);
//   r0.y = saturate(r0.z * cb0[2].z + 1);
//   r0.x = r0.x * r0.y + r3.x;
//   r0.x = cb0[3].y * r0.x;
//   r0.x = r2.y * 8 + r0.x;
//   o0.x = saturate(r0.x * -0.0625 + 1);
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
