//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.164 on Sat May 23 17:50:05 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[35], dynamicIndexed
dcl_constantbuffer CB1[1], immediateIndexed
dcl_constantbuffer CB2[31], immediateIndexed
dcl_constantbuffer CB3[2], immediateIndexed
dcl_constantbuffer CB4[7], immediateIndexed
dcl_constantbuffer CB5[1], immediateIndexed
dcl_constantbuffer CB6[26], immediateIndexed
dcl_constantbuffer CB7[2], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture3d (float,float,float,float) 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_buffer (float,float,float,float) t4
dcl_resource_buffer (sint,sint,sint,sint) t5
dcl_resource_buffer (sint,sint,sint,sint) t6
dcl_resource_buffer (float,float,float,float) t7
dcl_resource_buffer (float,float,float,float) t8
dcl_resource_texture3d (float,float,float,float) t9
dcl_resource_buffer (float,float,float,float) t10
dcl_uav_typed_buffer (sint,sint,sint,sint) u0
dcl_uav_typed_buffer (float,float,float,float) u1
dcl_uav_typed_buffer (uint,uint,uint,uint) u2
dcl_uav_typed_buffer (sint,sint,sint,sint) u3
dcl_input vThreadIDInGroup.x
dcl_input vThreadID.xy
dcl_temps 74
dcl_tgsm_structured g0, 4, 64
dcl_tgsm_structured g1, 4, 16
dcl_tgsm_structured g2, 4, 4
dcl_tgsm_raw g3, 4
dcl_thread_group 64, 1, 1
imad r0.y, vThreadID.y, cb0[9].z, vThreadID.x
iadd r1.x, r0.y, cb0[20].y
ieq r1.y, cb0[22].x, l(-1)
ld_uav_typed_indexable(buffer)(uint,uint,uint,uint) r1.z, cb0[22].xxxx, u2.yzxw
movc r2.x, r1.y, l(0), r1.z
ieq r1.y, cb0[23].x, l(-1)
ld_uav_typed_indexable(buffer)(uint,uint,uint,uint) r1.z, cb0[23].xxxx, u2.yzxw
movc r3.x, r1.y, cb0[23].y, r1.z
ilt r1.y, l(0), r3.x
ult r1.z, r1.x, r3.x
ine r1.w, cb0[21].w, l(1)
and r3.y, r1.w, r1.z
ieq r1.w, cb0[21].w, l(1)
and r3.z, r1.w, r1.z
iadd r1.z, r2.x, cb0[20].x
ult r1.w, r1.x, r2.x
iadd r1.z, r1.z, cb0[20].y
ult r1.z, r1.x, r1.z
and r2.y, r1.z, r1.w
uge r1.w, r1.x, r2.x
and r2.z, r1.z, r1.w
movc r2.xyz, r1.yyyy, r3.xyzx, r2.xyzx
if_nz r2.y
  ine r1.z, cb4[2].y, l(0)
  ine r1.w, cb4[4].w, l(0)
  ld_indexable(buffer)(float,float,float,float) r2.w, r1.xxxx, t4.yzwx
  iadd r3.x, r1.x, cb0[20].z
  ld_indexable(buffer)(float,float,float,float) r3.y, r3.xxxx, t4.yxzw
  ishl r4.xyzw, cb0[20].zzzz, l(1, 2, 3, 4)
  iadd r4.xyzw, r1.xxxx, r4.xyzw
  ld_indexable(buffer)(float,float,float,float) r3.z, r4.xxxx, t4.yzxw
  imad r5.xyzw, l(3, 5, 6, 7), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r3.w, r5.xxxx, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r6.x, r4.yyyy, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r6.y, r5.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r7.x, r5.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r7.y, r5.wwww, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r7.z, r4.zzzz, t4.yzxw
  imad r8.xyzw, l(9, 10, 11, 12), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r9.x, r8.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r9.y, r8.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r9.z, r8.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r6.z, r8.wwww, t4.yzxw
  imad r10.xyzw, l(13, 14, 15, 17), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r7.w, r10.xxxx, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r11.x, r10.yyyy, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r11.y, r10.zzzz, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r11.z, r4.wwww, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r4.w, r10.wwww, t4.yzwx
  imad r12.xyzw, l(18, 19, 20, 21), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r13.x, r12.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r13.y, r12.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r13.z, r12.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r10.y, r12.wwww, t4.wxyz
  imad r12.xyzw, l(22, 23, 24, 25), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r10.z, r12.xxxx, t4.wyxz
  ld_indexable(buffer)(float,float,float,float) r10.w, r12.yyyy, t4.wyzx
  ld_indexable(buffer)(float,float,float,float) r6.w, r12.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r13.w, r12.wwww, t4.yzwx
  imad r12.xyzw, l(26, 27, 28, 29), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r14.x, r12.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r14.y, r12.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r14.z, r12.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r12.x, r12.wwww, t4.xyzw
  imad r15.xyzw, l(30, 31, 33, 34), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r12.y, r15.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r12.z, r15.yyyy, t4.yzxw
  ishl r16.xyz, cb0[20].zzzz, l(5, 6, 7, 0)
  iadd r16.xyz, r1.xxxx, r16.xyzx
  ld_indexable(buffer)(float,float,float,float) r9.w, r16.xxxx, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r14.w, r15.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r15.x, r15.wwww, t4.xyzw
  imad r17.xyzw, l(35, 36, 37, 38), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r15.y, r17.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r15.z, r17.yyyy, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r11.w, r17.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r17.x, r17.wwww, t4.xyzw
  imad r18.xyzw, l(39, 40, 41, 42), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r17.y, r18.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r17.z, r18.yyyy, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r18.x, r18.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r18.y, r18.wwww, t4.yxzw
  imad r19.xyzw, l(43, 44, 45, 46), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r18.z, r19.xxxx, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r16.x, r19.yyyy, t4.xzwy
  ld_indexable(buffer)(float,float,float,float) r16.w, r19.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r19.x, r19.wwww, t4.xyzw
  imad r20.xyzw, l(47, 48, 49, 50), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r19.y, r20.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r19.z, r20.yyyy, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r20.x, r20.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r20.y, r20.wwww, t4.yxzw
  imad r21.xyzw, l(51, 52, 53, 54), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r20.z, r21.xxxx, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r12.w, r21.yyyy, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r19.w, r21.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r21.x, r21.wwww, t4.xyzw
  imad r22.xyzw, l(55, 56, 57, 58), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r21.y, r22.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r21.z, r22.yyyy, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r15.w, r22.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r22.x, r22.wwww, t4.xyzw
  imad r23.xyzw, l(59, 60, 61, 62), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r22.y, r23.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r24.x, r23.yyyy, t4.xzwy
  ld_indexable(buffer)(float,float,float,float) r25.x, r23.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r25.y, r23.wwww, t4.yxzw
  imad r23.xyzw, l(63, 65, 66, 67), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r25.z, r23.xxxx, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r16.y, r16.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r26.y, r23.yyyy, t4.wxyz
  ld_indexable(buffer)(float,float,float,float) r26.z, r23.zzzz, t4.wyxz
  ld_indexable(buffer)(float,float,float,float) r26.w, r23.wwww, t4.wyzx
  imad r23.xyzw, l(68, 69, 70, 71), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r26.x, r23.xxxx, t4.xyzw
  ld_indexable(buffer)(sint,sint,sint,sint) r17.w, r1.xxxx, t5.yzwx
  ld_indexable(buffer)(float,float,float,float) r27.x, r23.yyyy, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r27.y, r23.zzzz, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r27.z, r23.wwww, t4.yzxw
  imad r23.xyzw, l(72, 73, 74, 75), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r28.x, r23.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r29.x, r23.yyyy, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r29.y, r23.zzzz, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r29.z, r23.wwww, t4.yzxw
  imad r23.xyzw, l(76, 77, 78, 79), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r29.w, r23.xxxx, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r18.w, r23.yyyy, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r23.x, r23.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r23.y, r23.wwww, t4.yxzw
  imad r30.xyzw, l(80, 81, 82, 83), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r23.z, r30.xxxx, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r20.w, r30.yyyy, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r21.w, r30.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r23.w, r30.wwww, t4.yzwx
  imad r30.xyzw, l(84, 85, 86, 87), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r31.x, r30.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r31.y, r30.yyyy, t4.yxzw
  ld_indexable(buffer)(sint,sint,sint,sint) r3.x, r3.xxxx, t5.xyzw
  ieq r3.x, r3.x, l(-1)
  ld_indexable(buffer)(float,float,float,float) r30.x, r30.zzzz, t4.xyzw
  ld_indexable(buffer)(sint,sint,sint,sint) r4.x, r4.xxxx, t5.xyzw
  ieq r4.x, r4.x, l(-1)
  ld_indexable(buffer)(float,float,float,float) r30.y, r30.wwww, t4.yxzw
  imad r32.xyzw, l(88, 89, 90, 91), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r30.z, r32.xxxx, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r33.x, r32.yyyy, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r33.y, r32.zzzz, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r32.x, r32.wwww, t4.xyzw
  imad r34.xyzw, l(92, 93, 94, 95), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r35.x, r34.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r35.y, r34.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r35.z, r34.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r30.w, r34.wwww, t4.yzwx
  imad r34.xyzw, l(96, 97, 98, 99), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r36.x, r34.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r36.y, r34.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r36.z, r34.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r34.x, r34.wwww, t4.xyzw
  imad r37.xyzw, l(100, 101, 102, 103), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r34.y, r37.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r34.z, r37.yyyy, t4.yzxw
  ld_indexable(buffer)(sint,sint,sint,sint) r5.x, r5.xxxx, t5.xyzw
  ieq r5.x, r5.x, l(-1)
  ld_indexable(buffer)(sint,sint,sint,sint) r4.y, r4.yyyy, t5.yxzw
  ieq r4.y, r4.y, l(-1)
  ld_indexable(buffer)(sint,sint,sint,sint) r5.y, r5.yyyy, t5.yxzw
  ld_indexable(buffer)(sint,sint,sint,sint) r5.z, r5.zzzz, t5.yzxw
  ld_indexable(buffer)(float,float,float,float) r37.x, r37.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r37.y, r37.wwww, t4.yxzw
  imad r38.xyzw, l(104, 105, 106, 107), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r37.z, r38.xxxx, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r31.z, r38.yyyy, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r39.x, r38.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r39.y, r38.wwww, t4.yxzw
  imad r38.xyzw, l(108, 109, 110, 111), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r39.z, r38.xxxx, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r39.w, r38.yyyy, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r31.w, r38.zzzz, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r33.w, r38.wwww, t4.yzwx
  imad r38.xyzw, l(112, 113, 114, 115), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r40.y, r38.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r41.y, r38.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r41.z, r38.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r41.w, r38.wwww, t4.yzwx
  ld_indexable(buffer)(sint,sint,sint,sint) r5.w, r5.wwww, t5.yzwx
  imad r38.xyzw, l(116, 117, 118, 119), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r37.w, r38.xxxx, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r38.x, r38.yyyy, t4.xyzw
  ld_indexable(buffer)(sint,sint,sint,sint) r4.z, r4.zzzz, t5.yzxw
  ieq r4.z, r4.z, l(-1)
  ld_indexable(buffer)(sint,sint,sint,sint) r8.x, r8.xxxx, t5.xyzw
  ieq r42.x, r8.x, l(-1)
  ld_indexable(buffer)(sint,sint,sint,sint) r8.x, r8.yyyy, t5.xyzw
  ieq r42.y, r8.x, l(-1)
  ld_indexable(buffer)(float,float,float,float) r24.y, r38.zzzz, t4.zxyw
  ld_indexable(buffer)(float,float,float,float) r38.z, r38.wwww, t4.wzxy
  imad r43.xyzw, l(120, 121, 122, 123), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r38.w, r43.xxxx, t4.wzyx
  ld_indexable(buffer)(float,float,float,float) r44.x, r43.yyyy, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r44.y, r43.zzzz, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r44.z, r43.wwww, t4.yzxw
  imad r43.xyzw, l(124, 125, 126, 127), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r8.x, r43.xxxx, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r8.y, r43.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r42.z, r43.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r42.w, r43.wwww, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r16.z, r16.zzzz, t4.yzxw
  imad r43.xyzw, l(129, 146, 147, 148), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r43.x, r43.xxxx, t4.xyzw
  ld_indexable(buffer)(sint,sint,sint,sint) r8.z, r8.zzzz, t5.yzxw
  ld_indexable(buffer)(float,float,float,float) r45.y, r43.yyyy, t4.zxyw
  ld_indexable(buffer)(float,float,float,float) r45.z, r43.zzzz, t4.zyxw
  ld_indexable(buffer)(float,float,float,float) r45.x, r43.wwww, t4.xyzw
  imad r46.xyzw, l(149, 150, 151, 152), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r43.y, r46.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r43.z, r46.yyyy, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r46.z, r46.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r47.x, r46.wwww, t4.xyzw
  imad r48.xyzw, l(153, 154, 155, 156), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r43.w, r48.xxxx, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r49.y, r48.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r49.z, r48.zzzz, t4.yzxw
  ld_indexable(buffer)(float,float,float,float) r44.w, r48.wwww, t4.yzwx
  imad r48.xyzw, l(157, 158, 159, 160), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r46.w, r48.xxxx, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r47.w, r48.yyyy, t4.yzwx
  ld_indexable(buffer)(float,float,float,float) r48.x, r48.zzzz, t4.xyzw
  ld_indexable(buffer)(float,float,float,float) r50.x, r48.wwww, t4.xyzw
  imad r51.xyzw, l(161, 162, 163, 164), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r50.y, r51.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r48.y, r51.yyyy, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r50.w, r51.zzzz, t4.yzwx
  ld_indexable(buffer)(sint,sint,sint,sint) r8.w, r8.wwww, t5.yzwx
  ld_indexable(buffer)(float,float,float,float) r48.z, r51.wwww, t4.yzxw
  imad r51.xy, l(165, 166, 0, 0), cb0[20].zzzz, r1.xxxx
  ld_indexable(buffer)(float,float,float,float) r52.y, r51.xxxx, t4.yxzw
  ld_indexable(buffer)(float,float,float,float) r52.z, r51.yyyy, t4.yzxw
  ld_indexable(buffer)(sint,sint,sint,sint) r10.x, r10.xxxx, t5.xyzw
  mov r48.w, l(-1)
  mov r49.w, l(-1)
  mov r51.x, cb3[1].x
  mov r51.yzw, cb1[0].zzxy
  mov r53.xyz, cb2[25].xyzx
  mov r54.xyz, cb2[30].xyzx
  mov r55.xyz, cb4[3].xyzx
  mov r52.x, r48.z
  mov r53.w, r49.y
  mov r54.w, r49.z
  mov r46.xy, r43.yzyy
  mov r56.xyz, cb4[5].xyzx
  mov r49.x, r43.w
  mov r40.xzw, r41.yyzw
  mov r41.x, r40.y
  mov r55.w, r46.z
  mov r56.w, cb4[4].z
  mov r38.y, r24.y
  mov r24.zw, r38.zzzw
  mov r57.xy, r52.yzyy
  mov r57.zw, cb4[6].xxxy
  mov r59.xy, cb4[4].xyxx
  mov r58.xy, cb4[6].wzww
else
  if_nz r2.z
    if_nz r1.y
      mov r1.y, l(0)
      mov r58.z, r2.x
      mov r58.w, l(0)
      mov r59.z, l(0)
      mov r59.w, r1.x
    else
      iadd r60.x, r1.x, -r2.x
      ige r61.xyzw, r60.xxxx, cb0[10].xyzw
      and r61.xyzw, r61.xyzw, l(1, 1, 1, 1)
      iadd r60.y, r61.y, r61.x
      iadd r60.y, r61.z, r60.y
      iadd r60.y, r61.w, r60.y
      ige r61.xyzw, r60.xxxx, cb0[11].xyzw
      and r61.xyzw, r61.xyzw, l(1, 1, 1, 1)
      iadd r60.z, r61.y, r61.x
      iadd r60.z, r61.z, r60.z
      iadd r60.z, r61.w, r60.z
      iadd r60.y, r60.z, r60.y
      iadd r59.w, r60.x, -cb0[r60.y + 12].w
      ieq r60.x, r60.y, l(7)
      if_nz r60.x
        iadd r58.z, cb0[20].x, -cb0[r60.y + 12].w
      else
        iadd r58.z, -cb0[r60.y + 12].w, cb0[r60.y + 13].w
      endif
      mov r1.y, cb0[r60.y + 12].z
      mov r58.w, cb0[r60.y + 12].x
      mov r59.z, cb0[r60.y + 12].y
    endif
    ine r1.z, cb4[2].y, l(0)
    ine r1.w, cb4[4].w, l(0)
    iadd r1.x, r1.x, -r2.x
    ld_indexable(buffer)(sint,sint,sint,sint) r5.y, r1.xxxx, t6.yxzw
    iadd r8.w, r59.w, cb3[0].y
    itof r1.x, r59.w
    mad r2.x, r58.w, r1.x, r59.z
    add r51.z, -r2.x, cb1[0].x
    div r51.w, l(1.000000, 1.000000, 1.000000, 1.000000), r51.z
    mul r2.x, r2.x, cb1[0].y
    add r58.w, cb1[0].z, -cb5[0].z
    mad r58.w, r2.x, r58.w, cb5[0].z
    add r60.xyz, cb2[25].xyzx, -cb6[25].xyzx
    mad r60.xyz, r2.xxxx, r60.xyzx, cb6[25].xyzx
    add r61.xyz, cb4[0].xyzx, -cb7[0].xyzx
    mad r61.xyz, r2.xxxx, r61.xyzx, cb7[0].xyzx
    add r62.xyz, cb4[1].xyzx, -cb7[1].xyzx
    mad r47.xyz, r2.xxxx, r62.xyzx, cb7[1].xyzx
    mov r0.x, cb0[9].w
    imad r59.zw, r0.yyyx, l(0, 0, 0x0019660d, 0x0019660d), l(0, 0, 0x3c6ef35f, 0x3c6ef35f)
    imad r62.xyzw, r59.zzzz, r59.zzzz, l(0x3c3c2745, 0x3c22c138, 0x3c095b2b, 0x3beff51e)
    imad r63.xyzw, r59.wwww, r62.xyzw, r59.zzzz
    imad r64.xyzw, r62.xyzw, r63.xyzw, r59.wwww
    imad r64.xyzw, r63.xyzw, r64.xyzw, r59.zzzz
    imad r62.xyzw, r63.xyzw, r64.xyzw, r62.xyzw
    ishr r62.xyzw, r62.xyzw, l(8, 8, 8, 8)
    and r62.xyzw, r62.xyzw, l(0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff)
    utof r62.xyzw, r62.xyzw
    mul r62.xyz, r61.xyzx, r62.xyzx
    mul r62.xyz, r62.xyzx, l(5.960464478E-08, 5.960464478E-08, 5.960464478E-08, 0.000000)
    mad r61.xyz, r61.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000), r62.xyzx
    add r60.xyz, r60.xyzx, r61.xyzx
    mul r33.w, r62.w, l(5.960464478E-08)
    iadd r2.x, r58.z, l(-1)
    itof r2.x, r2.x
    div r1.x, r1.x, r2.x
    add r1.x, r1.x, -cb0[24].y
    mul_sat r1.x, r1.x, cb0[24].w
    mul r2.x, r1.x, cb0[25].x
    round_ni r2.x, r2.x
    lt r58.z, r2.x, cb0[25].x
    add r61.x, r2.x, l(1.000000)
    movc r58.z, r58.z, r61.x, r2.x
    mad r1.x, r1.x, cb0[25].x, -r2.x
    ftou r2.x, r2.x
    ld_indexable(buffer)(float,float,float,float) r2.x, r2.xxxx, t7.xyzw
    ftou r58.z, r58.z
    ld_indexable(buffer)(float,float,float,float) r58.z, r58.zzzz, t7.yzxw
    add r58.z, -r2.x, r58.z
    mad r1.x, r1.x, r58.z, r2.x
    add r2.x, -r47.y, r47.z
    mad r43.w, r1.x, r2.x, r47.y
    mul r16.y, r43.w, l(20.000000)
    ieq r4.y, r1.y, l(1)
    add r61.xyz, r60.xyzx, -cb0[1].xyzx
    add r61.xyz, r61.xyzx, cb0[1].wwww
    max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r62.xyz, cb0[1].wwww, cb0[1].xyzx
    add r63.xyz, -r60.xyzx, r62.xyzx
    max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r61.xyz, r61.xyzx, r63.xyzx
    min r1.x, r61.z, r61.y
    min r1.x, r1.x, r61.x
    mul r1.y, cb0[1].w, cb0[9].y
    lt r2.x, r1.y, r1.x
    if_nz r2.x
      mad r61.xyz, r60.xyzx, cb0[5].wwww, cb0[5].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r61.w, r61.xyzx, t0.yzwx, s0, l(0.000000)
    else
      add r63.xyz, r60.xyzx, -cb0[2].xyzx
      add r63.xyz, r63.xyzx, cb0[2].wwww
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[2].wwww, cb0[2].xyzx
      add r64.xyz, -r60.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r63.xyz, r63.xyzx, r64.xyzx
      min r2.x, r63.z, r63.y
      min r2.x, r2.x, r63.x
      mul r47.y, cb0[2].w, cb0[9].y
      lt r2.x, r47.y, r2.x
      if_nz r2.x
        mad r63.xyz, r60.xyzx, cb0[6].wwww, cb0[6].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r61.w, r63.xyzx, t1.yzwx, s0, l(0.000000)
      else
        add r63.xyz, r60.xyzx, -cb0[3].xyzx
        add r63.xyz, r63.xyzx, cb0[3].wwww
        max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r64.xyz, cb0[3].wwww, cb0[3].xyzx
        add r64.xyz, -r60.xyzx, r64.xyzx
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r63.xyz, r63.xyzx, r64.xyzx
        min r2.x, r63.z, r63.y
        min r2.x, r2.x, r63.x
        add r63.xyz, r60.xyzx, -cb0[4].xyzx
        add r63.xyz, r63.xyzx, cb0[4].wwww
        max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r64.xyz, cb0[4].wwww, cb0[4].xyzx
        add r64.xyz, -r60.xyzx, r64.xyzx
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r63.xyz, r63.xyzx, r64.xyzx
        min r47.y, r63.z, r63.y
        min r47.y, r47.y, r63.x
        mul r47.z, cb0[3].w, cb0[9].y
        lt r2.x, r47.z, r2.x
        if_nz r2.x
          mad r63.xyz, r60.xyzx, cb0[7].wwww, cb0[7].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r61.w, r63.xyzx, t2.yzwx, s0, l(0.000000)
        else
          mul r2.x, cb0[4].w, cb0[9].y
          lt r2.x, r2.x, r47.y
          if_nz r2.x
            mul r2.x, r47.y, cb0[8].w
            mul_sat r2.x, r2.x, l(10.000000)
            mad r63.xyz, r60.xyzx, cb0[8].wwww, cb0[8].xyzx
            sample_l_indexable(texture3d)(float,float,float,float) r47.y, r63.xyzx, t3.yxzw, s0, l(0.000000)
            add r47.y, r47.y, -cb0[0].x
            mad r61.w, r2.x, r47.y, cb0[0].x
          else
            mov r61.w, cb0[0].x
          endif
        endif
      endif
    endif
    mul r2.x, cb0[9].y, l(4.000000)
    mul r47.y, r2.x, cb0[1].w
    lt r1.x, r47.y, r1.x
    if_nz r1.x
      mad r63.xyz, r60.xyzx, cb0[5].wwww, cb0[5].xyzx
      add r64.xyz, r63.xyzx, cb0[9].yyyy
      mov r63.w, r64.x
      sample_l_indexable(texture3d)(float,float,float,float) r1.x, r63.wyzw, t0.xyzw, s0, l(0.000000)
      add r65.xyw, r63.xyxz, -cb0[9].yyyy
      mov r66.xw, r65.xxxy
      mov r66.yz, r63.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r47.z, r66.xyzx, t0.yzxw, s0, l(0.000000)
      mov r66.xz, r63.xxzx
      mov r66.y, r64.y
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r66.xyzx, t0.yzxw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r62.w, r66.xwzx, t0.yzwx, s0, l(0.000000)
      mov r65.xy, r63.xyxx
      mov r65.z, r64.z
      sample_l_indexable(texture3d)(float,float,float,float) r63.x, r65.xyzx, t0.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r63.y, r65.xywx, t0.yxzw, s0, l(0.000000)
      add r64.x, r1.x, -r47.z
      add r64.y, r58.z, -r62.w
      add r64.z, -r63.y, r63.x
      mul r63.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r63.xyz, r63.xyzx, cb0[1].wwww
    else
      add r64.xyz, r60.xyzx, -cb0[2].xyzx
      add r64.xyz, r64.xyzx, cb0[2].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r65.xyz, cb0[2].wwww, cb0[2].xyzx
      add r65.xyz, -r60.xyzx, r65.xyzx
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r65.xyzx
      min r1.x, r64.z, r64.y
      min r1.x, r1.x, r64.x
      mul r47.z, r2.x, cb0[2].w
      lt r1.x, r47.z, r1.x
      if_nz r1.x
        mad r64.xyz, r60.xyzx, cb0[6].wwww, cb0[6].xyzx
        add r65.xyz, r64.xyzx, cb0[9].yyyy
        mov r64.w, r65.x
        sample_l_indexable(texture3d)(float,float,float,float) r1.x, r64.wyzw, t1.xyzw, s0, l(0.000000)
        add r66.xyw, r64.xyxz, -cb0[9].yyyy
        mov r67.xw, r66.xxxy
        mov r67.yz, r64.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r47.z, r67.xyzx, t1.yzxw, s0, l(0.000000)
        mov r67.xz, r64.xxzx
        mov r67.y, r65.y
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.xyzx, t1.yzxw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r67.xwzx, t1.yzwx, s0, l(0.000000)
        mov r66.xy, r64.xyxx
        mov r66.z, r65.z
        sample_l_indexable(texture3d)(float,float,float,float) r64.x, r66.xyzx, t1.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r64.y, r66.xywx, t1.yxzw, s0, l(0.000000)
        add r65.x, r1.x, -r47.z
        add r65.y, r58.z, -r62.w
        add r65.z, -r64.y, r64.x
        mul r64.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r63.xyz, r64.xyzx, cb0[2].wwww
      else
        add r64.xyz, r60.xyzx, -cb0[3].xyzx
        add r64.xyz, r64.xyzx, cb0[3].wwww
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r65.xyz, cb0[3].wwww, cb0[3].xyzx
        add r65.xyz, -r60.xyzx, r65.xyzx
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r64.xyz, r64.xyzx, r65.xyzx
        min r1.x, r64.z, r64.y
        min r1.x, r1.x, r64.x
        add r64.xyz, r60.xyzx, -cb0[4].xyzx
        add r64.xyz, r64.xyzx, cb0[4].wwww
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r65.xyz, cb0[4].wwww, cb0[4].xyzx
        add r65.xyz, -r60.xyzx, r65.xyzx
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r64.xyz, r64.xyzx, r65.xyzx
        min r47.z, r64.z, r64.y
        min r47.z, r47.z, r64.x
        mul r58.z, r2.x, cb0[3].w
        lt r1.x, r58.z, r1.x
        if_nz r1.x
          mad r64.xyz, r60.xyzx, cb0[7].wwww, cb0[7].xyzx
          add r65.xyz, r64.xyzx, cb0[9].yyyy
          mov r64.w, r65.x
          sample_l_indexable(texture3d)(float,float,float,float) r1.x, r64.wyzw, t2.xyzw, s0, l(0.000000)
          add r66.xyw, r64.xyxz, -cb0[9].yyyy
          mov r67.xw, r66.xxxy
          mov r67.yz, r64.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.xyzx, t2.yzxw, s0, l(0.000000)
          mov r67.xz, r64.xxzx
          mov r67.y, r65.y
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r67.xyzx, t2.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r64.z, r67.xwzx, t2.yzxw, s0, l(0.000000)
          mov r66.xy, r64.xyxx
          mov r66.z, r65.z
          sample_l_indexable(texture3d)(float,float,float,float) r64.x, r66.xyzx, t2.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r64.y, r66.xywx, t2.yxzw, s0, l(0.000000)
          add r65.x, r1.x, -r58.z
          add r65.y, r62.w, -r64.z
          add r65.z, -r64.y, r64.x
          mul r64.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r63.xyz, r64.xyzx, cb0[3].wwww
        else
          mul r1.x, r2.x, cb0[4].w
          lt r1.x, r1.x, r47.z
          if_nz r1.x
            mad r64.xyz, r60.xyzx, cb0[8].wwww, cb0[8].xyzx
            add r65.xyz, r64.xyzx, cb0[9].yyyy
            mov r64.w, r65.x
            sample_l_indexable(texture3d)(float,float,float,float) r1.x, r64.wyzw, t3.xyzw, s0, l(0.000000)
            add r66.xyw, r64.xyxz, -cb0[9].yyyy
            mov r67.xw, r66.xxxy
            mov r67.yz, r64.yyzy
            sample_l_indexable(texture3d)(float,float,float,float) r47.z, r67.xyzx, t3.yzxw, s0, l(0.000000)
            mov r67.xz, r64.xxzx
            mov r67.y, r65.y
            sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.xyzx, t3.yzxw, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r62.w, r67.xwzx, t3.yzwx, s0, l(0.000000)
            mov r66.xy, r64.xyxx
            mov r66.z, r65.z
            sample_l_indexable(texture3d)(float,float,float,float) r64.x, r66.xyzx, t3.xyzw, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r64.y, r66.xywx, t3.yxzw, s0, l(0.000000)
            add r65.x, r1.x, -r47.z
            add r65.y, r58.z, -r62.w
            add r65.z, -r64.y, r64.x
            mul r64.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
            div r63.xyz, r64.xyzx, cb0[4].wwww
          else
            mov r63.xyz, l(0,0,0.001000,0)
          endif
        endif
      endif
    endif
    lt r1.x, l(0.000000), cb0[0].x
    lt r47.z, l(0.000000), r61.w
    eq r64.xyz, r63.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
    and r58.z, r64.y, r64.x
    and r58.z, r64.z, r58.z
    and r47.z, r47.z, r58.z
    not r47.z, r47.z
    and r47.z, r1.x, r47.z
    dp3 r58.z, r63.xyzx, r63.xyzx
    sqrt r63.w, r58.z
    lt r58.z, r63.w, l(0.000010)
    movc r63.xyzw, r58.zzzz, l(0,0,0,1.000000), r63.xyzw
    div r63.xyz, r63.xyzx, r63.wwww
    movc r63.xyz, r58.zzzz, l(0,0,0,0), r63.xyzx
    mad r61.xyz, -r63.xyzx, r61.wwww, r60.xyzx
    mov r60.w, l(0)
    movc r61.xyzw, r47.zzzz, r61.xyzw, r60.xyzw
    add r63.xyz, r61.xyzx, -cb0[1].xyzx
    add r63.xyz, r63.xyzx, cb0[1].wwww
    max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r64.xyz, -r61.xyzx, r62.xyzx
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r63.xyz, r63.xyzx, r64.xyzx
    min r47.z, r63.z, r63.y
    min r47.z, r47.z, r63.x
    lt r58.z, r1.y, r47.z
    if_nz r58.z
      mad r63.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r63.w, r63.xyzx, t0.yzwx, s0, l(0.000000)
    else
      add r64.xyz, r61.xyzx, -cb0[2].xyzx
      add r64.xyz, r64.xyzx, cb0[2].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r65.xyz, cb0[2].wwww, cb0[2].xyzx
      add r65.xyz, -r61.xyzx, r65.xyzx
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r65.xyzx
      min r58.z, r64.z, r64.y
      min r58.z, r58.z, r64.x
      mul r60.w, cb0[2].w, cb0[9].y
      lt r58.z, r60.w, r58.z
      if_nz r58.z
        mad r64.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r63.w, r64.xyzx, t1.yzwx, s0, l(0.000000)
      else
        add r64.xyz, r61.xyzx, -cb0[3].xyzx
        add r64.xyz, r64.xyzx, cb0[3].wwww
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r65.xyz, cb0[3].wwww, cb0[3].xyzx
        add r65.xyz, -r61.xyzx, r65.xyzx
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r64.xyz, r64.xyzx, r65.xyzx
        min r58.z, r64.z, r64.y
        min r58.z, r58.z, r64.x
        add r64.xyz, r61.xyzx, -cb0[4].xyzx
        add r64.xyz, r64.xyzx, cb0[4].wwww
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r65.xyz, cb0[4].wwww, cb0[4].xyzx
        add r65.xyz, -r61.xyzx, r65.xyzx
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r64.xyz, r64.xyzx, r65.xyzx
        min r60.w, r64.z, r64.y
        min r60.w, r60.w, r64.x
        mul r62.w, cb0[3].w, cb0[9].y
        lt r58.z, r62.w, r58.z
        if_nz r58.z
          mad r64.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r63.w, r64.xyzx, t2.yzwx, s0, l(0.000000)
        else
          mul r58.z, cb0[4].w, cb0[9].y
          lt r58.z, r58.z, r60.w
          if_nz r58.z
            mul r58.z, r60.w, cb0[8].w
            mul_sat r58.z, r58.z, l(10.000000)
            mad r64.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
            sample_l_indexable(texture3d)(float,float,float,float) r60.w, r64.xyzx, t3.yzwx, s0, l(0.000000)
            add r60.w, r60.w, -cb0[0].x
            mad r63.w, r58.z, r60.w, cb0[0].x
          else
            mov r63.w, cb0[0].x
          endif
        endif
      endif
    endif
    lt r47.z, r47.y, r47.z
    if_nz r47.z
      mad r64.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
      add r65.xyz, r64.xyzx, cb0[9].yyyy
      mov r64.w, r65.x
      sample_l_indexable(texture3d)(float,float,float,float) r47.z, r64.wyzw, t0.yzxw, s0, l(0.000000)
      add r66.xyw, r64.xyxz, -cb0[9].yyyy
      mov r67.xw, r66.xxxy
      mov r67.yz, r64.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.xyzx, t0.yzxw, s0, l(0.000000)
      mov r67.xz, r64.xxzx
      mov r67.y, r65.y
      sample_l_indexable(texture3d)(float,float,float,float) r60.w, r67.xyzx, t0.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r62.w, r67.xwzx, t0.yzwx, s0, l(0.000000)
      mov r66.xy, r64.xyxx
      mov r66.z, r65.z
      sample_l_indexable(texture3d)(float,float,float,float) r64.x, r66.xyzx, t0.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r64.y, r66.xywx, t0.yxzw, s0, l(0.000000)
      add r65.x, r47.z, -r58.z
      add r65.y, r60.w, -r62.w
      add r65.z, -r64.y, r64.x
      mul r64.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r64.xyz, r64.xyzx, cb0[1].wwww
    else
      add r65.xyz, r61.xyzx, -cb0[2].xyzx
      add r65.xyz, r65.xyzx, cb0[2].wwww
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r66.xyz, cb0[2].wwww, cb0[2].xyzx
      add r66.xyz, -r61.xyzx, r66.xyzx
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r65.xyz, r65.xyzx, r66.xyzx
      min r47.z, r65.z, r65.y
      min r47.z, r47.z, r65.x
      mul r58.z, r2.x, cb0[2].w
      lt r47.z, r58.z, r47.z
      if_nz r47.z
        mad r65.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
        add r66.xyz, r65.xyzx, cb0[9].yyyy
        mov r65.w, r66.x
        sample_l_indexable(texture3d)(float,float,float,float) r47.z, r65.wyzw, t1.yzxw, s0, l(0.000000)
        add r67.xyw, r65.xyxz, -cb0[9].yyyy
        mov r68.xw, r67.xxxy
        mov r68.yz, r65.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r68.xyzx, t1.yzxw, s0, l(0.000000)
        mov r68.xz, r65.xxzx
        mov r68.y, r66.y
        sample_l_indexable(texture3d)(float,float,float,float) r60.w, r68.xyzx, t1.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xwzx, t1.yzwx, s0, l(0.000000)
        mov r67.xy, r65.xyxx
        mov r67.z, r66.z
        sample_l_indexable(texture3d)(float,float,float,float) r65.x, r67.xyzx, t1.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r65.y, r67.xywx, t1.yxzw, s0, l(0.000000)
        add r66.x, r47.z, -r58.z
        add r66.y, r60.w, -r62.w
        add r66.z, -r65.y, r65.x
        mul r65.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r64.xyz, r65.xyzx, cb0[2].wwww
      else
        add r65.xyz, r61.xyzx, -cb0[3].xyzx
        add r65.xyz, r65.xyzx, cb0[3].wwww
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r66.xyz, cb0[3].wwww, cb0[3].xyzx
        add r66.xyz, -r61.xyzx, r66.xyzx
        max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r65.xyz, r65.xyzx, r66.xyzx
        min r47.z, r65.z, r65.y
        min r47.z, r47.z, r65.x
        add r65.xyz, r61.xyzx, -cb0[4].xyzx
        add r65.xyz, r65.xyzx, cb0[4].wwww
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r66.xyz, cb0[4].wwww, cb0[4].xyzx
        add r66.xyz, -r61.xyzx, r66.xyzx
        max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r65.xyz, r65.xyzx, r66.xyzx
        min r58.z, r65.z, r65.y
        min r58.z, r58.z, r65.x
        mul r60.w, r2.x, cb0[3].w
        lt r47.z, r60.w, r47.z
        if_nz r47.z
          mad r65.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
          add r66.xyz, r65.xyzx, cb0[9].yyyy
          mov r65.w, r66.x
          sample_l_indexable(texture3d)(float,float,float,float) r47.z, r65.wyzw, t2.yzxw, s0, l(0.000000)
          add r67.xyw, r65.xyxz, -cb0[9].yyyy
          mov r68.xw, r67.xxxy
          mov r68.yz, r65.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r60.w, r68.xyzx, t2.yzwx, s0, l(0.000000)
          mov r68.xz, r65.xxzx
          mov r68.y, r66.y
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xyzx, t2.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r65.z, r68.xwzx, t2.yzxw, s0, l(0.000000)
          mov r67.xy, r65.xyxx
          mov r67.z, r66.z
          sample_l_indexable(texture3d)(float,float,float,float) r65.x, r67.xyzx, t2.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r65.y, r67.xywx, t2.yxzw, s0, l(0.000000)
          add r66.x, r47.z, -r60.w
          add r66.y, r62.w, -r65.z
          add r66.z, -r65.y, r65.x
          mul r65.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r64.xyz, r65.xyzx, cb0[3].wwww
        else
          mul r47.z, r2.x, cb0[4].w
          lt r47.z, r47.z, r58.z
          if_nz r47.z
            mad r65.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
            add r66.xyz, r65.xyzx, cb0[9].yyyy
            mov r65.w, r66.x
            sample_l_indexable(texture3d)(float,float,float,float) r47.z, r65.wyzw, t3.yzxw, s0, l(0.000000)
            add r67.xyw, r65.xyxz, -cb0[9].yyyy
            mov r68.xw, r67.xxxy
            mov r68.yz, r65.yyzy
            sample_l_indexable(texture3d)(float,float,float,float) r58.z, r68.xyzx, t3.yzxw, s0, l(0.000000)
            mov r68.xz, r65.xxzx
            mov r68.y, r66.y
            sample_l_indexable(texture3d)(float,float,float,float) r60.w, r68.xyzx, t3.yzwx, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xwzx, t3.yzwx, s0, l(0.000000)
            mov r67.xy, r65.xyxx
            mov r67.z, r66.z
            sample_l_indexable(texture3d)(float,float,float,float) r65.x, r67.xyzx, t3.xyzw, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r65.y, r67.xywx, t3.yxzw, s0, l(0.000000)
            add r66.x, r47.z, -r58.z
            add r66.y, r60.w, -r62.w
            add r66.z, -r65.y, r65.x
            mul r65.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
            div r64.xyz, r65.xyzx, cb0[4].wwww
          else
            mov r64.xyz, l(0,0,0.001000,0)
          endif
        endif
      endif
    endif
    lt r47.z, l(0.000000), r63.w
    eq r65.xyz, r64.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
    and r58.z, r65.y, r65.x
    and r58.z, r65.z, r58.z
    and r47.z, r47.z, r58.z
    not r47.z, r47.z
    and r47.z, r1.x, r47.z
    dp3 r58.z, r64.xyzx, r64.xyzx
    sqrt r64.w, r58.z
    lt r58.z, r64.w, l(0.000010)
    movc r64.xyzw, r58.zzzz, l(0,0,0,1.000000), r64.xyzw
    div r64.xyz, r64.xyzx, r64.wwww
    movc r64.xyz, r58.zzzz, l(0,0,0,0), r64.xyzx
    mad r63.xyz, -r64.xyzx, r63.wwww, r61.xyzx
    mov r64.xyz, r61.xyzx
    mov r64.w, l(0)
    movc r63.xyzw, r47.zzzz, r63.xyzw, r64.xyzw
    add r61.xyz, r63.xyzx, -cb0[1].xyzx
    add r61.xyz, r61.xyzx, cb0[1].wwww
    max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r62.xyz, r62.xyzx, -r63.xyzx
    max r62.xyz, r62.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r61.xyz, r61.xyzx, r62.xyzx
    min r47.z, r61.z, r61.y
    min r47.z, r47.z, r61.x
    lt r1.y, r1.y, r47.z
    if_nz r1.y
      mad r61.xyz, r63.xyzx, cb0[5].wwww, cb0[5].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r62.w, r61.xyzx, t0.yzwx, s0, l(0.000000)
    else
      add r61.xyz, r63.xyzx, -cb0[2].xyzx
      add r61.xyz, r61.xyzx, cb0[2].wwww
      max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[2].wwww, cb0[2].xyzx
      add r64.xyz, -r63.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r61.xyz, r61.xyzx, r64.xyzx
      min r1.y, r61.z, r61.y
      min r1.y, r1.y, r61.x
      mul r58.z, cb0[2].w, cb0[9].y
      lt r1.y, r58.z, r1.y
      if_nz r1.y
        mad r61.xyz, r63.xyzx, cb0[6].wwww, cb0[6].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r61.xyzx, t1.yzwx, s0, l(0.000000)
      else
        add r61.xyz, r63.xyzx, -cb0[3].xyzx
        add r61.xyz, r61.xyzx, cb0[3].wwww
        max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r64.xyz, cb0[3].wwww, cb0[3].xyzx
        add r64.xyz, -r63.xyzx, r64.xyzx
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r61.xyz, r61.xyzx, r64.xyzx
        min r1.y, r61.z, r61.y
        min r1.y, r1.y, r61.x
        add r61.xyz, r63.xyzx, -cb0[4].xyzx
        add r61.xyz, r61.xyzx, cb0[4].wwww
        max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r64.xyz, cb0[4].wwww, cb0[4].xyzx
        add r64.xyz, -r63.xyzx, r64.xyzx
        max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r61.xyz, r61.xyzx, r64.xyzx
        min r58.z, r61.z, r61.y
        min r58.z, r58.z, r61.x
        mul r60.w, cb0[3].w, cb0[9].y
        lt r1.y, r60.w, r1.y
        if_nz r1.y
          mad r61.xyz, r63.xyzx, cb0[7].wwww, cb0[7].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r61.xyzx, t2.yzwx, s0, l(0.000000)
        else
          mul r1.y, cb0[4].w, cb0[9].y
          lt r1.y, r1.y, r58.z
          if_nz r1.y
            mul r1.y, r58.z, cb0[8].w
            mul_sat r1.y, r1.y, l(10.000000)
            mad r61.xyz, r63.xyzx, cb0[8].wwww, cb0[8].xyzx
            sample_l_indexable(texture3d)(float,float,float,float) r58.z, r61.xyzx, t3.yzxw, s0, l(0.000000)
            add r58.z, r58.z, -cb0[0].x
            mad r62.w, r1.y, r58.z, cb0[0].x
          else
            mov r62.w, cb0[0].x
          endif
        endif
      endif
    endif
    lt r1.y, r47.y, r47.z
    if_nz r1.y
      mad r64.xyz, r63.xyzx, cb0[5].wwww, cb0[5].xyzx
      add r61.xyz, r64.xyzx, cb0[9].yyyy
      mov r64.w, r61.x
      sample_l_indexable(texture3d)(float,float,float,float) r1.y, r64.wyzw, t0.yxzw, s0, l(0.000000)
      add r65.xyw, r64.xyxz, -cb0[9].yyyy
      mov r66.xw, r65.xxxy
      mov r66.yz, r64.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r47.y, r66.xyzx, t0.yxzw, s0, l(0.000000)
      mov r66.xz, r64.xxzx
      mov r66.y, r61.y
      sample_l_indexable(texture3d)(float,float,float,float) r47.z, r66.xyzx, t0.yzxw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r66.xwzx, t0.yzxw, s0, l(0.000000)
      mov r65.xy, r64.xyxx
      mov r65.z, r61.z
      sample_l_indexable(texture3d)(float,float,float,float) r60.w, r65.xyzx, t0.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r65.xywx, t0.xyzw, s0, l(0.000000)
      add r64.x, r1.y, -r47.y
      add r64.y, r47.z, -r58.z
      add r64.z, r60.w, -r61.x
      mul r61.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r64.xyz, r61.xyzx, cb0[1].wwww
    else
      add r61.xyz, r63.xyzx, -cb0[2].xyzx
      add r61.xyz, r61.xyzx, cb0[2].wwww
      max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r65.xyz, cb0[2].wwww, cb0[2].xyzx
      add r65.xyz, -r63.xyzx, r65.xyzx
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r61.xyz, r61.xyzx, r65.xyzx
      min r1.y, r61.z, r61.y
      min r1.y, r1.y, r61.x
      mul r47.y, r2.x, cb0[2].w
      lt r1.y, r47.y, r1.y
      if_nz r1.y
        mad r65.xyz, r63.xyzx, cb0[6].wwww, cb0[6].xyzx
        add r61.xyz, r65.xyzx, cb0[9].yyyy
        mov r65.w, r61.x
        sample_l_indexable(texture3d)(float,float,float,float) r1.y, r65.wyzw, t1.yxzw, s0, l(0.000000)
        add r66.xyw, r65.xyxz, -cb0[9].yyyy
        mov r67.xw, r66.xxxy
        mov r67.yz, r65.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r47.y, r67.xyzx, t1.yxzw, s0, l(0.000000)
        mov r67.xz, r65.xxzx
        mov r67.y, r61.y
        sample_l_indexable(texture3d)(float,float,float,float) r47.z, r67.xyzx, t1.yzxw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.xwzx, t1.yzxw, s0, l(0.000000)
        mov r66.xy, r65.xyxx
        mov r66.z, r61.z
        sample_l_indexable(texture3d)(float,float,float,float) r60.w, r66.xyzx, t1.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r66.xywx, t1.xyzw, s0, l(0.000000)
        add r65.x, r1.y, -r47.y
        add r65.y, r47.z, -r58.z
        add r65.z, r60.w, -r61.x
        mul r61.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r64.xyz, r61.xyzx, cb0[2].wwww
      else
        add r61.xyz, r63.xyzx, -cb0[3].xyzx
        add r61.xyz, r61.xyzx, cb0[3].wwww
        max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r65.xyz, cb0[3].wwww, cb0[3].xyzx
        add r65.xyz, -r63.xyzx, r65.xyzx
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r61.xyz, r61.xyzx, r65.xyzx
        min r1.y, r61.z, r61.y
        min r1.y, r1.y, r61.x
        add r61.xyz, r63.xyzx, -cb0[4].xyzx
        add r61.xyz, r61.xyzx, cb0[4].wwww
        max r61.xyz, r61.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r65.xyz, cb0[4].wwww, cb0[4].xyzx
        add r65.xyz, -r63.xyzx, r65.xyzx
        max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r61.xyz, r61.xyzx, r65.xyzx
        min r47.y, r61.z, r61.y
        min r47.y, r47.y, r61.x
        mul r47.z, r2.x, cb0[3].w
        lt r1.y, r47.z, r1.y
        if_nz r1.y
          mad r65.xyz, r63.xyzx, cb0[7].wwww, cb0[7].xyzx
          add r61.xyz, r65.xyzx, cb0[9].yyyy
          mov r65.w, r61.x
          sample_l_indexable(texture3d)(float,float,float,float) r1.y, r65.wyzw, t2.yxzw, s0, l(0.000000)
          add r66.xyw, r65.xyxz, -cb0[9].yyyy
          mov r67.xw, r66.xxxy
          mov r67.yz, r65.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r47.z, r67.xyzx, t2.yzxw, s0, l(0.000000)
          mov r67.xz, r65.xxzx
          mov r67.y, r61.y
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.xyzx, t2.yzxw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r60.w, r67.xwzx, t2.yzwx, s0, l(0.000000)
          mov r66.xy, r65.xyxx
          mov r66.z, r61.z
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r66.xyzx, t2.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.y, r66.xywx, t2.yxzw, s0, l(0.000000)
          add r65.x, r1.y, -r47.z
          add r65.y, r58.z, -r60.w
          add r65.z, -r61.y, r61.x
          mul r61.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r64.xyz, r61.xyzx, cb0[3].wwww
        else
          mul r1.y, r2.x, cb0[4].w
          lt r1.y, r1.y, r47.y
          if_nz r1.y
            mad r65.xyz, r63.xyzx, cb0[8].wwww, cb0[8].xyzx
            add r61.xyz, r65.xyzx, cb0[9].yyyy
            mov r65.w, r61.x
            sample_l_indexable(texture3d)(float,float,float,float) r1.y, r65.wyzw, t3.yxzw, s0, l(0.000000)
            add r66.xyw, r65.xyxz, -cb0[9].yyyy
            mov r67.xw, r66.xxxy
            mov r67.yz, r65.yyzy
            sample_l_indexable(texture3d)(float,float,float,float) r2.x, r67.xyzx, t3.xyzw, s0, l(0.000000)
            mov r67.xz, r65.xxzx
            mov r67.y, r61.y
            sample_l_indexable(texture3d)(float,float,float,float) r47.y, r67.xyzx, t3.yxzw, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r47.z, r67.xwzx, t3.yzxw, s0, l(0.000000)
            mov r66.xy, r65.xyxx
            mov r66.z, r61.z
            sample_l_indexable(texture3d)(float,float,float,float) r58.z, r66.xyzx, t3.yzxw, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r60.w, r66.xywx, t3.yzwx, s0, l(0.000000)
            add r61.x, r1.y, -r2.x
            add r61.y, -r47.z, r47.y
            add r61.z, r58.z, -r60.w
            mul r61.xyz, r61.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
            div r64.xyz, r61.xyzx, cb0[4].wwww
          else
            mov r64.xyz, l(0,0,0.001000,0)
          endif
        endif
      endif
    endif
    lt r1.y, l(0.000000), r62.w
    eq r61.xyz, r64.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
    and r2.x, r61.y, r61.x
    and r2.x, r61.z, r2.x
    and r1.y, r1.y, r2.x
    not r1.y, r1.y
    and r1.x, r1.y, r1.x
    dp3 r1.y, r64.xyzx, r64.xyzx
    sqrt r64.w, r1.y
    lt r1.y, r64.w, l(0.000010)
    movc r64.xyzw, r1.yyyy, l(0,0,0,1.000000), r64.xyzw
    div r61.xyz, r64.xyzx, r64.wwww
    movc r62.xyz, r1.yyyy, l(-0.000000,-0.000000,-0.000000,0), -r61.xyzx
    mad r61.xyz, r62.wwww, r62.xyzx, r63.xyzx
    movc r61.xyz, r1.xxxx, r61.xyzx, r63.xyzx
    and r62.xyzw, r62.xyzw, r1.xxxx
    not r1.y, r1.y
    and r1.x, r1.x, r1.y
    add r1.y, r63.w, r62.w
    add r1.y, r61.w, r1.y
    mov r63.xyz, -r62.xyzx
    mul r64.xyz, r62.zxyz, l(-0.000000, -1.000000, -0.000000, 0.000000)
    mad r62.xyz, r62.yzxy, l(-1.000000, -0.000000, -0.000000, 0.000000), -r64.xyzx
    dp2 r2.x, r62.xyxx, r62.xyxx
    sqrt r62.w, r2.x
    lt r2.x, r62.w, l(0.010000)
    movc r62.xyzw, r2.xxxx, l(1.000000,0,0,1.000000), r62.xyzw
    div r62.xyz, r62.xyzx, r62.wwww
    movc r62.xyz, r2.xxxx, l(1.000000,0,0,0), r62.xyzx
    dp3 r2.x, r63.xyzx, r63.xyzx
    sqrt r63.w, r2.x
    lt r2.x, r63.w, l(0.010000)
    movc r63.xyzw, r2.xxxx, l(0,0,1.000000,1.000000), r63.xyzw
    div r63.xyz, r63.xyzx, r63.wwww
    movc r63.xyz, r2.xxxx, l(0,0,1.000000,0), r63.xyzx
    mul r64.xyz, r62.yzxy, r63.zxyz
    mad r64.xyz, r63.yzxy, r62.zxyz, -r64.xyzx
    dp3 r2.x, r64.xyzx, r64.xyzx
    sqrt r64.w, r2.x
    lt r2.x, r64.w, l(0.000010)
    movc r64.xyzw, r2.xxxx, l(0,1.000000,0,1.000000), r64.xyzw
    div r64.xyz, r64.xyzx, r64.wwww
    movc r64.xyz, r2.xxxx, l(0,1.000000,0,0), r64.xyzx
    dp3 r2.x, r63.xyzx, r63.xyzx
    sqrt r63.w, r2.x
    lt r2.x, r63.w, l(0.000010)
    movc r63.xyzw, r2.xxxx, l(0,0,1.000000,1.000000), r63.xyzw
    div r63.xyz, r63.xyzx, r63.wwww
    movc r63.xyz, r2.xxxx, l(0,0,1.000000,0), r63.xyzx
    dp2 r2.x, r62.xyxx, r62.xyxx
    sqrt r62.w, r2.x
    lt r2.x, r62.w, l(0.000010)
    movc r62.xyzw, r2.xxxx, l(1.000000,0,0,1.000000), r62.xyzw
    div r62.xyz, r62.zxyz, r62.wwww
    movc r62.xyz, r2.xxxx, l(0,1.000000,0,0), r62.xyzx
    mul r65.xyz, r62.xyzx, r63.xyzx
    mad r63.xyz, r63.zxyz, r62.yzxy, -r65.xyzx
    dp3 r2.x, r64.xyzx, r64.xyzx
    sqrt r64.w, r2.x
    lt r2.x, r64.w, l(0.000010)
    movc r64.xyzw, r2.xxxx, l(0,1.000000,0,1.000000), r64.xyzw
    div r64.xyz, r64.yzxy, r64.wwww
    movc r64.xyz, r2.xxxx, l(1.000000,0,0,0), r64.xyzx
    mul r65.xyz, r62.xyzx, r64.xyzx
    mad r62.xyz, r62.zxyz, r64.yzxy, -r65.xyzx
    mul r64.xyz, r62.xyzx, r63.xyzx
    mad r63.xyz, r63.zxyz, r62.yzxy, -r64.xyzx
    mul r64.xyz, r62.xyzx, r63.xyzx
    mad r62.xyz, r62.zxyz, r63.yzxy, -r64.xyzx
    mul r64.xyz, r62.xyzx, r63.xyzx
    mad r64.xyz, r63.zxyz, r62.yzxy, -r64.xyzx
    add r47.yz, r62.xxzx, r63.yyzy
    add r2.x, r64.z, r47.y
    lt r47.y, l(0.000000), r2.x
    add r2.x, r2.x, l(1.000000)
    rsq r2.x, r2.x
    mul r58.z, r2.x, l(0.500000)
    add r65.xy, r62.yxyy, -r64.yzyy
    add r65.zw, -r63.xxxy, r64.xxxz
    mul r66.xy, r58.zzzz, r65.xzxx
    add r62.zw, -r62.zzzx, r63.zzzy
    mul r66.z, r58.z, r62.z
    rcp r2.x, r2.x
    mul r66.w, r2.x, l(0.500000)
    lt r2.x, r62.x, r63.y
    lt r58.z, r64.z, r63.y
    and r2.x, r2.x, r58.z
    add r58.z, -r64.z, r62.w
    add r58.z, r58.z, l(1.000000)
    rsq r58.z, r58.z
    mul r60.w, r58.z, l(0.500000)
    rcp r58.z, r58.z
    mul r67.x, r58.z, l(0.500000)
    mul r67.y, r47.z, r60.w
    add r58.z, r63.x, r64.x
    mul r67.z, r60.w, r58.z
    mul r67.w, r60.w, r65.x
    lt r60.w, r64.z, r62.x
    add r61.w, -r63.y, r65.y
    add r61.w, r61.w, l(1.000000)
    rsq r61.w, r61.w
    mul r62.w, r61.w, l(0.500000)
    mul r63.x, r47.z, r62.w
    rcp r47.z, r61.w
    mul r63.y, r47.z, l(0.500000)
    add r47.z, r62.y, r64.y
    mul r63.z, r62.w, r47.z
    mul r63.w, r62.w, r65.z
    add r61.w, -r62.x, r65.w
    add r61.w, r61.w, l(1.000000)
    rsq r61.w, r61.w
    mul r62.x, r61.w, l(0.500000)
    mul r64.x, r58.z, r62.x
    mul r64.y, r47.z, r62.x
    rcp r47.z, r61.w
    mul r64.z, r47.z, l(0.500000)
    mul r64.w, r62.x, r62.z
    movc r62.xyzw, r60.wwww, r63.xyzw, r64.xyzw
    movc r62.xyzw, r2.xxxx, r67.xyzw, r62.xyzw
    movc r62.xyzw, r47.yyyy, r66.xyzw, r62.xyzw
    imad r47.yz, r59.zzzz, r59.zzzz, l(0, 0x3bd68f11, 0x3bbd2904, 0)
    imad r63.xy, r59.wwww, r47.yzyy, r59.zzzz
    imad r63.zw, r47.yyyz, r63.xxxy, r59.wwww
    imad r59.zw, r63.xxxy, r63.zzzw, r59.zzzz
    imad r47.yz, r63.xxyx, r59.zzwz, r47.yyzy
    ishr r47.yz, r47.yyzy, l(0, 8, 8, 0)
    and r47.yz, r47.yyzy, l(0, 0x00ffffff, 0x00ffffff, 0)
    utof r47.yz, r47.yyzy
    mul r2.x, r47.y, l(1.872535194E-07)
    sincos r2.x, r63.x, r2.x
    mov r64.xy, l(0,0,0,0)
    mov r64.z, r2.x
    mov r64.w, r63.x
    mul r59.zw, r62.xxxx, r64.wwwz
    mul r63.xy, r59.zwzz, l(1.000000, -1.000000, 0.000000, 0.000000)
    mov r63.zw, l(0,0,0,-0.000000)
    mad r63.xyzw, r62.wwww, r64.yyzw, r63.xyzw
    mul r65.xy, r62.yyyy, r64.zwzz
    mov r65.zw, l(0,0,-0.000000,-0.000000)
    add r63.xyzw, r63.xyzw, r65.xyzw
    mul r65.zw, r62.zzzz, r64.wwwz
    mov r65.xy, r62.zzzz
    mad r62.xyzw, r65.xyzw, l(-0.000000, 0.000000, 1.000000, -1.000000), r63.xyzw
    movc r41.xyzw, r4.yyyy, r62.xyzw, r64.xyzw
    movc r38.yzw, r4.yyyy, r61.xxyz, r60.xxyz
    movc r17.w, r4.y, l(0), l(3)
    mad r48.x, r47.z, l(5.960464478E-08), r58.w
    not r1.x, r1.x
    lt r1.y, r1.y, l(0.000000)
    or r1.x, r1.y, r1.x
    ieq r49.w, r1.x, l(0)
    mov r51.x, cb3[1].x
    mov r51.y, cb1[0].z
    mov r6.xy, l(0.520833,1.000000,0,0)
    mov r53.xyz, cb2[25].xyzx
    mov r54.xyz, cb2[30].xyzx
    mov r55.xyz, cb4[3].xyzx
    mov r3.zw, l(0,0,0.520833,0.520833)
    mov r4.w, l(1.000000)
    mov r11.yzw, l(0,0.352000,1.000000,1.000000)
    mov r26.xyzw, l(1.000000,1.000000,1.000000,1.000000)
    mov r53.w, r43.w
    mov r54.w, r43.w
    mov r35.x, l(1.000000)
    mov r46.w, l(50.000000)
    mov r47.w, l(50.000000)
    mov r30.y, l(1.000000)
    mov r48.yw, l(0,1.000000,0,-7)
    mov r56.xyz, cb4[5].xyzx
    mov r5.z, cb0[9].w
    mov r37.xyz, r43.wwww
    mov r49.xyz, r43.wwww
    mov r21.xyzw, l(1.000000,1.000000,1.000000,1.000000)
    mov r15.zw, l(0,0,1.000000,1.000000)
    mov r40.xyzw, r41.yxzw
    mov r23.w, l(1.000000)
    mov r56.w, cb4[4].z
    mov r31.xyzw, l(1.000000,1.000000,1.000000,1.000000)
    mov r24.yzw, r38.yyzw
    mov r57.zw, cb4[6].xxxy
    mov r59.xy, cb4[4].xyxx
    mov r50.xyw, l(1.000000,1.000000,0,1.000000)
    mov r58.xy, cb4[6].wzww
  else
    mov r6.xy, l(0,0,0,0)
    mov r51.xyzw, l(0,0,0,0)
    mov r55.xyz, l(0,0,0,0)
    mov r3.zw, l(0,0,0,0)
    mov r11.yzw, l(0,0,0,0)
    mov r16.y, l(0)
    mov r26.xyzw, l(0,0,0,0)
    mov r17.w, l(0)
    mov r53.xyzw, l(0,0,0,0)
    mov r54.xyzw, l(0,0,0,0)
    mov r35.x, l(0)
    mov r46.w, l(0)
    mov r30.y, l(0)
    mov r37.xyz, l(0,0,0,0)
    mov r4.yw, l(0,0,0,0)
    mov r49.xyzw, l(0,0,0,0)
    mov r43.w, l(0)
    mov r21.xyzw, l(0,0,0,0)
    mov r15.zw, l(0,0,0,0)
    mov r40.xyzw, l(0,0,0,0)
    mov r23.w, l(0)
    mov r56.xyzw, l(0,0,0,0)
    mov r31.xyzw, l(0,0,0,0)
    mov r5.yz, l(0,0,0,0)
    mov r33.w, l(0)
    mov r24.yzw, l(0,0,0,0)
    mov r41.xyzw, l(0,0,0,0)
    mov r38.yzw, l(0,0,0,0)
    mov r47.xw, l(0,0,0,0)
    mov r57.zw, l(0,0,0,0)
    mov r59.xy, l(0,0,0,0)
    mov r8.w, l(0)
    mov r48.xyw, l(0,0,0,-1)
    mov r1.zw, l(0,0,0,0)
    mov r50.xyw, l(0,0,0,0)
    mov r58.xy, l(0,0,0,0)
  endif
  mov r33.xy, l(0,0,0,0)
  mov r2.w, l(0)
  mov r11.x, l(0)
  mov r6.zw, l(0,0,0,0)
  mov r13.xyzw, l(0,0,0,0)
  mov r15.xy, l(0,0,0,0)
  mov r17.xyz, l(0,0,0,0)
  mov r12.xyzw, l(0,0,0,0)
  mov r14.xyzw, l(0,0,0,0)
  mov r19.xyzw, l(0,0,0,0)
  mov r20.xyzw, l(0,0,0,0)
  mov r37.w, l(0)
  mov r25.xyz, l(0,0,0,0)
  mov r32.x, l(0)
  mov r27.xyz, l(0,0,0,0)
  mov r29.xyzw, l(0,0,0,0)
  mov r44.xyzw, l(0,0,0,0)
  mov r28.x, l(0)
  mov r23.xyz, l(0,0,0,0)
  mov r3.xy, l(0,0,0,0)
  mov r18.xyzw, l(0,0,0,0)
  mov r42.xyzw, l(0,0,0,0)
  mov r4.xz, l(0,0,0,0)
  mov r30.xzw, l(0,0,0,0)
  mov r5.xw, l(0,0,0,0)
  mov r55.w, l(0)
  mov r38.x, l(0)
  mov r45.xyz, l(0,0,0,0)
  mov r7.xyzw, l(0,0,0,0)
  mov r9.xyzw, l(0,0,0,0)
  mov r35.yz, l(0,0,0,0)
  mov r39.xyzw, l(0,0,0,0)
  mov r22.xy, l(0,0,0,0)
  mov r24.x, l(0)
  mov r36.xyz, l(0,0,0,0)
  mov r34.xyz, l(0,0,0,0)
  mov r57.xy, l(0,0,0,0)
  mov r8.xyz, l(0,0,0,0)
  mov r16.xzw, l(0,0,0,0)
  mov r43.xyz, l(0,0,0,0)
  mov r52.xyz, l(0,0,0,0)
  mov r48.z, l(0)
  mov r10.xyzw, l(0,0,0,0)
  mov r46.xyz, l(0,0,0,0)
endif
or r1.x, r2.z, r2.y
if_nz r1.x
  ge r1.x, r51.z, r2.w
  add r2.w, r51.z, r2.w
  max r1.y, r31.z, l(0.000010)
  div r38.x, r2.w, r1.y
  add r60.xyz, -r24.yzwy, r55.xyzx
  dp3 r1.y, r60.xyzx, r60.xyzx
  sqrt r60.w, r1.y
  lt r1.y, r60.w, l(0.000010)
  movc r61.xyzw, r1.yyyy, l(0,0,1.000000,1.000000), r60.xyzw
  div r61.xyz, r61.xyzx, r61.wwww
  movc r28.xyzw, r1.yyyy, l(1.000000,0,0,1.000000), r61.wxyz
  lt r42.xy, r28.xxxx, r59.yxyy
  movc r59.xyzw, r42.xxxx, l(1.000000,0,0,2500.000000), l(1.000000,0.500000,0,2500.000000)
  movc r50.xyzw, r42.yyyy, r59.xyzw, l(0,0,0,1.000000)
  movc r1.y, r1.y, l(0), r60.w
  min r1.y, r28.x, r1.y
  max r2.x, r28.x, l(0.000100)
  div r37.w, r1.y, r2.x
  mul r2.xyz, r51.zzzz, l(5.000000, 3.000000, 10.000000, 0.000000)
  mov_sat r2.xy, r2.xyxx
  add r59.xyzw, -r29.xyzw, r50.xyzw
  mad r26.xyzw, r2.xxxx, r59.wxyz, r29.wxyz
  and r31.xy, r42.yxyy, l(0x3f800000, 0x3f800000, 0, 0)
  ieq r59.xyzw, r17.wwww, l(1, 2, 3, 4)
  ieq r60.xyzw, r17.wwww, l(5, 6, 7, 0)
  or r47.yz, r59.wwzw, r60.xxyx
  movc r1.y, r17.w, l(-0.0666666701), l(6.766667)
  movc r1.y, r59.x, l(1.56666672), r1.y
  movc r1.y, r59.y, l(0.600000), r1.y
  movc r1.y, r59.z, l(1.30000007), r1.y
  movc r1.y, r47.y, l(1.33333337), r1.y
  movc r1.y, r60.y, l(2.53333354), r1.y
  movc r3.y, r60.z, l(1.60000014), r1.y
  add r1.y, -r48.x, r51.y
  ge r1.y, r1.y, r3.y
  or r47.y, r1.z, r42.y
  or r47.y, r42.x, r47.y
  or r50.z, r1.y, r47.y
  and r50.z, r60.w, r50.z
  movc r55.x, r47.y, l(1), r17.w
  movc r50.z, r50.z, r55.x, r17.w
  and r55.xy, r1.yyyy, r59.xwxx
  iadd r59.xyz, r48.wwww, l(-1, -2, -3, 0)
  mov r0.w, r59.x
  mov r0.z, cb0[9].w
  imad r61.xyz, r0.wyzw, l(0x0019660d, 0x0019660d, 0x0019660d, 0), l(0x3c6ef35f, 0x3c6ef35f, 0x3c6ef35f, 0)
  imad r48.w, r61.y, r61.y, r61.x
  imad r55.z, r61.z, r48.w, r61.y
  imad r58.z, r48.w, r55.z, r61.z
  imad r58.z, r55.z, r58.z, r61.y
  imad r48.w, r55.z, r58.z, r48.w
  ishr r48.w, r48.w, l(8)
  and r48.w, r48.w, l(0x00ffffff)
  utof r48.w, r48.w
  mul r48.w, r48.w, l(1.192092896E-07)
  ftoi r48.w, r48.w
  ine r48.w, r48.w, l(0)
  and r48.w, r42.x, r48.w
  movc r48.w, r48.w, l(7), l(4)
  movc r48.w, r55.x, r48.w, r50.z
  movc r48.w, r55.y, l(3), r48.w
  and r47.z, r1.y, r47.z
  mov r0.xw, r59.yyyz
  imad r55.xyz, r0.xyzx, l(0x0019660d, 0x0019660d, 0x0019660d, 0), l(0x3c6ef35f, 0x3c6ef35f, 0x3c6ef35f, 0)
  imad r0.x, r55.y, r55.y, r55.x
  imad r50.z, r55.z, r0.x, r55.y
  imad r55.x, r0.x, r50.z, r55.z
  imad r55.x, r50.z, r55.x, r55.y
  imad r0.x, r50.z, r55.x, r0.x
  ishr r0.x, r0.x, l(8)
  and r0.x, r0.x, l(0x00ffffff)
  utof r0.x, r0.x
  mul r0.x, r0.x, l(1.192092896E-07)
  ftoi r0.x, r0.x
  ine r0.x, r0.x, l(0)
  and r0.x, r42.x, r0.x
  movc r0.x, r0.x, l(7), l(3)
  movc r0.x, r47.z, r0.x, r48.w
  movc r4.y, r47.y, l(0), r4.y
  and r47.y, r1.y, r60.z
  movc r5.w, r47.y, l(4), r0.x
  mul r55.xyz, r28.yzwy, l(500.000000, 500.000000, 500.000000, 0.000000)
  and r55.xyz, r55.xyzx, r60.zzzz
  add r0.x, r56.w, -cb0[25].y
  mul_sat r0.x, r0.x, cb0[25].w
  mul r47.y, r0.x, cb0[26].x
  round_ni r47.y, r47.y
  lt r47.z, r47.y, cb0[26].x
  add r48.w, r47.y, l(1.000000)
  movc r47.z, r47.z, r48.w, r47.y
  mad r0.x, r0.x, cb0[26].x, -r47.y
  ftou r47.y, r47.y
  ld_indexable(buffer)(float,float,float,float) r47.y, r47.yyyy, t8.yxzw
  ftou r47.z, r47.z
  ld_indexable(buffer)(float,float,float,float) r47.z, r47.zzzz, t8.yzxw
  add r47.z, -r47.y, r47.z
  mad r0.x, r0.x, r47.z, r47.y
  movc r0.x, r1.w, r0.x, l(1.000000)
  mul r59.xyz, r0.xxxx, r37.xyzx
  movc r61.xyzw, r1.zzzz, l(300.000000,0.00500000035,600.000000,500.000000), l(200.000000,0.0100000007,250.000000,200.000000)
  movc r0.x, r4.y, l(0), r61.x
  imad r1.w, r51.x, l(0x0019660d), l(0x3c6ef35f)
  imad r47.y, r1.w, l(0x3c88596c), l(0x3d8655ee)
  imad r1.w, l(0x3c88596c), r47.y, r1.w
  imad r47.z, r47.y, r1.w, l(0x3c88596c)
  imad r1.w, r1.w, r47.z, r47.y
  ishr r1.w, r1.w, l(8)
  and r1.w, r1.w, l(0x00ffffff)
  utof r1.w, r1.w
  div r54.xyz, r24.yzwy, r54.xyzx
  mad r54.xyz, r1.wwww, l(0.000158691400, 0.0000305175781, 0.0000903320324, 0.000000), r54.xyzx
  mul r62.xyz, r51.yyyy, l(0.000000, 0.000000, 1.000000, 0.000000)
  mad r54.xyz, r54.xyzx, r61.yyyy, -r62.xyzx
  mad r54.xyz, r54.xyzx, l(125.000000, 125.000000, 125.000000, 0.000000), -cb0[32].xyzx
  add r62.xyz, -cb0[32].xyzx, cb0[33].xyzx
  div r54.xyz, r54.xyzx, r62.xyzx
  sample_l_indexable(texture3d)(float,float,float,float) r54.xyz, r54.xyzx, t9.xyzw, s1, l(0.000000)
  mad r54.xyz, r54.xyzx, r0.xxxx, r55.xyzx
  dp3 r0.x, r52.xyzx, r52.xyzx
  sqrt r52.w, r0.x
  lt r0.x, r52.w, l(0.000010)
  mov r25.w, l(1.000000)
  movc r62.xyzw, r0.xxxx, r25.xyzw, r52.xyzw
  div r55.xyz, r62.xyzx, r62.wwww
  movc r55.xyz, r0.xxxx, r25.xyzx, r55.xyzx
  mov r22.z, r24.x
  movc r62.xyz, r1.xxxx, r55.xyzx, r22.xyzx
  mov_sat r0.x, r51.z
  add r55.xyz, r55.xyzx, -r62.xyzx
  mad r22.xyz, r0.xxxx, r55.xyzx, r62.xyzx
  dp3 r0.x, r22.xyzx, r22.xyzx
  sqrt r22.w, r0.x
  lt r0.x, r22.w, l(0.000010)
  movc r62.xyzw, r0.xxxx, r25.xyzw, r22.xyzw
  div r55.xyz, r62.xyzx, r62.wwww
  movc r25.xyz, r0.xxxx, r25.xyzx, r55.xyzx
  add r55.xyz, r24.yzwy, -cb0[1].xyzx
  add r55.xyz, r55.xyzx, cb0[1].wwww
  max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r62.xyz, cb0[1].wwww, cb0[1].xyzx
  add r63.xyz, -r24.yzwy, r62.xyzx
  max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r55.xyz, r55.xyzx, r63.xyzx
  min r0.x, r55.z, r55.y
  min r0.x, r0.x, r55.x
  mul r1.w, cb0[1].w, cb0[9].y
  lt r22.w, r1.w, r0.x
  if_nz r22.w
    mad r55.xyz, r24.yzwy, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r47.y, r55.xyzx, t0.yxzw, s0, l(0.000000)
  else
    add r55.xyz, r24.yzwy, -cb0[2].xyzx
    add r55.xyz, r55.xyzx, cb0[2].wwww
    max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r63.xyz, cb0[2].wwww, cb0[2].xyzx
    add r63.xyz, -r24.yzwy, r63.xyzx
    max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r55.xyz, r55.xyzx, r63.xyzx
    min r47.z, r55.z, r55.y
    min r47.z, r47.z, r55.x
    mul r48.w, cb0[2].w, cb0[9].y
    lt r47.z, r48.w, r47.z
    if_nz r47.z
      mad r55.xyz, r24.yzwy, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r47.y, r55.xyzx, t1.yxzw, s0, l(0.000000)
    else
      add r55.xyz, r24.yzwy, -cb0[3].xyzx
      add r55.xyz, r55.xyzx, cb0[3].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r63.xyz, cb0[3].wwww, cb0[3].xyzx
      add r63.xyz, -r24.yzwy, r63.xyzx
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r63.xyzx
      min r47.z, r55.z, r55.y
      min r47.z, r47.z, r55.x
      add r55.xyz, r24.yzwy, -cb0[4].xyzx
      add r55.xyz, r55.xyzx, cb0[4].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r63.xyz, cb0[4].wwww, cb0[4].xyzx
      add r63.xyz, -r24.yzwy, r63.xyzx
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r63.xyzx
      min r48.w, r55.z, r55.y
      min r48.w, r48.w, r55.x
      mul r50.z, cb0[3].w, cb0[9].y
      lt r47.z, r50.z, r47.z
      if_nz r47.z
        mad r55.xyz, r24.yzwy, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r47.y, r55.xyzx, t2.yxzw, s0, l(0.000000)
      else
        mul r47.z, cb0[4].w, cb0[9].y
        lt r47.z, r47.z, r48.w
        if_nz r47.z
          mul r47.z, r48.w, cb0[8].w
          mul_sat r47.z, r47.z, l(10.000000)
          mad r55.xyz, r24.yzwy, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r48.w, r55.xyzx, t3.yzwx, s0, l(0.000000)
          add r48.w, r48.w, -cb0[0].x
          mad r47.y, r47.z, r48.w, cb0[0].x
        else
          mov r47.y, cb0[0].x
        endif
      endif
    endif
  endif
  mul r47.z, cb0[9].y, l(4.000000)
  mul r48.w, r47.z, cb0[1].w
  lt r0.x, r48.w, r0.x
  if_nz r0.x
    mad r63.xyz, r24.yzwy, cb0[5].wwww, cb0[5].xyzx
    add r55.xyz, r63.xyzx, cb0[9].yyyy
    mov r63.w, r55.x
    sample_l_indexable(texture3d)(float,float,float,float) r50.z, r63.wyzw, t0.yzxw, s0, l(0.000000)
    add r64.xyw, r63.xyxz, -cb0[9].yyyy
    mov r65.xw, r64.xxxy
    mov r65.yz, r63.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r51.x, r65.xyzx, t0.xyzw, s0, l(0.000000)
    mov r65.xz, r63.xxzx
    mov r65.y, r55.y
    sample_l_indexable(texture3d)(float,float,float,float) r52.w, r65.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r55.x, r65.xwzx, t0.xyzw, s0, l(0.000000)
    mov r64.xy, r63.xyxx
    mov r64.z, r55.z
    sample_l_indexable(texture3d)(float,float,float,float) r55.y, r64.xyzx, t0.yxzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r55.z, r64.xywx, t0.yzxw, s0, l(0.000000)
    add r63.x, r50.z, -r51.x
    add r63.y, r52.w, -r55.x
    add r63.z, -r55.z, r55.y
    mul r55.xyz, r63.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r63.xyz, r55.xyzx, cb0[1].wwww
  else
    add r55.xyz, r24.yzwy, -cb0[2].xyzx
    add r55.xyz, r55.xyzx, cb0[2].wwww
    max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r64.xyz, cb0[2].wwww, cb0[2].xyzx
    add r64.xyz, -r24.yzwy, r64.xyzx
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r55.xyz, r55.xyzx, r64.xyzx
    min r50.z, r55.z, r55.y
    min r50.z, r50.z, r55.x
    mul r51.x, r47.z, cb0[2].w
    lt r50.z, r51.x, r50.z
    if_nz r50.z
      mad r64.xyz, r24.yzwy, cb0[6].wwww, cb0[6].xyzx
      add r55.xyz, r64.xyzx, cb0[9].yyyy
      mov r64.w, r55.x
      sample_l_indexable(texture3d)(float,float,float,float) r50.z, r64.wyzw, t1.yzxw, s0, l(0.000000)
      add r65.xyw, r64.xyxz, -cb0[9].yyyy
      mov r66.xw, r65.xxxy
      mov r66.yz, r64.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r51.x, r66.xyzx, t1.xyzw, s0, l(0.000000)
      mov r66.xz, r64.xxzx
      mov r66.y, r55.y
      sample_l_indexable(texture3d)(float,float,float,float) r52.w, r66.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r55.x, r66.xwzx, t1.xyzw, s0, l(0.000000)
      mov r65.xy, r64.xyxx
      mov r65.z, r55.z
      sample_l_indexable(texture3d)(float,float,float,float) r55.y, r65.xyzx, t1.yxzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r55.z, r65.xywx, t1.yzxw, s0, l(0.000000)
      add r64.x, r50.z, -r51.x
      add r64.y, r52.w, -r55.x
      add r64.z, -r55.z, r55.y
      mul r55.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r63.xyz, r55.xyzx, cb0[2].wwww
    else
      add r55.xyz, r24.yzwy, -cb0[3].xyzx
      add r55.xyz, r55.xyzx, cb0[3].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[3].wwww, cb0[3].xyzx
      add r64.xyz, -r24.yzwy, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r64.xyzx
      min r50.z, r55.z, r55.y
      min r50.z, r50.z, r55.x
      add r55.xyz, r24.yzwy, -cb0[4].xyzx
      add r55.xyz, r55.xyzx, cb0[4].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[4].wwww, cb0[4].xyzx
      add r64.xyz, -r24.yzwy, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r64.xyzx
      min r51.x, r55.z, r55.y
      min r51.x, r51.x, r55.x
      mul r52.w, r47.z, cb0[3].w
      lt r50.z, r52.w, r50.z
      if_nz r50.z
        mad r64.xyz, r24.yzwy, cb0[7].wwww, cb0[7].xyzx
        add r55.xyz, r64.xyzx, cb0[9].yyyy
        mov r64.w, r55.x
        sample_l_indexable(texture3d)(float,float,float,float) r50.z, r64.wyzw, t2.yzxw, s0, l(0.000000)
        add r65.xyw, r64.xyxz, -cb0[9].yyyy
        mov r66.xw, r65.xxxy
        mov r66.yz, r64.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r52.w, r66.xyzx, t2.yzwx, s0, l(0.000000)
        mov r66.xz, r64.xxzx
        mov r66.y, r55.y
        sample_l_indexable(texture3d)(float,float,float,float) r55.x, r66.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r55.y, r66.xwzx, t2.yxzw, s0, l(0.000000)
        mov r65.xy, r64.xyxx
        mov r65.z, r55.z
        sample_l_indexable(texture3d)(float,float,float,float) r55.z, r65.xyzx, t2.yzxw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r65.xywx, t2.yzwx, s0, l(0.000000)
        add r64.x, r50.z, -r52.w
        add r64.y, -r55.y, r55.x
        add r64.z, r55.z, -r56.w
        mul r55.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r63.xyz, r55.xyzx, cb0[3].wwww
      else
        mul r50.z, r47.z, cb0[4].w
        lt r50.z, r50.z, r51.x
        if_nz r50.z
          mad r64.xyz, r24.yzwy, cb0[8].wwww, cb0[8].xyzx
          add r55.xyz, r64.xyzx, cb0[9].yyyy
          mov r64.w, r55.x
          sample_l_indexable(texture3d)(float,float,float,float) r50.z, r64.wyzw, t3.yzxw, s0, l(0.000000)
          add r65.xyw, r64.xyxz, -cb0[9].yyyy
          mov r66.xw, r65.xxxy
          mov r66.yz, r64.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r51.x, r66.xyzx, t3.xyzw, s0, l(0.000000)
          mov r66.xz, r64.xxzx
          mov r66.y, r55.y
          sample_l_indexable(texture3d)(float,float,float,float) r52.w, r66.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r55.x, r66.xwzx, t3.xyzw, s0, l(0.000000)
          mov r65.xy, r64.xyxx
          mov r65.z, r55.z
          sample_l_indexable(texture3d)(float,float,float,float) r55.y, r65.xyzx, t3.yxzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r55.z, r65.xywx, t3.yzxw, s0, l(0.000000)
          add r64.x, r50.z, -r51.x
          add r64.y, r52.w, -r55.x
          add r64.z, -r55.z, r55.y
          mul r55.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r63.xyz, r55.xyzx, cb0[4].wwww
        else
          mov r63.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r50.z, l(0.000000), cb0[0].x
  lt r51.x, l(0.000000), r47.y
  eq r55.xyz, r63.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r52.w, r55.y, r55.x
  and r52.w, r55.z, r52.w
  and r51.x, r51.x, r52.w
  not r51.x, r51.x
  and r51.x, r50.z, r51.x
  ieq r52.w, r51.x, l(-1)
  if_nz r52.w
    lt r52.w, l(25.000000), r47.y
    not r55.x, r52.w
    if_nz r52.w
      dp3 r52.w, r25.xyzx, r25.xyzx
      sqrt r25.w, r52.w
      lt r52.w, r25.w, l(0.000010)
      movc r64.xyzw, r52.wwww, l(0,0,1.000000,1.000000), r25.xyzw
      div r64.xyz, r64.xyzx, r64.wwww
      movc r64.xyz, r52.wwww, l(0,0,1.000000,0), r64.xyzx
      add r65.xyz, cb0[2].wwww, cb0[2].xyzx
      mul r25.w, cb0[2].w, cb0[9].y
      add r66.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      mul r52.w, cb0[3].w, cb0[9].y
      mul r55.y, cb0[4].w, cb0[9].y
      mul r55.z, r47.z, cb0[2].w
      mul r56.w, r47.z, cb0[3].w
      mul r58.z, r47.z, cb0[4].w
      mov r68.xyz, r63.xyzx
      mov r69.xyz, r24.yzwy
      mov r58.w, r47.y
      mov r59.w, l(100.000000)
      mov r51.x, l(-1)
      mov r60.x, l(0)
      loop
        uge r61.x, r60.x, l(5)
        breakc_nz r61.x
        add r70.xyz, r69.xyzx, -cb0[1].xyzx
        add r70.xyz, r70.xyzx, cb0[1].wwww
        max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        add r71.xyz, r62.xyzx, -r69.xyzx
        max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        min r70.xyz, r70.xyzx, r71.xyzx
        min r61.x, r70.z, r70.y
        min r61.x, r61.x, r70.x
        lt r61.y, r1.w, r61.x
        if_nz r61.y
          mad r70.xyz, r69.xyzx, cb0[5].wwww, cb0[5].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r59.w, r70.xyzx, t0.yzwx, s0, l(0.000000)
        else
          add r70.xyz, r69.xyzx, -cb0[2].xyzx
          add r70.xyz, r70.xyzx, cb0[2].wwww
          max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
          add r71.xyz, r65.xyzx, -r69.xyzx
          max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
          min r70.xyz, r70.xyzx, r71.xyzx
          min r61.y, r70.z, r70.y
          min r61.y, r61.y, r70.x
          lt r61.y, r25.w, r61.y
          if_nz r61.y
            mad r70.xyz, r69.xyzx, cb0[6].wwww, cb0[6].xyzx
            sample_l_indexable(texture3d)(float,float,float,float) r59.w, r70.xyzx, t1.yzwx, s0, l(0.000000)
          else
            add r70.xyz, r69.xyzx, -cb0[3].xyzx
            add r70.xyz, r70.xyzx, cb0[3].wwww
            max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            add r71.xyz, r66.xyzx, -r69.xyzx
            max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            min r70.xyz, r70.xyzx, r71.xyzx
            min r61.y, r70.z, r70.y
            min r61.y, r61.y, r70.x
            add r70.xyz, r69.xyzx, -cb0[4].xyzx
            add r70.xyz, r70.xyzx, cb0[4].wwww
            max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            add r71.xyz, r67.xyzx, -r69.xyzx
            max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            min r70.xyz, r70.xyzx, r71.xyzx
            min r62.w, r70.z, r70.y
            min r62.w, r62.w, r70.x
            lt r61.y, r52.w, r61.y
            if_nz r61.y
              mad r70.xyz, r69.xyzx, cb0[7].wwww, cb0[7].xyzx
              sample_l_indexable(texture3d)(float,float,float,float) r59.w, r70.xyzx, t2.yzwx, s0, l(0.000000)
            else
              lt r61.y, r55.y, r62.w
              if_nz r61.y
                mul r61.y, r62.w, cb0[8].w
                mul_sat r61.y, r61.y, l(10.000000)
                mad r70.xyz, r69.xyzx, cb0[8].wwww, cb0[8].xyzx
                sample_l_indexable(texture3d)(float,float,float,float) r62.w, r70.xyzx, t3.yzwx, s0, l(0.000000)
                add r62.w, r62.w, -cb0[0].x
                mad r59.w, r61.y, r62.w, cb0[0].x
              else
                mov r59.w, cb0[0].x
              endif
            endif
          endif
        endif
        lt r61.x, r48.w, r61.x
        if_nz r61.x
          mad r70.xyz, r69.xyzx, cb0[5].wwww, cb0[5].xyzx
          add r71.xyz, r70.xyzx, cb0[9].yyyy
          mov r70.w, r71.x
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.wyzw, t0.xyzw, s0, l(0.000000)
          add r72.xyw, r70.xyxz, -cb0[9].yyyy
          mov r73.xw, r72.xxxy
          mov r73.yz, r70.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r61.y, r73.xyzx, t0.yxzw, s0, l(0.000000)
          mov r73.xz, r70.xxzx
          mov r73.y, r71.y
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r73.xyzx, t0.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r64.w, r73.xwzx, t0.yzwx, s0, l(0.000000)
          mov r72.xy, r70.xyxx
          mov r72.z, r71.z
          sample_l_indexable(texture3d)(float,float,float,float) r65.w, r72.xyzx, t0.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r66.w, r72.xywx, t0.yzwx, s0, l(0.000000)
          add r70.x, -r61.y, r61.x
          add r70.y, r62.w, -r64.w
          add r70.z, r65.w, -r66.w
          mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r68.xyz, r70.xyzx, cb0[1].wwww
        else
          add r70.xyz, r69.xyzx, -cb0[2].xyzx
          add r70.xyz, r70.xyzx, cb0[2].wwww
          max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
          add r71.xyz, r65.xyzx, -r69.xyzx
          max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
          min r70.xyz, r70.xyzx, r71.xyzx
          min r61.x, r70.z, r70.y
          min r61.x, r61.x, r70.x
          lt r61.x, r55.z, r61.x
          if_nz r61.x
            mad r70.xyz, r69.xyzx, cb0[6].wwww, cb0[6].xyzx
            add r71.xyz, r70.xyzx, cb0[9].yyyy
            mov r70.w, r71.x
            sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.wyzw, t1.xyzw, s0, l(0.000000)
            add r72.xyw, r70.xyxz, -cb0[9].yyyy
            mov r73.xw, r72.xxxy
            mov r73.yz, r70.yyzy
            sample_l_indexable(texture3d)(float,float,float,float) r61.y, r73.xyzx, t1.yxzw, s0, l(0.000000)
            mov r73.xz, r70.xxzx
            mov r73.y, r71.y
            sample_l_indexable(texture3d)(float,float,float,float) r62.w, r73.xyzx, t1.yzwx, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r64.w, r73.xwzx, t1.yzwx, s0, l(0.000000)
            mov r72.xy, r70.xyxx
            mov r72.z, r71.z
            sample_l_indexable(texture3d)(float,float,float,float) r65.w, r72.xyzx, t1.yzwx, s0, l(0.000000)
            sample_l_indexable(texture3d)(float,float,float,float) r66.w, r72.xywx, t1.yzwx, s0, l(0.000000)
            add r70.x, -r61.y, r61.x
            add r70.y, r62.w, -r64.w
            add r70.z, r65.w, -r66.w
            mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
            div r68.xyz, r70.xyzx, cb0[2].wwww
          else
            add r70.xyz, r69.xyzx, -cb0[3].xyzx
            add r70.xyz, r70.xyzx, cb0[3].wwww
            max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            add r71.xyz, r66.xyzx, -r69.xyzx
            max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            min r70.xyz, r70.xyzx, r71.xyzx
            min r61.x, r70.z, r70.y
            min r61.x, r61.x, r70.x
            add r70.xyz, r69.xyzx, -cb0[4].xyzx
            add r70.xyz, r70.xyzx, cb0[4].wwww
            max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            add r71.xyz, r67.xyzx, -r69.xyzx
            max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            min r70.xyz, r70.xyzx, r71.xyzx
            min r61.y, r70.z, r70.y
            min r61.y, r61.y, r70.x
            lt r61.x, r56.w, r61.x
            if_nz r61.x
              mad r70.xyz, r69.xyzx, cb0[7].wwww, cb0[7].xyzx
              add r71.xyz, r70.xyzx, cb0[9].yyyy
              mov r70.w, r71.x
              sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.wyzw, t2.xyzw, s0, l(0.000000)
              add r72.xyw, r70.xyxz, -cb0[9].yyyy
              mov r73.xw, r72.xxxy
              mov r73.yz, r70.yyzy
              sample_l_indexable(texture3d)(float,float,float,float) r62.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
              mov r73.xz, r70.xxzx
              mov r73.y, r71.y
              sample_l_indexable(texture3d)(float,float,float,float) r64.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
              sample_l_indexable(texture3d)(float,float,float,float) r65.w, r73.xwzx, t2.yzwx, s0, l(0.000000)
              mov r72.xy, r70.xyxx
              mov r72.z, r71.z
              sample_l_indexable(texture3d)(float,float,float,float) r66.w, r72.xyzx, t2.yzwx, s0, l(0.000000)
              sample_l_indexable(texture3d)(float,float,float,float) r67.w, r72.xywx, t2.yzwx, s0, l(0.000000)
              add r70.x, r61.x, -r62.w
              add r70.y, r64.w, -r65.w
              add r70.z, r66.w, -r67.w
              mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
              div r68.xyz, r70.xyzx, cb0[3].wwww
            else
              lt r61.x, r58.z, r61.y
              if_nz r61.x
                mad r70.xyz, r69.xyzx, cb0[8].wwww, cb0[8].xyzx
                add r71.xyz, r70.xyzx, cb0[9].yyyy
                mov r70.w, r71.x
                sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.wyzw, t3.xyzw, s0, l(0.000000)
                add r72.xyw, r70.xyxz, -cb0[9].yyyy
                mov r73.xw, r72.xxxy
                mov r73.yz, r70.yyzy
                sample_l_indexable(texture3d)(float,float,float,float) r61.y, r73.xyzx, t3.yxzw, s0, l(0.000000)
                mov r73.xz, r70.xxzx
                mov r73.y, r71.y
                sample_l_indexable(texture3d)(float,float,float,float) r62.w, r73.xyzx, t3.yzwx, s0, l(0.000000)
                sample_l_indexable(texture3d)(float,float,float,float) r64.w, r73.xwzx, t3.yzwx, s0, l(0.000000)
                mov r72.xy, r70.xyxx
                mov r72.z, r71.z
                sample_l_indexable(texture3d)(float,float,float,float) r65.w, r72.xyzx, t3.yzwx, s0, l(0.000000)
                sample_l_indexable(texture3d)(float,float,float,float) r66.w, r72.xywx, t3.yzwx, s0, l(0.000000)
                add r70.x, -r61.y, r61.x
                add r70.y, r62.w, -r64.w
                add r70.z, r65.w, -r66.w
                mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
                div r68.xyz, r70.xyzx, cb0[4].wwww
              else
                mov r68.xyz, l(0,0,0.001000,0)
              endif
            endif
          endif
        endif
        lt r61.xy, l(0.000000, 25.000000, 0.000000, 0.000000), r59.wwww
        eq r70.xyz, r68.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
        and r62.w, r70.y, r70.x
        and r62.w, r70.z, r62.w
        and r61.x, r61.x, r62.w
        not r61.x, r61.x
        and r51.x, r50.z, r61.x
        mad r70.xyz, r64.xyzx, r59.wwww, r69.xyzx
        movc r69.xyz, r61.yyyy, r70.xyzx, r69.xyzx
        iadd r60.x, r60.x, l(1)
        mov r58.w, r59.w
      endloop
      mov r63.xyz, r68.xyzx
      mov r47.y, r58.w
    else
      mov r69.xyz, r24.yzwy
      mov r59.w, l(100.000000)
      mov r51.x, l(-1)
    endif
  else
    mov r69.xyz, r24.yzwy
    mov r55.x, l(0)
    mov r59.w, l(100.000000)
  endif
  lt r25.w, r47.y, l(25.000000)
  and r25.w, r51.x, r25.w
  dp3 r47.y, r63.xyzx, r63.xyzx
  sqrt r63.w, r47.y
  lt r47.y, r63.w, l(0.000010)
  movc r63.xyzw, r47.yyyy, l(0,0,1.000000,1.000000), r63.xyzw
  div r63.xyz, r63.xyzx, r63.wwww
  add r64.xyz, r24.yzwy, -r69.xyzx
  dp3 r51.x, r64.xyzx, r64.xyzx
  sqrt r51.x, r51.x
  lt r51.x, r51.x, l(100.000000)
  and r51.x, r25.w, r51.x
  add r64.xyz, r69.xyzx, l(2.000000, 0.000000, 0.000000, 0.000000)
  add r65.xyz, r64.xyzx, -cb0[1].xyzx
  add r65.xyz, r65.xyzx, cb0[1].wwww
  max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r66.xyz, r62.xyzx, -r64.xyzx
  max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r65.xyz, r65.xyzx, r66.xyzx
  min r52.w, r65.z, r65.y
  min r52.w, r52.w, r65.x
  lt r55.y, r1.w, r52.w
  if_nz r55.y
    mad r65.xyz, r64.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r55.y, r65.xyzx, t0.yxzw, s0, l(0.000000)
  else
    add r65.xyz, r64.xyzx, -cb0[2].xyzx
    add r65.xyz, r65.xyzx, cb0[2].wwww
    max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r66.xyz, cb0[2].wwww, cb0[2].xyzx
    add r66.xyz, -r64.xyzx, r66.xyzx
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r65.xyz, r65.xyzx, r66.xyzx
    min r55.z, r65.z, r65.y
    min r55.z, r55.z, r65.x
    mul r56.w, cb0[2].w, cb0[9].y
    lt r55.z, r56.w, r55.z
    if_nz r55.z
      mad r65.xyz, r64.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r55.y, r65.xyzx, t1.yxzw, s0, l(0.000000)
    else
      add r65.xyz, r64.xyzx, -cb0[3].xyzx
      add r65.xyz, r65.xyzx, cb0[3].wwww
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r66.xyz, cb0[3].wwww, cb0[3].xyzx
      add r66.xyz, -r64.xyzx, r66.xyzx
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r65.xyz, r65.xyzx, r66.xyzx
      min r55.z, r65.z, r65.y
      min r55.z, r55.z, r65.x
      add r65.xyz, r64.xyzx, -cb0[4].xyzx
      add r65.xyz, r65.xyzx, cb0[4].wwww
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r66.xyz, cb0[4].wwww, cb0[4].xyzx
      add r66.xyz, -r64.xyzx, r66.xyzx
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r65.xyz, r65.xyzx, r66.xyzx
      min r56.w, r65.z, r65.y
      min r56.w, r56.w, r65.x
      mul r58.z, cb0[3].w, cb0[9].y
      lt r55.z, r58.z, r55.z
      if_nz r55.z
        mad r65.xyz, r64.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r55.y, r65.xyzx, t2.yxzw, s0, l(0.000000)
      else
        mul r55.z, cb0[4].w, cb0[9].y
        lt r55.z, r55.z, r56.w
        if_nz r55.z
          mul r55.z, r56.w, cb0[8].w
          mul_sat r55.z, r55.z, l(10.000000)
          mad r65.xyz, r64.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r65.xyzx, t3.yzwx, s0, l(0.000000)
          add r56.w, r56.w, -cb0[0].x
          mad r55.y, r55.z, r56.w, cb0[0].x
        else
          mov r55.y, cb0[0].x
        endif
      endif
    endif
  endif
  lt r52.w, r48.w, r52.w
  if_nz r52.w
    mad r65.xyz, r64.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r66.xyz, r65.xyzx, cb0[9].yyyy
    mov r65.w, r66.x
    sample_l_indexable(texture3d)(float,float,float,float) r52.w, r65.wyzw, t0.yzwx, s0, l(0.000000)
    add r67.xyw, r65.xyxz, -cb0[9].yyyy
    mov r68.xw, r67.xxxy
    mov r68.yz, r65.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r55.z, r68.xyzx, t0.yzxw, s0, l(0.000000)
    mov r68.xz, r65.xxzx
    mov r68.y, r66.y
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r68.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r68.xwzx, t0.yzxw, s0, l(0.000000)
    mov r67.xy, r65.xyxx
    mov r67.z, r66.z
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r67.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r67.xywx, t0.xyzw, s0, l(0.000000)
    add r65.x, r52.w, -r55.z
    add r65.y, r56.w, -r58.z
    add r65.z, r58.w, -r60.x
    mul r65.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r65.xyz, r65.xyzx, cb0[1].wwww
  else
    add r66.xyz, r64.xyzx, -cb0[2].xyzx
    add r66.xyz, r66.xyzx, cb0[2].wwww
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r64.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r66.xyz, r66.xyzx, r67.xyzx
    min r52.w, r66.z, r66.y
    min r52.w, r52.w, r66.x
    mul r55.z, r47.z, cb0[2].w
    lt r52.w, r55.z, r52.w
    if_nz r52.w
      mad r66.xyz, r64.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r67.xyz, r66.xyzx, cb0[9].yyyy
      mov r66.w, r67.x
      sample_l_indexable(texture3d)(float,float,float,float) r52.w, r66.wyzw, t1.yzwx, s0, l(0.000000)
      add r68.xyw, r66.xyxz, -cb0[9].yyyy
      mov r70.xw, r68.xxxy
      mov r70.yz, r66.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r55.z, r70.xyzx, t1.yzxw, s0, l(0.000000)
      mov r70.xz, r66.xxzx
      mov r70.y, r67.y
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r70.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r70.xwzx, t1.yzxw, s0, l(0.000000)
      mov r68.xy, r66.xyxx
      mov r68.z, r67.z
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r68.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r68.xywx, t1.xyzw, s0, l(0.000000)
      add r66.x, r52.w, -r55.z
      add r66.y, r56.w, -r58.z
      add r66.z, r58.w, -r60.x
      mul r66.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r65.xyz, r66.xyzx, cb0[2].wwww
    else
      add r66.xyz, r64.xyzx, -cb0[3].xyzx
      add r66.xyz, r66.xyzx, cb0[3].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r64.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r52.w, r66.z, r66.y
      min r52.w, r52.w, r66.x
      add r66.xyz, r64.xyzx, -cb0[4].xyzx
      add r66.xyz, r66.xyzx, cb0[4].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r64.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r55.z, r66.z, r66.y
      min r55.z, r55.z, r66.x
      mul r56.w, r47.z, cb0[3].w
      lt r52.w, r56.w, r52.w
      if_nz r52.w
        mad r66.xyz, r64.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r67.xyz, r66.xyzx, cb0[9].yyyy
        mov r66.w, r67.x
        sample_l_indexable(texture3d)(float,float,float,float) r52.w, r66.wyzw, t2.yzwx, s0, l(0.000000)
        add r68.xyw, r66.xyxz, -cb0[9].yyyy
        mov r70.xw, r68.xxxy
        mov r70.yz, r66.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r70.xyzx, t2.yzwx, s0, l(0.000000)
        mov r70.xz, r66.xxzx
        mov r70.y, r67.y
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r70.xyzx, t2.yzxw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r70.xwzx, t2.yzwx, s0, l(0.000000)
        mov r68.xy, r66.xyxx
        mov r68.z, r67.z
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r68.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r68.xywx, t2.xyzw, s0, l(0.000000)
        add r66.x, r52.w, -r56.w
        add r66.y, -r58.w, r58.z
        add r66.z, r60.x, -r61.x
        mul r66.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r65.xyz, r66.xyzx, cb0[3].wwww
      else
        mul r52.w, r47.z, cb0[4].w
        lt r52.w, r52.w, r55.z
        if_nz r52.w
          mad r64.xyz, r64.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r66.xyz, r64.xyzx, cb0[9].yyyy
          mov r64.w, r66.x
          sample_l_indexable(texture3d)(float,float,float,float) r52.w, r64.wyzw, t3.yzwx, s0, l(0.000000)
          add r67.xyw, r64.xyxz, -cb0[9].yyyy
          mov r68.xw, r67.xxxy
          mov r68.yz, r64.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r55.z, r68.xyzx, t3.yzxw, s0, l(0.000000)
          mov r68.xz, r64.xxzx
          mov r68.y, r66.y
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r68.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r68.xwzx, t3.yzxw, s0, l(0.000000)
          mov r67.xy, r64.xyxx
          mov r67.z, r66.z
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r67.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r67.xywx, t3.xyzw, s0, l(0.000000)
          add r64.x, r52.w, -r55.z
          add r64.y, r56.w, -r58.z
          add r64.z, r58.w, -r60.x
          mul r64.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r65.xyz, r64.xyzx, cb0[4].wwww
        else
          mov r65.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r52.w, l(0.000000), r55.y
  eq r64.xyz, r65.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r55.z, r64.y, r64.x
  and r55.z, r64.z, r55.z
  and r52.w, r52.w, r55.z
  add r64.xyz, r69.xyzx, l(-2.000000, 0.000000, 0.000000, 0.000000)
  add r65.xyz, r64.xyzx, -cb0[1].xyzx
  add r65.xyz, r65.xyzx, cb0[1].wwww
  max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r66.xyz, r62.xyzx, -r64.xyzx
  max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r65.xyz, r65.xyzx, r66.xyzx
  min r55.z, r65.z, r65.y
  min r55.z, r55.z, r65.x
  lt r56.w, r1.w, r55.z
  if_nz r56.w
    mad r65.xyz, r64.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r65.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r65.xyz, r64.xyzx, -cb0[2].xyzx
    add r65.xyz, r65.xyzx, cb0[2].wwww
    max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r66.xyz, cb0[2].wwww, cb0[2].xyzx
    add r66.xyz, -r64.xyzx, r66.xyzx
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r65.xyz, r65.xyzx, r66.xyzx
    min r58.z, r65.z, r65.y
    min r58.z, r58.z, r65.x
    mul r58.w, cb0[2].w, cb0[9].y
    lt r58.z, r58.w, r58.z
    if_nz r58.z
      mad r65.xyz, r64.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r65.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r65.xyz, r64.xyzx, -cb0[3].xyzx
      add r65.xyz, r65.xyzx, cb0[3].wwww
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r66.xyz, cb0[3].wwww, cb0[3].xyzx
      add r66.xyz, -r64.xyzx, r66.xyzx
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r65.xyz, r65.xyzx, r66.xyzx
      min r58.z, r65.z, r65.y
      min r58.z, r58.z, r65.x
      add r65.xyz, r64.xyzx, -cb0[4].xyzx
      add r65.xyz, r65.xyzx, cb0[4].wwww
      max r65.xyz, r65.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r66.xyz, cb0[4].wwww, cb0[4].xyzx
      add r66.xyz, -r64.xyzx, r66.xyzx
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r65.xyz, r65.xyzx, r66.xyzx
      min r58.w, r65.z, r65.y
      min r58.w, r58.w, r65.x
      mul r60.x, cb0[3].w, cb0[9].y
      lt r58.z, r60.x, r58.z
      if_nz r58.z
        mad r65.xyz, r64.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r65.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r58.z, cb0[4].w, cb0[9].y
        lt r58.z, r58.z, r58.w
        if_nz r58.z
          mul r58.z, r58.w, cb0[8].w
          mul_sat r58.z, r58.z, l(10.000000)
          mad r65.xyz, r64.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r65.xyzx, t3.yzwx, s0, l(0.000000)
          add r58.w, r58.w, -cb0[0].x
          mad r56.w, r58.z, r58.w, cb0[0].x
        else
          mov r56.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r55.z, r48.w, r55.z
  if_nz r55.z
    mad r65.xyz, r64.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r66.xyz, r65.xyzx, cb0[9].yyyy
    mov r65.w, r66.x
    sample_l_indexable(texture3d)(float,float,float,float) r55.z, r65.wyzw, t0.yzxw, s0, l(0.000000)
    add r67.xyw, r65.xyxz, -cb0[9].yyyy
    mov r68.xw, r67.xxxy
    mov r68.yz, r65.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r68.xyzx, t0.yzxw, s0, l(0.000000)
    mov r68.xz, r65.xxzx
    mov r68.y, r66.y
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r68.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r68.xwzx, t0.xyzw, s0, l(0.000000)
    mov r67.xy, r65.xyxx
    mov r67.z, r66.z
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r67.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r61.y, r67.xywx, t0.yxzw, s0, l(0.000000)
    add r65.x, r55.z, -r58.z
    add r65.y, r58.w, -r60.x
    add r65.z, -r61.y, r61.x
    mul r65.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r65.xyz, r65.xyzx, cb0[1].wwww
  else
    add r66.xyz, r64.xyzx, -cb0[2].xyzx
    add r66.xyz, r66.xyzx, cb0[2].wwww
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r64.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r66.xyz, r66.xyzx, r67.xyzx
    min r55.z, r66.z, r66.y
    min r55.z, r55.z, r66.x
    mul r58.z, r47.z, cb0[2].w
    lt r55.z, r58.z, r55.z
    if_nz r55.z
      mad r66.xyz, r64.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r67.xyz, r66.xyzx, cb0[9].yyyy
      mov r66.w, r67.x
      sample_l_indexable(texture3d)(float,float,float,float) r55.z, r66.wyzw, t1.yzxw, s0, l(0.000000)
      add r68.xyw, r66.xyxz, -cb0[9].yyyy
      mov r70.xw, r68.xxxy
      mov r70.yz, r66.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r70.xyzx, t1.yzxw, s0, l(0.000000)
      mov r70.xz, r66.xxzx
      mov r70.y, r67.y
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r70.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xwzx, t1.xyzw, s0, l(0.000000)
      mov r68.xy, r66.xyxx
      mov r68.z, r67.z
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r68.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.y, r68.xywx, t1.yxzw, s0, l(0.000000)
      add r66.x, r55.z, -r58.z
      add r66.y, r58.w, -r60.x
      add r66.z, -r61.y, r61.x
      mul r66.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r65.xyz, r66.xyzx, cb0[2].wwww
    else
      add r66.xyz, r64.xyzx, -cb0[3].xyzx
      add r66.xyz, r66.xyzx, cb0[3].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r64.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r55.z, r66.z, r66.y
      min r55.z, r55.z, r66.x
      add r66.xyz, r64.xyzx, -cb0[4].xyzx
      add r66.xyz, r66.xyzx, cb0[4].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r64.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r58.z, r66.z, r66.y
      min r58.z, r58.z, r66.x
      mul r58.w, r47.z, cb0[3].w
      lt r55.z, r58.w, r55.z
      if_nz r55.z
        mad r66.xyz, r64.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r67.xyz, r66.xyzx, cb0[9].yyyy
        mov r66.w, r67.x
        sample_l_indexable(texture3d)(float,float,float,float) r55.z, r66.wyzw, t2.yzxw, s0, l(0.000000)
        add r68.xyw, r66.xyxz, -cb0[9].yyyy
        mov r70.xw, r68.xxxy
        mov r70.yz, r66.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r70.xyzx, t2.yzwx, s0, l(0.000000)
        mov r70.xz, r66.xxzx
        mov r70.y, r67.y
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.xwzx, t2.xyzw, s0, l(0.000000)
        mov r68.xy, r66.xyxx
        mov r68.z, r67.z
        sample_l_indexable(texture3d)(float,float,float,float) r61.y, r68.xyzx, t2.yxzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xywx, t2.yzwx, s0, l(0.000000)
        add r66.x, r55.z, -r58.w
        add r66.y, r60.x, -r61.x
        add r66.z, r61.y, -r62.w
        mul r66.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r65.xyz, r66.xyzx, cb0[3].wwww
      else
        mul r55.z, r47.z, cb0[4].w
        lt r55.z, r55.z, r58.z
        if_nz r55.z
          mad r64.xyz, r64.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r66.xyz, r64.xyzx, cb0[9].yyyy
          mov r64.w, r66.x
          sample_l_indexable(texture3d)(float,float,float,float) r55.z, r64.wyzw, t3.yzxw, s0, l(0.000000)
          add r67.xyw, r64.xyxz, -cb0[9].yyyy
          mov r68.xw, r67.xxxy
          mov r68.yz, r64.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r68.xyzx, t3.yzxw, s0, l(0.000000)
          mov r68.xz, r64.xxzx
          mov r68.y, r66.y
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r68.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r68.xwzx, t3.xyzw, s0, l(0.000000)
          mov r67.xy, r64.xyxx
          mov r67.z, r66.z
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r67.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.y, r67.xywx, t3.yxzw, s0, l(0.000000)
          add r64.x, r55.z, -r58.z
          add r64.y, r58.w, -r60.x
          add r64.z, -r61.y, r61.x
          mul r64.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r65.xyz, r64.xyzx, cb0[4].wwww
        else
          mov r65.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r55.z, l(0.000000), r56.w
  eq r64.xyz, r65.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r58.z, r64.y, r64.x
  and r58.z, r64.z, r58.z
  and r55.z, r55.z, r58.z
  add r64.x, r55.y, -r56.w
  add r65.xyz, r69.xyzx, l(0.000000, 2.000000, 0.000000, 0.000000)
  add r66.xyz, r65.xyzx, -cb0[1].xyzx
  add r66.xyz, r66.xyzx, cb0[1].wwww
  max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r67.xyz, r62.xyzx, -r65.xyzx
  max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r66.xyz, r66.xyzx, r67.xyzx
  min r55.y, r66.z, r66.y
  min r55.y, r55.y, r66.x
  lt r56.w, r1.w, r55.y
  if_nz r56.w
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r66.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r66.xyz, r65.xyzx, -cb0[2].xyzx
    add r66.xyz, r66.xyzx, cb0[2].wwww
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r65.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r66.xyz, r66.xyzx, r67.xyzx
    min r58.z, r66.z, r66.y
    min r58.z, r58.z, r66.x
    mul r58.w, cb0[2].w, cb0[9].y
    lt r58.z, r58.w, r58.z
    if_nz r58.z
      mad r66.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r66.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r66.xyz, r65.xyzx, -cb0[3].xyzx
      add r66.xyz, r66.xyzx, cb0[3].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r58.z, r66.z, r66.y
      min r58.z, r58.z, r66.x
      add r66.xyz, r65.xyzx, -cb0[4].xyzx
      add r66.xyz, r66.xyzx, cb0[4].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r58.w, r66.z, r66.y
      min r58.w, r58.w, r66.x
      mul r60.x, cb0[3].w, cb0[9].y
      lt r58.z, r60.x, r58.z
      if_nz r58.z
        mad r66.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r66.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r58.z, cb0[4].w, cb0[9].y
        lt r58.z, r58.z, r58.w
        if_nz r58.z
          mul r58.z, r58.w, cb0[8].w
          mul_sat r58.z, r58.z, l(10.000000)
          mad r66.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r66.xyzx, t3.yzwx, s0, l(0.000000)
          add r58.w, r58.w, -cb0[0].x
          mad r56.w, r58.z, r58.w, cb0[0].x
        else
          mov r56.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r55.y, r48.w, r55.y
  if_nz r55.y
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r67.xyz, r66.xyzx, cb0[9].yyyy
    mov r66.w, r67.x
    sample_l_indexable(texture3d)(float,float,float,float) r55.y, r66.wyzw, t0.yxzw, s0, l(0.000000)
    add r68.xyw, r66.xyxz, -cb0[9].yyyy
    mov r70.xw, r68.xxxy
    mov r70.yz, r66.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r70.xyzx, t0.yzxw, s0, l(0.000000)
    mov r70.xz, r66.xxzx
    mov r70.y, r67.y
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r70.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xwzx, t0.xyzw, s0, l(0.000000)
    mov r68.xy, r66.xyxx
    mov r68.z, r67.z
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r68.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r61.y, r68.xywx, t0.yxzw, s0, l(0.000000)
    add r66.x, r55.y, -r58.z
    add r66.y, r58.w, -r60.x
    add r66.z, -r61.y, r61.x
    mul r66.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r66.xyz, r66.xyzx, cb0[1].wwww
  else
    add r67.xyz, r65.xyzx, -cb0[2].xyzx
    add r67.xyz, r67.xyzx, cb0[2].wwww
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r68.xyz, cb0[2].wwww, cb0[2].xyzx
    add r68.xyz, -r65.xyzx, r68.xyzx
    max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r67.xyz, r67.xyzx, r68.xyzx
    min r55.y, r67.z, r67.y
    min r55.y, r55.y, r67.x
    mul r58.z, r47.z, cb0[2].w
    lt r55.y, r58.z, r55.y
    if_nz r55.y
      mad r67.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r68.xyz, r67.xyzx, cb0[9].yyyy
      mov r67.w, r68.x
      sample_l_indexable(texture3d)(float,float,float,float) r55.y, r67.wyzw, t1.yxzw, s0, l(0.000000)
      add r70.xyw, r67.xyxz, -cb0[9].yyyy
      mov r71.xw, r70.xxxy
      mov r71.yz, r67.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r71.xyzx, t1.yzxw, s0, l(0.000000)
      mov r71.xz, r67.xxzx
      mov r71.y, r68.y
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r71.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xwzx, t1.xyzw, s0, l(0.000000)
      mov r70.xy, r67.xyxx
      mov r70.z, r68.z
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xywx, t1.yxzw, s0, l(0.000000)
      add r67.x, r55.y, -r58.z
      add r67.y, r58.w, -r60.x
      add r67.z, -r61.y, r61.x
      mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r66.xyz, r67.xyzx, cb0[2].wwww
    else
      add r67.xyz, r65.xyzx, -cb0[3].xyzx
      add r67.xyz, r67.xyzx, cb0[3].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[3].wwww, cb0[3].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r55.y, r67.z, r67.y
      min r55.y, r55.y, r67.x
      add r67.xyz, r65.xyzx, -cb0[4].xyzx
      add r67.xyz, r67.xyzx, cb0[4].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[4].wwww, cb0[4].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r58.z, r67.z, r67.y
      min r58.z, r58.z, r67.x
      mul r58.w, r47.z, cb0[3].w
      lt r55.y, r58.w, r55.y
      if_nz r55.y
        mad r67.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r68.xyz, r67.xyzx, cb0[9].yyyy
        mov r67.w, r68.x
        sample_l_indexable(texture3d)(float,float,float,float) r55.y, r67.wyzw, t2.yxzw, s0, l(0.000000)
        add r70.xyw, r67.xyxz, -cb0[9].yyyy
        mov r71.xw, r70.xxxy
        mov r71.yz, r67.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r71.xyzx, t2.yzwx, s0, l(0.000000)
        mov r71.xz, r67.xxzx
        mov r71.y, r68.y
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xwzx, t2.xyzw, s0, l(0.000000)
        mov r70.xy, r67.xyxx
        mov r70.z, r68.z
        sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xyzx, t2.yxzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r70.xywx, t2.yzwx, s0, l(0.000000)
        add r67.x, r55.y, -r58.w
        add r67.y, r60.x, -r61.x
        add r67.z, r61.y, -r62.w
        mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r66.xyz, r67.xyzx, cb0[3].wwww
      else
        mul r55.y, r47.z, cb0[4].w
        lt r55.y, r55.y, r58.z
        if_nz r55.y
          mad r65.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r67.xyz, r65.xyzx, cb0[9].yyyy
          mov r65.w, r67.x
          sample_l_indexable(texture3d)(float,float,float,float) r55.y, r65.wyzw, t3.yxzw, s0, l(0.000000)
          add r68.xyw, r65.xyxz, -cb0[9].yyyy
          mov r70.xw, r68.xxxy
          mov r70.yz, r65.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r70.xyzx, t3.yzxw, s0, l(0.000000)
          mov r70.xz, r65.xxzx
          mov r70.y, r67.y
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r70.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xwzx, t3.xyzw, s0, l(0.000000)
          mov r68.xy, r65.xyxx
          mov r68.z, r67.z
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r68.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.y, r68.xywx, t3.yxzw, s0, l(0.000000)
          add r65.x, r55.y, -r58.z
          add r65.y, r58.w, -r60.x
          add r65.z, -r61.y, r61.x
          mul r65.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r66.xyz, r65.xyzx, cb0[4].wwww
        else
          mov r66.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r55.y, l(0.000000), r56.w
  eq r65.xyz, r66.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r58.z, r65.y, r65.x
  and r58.z, r65.z, r58.z
  and r55.y, r55.y, r58.z
  add r65.xyz, r69.xyzx, l(0.000000, -2.000000, 0.000000, 0.000000)
  add r66.xyz, r65.xyzx, -cb0[1].xyzx
  add r66.xyz, r66.xyzx, cb0[1].wwww
  max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r67.xyz, r62.xyzx, -r65.xyzx
  max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r66.xyz, r66.xyzx, r67.xyzx
  min r58.z, r66.z, r66.y
  min r58.z, r58.z, r66.x
  lt r58.w, r1.w, r58.z
  if_nz r58.w
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r66.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r66.xyz, r65.xyzx, -cb0[2].xyzx
    add r66.xyz, r66.xyzx, cb0[2].wwww
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r65.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r66.xyz, r66.xyzx, r67.xyzx
    min r60.x, r66.z, r66.y
    min r60.x, r60.x, r66.x
    mul r61.x, cb0[2].w, cb0[9].y
    lt r60.x, r61.x, r60.x
    if_nz r60.x
      mad r66.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r66.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r66.xyz, r65.xyzx, -cb0[3].xyzx
      add r66.xyz, r66.xyzx, cb0[3].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r60.x, r66.z, r66.y
      min r60.x, r60.x, r66.x
      add r66.xyz, r65.xyzx, -cb0[4].xyzx
      add r66.xyz, r66.xyzx, cb0[4].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r61.x, r66.z, r66.y
      min r61.x, r61.x, r66.x
      mul r61.y, cb0[3].w, cb0[9].y
      lt r60.x, r61.y, r60.x
      if_nz r60.x
        mad r66.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r66.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r60.x, cb0[4].w, cb0[9].y
        lt r60.x, r60.x, r61.x
        if_nz r60.x
          mul r60.x, r61.x, cb0[8].w
          mul_sat r60.x, r60.x, l(10.000000)
          mad r66.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r66.xyzx, t3.xyzw, s0, l(0.000000)
          add r61.x, r61.x, -cb0[0].x
          mad r58.w, r60.x, r61.x, cb0[0].x
        else
          mov r58.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r58.z, r48.w, r58.z
  if_nz r58.z
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r67.xyz, r66.xyzx, cb0[9].yyyy
    mov r66.w, r67.x
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r66.wyzw, t0.yzxw, s0, l(0.000000)
    add r68.xyw, r66.xyxz, -cb0[9].yyyy
    mov r70.xw, r68.xxxy
    mov r70.yz, r66.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xyzx, t0.xyzw, s0, l(0.000000)
    mov r70.xz, r66.xxzx
    mov r70.y, r67.y
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xwzx, t0.yxzw, s0, l(0.000000)
    mov r68.xy, r66.xyxx
    mov r68.z, r67.z
    sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r63.w, r68.xywx, t0.yzwx, s0, l(0.000000)
    add r66.x, r58.z, -r60.x
    add r66.y, -r61.y, r61.x
    add r66.z, r62.w, -r63.w
    mul r66.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r66.xyz, r66.xyzx, cb0[1].wwww
  else
    add r67.xyz, r65.xyzx, -cb0[2].xyzx
    add r67.xyz, r67.xyzx, cb0[2].wwww
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r68.xyz, cb0[2].wwww, cb0[2].xyzx
    add r68.xyz, -r65.xyzx, r68.xyzx
    max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r67.xyz, r67.xyzx, r68.xyzx
    min r58.z, r67.z, r67.y
    min r58.z, r58.z, r67.x
    mul r60.x, r47.z, cb0[2].w
    lt r58.z, r60.x, r58.z
    if_nz r58.z
      mad r67.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r68.xyz, r67.xyzx, cb0[9].yyyy
      mov r67.w, r68.x
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.wyzw, t1.yzxw, s0, l(0.000000)
      add r70.xyw, r67.xyxz, -cb0[9].yyyy
      mov r71.xw, r70.xxxy
      mov r71.yz, r67.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t1.xyzw, s0, l(0.000000)
      mov r71.xz, r67.xxzx
      mov r71.y, r68.y
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.y, r71.xwzx, t1.yxzw, s0, l(0.000000)
      mov r70.xy, r67.xyxx
      mov r70.z, r68.z
      sample_l_indexable(texture3d)(float,float,float,float) r62.w, r70.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r63.w, r70.xywx, t1.yzwx, s0, l(0.000000)
      add r67.x, r58.z, -r60.x
      add r67.y, -r61.y, r61.x
      add r67.z, r62.w, -r63.w
      mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r66.xyz, r67.xyzx, cb0[2].wwww
    else
      add r67.xyz, r65.xyzx, -cb0[3].xyzx
      add r67.xyz, r67.xyzx, cb0[3].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[3].wwww, cb0[3].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r58.z, r67.z, r67.y
      min r58.z, r58.z, r67.x
      add r67.xyz, r65.xyzx, -cb0[4].xyzx
      add r67.xyz, r67.xyzx, cb0[4].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[4].wwww, cb0[4].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r60.x, r67.z, r67.y
      min r60.x, r60.x, r67.x
      mul r61.x, r47.z, cb0[3].w
      lt r58.z, r61.x, r58.z
      if_nz r58.z
        mad r67.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r68.xyz, r67.xyzx, cb0[9].yyyy
        mov r67.w, r68.x
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r67.wyzw, t2.yzxw, s0, l(0.000000)
        add r70.xyw, r67.xyxz, -cb0[9].yyyy
        mov r71.xw, r70.xxxy
        mov r71.yz, r67.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xyzx, t2.xyzw, s0, l(0.000000)
        mov r71.xz, r67.xxzx
        mov r71.y, r68.y
        sample_l_indexable(texture3d)(float,float,float,float) r61.y, r71.xyzx, t2.yxzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r71.xwzx, t2.yzwx, s0, l(0.000000)
        mov r70.xy, r67.xyxx
        mov r70.z, r68.z
        sample_l_indexable(texture3d)(float,float,float,float) r63.w, r70.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r65.w, r70.xywx, t2.yzwx, s0, l(0.000000)
        add r67.x, r58.z, -r61.x
        add r67.y, r61.y, -r62.w
        add r67.z, r63.w, -r65.w
        mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r66.xyz, r67.xyzx, cb0[3].wwww
      else
        mul r58.z, r47.z, cb0[4].w
        lt r58.z, r58.z, r60.x
        if_nz r58.z
          mad r65.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r67.xyz, r65.xyzx, cb0[9].yyyy
          mov r65.w, r67.x
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r65.wyzw, t3.yzxw, s0, l(0.000000)
          add r68.xyw, r65.xyxz, -cb0[9].yyyy
          mov r70.xw, r68.xxxy
          mov r70.yz, r65.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xyzx, t3.xyzw, s0, l(0.000000)
          mov r70.xz, r65.xxzx
          mov r70.y, r67.y
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xwzx, t3.yxzw, s0, l(0.000000)
          mov r68.xy, r65.xyxx
          mov r68.z, r67.z
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r63.w, r68.xywx, t3.yzwx, s0, l(0.000000)
          add r65.x, r58.z, -r60.x
          add r65.y, -r61.y, r61.x
          add r65.z, r62.w, -r63.w
          mul r65.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r66.xyz, r65.xyzx, cb0[4].wwww
        else
          mov r66.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r58.z, l(0.000000), r58.w
  eq r65.xyz, r66.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r60.x, r65.y, r65.x
  and r60.x, r65.z, r60.x
  and r58.z, r58.z, r60.x
  add r64.y, r56.w, -r58.w
  add r65.xyz, r69.xyzx, l(0.000000, 0.000000, 2.000000, 0.000000)
  add r66.xyz, r65.xyzx, -cb0[1].xyzx
  add r66.xyz, r66.xyzx, cb0[1].wwww
  max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r67.xyz, r62.xyzx, -r65.xyzx
  max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r66.xyz, r66.xyzx, r67.xyzx
  min r56.w, r66.z, r66.y
  min r56.w, r56.w, r66.x
  lt r58.w, r1.w, r56.w
  if_nz r58.w
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r66.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r66.xyz, r65.xyzx, -cb0[2].xyzx
    add r66.xyz, r66.xyzx, cb0[2].wwww
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r65.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r66.xyz, r66.xyzx, r67.xyzx
    min r60.x, r66.z, r66.y
    min r60.x, r60.x, r66.x
    mul r61.x, cb0[2].w, cb0[9].y
    lt r60.x, r61.x, r60.x
    if_nz r60.x
      mad r66.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r66.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r66.xyz, r65.xyzx, -cb0[3].xyzx
      add r66.xyz, r66.xyzx, cb0[3].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r60.x, r66.z, r66.y
      min r60.x, r60.x, r66.x
      add r66.xyz, r65.xyzx, -cb0[4].xyzx
      add r66.xyz, r66.xyzx, cb0[4].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r61.x, r66.z, r66.y
      min r61.x, r61.x, r66.x
      mul r61.y, cb0[3].w, cb0[9].y
      lt r60.x, r61.y, r60.x
      if_nz r60.x
        mad r66.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r66.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r60.x, cb0[4].w, cb0[9].y
        lt r60.x, r60.x, r61.x
        if_nz r60.x
          mul r60.x, r61.x, cb0[8].w
          mul_sat r60.x, r60.x, l(10.000000)
          mad r66.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r66.xyzx, t3.xyzw, s0, l(0.000000)
          add r61.x, r61.x, -cb0[0].x
          mad r58.w, r60.x, r61.x, cb0[0].x
        else
          mov r58.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r56.w, r48.w, r56.w
  if_nz r56.w
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r67.xyz, r66.xyzx, cb0[9].yyyy
    mov r66.w, r67.x
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r66.wyzw, t0.yzwx, s0, l(0.000000)
    add r68.xyw, r66.xyxz, -cb0[9].yyyy
    mov r70.xw, r68.xxxy
    mov r70.yz, r66.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xyzx, t0.xyzw, s0, l(0.000000)
    mov r70.xz, r66.xxzx
    mov r70.y, r67.y
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xwzx, t0.yxzw, s0, l(0.000000)
    mov r68.xy, r66.xyxx
    mov r68.z, r67.z
    sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r63.w, r68.xywx, t0.yzwx, s0, l(0.000000)
    add r66.x, r56.w, -r60.x
    add r66.y, -r61.y, r61.x
    add r66.z, r62.w, -r63.w
    mul r66.xyz, r66.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r66.xyz, r66.xyzx, cb0[1].wwww
  else
    add r67.xyz, r65.xyzx, -cb0[2].xyzx
    add r67.xyz, r67.xyzx, cb0[2].wwww
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r68.xyz, cb0[2].wwww, cb0[2].xyzx
    add r68.xyz, -r65.xyzx, r68.xyzx
    max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r67.xyz, r67.xyzx, r68.xyzx
    min r56.w, r67.z, r67.y
    min r56.w, r56.w, r67.x
    mul r60.x, r47.z, cb0[2].w
    lt r56.w, r60.x, r56.w
    if_nz r56.w
      mad r67.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r68.xyz, r67.xyzx, cb0[9].yyyy
      mov r67.w, r68.x
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r67.wyzw, t1.yzwx, s0, l(0.000000)
      add r70.xyw, r67.xyxz, -cb0[9].yyyy
      mov r71.xw, r70.xxxy
      mov r71.yz, r67.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t1.xyzw, s0, l(0.000000)
      mov r71.xz, r67.xxzx
      mov r71.y, r68.y
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.y, r71.xwzx, t1.yxzw, s0, l(0.000000)
      mov r70.xy, r67.xyxx
      mov r70.z, r68.z
      sample_l_indexable(texture3d)(float,float,float,float) r62.w, r70.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r63.w, r70.xywx, t1.yzwx, s0, l(0.000000)
      add r67.x, r56.w, -r60.x
      add r67.y, -r61.y, r61.x
      add r67.z, r62.w, -r63.w
      mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r66.xyz, r67.xyzx, cb0[2].wwww
    else
      add r67.xyz, r65.xyzx, -cb0[3].xyzx
      add r67.xyz, r67.xyzx, cb0[3].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[3].wwww, cb0[3].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r56.w, r67.z, r67.y
      min r56.w, r56.w, r67.x
      add r67.xyz, r65.xyzx, -cb0[4].xyzx
      add r67.xyz, r67.xyzx, cb0[4].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[4].wwww, cb0[4].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r60.x, r67.z, r67.y
      min r60.x, r60.x, r67.x
      mul r61.x, r47.z, cb0[3].w
      lt r56.w, r61.x, r56.w
      if_nz r56.w
        mad r67.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r68.xyz, r67.xyzx, cb0[9].yyyy
        mov r67.w, r68.x
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r67.wyzw, t2.yzwx, s0, l(0.000000)
        add r70.xyw, r67.xyxz, -cb0[9].yyyy
        mov r71.xw, r70.xxxy
        mov r71.yz, r67.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xyzx, t2.xyzw, s0, l(0.000000)
        mov r71.xz, r67.xxzx
        mov r71.y, r68.y
        sample_l_indexable(texture3d)(float,float,float,float) r61.y, r71.xyzx, t2.yxzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r71.xwzx, t2.yzwx, s0, l(0.000000)
        mov r70.xy, r67.xyxx
        mov r70.z, r68.z
        sample_l_indexable(texture3d)(float,float,float,float) r63.w, r70.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r65.w, r70.xywx, t2.yzwx, s0, l(0.000000)
        add r67.x, r56.w, -r61.x
        add r67.y, r61.y, -r62.w
        add r67.z, r63.w, -r65.w
        mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r66.xyz, r67.xyzx, cb0[3].wwww
      else
        mul r56.w, r47.z, cb0[4].w
        lt r56.w, r56.w, r60.x
        if_nz r56.w
          mad r65.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r67.xyz, r65.xyzx, cb0[9].yyyy
          mov r65.w, r67.x
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r65.wyzw, t3.yzwx, s0, l(0.000000)
          add r68.xyw, r65.xyxz, -cb0[9].yyyy
          mov r70.xw, r68.xxxy
          mov r70.yz, r65.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r70.xyzx, t3.xyzw, s0, l(0.000000)
          mov r70.xz, r65.xxzx
          mov r70.y, r67.y
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r70.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xwzx, t3.yxzw, s0, l(0.000000)
          mov r68.xy, r65.xyxx
          mov r68.z, r67.z
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r68.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r63.w, r68.xywx, t3.yzwx, s0, l(0.000000)
          add r65.x, r56.w, -r60.x
          add r65.y, -r61.y, r61.x
          add r65.z, r62.w, -r63.w
          mul r65.xyz, r65.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r66.xyz, r65.xyzx, cb0[4].wwww
        else
          mov r66.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r56.w, l(0.000000), r58.w
  eq r65.xyz, r66.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r60.x, r65.y, r65.x
  and r60.x, r65.z, r60.x
  and r56.w, r56.w, r60.x
  add r65.xyz, r69.xyzx, l(0.000000, 0.000000, -2.000000, 0.000000)
  add r66.xyz, r65.xyzx, -cb0[1].xyzx
  add r66.xyz, r66.xyzx, cb0[1].wwww
  max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r67.xyz, r62.xyzx, -r65.xyzx
  max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r66.xyz, r66.xyzx, r67.xyzx
  min r60.x, r66.z, r66.y
  min r60.x, r60.x, r66.x
  lt r61.x, r1.w, r60.x
  if_nz r61.x
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r66.xyzx, t0.xyzw, s0, l(0.000000)
  else
    add r66.xyz, r65.xyzx, -cb0[2].xyzx
    add r66.xyz, r66.xyzx, cb0[2].wwww
    max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r65.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r66.xyz, r66.xyzx, r67.xyzx
    min r61.y, r66.z, r66.y
    min r61.y, r61.y, r66.x
    mul r62.w, cb0[2].w, cb0[9].y
    lt r61.y, r62.w, r61.y
    if_nz r61.y
      mad r66.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r66.xyzx, t1.xyzw, s0, l(0.000000)
    else
      add r66.xyz, r65.xyzx, -cb0[3].xyzx
      add r66.xyz, r66.xyzx, cb0[3].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r61.y, r66.z, r66.y
      min r61.y, r61.y, r66.x
      add r66.xyz, r65.xyzx, -cb0[4].xyzx
      add r66.xyz, r66.xyzx, cb0[4].wwww
      max r66.xyz, r66.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r65.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r66.xyz, r66.xyzx, r67.xyzx
      min r62.w, r66.z, r66.y
      min r62.w, r62.w, r66.x
      mul r63.w, cb0[3].w, cb0[9].y
      lt r61.y, r63.w, r61.y
      if_nz r61.y
        mad r66.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r66.xyzx, t2.xyzw, s0, l(0.000000)
      else
        mul r61.y, cb0[4].w, cb0[9].y
        lt r61.y, r61.y, r62.w
        if_nz r61.y
          mul r61.y, r62.w, cb0[8].w
          mul_sat r61.y, r61.y, l(10.000000)
          mad r66.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r66.xyzx, t3.yzwx, s0, l(0.000000)
          add r62.w, r62.w, -cb0[0].x
          mad r61.x, r61.y, r62.w, cb0[0].x
        else
          mov r61.x, cb0[0].x
        endif
      endif
    endif
  endif
  lt r60.x, r48.w, r60.x
  if_nz r60.x
    mad r66.xyz, r65.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r67.xyz, r66.xyzx, cb0[9].yyyy
    mov r66.w, r67.x
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r66.wyzw, t0.xyzw, s0, l(0.000000)
    add r68.xyw, r66.xyxz, -cb0[9].yyyy
    mov r70.xw, r68.xxxy
    mov r70.yz, r66.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xyzx, t0.yxzw, s0, l(0.000000)
    mov r70.xz, r66.xxzx
    mov r70.y, r67.y
    sample_l_indexable(texture3d)(float,float,float,float) r62.w, r70.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r63.w, r70.xwzx, t0.yzwx, s0, l(0.000000)
    mov r68.xy, r66.xyxx
    mov r68.z, r67.z
    sample_l_indexable(texture3d)(float,float,float,float) r65.w, r68.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r66.x, r68.xywx, t0.xyzw, s0, l(0.000000)
    add r67.x, r60.x, -r61.y
    add r67.y, r62.w, -r63.w
    add r67.z, r65.w, -r66.x
    mul r66.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r66.xyz, r66.xyzx, cb0[1].wwww
  else
    add r67.xyz, r65.xyzx, -cb0[2].xyzx
    add r67.xyz, r67.xyzx, cb0[2].wwww
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r68.xyz, cb0[2].wwww, cb0[2].xyzx
    add r68.xyz, -r65.xyzx, r68.xyzx
    max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r67.xyz, r67.xyzx, r68.xyzx
    min r60.x, r67.z, r67.y
    min r60.x, r60.x, r67.x
    mul r61.y, r47.z, cb0[2].w
    lt r60.x, r61.y, r60.x
    if_nz r60.x
      mad r67.xyz, r65.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r68.xyz, r67.xyzx, cb0[9].yyyy
      mov r67.w, r68.x
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r67.wyzw, t1.xyzw, s0, l(0.000000)
      add r70.xyw, r67.xyxz, -cb0[9].yyyy
      mov r71.xw, r70.xxxy
      mov r71.yz, r67.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r61.y, r71.xyzx, t1.yxzw, s0, l(0.000000)
      mov r71.xz, r67.xxzx
      mov r71.y, r68.y
      sample_l_indexable(texture3d)(float,float,float,float) r62.w, r71.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r63.w, r71.xwzx, t1.yzwx, s0, l(0.000000)
      mov r70.xy, r67.xyxx
      mov r70.z, r68.z
      sample_l_indexable(texture3d)(float,float,float,float) r65.w, r70.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r66.w, r70.xywx, t1.yzwx, s0, l(0.000000)
      add r67.x, r60.x, -r61.y
      add r67.y, r62.w, -r63.w
      add r67.z, r65.w, -r66.w
      mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r66.xyz, r67.xyzx, cb0[2].wwww
    else
      add r67.xyz, r65.xyzx, -cb0[3].xyzx
      add r67.xyz, r67.xyzx, cb0[3].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[3].wwww, cb0[3].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r60.x, r67.z, r67.y
      min r60.x, r60.x, r67.x
      add r67.xyz, r65.xyzx, -cb0[4].xyzx
      add r67.xyz, r67.xyzx, cb0[4].wwww
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r68.xyz, cb0[4].wwww, cb0[4].xyzx
      add r68.xyz, -r65.xyzx, r68.xyzx
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r67.xyz, r67.xyzx, r68.xyzx
      min r61.y, r67.z, r67.y
      min r61.y, r61.y, r67.x
      mul r62.w, r47.z, cb0[3].w
      lt r60.x, r62.w, r60.x
      if_nz r60.x
        mad r67.xyz, r65.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r68.xyz, r67.xyzx, cb0[9].yyyy
        mov r67.w, r68.x
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r67.wyzw, t2.xyzw, s0, l(0.000000)
        add r70.xyw, r67.xyxz, -cb0[9].yyyy
        mov r71.xw, r70.xxxy
        mov r71.yz, r67.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r71.xyzx, t2.yzwx, s0, l(0.000000)
        mov r71.xz, r67.xxzx
        mov r71.y, r68.y
        sample_l_indexable(texture3d)(float,float,float,float) r63.w, r71.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r65.w, r71.xwzx, t2.yzwx, s0, l(0.000000)
        mov r70.xy, r67.xyxx
        mov r70.z, r68.z
        sample_l_indexable(texture3d)(float,float,float,float) r66.w, r70.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r67.x, r70.xywx, t2.xyzw, s0, l(0.000000)
        add r68.x, r60.x, -r62.w
        add r68.y, r63.w, -r65.w
        add r68.z, r66.w, -r67.x
        mul r67.xyz, r68.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r66.xyz, r67.xyzx, cb0[3].wwww
      else
        mul r60.x, r47.z, cb0[4].w
        lt r60.x, r60.x, r61.y
        if_nz r60.x
          mad r65.xyz, r65.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r67.xyz, r65.xyzx, cb0[9].yyyy
          mov r65.w, r67.x
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r65.wyzw, t3.xyzw, s0, l(0.000000)
          add r68.xyw, r65.xyxz, -cb0[9].yyyy
          mov r70.xw, r68.xxxy
          mov r70.yz, r65.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r61.y, r70.xyzx, t3.yxzw, s0, l(0.000000)
          mov r70.xz, r65.xxzx
          mov r70.y, r67.y
          sample_l_indexable(texture3d)(float,float,float,float) r62.w, r70.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r63.w, r70.xwzx, t3.yzwx, s0, l(0.000000)
          mov r68.xy, r65.xyxx
          mov r68.z, r67.z
          sample_l_indexable(texture3d)(float,float,float,float) r65.x, r68.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r65.y, r68.xywx, t3.yxzw, s0, l(0.000000)
          add r67.x, r60.x, -r61.y
          add r67.y, r62.w, -r63.w
          add r67.z, -r65.y, r65.x
          mul r65.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r66.xyz, r65.xyzx, cb0[4].wwww
        else
          mov r66.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r60.x, l(0.000000), r61.x
  eq r65.xyz, r66.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r61.y, r65.y, r65.x
  and r61.y, r65.z, r61.y
  and r60.x, r60.x, r61.y
  add r64.z, r58.w, -r61.x
  dp3 r58.w, r64.xyzx, r64.xyzx
  sqrt r64.w, r58.w
  lt r58.w, r64.w, l(0.000010)
  movc r64.xyzw, r58.wwww, l(0,0,0,1.000000), r64.xyzw
  div r64.xyz, r64.xyzx, r64.wwww
  movc r64.xyz, r58.wwww, l(0,0,0,0), r64.xyzx
  ieq r52.w, r52.w, l(0)
  and r52.w, r50.z, r52.w
  ieq r55.yz, r55.yyzy, l(0, 0, 0, 0)
  and r52.w, r52.w, r55.z
  and r52.w, r55.y, r52.w
  ieq r55.y, r58.z, l(0)
  and r52.w, r52.w, r55.y
  ieq r55.y, r56.w, l(0)
  and r52.w, r52.w, r55.y
  ieq r55.y, r60.x, l(0)
  and r52.w, r52.w, r55.y
  and r52.w, r52.w, r58.w
  movc r63.xyz, r47.yyyy, l(-0.000000,-0.000000,-1.000000,0), -r63.xyzx
  movc r63.xyz, r52.wwww, r64.xyzx, r63.xyzx
  dp3 r47.y, r25.xyzx, r63.xyzx
  add r47.y, r47.y, r47.y
  mad r64.xyz, -r47.yyyy, r63.xyzx, r25.xyzx
  and r64.xyz, r51.xxxx, r64.xyzx
  dp3 r47.y, r64.xyzx, r64.xyzx
  sqrt r64.w, r47.y
  lt r47.y, r64.w, l(0.000010)
  movc r64.xyzw, r47.yyyy, l(0,0,0,0), r64.xyzw
  div r64.xyz, r64.xyzx, r64.wwww
  movc r64.xyz, r47.yyyy, l(0,0,0,0), r64.xyzx
  mul_sat r47.y, r59.w, l(0.010000)
  add r47.y, -r47.y, l(1.000000)
  movc r25.w, r25.w, l(1.000000), r47.y
  mul r25.w, r61.z, r25.w
  mul r65.xyz, r25.wwww, r64.xyzx
  mad r66.xyz, r25.xyzx, l(100.000000, 100.000000, 100.000000, 0.000000), r24.yzwy
  movc r66.xyz, r51.xxxx, r69.xyzx, r66.xyzx
  add r67.xyz, r24.yzwy, -r66.xyzx
  mad r20.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r66.xyzx
  dp3 r25.w, r67.xyzx, r67.xyzx
  sqrt r67.w, r25.w
  lt r25.w, r67.w, l(0.000010)
  movc r66.xyzw, r25.wwww, l(0,0,0,1.000000), r67.xyzw
  div r66.xyz, r66.xyzx, r66.wwww
  movc r19.xyzw, r25.wwww, l(0,0,0,0), r66.xyzw
  movc r66.xyz, r51.xxxx, l(0,1.000000,0,0), l(1.000000,0,0,0)
  movc r21.xyz, r55.xxxx, l(0.992074,1.000000,0.006423,0), r66.xyzx
  mad r55.xyz, r64.xyzx, l(100.000000, 100.000000, 100.000000, 0.000000), r69.xyzx
  add r64.xyz, -r55.xyzx, r69.xyzx
  mad r12.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r55.xyzx
  dp3 r25.w, r64.xyzx, r64.xyzx
  sqrt r64.w, r25.w
  lt r25.w, r64.w, l(0.000010)
  movc r64.xyzw, r25.wwww, l(0,0,0,1.000000), r64.xyzw
  div r64.xyz, r64.xyzx, r64.wwww
  movc r14.xyzw, r25.wwww, l(0,0,0,0), r64.xyzw
  mad r55.xyz, r63.xyzx, l(-100.000000, -100.000000, -100.000000, 0.000000), r69.xyzx
  add r64.xyz, -r55.xyzx, r69.xyzx
  mad r18.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r55.xyzx
  dp3 r25.w, r64.xyzx, r64.xyzx
  sqrt r64.w, r25.w
  lt r25.w, r64.w, l(0.000010)
  movc r64.xyzw, r25.wwww, l(0,0,0,1.000000), r64.xyzw
  div r55.xyz, r64.xyzx, r64.wwww
  movc r17.xyz, r25.wwww, l(0,0,0,0), r55.xyzx
  and r16.xw, r51.xxxx, l(0x40000000, 0, 0, 0x42c80000)
  mov r15.xyz, |r63.xyzx|
  if_nz r22.w
    mad r55.xyz, r24.yzwy, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r22.w, r55.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r55.xyz, r24.yzwy, -cb0[2].xyzx
    add r55.xyz, r55.xyzx, cb0[2].wwww
    max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r63.xyz, cb0[2].wwww, cb0[2].xyzx
    add r63.xyz, -r24.yzwy, r63.xyzx
    max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r55.xyz, r55.xyzx, r63.xyzx
    min r25.w, r55.z, r55.y
    min r25.w, r25.w, r55.x
    mul r47.y, cb0[2].w, cb0[9].y
    lt r25.w, r47.y, r25.w
    if_nz r25.w
      mad r55.xyz, r24.yzwy, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r22.w, r55.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r55.xyz, r24.yzwy, -cb0[3].xyzx
      add r55.xyz, r55.xyzx, cb0[3].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r63.xyz, cb0[3].wwww, cb0[3].xyzx
      add r63.xyz, -r24.yzwy, r63.xyzx
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r63.xyzx
      min r25.w, r55.z, r55.y
      min r25.w, r25.w, r55.x
      add r55.xyz, r24.yzwy, -cb0[4].xyzx
      add r55.xyz, r55.xyzx, cb0[4].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r63.xyz, cb0[4].wwww, cb0[4].xyzx
      add r63.xyz, -r24.yzwy, r63.xyzx
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r63.xyzx
      min r47.y, r55.z, r55.y
      min r47.y, r47.y, r55.x
      mul r51.x, cb0[3].w, cb0[9].y
      lt r25.w, r51.x, r25.w
      if_nz r25.w
        mad r55.xyz, r24.yzwy, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r22.w, r55.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r25.w, cb0[4].w, cb0[9].y
        lt r25.w, r25.w, r47.y
        if_nz r25.w
          mul r25.w, r47.y, cb0[8].w
          mul_sat r25.w, r25.w, l(10.000000)
          mad r55.xyz, r24.yzwy, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r55.xyzx, t3.yxzw, s0, l(0.000000)
          add r47.y, r47.y, -cb0[0].x
          mad r22.w, r25.w, r47.y, cb0[0].x
        else
          mov r22.w, cb0[0].x
        endif
      endif
    endif
  endif
  if_nz r0.x
    mad r63.xyz, r24.yzwy, cb0[5].wwww, cb0[5].xyzx
    add r55.xyz, r63.xyzx, cb0[9].yyyy
    mov r63.w, r55.x
    sample_l_indexable(texture3d)(float,float,float,float) r0.x, r63.wyzw, t0.xyzw, s0, l(0.000000)
    add r64.xyw, r63.xyxz, -cb0[9].yyyy
    mov r66.xw, r64.xxxy
    mov r66.yz, r63.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r25.w, r66.xyzx, t0.yzwx, s0, l(0.000000)
    mov r66.xz, r63.xxzx
    mov r66.y, r55.y
    sample_l_indexable(texture3d)(float,float,float,float) r47.y, r66.xyzx, t0.yxzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r51.x, r66.xwzx, t0.xyzw, s0, l(0.000000)
    mov r64.xy, r63.xyxx
    mov r64.z, r55.z
    sample_l_indexable(texture3d)(float,float,float,float) r52.w, r64.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r55.x, r64.xywx, t0.xyzw, s0, l(0.000000)
    add r63.x, r0.x, -r25.w
    add r63.y, r47.y, -r51.x
    add r63.z, r52.w, -r55.x
    mul r55.xyz, r63.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r63.xyz, r55.xyzx, cb0[1].wwww
  else
    add r55.xyz, r24.yzwy, -cb0[2].xyzx
    add r55.xyz, r55.xyzx, cb0[2].wwww
    max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r64.xyz, cb0[2].wwww, cb0[2].xyzx
    add r64.xyz, -r24.yzwy, r64.xyzx
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r55.xyz, r55.xyzx, r64.xyzx
    min r0.x, r55.z, r55.y
    min r0.x, r0.x, r55.x
    mul r25.w, r47.z, cb0[2].w
    lt r0.x, r25.w, r0.x
    if_nz r0.x
      mad r64.xyz, r24.yzwy, cb0[6].wwww, cb0[6].xyzx
      add r55.xyz, r64.xyzx, cb0[9].yyyy
      mov r64.w, r55.x
      sample_l_indexable(texture3d)(float,float,float,float) r0.x, r64.wyzw, t1.xyzw, s0, l(0.000000)
      add r66.xyw, r64.xyxz, -cb0[9].yyyy
      mov r67.xw, r66.xxxy
      mov r67.yz, r64.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r25.w, r67.xyzx, t1.yzwx, s0, l(0.000000)
      mov r67.xz, r64.xxzx
      mov r67.y, r55.y
      sample_l_indexable(texture3d)(float,float,float,float) r47.y, r67.xyzx, t1.yxzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r51.x, r67.xwzx, t1.xyzw, s0, l(0.000000)
      mov r66.xy, r64.xyxx
      mov r66.z, r55.z
      sample_l_indexable(texture3d)(float,float,float,float) r52.w, r66.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r55.x, r66.xywx, t1.xyzw, s0, l(0.000000)
      add r64.x, r0.x, -r25.w
      add r64.y, r47.y, -r51.x
      add r64.z, r52.w, -r55.x
      mul r55.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r63.xyz, r55.xyzx, cb0[2].wwww
    else
      add r55.xyz, r24.yzwy, -cb0[3].xyzx
      add r55.xyz, r55.xyzx, cb0[3].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[3].wwww, cb0[3].xyzx
      add r64.xyz, -r24.yzwy, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r64.xyzx
      min r0.x, r55.z, r55.y
      min r0.x, r0.x, r55.x
      add r55.xyz, r24.yzwy, -cb0[4].xyzx
      add r55.xyz, r55.xyzx, cb0[4].wwww
      max r55.xyz, r55.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[4].wwww, cb0[4].xyzx
      add r64.xyz, -r24.yzwy, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r55.xyz, r55.xyzx, r64.xyzx
      min r25.w, r55.z, r55.y
      min r25.w, r25.w, r55.x
      mul r47.y, r47.z, cb0[3].w
      lt r0.x, r47.y, r0.x
      if_nz r0.x
        mad r64.xyz, r24.yzwy, cb0[7].wwww, cb0[7].xyzx
        add r55.xyz, r64.xyzx, cb0[9].yyyy
        mov r64.w, r55.x
        sample_l_indexable(texture3d)(float,float,float,float) r0.x, r64.wyzw, t2.xyzw, s0, l(0.000000)
        add r66.xyw, r64.xyxz, -cb0[9].yyyy
        mov r67.xw, r66.xxxy
        mov r67.yz, r64.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r47.y, r67.xyzx, t2.yxzw, s0, l(0.000000)
        mov r67.xz, r64.xxzx
        mov r67.y, r55.y
        sample_l_indexable(texture3d)(float,float,float,float) r51.x, r67.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r52.w, r67.xwzx, t2.yzwx, s0, l(0.000000)
        mov r66.xy, r64.xyxx
        mov r66.z, r55.z
        sample_l_indexable(texture3d)(float,float,float,float) r55.x, r66.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r55.y, r66.xywx, t2.yxzw, s0, l(0.000000)
        add r64.x, r0.x, -r47.y
        add r64.y, r51.x, -r52.w
        add r64.z, -r55.y, r55.x
        mul r55.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r63.xyz, r55.xyzx, cb0[3].wwww
      else
        mul r0.x, r47.z, cb0[4].w
        lt r0.x, r0.x, r25.w
        if_nz r0.x
          mad r64.xyz, r24.yzwy, cb0[8].wwww, cb0[8].xyzx
          add r55.xyz, r64.xyzx, cb0[9].yyyy
          mov r64.w, r55.x
          sample_l_indexable(texture3d)(float,float,float,float) r0.x, r64.wyzw, t3.xyzw, s0, l(0.000000)
          add r66.xyw, r64.xyxz, -cb0[9].yyyy
          mov r67.xw, r66.xxxy
          mov r67.yz, r64.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r25.w, r67.xyzx, t3.yzwx, s0, l(0.000000)
          mov r67.xz, r64.xxzx
          mov r67.y, r55.y
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r67.xyzx, t3.yxzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r51.x, r67.xwzx, t3.xyzw, s0, l(0.000000)
          mov r66.xy, r64.xyxx
          mov r66.z, r55.z
          sample_l_indexable(texture3d)(float,float,float,float) r52.w, r66.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r55.x, r66.xywx, t3.xyzw, s0, l(0.000000)
          add r64.x, r0.x, -r25.w
          add r64.y, r47.y, -r51.x
          add r64.z, r52.w, -r55.x
          mul r55.xyz, r64.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r63.xyz, r55.xyzx, cb0[4].wwww
        else
          mov r63.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  dp3 r0.x, r63.xyzx, r63.xyzx
  sqrt r63.w, r0.x
  lt r0.x, r63.w, l(0.000010)
  movc r63.xyzw, r0.xxxx, l(0,0,0,1.000000), r63.xyzw
  div r55.xyz, r63.xyzx, r63.wwww
  movc r55.xyz, r0.xxxx, l(0,0,0,0), r55.xyzx
  mul r63.xyz, r22.wwww, r55.xyzx
  mov r64.xyz, -r63.xyzx
  mad r66.xyz, -r22.wwww, r55.xyzx, r24.yzwy
  add r67.xyz, r66.xyzx, l(2.000000, 0.000000, 0.000000, 0.000000)
  add r68.xyz, r67.xyzx, -cb0[1].xyzx
  add r68.xyz, r68.xyzx, cb0[1].wwww
  max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r69.xyz, r62.xyzx, -r67.xyzx
  max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r68.xyz, r68.xyzx, r69.xyzx
  min r0.x, r68.z, r68.y
  min r0.x, r0.x, r68.x
  lt r25.w, r1.w, r0.x
  if_nz r25.w
    mad r68.xyz, r67.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r25.w, r68.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r68.xyz, r67.xyzx, -cb0[2].xyzx
    add r68.xyz, r68.xyzx, cb0[2].wwww
    max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r69.xyz, cb0[2].wwww, cb0[2].xyzx
    add r69.xyz, -r67.xyzx, r69.xyzx
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r68.xyz, r68.xyzx, r69.xyzx
    min r47.y, r68.z, r68.y
    min r47.y, r47.y, r68.x
    mul r51.x, cb0[2].w, cb0[9].y
    lt r47.y, r51.x, r47.y
    if_nz r47.y
      mad r68.xyz, r67.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r25.w, r68.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r68.xyz, r67.xyzx, -cb0[3].xyzx
      add r68.xyz, r68.xyzx, cb0[3].wwww
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r69.xyz, cb0[3].wwww, cb0[3].xyzx
      add r69.xyz, -r67.xyzx, r69.xyzx
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r68.xyz, r68.xyzx, r69.xyzx
      min r47.y, r68.z, r68.y
      min r47.y, r47.y, r68.x
      add r68.xyz, r67.xyzx, -cb0[4].xyzx
      add r68.xyz, r68.xyzx, cb0[4].wwww
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r69.xyz, cb0[4].wwww, cb0[4].xyzx
      add r69.xyz, -r67.xyzx, r69.xyzx
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r68.xyz, r68.xyzx, r69.xyzx
      min r51.x, r68.z, r68.y
      min r51.x, r51.x, r68.x
      mul r52.w, cb0[3].w, cb0[9].y
      lt r47.y, r52.w, r47.y
      if_nz r47.y
        mad r68.xyz, r67.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r25.w, r68.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r47.y, cb0[4].w, cb0[9].y
        lt r47.y, r47.y, r51.x
        if_nz r47.y
          mul r47.y, r51.x, cb0[8].w
          mul_sat r47.y, r47.y, l(10.000000)
          mad r68.xyz, r67.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r51.x, r68.xyzx, t3.xyzw, s0, l(0.000000)
          add r51.x, r51.x, -cb0[0].x
          mad r25.w, r47.y, r51.x, cb0[0].x
        else
          mov r25.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r0.x, r48.w, r0.x
  if_nz r0.x
    mad r68.xyz, r67.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r69.xyz, r68.xyzx, cb0[9].yyyy
    mov r68.w, r69.x
    sample_l_indexable(texture3d)(float,float,float,float) r0.x, r68.wyzw, t0.xyzw, s0, l(0.000000)
    add r70.xyw, r68.xyxz, -cb0[9].yyyy
    mov r71.xw, r70.xxxy
    mov r71.yz, r68.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r47.y, r71.xyzx, t0.yxzw, s0, l(0.000000)
    mov r71.xz, r68.xxzx
    mov r71.y, r69.y
    sample_l_indexable(texture3d)(float,float,float,float) r51.x, r71.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r52.w, r71.xwzx, t0.yzwx, s0, l(0.000000)
    mov r70.xy, r68.xyxx
    mov r70.z, r69.z
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r70.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r70.xywx, t0.yzxw, s0, l(0.000000)
    add r68.x, r0.x, -r47.y
    add r68.y, r51.x, -r52.w
    add r68.z, r56.w, -r58.z
    mul r68.xyz, r68.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r68.xyz, r68.xyzx, cb0[1].wwww
  else
    add r69.xyz, r67.xyzx, -cb0[2].xyzx
    add r69.xyz, r69.xyzx, cb0[2].wwww
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r70.xyz, cb0[2].wwww, cb0[2].xyzx
    add r70.xyz, -r67.xyzx, r70.xyzx
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r69.xyz, r69.xyzx, r70.xyzx
    min r0.x, r69.z, r69.y
    min r0.x, r0.x, r69.x
    mul r47.y, r47.z, cb0[2].w
    lt r0.x, r47.y, r0.x
    if_nz r0.x
      mad r69.xyz, r67.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r70.xyz, r69.xyzx, cb0[9].yyyy
      mov r69.w, r70.x
      sample_l_indexable(texture3d)(float,float,float,float) r0.x, r69.wyzw, t1.xyzw, s0, l(0.000000)
      add r71.xyw, r69.xyxz, -cb0[9].yyyy
      mov r72.xw, r71.xxxy
      mov r72.yz, r69.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r47.y, r72.xyzx, t1.yxzw, s0, l(0.000000)
      mov r72.xz, r69.xxzx
      mov r72.y, r70.y
      sample_l_indexable(texture3d)(float,float,float,float) r51.x, r72.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r52.w, r72.xwzx, t1.yzwx, s0, l(0.000000)
      mov r71.xy, r69.xyxx
      mov r71.z, r70.z
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r71.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r71.xywx, t1.yzxw, s0, l(0.000000)
      add r69.x, r0.x, -r47.y
      add r69.y, r51.x, -r52.w
      add r69.z, r56.w, -r58.z
      mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r68.xyz, r69.xyzx, cb0[2].wwww
    else
      add r69.xyz, r67.xyzx, -cb0[3].xyzx
      add r69.xyz, r69.xyzx, cb0[3].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[3].wwww, cb0[3].xyzx
      add r70.xyz, -r67.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r0.x, r69.z, r69.y
      min r0.x, r0.x, r69.x
      add r69.xyz, r67.xyzx, -cb0[4].xyzx
      add r69.xyz, r69.xyzx, cb0[4].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[4].wwww, cb0[4].xyzx
      add r70.xyz, -r67.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r47.y, r69.z, r69.y
      min r47.y, r47.y, r69.x
      mul r51.x, r47.z, cb0[3].w
      lt r0.x, r51.x, r0.x
      if_nz r0.x
        mad r69.xyz, r67.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r70.xyz, r69.xyzx, cb0[9].yyyy
        mov r69.w, r70.x
        sample_l_indexable(texture3d)(float,float,float,float) r0.x, r69.wyzw, t2.xyzw, s0, l(0.000000)
        add r71.xyw, r69.xyxz, -cb0[9].yyyy
        mov r72.xw, r71.xxxy
        mov r72.yz, r69.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r51.x, r72.xyzx, t2.xyzw, s0, l(0.000000)
        mov r72.xz, r69.xxzx
        mov r72.y, r70.y
        sample_l_indexable(texture3d)(float,float,float,float) r52.w, r72.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r72.xwzx, t2.yzwx, s0, l(0.000000)
        mov r71.xy, r69.xyxx
        mov r71.z, r70.z
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r71.xyzx, t2.yzxw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r71.xywx, t2.yzwx, s0, l(0.000000)
        add r69.x, r0.x, -r51.x
        add r69.y, r52.w, -r56.w
        add r69.z, -r58.w, r58.z
        mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r68.xyz, r69.xyzx, cb0[3].wwww
      else
        mul r0.x, r47.z, cb0[4].w
        lt r0.x, r0.x, r47.y
        if_nz r0.x
          mad r67.xyz, r67.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r69.xyz, r67.xyzx, cb0[9].yyyy
          mov r67.w, r69.x
          sample_l_indexable(texture3d)(float,float,float,float) r0.x, r67.wyzw, t3.xyzw, s0, l(0.000000)
          add r70.xyw, r67.xyxz, -cb0[9].yyyy
          mov r71.xw, r70.xxxy
          mov r71.yz, r67.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r71.xyzx, t3.yxzw, s0, l(0.000000)
          mov r71.xz, r67.xxzx
          mov r71.y, r69.y
          sample_l_indexable(texture3d)(float,float,float,float) r51.x, r71.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r52.w, r71.xwzx, t3.yzwx, s0, l(0.000000)
          mov r70.xy, r67.xyxx
          mov r70.z, r69.z
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r70.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r70.xywx, t3.yzxw, s0, l(0.000000)
          add r67.x, r0.x, -r47.y
          add r67.y, r51.x, -r52.w
          add r67.z, r56.w, -r58.z
          mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r68.xyz, r67.xyzx, cb0[4].wwww
        else
          mov r68.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r0.x, l(0.000000), r25.w
  eq r67.xyz, r68.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r47.y, r67.y, r67.x
  and r47.y, r67.z, r47.y
  and r0.x, r0.x, r47.y
  add r67.xyz, r66.xyzx, l(-2.000000, 0.000000, 0.000000, 0.000000)
  add r68.xyz, r67.xyzx, -cb0[1].xyzx
  add r68.xyz, r68.xyzx, cb0[1].wwww
  max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r69.xyz, r62.xyzx, -r67.xyzx
  max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r68.xyz, r68.xyzx, r69.xyzx
  min r47.y, r68.z, r68.y
  min r47.y, r47.y, r68.x
  lt r51.x, r1.w, r47.y
  if_nz r51.x
    mad r68.xyz, r67.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r51.x, r68.xyzx, t0.xyzw, s0, l(0.000000)
  else
    add r68.xyz, r67.xyzx, -cb0[2].xyzx
    add r68.xyz, r68.xyzx, cb0[2].wwww
    max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r69.xyz, cb0[2].wwww, cb0[2].xyzx
    add r69.xyz, -r67.xyzx, r69.xyzx
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r68.xyz, r68.xyzx, r69.xyzx
    min r52.w, r68.z, r68.y
    min r52.w, r52.w, r68.x
    mul r56.w, cb0[2].w, cb0[9].y
    lt r52.w, r56.w, r52.w
    if_nz r52.w
      mad r68.xyz, r67.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r51.x, r68.xyzx, t1.xyzw, s0, l(0.000000)
    else
      add r68.xyz, r67.xyzx, -cb0[3].xyzx
      add r68.xyz, r68.xyzx, cb0[3].wwww
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r69.xyz, cb0[3].wwww, cb0[3].xyzx
      add r69.xyz, -r67.xyzx, r69.xyzx
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r68.xyz, r68.xyzx, r69.xyzx
      min r52.w, r68.z, r68.y
      min r52.w, r52.w, r68.x
      add r68.xyz, r67.xyzx, -cb0[4].xyzx
      add r68.xyz, r68.xyzx, cb0[4].wwww
      max r68.xyz, r68.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r69.xyz, cb0[4].wwww, cb0[4].xyzx
      add r69.xyz, -r67.xyzx, r69.xyzx
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r68.xyz, r68.xyzx, r69.xyzx
      min r56.w, r68.z, r68.y
      min r56.w, r56.w, r68.x
      mul r58.z, cb0[3].w, cb0[9].y
      lt r52.w, r58.z, r52.w
      if_nz r52.w
        mad r68.xyz, r67.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r51.x, r68.xyzx, t2.xyzw, s0, l(0.000000)
      else
        mul r52.w, cb0[4].w, cb0[9].y
        lt r52.w, r52.w, r56.w
        if_nz r52.w
          mul r52.w, r56.w, cb0[8].w
          mul_sat r52.w, r52.w, l(10.000000)
          mad r68.xyz, r67.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r68.xyzx, t3.yzwx, s0, l(0.000000)
          add r56.w, r56.w, -cb0[0].x
          mad r51.x, r52.w, r56.w, cb0[0].x
        else
          mov r51.x, cb0[0].x
        endif
      endif
    endif
  endif
  lt r47.y, r48.w, r47.y
  if_nz r47.y
    mad r68.xyz, r67.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r69.xyz, r68.xyzx, cb0[9].yyyy
    mov r68.w, r69.x
    sample_l_indexable(texture3d)(float,float,float,float) r47.y, r68.wyzw, t0.yxzw, s0, l(0.000000)
    add r70.xyw, r68.xyxz, -cb0[9].yyyy
    mov r71.xw, r70.xxxy
    mov r71.yz, r68.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r52.w, r71.xyzx, t0.yzwx, s0, l(0.000000)
    mov r71.xz, r68.xxzx
    mov r71.y, r69.y
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r71.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r71.xwzx, t0.yzxw, s0, l(0.000000)
    mov r70.xy, r68.xyxx
    mov r70.z, r69.z
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r70.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r59.w, r70.xywx, t0.yzwx, s0, l(0.000000)
    add r68.x, r47.y, -r52.w
    add r68.y, r56.w, -r58.z
    add r68.z, r58.w, -r59.w
    mul r68.xyz, r68.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r68.xyz, r68.xyzx, cb0[1].wwww
  else
    add r69.xyz, r67.xyzx, -cb0[2].xyzx
    add r69.xyz, r69.xyzx, cb0[2].wwww
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r70.xyz, cb0[2].wwww, cb0[2].xyzx
    add r70.xyz, -r67.xyzx, r70.xyzx
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r69.xyz, r69.xyzx, r70.xyzx
    min r47.y, r69.z, r69.y
    min r47.y, r47.y, r69.x
    mul r52.w, r47.z, cb0[2].w
    lt r47.y, r52.w, r47.y
    if_nz r47.y
      mad r69.xyz, r67.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r70.xyz, r69.xyzx, cb0[9].yyyy
      mov r69.w, r70.x
      sample_l_indexable(texture3d)(float,float,float,float) r47.y, r69.wyzw, t1.yxzw, s0, l(0.000000)
      add r71.xyw, r69.xyxz, -cb0[9].yyyy
      mov r72.xw, r71.xxxy
      mov r72.yz, r69.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r52.w, r72.xyzx, t1.yzwx, s0, l(0.000000)
      mov r72.xz, r69.xxzx
      mov r72.y, r70.y
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r72.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xwzx, t1.yzxw, s0, l(0.000000)
      mov r71.xy, r69.xyxx
      mov r71.z, r70.z
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r71.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r59.w, r71.xywx, t1.yzwx, s0, l(0.000000)
      add r69.x, r47.y, -r52.w
      add r69.y, r56.w, -r58.z
      add r69.z, r58.w, -r59.w
      mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r68.xyz, r69.xyzx, cb0[2].wwww
    else
      add r69.xyz, r67.xyzx, -cb0[3].xyzx
      add r69.xyz, r69.xyzx, cb0[3].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[3].wwww, cb0[3].xyzx
      add r70.xyz, -r67.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r47.y, r69.z, r69.y
      min r47.y, r47.y, r69.x
      add r69.xyz, r67.xyzx, -cb0[4].xyzx
      add r69.xyz, r69.xyzx, cb0[4].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[4].wwww, cb0[4].xyzx
      add r70.xyz, -r67.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r52.w, r69.z, r69.y
      min r52.w, r52.w, r69.x
      mul r56.w, r47.z, cb0[3].w
      lt r47.y, r56.w, r47.y
      if_nz r47.y
        mad r69.xyz, r67.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r70.xyz, r69.xyzx, cb0[9].yyyy
        mov r69.w, r70.x
        sample_l_indexable(texture3d)(float,float,float,float) r47.y, r69.wyzw, t2.yxzw, s0, l(0.000000)
        add r71.xyw, r69.xyxz, -cb0[9].yyyy
        mov r72.xw, r71.xxxy
        mov r72.yz, r69.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r72.xyzx, t2.yzwx, s0, l(0.000000)
        mov r72.xz, r69.xxzx
        mov r72.y, r70.y
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xyzx, t2.yzxw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r72.xwzx, t2.yzwx, s0, l(0.000000)
        mov r71.xy, r69.xyxx
        mov r71.z, r70.z
        sample_l_indexable(texture3d)(float,float,float,float) r59.w, r71.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xywx, t2.xyzw, s0, l(0.000000)
        add r69.x, r47.y, -r56.w
        add r69.y, -r58.w, r58.z
        add r69.z, r59.w, -r60.x
        mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r68.xyz, r69.xyzx, cb0[3].wwww
      else
        mul r47.y, r47.z, cb0[4].w
        lt r47.y, r47.y, r52.w
        if_nz r47.y
          mad r67.xyz, r67.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r69.xyz, r67.xyzx, cb0[9].yyyy
          mov r67.w, r69.x
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r67.wyzw, t3.yxzw, s0, l(0.000000)
          add r70.xyw, r67.xyxz, -cb0[9].yyyy
          mov r71.xw, r70.xxxy
          mov r71.yz, r67.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r52.w, r71.xyzx, t3.yzwx, s0, l(0.000000)
          mov r71.xz, r67.xxzx
          mov r71.y, r69.y
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r71.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r71.xwzx, t3.yzxw, s0, l(0.000000)
          mov r70.xy, r67.xyxx
          mov r70.z, r69.z
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r70.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r59.w, r70.xywx, t3.yzwx, s0, l(0.000000)
          add r67.x, r47.y, -r52.w
          add r67.y, r56.w, -r58.z
          add r67.z, r58.w, -r59.w
          mul r67.xyz, r67.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r68.xyz, r67.xyzx, cb0[4].wwww
        else
          mov r68.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r47.y, l(0.000000), r51.x
  eq r67.xyz, r68.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r52.w, r67.y, r67.x
  and r52.w, r67.z, r52.w
  and r47.y, r47.y, r52.w
  add r67.x, r25.w, -r51.x
  add r68.xyz, r66.xyzx, l(0.000000, 2.000000, 0.000000, 0.000000)
  add r69.xyz, r68.xyzx, -cb0[1].xyzx
  add r69.xyz, r69.xyzx, cb0[1].wwww
  max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r70.xyz, r62.xyzx, -r68.xyzx
  max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r69.xyz, r69.xyzx, r70.xyzx
  min r25.w, r69.z, r69.y
  min r25.w, r25.w, r69.x
  lt r51.x, r1.w, r25.w
  if_nz r51.x
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r51.x, r69.xyzx, t0.xyzw, s0, l(0.000000)
  else
    add r69.xyz, r68.xyzx, -cb0[2].xyzx
    add r69.xyz, r69.xyzx, cb0[2].wwww
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r70.xyz, cb0[2].wwww, cb0[2].xyzx
    add r70.xyz, -r68.xyzx, r70.xyzx
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r69.xyz, r69.xyzx, r70.xyzx
    min r52.w, r69.z, r69.y
    min r52.w, r52.w, r69.x
    mul r56.w, cb0[2].w, cb0[9].y
    lt r52.w, r56.w, r52.w
    if_nz r52.w
      mad r69.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r51.x, r69.xyzx, t1.xyzw, s0, l(0.000000)
    else
      add r69.xyz, r68.xyzx, -cb0[3].xyzx
      add r69.xyz, r69.xyzx, cb0[3].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[3].wwww, cb0[3].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r52.w, r69.z, r69.y
      min r52.w, r52.w, r69.x
      add r69.xyz, r68.xyzx, -cb0[4].xyzx
      add r69.xyz, r69.xyzx, cb0[4].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[4].wwww, cb0[4].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r56.w, r69.z, r69.y
      min r56.w, r56.w, r69.x
      mul r58.z, cb0[3].w, cb0[9].y
      lt r52.w, r58.z, r52.w
      if_nz r52.w
        mad r69.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r51.x, r69.xyzx, t2.xyzw, s0, l(0.000000)
      else
        mul r52.w, cb0[4].w, cb0[9].y
        lt r52.w, r52.w, r56.w
        if_nz r52.w
          mul r52.w, r56.w, cb0[8].w
          mul_sat r52.w, r52.w, l(10.000000)
          mad r69.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r69.xyzx, t3.yzwx, s0, l(0.000000)
          add r56.w, r56.w, -cb0[0].x
          mad r51.x, r52.w, r56.w, cb0[0].x
        else
          mov r51.x, cb0[0].x
        endif
      endif
    endif
  endif
  lt r25.w, r48.w, r25.w
  if_nz r25.w
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r70.xyz, r69.xyzx, cb0[9].yyyy
    mov r69.w, r70.x
    sample_l_indexable(texture3d)(float,float,float,float) r25.w, r69.wyzw, t0.yzwx, s0, l(0.000000)
    add r71.xyw, r69.xyxz, -cb0[9].yyyy
    mov r72.xw, r71.xxxy
    mov r72.yz, r69.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r52.w, r72.xyzx, t0.yzwx, s0, l(0.000000)
    mov r72.xz, r69.xxzx
    mov r72.y, r70.y
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r72.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xwzx, t0.yzxw, s0, l(0.000000)
    mov r71.xy, r69.xyxx
    mov r71.z, r70.z
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r71.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r59.w, r71.xywx, t0.yzwx, s0, l(0.000000)
    add r69.x, r25.w, -r52.w
    add r69.y, r56.w, -r58.z
    add r69.z, r58.w, -r59.w
    mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r69.xyz, r69.xyzx, cb0[1].wwww
  else
    add r70.xyz, r68.xyzx, -cb0[2].xyzx
    add r70.xyz, r70.xyzx, cb0[2].wwww
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r71.xyz, cb0[2].wwww, cb0[2].xyzx
    add r71.xyz, -r68.xyzx, r71.xyzx
    max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r70.xyz, r70.xyzx, r71.xyzx
    min r25.w, r70.z, r70.y
    min r25.w, r25.w, r70.x
    mul r52.w, r47.z, cb0[2].w
    lt r25.w, r52.w, r25.w
    if_nz r25.w
      mad r70.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r71.xyz, r70.xyzx, cb0[9].yyyy
      mov r70.w, r71.x
      sample_l_indexable(texture3d)(float,float,float,float) r25.w, r70.wyzw, t1.yzwx, s0, l(0.000000)
      add r72.xyw, r70.xyxz, -cb0[9].yyyy
      mov r73.xw, r72.xxxy
      mov r73.yz, r70.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r52.w, r73.xyzx, t1.yzwx, s0, l(0.000000)
      mov r73.xz, r70.xxzx
      mov r73.y, r71.y
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r73.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r73.xwzx, t1.yzxw, s0, l(0.000000)
      mov r72.xy, r70.xyxx
      mov r72.z, r71.z
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r72.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xywx, t1.yzwx, s0, l(0.000000)
      add r70.x, r25.w, -r52.w
      add r70.y, r56.w, -r58.z
      add r70.z, r58.w, -r59.w
      mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r69.xyz, r70.xyzx, cb0[2].wwww
    else
      add r70.xyz, r68.xyzx, -cb0[3].xyzx
      add r70.xyz, r70.xyzx, cb0[3].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[3].wwww, cb0[3].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r25.w, r70.z, r70.y
      min r25.w, r25.w, r70.x
      add r70.xyz, r68.xyzx, -cb0[4].xyzx
      add r70.xyz, r70.xyzx, cb0[4].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[4].wwww, cb0[4].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r52.w, r70.z, r70.y
      min r52.w, r52.w, r70.x
      mul r56.w, r47.z, cb0[3].w
      lt r25.w, r56.w, r25.w
      if_nz r25.w
        mad r70.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r71.xyz, r70.xyzx, cb0[9].yyyy
        mov r70.w, r71.x
        sample_l_indexable(texture3d)(float,float,float,float) r25.w, r70.wyzw, t2.yzwx, s0, l(0.000000)
        add r72.xyw, r70.xyxz, -cb0[9].yyyy
        mov r73.xw, r72.xxxy
        mov r73.yz, r70.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
        mov r73.xz, r70.xxzx
        mov r73.y, r71.y
        sample_l_indexable(texture3d)(float,float,float,float) r58.z, r73.xyzx, t2.yzxw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r73.xwzx, t2.yzwx, s0, l(0.000000)
        mov r72.xy, r70.xyxx
        mov r72.z, r71.z
        sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r72.xywx, t2.xyzw, s0, l(0.000000)
        add r70.x, r25.w, -r56.w
        add r70.y, -r58.w, r58.z
        add r70.z, r59.w, -r60.x
        mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r69.xyz, r70.xyzx, cb0[3].wwww
      else
        mul r25.w, r47.z, cb0[4].w
        lt r25.w, r25.w, r52.w
        if_nz r25.w
          mad r68.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r70.xyz, r68.xyzx, cb0[9].yyyy
          mov r68.w, r70.x
          sample_l_indexable(texture3d)(float,float,float,float) r25.w, r68.wyzw, t3.yzwx, s0, l(0.000000)
          add r71.xyw, r68.xyxz, -cb0[9].yyyy
          mov r72.xw, r71.xxxy
          mov r72.yz, r68.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r52.w, r72.xyzx, t3.yzwx, s0, l(0.000000)
          mov r72.xz, r68.xxzx
          mov r72.y, r70.y
          sample_l_indexable(texture3d)(float,float,float,float) r56.w, r72.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xwzx, t3.yzxw, s0, l(0.000000)
          mov r71.xy, r68.xyxx
          mov r71.z, r70.z
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r71.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r59.w, r71.xywx, t3.yzwx, s0, l(0.000000)
          add r68.x, r25.w, -r52.w
          add r68.y, r56.w, -r58.z
          add r68.z, r58.w, -r59.w
          mul r68.xyz, r68.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r69.xyz, r68.xyzx, cb0[4].wwww
        else
          mov r69.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r25.w, l(0.000000), r51.x
  eq r68.xyz, r69.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r52.w, r68.y, r68.x
  and r52.w, r68.z, r52.w
  and r25.w, r25.w, r52.w
  add r68.xyz, r66.xyzx, l(0.000000, -2.000000, 0.000000, 0.000000)
  add r69.xyz, r68.xyzx, -cb0[1].xyzx
  add r69.xyz, r69.xyzx, cb0[1].wwww
  max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r70.xyz, r62.xyzx, -r68.xyzx
  max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r69.xyz, r69.xyzx, r70.xyzx
  min r52.w, r69.z, r69.y
  min r52.w, r52.w, r69.x
  lt r56.w, r1.w, r52.w
  if_nz r56.w
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r69.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r69.xyz, r68.xyzx, -cb0[2].xyzx
    add r69.xyz, r69.xyzx, cb0[2].wwww
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r70.xyz, cb0[2].wwww, cb0[2].xyzx
    add r70.xyz, -r68.xyzx, r70.xyzx
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r69.xyz, r69.xyzx, r70.xyzx
    min r58.z, r69.z, r69.y
    min r58.z, r58.z, r69.x
    mul r58.w, cb0[2].w, cb0[9].y
    lt r58.z, r58.w, r58.z
    if_nz r58.z
      mad r69.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r69.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r69.xyz, r68.xyzx, -cb0[3].xyzx
      add r69.xyz, r69.xyzx, cb0[3].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[3].wwww, cb0[3].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r58.z, r69.z, r69.y
      min r58.z, r58.z, r69.x
      add r69.xyz, r68.xyzx, -cb0[4].xyzx
      add r69.xyz, r69.xyzx, cb0[4].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[4].wwww, cb0[4].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r58.w, r69.z, r69.y
      min r58.w, r58.w, r69.x
      mul r59.w, cb0[3].w, cb0[9].y
      lt r58.z, r59.w, r58.z
      if_nz r58.z
        mad r69.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r69.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r58.z, cb0[4].w, cb0[9].y
        lt r58.z, r58.z, r58.w
        if_nz r58.z
          mul r58.z, r58.w, cb0[8].w
          mul_sat r58.z, r58.z, l(10.000000)
          mad r69.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r69.xyzx, t3.yzwx, s0, l(0.000000)
          add r58.w, r58.w, -cb0[0].x
          mad r56.w, r58.z, r58.w, cb0[0].x
        else
          mov r56.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r52.w, r48.w, r52.w
  if_nz r52.w
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r70.xyz, r69.xyzx, cb0[9].yyyy
    mov r69.w, r70.x
    sample_l_indexable(texture3d)(float,float,float,float) r52.w, r69.wyzw, t0.yzwx, s0, l(0.000000)
    add r71.xyw, r69.xyxz, -cb0[9].yyyy
    mov r72.xw, r71.xxxy
    mov r72.yz, r69.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xyzx, t0.yzxw, s0, l(0.000000)
    mov r72.xz, r69.xxzx
    mov r72.y, r70.y
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r72.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xwzx, t0.yzwx, s0, l(0.000000)
    mov r71.xy, r69.xyxx
    mov r71.z, r70.z
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xywx, t0.xyzw, s0, l(0.000000)
    add r69.x, r52.w, -r58.z
    add r69.y, r58.w, -r59.w
    add r69.z, r60.x, -r61.x
    mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r69.xyz, r69.xyzx, cb0[1].wwww
  else
    add r70.xyz, r68.xyzx, -cb0[2].xyzx
    add r70.xyz, r70.xyzx, cb0[2].wwww
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r71.xyz, cb0[2].wwww, cb0[2].xyzx
    add r71.xyz, -r68.xyzx, r71.xyzx
    max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r70.xyz, r70.xyzx, r71.xyzx
    min r52.w, r70.z, r70.y
    min r52.w, r52.w, r70.x
    mul r58.z, r47.z, cb0[2].w
    lt r52.w, r58.z, r52.w
    if_nz r52.w
      mad r70.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r71.xyz, r70.xyzx, cb0[9].yyyy
      mov r70.w, r71.x
      sample_l_indexable(texture3d)(float,float,float,float) r52.w, r70.wyzw, t1.yzwx, s0, l(0.000000)
      add r72.xyw, r70.xyxz, -cb0[9].yyyy
      mov r73.xw, r72.xxxy
      mov r73.yz, r70.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r73.xyzx, t1.yzxw, s0, l(0.000000)
      mov r73.xz, r70.xxzx
      mov r73.y, r71.y
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r73.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r59.w, r73.xwzx, t1.yzwx, s0, l(0.000000)
      mov r72.xy, r70.xyxx
      mov r72.z, r71.z
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r72.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r72.xywx, t1.xyzw, s0, l(0.000000)
      add r70.x, r52.w, -r58.z
      add r70.y, r58.w, -r59.w
      add r70.z, r60.x, -r61.x
      mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r69.xyz, r70.xyzx, cb0[2].wwww
    else
      add r70.xyz, r68.xyzx, -cb0[3].xyzx
      add r70.xyz, r70.xyzx, cb0[3].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[3].wwww, cb0[3].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r52.w, r70.z, r70.y
      min r52.w, r52.w, r70.x
      add r70.xyz, r68.xyzx, -cb0[4].xyzx
      add r70.xyz, r70.xyzx, cb0[4].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[4].wwww, cb0[4].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r58.z, r70.z, r70.y
      min r58.z, r58.z, r70.x
      mul r58.w, r47.z, cb0[3].w
      lt r52.w, r58.w, r52.w
      if_nz r52.w
        mad r70.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r71.xyz, r70.xyzx, cb0[9].yyyy
        mov r70.w, r71.x
        sample_l_indexable(texture3d)(float,float,float,float) r52.w, r70.wyzw, t2.yzwx, s0, l(0.000000)
        add r72.xyw, r70.xyxz, -cb0[9].yyyy
        mov r73.xw, r72.xxxy
        mov r73.yz, r70.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
        mov r73.xz, r70.xxzx
        mov r73.y, r71.y
        sample_l_indexable(texture3d)(float,float,float,float) r59.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r73.xwzx, t2.xyzw, s0, l(0.000000)
        mov r72.xy, r70.xyxx
        mov r72.z, r71.z
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r72.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r61.y, r72.xywx, t2.yxzw, s0, l(0.000000)
        add r70.x, r52.w, -r58.w
        add r70.y, r59.w, -r60.x
        add r70.z, -r61.y, r61.x
        mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r69.xyz, r70.xyzx, cb0[3].wwww
      else
        mul r52.w, r47.z, cb0[4].w
        lt r52.w, r52.w, r58.z
        if_nz r52.w
          mad r68.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r70.xyz, r68.xyzx, cb0[9].yyyy
          mov r68.w, r70.x
          sample_l_indexable(texture3d)(float,float,float,float) r52.w, r68.wyzw, t3.yzwx, s0, l(0.000000)
          add r71.xyw, r68.xyxz, -cb0[9].yyyy
          mov r72.xw, r71.xxxy
          mov r72.yz, r68.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xyzx, t3.yzxw, s0, l(0.000000)
          mov r72.xz, r68.xxzx
          mov r72.y, r70.y
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r72.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xwzx, t3.yzwx, s0, l(0.000000)
          mov r71.xy, r68.xyxx
          mov r71.z, r70.z
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xywx, t3.xyzw, s0, l(0.000000)
          add r68.x, r52.w, -r58.z
          add r68.y, r58.w, -r59.w
          add r68.z, r60.x, -r61.x
          mul r68.xyz, r68.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r69.xyz, r68.xyzx, cb0[4].wwww
        else
          mov r69.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r52.w, l(0.000000), r56.w
  eq r68.xyz, r69.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r58.z, r68.y, r68.x
  and r58.z, r68.z, r58.z
  and r52.w, r52.w, r58.z
  add r67.y, r51.x, -r56.w
  add r68.xyz, r66.xyzx, l(0.000000, 0.000000, 2.000000, 0.000000)
  add r69.xyz, r68.xyzx, -cb0[1].xyzx
  add r69.xyz, r69.xyzx, cb0[1].wwww
  max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r70.xyz, r62.xyzx, -r68.xyzx
  max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r69.xyz, r69.xyzx, r70.xyzx
  min r51.x, r69.z, r69.y
  min r51.x, r51.x, r69.x
  lt r56.w, r1.w, r51.x
  if_nz r56.w
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r56.w, r69.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r69.xyz, r68.xyzx, -cb0[2].xyzx
    add r69.xyz, r69.xyzx, cb0[2].wwww
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r70.xyz, cb0[2].wwww, cb0[2].xyzx
    add r70.xyz, -r68.xyzx, r70.xyzx
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r69.xyz, r69.xyzx, r70.xyzx
    min r58.z, r69.z, r69.y
    min r58.z, r58.z, r69.x
    mul r58.w, cb0[2].w, cb0[9].y
    lt r58.z, r58.w, r58.z
    if_nz r58.z
      mad r69.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r56.w, r69.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r69.xyz, r68.xyzx, -cb0[3].xyzx
      add r69.xyz, r69.xyzx, cb0[3].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[3].wwww, cb0[3].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r58.z, r69.z, r69.y
      min r58.z, r58.z, r69.x
      add r69.xyz, r68.xyzx, -cb0[4].xyzx
      add r69.xyz, r69.xyzx, cb0[4].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[4].wwww, cb0[4].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r58.w, r69.z, r69.y
      min r58.w, r58.w, r69.x
      mul r59.w, cb0[3].w, cb0[9].y
      lt r58.z, r59.w, r58.z
      if_nz r58.z
        mad r69.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r56.w, r69.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r58.z, cb0[4].w, cb0[9].y
        lt r58.z, r58.z, r58.w
        if_nz r58.z
          mul r58.z, r58.w, cb0[8].w
          mul_sat r58.z, r58.z, l(10.000000)
          mad r69.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r69.xyzx, t3.yzwx, s0, l(0.000000)
          add r58.w, r58.w, -cb0[0].x
          mad r56.w, r58.z, r58.w, cb0[0].x
        else
          mov r56.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r51.x, r48.w, r51.x
  if_nz r51.x
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r70.xyz, r69.xyzx, cb0[9].yyyy
    mov r69.w, r70.x
    sample_l_indexable(texture3d)(float,float,float,float) r51.x, r69.wyzw, t0.xyzw, s0, l(0.000000)
    add r71.xyw, r69.xyxz, -cb0[9].yyyy
    mov r72.xw, r71.xxxy
    mov r72.yz, r69.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xyzx, t0.yzxw, s0, l(0.000000)
    mov r72.xz, r69.xxzx
    mov r72.y, r70.y
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r72.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xwzx, t0.yzwx, s0, l(0.000000)
    mov r71.xy, r69.xyxx
    mov r71.z, r70.z
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xywx, t0.xyzw, s0, l(0.000000)
    add r69.x, r51.x, -r58.z
    add r69.y, r58.w, -r59.w
    add r69.z, r60.x, -r61.x
    mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r69.xyz, r69.xyzx, cb0[1].wwww
  else
    add r70.xyz, r68.xyzx, -cb0[2].xyzx
    add r70.xyz, r70.xyzx, cb0[2].wwww
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r71.xyz, cb0[2].wwww, cb0[2].xyzx
    add r71.xyz, -r68.xyzx, r71.xyzx
    max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r70.xyz, r70.xyzx, r71.xyzx
    min r51.x, r70.z, r70.y
    min r51.x, r51.x, r70.x
    mul r58.z, r47.z, cb0[2].w
    lt r51.x, r58.z, r51.x
    if_nz r51.x
      mad r70.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r71.xyz, r70.xyzx, cb0[9].yyyy
      mov r70.w, r71.x
      sample_l_indexable(texture3d)(float,float,float,float) r51.x, r70.wyzw, t1.xyzw, s0, l(0.000000)
      add r72.xyw, r70.xyxz, -cb0[9].yyyy
      mov r73.xw, r72.xxxy
      mov r73.yz, r70.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r73.xyzx, t1.yzxw, s0, l(0.000000)
      mov r73.xz, r70.xxzx
      mov r73.y, r71.y
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r73.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r59.w, r73.xwzx, t1.yzwx, s0, l(0.000000)
      mov r72.xy, r70.xyxx
      mov r72.z, r71.z
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r72.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r72.xywx, t1.xyzw, s0, l(0.000000)
      add r70.x, r51.x, -r58.z
      add r70.y, r58.w, -r59.w
      add r70.z, r60.x, -r61.x
      mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r69.xyz, r70.xyzx, cb0[2].wwww
    else
      add r70.xyz, r68.xyzx, -cb0[3].xyzx
      add r70.xyz, r70.xyzx, cb0[3].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[3].wwww, cb0[3].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r51.x, r70.z, r70.y
      min r51.x, r51.x, r70.x
      add r70.xyz, r68.xyzx, -cb0[4].xyzx
      add r70.xyz, r70.xyzx, cb0[4].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[4].wwww, cb0[4].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r58.z, r70.z, r70.y
      min r58.z, r58.z, r70.x
      mul r58.w, r47.z, cb0[3].w
      lt r51.x, r58.w, r51.x
      if_nz r51.x
        mad r70.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r71.xyz, r70.xyzx, cb0[9].yyyy
        mov r70.w, r71.x
        sample_l_indexable(texture3d)(float,float,float,float) r51.x, r70.wyzw, t2.xyzw, s0, l(0.000000)
        add r72.xyw, r70.xyxz, -cb0[9].yyyy
        mov r73.xw, r72.xxxy
        mov r73.yz, r70.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
        mov r73.xz, r70.xxzx
        mov r73.y, r71.y
        sample_l_indexable(texture3d)(float,float,float,float) r59.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r73.xwzx, t2.xyzw, s0, l(0.000000)
        mov r72.xy, r70.xyxx
        mov r72.z, r71.z
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r72.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r61.y, r72.xywx, t2.yxzw, s0, l(0.000000)
        add r70.x, r51.x, -r58.w
        add r70.y, r59.w, -r60.x
        add r70.z, -r61.y, r61.x
        mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r69.xyz, r70.xyzx, cb0[3].wwww
      else
        mul r51.x, r47.z, cb0[4].w
        lt r51.x, r51.x, r58.z
        if_nz r51.x
          mad r68.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r70.xyz, r68.xyzx, cb0[9].yyyy
          mov r68.w, r70.x
          sample_l_indexable(texture3d)(float,float,float,float) r51.x, r68.wyzw, t3.xyzw, s0, l(0.000000)
          add r71.xyw, r68.xyxz, -cb0[9].yyyy
          mov r72.xw, r71.xxxy
          mov r72.yz, r68.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xyzx, t3.yzxw, s0, l(0.000000)
          mov r72.xz, r68.xxzx
          mov r72.y, r70.y
          sample_l_indexable(texture3d)(float,float,float,float) r58.w, r72.xyzx, t3.yzwx, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xwzx, t3.yzwx, s0, l(0.000000)
          mov r71.xy, r68.xyxx
          mov r71.z, r70.z
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xywx, t3.xyzw, s0, l(0.000000)
          add r68.x, r51.x, -r58.z
          add r68.y, r58.w, -r59.w
          add r68.z, r60.x, -r61.x
          mul r68.xyz, r68.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r69.xyz, r68.xyzx, cb0[4].wwww
        else
          mov r69.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r51.x, l(0.000000), r56.w
  eq r68.xyz, r69.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r58.z, r68.y, r68.x
  and r58.z, r68.z, r58.z
  and r51.x, r51.x, r58.z
  add r68.xyz, r66.xyzx, l(0.000000, 0.000000, -2.000000, 0.000000)
  add r69.xyz, r68.xyzx, -cb0[1].xyzx
  add r69.xyz, r69.xyzx, cb0[1].wwww
  max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r70.xyz, r62.xyzx, -r68.xyzx
  max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r69.xyz, r69.xyzx, r70.xyzx
  min r58.z, r69.z, r69.y
  min r58.z, r58.z, r69.x
  lt r58.w, r1.w, r58.z
  if_nz r58.w
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r58.w, r69.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r69.xyz, r68.xyzx, -cb0[2].xyzx
    add r69.xyz, r69.xyzx, cb0[2].wwww
    max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r70.xyz, cb0[2].wwww, cb0[2].xyzx
    add r70.xyz, -r68.xyzx, r70.xyzx
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r69.xyz, r69.xyzx, r70.xyzx
    min r59.w, r69.z, r69.y
    min r59.w, r59.w, r69.x
    mul r60.x, cb0[2].w, cb0[9].y
    lt r59.w, r60.x, r59.w
    if_nz r59.w
      mad r69.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r58.w, r69.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r69.xyz, r68.xyzx, -cb0[3].xyzx
      add r69.xyz, r69.xyzx, cb0[3].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[3].wwww, cb0[3].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r59.w, r69.z, r69.y
      min r59.w, r59.w, r69.x
      add r69.xyz, r68.xyzx, -cb0[4].xyzx
      add r69.xyz, r69.xyzx, cb0[4].wwww
      max r69.xyz, r69.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r70.xyz, cb0[4].wwww, cb0[4].xyzx
      add r70.xyz, -r68.xyzx, r70.xyzx
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r69.xyz, r69.xyzx, r70.xyzx
      min r60.x, r69.z, r69.y
      min r60.x, r60.x, r69.x
      mul r61.x, cb0[3].w, cb0[9].y
      lt r59.w, r61.x, r59.w
      if_nz r59.w
        mad r69.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r58.w, r69.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r59.w, cb0[4].w, cb0[9].y
        lt r59.w, r59.w, r60.x
        if_nz r59.w
          mul r59.w, r60.x, cb0[8].w
          mul_sat r59.w, r59.w, l(10.000000)
          mad r69.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r69.xyzx, t3.xyzw, s0, l(0.000000)
          add r60.x, r60.x, -cb0[0].x
          mad r58.w, r59.w, r60.x, cb0[0].x
        else
          mov r58.w, cb0[0].x
        endif
      endif
    endif
  endif
  lt r48.w, r48.w, r58.z
  if_nz r48.w
    mad r69.xyz, r68.xyzx, cb0[5].wwww, cb0[5].xyzx
    add r70.xyz, r69.xyzx, cb0[9].yyyy
    mov r69.w, r70.x
    sample_l_indexable(texture3d)(float,float,float,float) r48.w, r69.wyzw, t0.yzwx, s0, l(0.000000)
    add r71.xyw, r69.xyxz, -cb0[9].yyyy
    mov r72.xw, r71.xxxy
    mov r72.yz, r69.yyzy
    sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xyzx, t0.yzxw, s0, l(0.000000)
    mov r72.xz, r69.xxzx
    mov r72.y, r70.y
    sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xyzx, t0.yzwx, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r60.x, r72.xwzx, t0.xyzw, s0, l(0.000000)
    mov r71.xy, r69.xyxx
    mov r71.z, r70.z
    sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xyzx, t0.xyzw, s0, l(0.000000)
    sample_l_indexable(texture3d)(float,float,float,float) r61.y, r71.xywx, t0.yxzw, s0, l(0.000000)
    add r69.x, r48.w, -r58.z
    add r69.y, r59.w, -r60.x
    add r69.z, -r61.y, r61.x
    mul r69.xyz, r69.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
    div r69.xyz, r69.xyzx, cb0[1].wwww
  else
    add r70.xyz, r68.xyzx, -cb0[2].xyzx
    add r70.xyz, r70.xyzx, cb0[2].wwww
    max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r71.xyz, cb0[2].wwww, cb0[2].xyzx
    add r71.xyz, -r68.xyzx, r71.xyzx
    max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r70.xyz, r70.xyzx, r71.xyzx
    min r48.w, r70.z, r70.y
    min r48.w, r48.w, r70.x
    mul r58.z, r47.z, cb0[2].w
    lt r48.w, r58.z, r48.w
    if_nz r48.w
      mad r70.xyz, r68.xyzx, cb0[6].wwww, cb0[6].xyzx
      add r71.xyz, r70.xyzx, cb0[9].yyyy
      mov r70.w, r71.x
      sample_l_indexable(texture3d)(float,float,float,float) r48.w, r70.wyzw, t1.yzwx, s0, l(0.000000)
      add r72.xyw, r70.xyxz, -cb0[9].yyyy
      mov r73.xw, r72.xxxy
      mov r73.yz, r70.yyzy
      sample_l_indexable(texture3d)(float,float,float,float) r58.z, r73.xyzx, t1.yzxw, s0, l(0.000000)
      mov r73.xz, r70.xxzx
      mov r73.y, r71.y
      sample_l_indexable(texture3d)(float,float,float,float) r59.w, r73.xyzx, t1.yzwx, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r60.x, r73.xwzx, t1.xyzw, s0, l(0.000000)
      mov r72.xy, r70.xyxx
      mov r72.z, r71.z
      sample_l_indexable(texture3d)(float,float,float,float) r61.x, r72.xyzx, t1.xyzw, s0, l(0.000000)
      sample_l_indexable(texture3d)(float,float,float,float) r61.y, r72.xywx, t1.yxzw, s0, l(0.000000)
      add r70.x, r48.w, -r58.z
      add r70.y, r59.w, -r60.x
      add r70.z, -r61.y, r61.x
      mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      div r69.xyz, r70.xyzx, cb0[2].wwww
    else
      add r70.xyz, r68.xyzx, -cb0[3].xyzx
      add r70.xyz, r70.xyzx, cb0[3].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[3].wwww, cb0[3].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r48.w, r70.z, r70.y
      min r48.w, r48.w, r70.x
      add r70.xyz, r68.xyzx, -cb0[4].xyzx
      add r70.xyz, r70.xyzx, cb0[4].wwww
      max r70.xyz, r70.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r71.xyz, cb0[4].wwww, cb0[4].xyzx
      add r71.xyz, -r68.xyzx, r71.xyzx
      max r71.xyz, r71.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r70.xyz, r70.xyzx, r71.xyzx
      min r58.z, r70.z, r70.y
      min r58.z, r58.z, r70.x
      mul r59.w, r47.z, cb0[3].w
      lt r48.w, r59.w, r48.w
      if_nz r48.w
        mad r70.xyz, r68.xyzx, cb0[7].wwww, cb0[7].xyzx
        add r71.xyz, r70.xyzx, cb0[9].yyyy
        mov r70.w, r71.x
        sample_l_indexable(texture3d)(float,float,float,float) r48.w, r70.wyzw, t2.yzwx, s0, l(0.000000)
        add r72.xyw, r70.xyxz, -cb0[9].yyyy
        mov r73.xw, r72.xxxy
        mov r73.yz, r70.yyzy
        sample_l_indexable(texture3d)(float,float,float,float) r59.w, r73.xyzx, t2.yzwx, s0, l(0.000000)
        mov r73.xz, r70.xxzx
        mov r73.y, r71.y
        sample_l_indexable(texture3d)(float,float,float,float) r60.x, r73.xyzx, t2.xyzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r61.x, r73.xwzx, t2.xyzw, s0, l(0.000000)
        mov r72.xy, r70.xyxx
        mov r72.z, r71.z
        sample_l_indexable(texture3d)(float,float,float,float) r61.y, r72.xyzx, t2.yxzw, s0, l(0.000000)
        sample_l_indexable(texture3d)(float,float,float,float) r62.w, r72.xywx, t2.yzwx, s0, l(0.000000)
        add r70.x, r48.w, -r59.w
        add r70.y, r60.x, -r61.x
        add r70.z, r61.y, -r62.w
        mul r70.xyz, r70.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
        div r69.xyz, r70.xyzx, cb0[3].wwww
      else
        mul r47.z, r47.z, cb0[4].w
        lt r47.z, r47.z, r58.z
        if_nz r47.z
          mad r68.xyz, r68.xyzx, cb0[8].wwww, cb0[8].xyzx
          add r70.xyz, r68.xyzx, cb0[9].yyyy
          mov r68.w, r70.x
          sample_l_indexable(texture3d)(float,float,float,float) r47.z, r68.wyzw, t3.yzxw, s0, l(0.000000)
          add r71.xyw, r68.xyxz, -cb0[9].yyyy
          mov r72.xw, r71.xxxy
          mov r72.yz, r68.yyzy
          sample_l_indexable(texture3d)(float,float,float,float) r48.w, r72.xyzx, t3.yzwx, s0, l(0.000000)
          mov r72.xz, r68.xxzx
          mov r72.y, r70.y
          sample_l_indexable(texture3d)(float,float,float,float) r58.z, r72.xyzx, t3.yzxw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r59.w, r72.xwzx, t3.yzwx, s0, l(0.000000)
          mov r71.xy, r68.xyxx
          mov r71.z, r70.z
          sample_l_indexable(texture3d)(float,float,float,float) r60.x, r71.xyzx, t3.xyzw, s0, l(0.000000)
          sample_l_indexable(texture3d)(float,float,float,float) r61.x, r71.xywx, t3.xyzw, s0, l(0.000000)
          add r68.x, r47.z, -r48.w
          add r68.y, r58.z, -r59.w
          add r68.z, r60.x, -r61.x
          mul r68.xyz, r68.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
          div r69.xyz, r68.xyzx, cb0[4].wwww
        else
          mov r69.xyz, l(0,0,0.001000,0)
        endif
      endif
    endif
  endif
  lt r47.z, l(0.000000), r58.w
  eq r68.xyz, r69.xyzx, l(0.000000, 0.000000, 0.001000, 0.000000)
  and r48.w, r68.y, r68.x
  and r48.w, r68.z, r48.w
  and r47.z, r47.z, r48.w
  add r67.z, r56.w, -r58.w
  dp3 r48.w, r67.xyzx, r67.xyzx
  sqrt r67.w, r48.w
  lt r48.w, r67.w, l(0.000010)
  movc r67.xyzw, r48.wwww, l(0,0,0,1.000000), r67.xyzw
  div r67.xyz, r67.xyzx, r67.wwww
  movc r67.xyz, r48.wwww, l(0,0,0,0), r67.xyzx
  ieq r0.x, r0.x, l(0)
  and r0.x, r0.x, r50.z
  ieq r47.y, r47.y, l(0)
  and r0.x, r0.x, r47.y
  ieq r25.w, r25.w, l(0)
  and r0.x, r0.x, r25.w
  ieq r25.w, r52.w, l(0)
  and r0.x, r0.x, r25.w
  ieq r25.w, r51.x, l(0)
  and r0.x, r0.x, r25.w
  ieq r25.w, r47.z, l(0)
  and r0.x, r0.x, r25.w
  and r0.x, r0.x, r48.w
  movc r11.xyz, r0.xxxx, r67.xyzx, r55.xyzx
  mul r55.xyz, r11.xyzx, r61.zzzz
  mul_sat r0.x, r22.w, l(0.010000)
  add r0.x, -r0.x, l(1.000000)
  mad r9.xyz, r63.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000), r24.yzwy
  dp3 r22.w, r64.xyzx, r64.xyzx
  sqrt r64.w, r22.w
  lt r22.w, r64.w, l(0.000010)
  movc r63.xyzw, r22.wwww, l(0,0,0,1.000000), r64.xyzw
  div r63.xyz, r63.xyzx, r63.wwww
  movc r7.xyzw, r22.wwww, l(0,0,0,0), r63.xyzw
  add r61.xyz, r66.xyzx, l(3.000000, 0.000000, 0.000000, 0.000000)
  add r63.xyz, r61.xyzx, -cb0[1].xyzx
  add r63.xyz, r63.xyzx, cb0[1].wwww
  max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r64.xyz, -r61.xyzx, r62.xyzx
  max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r63.xyz, r63.xyzx, r64.xyzx
  min r22.w, r63.z, r63.y
  min r22.w, r22.w, r63.x
  lt r22.w, r1.w, r22.w
  if_nz r22.w
    mad r63.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r22.w, r63.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r63.xyz, r61.xyzx, -cb0[2].xyzx
    add r63.xyz, r63.xyzx, cb0[2].wwww
    max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r64.xyz, cb0[2].wwww, cb0[2].xyzx
    add r64.xyz, -r61.xyzx, r64.xyzx
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r63.xyz, r63.xyzx, r64.xyzx
    min r25.w, r63.z, r63.y
    min r25.w, r25.w, r63.x
    mul r47.y, cb0[2].w, cb0[9].y
    lt r25.w, r47.y, r25.w
    if_nz r25.w
      mad r63.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r22.w, r63.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r63.xyz, r61.xyzx, -cb0[3].xyzx
      add r63.xyz, r63.xyzx, cb0[3].wwww
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[3].wwww, cb0[3].xyzx
      add r64.xyz, -r61.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r63.xyz, r63.xyzx, r64.xyzx
      min r25.w, r63.z, r63.y
      min r25.w, r25.w, r63.x
      add r63.xyz, r61.xyzx, -cb0[4].xyzx
      add r63.xyz, r63.xyzx, cb0[4].wwww
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[4].wwww, cb0[4].xyzx
      add r64.xyz, -r61.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r63.xyz, r63.xyzx, r64.xyzx
      min r47.y, r63.z, r63.y
      min r47.y, r47.y, r63.x
      mul r47.z, cb0[3].w, cb0[9].y
      lt r25.w, r47.z, r25.w
      if_nz r25.w
        mad r63.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r22.w, r63.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r25.w, cb0[4].w, cb0[9].y
        lt r25.w, r25.w, r47.y
        if_nz r25.w
          mul r25.w, r47.y, cb0[8].w
          mul_sat r25.w, r25.w, l(10.000000)
          mad r61.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r61.xyzx, t3.yxzw, s0, l(0.000000)
          add r47.y, r47.y, -cb0[0].x
          mad r22.w, r25.w, r47.y, cb0[0].x
        else
          mov r22.w, cb0[0].x
        endif
      endif
    endif
  endif
  add r61.xyz, r66.xyzx, l(-3.000000, 0.000000, 0.000000, 0.000000)
  add r63.xyz, r61.xyzx, -cb0[1].xyzx
  add r63.xyz, r63.xyzx, cb0[1].wwww
  max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r64.xyz, -r61.xyzx, r62.xyzx
  max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r63.xyz, r63.xyzx, r64.xyzx
  min r25.w, r63.z, r63.y
  min r25.w, r25.w, r63.x
  lt r25.w, r1.w, r25.w
  if_nz r25.w
    mad r63.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r25.w, r63.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r63.xyz, r61.xyzx, -cb0[2].xyzx
    add r63.xyz, r63.xyzx, cb0[2].wwww
    max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r64.xyz, cb0[2].wwww, cb0[2].xyzx
    add r64.xyz, -r61.xyzx, r64.xyzx
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r63.xyz, r63.xyzx, r64.xyzx
    min r47.y, r63.z, r63.y
    min r47.y, r47.y, r63.x
    mul r47.z, cb0[2].w, cb0[9].y
    lt r47.y, r47.z, r47.y
    if_nz r47.y
      mad r63.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r25.w, r63.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r63.xyz, r61.xyzx, -cb0[3].xyzx
      add r63.xyz, r63.xyzx, cb0[3].wwww
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[3].wwww, cb0[3].xyzx
      add r64.xyz, -r61.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r63.xyz, r63.xyzx, r64.xyzx
      min r47.y, r63.z, r63.y
      min r47.y, r47.y, r63.x
      add r63.xyz, r61.xyzx, -cb0[4].xyzx
      add r63.xyz, r63.xyzx, cb0[4].wwww
      max r63.xyz, r63.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[4].wwww, cb0[4].xyzx
      add r64.xyz, -r61.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r63.xyz, r63.xyzx, r64.xyzx
      min r47.z, r63.z, r63.y
      min r47.z, r47.z, r63.x
      mul r48.w, cb0[3].w, cb0[9].y
      lt r47.y, r48.w, r47.y
      if_nz r47.y
        mad r63.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r25.w, r63.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r47.y, cb0[4].w, cb0[9].y
        lt r47.y, r47.y, r47.z
        if_nz r47.y
          mul r47.y, r47.z, cb0[8].w
          mul_sat r47.y, r47.y, l(10.000000)
          mad r61.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r47.z, r61.xyzx, t3.yzxw, s0, l(0.000000)
          add r47.z, r47.z, -cb0[0].x
          mad r25.w, r47.y, r47.z, cb0[0].x
        else
          mov r25.w, cb0[0].x
        endif
      endif
    endif
  endif
  add r63.x, r22.w, -r25.w
  add r61.xyz, r66.xyzx, l(0.000000, 3.000000, 0.000000, 0.000000)
  add r64.xyz, r61.xyzx, -cb0[1].xyzx
  add r64.xyz, r64.xyzx, cb0[1].wwww
  max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r67.xyz, -r61.xyzx, r62.xyzx
  max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r64.xyz, r64.xyzx, r67.xyzx
  min r22.w, r64.z, r64.y
  min r22.w, r22.w, r64.x
  lt r22.w, r1.w, r22.w
  if_nz r22.w
    mad r64.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r22.w, r64.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r64.xyz, r61.xyzx, -cb0[2].xyzx
    add r64.xyz, r64.xyzx, cb0[2].wwww
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r61.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r64.xyz, r64.xyzx, r67.xyzx
    min r25.w, r64.z, r64.y
    min r25.w, r25.w, r64.x
    mul r47.y, cb0[2].w, cb0[9].y
    lt r25.w, r47.y, r25.w
    if_nz r25.w
      mad r64.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r22.w, r64.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r64.xyz, r61.xyzx, -cb0[3].xyzx
      add r64.xyz, r64.xyzx, cb0[3].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r61.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r67.xyzx
      min r25.w, r64.z, r64.y
      min r25.w, r25.w, r64.x
      add r64.xyz, r61.xyzx, -cb0[4].xyzx
      add r64.xyz, r64.xyzx, cb0[4].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r61.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r67.xyzx
      min r47.y, r64.z, r64.y
      min r47.y, r47.y, r64.x
      mul r47.z, cb0[3].w, cb0[9].y
      lt r25.w, r47.z, r25.w
      if_nz r25.w
        mad r64.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r22.w, r64.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r25.w, cb0[4].w, cb0[9].y
        lt r25.w, r25.w, r47.y
        if_nz r25.w
          mul r25.w, r47.y, cb0[8].w
          mul_sat r25.w, r25.w, l(10.000000)
          mad r61.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r61.xyzx, t3.yxzw, s0, l(0.000000)
          add r47.y, r47.y, -cb0[0].x
          mad r22.w, r25.w, r47.y, cb0[0].x
        else
          mov r22.w, cb0[0].x
        endif
      endif
    endif
  endif
  add r61.xyz, r66.xyzx, l(0.000000, -3.000000, 0.000000, 0.000000)
  add r64.xyz, r61.xyzx, -cb0[1].xyzx
  add r64.xyz, r64.xyzx, cb0[1].wwww
  max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r67.xyz, -r61.xyzx, r62.xyzx
  max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r64.xyz, r64.xyzx, r67.xyzx
  min r25.w, r64.z, r64.y
  min r25.w, r25.w, r64.x
  lt r25.w, r1.w, r25.w
  if_nz r25.w
    mad r64.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r25.w, r64.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r64.xyz, r61.xyzx, -cb0[2].xyzx
    add r64.xyz, r64.xyzx, cb0[2].wwww
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r61.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r64.xyz, r64.xyzx, r67.xyzx
    min r47.y, r64.z, r64.y
    min r47.y, r47.y, r64.x
    mul r47.z, cb0[2].w, cb0[9].y
    lt r47.y, r47.z, r47.y
    if_nz r47.y
      mad r64.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r25.w, r64.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r64.xyz, r61.xyzx, -cb0[3].xyzx
      add r64.xyz, r64.xyzx, cb0[3].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r61.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r67.xyzx
      min r47.y, r64.z, r64.y
      min r47.y, r47.y, r64.x
      add r64.xyz, r61.xyzx, -cb0[4].xyzx
      add r64.xyz, r64.xyzx, cb0[4].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r61.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r67.xyzx
      min r47.z, r64.z, r64.y
      min r47.z, r47.z, r64.x
      mul r48.w, cb0[3].w, cb0[9].y
      lt r47.y, r48.w, r47.y
      if_nz r47.y
        mad r64.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r25.w, r64.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r47.y, cb0[4].w, cb0[9].y
        lt r47.y, r47.y, r47.z
        if_nz r47.y
          mul r47.y, r47.z, cb0[8].w
          mul_sat r47.y, r47.y, l(10.000000)
          mad r61.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r47.z, r61.xyzx, t3.yzxw, s0, l(0.000000)
          add r47.z, r47.z, -cb0[0].x
          mad r25.w, r47.y, r47.z, cb0[0].x
        else
          mov r25.w, cb0[0].x
        endif
      endif
    endif
  endif
  add r63.y, r22.w, -r25.w
  add r61.xyz, r66.xyzx, l(0.000000, 0.000000, 3.000000, 0.000000)
  add r64.xyz, r61.xyzx, -cb0[1].xyzx
  add r64.xyz, r64.xyzx, cb0[1].wwww
  max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r67.xyz, -r61.xyzx, r62.xyzx
  max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r64.xyz, r64.xyzx, r67.xyzx
  min r22.w, r64.z, r64.y
  min r22.w, r22.w, r64.x
  lt r22.w, r1.w, r22.w
  if_nz r22.w
    mad r64.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r22.w, r64.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r64.xyz, r61.xyzx, -cb0[2].xyzx
    add r64.xyz, r64.xyzx, cb0[2].wwww
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r67.xyz, cb0[2].wwww, cb0[2].xyzx
    add r67.xyz, -r61.xyzx, r67.xyzx
    max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r64.xyz, r64.xyzx, r67.xyzx
    min r25.w, r64.z, r64.y
    min r25.w, r25.w, r64.x
    mul r47.y, cb0[2].w, cb0[9].y
    lt r25.w, r47.y, r25.w
    if_nz r25.w
      mad r64.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r22.w, r64.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r64.xyz, r61.xyzx, -cb0[3].xyzx
      add r64.xyz, r64.xyzx, cb0[3].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[3].wwww, cb0[3].xyzx
      add r67.xyz, -r61.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r67.xyzx
      min r25.w, r64.z, r64.y
      min r25.w, r25.w, r64.x
      add r64.xyz, r61.xyzx, -cb0[4].xyzx
      add r64.xyz, r64.xyzx, cb0[4].wwww
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r67.xyz, cb0[4].wwww, cb0[4].xyzx
      add r67.xyz, -r61.xyzx, r67.xyzx
      max r67.xyz, r67.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r64.xyz, r64.xyzx, r67.xyzx
      min r47.y, r64.z, r64.y
      min r47.y, r47.y, r64.x
      mul r47.z, cb0[3].w, cb0[9].y
      lt r25.w, r47.z, r25.w
      if_nz r25.w
        mad r64.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r22.w, r64.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r25.w, cb0[4].w, cb0[9].y
        lt r25.w, r25.w, r47.y
        if_nz r25.w
          mul r25.w, r47.y, cb0[8].w
          mul_sat r25.w, r25.w, l(10.000000)
          mad r61.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r61.xyzx, t3.yxzw, s0, l(0.000000)
          add r47.y, r47.y, -cb0[0].x
          mad r22.w, r25.w, r47.y, cb0[0].x
        else
          mov r22.w, cb0[0].x
        endif
      endif
    endif
  endif
  add r61.xyz, r66.xyzx, l(0.000000, 0.000000, -3.000000, 0.000000)
  add r64.xyz, r61.xyzx, -cb0[1].xyzx
  add r64.xyz, r64.xyzx, cb0[1].wwww
  max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r62.xyz, -r61.xyzx, r62.xyzx
  max r62.xyz, r62.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r62.xyz, r62.xyzx, r64.xyzx
  min r25.w, r62.z, r62.y
  min r25.w, r25.w, r62.x
  lt r1.w, r1.w, r25.w
  if_nz r1.w
    mad r62.xyz, r61.xyzx, cb0[5].wwww, cb0[5].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r1.w, r62.xyzx, t0.yzwx, s0, l(0.000000)
  else
    add r62.xyz, r61.xyzx, -cb0[2].xyzx
    add r62.xyz, r62.xyzx, cb0[2].wwww
    max r62.xyz, r62.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r64.xyz, cb0[2].wwww, cb0[2].xyzx
    add r64.xyz, -r61.xyzx, r64.xyzx
    max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r62.xyz, r62.xyzx, r64.xyzx
    min r25.w, r62.z, r62.y
    min r25.w, r25.w, r62.x
    mul r47.y, cb0[2].w, cb0[9].y
    lt r25.w, r47.y, r25.w
    if_nz r25.w
      mad r62.xyz, r61.xyzx, cb0[6].wwww, cb0[6].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r1.w, r62.xyzx, t1.yzwx, s0, l(0.000000)
    else
      add r62.xyz, r61.xyzx, -cb0[3].xyzx
      add r62.xyz, r62.xyzx, cb0[3].wwww
      max r62.xyz, r62.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[3].wwww, cb0[3].xyzx
      add r64.xyz, -r61.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r62.xyz, r62.xyzx, r64.xyzx
      min r25.w, r62.z, r62.y
      min r25.w, r25.w, r62.x
      add r62.xyz, r61.xyzx, -cb0[4].xyzx
      add r62.xyz, r62.xyzx, cb0[4].wwww
      max r62.xyz, r62.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      add r64.xyz, cb0[4].wwww, cb0[4].xyzx
      add r64.xyz, -r61.xyzx, r64.xyzx
      max r64.xyz, r64.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
      min r62.xyz, r62.xyzx, r64.xyzx
      min r47.y, r62.z, r62.y
      min r47.y, r47.y, r62.x
      mul r47.z, cb0[3].w, cb0[9].y
      lt r25.w, r47.z, r25.w
      if_nz r25.w
        mad r62.xyz, r61.xyzx, cb0[7].wwww, cb0[7].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r1.w, r62.xyzx, t2.yzwx, s0, l(0.000000)
      else
        mul r25.w, cb0[4].w, cb0[9].y
        lt r25.w, r25.w, r47.y
        if_nz r25.w
          mul r25.w, r47.y, cb0[8].w
          mul_sat r25.w, r25.w, l(10.000000)
          mad r61.xyz, r61.xyzx, cb0[8].wwww, cb0[8].xyzx
          sample_l_indexable(texture3d)(float,float,float,float) r47.y, r61.xyzx, t3.yxzw, s0, l(0.000000)
          add r47.y, r47.y, -cb0[0].x
          mad r1.w, r25.w, r47.y, cb0[0].x
        else
          mov r1.w, cb0[0].x
        endif
      endif
    endif
  endif
  add r63.z, -r1.w, r22.w
  dp3 r1.w, r63.xyzx, r63.xyzx
  sqrt r63.w, r1.w
  lt r1.w, r63.w, l(0.000010)
  movc r62.xyzw, r1.wwww, l(0,0,0,1.000000), r63.xyzw
  div r61.xyz, r62.xyzx, r62.wwww
  mul r61.xyz, r61.xyzx, l(20.000000, 20.000000, 20.000000, 0.000000)
  movc r61.xyz, r1.wwww, l(0,0,0,0), r61.xyzx
  add r61.xyz, r61.xyzx, r66.xyzx
  add r62.xyz, -r61.xyzx, r66.xyzx
  mad r10.yzw, r62.xxyz, l(0.000000, 0.500000, 0.500000, 0.500000), r61.xxyz
  dp3 r1.w, r62.xyzx, r62.xyzx
  sqrt r62.w, r1.w
  lt r1.w, r62.w, l(0.000010)
  movc r62.xyzw, r1.wwww, l(0,0,0,1.000000), r62.xyzw
  div r62.xyz, r62.xyzx, r62.wwww
  movc r13.xyzw, r1.wwww, l(0,0,0,0), r62.xyzw
  mad r55.xyz, r55.xyzx, r0.xxxx, r65.xyzx
  movc r55.xyz, r4.yyyy, l(0,0,0,0), r55.xyzx
  add r54.xyz, r54.xyzx, r55.xyzx
  imad r0.xyz, r0.wyzw, l(0x0019660d, 0x0019660d, 0x0019660d, 0), l(0x3c6ef35f, 0x3c6ef35f, 0x3c6ef35f, 0)
  imad r0.x, r0.y, r0.y, r0.x
  imad r0.w, r0.z, r0.x, r0.y
  imad r0.z, r0.x, r0.w, r0.z
  imad r0.y, r0.w, r0.z, r0.y
  imad r0.x, r0.w, r0.y, r0.x
  ishr r0.x, r0.x, l(8)
  and r0.x, r0.x, l(0x00ffffff)
  utof r0.x, r0.x
  mad r0.x, r0.x, l(1.788139414E-08), l(0.100000)
  or r0.y, r1.z, r4.y
  add r53.xyz, -r53.xyzx, r24.yzwy
  lt r55.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r53.xyzx
  lt r61.xyz, r53.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  iadd r55.xyz, -r55.xyzx, r61.xyzx
  itof r55.xyz, r55.xyzx
  mul r56.xyz, r56.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
  add r53.xyz, -|r53.xyzx|, |r56.xyzx|
  mul_sat r53.xyz, r53.xyzx, l(0.010000, 0.010000, 0.010000, 0.000000)
  add r53.xyz, -r53.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  mul r53.xyz, r53.xyzx, r55.xyzx
  mul r53.xyz, r53.xyzx, l(-200.000000, -200.000000, -200.000000, 0.000000)
  movc r0.yzw, r0.yyyy, l(0,0,0,0), r53.xxyz
  add r0.yzw, r0.yyzw, r54.xxyz
  add r1.w, r51.y, -r57.w
  div_sat r1.w, r1.w, r57.z
  add r1.w, r1.w, -cb0[33].w
  mul_sat r1.w, r1.w, cb0[34].y
  mul r22.w, r1.w, cb0[34].z
  round_ni r22.w, r22.w
  lt r25.w, r22.w, cb0[34].z
  add r47.y, r22.w, l(1.000000)
  movc r25.w, r25.w, r47.y, r22.w
  mad r1.w, r1.w, cb0[34].z, -r22.w
  ftou r22.w, r22.w
  ld_indexable(buffer)(float,float,float,float) r22.w, r22.wwww, t10.yzwx
  ftou r25.w, r25.w
  ld_indexable(buffer)(float,float,float,float) r25.w, r25.wwww, t10.yzwx
  add r25.w, -r22.w, r25.w
  mad r1.w, r1.w, r25.w, r22.w
  ine r22.w, r17.w, l(0)
  and r22.w, r1.z, r22.w
  mul r25.w, r1.w, l(500.000000)
  mad r53.xyz, -r28.yzwy, r25.wwww, r0.yzwy
  movc r44.xyz, r22.wwww, r53.xyzx, r0.yzwy
  add r0.y, -r1.w, l(1.000000)
  mul r0.yzw, r59.xxyz, r0.yyyy
  movc r49.xyz, r1.zzzz, r0.yzwy, r59.xyzx
  max r0.y, r31.w, l(0.000100)
  div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
  mul r0.yzw, r44.xxyz, r0.yyyy
  mad r0.yzw, r0.yyzw, r51.zzzz, r52.xxyz
  mad r0.x, r51.z, r0.x, l(1.000000)
  div r0.xyz, r0.yzwy, r0.xxxx
  dp3 r1.w, r0.xyzx, r0.xyzx
  sqrt r0.w, r1.w
  lt r1.w, r0.w, l(0.000010)
  movc r0.xyzw, r1.wwww, l(0,0,0,1.000000), r0.xyzw
  div r0.xyz, r0.xyzx, r0.wwww
  movc r0.xyzw, r1.wwww, l(0,0,0,0), r0.xyzw
  min r0.w, r61.w, r0.w
  mul r0.xyz, r0.wwww, r0.zxyz
  mad r46.xyz, r0.yzxy, r51.zzzz, r24.yzwy
  add r53.xyz, -r38.yzwy, r46.xyzx
  mul r53.xyz, r51.wwww, r53.xyzx
  dp3 r0.w, r53.xyzx, r53.xyzx
  sqrt r0.w, r0.w
  mul r1.w, r18.w, l(9.999999939E-09)
  ge r22.w, r1.w, -r1.w
  frc r1.w, |r1.w|
  movc r1.w, r22.w, r1.w, -r1.w
  mul r1.w, r1.w, l(100000000.000000)
  mad r18.w, r0.w, l(0.010000), r1.w
  mad r45.xyz, -r0.xxxx, l(1.000000, 0.000000, 0.000000, 0.000000), r0.xyzx
  not r0.w, r4.y
  dp3 r1.w, r45.xyzx, r45.xyzx
  sqrt r45.w, r1.w
  lt r1.w, r45.w, l(0.000010)
  movc r56.xyzw, r1.wwww, l(1.000000,0,0,1.000000), r45.yzxw
  div r53.xyz, r56.xyzx, r56.wwww
  movc r53.xyz, r1.wwww, l(1.000000,0,0,0), r53.xyzx
  movc r32.xyz, r1.xxxx, r53.zxyz, r35.zxyz
  mov r32.w, l(1.000000)
  movc r56.xyzw, r1.wwww, r32.yzxw, r45.yzxw
  div r53.xyz, r56.xyzx, r56.wwww
  movc r35.xyz, r1.wwww, r32.yzxy, r53.xyzx
  min r1.w, r51.z, l(0.999000)
  mul r1.w, r30.z, r1.w
  mad r1.w, -r1.w, l(14.000000), r30.z
  dp3 r22.w, r32.xyzx, r32.xyzx
  sqrt r33.z, r22.w
  lt r22.w, r33.z, l(0.000010)
  mov r33.xy, r32.yzyy
  movc r32.yzw, r22.wwww, l(0,1.000000,0,1.000000), r33.xxyz
  div r32.yz, r32.yyzy, r32.wwww
  movc r32.yz, r22.wwww, l(0,1.000000,0,0), r32.yyzy
  dp3 r22.w, r35.xyzx, r35.xyzx
  sqrt r35.w, r22.w
  lt r25.w, r35.w, l(0.000010)
  movc r53.xyz, r25.wwww, l(1.000000,0,1.000000,0), r35.xywx
  div r47.yz, r53.yyxy, r53.zzzz
  movc r47.yz, r25.wwww, l(0,0,1.000000,0), r47.yyzy
  mul r25.w, r32.z, r47.z
  mad r25.w, r32.y, r47.y, -r25.w
  mul r25.w, r25.w, r51.z
  mad r1.w, -r25.w, l(155.000000), r1.w
  max r1.w, r1.w, l(-0.017500)
  min r30.z, r1.w, l(0.017500)
  lt r1.w, l(0.010000), |r30.z|
  lt r25.w, l(0.000000), r30.z
  movc r25.w, r25.w, l(1.000000), l(-1.000000)
  movc r30.y, r1.w, r25.w, r30.y
  mul r32.yzw, r35.zzxy, l(0.000000, 0.000000, -1.000000, 0.000000)
  mad r32.yzw, r35.yyzx, l(0.000000, -1.000000, 0.000000, 0.000000), -r32.yyzw
  rsq r1.w, r22.w
  mul r51.xzw, r1.wwww, r35.xxyz
  dp2 r22.w, r32.yzyy, r32.yzyy
  rsq r22.w, r22.w
  mul r32.yzw, r22.wwww, r32.yyzw
  mul r53.xyz, r32.yzwy, r51.zwxz
  mad r32.yzw, r51.xxzw, r32.zzwy, -r53.xxyz
  dp3 r22.w, r32.yzwy, r32.yzwy
  rsq r22.w, r22.w
  mul r32.yzw, r22.wwww, r32.yyzw
  mul r53.xyz, r51.zwxz, r32.yzwy
  mad r32.yzw, r32.wwyz, r51.wwxz, -r53.xxyz
  dp3 r22.w, r32.yzwy, r32.yzwy
  rsq r22.w, r22.w
  mul r53.xyz, r22.wwww, r32.yzwy
  mad r54.xyz, r35.xyzx, r1.wwww, -r36.xyzx
  mad r54.xyz, r2.xxxx, r54.xyzx, r36.xyzx
  movc r56.xyz, r1.xxxx, r51.xzwx, r54.xyzx
  mad r51.xzw, r35.xxyz, r1.wwww, -r56.xxyz
  mad r59.xyz, r51.xzwx, l(0.500000, 0.500000, 0.500000, 0.000000), r56.xyzx
  dp3 r1.w, r59.xyzx, r59.xyzx
  sqrt r59.w, r1.w
  lt r1.w, r59.w, l(0.000010)
  movc r59.xyzw, r1.wwww, l(0,0,1.000000,1.000000), r59.xyzw
  div r51.xzw, r59.xxyz, r59.wwww
  movc r59.xyz, r1.wwww, l(0,0,1.000000,0), r51.xzwx
  dp3 r1.w, r56.xyzx, r56.xyzx
  sqrt r56.w, r1.w
  lt r1.w, r56.w, l(0.000010)
  mov r59.w, l(1.000000)
  movc r56.xyzw, r1.wwww, r59.xyzw, r56.xyzw
  div r51.xzw, r56.xxyz, r56.wwww
  movc r56.xyz, r1.wwww, r59.xyzx, r51.xzwx
  mad r51.xzw, r32.yyzw, r22.wwww, -r34.xxyz
  mad r51.xzw, r2.xxxx, r51.xxzw, r34.xxyz
  movc r59.xyz, r1.xxxx, r53.xyzx, r51.xzwx
  mad r32.yzw, r32.yyzw, r22.wwww, -r59.xxyz
  mad r61.xyz, r32.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), r59.xyzx
  dp3 r1.w, r61.xyzx, r61.xyzx
  sqrt r61.w, r1.w
  lt r1.w, r61.w, l(0.000010)
  movc r61.xyzw, r1.wwww, l(0,0,1.000000,1.000000), r61.xyzw
  div r32.yzw, r61.xxyz, r61.wwww
  movc r61.xyz, r1.wwww, l(0,0,1.000000,0), r32.yzwy
  dp3 r1.w, r59.xyzx, r59.xyzx
  sqrt r59.w, r1.w
  lt r1.w, r59.w, l(0.000010)
  mov r61.w, l(1.000000)
  movc r59.xyzw, r1.wwww, r61.xyzw, r59.xyzw
  div r32.yzw, r59.xxyz, r59.wwww
  movc r59.xyz, r1.wwww, r61.xyzx, r32.yzwy
  mul r32.yzw, r56.zzxy, r59.yyzx
  mad r61.xyz, r56.yzxy, r59.zxyz, -r32.yzwy
  dp3 r1.w, r61.xyzx, r61.xyzx
  sqrt r61.w, r1.w
  lt r1.w, r61.w, l(0.000010)
  movc r61.xyzw, r1.wwww, l(0,0,1.000000,1.000000), r61.xyzw
  div r32.yzw, r61.yyzx, r61.wwww
  movc r32.yzw, r1.wwww, l(0,0,1.000000,0), r32.yyzw
  dp3 r1.w, r56.xyzx, r56.xyzx
  sqrt r56.w, r1.w
  lt r1.w, r56.w, l(0.000010)
  movc r56.xyzw, r1.wwww, l(1.000000,0,0,1.000000), r56.xyzw
  div r51.xzw, r56.yyzx, r56.wwww
  movc r51.xzw, r1.wwww, l(0,0,0,1.000000), r51.xxzw
  mul r53.xyz, r32.yzwy, r51.wxzw
  mad r32.yzw, r32.wwyz, r51.xxzw, -r53.xxyz
  dp3 r1.w, r59.xyzx, r59.xyzx
  sqrt r59.w, r1.w
  lt r1.w, r59.w, l(0.000010)
  movc r56.xyzw, r1.wwww, l(0,1.000000,0,1.000000), r59.xyzw
  div r53.xyz, r56.xyzx, r56.wwww
  movc r53.xyz, r1.wwww, l(0,1.000000,0,0), r53.xyzx
  mul r54.xyz, r51.xzwx, r53.xyzx
  mad r51.xzw, r51.wwxz, r53.yyzx, -r54.xxyz
  mul r53.xyz, r32.yzwy, r51.wxzw
  mad r36.xyz, r32.wyzw, r51.xzwx, -r53.xyzx
  mul r32.yzw, r36.yyzx, r51.xxzw
  mad r34.xyz, r51.wxzw, r36.zxyz, -r32.yzwy
  mul r1.w, r34.x, r36.y
  mad r1.w, r36.x, r34.y, -r1.w
  add r22.w, -r30.w, r30.z
  mad r2.x, r2.x, r22.w, r30.w
  movc r30.w, r1.x, r30.z, r2.x
  lt r1.w, r1.w, l(0.000000)
  mul r2.x, r30.y, l(0.500000)
  and r1.w, r1.w, r2.x
  add r1.w, -r44.w, r1.w
  mad r44.w, r2.z, r1.w, r44.w
  dp3 r1.w, r36.xyzx, r36.xyzx
  sqrt r36.w, r1.w
  lt r1.w, r36.w, l(0.010000)
  movc r56.xyzw, r1.wwww, l(1.000000,0,0,1.000000), r36.xyzw
  div r32.yzw, r56.yyzx, r56.wwww
  movc r32.yzw, r1.wwww, l(0,0,0,1.000000), r32.yyzw
  dp3 r1.w, r34.xyzx, r34.xyzx
  sqrt r34.w, r1.w
  lt r1.w, r34.w, l(0.010000)
  movc r56.xyzw, r1.wwww, l(0,1.000000,0,1.000000), r34.xyzw
  div r51.xzw, r56.xxyz, r56.wwww
  movc r51.xzw, r1.wwww, l(0,0,1.000000,0), r51.xxzw
  mul r53.xyz, r32.yzwy, r51.xzwx
  mad r51.xzw, r32.wwyz, r51.zzwx, -r53.xxyz
  dp3 r1.w, r51.xzwx, r51.xzwx
  rsq r1.w, r1.w
  mul r53.xyz, r1.wwww, r51.xzwx
  mul r54.xyz, r32.yzwy, r53.xyzx
  mad r54.xyz, r53.zxyz, r32.zwyz, -r54.xyzx
  dp3 r2.x, r54.xyzx, r54.xyzx
  rsq r2.x, r2.x
  mul r2.z, r2.x, r54.y
  mad r47.yz, r54.yyxy, r2.xxxx, r32.wwyw
  mad r22.w, r51.x, r1.w, r47.y
  lt r25.w, l(0.000000), r22.w
  add r22.w, r22.w, l(1.000000)
  rsq r22.w, r22.w
  mul r33.z, r22.w, l(0.500000)
  mad r55.xy, r54.zyzz, r2.xxxx, -r53.zxzz
  mul r56.x, r33.z, r55.x
  mad r57.zw, r51.zzzx, r1.wwww, -r32.zzzw
  mul r56.y, r33.z, r57.z
  mad r58.zw, -r54.xxxy, r2.xxxx, r32.yyyw
  mul r56.z, r33.z, r58.z
  rcp r22.w, r22.w
  mul r56.w, r22.w, l(0.500000)
  lt r22.w, r2.z, r32.w
  lt r32.y, r53.x, r32.w
  and r22.w, r22.w, r32.y
  mad r32.y, -r51.x, r1.w, r58.w
  add r32.y, r32.y, l(1.000000)
  rsq r32.y, r32.y
  mul r33.z, r32.y, l(0.500000)
  rcp r32.y, r32.y
  mul r59.x, r32.y, l(0.500000)
  mul r59.y, r33.z, r47.z
  mad r1.w, r51.z, r1.w, r32.z
  mul r59.z, r33.z, r1.w
  mul r59.w, r33.z, r55.x
  lt r2.z, r53.x, r2.z
  add r32.y, -r32.w, r55.y
  add r32.y, r32.y, l(1.000000)
  rsq r32.y, r32.y
  mul r32.z, r32.y, l(0.500000)
  mul r61.x, r32.z, r47.z
  rcp r32.y, r32.y
  mul r61.y, r32.y, l(0.500000)
  mad r32.y, r54.z, r2.x, r53.z
  mul r61.z, r32.z, r32.y
  mul r61.w, r32.z, r57.z
  mad r2.x, -r54.y, r2.x, r57.w
  add r2.x, r2.x, l(1.000000)
  rsq r2.x, r2.x
  mul r32.z, r2.x, l(0.500000)
  mul r62.x, r1.w, r32.z
  mul r62.y, r32.z, r32.y
  rcp r1.w, r2.x
  mul r62.z, r1.w, l(0.500000)
  mul r62.w, r32.z, r58.z
  movc r61.xyzw, r2.zzzz, r61.xyzw, r62.xyzw
  movc r59.xyzw, r22.wwww, r59.xyzw, r61.xyzw
  movc r56.xyzw, r25.wwww, r56.xyzw, r59.xyzw
  add r1.w, r30.w, r44.w
  mul r1.w, r1.w, l(6.28318548)
  sincos r2.x, r51.x, r1.w
  mov r1.w, r51.x
  mul r2.x, r2.x, l(-2.000000)
  mad r1.w, r1.w, l(2.000000), l(2.000000)
  sqrt r1.w, r1.w
  mul r2.z, r1.w, l(0.500000)
  add r1.w, r1.w, r1.w
  rcp r1.w, r1.w
  mov r53.y, -r2.z
  mul r53.x, r1.w, r2.x
  dp2 r1.w, r53.xyxx, r53.xyxx
  rsq r1.w, r1.w
  mul r2.xz, r1.wwww, r53.xxyx
  mul r59.xyzw, r2.zzzz, l(0.000000, 0.000000, 0.000000, 1.000000)
  mad r59.xyzw, r2.xxxx, l(1.000000, -0.000000, 0.000000, -0.000000), r59.xyzw
  mul r61.xyzw, r56.xyyx, r59.wwxx
  mul r62.xw, r61.xxxw, l(1.000000, 0.000000, 0.000000, -1.000000)
  mov r62.yz, l(0,-0.000000,0,0)
  mad r62.xyzw, r56.wwww, r59.xyzw, r62.xyzw
  mov r61.xw, r56.yyyy
  mad r61.xyzw, r61.xyzw, l(0.000000, 1.000000, -1.000000, -0.000000), r62.xyzw
  mul r59.yz, r56.zzzz, r59.xxwx
  mov r59.xw, r56.zzzz
  mad r56.xyzw, r59.xyzw, l(-0.000000, 1.000000, 1.000000, -0.000000), r61.xyzw
  movc r56.xyzw, r4.yyyy, r40.yxzw, r56.xyzw
  not r1.w, r1.z
  and r2.x, r0.w, r42.x
  and r1.w, r1.w, r2.x
  dp3 r2.x, r28.yzwy, r28.yzwy
  sqrt r27.w, r2.x
  lt r2.x, r27.w, l(0.010000)
  mov r27.xyz, r28.yzwy
  movc r59.xyzw, r2.xxxx, l(1.000000,0,0,1.000000), r27.xyzw
  div r28.yzw, r59.xxyz, r59.wwww
  movc r59.xyz, r2.xxxx, l(1.000000,0,0,0), r28.yzwy
  mul r28.yzw, r59.yyzx, l(0.000000, 1.000000, 0.000000, 0.000000)
  mad r61.xyz, r59.zxyz, l(0.000000, 1.000000, 0.000000, 0.000000), -r28.yzwy
  dp2 r2.x, r61.xyxx, r61.xyxx
  sqrt r61.w, r2.x
  lt r2.x, r61.w, l(0.000010)
  movc r61.xyzw, r2.xxxx, l(0,1.000000,0,1.000000), r61.xyzw
  div r28.yzw, r61.xxyz, r61.wwww
  movc r61.xyz, r2.xxxx, l(0,1.000000,0,0), r28.yzwy
  dp3 r2.x, r59.xyzx, r59.xyzx
  sqrt r59.w, r2.x
  lt r2.x, r59.w, l(0.000010)
  movc r59.xyzw, r2.xxxx, l(1.000000,0,0,1.000000), r59.xyzw
  div r28.yzw, r59.zzxy, r59.wwww
  movc r28.yzw, r2.xxxx, l(0,0,1.000000,0), r28.yyzw
  mul r32.yzw, r28.yyzw, l(0.000000, 0.000000, 0.000000, 1.000000)
  mad r32.yzw, r28.zzwy, l(0.000000, 1.000000, 0.000000, 0.000000), -r32.yyzw
  dp2 r2.x, r61.xyxx, r61.xyxx
  sqrt r61.w, r2.x
  lt r2.x, r61.w, l(0.000010)
  movc r59.xyzw, r2.xxxx, l(0,1.000000,0,1.000000), r61.xyzw
  div r51.xzw, r59.yyzx, r59.wwww
  movc r51.xzw, r2.xxxx, l(1.000000,0,0,0), r51.xxzw
  mul r53.xyz, r28.yzwy, r51.xzwx
  mad r28.yzw, r28.wwyz, r51.zzwx, -r53.xxyz
  mul r51.xzw, r28.yyzw, r32.yyzw
  mad r32.yzw, r32.wwyz, r28.zzwy, -r51.xxzw
  mul r51.xzw, r28.yyzw, r32.yyzw
  mad r28.yzw, r28.wwyz, r32.zzwy, -r51.xxzw
  mul r51.xzw, r28.yyzw, r32.yyzw
  mad r51.xzw, r32.wwyz, r28.zzwy, -r51.xxzw
  add r2.xz, r28.yywy, r32.zzwz
  add r2.x, r51.w, r2.x
  lt r22.w, l(0.000000), r2.x
  add r2.x, r2.x, l(1.000000)
  rsq r2.x, r2.x
  mul r25.w, r2.x, l(0.500000)
  add r47.yz, r28.zzyz, -r51.zzwz
  mul r59.x, r25.w, r47.y
  add r53.xy, -r32.yzyy, r51.xwxx
  mul r59.y, r25.w, r53.x
  add r54.xy, -r28.wyww, r32.wzww
  mul r59.z, r25.w, r54.x
  rcp r2.x, r2.x
  mul r59.w, r2.x, l(0.500000)
  lt r2.x, r28.y, r32.z
  lt r25.w, r51.w, r32.z
  and r2.x, r2.x, r25.w
  add r25.w, -r51.w, r54.y
  add r25.w, r25.w, l(1.000000)
  rsq r25.w, r25.w
  mul r27.w, r25.w, l(0.500000)
  rcp r25.w, r25.w
  mul r61.x, r25.w, l(0.500000)
  mul r61.y, r2.z, r27.w
  add r25.w, r32.y, r51.x
  mul r61.z, r27.w, r25.w
  mul r61.w, r27.w, r47.y
  lt r27.w, r51.w, r28.y
  add r28.w, -r32.z, r47.z
  add r28.w, r28.w, l(1.000000)
  rsq r28.w, r28.w
  mul r32.y, r28.w, l(0.500000)
  mul r62.x, r2.z, r32.y
  rcp r2.z, r28.w
  mul r62.y, r2.z, l(0.500000)
  add r2.z, r28.z, r51.z
  mul r62.z, r32.y, r2.z
  mul r62.w, r32.y, r53.x
  add r28.y, -r28.y, r53.y
  add r28.y, r28.y, l(1.000000)
  rsq r28.y, r28.y
  mul r28.z, r28.y, l(0.500000)
  mul r63.x, r25.w, r28.z
  mul r63.y, r2.z, r28.z
  rcp r2.z, r28.y
  mul r63.z, r2.z, l(0.500000)
  mul r63.w, r28.z, r54.x
  movc r62.xyzw, r27.wwww, r62.xyzw, r63.xyzw
  movc r61.xyzw, r2.xxxx, r61.xyzw, r62.xyzw
  movc r59.xyzw, r22.wwww, r59.xyzw, r61.xyzw
  movc r56.xyzw, r1.wwww, r59.xyzw, r56.xyzw
  movc r59.xyzw, r1.xxxx, r56.xyzw, r39.xyzw
  dp4 r1.x, r59.xyzw, r56.xyzw
  lt r1.x, l(0.000000), r1.x
  movc r56.xyzw, r1.xxxx, r56.xyzw, -r56.xyzw
  add r61.xyzw, -r56.xyzw, r59.xyzw
  dp4 r1.x, r61.xyzw, r61.xyzw
  add r61.xyzw, r56.xyzw, r59.xyzw
  dp4 r1.w, r61.xyzw, r61.xyzw
  sqrt r1.xw, r1.xxxw
  min r2.x, r1.w, r1.x
  max r2.z, r1.w, r1.x
  div r2.z, l(1.000000, 1.000000, 1.000000, 1.000000), r2.z
  mul r2.x, r2.z, r2.x
  mul r2.z, r2.x, r2.x
  mad r22.w, r2.z, l(0.0208350997), l(-0.085133)
  mad r22.w, r2.z, r22.w, l(0.180141)
  mad r22.w, r2.z, r22.w, l(-0.330299497)
  mad r2.z, r2.z, r22.w, l(0.999866)
  mul r22.w, r2.z, r2.x
  lt r1.x, r1.w, r1.x
  mad r1.w, r22.w, l(-2.000000), l(1.57079637)
  and r1.x, r1.x, r1.w
  mad r1.x, r2.x, r2.z, r1.x
  add r1.x, r1.x, r1.x
  add r1.w, -r2.y, l(1.000000)
  mul r2.x, r1.w, r1.x
  mul r2.z, r2.x, r2.x
  lt r2.z, r2.z, l(0.000001)
  sincos r22.w, null, r2.x
  div r2.x, r22.w, r2.x
  movc r2.x, r2.z, l(1.000000), r2.x
  mul r2.z, r1.x, r1.x
  lt r2.z, r2.z, l(0.000001)
  sincos r22.w, null, r1.x
  div r22.w, r22.w, r1.x
  movc r2.z, r2.z, l(1.000000), r22.w
  div r2.x, r2.x, r2.z
  mul r1.w, r1.w, r2.x
  mul r1.x, r2.y, r1.x
  mul r2.x, r1.x, r1.x
  lt r2.x, r2.x, l(0.000001)
  sincos r22.w, null, r1.x
  div r1.x, r22.w, r1.x
  movc r1.x, r2.x, l(1.000000), r1.x
  div r1.x, r1.x, r2.z
  mul r1.x, r2.y, r1.x
  mul r56.xyzw, r1.xxxx, r56.xyzw
  mad r56.xyzw, r1.wwww, r59.xyzw, r56.xyzw
  dp4 r1.x, r56.xyzw, r56.xyzw
  rsq r1.x, r1.x
  mul r40.xyzw, r1.xxxx, r56.yxzw
  ieq r56.xyzw, r5.wwww, l(0, 7, 6, 1)
  and r2.xyz, r56.xyzx, r60.wzyw
  or r1.x, r2.y, r2.x
  or r1.x, r2.z, r1.x
  and r5.x, r1.y, r1.x
  ine r1.x, r5.w, r17.w
  or r1.x, r5.x, r1.x
  movc r48.x, r1.x, r51.y, r48.x
  movc r1.xyw, r5.wwww, l(0,0,0,0), l(205.000000,1.000000,0,0.147059)
  movc r1.xyw, r56.wwww, l(49.000000,206.000000,0,0.625000), r1.xyxw
  ieq r59.xyzw, r5.wwww, l(2, 3, 4, 5)
  movc r1.xyw, r59.xxxx, l(20.000000,255.000000,0,1.578950), r1.xyxw
  movc r1.xyw, r59.yyyy, l(41.000000,275.000000,0,0.750000), r1.xyxw
  movc r1.xyw, r59.zzzz, l(42.000000,316.000000,0,0.731707), r1.xyxw
  movc r1.xyw, r59.wwww, l(42.000000,358.000000,0,0.731707), r1.xyxw
  movc r1.xyw, r56.zzzz, l(78.000000,400.000000,0,0.389610), r1.xyxw
  movc r23.xyz, r56.yyyy, l(50.000000,478.000000,0.612245,0), r1.xywx
  add r20.w, -r48.x, r51.y
  ge r1.x, r30.x, l(1.000000)
  or r1.x, r4.x, r1.x
  or r4.x, r0.w, r1.x
  add r0.w, r58.y, l(-100.000000)
  add r0.w, -r0.w, r58.x
  mul_sat r0.w, r0.w, l(0.010000)
  add r0.w, -r0.w, l(1.000000)
  movc r23.w, r4.x, l(1.000000), r0.w
  movc r10.x, r4.x, l(0), l(4)
  mov r3.zw, l(0,0,0.520833,0.520833)
  mov r11.xyz, |r11.xyzx|
  mov r4.w, l(1.000000)
  mov r6.xyzw, l(0.520833,1.000000,2.000000,2.000000)
  mov r11.w, l(1.000000)
  mov r9.w, l(2.000000)
  mov r12.w, l(2.000000)
  mov r15.w, l(1.000000)
  mov r24.x, r22.z
  mov r0.w, r5.w
  mov r29.xyzw, r26.yzwx
  mov r21.w, l(0)
  mov r30.x, r23.w
  mov r4.z, r1.z
  mov r1.xyz, r46.xyzx
  mov r8.xy, r24.yzyy
  mov r42.z, r24.w
  mov r42.w, r52.x
  mov r16.z, r52.y
  mov r48.y, l(0)
  mov r8.z, r17.w
  mov r52.xy, r0.yzyy
  mov r39.xyzw, r40.yxzw
  mov r43.x, r52.z
else
  mov r0.w, r17.w
  mov r1.xyz, r24.yzwy
  mov r0.x, r52.z
endif
and r0.y, r49.w, l(1)
store_structured g0.x, vThreadIDInGroup.x, l(0), r0.y
sync_g_t
and r2.xy, vThreadIDInGroup.xxxx, l(3, 15, 0, 0)
if_z r2.x
  iadd r24.yzw, vThreadIDInGroup.xxxx, l(0, 1, 2, 3)
  ld_structured r0.z, r24.y, l(0), g0.xxxx
  iadd r0.z, r0.z, r0.y
  ld_structured r1.w, r24.z, l(0), g0.xxxx
  iadd r1.w, r0.z, r1.w
  ld_structured r2.x, r24.w, l(0), g0.xxxx
  iadd r2.x, r1.w, r2.x
  store_structured g0.x, vThreadIDInGroup.x, l(0), l(0)
  store_structured g0.x, r24.y, l(0), r0.y
  store_structured g0.x, r24.z, l(0), r0.z
  store_structured g0.x, r24.w, l(0), r1.w
  ushr r0.y, vThreadIDInGroup.x, l(2)
  store_structured g1.x, r0.y, l(0), r2.x
endif
sync_g_t
if_z r2.y
  ushr r0.y, vThreadIDInGroup.x, l(2)
  ld_structured r0.z, r0.y, l(0), g1.xxxx
  iadd r2.xyz, r0.yyyy, l(1, 2, 3, 0)
  ld_structured r1.w, r2.x, l(0), g1.xxxx
  iadd r1.w, r0.z, r1.w
  ld_structured r17.w, r2.y, l(0), g1.xxxx
  iadd r17.w, r1.w, r17.w
  ld_structured r22.z, r2.z, l(0), g1.xxxx
  iadd r22.z, r17.w, r22.z
  store_structured g1.x, r0.y, l(0), l(0)
  store_structured g1.x, r2.x, l(0), r0.z
  store_structured g1.x, r2.y, l(0), r1.w
  store_structured g1.x, r2.z, l(0), r17.w
  ushr r0.y, r0.y, l(2)
  store_structured g2.x, r0.y, l(0), r22.z
endif
sync_g_t
if_z vThreadIDInGroup.x
  ld_structured r0.y, l(0), l(0), g2.xxxx
  ld_structured r0.z, l(1), l(0), g2.xxxx
  iadd r0.z, r0.z, r0.y
  ld_structured r1.w, l(2), l(0), g2.xxxx
  iadd r1.w, r0.z, r1.w
  ld_structured r2.x, l(3), l(0), g2.xxxx
  iadd r2.x, r1.w, r2.x
  store_structured g2.x, l(0), l(0), l(0)
  store_structured g2.x, l(1), l(0), r0.y
  store_structured g2.x, l(2), l(0), r0.z
  store_structured g2.x, l(3), l(0), r1.w
  imm_atomic_iadd r51.x, u2, cb0[22].y, r2.x
  store_raw g3.x, l(0), r51.x
endif
sync_g_t
ld_raw r0.y, l(0), g3.xxxx
ushr r2.xy, vThreadIDInGroup.xxxx, l(4, 2, 0, 0)
ld_structured r0.z, r2.x, l(0), g2.xxxx
iadd r0.y, r0.z, r0.y
ld_structured r0.z, r2.y, l(0), g1.xxxx
iadd r0.y, r0.z, r0.y
ld_structured r0.z, vThreadIDInGroup.x, l(0), g0.xxxx
iadd r0.y, r0.z, r0.y
movc r0.z, r49.w, r5.y, l(-1)
store_uav_typed u3.xyzw, r0.zzzz, r0.yyyy
if_nz r49.w
  iadd r2.xy, r0.yyyy, cb0[20].ywyy
  store_uav_typed u1.xyzw, r2.xxxx, r2.wwww
  iadd r0.z, r2.y, cb0[20].y
  store_uav_typed u1.xyzw, r0.zzzz, r3.yyyy
  ishl r51.xyzw, cb0[20].wwww, l(1, 2, 3, 4)
  iadd r51.xyzw, r0.yyyy, r51.xyzw
  iadd r51.xyzw, r51.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r51.xxxx, r3.zzzz
  imad r56.xyzw, l(3, 5, 6, 7), cb0[20].wwww, r0.yyyy
  iadd r56.xyzw, r56.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r56.xxxx, r3.wwww
  store_uav_typed u1.xyzw, r51.yyyy, r6.xxxx
  store_uav_typed u1.xyzw, r56.yyyy, r6.yyyy
  store_uav_typed u1.xyzw, r56.zzzz, r7.xxxx
  store_uav_typed u1.xyzw, r56.wwww, r7.yyyy
  store_uav_typed u1.xyzw, r51.zzzz, r7.zzzz
  imad r58.xyzw, l(9, 10, 11, 12), cb0[20].wwww, r0.yyyy
  iadd r58.xyzw, r58.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r58.xxxx, r9.xxxx
  store_uav_typed u1.xyzw, r58.yyyy, r9.yyyy
  store_uav_typed u1.xyzw, r58.zzzz, r9.zzzz
  store_uav_typed u1.xyzw, r58.wwww, r6.zzzz
  imad r59.xyzw, l(13, 14, 15, 17), cb0[20].wwww, r0.yyyy
  iadd r59.xyzw, r59.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r59.xxxx, r7.wwww
  store_uav_typed u1.xyzw, r59.yyyy, r11.xxxx
  store_uav_typed u1.xyzw, r59.zzzz, r11.yyyy
  store_uav_typed u1.xyzw, r51.wwww, r11.zzzz
  store_uav_typed u1.xyzw, r59.wwww, r4.wwww
  imad r7.xyzw, l(18, 19, 20, 21), cb0[20].wwww, r0.yyyy
  iadd r7.xyzw, r7.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r7.xxxx, r13.xxxx
  store_uav_typed u1.xyzw, r7.yyyy, r13.yyyy
  store_uav_typed u1.xyzw, r7.zzzz, r13.zzzz
  store_uav_typed u1.xyzw, r7.wwww, r10.yyyy
  imad r7.xyzw, l(22, 23, 24, 25), cb0[20].wwww, r0.yyyy
  iadd r7.xyzw, r7.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r7.xxxx, r10.zzzz
  store_uav_typed u1.xyzw, r7.yyyy, r10.wwww
  store_uav_typed u1.xyzw, r7.zzzz, r6.wwww
  store_uav_typed u1.xyzw, r7.wwww, r13.wwww
  imad r6.xyzw, l(26, 27, 28, 29), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r14.xxxx
  store_uav_typed u1.xyzw, r6.yyyy, r14.yyyy
  store_uav_typed u1.xyzw, r6.zzzz, r14.zzzz
  store_uav_typed u1.xyzw, r6.wwww, r12.xxxx
  imad r6.xyzw, l(30, 31, 33, 34), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r12.yyyy
  store_uav_typed u1.xyzw, r6.yyyy, r12.zzzz
  ishl r2.yzw, cb0[20].wwww, l(0, 5, 6, 7)
  iadd r2.yzw, r0.yyyy, r2.yyzw
  iadd r2.yzw, r2.yyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r2.yyyy, r9.wwww
  store_uav_typed u1.xyzw, r6.zzzz, r14.wwww
  store_uav_typed u1.xyzw, r6.wwww, r15.xxxx
  imad r6.xyzw, l(35, 36, 37, 38), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r15.yyyy
  store_uav_typed u1.xyzw, r6.yyyy, r15.zzzz
  store_uav_typed u1.xyzw, r6.zzzz, r11.wwww
  store_uav_typed u1.xyzw, r6.wwww, r17.xxxx
  imad r6.xyzw, l(39, 40, 41, 42), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r17.yyyy
  store_uav_typed u1.xyzw, r6.yyyy, r17.zzzz
  store_uav_typed u1.xyzw, r6.zzzz, r18.xxxx
  store_uav_typed u1.xyzw, r6.wwww, r18.yyyy
  imad r6.xyzw, l(43, 44, 45, 46), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r18.zzzz
  store_uav_typed u1.xyzw, r6.yyyy, r16.xxxx
  store_uav_typed u1.xyzw, r6.zzzz, r16.wwww
  store_uav_typed u1.xyzw, r6.wwww, r19.xxxx
  imad r6.xyzw, l(47, 48, 49, 50), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r19.yyyy
  store_uav_typed u1.xyzw, r6.yyyy, r19.zzzz
  store_uav_typed u1.xyzw, r6.zzzz, r20.xxxx
  store_uav_typed u1.xyzw, r6.wwww, r20.yyyy
  imad r6.xyzw, l(51, 52, 53, 54), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r20.zzzz
  store_uav_typed u1.xyzw, r6.yyyy, r12.wwww
  store_uav_typed u1.xyzw, r6.zzzz, r19.wwww
  store_uav_typed u1.xyzw, r6.wwww, r21.xxxx
  imad r6.xyzw, l(55, 56, 57, 58), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r21.yyyy
  store_uav_typed u1.xyzw, r6.yyyy, r21.zzzz
  store_uav_typed u1.xyzw, r6.zzzz, r15.wwww
  store_uav_typed u1.xyzw, r6.wwww, r22.xxxx
  imad r6.xyzw, l(59, 60, 61, 62), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r22.yyyy
  store_uav_typed u1.xyzw, r6.yyyy, r24.xxxx
  store_uav_typed u1.xyzw, r6.zzzz, r25.xxxx
  store_uav_typed u1.xyzw, r6.wwww, r25.yyyy
  imad r6.xyzw, l(63, 65, 66, 67), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r25.zzzz
  store_uav_typed u1.xyzw, r2.zzzz, r16.yyyy
  store_uav_typed u1.xyzw, r6.yyyy, r26.yyyy
  store_uav_typed u1.xyzw, r6.zzzz, r26.zzzz
  store_uav_typed u1.xyzw, r6.wwww, r26.wwww
  imad r6.xyzw, l(68, 69, 70, 71), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r26.xxxx
  store_uav_typed u0.xyzw, r2.xxxx, r0.wwww
  store_uav_typed u1.xyzw, r6.yyyy, r27.xxxx
  store_uav_typed u1.xyzw, r6.zzzz, r27.yyyy
  store_uav_typed u1.xyzw, r6.wwww, r27.zzzz
  imad r6.xyzw, l(72, 73, 74, 75), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r28.xxxx
  store_uav_typed u1.xyzw, r6.yyyy, r29.xxxx
  store_uav_typed u1.xyzw, r6.zzzz, r29.yyyy
  store_uav_typed u1.xyzw, r6.wwww, r29.zzzz
  imad r6.xyzw, l(76, 77, 78, 79), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r29.wwww
  store_uav_typed u1.xyzw, r6.yyyy, r18.wwww
  store_uav_typed u1.xyzw, r6.zzzz, r23.xxxx
  store_uav_typed u1.xyzw, r6.wwww, r23.yyyy
  imad r6.xyzw, l(80, 81, 82, 83), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r23.zzzz
  store_uav_typed u1.xyzw, r6.yyyy, r20.wwww
  store_uav_typed u1.xyzw, r6.zzzz, r21.wwww
  store_uav_typed u1.xyzw, r6.wwww, r23.wwww
  imad r6.xyzw, l(84, 85, 86, 87), cb0[20].wwww, r0.yyyy
  iadd r6.xyzw, r6.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r6.xxxx, r31.xxxx
  store_uav_typed u1.xyzw, r6.yyyy, r31.yyyy
  store_uav_typed u0.xyzw, r0.zzzz, r3.xxxx
  store_uav_typed u1.xyzw, r6.zzzz, r30.xxxx
  store_uav_typed u0.xyzw, r51.xxxx, r4.xxxx
  store_uav_typed u1.xyzw, r6.wwww, r30.yyyy
  imad r3.xyzw, l(88, 89, 90, 91), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r30.zzzz
  store_uav_typed u1.xyzw, r3.yyyy, r33.xxxx
  store_uav_typed u1.xyzw, r3.zzzz, r33.yyyy
  store_uav_typed u1.xyzw, r3.wwww, r32.xxxx
  imad r3.xyzw, l(92, 93, 94, 95), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r35.xxxx
  store_uav_typed u1.xyzw, r3.yyyy, r35.yyyy
  store_uav_typed u1.xyzw, r3.zzzz, r35.zzzz
  store_uav_typed u1.xyzw, r3.wwww, r30.wwww
  imad r3.xyzw, l(96, 97, 98, 99), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r36.xxxx
  store_uav_typed u1.xyzw, r3.yyyy, r36.yyyy
  store_uav_typed u1.xyzw, r3.zzzz, r36.zzzz
  store_uav_typed u1.xyzw, r3.wwww, r34.xxxx
  imad r3.xyzw, l(100, 101, 102, 103), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r34.yyyy
  store_uav_typed u1.xyzw, r3.yyyy, r34.zzzz
  store_uav_typed u0.xyzw, r56.xxxx, r5.xxxx
  store_uav_typed u0.xyzw, r51.yyyy, r4.yyyy
  store_uav_typed u0.xyzw, r56.yyyy, r5.yyyy
  store_uav_typed u0.xyzw, r56.zzzz, r5.zzzz
  store_uav_typed u1.xyzw, r3.zzzz, r37.xxxx
  store_uav_typed u1.xyzw, r3.wwww, r37.yyyy
  imad r3.xyzw, l(104, 105, 106, 107), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r37.zzzz
  store_uav_typed u1.xyzw, r3.yyyy, r31.zzzz
  store_uav_typed u1.xyzw, r3.zzzz, r39.xxxx
  store_uav_typed u1.xyzw, r3.wwww, r39.yyyy
  imad r3.xyzw, l(108, 109, 110, 111), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r39.zzzz
  store_uav_typed u1.xyzw, r3.yyyy, r39.wwww
  store_uav_typed u1.xyzw, r3.zzzz, r31.wwww
  store_uav_typed u1.xyzw, r3.wwww, r33.wwww
  imad r3.xyzw, l(112, 113, 114, 115), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r40.yyyy
  store_uav_typed u1.xyzw, r3.yyyy, r40.xxxx
  store_uav_typed u1.xyzw, r3.zzzz, r40.zzzz
  store_uav_typed u1.xyzw, r3.wwww, r40.wwww
  store_uav_typed u0.xyzw, r56.wwww, r5.wwww
  imad r3.xyzw, l(116, 117, 118, 119), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r37.wwww
  store_uav_typed u1.xyzw, r3.yyyy, r38.xxxx
  store_uav_typed u0.xyzw, r51.zzzz, r4.zzzz
  store_uav_typed u0.xyzw, r58.xxxx, r42.xxxx
  store_uav_typed u0.xyzw, r58.yyyy, r42.yyyy
  store_uav_typed u1.xyzw, r3.zzzz, r1.xxxx
  store_uav_typed u1.xyzw, r3.wwww, r1.yyyy
  imad r3.xyzw, l(120, 121, 122, 123), cb0[20].wwww, r0.yyyy
  iadd r3.xyzw, r3.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r3.xxxx, r1.zzzz
  store_uav_typed u1.xyzw, r3.yyyy, r44.xxxx
  store_uav_typed u1.xyzw, r3.zzzz, r44.yyyy
  store_uav_typed u1.xyzw, r3.wwww, r44.zzzz
  imad r1.xyzw, l(124, 125, 126, 127), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r8.xxxx
  store_uav_typed u1.xyzw, r1.yyyy, r8.yyyy
  store_uav_typed u1.xyzw, r1.zzzz, r42.zzzz
  store_uav_typed u1.xyzw, r1.wwww, r42.wwww
  store_uav_typed u1.xyzw, r2.wwww, r16.zzzz
  imad r1.xyzw, l(129, 130, 131, 132), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r43.xxxx
  store_uav_typed u1.xyzw, r1.yyyy, r41.xxxx
  store_uav_typed u1.xyzw, r1.zzzz, r41.yyyy
  store_uav_typed u1.xyzw, r1.wwww, r41.zzzz
  imad r1.xyzw, l(133, 134, 135, 136), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r41.wwww
  store_uav_typed u1.xyzw, r1.yyyy, r38.yyyy
  store_uav_typed u1.xyzw, r1.zzzz, r38.zzzz
  store_uav_typed u1.xyzw, r1.wwww, r38.wwww
  imad r1.xyzw, l(137, 138, 139, 140), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r43.yyyy
  store_uav_typed u1.xyzw, r1.yyyy, r43.zzzz
  store_uav_typed u1.xyzw, r1.zzzz, r55.wwww
  store_uav_typed u1.xyzw, r1.wwww, r43.wwww
  imad r1.xyzw, l(141, 142, 143, 144), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r53.wwww
  store_uav_typed u1.xyzw, r1.yyyy, r54.wwww
  store_uav_typed u1.xyzw, r1.zzzz, r48.zzzz
  store_uav_typed u1.xyzw, r1.wwww, r57.xxxx
  imad r1.xyzw, l(145, 146, 147, 148), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r57.yyyy
  store_uav_typed u0.xyzw, r58.zzzz, r8.zzzz
  store_uav_typed u1.xyzw, r1.yyyy, r45.yyyy
  store_uav_typed u1.xyzw, r1.zzzz, r45.zzzz
  store_uav_typed u1.xyzw, r1.wwww, r45.xxxx
  imad r1.xyzw, l(149, 150, 151, 152), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r46.xxxx
  store_uav_typed u1.xyzw, r1.yyyy, r46.yyyy
  store_uav_typed u1.xyzw, r1.zzzz, r46.zzzz
  store_uav_typed u1.xyzw, r1.wwww, r47.xxxx
  imad r1.xyzw, l(153, 154, 155, 156), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r49.xxxx
  store_uav_typed u1.xyzw, r1.yyyy, r49.yyyy
  store_uav_typed u1.xyzw, r1.zzzz, r49.zzzz
  store_uav_typed u1.xyzw, r1.wwww, r44.wwww
  imad r1.xyzw, l(157, 158, 159, 160), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r46.wwww
  store_uav_typed u1.xyzw, r1.yyyy, r47.wwww
  store_uav_typed u1.xyzw, r1.zzzz, r48.xxxx
  store_uav_typed u1.xyzw, r1.wwww, r50.xxxx
  imad r1.xyzw, l(161, 162, 163, 164), cb0[20].wwww, r0.yyyy
  iadd r1.xyzw, r1.xyzw, cb0[20].yyyy
  store_uav_typed u1.xyzw, r1.xxxx, r50.yyyy
  store_uav_typed u1.xyzw, r1.yyyy, r48.yyyy
  store_uav_typed u1.xyzw, r1.zzzz, r50.wwww
  store_uav_typed u0.xyzw, r58.wwww, r8.wwww
  store_uav_typed u1.xyzw, r1.wwww, r52.xxxx
  imad r0.yz, l(0, 165, 166, 0), cb0[20].wwww, r0.yyyy
  iadd r0.yz, r0.yyzy, cb0[20].yyyy
  store_uav_typed u1.xyzw, r0.yyyy, r52.yyyy
  store_uav_typed u1.xyzw, r0.zzzz, r0.xxxx
  store_uav_typed u0.xyzw, r59.xxxx, r10.xxxx
endif
ret
// Approximately 0 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.164 on Sat May 23 17:50:05 2026
// groupshared struct { float val[1]; } g2[4];
// groupshared struct { float val[1]; } g1[16];
// groupshared struct { float val[1]; } g0[64];
// Buffer<float4> t10 : register(t10);
//
// Texture3D<float4> t9 : register(t9);
//
// Buffer<float4> t8 : register(t8);
//
// Buffer<float4> t7 : register(t7);
//
// Buffer<sint4> t6 : register(t6);
//
// Buffer<sint4> t5 : register(t5);
//
// Buffer<float4> t4 : register(t4);
//
// Texture3D<float4> t3 : register(t3);
//
// Texture3D<float4> t2 : register(t2);
//
// Texture3D<float4> t1 : register(t1);
//
// Texture3D<float4> t0 : register(t0);
//
// SamplerState s1_s : register(s1);
//
// SamplerState s0_s : register(s0);
//
// cbuffer cb7 : register(b7)
// {
//   float4 cb7[2];
// }
//
// cbuffer cb6 : register(b6)
// {
//   float4 cb6[26];
// }
//
// cbuffer cb5 : register(b5)
// {
//   float4 cb5[1];
// }
//
// cbuffer cb4 : register(b4)
// {
//   float4 cb4[7];
// }
//
// cbuffer cb3 : register(b3)
// {
//   float4 cb3[2];
// }
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[31];
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[1];
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[35];
// }
//
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main)
// {
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_uav_typed_buffer (sint,sint,sint,sint) u0
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_uav_typed_buffer (float,float,float,float) u1
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_uav_typed_buffer (uint,uint,uint,uint) u2
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_uav_typed_buffer (sint,sint,sint,sint) u3
//   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18,r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30,r31,r32,r33,r34,r35,r36,r37,r38,r39,r40,r41,r42,r43,r44,r45,r46,r47,r48,r49,r50,r51,r52,r53,r54,r55,r56,r57,r58,r59,r60,r61,r62,r63,r64,r65,r66,r67,r68,r69,r70,r71,r72,r73;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_tgsm_raw g3, 4
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_thread_group 64, 1, 1
//   r0.y = mad((int)vThreadID.y, asint(cb0[9].z), (int)vThreadID.x);
//   r1.x = (int)r0.y + asint(cb0[20].y);
//   r1.y = cmp(asint(cb0[22].x) == -1);
// // No code for instruction (needs manual fix):
// ld_uav_typed_indexable(buffer)(uint,uint,uint,uint) r1.z, cb0[22].xxxx, u2.yzxw
//   r2.x = r1.y ? 0 : r1.z;
//   r1.y = cmp(asint(cb0[23].x) == -1);
// // No code for instruction (needs manual fix):
// ld_uav_typed_indexable(buffer)(uint,uint,uint,uint) r1.z, cb0[23].xxxx, u2.yzxw
//   r3.x = r1.y ? cb0[23].y : r1.z;
//   r1.y = cmp(0 < (int)r3.x);
//   r1.z = cmp((uint)r1.x < (uint)r3.x);
//   r1.w = cmp(asint(cb0[21].w) != 1);
//   r3.y = r1.w ? r1.z : 0;
//   r1.w = cmp(asint(cb0[21].w) == 1);
//   r3.z = r1.w ? r1.z : 0;
//   r1.z = (int)r2.x + asint(cb0[20].x);
//   r1.w = cmp((uint)r1.x < (uint)r2.x);
//   r1.z = (int)r1.z + asint(cb0[20].y);
//   r1.z = cmp((uint)r1.x < (uint)r1.z);
//   r2.y = r1.z ? r1.w : 0;
//   r1.w = cmp((uint)r1.x >= (uint)r2.x);
//   r2.z = r1.z ? r1.w : 0;
//   r2.xyz = r1.yyy ? r3.xyz : r2.xyz;
//   if (r2.y != 0) {
//     r1.z = cmp(asint(cb4[2].y) != 0);
//     r1.w = cmp(asint(cb4[4].w) != 0);
//     r2.w = t4.Load(r1.x).x;
//     r3.x = (int)r1.x + asint(cb0[20].z);
//     r3.y = t4.Load(r3.x).x;
//     r4.xyzw = asuint(cb0[20].zzzz) << int4(1,2,3,4);
//     r4.xyzw = (int4)r1.xxxx + (int4)r4.xyzw;
//     r3.z = t4.Load(r4.x).x;
//     r5.xyzw = mad(int4(3,5,6,7), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r3.w = t4.Load(r5.x).x;
//     r6.x = t4.Load(r4.y).x;
//     r6.y = t4.Load(r5.y).x;
//     r7.x = t4.Load(r5.z).x;
//     r7.y = t4.Load(r5.w).x;
//     r7.z = t4.Load(r4.z).x;
//     r8.xyzw = mad(int4(9,10,11,12), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r9.x = t4.Load(r8.x).x;
//     r9.y = t4.Load(r8.y).x;
//     r9.z = t4.Load(r8.z).x;
//     r6.z = t4.Load(r8.w).x;
//     r10.xyzw = mad(int4(13,14,15,17), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r7.w = t4.Load(r10.x).x;
//     r11.x = t4.Load(r10.y).x;
//     r11.y = t4.Load(r10.z).x;
//     r11.z = t4.Load(r4.w).x;
//     r4.w = t4.Load(r10.w).x;
//     r12.xyzw = mad(int4(18,19,20,21), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r13.x = t4.Load(r12.x).x;
//     r13.y = t4.Load(r12.y).x;
//     r13.z = t4.Load(r12.z).x;
//     r10.y = t4.Load(r12.w).x;
//     r12.xyzw = mad(int4(22,23,24,25), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r10.z = t4.Load(r12.x).x;
//     r10.w = t4.Load(r12.y).x;
//     r6.w = t4.Load(r12.z).x;
//     r13.w = t4.Load(r12.w).x;
//     r12.xyzw = mad(int4(26,27,28,29), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r14.x = t4.Load(r12.x).x;
//     r14.y = t4.Load(r12.y).x;
//     r14.z = t4.Load(r12.z).x;
//     r12.x = t4.Load(r12.w).x;
//     r15.xyzw = mad(int4(30,31,33,34), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r12.y = t4.Load(r15.x).x;
//     r12.z = t4.Load(r15.y).x;
//     r16.xyz = asuint(cb0[20].zzz) << int3(5,6,7);
//     r16.xyz = (int3)r1.xxx + (int3)r16.xyz;
//     r9.w = t4.Load(r16.x).x;
//     r14.w = t4.Load(r15.z).x;
//     r15.x = t4.Load(r15.w).x;
//     r17.xyzw = mad(int4(35,36,37,38), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r15.y = t4.Load(r17.x).x;
//     r15.z = t4.Load(r17.y).x;
//     r11.w = t4.Load(r17.z).x;
//     r17.x = t4.Load(r17.w).x;
//     r18.xyzw = mad(int4(39,40,41,42), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r17.y = t4.Load(r18.x).x;
//     r17.z = t4.Load(r18.y).x;
//     r18.x = t4.Load(r18.z).x;
//     r18.y = t4.Load(r18.w).x;
//     r19.xyzw = mad(int4(43,44,45,46), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r18.z = t4.Load(r19.x).x;
//     r16.x = t4.Load(r19.y).x;
//     r16.w = t4.Load(r19.z).x;
//     r19.x = t4.Load(r19.w).x;
//     r20.xyzw = mad(int4(47,48,49,50), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r19.y = t4.Load(r20.x).x;
//     r19.z = t4.Load(r20.y).x;
//     r20.x = t4.Load(r20.z).x;
//     r20.y = t4.Load(r20.w).x;
//     r21.xyzw = mad(int4(51,52,53,54), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r20.z = t4.Load(r21.x).x;
//     r12.w = t4.Load(r21.y).x;
//     r19.w = t4.Load(r21.z).x;
//     r21.x = t4.Load(r21.w).x;
//     r22.xyzw = mad(int4(55,56,57,58), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r21.y = t4.Load(r22.x).x;
//     r21.z = t4.Load(r22.y).x;
//     r15.w = t4.Load(r22.z).x;
//     r22.x = t4.Load(r22.w).x;
//     r23.xyzw = mad(int4(59,60,61,62), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r22.y = t4.Load(r23.x).x;
//     r24.x = t4.Load(r23.y).x;
//     r25.x = t4.Load(r23.z).x;
//     r25.y = t4.Load(r23.w).x;
//     r23.xyzw = mad(int4(63,65,66,67), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r25.z = t4.Load(r23.x).x;
//     r16.y = t4.Load(r16.y).x;
//     r26.y = t4.Load(r23.y).x;
//     r26.z = t4.Load(r23.z).x;
//     r26.w = t4.Load(r23.w).x;
//     r23.xyzw = mad(int4(68,69,70,71), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r26.x = t4.Load(r23.x).x;
//     r17.w = t5.Load(r1.x).x;
//     r27.x = t4.Load(r23.y).x;
//     r27.y = t4.Load(r23.z).x;
//     r27.z = t4.Load(r23.w).x;
//     r23.xyzw = mad(int4(72,73,74,75), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r28.x = t4.Load(r23.x).x;
//     r29.x = t4.Load(r23.y).x;
//     r29.y = t4.Load(r23.z).x;
//     r29.z = t4.Load(r23.w).x;
//     r23.xyzw = mad(int4(76,77,78,79), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r29.w = t4.Load(r23.x).x;
//     r18.w = t4.Load(r23.y).x;
//     r23.x = t4.Load(r23.z).x;
//     r23.y = t4.Load(r23.w).x;
//     r30.xyzw = mad(int4(80,81,82,83), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r23.z = t4.Load(r30.x).x;
//     r20.w = t4.Load(r30.y).x;
//     r21.w = t4.Load(r30.z).x;
//     r23.w = t4.Load(r30.w).x;
//     r30.xyzw = mad(int4(84,85,86,87), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r31.x = t4.Load(r30.x).x;
//     r31.y = t4.Load(r30.y).x;
//     r3.x = t5.Load(r3.x).x;
//     r3.x = cmp((int)r3.x == -1);
//     r30.x = t4.Load(r30.z).x;
//     r4.x = t5.Load(r4.x).x;
//     r4.x = cmp((int)r4.x == -1);
//     r30.y = t4.Load(r30.w).x;
//     r32.xyzw = mad(int4(88,89,90,91), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r30.z = t4.Load(r32.x).x;
//     r33.x = t4.Load(r32.y).x;
//     r33.y = t4.Load(r32.z).x;
//     r32.x = t4.Load(r32.w).x;
//     r34.xyzw = mad(int4(92,93,94,95), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r35.x = t4.Load(r34.x).x;
//     r35.y = t4.Load(r34.y).x;
//     r35.z = t4.Load(r34.z).x;
//     r30.w = t4.Load(r34.w).x;
//     r34.xyzw = mad(int4(96,97,98,99), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r36.x = t4.Load(r34.x).x;
//     r36.y = t4.Load(r34.y).x;
//     r36.z = t4.Load(r34.z).x;
//     r34.x = t4.Load(r34.w).x;
//     r37.xyzw = mad(int4(100,101,102,103), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r34.y = t4.Load(r37.x).x;
//     r34.z = t4.Load(r37.y).x;
//     r5.x = t5.Load(r5.x).x;
//     r5.x = cmp((int)r5.x == -1);
//     r4.y = t5.Load(r4.y).x;
//     r4.y = cmp((int)r4.y == -1);
//     r5.y = t5.Load(r5.y).x;
//     r5.z = t5.Load(r5.z).x;
//     r37.x = t4.Load(r37.z).x;
//     r37.y = t4.Load(r37.w).x;
//     r38.xyzw = mad(int4(104,105,106,107), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r37.z = t4.Load(r38.x).x;
//     r31.z = t4.Load(r38.y).x;
//     r39.x = t4.Load(r38.z).x;
//     r39.y = t4.Load(r38.w).x;
//     r38.xyzw = mad(int4(108,109,110,111), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r39.z = t4.Load(r38.x).x;
//     r39.w = t4.Load(r38.y).x;
//     r31.w = t4.Load(r38.z).x;
//     r33.w = t4.Load(r38.w).x;
//     r38.xyzw = mad(int4(112,113,114,115), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r40.y = t4.Load(r38.x).x;
//     r41.y = t4.Load(r38.y).x;
//     r41.z = t4.Load(r38.z).x;
//     r41.w = t4.Load(r38.w).x;
//     r5.w = t5.Load(r5.w).x;
//     r38.xyzw = mad(int4(116,117,118,119), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r37.w = t4.Load(r38.x).x;
//     r38.x = t4.Load(r38.y).x;
//     r4.z = t5.Load(r4.z).x;
//     r4.z = cmp((int)r4.z == -1);
//     r8.x = t5.Load(r8.x).x;
//     r42.x = cmp((int)r8.x == -1);
//     r8.x = t5.Load(r8.y).x;
//     r42.y = cmp((int)r8.x == -1);
//     r24.y = t4.Load(r38.z).x;
//     r38.z = t4.Load(r38.w).x;
//     r43.xyzw = mad(int4(120,121,122,123), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r38.w = t4.Load(r43.x).x;
//     r44.x = t4.Load(r43.y).x;
//     r44.y = t4.Load(r43.z).x;
//     r44.z = t4.Load(r43.w).x;
//     r43.xyzw = mad(int4(124,125,126,127), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r8.x = t4.Load(r43.x).x;
//     r8.y = t4.Load(r43.y).x;
//     r42.z = t4.Load(r43.z).x;
//     r42.w = t4.Load(r43.w).x;
//     r16.z = t4.Load(r16.z).x;
//     r43.xyzw = mad(int4(129,146,147,148), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r43.x = t4.Load(r43.x).x;
//     r8.z = t5.Load(r8.z).x;
//     r45.y = t4.Load(r43.y).x;
//     r45.z = t4.Load(r43.z).x;
//     r45.x = t4.Load(r43.w).x;
//     r46.xyzw = mad(int4(149,150,151,152), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r43.y = t4.Load(r46.x).x;
//     r43.z = t4.Load(r46.y).x;
//     r46.z = t4.Load(r46.z).x;
//     r47.x = t4.Load(r46.w).x;
//     r48.xyzw = mad(int4(153,154,155,156), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r43.w = t4.Load(r48.x).x;
//     r49.y = t4.Load(r48.y).x;
//     r49.z = t4.Load(r48.z).x;
//     r44.w = t4.Load(r48.w).x;
//     r48.xyzw = mad(int4(157,158,159,160), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r46.w = t4.Load(r48.x).x;
//     r47.w = t4.Load(r48.y).x;
//     r48.x = t4.Load(r48.z).x;
//     r50.x = t4.Load(r48.w).x;
//     r51.xyzw = mad(int4(161,162,163,164), asint(cb0[20].zzzz), (int4)r1.xxxx);
//     r50.y = t4.Load(r51.x).x;
//     r48.y = t4.Load(r51.y).x;
//     r50.w = t4.Load(r51.z).x;
//     r8.w = t5.Load(r8.w).x;
//     r48.z = t4.Load(r51.w).x;
//     r51.xy = mad(int2(165,166), asint(cb0[20].zz), (int2)r1.xx);
//     r52.y = t4.Load(r51.x).x;
//     r52.z = t4.Load(r51.y).x;
//     r10.x = t5.Load(r10.x).x;
//     r48.w = -1;
//     r49.w = -1;
//     r51.x = cb3[1].x;
//     r51.yzw = cb1[0].zxy;
//     r53.xyz = cb2[25].xyz;
//     r54.xyz = cb2[30].xyz;
//     r55.xyz = cb4[3].xyz;
//     r52.x = r48.z;
//     r53.w = r49.y;
//     r54.w = r49.z;
//     r46.xy = r43.yz;
//     r56.xyz = cb4[5].xyz;
//     r49.x = r43.w;
//     r40.xzw = r41.yzw;
//     r41.x = r40.y;
//     r55.w = r46.z;
//     r56.w = cb4[4].z;
//     r38.y = r24.y;
//     r24.zw = r38.zw;
//     r57.xy = r52.yz;
//     r57.zw = cb4[6].xy;
//     r59.xy = cb4[4].xy;
//     r58.xy = cb4[6].wz;
//   } else {
//     if (r2.z != 0) {
//       if (r1.y != 0) {
//         r1.y = 0;
//         r58.z = r2.x;
//         r58.w = 0;
//         r59.z = 0;
//         r59.w = r1.x;
//       } else {
//         r60.x = (int)r1.x + (int)-r2.x;
//         r61.xyzw = cmp((int4)r60.xxxx >= asint(cb0[10].xyzw));
//         r61.xyzw = r61.xyzw ? float4(0,0,0,0) : 0;
//         r60.y = (int)r61.y + (int)r61.x;
//         r60.y = (int)r61.z + (int)r60.y;
//         r60.y = (int)r61.w + (int)r60.y;
//         r61.xyzw = cmp((int4)r60.xxxx >= asint(cb0[11].xyzw));
//         r61.xyzw = r61.xyzw ? float4(0,0,0,0) : 0;
//         r60.z = (int)r61.y + (int)r61.x;
//         r60.z = (int)r61.z + (int)r60.z;
//         r60.z = (int)r61.w + (int)r60.z;
//         r60.y = (int)r60.z + (int)r60.y;
//         r59.w = (int)r60.x + asint(-cb0[r60.y+12].w);
//         r60.x = cmp((int)r60.y == 7);
//         if (r60.x != 0) {
//           r58.z = asint(cb0[20].x) + asint(-cb0[r60.y+12].w);
//         } else {
//           r58.z = asint(-cb0[r60.y+12].w) + asint(cb0[r60.y+13].w);
//         }
//         r1.y = cb0[r60.y+12].z;
//         r58.w = cb0[r60.y+12].x;
//         r59.z = cb0[r60.y+12].y;
//       }
//       r1.z = cmp(asint(cb4[2].y) != 0);
//       r1.w = cmp(asint(cb4[4].w) != 0);
//       r1.x = (int)r1.x + (int)-r2.x;
//       r5.y = t6.Load(r1.x).x;
//       r8.w = (int)r59.w + asint(cb3[0].y);
//       r1.x = (int)r59.w;
//       r2.x = r58.w * r1.x + r59.z;
//       r51.z = cb1[0].x + -r2.x;
//       r51.w = 1 / r51.z;
//       r2.x = cb1[0].y * r2.x;
//       r58.w = -cb5[0].z + cb1[0].z;
//       r58.w = r2.x * r58.w + cb5[0].z;
//       r60.xyz = -cb6[25].xyz + cb2[25].xyz;
//       r60.xyz = r2.xxx * r60.xyz + cb6[25].xyz;
//       r61.xyz = -cb7[0].xyz + cb4[0].xyz;
//       r61.xyz = r2.xxx * r61.xyz + cb7[0].xyz;
//       r62.xyz = -cb7[1].xyz + cb4[1].xyz;
//       r47.xyz = r2.xxx * r62.xyz + cb7[1].xyz;
//       r0.x = cb0[9].w;
//       r59.zw = mad((int2)r0.yx, int2(0x19660d,0x19660d), int2(0x3c6ef35f,0x3c6ef35f));
//       r62.xyzw = mad((int4)r59.zzzz, (int4)r59.zzzz, int4(0x3c3c2745,0x3c22c138,0x3c095b2b,0x3beff51e));
//       r63.xyzw = mad((int4)r59.wwww, (int4)r62.xyzw, (int4)r59.zzzz);
//       r64.xyzw = mad((int4)r62.xyzw, (int4)r63.xyzw, (int4)r59.wwww);
//       r64.xyzw = mad((int4)r63.xyzw, (int4)r64.xyzw, (int4)r59.zzzz);
//       r62.xyzw = mad((int4)r63.xyzw, (int4)r64.xyzw, (int4)r62.xyzw);
//       r62.xyzw = (uint4)r62.xyzw >> int4(8,8,8,8);
//       r62.xyzw = (int4)r62.xyzw & int4(0xffffff,0xffffff,0xffffff,0xffffff);
//       r62.xyzw = (uint4)r62.xyzw;
//       r62.xyz = r62.xyz * r61.xyz;
//       r62.xyz = float3(5.96046448e-08,5.96046448e-08,5.96046448e-08) * r62.xyz;
//       r61.xyz = r61.xyz * float3(-0.5,-0.5,-0.5) + r62.xyz;
//       r60.xyz = r61.xyz + r60.xyz;
//       r33.w = 5.96046448e-08 * r62.w;
//       r2.x = (int)r58.z + -1;
//       r2.x = (int)r2.x;
//       r1.x = r1.x / r2.x;
//       r1.x = -cb0[24].y + r1.x;
//       r1.x = saturate(cb0[24].w * r1.x);
//       r2.x = cb0[25].x * r1.x;
//       r2.x = floor(r2.x);
//       r58.z = cmp(r2.x < cb0[25].x);
//       r61.x = 1 + r2.x;
//       r58.z = r58.z ? r61.x : r2.x;
//       r1.x = r1.x * cb0[25].x + -r2.x;
//       r2.x = (uint)r2.x;
//       r2.x = t7.Load(r2.x).x;
//       r58.z = (uint)r58.z;
//       r58.z = t7.Load(r58.z).x;
//       r58.z = r58.z + -r2.x;
//       r1.x = r1.x * r58.z + r2.x;
//       r2.x = r47.z + -r47.y;
//       r43.w = r1.x * r2.x + r47.y;
//       r16.y = 20 * r43.w;
//       r4.y = cmp((int)r1.y == 1);
//       r61.xyz = -cb0[1].xyz + r60.xyz;
//       r61.xyz = cb0[1].www + r61.xyz;
//       r61.xyz = max(float3(0,0,0), r61.xyz);
//       r62.xyz = cb0[1].xyz + cb0[1].www;
//       r63.xyz = r62.xyz + -r60.xyz;
//       r63.xyz = max(float3(0,0,0), r63.xyz);
//       r61.xyz = min(r63.xyz, r61.xyz);
//       r1.x = min(r61.y, r61.z);
//       r1.x = min(r61.x, r1.x);
//       r1.y = cb0[9].y * cb0[1].w;
//       r2.x = cmp(r1.y < r1.x);
//       if (r2.x != 0) {
//         r61.xyz = r60.xyz * cb0[5].www + cb0[5].xyz;
//         r61.w = t0.SampleLevel(s0_s, r61.xyz, 0).x;
//       } else {
//         r63.xyz = -cb0[2].xyz + r60.xyz;
//         r63.xyz = cb0[2].www + r63.xyz;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r64.xyz = cb0[2].xyz + cb0[2].www;
//         r64.xyz = r64.xyz + -r60.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r63.xyz = min(r64.xyz, r63.xyz);
//         r2.x = min(r63.y, r63.z);
//         r2.x = min(r63.x, r2.x);
//         r47.y = cb0[9].y * cb0[2].w;
//         r2.x = cmp(r47.y < r2.x);
//         if (r2.x != 0) {
//           r63.xyz = r60.xyz * cb0[6].www + cb0[6].xyz;
//           r61.w = t1.SampleLevel(s0_s, r63.xyz, 0).x;
//         } else {
//           r63.xyz = -cb0[3].xyz + r60.xyz;
//           r63.xyz = cb0[3].www + r63.xyz;
//           r63.xyz = max(float3(0,0,0), r63.xyz);
//           r64.xyz = cb0[3].xyz + cb0[3].www;
//           r64.xyz = r64.xyz + -r60.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r63.xyz = min(r64.xyz, r63.xyz);
//           r2.x = min(r63.y, r63.z);
//           r2.x = min(r63.x, r2.x);
//           r63.xyz = -cb0[4].xyz + r60.xyz;
//           r63.xyz = cb0[4].www + r63.xyz;
//           r63.xyz = max(float3(0,0,0), r63.xyz);
//           r64.xyz = cb0[4].xyz + cb0[4].www;
//           r64.xyz = r64.xyz + -r60.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r63.xyz = min(r64.xyz, r63.xyz);
//           r47.y = min(r63.y, r63.z);
//           r47.y = min(r63.x, r47.y);
//           r47.z = cb0[9].y * cb0[3].w;
//           r2.x = cmp(r47.z < r2.x);
//           if (r2.x != 0) {
//             r63.xyz = r60.xyz * cb0[7].www + cb0[7].xyz;
//             r61.w = t2.SampleLevel(s0_s, r63.xyz, 0).x;
//           } else {
//             r2.x = cb0[9].y * cb0[4].w;
//             r2.x = cmp(r2.x < r47.y);
//             if (r2.x != 0) {
//               r2.x = cb0[8].w * r47.y;
//               r2.x = saturate(10 * r2.x);
//               r63.xyz = r60.xyz * cb0[8].www + cb0[8].xyz;
//               r47.y = t3.SampleLevel(s0_s, r63.xyz, 0).x;
//               r47.y = -cb0[0].x + r47.y;
//               r61.w = r2.x * r47.y + cb0[0].x;
//             } else {
//               r61.w = cb0[0].x;
//             }
//           }
//         }
//       }
//       r2.x = 4 * cb0[9].y;
//       r47.y = cb0[1].w * r2.x;
//       r1.x = cmp(r47.y < r1.x);
//       if (r1.x != 0) {
//         r63.xyz = r60.xyz * cb0[5].www + cb0[5].xyz;
//         r64.xyz = cb0[9].yyy + r63.xyz;
//         r63.w = r64.x;
//         r1.x = t0.SampleLevel(s0_s, r63.wyz, 0).x;
//         r65.xyw = -cb0[9].yyy + r63.xyz;
//         r66.xw = r65.xy;
//         r66.yz = r63.yz;
//         r47.z = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//         r66.xz = r63.xz;
//         r66.y = r64.y;
//         r58.z = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//         r62.w = t0.SampleLevel(s0_s, r66.xwz, 0).x;
//         r65.xy = r63.xy;
//         r65.z = r64.z;
//         r63.x = t0.SampleLevel(s0_s, r65.xyz, 0).x;
//         r63.y = t0.SampleLevel(s0_s, r65.xyw, 0).x;
//         r64.x = -r47.z + r1.x;
//         r64.y = -r62.w + r58.z;
//         r64.z = r63.x + -r63.y;
//         r63.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//         r63.xyz = r63.xyz / cb0[1].www;
//       } else {
//         r64.xyz = -cb0[2].xyz + r60.xyz;
//         r64.xyz = cb0[2].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r65.xyz = cb0[2].xyz + cb0[2].www;
//         r65.xyz = r65.xyz + -r60.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r64.xyz = min(r65.xyz, r64.xyz);
//         r1.x = min(r64.y, r64.z);
//         r1.x = min(r64.x, r1.x);
//         r47.z = cb0[2].w * r2.x;
//         r1.x = cmp(r47.z < r1.x);
//         if (r1.x != 0) {
//           r64.xyz = r60.xyz * cb0[6].www + cb0[6].xyz;
//           r65.xyz = cb0[9].yyy + r64.xyz;
//           r64.w = r65.x;
//           r1.x = t1.SampleLevel(s0_s, r64.wyz, 0).x;
//           r66.xyw = -cb0[9].yyy + r64.xyz;
//           r67.xw = r66.xy;
//           r67.yz = r64.yz;
//           r47.z = t1.SampleLevel(s0_s, r67.xyz, 0).x;
//           r67.xz = r64.xz;
//           r67.y = r65.y;
//           r58.z = t1.SampleLevel(s0_s, r67.xyz, 0).x;
//           r62.w = t1.SampleLevel(s0_s, r67.xwz, 0).x;
//           r66.xy = r64.xy;
//           r66.z = r65.z;
//           r64.x = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//           r64.y = t1.SampleLevel(s0_s, r66.xyw, 0).x;
//           r65.x = -r47.z + r1.x;
//           r65.y = -r62.w + r58.z;
//           r65.z = r64.x + -r64.y;
//           r64.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//           r63.xyz = r64.xyz / cb0[2].www;
//         } else {
//           r64.xyz = -cb0[3].xyz + r60.xyz;
//           r64.xyz = cb0[3].www + r64.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r65.xyz = cb0[3].xyz + cb0[3].www;
//           r65.xyz = r65.xyz + -r60.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r64.xyz = min(r65.xyz, r64.xyz);
//           r1.x = min(r64.y, r64.z);
//           r1.x = min(r64.x, r1.x);
//           r64.xyz = -cb0[4].xyz + r60.xyz;
//           r64.xyz = cb0[4].www + r64.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r65.xyz = cb0[4].xyz + cb0[4].www;
//           r65.xyz = r65.xyz + -r60.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r64.xyz = min(r65.xyz, r64.xyz);
//           r47.z = min(r64.y, r64.z);
//           r47.z = min(r64.x, r47.z);
//           r58.z = cb0[3].w * r2.x;
//           r1.x = cmp(r58.z < r1.x);
//           if (r1.x != 0) {
//             r64.xyz = r60.xyz * cb0[7].www + cb0[7].xyz;
//             r65.xyz = cb0[9].yyy + r64.xyz;
//             r64.w = r65.x;
//             r1.x = t2.SampleLevel(s0_s, r64.wyz, 0).x;
//             r66.xyw = -cb0[9].yyy + r64.xyz;
//             r67.xw = r66.xy;
//             r67.yz = r64.yz;
//             r58.z = t2.SampleLevel(s0_s, r67.xyz, 0).x;
//             r67.xz = r64.xz;
//             r67.y = r65.y;
//             r62.w = t2.SampleLevel(s0_s, r67.xyz, 0).x;
//             r64.z = t2.SampleLevel(s0_s, r67.xwz, 0).x;
//             r66.xy = r64.xy;
//             r66.z = r65.z;
//             r64.x = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//             r64.y = t2.SampleLevel(s0_s, r66.xyw, 0).x;
//             r65.x = -r58.z + r1.x;
//             r65.y = -r64.z + r62.w;
//             r65.z = r64.x + -r64.y;
//             r64.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//             r63.xyz = r64.xyz / cb0[3].www;
//           } else {
//             r1.x = cb0[4].w * r2.x;
//             r1.x = cmp(r1.x < r47.z);
//             if (r1.x != 0) {
//               r64.xyz = r60.xyz * cb0[8].www + cb0[8].xyz;
//               r65.xyz = cb0[9].yyy + r64.xyz;
//               r64.w = r65.x;
//               r1.x = t3.SampleLevel(s0_s, r64.wyz, 0).x;
//               r66.xyw = -cb0[9].yyy + r64.xyz;
//               r67.xw = r66.xy;
//               r67.yz = r64.yz;
//               r47.z = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//               r67.xz = r64.xz;
//               r67.y = r65.y;
//               r58.z = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//               r62.w = t3.SampleLevel(s0_s, r67.xwz, 0).x;
//               r66.xy = r64.xy;
//               r66.z = r65.z;
//               r64.x = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//               r64.y = t3.SampleLevel(s0_s, r66.xyw, 0).x;
//               r65.x = -r47.z + r1.x;
//               r65.y = -r62.w + r58.z;
//               r65.z = r64.x + -r64.y;
//               r64.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//               r63.xyz = r64.xyz / cb0[4].www;
//             } else {
//               r63.xyz = float3(0,0,0.00100000005);
//             }
//           }
//         }
//       }
//       r1.x = cmp(0 < cb0[0].x);
//       r47.z = cmp(0 < r61.w);
//       r64.xyz = cmp(r63.xyz == float3(0,0,0.00100000005));
//       r58.z = r64.y ? r64.x : 0;
//       r58.z = r64.z ? r58.z : 0;
//       r47.z = r47.z ? r58.z : 0;
//       r47.z = ~(int)r47.z;
//       r47.z = r1.x ? r47.z : 0;
//       r58.z = dot(r63.xyz, r63.xyz);
//       r63.w = sqrt(r58.z);
//       r58.z = cmp(r63.w < 9.99999975e-06);
//       r63.xyzw = r58.zzzz ? float4(0,0,0,1) : r63.xyzw;
//       r63.xyz = r63.xyz / r63.www;
//       r63.xyz = r58.zzz ? float3(0,0,0) : r63.xyz;
//       r61.xyz = -r63.xyz * r61.www + r60.xyz;
//       r60.w = 0;
//       r61.xyzw = r47.zzzz ? r61.xyzw : r60.xyzw;
//       r63.xyz = -cb0[1].xyz + r61.xyz;
//       r63.xyz = cb0[1].www + r63.xyz;
//       r63.xyz = max(float3(0,0,0), r63.xyz);
//       r64.xyz = r62.xyz + -r61.xyz;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r63.xyz = min(r64.xyz, r63.xyz);
//       r47.z = min(r63.y, r63.z);
//       r47.z = min(r63.x, r47.z);
//       r58.z = cmp(r1.y < r47.z);
//       if (r58.z != 0) {
//         r63.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//         r63.w = t0.SampleLevel(s0_s, r63.xyz, 0).x;
//       } else {
//         r64.xyz = -cb0[2].xyz + r61.xyz;
//         r64.xyz = cb0[2].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r65.xyz = cb0[2].xyz + cb0[2].www;
//         r65.xyz = r65.xyz + -r61.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r64.xyz = min(r65.xyz, r64.xyz);
//         r58.z = min(r64.y, r64.z);
//         r58.z = min(r64.x, r58.z);
//         r60.w = cb0[9].y * cb0[2].w;
//         r58.z = cmp(r60.w < r58.z);
//         if (r58.z != 0) {
//           r64.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//           r63.w = t1.SampleLevel(s0_s, r64.xyz, 0).x;
//         } else {
//           r64.xyz = -cb0[3].xyz + r61.xyz;
//           r64.xyz = cb0[3].www + r64.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r65.xyz = cb0[3].xyz + cb0[3].www;
//           r65.xyz = r65.xyz + -r61.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r64.xyz = min(r65.xyz, r64.xyz);
//           r58.z = min(r64.y, r64.z);
//           r58.z = min(r64.x, r58.z);
//           r64.xyz = -cb0[4].xyz + r61.xyz;
//           r64.xyz = cb0[4].www + r64.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r65.xyz = cb0[4].xyz + cb0[4].www;
//           r65.xyz = r65.xyz + -r61.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r64.xyz = min(r65.xyz, r64.xyz);
//           r60.w = min(r64.y, r64.z);
//           r60.w = min(r64.x, r60.w);
//           r62.w = cb0[9].y * cb0[3].w;
//           r58.z = cmp(r62.w < r58.z);
//           if (r58.z != 0) {
//             r64.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//             r63.w = t2.SampleLevel(s0_s, r64.xyz, 0).x;
//           } else {
//             r58.z = cb0[9].y * cb0[4].w;
//             r58.z = cmp(r58.z < r60.w);
//             if (r58.z != 0) {
//               r58.z = cb0[8].w * r60.w;
//               r58.z = saturate(10 * r58.z);
//               r64.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//               r60.w = t3.SampleLevel(s0_s, r64.xyz, 0).x;
//               r60.w = -cb0[0].x + r60.w;
//               r63.w = r58.z * r60.w + cb0[0].x;
//             } else {
//               r63.w = cb0[0].x;
//             }
//           }
//         }
//       }
//       r47.z = cmp(r47.y < r47.z);
//       if (r47.z != 0) {
//         r64.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//         r65.xyz = cb0[9].yyy + r64.xyz;
//         r64.w = r65.x;
//         r47.z = t0.SampleLevel(s0_s, r64.wyz, 0).x;
//         r66.xyw = -cb0[9].yyy + r64.xyz;
//         r67.xw = r66.xy;
//         r67.yz = r64.yz;
//         r58.z = t0.SampleLevel(s0_s, r67.xyz, 0).x;
//         r67.xz = r64.xz;
//         r67.y = r65.y;
//         r60.w = t0.SampleLevel(s0_s, r67.xyz, 0).x;
//         r62.w = t0.SampleLevel(s0_s, r67.xwz, 0).x;
//         r66.xy = r64.xy;
//         r66.z = r65.z;
//         r64.x = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//         r64.y = t0.SampleLevel(s0_s, r66.xyw, 0).x;
//         r65.x = -r58.z + r47.z;
//         r65.y = -r62.w + r60.w;
//         r65.z = r64.x + -r64.y;
//         r64.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//         r64.xyz = r64.xyz / cb0[1].www;
//       } else {
//         r65.xyz = -cb0[2].xyz + r61.xyz;
//         r65.xyz = cb0[2].www + r65.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r66.xyz = cb0[2].xyz + cb0[2].www;
//         r66.xyz = r66.xyz + -r61.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r65.xyz = min(r66.xyz, r65.xyz);
//         r47.z = min(r65.y, r65.z);
//         r47.z = min(r65.x, r47.z);
//         r58.z = cb0[2].w * r2.x;
//         r47.z = cmp(r58.z < r47.z);
//         if (r47.z != 0) {
//           r65.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//           r66.xyz = cb0[9].yyy + r65.xyz;
//           r65.w = r66.x;
//           r47.z = t1.SampleLevel(s0_s, r65.wyz, 0).x;
//           r67.xyw = -cb0[9].yyy + r65.xyz;
//           r68.xw = r67.xy;
//           r68.yz = r65.yz;
//           r58.z = t1.SampleLevel(s0_s, r68.xyz, 0).x;
//           r68.xz = r65.xz;
//           r68.y = r66.y;
//           r60.w = t1.SampleLevel(s0_s, r68.xyz, 0).x;
//           r62.w = t1.SampleLevel(s0_s, r68.xwz, 0).x;
//           r67.xy = r65.xy;
//           r67.z = r66.z;
//           r65.x = t1.SampleLevel(s0_s, r67.xyz, 0).x;
//           r65.y = t1.SampleLevel(s0_s, r67.xyw, 0).x;
//           r66.x = -r58.z + r47.z;
//           r66.y = -r62.w + r60.w;
//           r66.z = r65.x + -r65.y;
//           r65.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//           r64.xyz = r65.xyz / cb0[2].www;
//         } else {
//           r65.xyz = -cb0[3].xyz + r61.xyz;
//           r65.xyz = cb0[3].www + r65.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r66.xyz = cb0[3].xyz + cb0[3].www;
//           r66.xyz = r66.xyz + -r61.xyz;
//           r66.xyz = max(float3(0,0,0), r66.xyz);
//           r65.xyz = min(r66.xyz, r65.xyz);
//           r47.z = min(r65.y, r65.z);
//           r47.z = min(r65.x, r47.z);
//           r65.xyz = -cb0[4].xyz + r61.xyz;
//           r65.xyz = cb0[4].www + r65.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r66.xyz = cb0[4].xyz + cb0[4].www;
//           r66.xyz = r66.xyz + -r61.xyz;
//           r66.xyz = max(float3(0,0,0), r66.xyz);
//           r65.xyz = min(r66.xyz, r65.xyz);
//           r58.z = min(r65.y, r65.z);
//           r58.z = min(r65.x, r58.z);
//           r60.w = cb0[3].w * r2.x;
//           r47.z = cmp(r60.w < r47.z);
//           if (r47.z != 0) {
//             r65.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//             r66.xyz = cb0[9].yyy + r65.xyz;
//             r65.w = r66.x;
//             r47.z = t2.SampleLevel(s0_s, r65.wyz, 0).x;
//             r67.xyw = -cb0[9].yyy + r65.xyz;
//             r68.xw = r67.xy;
//             r68.yz = r65.yz;
//             r60.w = t2.SampleLevel(s0_s, r68.xyz, 0).x;
//             r68.xz = r65.xz;
//             r68.y = r66.y;
//             r62.w = t2.SampleLevel(s0_s, r68.xyz, 0).x;
//             r65.z = t2.SampleLevel(s0_s, r68.xwz, 0).x;
//             r67.xy = r65.xy;
//             r67.z = r66.z;
//             r65.x = t2.SampleLevel(s0_s, r67.xyz, 0).x;
//             r65.y = t2.SampleLevel(s0_s, r67.xyw, 0).x;
//             r66.x = -r60.w + r47.z;
//             r66.y = -r65.z + r62.w;
//             r66.z = r65.x + -r65.y;
//             r65.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//             r64.xyz = r65.xyz / cb0[3].www;
//           } else {
//             r47.z = cb0[4].w * r2.x;
//             r47.z = cmp(r47.z < r58.z);
//             if (r47.z != 0) {
//               r65.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//               r66.xyz = cb0[9].yyy + r65.xyz;
//               r65.w = r66.x;
//               r47.z = t3.SampleLevel(s0_s, r65.wyz, 0).x;
//               r67.xyw = -cb0[9].yyy + r65.xyz;
//               r68.xw = r67.xy;
//               r68.yz = r65.yz;
//               r58.z = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//               r68.xz = r65.xz;
//               r68.y = r66.y;
//               r60.w = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//               r62.w = t3.SampleLevel(s0_s, r68.xwz, 0).x;
//               r67.xy = r65.xy;
//               r67.z = r66.z;
//               r65.x = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//               r65.y = t3.SampleLevel(s0_s, r67.xyw, 0).x;
//               r66.x = -r58.z + r47.z;
//               r66.y = -r62.w + r60.w;
//               r66.z = r65.x + -r65.y;
//               r65.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//               r64.xyz = r65.xyz / cb0[4].www;
//             } else {
//               r64.xyz = float3(0,0,0.00100000005);
//             }
//           }
//         }
//       }
//       r47.z = cmp(0 < r63.w);
//       r65.xyz = cmp(r64.xyz == float3(0,0,0.00100000005));
//       r58.z = r65.y ? r65.x : 0;
//       r58.z = r65.z ? r58.z : 0;
//       r47.z = r47.z ? r58.z : 0;
//       r47.z = ~(int)r47.z;
//       r47.z = r1.x ? r47.z : 0;
//       r58.z = dot(r64.xyz, r64.xyz);
//       r64.w = sqrt(r58.z);
//       r58.z = cmp(r64.w < 9.99999975e-06);
//       r64.xyzw = r58.zzzz ? float4(0,0,0,1) : r64.xyzw;
//       r64.xyz = r64.xyz / r64.www;
//       r64.xyz = r58.zzz ? float3(0,0,0) : r64.xyz;
//       r63.xyz = -r64.xyz * r63.www + r61.xyz;
//       r64.xyz = r61.xyz;
//       r64.w = 0;
//       r63.xyzw = r47.zzzz ? r63.xyzw : r64.xyzw;
//       r61.xyz = -cb0[1].xyz + r63.xyz;
//       r61.xyz = cb0[1].www + r61.xyz;
//       r61.xyz = max(float3(0,0,0), r61.xyz);
//       r62.xyz = -r63.xyz + r62.xyz;
//       r62.xyz = max(float3(0,0,0), r62.xyz);
//       r61.xyz = min(r62.xyz, r61.xyz);
//       r47.z = min(r61.y, r61.z);
//       r47.z = min(r61.x, r47.z);
//       r1.y = cmp(r1.y < r47.z);
//       if (r1.y != 0) {
//         r61.xyz = r63.xyz * cb0[5].www + cb0[5].xyz;
//         r62.w = t0.SampleLevel(s0_s, r61.xyz, 0).x;
//       } else {
//         r61.xyz = -cb0[2].xyz + r63.xyz;
//         r61.xyz = cb0[2].www + r61.xyz;
//         r61.xyz = max(float3(0,0,0), r61.xyz);
//         r64.xyz = cb0[2].xyz + cb0[2].www;
//         r64.xyz = r64.xyz + -r63.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r61.xyz = min(r64.xyz, r61.xyz);
//         r1.y = min(r61.y, r61.z);
//         r1.y = min(r61.x, r1.y);
//         r58.z = cb0[9].y * cb0[2].w;
//         r1.y = cmp(r58.z < r1.y);
//         if (r1.y != 0) {
//           r61.xyz = r63.xyz * cb0[6].www + cb0[6].xyz;
//           r62.w = t1.SampleLevel(s0_s, r61.xyz, 0).x;
//         } else {
//           r61.xyz = -cb0[3].xyz + r63.xyz;
//           r61.xyz = cb0[3].www + r61.xyz;
//           r61.xyz = max(float3(0,0,0), r61.xyz);
//           r64.xyz = cb0[3].xyz + cb0[3].www;
//           r64.xyz = r64.xyz + -r63.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r61.xyz = min(r64.xyz, r61.xyz);
//           r1.y = min(r61.y, r61.z);
//           r1.y = min(r61.x, r1.y);
//           r61.xyz = -cb0[4].xyz + r63.xyz;
//           r61.xyz = cb0[4].www + r61.xyz;
//           r61.xyz = max(float3(0,0,0), r61.xyz);
//           r64.xyz = cb0[4].xyz + cb0[4].www;
//           r64.xyz = r64.xyz + -r63.xyz;
//           r64.xyz = max(float3(0,0,0), r64.xyz);
//           r61.xyz = min(r64.xyz, r61.xyz);
//           r58.z = min(r61.y, r61.z);
//           r58.z = min(r61.x, r58.z);
//           r60.w = cb0[9].y * cb0[3].w;
//           r1.y = cmp(r60.w < r1.y);
//           if (r1.y != 0) {
//             r61.xyz = r63.xyz * cb0[7].www + cb0[7].xyz;
//             r62.w = t2.SampleLevel(s0_s, r61.xyz, 0).x;
//           } else {
//             r1.y = cb0[9].y * cb0[4].w;
//             r1.y = cmp(r1.y < r58.z);
//             if (r1.y != 0) {
//               r1.y = cb0[8].w * r58.z;
//               r1.y = saturate(10 * r1.y);
//               r61.xyz = r63.xyz * cb0[8].www + cb0[8].xyz;
//               r58.z = t3.SampleLevel(s0_s, r61.xyz, 0).x;
//               r58.z = -cb0[0].x + r58.z;
//               r62.w = r1.y * r58.z + cb0[0].x;
//             } else {
//               r62.w = cb0[0].x;
//             }
//           }
//         }
//       }
//       r1.y = cmp(r47.y < r47.z);
//       if (r1.y != 0) {
//         r64.xyz = r63.xyz * cb0[5].www + cb0[5].xyz;
//         r61.xyz = cb0[9].yyy + r64.xyz;
//         r64.w = r61.x;
//         r1.y = t0.SampleLevel(s0_s, r64.wyz, 0).x;
//         r65.xyw = -cb0[9].yyy + r64.xyz;
//         r66.xw = r65.xy;
//         r66.yz = r64.yz;
//         r47.y = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//         r66.xz = r64.xz;
//         r66.y = r61.y;
//         r47.z = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//         r58.z = t0.SampleLevel(s0_s, r66.xwz, 0).x;
//         r65.xy = r64.xy;
//         r65.z = r61.z;
//         r60.w = t0.SampleLevel(s0_s, r65.xyz, 0).x;
//         r61.x = t0.SampleLevel(s0_s, r65.xyw, 0).x;
//         r64.x = -r47.y + r1.y;
//         r64.y = -r58.z + r47.z;
//         r64.z = -r61.x + r60.w;
//         r61.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//         r64.xyz = r61.xyz / cb0[1].www;
//       } else {
//         r61.xyz = -cb0[2].xyz + r63.xyz;
//         r61.xyz = cb0[2].www + r61.xyz;
//         r61.xyz = max(float3(0,0,0), r61.xyz);
//         r65.xyz = cb0[2].xyz + cb0[2].www;
//         r65.xyz = r65.xyz + -r63.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r61.xyz = min(r65.xyz, r61.xyz);
//         r1.y = min(r61.y, r61.z);
//         r1.y = min(r61.x, r1.y);
//         r47.y = cb0[2].w * r2.x;
//         r1.y = cmp(r47.y < r1.y);
//         if (r1.y != 0) {
//           r65.xyz = r63.xyz * cb0[6].www + cb0[6].xyz;
//           r61.xyz = cb0[9].yyy + r65.xyz;
//           r65.w = r61.x;
//           r1.y = t1.SampleLevel(s0_s, r65.wyz, 0).x;
//           r66.xyw = -cb0[9].yyy + r65.xyz;
//           r67.xw = r66.xy;
//           r67.yz = r65.yz;
//           r47.y = t1.SampleLevel(s0_s, r67.xyz, 0).x;
//           r67.xz = r65.xz;
//           r67.y = r61.y;
//           r47.z = t1.SampleLevel(s0_s, r67.xyz, 0).x;
//           r58.z = t1.SampleLevel(s0_s, r67.xwz, 0).x;
//           r66.xy = r65.xy;
//           r66.z = r61.z;
//           r60.w = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//           r61.x = t1.SampleLevel(s0_s, r66.xyw, 0).x;
//           r65.x = -r47.y + r1.y;
//           r65.y = -r58.z + r47.z;
//           r65.z = -r61.x + r60.w;
//           r61.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//           r64.xyz = r61.xyz / cb0[2].www;
//         } else {
//           r61.xyz = -cb0[3].xyz + r63.xyz;
//           r61.xyz = cb0[3].www + r61.xyz;
//           r61.xyz = max(float3(0,0,0), r61.xyz);
//           r65.xyz = cb0[3].xyz + cb0[3].www;
//           r65.xyz = r65.xyz + -r63.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r61.xyz = min(r65.xyz, r61.xyz);
//           r1.y = min(r61.y, r61.z);
//           r1.y = min(r61.x, r1.y);
//           r61.xyz = -cb0[4].xyz + r63.xyz;
//           r61.xyz = cb0[4].www + r61.xyz;
//           r61.xyz = max(float3(0,0,0), r61.xyz);
//           r65.xyz = cb0[4].xyz + cb0[4].www;
//           r65.xyz = r65.xyz + -r63.xyz;
//           r65.xyz = max(float3(0,0,0), r65.xyz);
//           r61.xyz = min(r65.xyz, r61.xyz);
//           r47.y = min(r61.y, r61.z);
//           r47.y = min(r61.x, r47.y);
//           r47.z = cb0[3].w * r2.x;
//           r1.y = cmp(r47.z < r1.y);
//           if (r1.y != 0) {
//             r65.xyz = r63.xyz * cb0[7].www + cb0[7].xyz;
//             r61.xyz = cb0[9].yyy + r65.xyz;
//             r65.w = r61.x;
//             r1.y = t2.SampleLevel(s0_s, r65.wyz, 0).x;
//             r66.xyw = -cb0[9].yyy + r65.xyz;
//             r67.xw = r66.xy;
//             r67.yz = r65.yz;
//             r47.z = t2.SampleLevel(s0_s, r67.xyz, 0).x;
//             r67.xz = r65.xz;
//             r67.y = r61.y;
//             r58.z = t2.SampleLevel(s0_s, r67.xyz, 0).x;
//             r60.w = t2.SampleLevel(s0_s, r67.xwz, 0).x;
//             r66.xy = r65.xy;
//             r66.z = r61.z;
//             r61.x = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//             r61.y = t2.SampleLevel(s0_s, r66.xyw, 0).x;
//             r65.x = -r47.z + r1.y;
//             r65.y = -r60.w + r58.z;
//             r65.z = r61.x + -r61.y;
//             r61.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//             r64.xyz = r61.xyz / cb0[3].www;
//           } else {
//             r1.y = cb0[4].w * r2.x;
//             r1.y = cmp(r1.y < r47.y);
//             if (r1.y != 0) {
//               r65.xyz = r63.xyz * cb0[8].www + cb0[8].xyz;
//               r61.xyz = cb0[9].yyy + r65.xyz;
//               r65.w = r61.x;
//               r1.y = t3.SampleLevel(s0_s, r65.wyz, 0).x;
//               r66.xyw = -cb0[9].yyy + r65.xyz;
//               r67.xw = r66.xy;
//               r67.yz = r65.yz;
//               r2.x = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//               r67.xz = r65.xz;
//               r67.y = r61.y;
//               r47.y = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//               r47.z = t3.SampleLevel(s0_s, r67.xwz, 0).x;
//               r66.xy = r65.xy;
//               r66.z = r61.z;
//               r58.z = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//               r60.w = t3.SampleLevel(s0_s, r66.xyw, 0).x;
//               r61.x = -r2.x + r1.y;
//               r61.y = r47.y + -r47.z;
//               r61.z = -r60.w + r58.z;
//               r61.xyz = float3(0.5,0.5,0.5) * r61.xyz;
//               r64.xyz = r61.xyz / cb0[4].www;
//             } else {
//               r64.xyz = float3(0,0,0.00100000005);
//             }
//           }
//         }
//       }
//       r1.y = cmp(0 < r62.w);
//       r61.xyz = cmp(r64.xyz == float3(0,0,0.00100000005));
//       r2.x = r61.y ? r61.x : 0;
//       r2.x = r61.z ? r2.x : 0;
//       r1.y = r1.y ? r2.x : 0;
//       r1.y = ~(int)r1.y;
//       r1.x = r1.y ? r1.x : 0;
//       r1.y = dot(r64.xyz, r64.xyz);
//       r64.w = sqrt(r1.y);
//       r1.y = cmp(r64.w < 9.99999975e-06);
//       r64.xyzw = r1.yyyy ? float4(0,0,0,1) : r64.xyzw;
//       r61.xyz = r64.xyz / r64.www;
//       r62.xyz = r1.yyy ? float3(-0,-0,-0) : -r61.xyz;
//       r61.xyz = r62.www * r62.xyz + r63.xyz;
//       r61.xyz = r1.xxx ? r61.xyz : r63.xyz;
//       r62.xyzw = r1.xxxx ? r62.xyzw : 0;
//       r1.y = ~(int)r1.y;
//       r1.x = r1.x ? r1.y : 0;
//       r1.y = r62.w + r63.w;
//       r1.y = r1.y + r61.w;
//       r63.xyz = -r62.xyz;
//       r64.xyz = float3(-0,-1,-0) * r62.zxy;
//       r62.xyz = r62.yzx * float3(-1,-0,-0) + -r64.xyz;
//       r2.x = dot(r62.xy, r62.xy);
//       r62.w = sqrt(r2.x);
//       r2.x = cmp(r62.w < 0.00999999978);
//       r62.xyzw = r2.xxxx ? float4(1,0,0,1) : r62.xyzw;
//       r62.xyz = r62.xyz / r62.www;
//       r62.xyz = r2.xxx ? float3(1,0,0) : r62.xyz;
//       r2.x = dot(r63.xyz, r63.xyz);
//       r63.w = sqrt(r2.x);
//       r2.x = cmp(r63.w < 0.00999999978);
//       r63.xyzw = r2.xxxx ? float4(0,0,1,1) : r63.xyzw;
//       r63.xyz = r63.xyz / r63.www;
//       r63.xyz = r2.xxx ? float3(0,0,1) : r63.xyz;
//       r64.xyz = r63.zxy * r62.yzx;
//       r64.xyz = r63.yzx * r62.zxy + -r64.xyz;
//       r2.x = dot(r64.xyz, r64.xyz);
//       r64.w = sqrt(r2.x);
//       r2.x = cmp(r64.w < 9.99999975e-06);
//       r64.xyzw = r2.xxxx ? float4(0,1,0,1) : r64.xyzw;
//       r64.xyz = r64.xyz / r64.www;
//       r64.xyz = r2.xxx ? float3(0,1,0) : r64.xyz;
//       r2.x = dot(r63.xyz, r63.xyz);
//       r63.w = sqrt(r2.x);
//       r2.x = cmp(r63.w < 9.99999975e-06);
//       r63.xyzw = r2.xxxx ? float4(0,0,1,1) : r63.xyzw;
//       r63.xyz = r63.xyz / r63.www;
//       r63.xyz = r2.xxx ? float3(0,0,1) : r63.xyz;
//       r2.x = dot(r62.xy, r62.xy);
//       r62.w = sqrt(r2.x);
//       r2.x = cmp(r62.w < 9.99999975e-06);
//       r62.xyzw = r2.xxxx ? float4(1,0,0,1) : r62.xyzw;
//       r62.xyz = r62.zxy / r62.www;
//       r62.xyz = r2.xxx ? float3(0,1,0) : r62.xyz;
//       r65.xyz = r63.xyz * r62.xyz;
//       r63.xyz = r63.zxy * r62.yzx + -r65.xyz;
//       r2.x = dot(r64.xyz, r64.xyz);
//       r64.w = sqrt(r2.x);
//       r2.x = cmp(r64.w < 9.99999975e-06);
//       r64.xyzw = r2.xxxx ? float4(0,1,0,1) : r64.xyzw;
//       r64.xyz = r64.yzx / r64.www;
//       r64.xyz = r2.xxx ? float3(1,0,0) : r64.xyz;
//       r65.xyz = r64.xyz * r62.xyz;
//       r62.xyz = r62.zxy * r64.yzx + -r65.xyz;
//       r64.xyz = r63.xyz * r62.xyz;
//       r63.xyz = r63.zxy * r62.yzx + -r64.xyz;
//       r64.xyz = r63.xyz * r62.xyz;
//       r62.xyz = r62.zxy * r63.yzx + -r64.xyz;
//       r64.xyz = r63.xyz * r62.xyz;
//       r64.xyz = r63.zxy * r62.yzx + -r64.xyz;
//       r47.yz = r63.yz + r62.xz;
//       r2.x = r47.y + r64.z;
//       r47.y = cmp(0 < r2.x);
//       r2.x = 1 + r2.x;
//       r2.x = rsqrt(r2.x);
//       r58.z = 0.5 * r2.x;
//       r65.xy = -r64.yz + r62.yx;
//       r65.zw = r64.xz + -r63.xy;
//       r66.xy = r65.xz * r58.zz;
//       r62.zw = r63.zy + -r62.zx;
//       r66.z = r62.z * r58.z;
//       r2.x = rcp(r2.x);
//       r66.w = 0.5 * r2.x;
//       r2.x = cmp(r62.x < r63.y);
//       r58.z = cmp(r64.z < r63.y);
//       r2.x = r2.x ? r58.z : 0;
//       r58.z = r62.w + -r64.z;
//       r58.z = 1 + r58.z;
//       r58.z = rsqrt(r58.z);
//       r60.w = 0.5 * r58.z;
//       r58.z = rcp(r58.z);
//       r67.x = 0.5 * r58.z;
//       r67.y = r60.w * r47.z;
//       r58.z = r64.x + r63.x;
//       r67.z = r58.z * r60.w;
//       r67.w = r65.x * r60.w;
//       r60.w = cmp(r64.z < r62.x);
//       r61.w = r65.y + -r63.y;
//       r61.w = 1 + r61.w;
//       r61.w = rsqrt(r61.w);
//       r62.w = 0.5 * r61.w;
//       r63.x = r62.w * r47.z;
//       r47.z = rcp(r61.w);
//       r63.y = 0.5 * r47.z;
//       r47.z = r64.y + r62.y;
//       r63.z = r47.z * r62.w;
//       r63.w = r65.z * r62.w;
//       r61.w = r65.w + -r62.x;
//       r61.w = 1 + r61.w;
//       r61.w = rsqrt(r61.w);
//       r62.x = 0.5 * r61.w;
//       r64.x = r62.x * r58.z;
//       r64.y = r62.x * r47.z;
//       r47.z = rcp(r61.w);
//       r64.z = 0.5 * r47.z;
//       r64.w = r62.z * r62.x;
//       r62.xyzw = r60.wwww ? r63.xyzw : r64.xyzw;
//       r62.xyzw = r2.xxxx ? r67.xyzw : r62.xyzw;
//       r62.xyzw = r47.yyyy ? r66.xyzw : r62.xyzw;
//       r47.yz = mad((int2)r59.zz, (int2)r59.zz, int2(0x3bd68f11,0x3bbd2904));
//       r63.xy = mad((int2)r59.ww, (int2)r47.yz, (int2)r59.zz);
//       r63.zw = mad((int2)r47.yz, (int2)r63.xy, (int2)r59.ww);
//       r59.zw = mad((int2)r63.xy, (int2)r63.zw, (int2)r59.zz);
//       r47.yz = mad((int2)r63.xy, (int2)r59.zw, (int2)r47.yz);
//       r47.yz = (uint2)r47.yz >> int2(8,8);
//       r47.yz = (int2)r47.yz & int2(0xffffff,0xffffff);
//       r47.yz = (uint2)r47.yz;
//       r2.x = 1.87253519e-07 * r47.y;
//       sincos(r2.x, r2.x, r63.x);
//       r64.xy = float2(0,0);
//       r64.z = r2.x;
//       r64.w = r63.x;
//       r59.zw = r64.wz * r62.xx;
//       r63.xy = float2(1,-1) * r59.zw;
//       r63.zw = float2(0,-0);
//       r63.xyzw = r62.wwww * r64.yyzw + r63.xyzw;
//       r65.xy = r64.zw * r62.yy;
//       r65.zw = float2(-0,-0);
//       r63.xyzw = r65.xyzw + r63.xyzw;
//       r65.zw = r64.wz * r62.zz;
//       r65.xy = r62.zz;
//       r62.xyzw = r65.xyzw * float4(-0,0,1,-1) + r63.xyzw;
//       r41.xyzw = r4.yyyy ? r62.xyzw : r64.xyzw;
//       r38.yzw = r4.yyy ? r61.xyz : r60.xyz;
//       r17.w = r4.y ? 0 : 3;
//       r48.x = r47.z * 5.96046448e-08 + r58.w;
//       r1.x = ~(int)r1.x;
//       r1.y = cmp(r1.y < 0);
//       r1.x = (int)r1.y | (int)r1.x;
//       r49.w = cmp((int)r1.x == 0);
//       r51.x = cb3[1].x;
//       r51.y = cb1[0].z;
//       r6.xy = float2(0.520833015,1);
//       r53.xyz = cb2[25].xyz;
//       r54.xyz = cb2[30].xyz;
//       r55.xyz = cb4[3].xyz;
//       r3.zw = float2(0.520833015,0.520833015);
//       r4.w = 1;
//       r11.yzw = float3(0.351999998,1,1);
//       r26.xyzw = float4(1,1,1,1);
//       r53.w = r43.w;
//       r54.w = r43.w;
//       r35.x = 1;
//       r46.w = 50;
//       r47.w = 50;
//       r30.y = 1;
//       r48.yw = float2(1,-nan);
//       r56.xyz = cb4[5].xyz;
//       r5.z = cb0[9].w;
//       r37.xyz = r43.www;
//       r49.xyz = r43.www;
//       r21.xyzw = float4(1,1,1,1);
//       r15.zw = float2(1,1);
//       r40.xyzw = r41.yxzw;
//       r23.w = 1;
//       r56.w = cb4[4].z;
//       r31.xyzw = float4(1,1,1,1);
//       r24.yzw = r38.yzw;
//       r57.zw = cb4[6].xy;
//       r59.xy = cb4[4].xy;
//       r50.xyw = float3(1,1,1);
//       r58.xy = cb4[6].wz;
//     } else {
//       r6.xy = float2(0,0);
//       r51.xyzw = float4(0,0,0,0);
//       r55.xyz = float3(0,0,0);
//       r3.zw = float2(0,0);
//       r11.yzw = float3(0,0,0);
//       r16.y = 0;
//       r26.xyzw = float4(0,0,0,0);
//       r17.w = 0;
//       r53.xyzw = float4(0,0,0,0);
//       r54.xyzw = float4(0,0,0,0);
//       r35.x = 0;
//       r46.w = 0;
//       r30.y = 0;
//       r37.xyz = float3(0,0,0);
//       r4.yw = float2(0,0);
//       r49.xyzw = float4(0,0,0,0);
//       r43.w = 0;
//       r21.xyzw = float4(0,0,0,0);
//       r15.zw = float2(0,0);
//       r40.xyzw = float4(0,0,0,0);
//       r23.w = 0;
//       r56.xyzw = float4(0,0,0,0);
//       r31.xyzw = float4(0,0,0,0);
//       r5.yz = float2(0,0);
//       r33.w = 0;
//       r24.yzw = float3(0,0,0);
//       r41.xyzw = float4(0,0,0,0);
//       r38.yzw = float3(0,0,0);
//       r47.xw = float2(0,0);
//       r57.zw = float2(0,0);
//       r59.xy = float2(0,0);
//       r8.w = 0;
//       r48.xyw = float3(0,0,-nan);
//       r1.zw = float2(0,0);
//       r50.xyw = float3(0,0,0);
//       r58.xy = float2(0,0);
//     }
//     r33.xy = float2(0,0);
//     r2.w = 0;
//     r11.x = 0;
//     r6.zw = float2(0,0);
//     r13.xyzw = float4(0,0,0,0);
//     r15.xy = float2(0,0);
//     r17.xyz = float3(0,0,0);
//     r12.xyzw = float4(0,0,0,0);
//     r14.xyzw = float4(0,0,0,0);
//     r19.xyzw = float4(0,0,0,0);
//     r20.xyzw = float4(0,0,0,0);
//     r37.w = 0;
//     r25.xyz = float3(0,0,0);
//     r32.x = 0;
//     r27.xyz = float3(0,0,0);
//     r29.xyzw = float4(0,0,0,0);
//     r44.xyzw = float4(0,0,0,0);
//     r28.x = 0;
//     r23.xyz = float3(0,0,0);
//     r3.xy = float2(0,0);
//     r18.xyzw = float4(0,0,0,0);
//     r42.xyzw = float4(0,0,0,0);
//     r4.xz = float2(0,0);
//     r30.xzw = float3(0,0,0);
//     r5.xw = float2(0,0);
//     r55.w = 0;
//     r38.x = 0;
//     r45.xyz = float3(0,0,0);
//     r7.xyzw = float4(0,0,0,0);
//     r9.xyzw = float4(0,0,0,0);
//     r35.yz = float2(0,0);
//     r39.xyzw = float4(0,0,0,0);
//     r22.xy = float2(0,0);
//     r24.x = 0;
//     r36.xyz = float3(0,0,0);
//     r34.xyz = float3(0,0,0);
//     r57.xy = float2(0,0);
//     r8.xyz = float3(0,0,0);
//     r16.xzw = float3(0,0,0);
//     r43.xyz = float3(0,0,0);
//     r52.xyz = float3(0,0,0);
//     r48.z = 0;
//     r10.xyzw = float4(0,0,0,0);
//     r46.xyz = float3(0,0,0);
//   }
//   r1.x = (int)r2.z | (int)r2.y;
//   if (r1.x != 0) {
//     r1.x = cmp(r51.z >= r2.w);
//     r2.w = r2.w + r51.z;
//     r1.y = max(9.99999975e-06, r31.z);
//     r38.x = r2.w / r1.y;
//     r60.xyz = r55.xyz + -r24.yzw;
//     r1.y = dot(r60.xyz, r60.xyz);
//     r60.w = sqrt(r1.y);
//     r1.y = cmp(r60.w < 9.99999975e-06);
//     r61.xyzw = r1.yyyy ? float4(0,0,1,1) : r60.xyzw;
//     r61.xyz = r61.xyz / r61.www;
//     r28.xyzw = r1.yyyy ? float4(1,0,0,1) : r61.wxyz;
//     r42.xy = cmp(r28.xx < r59.yx);
//     r59.xyzw = r42.xxxx ? float4(1,0,0,2500) : float4(1,0.5,0,2500);
//     r50.xyzw = r42.yyyy ? r59.xyzw : float4(0,0,0,1);
//     r1.y = r1.y ? 0 : r60.w;
//     r1.y = min(r1.y, r28.x);
//     r2.x = max(9.99999975e-05, r28.x);
//     r37.w = r1.y / r2.x;
//     r2.xyz = float3(5,3,10) * r51.zzz;
//     r2.xy = saturate(r2.xy);
//     r59.xyzw = r50.xyzw + -r29.xyzw;
//     r26.xyzw = r2.xxxx * r59.wxyz + r29.wxyz;
//     r31.xy = r42.yx ? float2(1,1) : 0;
//     r59.xyzw = cmp((int4)r17.wwww == int4(1,2,3,4));
//     r60.xyzw = cmp((int4)r17.wwww == int4(5,6,7,0));
//     r47.yz = (int2)r59.wz | (int2)r60.xy;
//     r1.y = r17.w ? -0.0666666701 : 6.76666689;
//     r1.y = r59.x ? 1.56666672 : r1.y;
//     r1.y = r59.y ? 0.600000024 : r1.y;
//     r1.y = r59.z ? 1.30000007 : r1.y;
//     r1.y = r47.y ? 1.33333337 : r1.y;
//     r1.y = r60.y ? 2.53333354 : r1.y;
//     r3.y = r60.z ? 1.60000014 : r1.y;
//     r1.y = r51.y + -r48.x;
//     r1.y = cmp(r1.y >= r3.y);
//     r47.y = (int)r1.z | (int)r42.y;
//     r47.y = (int)r42.x | (int)r47.y;
//     r50.z = (int)r1.y | (int)r47.y;
//     r50.z = r60.w ? r50.z : 0;
//     r55.x = r47.y ? 1 : r17.w;
//     r50.z = r50.z ? r55.x : r17.w;
//     r55.xy = r1.yy ? r59.xw : 0;
//     r59.xyz = (int3)r48.www + int3(-1,-2,-3);
//     r0.w = r59.x;
//     r0.z = cb0[9].w;
//     r61.xyz = mad((int3)r0.wyz, int3(0x19660d,0x19660d,0x19660d), int3(0x3c6ef35f,0x3c6ef35f,0x3c6ef35f));
//     r48.w = mad((int)r61.y, (int)r61.y, (int)r61.x);
//     r55.z = mad((int)r61.z, (int)r48.w, (int)r61.y);
//     r58.z = mad((int)r48.w, (int)r55.z, (int)r61.z);
//     r58.z = mad((int)r55.z, (int)r58.z, (int)r61.y);
//     r48.w = mad((int)r55.z, (int)r58.z, (int)r48.w);
//     r48.w = (uint)r48.w >> 8;
//     r48.w = (int)r48.w & 0x00ffffff;
//     r48.w = (uint)r48.w;
//     r48.w = 1.1920929e-07 * r48.w;
//     r48.w = (int)r48.w;
//     r48.w = cmp((int)r48.w != 0);
//     r48.w = r42.x ? r48.w : 0;
//     r48.w = r48.w ? 7 : 4;
//     r48.w = r55.x ? r48.w : r50.z;
//     r48.w = r55.y ? 3 : r48.w;
//     r47.z = r1.y ? r47.z : 0;
//     r0.xw = r59.yz;
//     r55.xyz = mad((int3)r0.xyz, int3(0x19660d,0x19660d,0x19660d), int3(0x3c6ef35f,0x3c6ef35f,0x3c6ef35f));
//     r0.x = mad((int)r55.y, (int)r55.y, (int)r55.x);
//     r50.z = mad((int)r55.z, (int)r0.x, (int)r55.y);
//     r55.x = mad((int)r0.x, (int)r50.z, (int)r55.z);
//     r55.x = mad((int)r50.z, (int)r55.x, (int)r55.y);
//     r0.x = mad((int)r50.z, (int)r55.x, (int)r0.x);
//     r0.x = (uint)r0.x >> 8;
//     r0.x = (int)r0.x & 0x00ffffff;
//     r0.x = (uint)r0.x;
//     r0.x = 1.1920929e-07 * r0.x;
//     r0.x = (int)r0.x;
//     r0.x = cmp((int)r0.x != 0);
//     r0.x = r42.x ? r0.x : 0;
//     r0.x = r0.x ? 7 : 3;
//     r0.x = r47.z ? r0.x : r48.w;
//     r4.y = r47.y ? 0 : r4.y;
//     r47.y = r1.y ? r60.z : 0;
//     r5.w = r47.y ? 4 : r0.x;
//     r55.xyz = float3(500,500,500) * r28.yzw;
//     r55.xyz = r60.zzz ? r55.xyz : 0;
//     r0.x = -cb0[25].y + r56.w;
//     r0.x = saturate(cb0[25].w * r0.x);
//     r47.y = cb0[26].x * r0.x;
//     r47.y = floor(r47.y);
//     r47.z = cmp(r47.y < cb0[26].x);
//     r48.w = 1 + r47.y;
//     r47.z = r47.z ? r48.w : r47.y;
//     r0.x = r0.x * cb0[26].x + -r47.y;
//     r47.y = (uint)r47.y;
//     r47.y = t8.Load(r47.y).x;
//     r47.z = (uint)r47.z;
//     r47.z = t8.Load(r47.z).x;
//     r47.z = r47.z + -r47.y;
//     r0.x = r0.x * r47.z + r47.y;
//     r0.x = r1.w ? r0.x : 1;
//     r59.xyz = r37.xyz * r0.xxx;
//     r61.xyzw = r1.zzzz ? float4(300,0.00500000035,600,500) : float4(200,0.0100000007,250,200);
//     r0.x = r4.y ? 0 : r61.x;
//     r1.w = mad((int)r51.x, 0x0019660d, 0x3c6ef35f);
//     r47.y = mad((int)r1.w, 0x3c88596c, 0x3d8655ee);
//     r1.w = mad(0x3c88596c, (int)r47.y, (int)r1.w);
//     r47.z = mad((int)r47.y, (int)r1.w, 0x3c88596c);
//     r1.w = mad((int)r1.w, (int)r47.z, (int)r47.y);
//     r1.w = (uint)r1.w >> 8;
//     r1.w = (int)r1.w & 0x00ffffff;
//     r1.w = (uint)r1.w;
//     r54.xyz = r24.yzw / r54.xyz;
//     r54.xyz = r1.www * float3(0.0001586914,3.05175781e-05,9.03320324e-05) + r54.xyz;
//     r62.xyz = float3(0,0,1) * r51.yyy;
//     r54.xyz = r54.xyz * r61.yyy + -r62.xyz;
//     r54.xyz = r54.xyz * float3(125,125,125) + -cb0[32].xyz;
//     r62.xyz = cb0[33].xyz + -cb0[32].xyz;
//     r54.xyz = r54.xyz / r62.xyz;
//     r54.xyz = t9.SampleLevel(s1_s, r54.xyz, 0).xyz;
//     r54.xyz = r54.xyz * r0.xxx + r55.xyz;
//     r0.x = dot(r52.xyz, r52.xyz);
//     r52.w = sqrt(r0.x);
//     r0.x = cmp(r52.w < 9.99999975e-06);
//     r25.w = 1;
//     r62.xyzw = r0.xxxx ? r25.xyzw : r52.xyzw;
//     r55.xyz = r62.xyz / r62.www;
//     r55.xyz = r0.xxx ? r25.xyz : r55.xyz;
//     r22.z = r24.x;
//     r62.xyz = r1.xxx ? r55.xyz : r22.xyz;
//     r0.x = saturate(r51.z);
//     r55.xyz = -r62.xyz + r55.xyz;
//     r22.xyz = r0.xxx * r55.xyz + r62.xyz;
//     r0.x = dot(r22.xyz, r22.xyz);
//     r22.w = sqrt(r0.x);
//     r0.x = cmp(r22.w < 9.99999975e-06);
//     r62.xyzw = r0.xxxx ? r25.xyzw : r22.xyzw;
//     r55.xyz = r62.xyz / r62.www;
//     r25.xyz = r0.xxx ? r25.xyz : r55.xyz;
//     r55.xyz = -cb0[1].xyz + r24.yzw;
//     r55.xyz = cb0[1].www + r55.xyz;
//     r55.xyz = max(float3(0,0,0), r55.xyz);
//     r62.xyz = cb0[1].xyz + cb0[1].www;
//     r63.xyz = r62.xyz + -r24.yzw;
//     r63.xyz = max(float3(0,0,0), r63.xyz);
//     r55.xyz = min(r63.xyz, r55.xyz);
//     r0.x = min(r55.y, r55.z);
//     r0.x = min(r55.x, r0.x);
//     r1.w = cb0[9].y * cb0[1].w;
//     r22.w = cmp(r1.w < r0.x);
//     if (r22.w != 0) {
//       r55.xyz = r24.yzw * cb0[5].www + cb0[5].xyz;
//       r47.y = t0.SampleLevel(s0_s, r55.xyz, 0).x;
//     } else {
//       r55.xyz = -cb0[2].xyz + r24.yzw;
//       r55.xyz = cb0[2].www + r55.xyz;
//       r55.xyz = max(float3(0,0,0), r55.xyz);
//       r63.xyz = cb0[2].xyz + cb0[2].www;
//       r63.xyz = r63.xyz + -r24.yzw;
//       r63.xyz = max(float3(0,0,0), r63.xyz);
//       r55.xyz = min(r63.xyz, r55.xyz);
//       r47.z = min(r55.y, r55.z);
//       r47.z = min(r55.x, r47.z);
//       r48.w = cb0[9].y * cb0[2].w;
//       r47.z = cmp(r48.w < r47.z);
//       if (r47.z != 0) {
//         r55.xyz = r24.yzw * cb0[6].www + cb0[6].xyz;
//         r47.y = t1.SampleLevel(s0_s, r55.xyz, 0).x;
//       } else {
//         r55.xyz = -cb0[3].xyz + r24.yzw;
//         r55.xyz = cb0[3].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r63.xyz = cb0[3].xyz + cb0[3].www;
//         r63.xyz = r63.xyz + -r24.yzw;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r55.xyz = min(r63.xyz, r55.xyz);
//         r47.z = min(r55.y, r55.z);
//         r47.z = min(r55.x, r47.z);
//         r55.xyz = -cb0[4].xyz + r24.yzw;
//         r55.xyz = cb0[4].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r63.xyz = cb0[4].xyz + cb0[4].www;
//         r63.xyz = r63.xyz + -r24.yzw;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r55.xyz = min(r63.xyz, r55.xyz);
//         r48.w = min(r55.y, r55.z);
//         r48.w = min(r55.x, r48.w);
//         r50.z = cb0[9].y * cb0[3].w;
//         r47.z = cmp(r50.z < r47.z);
//         if (r47.z != 0) {
//           r55.xyz = r24.yzw * cb0[7].www + cb0[7].xyz;
//           r47.y = t2.SampleLevel(s0_s, r55.xyz, 0).x;
//         } else {
//           r47.z = cb0[9].y * cb0[4].w;
//           r47.z = cmp(r47.z < r48.w);
//           if (r47.z != 0) {
//             r47.z = cb0[8].w * r48.w;
//             r47.z = saturate(10 * r47.z);
//             r55.xyz = r24.yzw * cb0[8].www + cb0[8].xyz;
//             r48.w = t3.SampleLevel(s0_s, r55.xyz, 0).x;
//             r48.w = -cb0[0].x + r48.w;
//             r47.y = r47.z * r48.w + cb0[0].x;
//           } else {
//             r47.y = cb0[0].x;
//           }
//         }
//       }
//     }
//     r47.z = 4 * cb0[9].y;
//     r48.w = cb0[1].w * r47.z;
//     r0.x = cmp(r48.w < r0.x);
//     if (r0.x != 0) {
//       r63.xyz = r24.yzw * cb0[5].www + cb0[5].xyz;
//       r55.xyz = cb0[9].yyy + r63.xyz;
//       r63.w = r55.x;
//       r50.z = t0.SampleLevel(s0_s, r63.wyz, 0).x;
//       r64.xyw = -cb0[9].yyy + r63.xyz;
//       r65.xw = r64.xy;
//       r65.yz = r63.yz;
//       r51.x = t0.SampleLevel(s0_s, r65.xyz, 0).x;
//       r65.xz = r63.xz;
//       r65.y = r55.y;
//       r52.w = t0.SampleLevel(s0_s, r65.xyz, 0).x;
//       r55.x = t0.SampleLevel(s0_s, r65.xwz, 0).x;
//       r64.xy = r63.xy;
//       r64.z = r55.z;
//       r55.y = t0.SampleLevel(s0_s, r64.xyz, 0).x;
//       r55.z = t0.SampleLevel(s0_s, r64.xyw, 0).x;
//       r63.x = -r51.x + r50.z;
//       r63.y = -r55.x + r52.w;
//       r63.z = r55.y + -r55.z;
//       r55.xyz = float3(0.5,0.5,0.5) * r63.xyz;
//       r63.xyz = r55.xyz / cb0[1].www;
//     } else {
//       r55.xyz = -cb0[2].xyz + r24.yzw;
//       r55.xyz = cb0[2].www + r55.xyz;
//       r55.xyz = max(float3(0,0,0), r55.xyz);
//       r64.xyz = cb0[2].xyz + cb0[2].www;
//       r64.xyz = r64.xyz + -r24.yzw;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r55.xyz = min(r64.xyz, r55.xyz);
//       r50.z = min(r55.y, r55.z);
//       r50.z = min(r55.x, r50.z);
//       r51.x = cb0[2].w * r47.z;
//       r50.z = cmp(r51.x < r50.z);
//       if (r50.z != 0) {
//         r64.xyz = r24.yzw * cb0[6].www + cb0[6].xyz;
//         r55.xyz = cb0[9].yyy + r64.xyz;
//         r64.w = r55.x;
//         r50.z = t1.SampleLevel(s0_s, r64.wyz, 0).x;
//         r65.xyw = -cb0[9].yyy + r64.xyz;
//         r66.xw = r65.xy;
//         r66.yz = r64.yz;
//         r51.x = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//         r66.xz = r64.xz;
//         r66.y = r55.y;
//         r52.w = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//         r55.x = t1.SampleLevel(s0_s, r66.xwz, 0).x;
//         r65.xy = r64.xy;
//         r65.z = r55.z;
//         r55.y = t1.SampleLevel(s0_s, r65.xyz, 0).x;
//         r55.z = t1.SampleLevel(s0_s, r65.xyw, 0).x;
//         r64.x = -r51.x + r50.z;
//         r64.y = -r55.x + r52.w;
//         r64.z = r55.y + -r55.z;
//         r55.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//         r63.xyz = r55.xyz / cb0[2].www;
//       } else {
//         r55.xyz = -cb0[3].xyz + r24.yzw;
//         r55.xyz = cb0[3].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r64.xyz = cb0[3].xyz + cb0[3].www;
//         r64.xyz = r64.xyz + -r24.yzw;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r55.xyz = min(r64.xyz, r55.xyz);
//         r50.z = min(r55.y, r55.z);
//         r50.z = min(r55.x, r50.z);
//         r55.xyz = -cb0[4].xyz + r24.yzw;
//         r55.xyz = cb0[4].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r64.xyz = cb0[4].xyz + cb0[4].www;
//         r64.xyz = r64.xyz + -r24.yzw;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r55.xyz = min(r64.xyz, r55.xyz);
//         r51.x = min(r55.y, r55.z);
//         r51.x = min(r55.x, r51.x);
//         r52.w = cb0[3].w * r47.z;
//         r50.z = cmp(r52.w < r50.z);
//         if (r50.z != 0) {
//           r64.xyz = r24.yzw * cb0[7].www + cb0[7].xyz;
//           r55.xyz = cb0[9].yyy + r64.xyz;
//           r64.w = r55.x;
//           r50.z = t2.SampleLevel(s0_s, r64.wyz, 0).x;
//           r65.xyw = -cb0[9].yyy + r64.xyz;
//           r66.xw = r65.xy;
//           r66.yz = r64.yz;
//           r52.w = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//           r66.xz = r64.xz;
//           r66.y = r55.y;
//           r55.x = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//           r55.y = t2.SampleLevel(s0_s, r66.xwz, 0).x;
//           r65.xy = r64.xy;
//           r65.z = r55.z;
//           r55.z = t2.SampleLevel(s0_s, r65.xyz, 0).x;
//           r56.w = t2.SampleLevel(s0_s, r65.xyw, 0).x;
//           r64.x = -r52.w + r50.z;
//           r64.y = r55.x + -r55.y;
//           r64.z = -r56.w + r55.z;
//           r55.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//           r63.xyz = r55.xyz / cb0[3].www;
//         } else {
//           r50.z = cb0[4].w * r47.z;
//           r50.z = cmp(r50.z < r51.x);
//           if (r50.z != 0) {
//             r64.xyz = r24.yzw * cb0[8].www + cb0[8].xyz;
//             r55.xyz = cb0[9].yyy + r64.xyz;
//             r64.w = r55.x;
//             r50.z = t3.SampleLevel(s0_s, r64.wyz, 0).x;
//             r65.xyw = -cb0[9].yyy + r64.xyz;
//             r66.xw = r65.xy;
//             r66.yz = r64.yz;
//             r51.x = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//             r66.xz = r64.xz;
//             r66.y = r55.y;
//             r52.w = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//             r55.x = t3.SampleLevel(s0_s, r66.xwz, 0).x;
//             r65.xy = r64.xy;
//             r65.z = r55.z;
//             r55.y = t3.SampleLevel(s0_s, r65.xyz, 0).x;
//             r55.z = t3.SampleLevel(s0_s, r65.xyw, 0).x;
//             r64.x = -r51.x + r50.z;
//             r64.y = -r55.x + r52.w;
//             r64.z = r55.y + -r55.z;
//             r55.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//             r63.xyz = r55.xyz / cb0[4].www;
//           } else {
//             r63.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r50.z = cmp(0 < cb0[0].x);
//     r51.x = cmp(0 < r47.y);
//     r55.xyz = cmp(r63.xyz == float3(0,0,0.00100000005));
//     r52.w = r55.y ? r55.x : 0;
//     r52.w = r55.z ? r52.w : 0;
//     r51.x = r51.x ? r52.w : 0;
//     r51.x = ~(int)r51.x;
//     r51.x = r50.z ? r51.x : 0;
//     r52.w = cmp((int)r51.x == -1);
//     if (r52.w != 0) {
//       r52.w = cmp(25 < r47.y);
//       r55.x = ~(int)r52.w;
//       if (r52.w != 0) {
//         r52.w = dot(r25.xyz, r25.xyz);
//         r25.w = sqrt(r52.w);
//         r52.w = cmp(r25.w < 9.99999975e-06);
//         r64.xyzw = r52.wwww ? float4(0,0,1,1) : r25.xyzw;
//         r64.xyz = r64.xyz / r64.www;
//         r64.xyz = r52.www ? float3(0,0,1) : r64.xyz;
//         r65.xyz = cb0[2].xyz + cb0[2].www;
//         r25.w = cb0[9].y * cb0[2].w;
//         r66.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r52.w = cb0[9].y * cb0[3].w;
//         r55.y = cb0[9].y * cb0[4].w;
//         r55.z = cb0[2].w * r47.z;
//         r56.w = cb0[3].w * r47.z;
//         r58.z = cb0[4].w * r47.z;
//         r68.xyz = r63.xyz;
//         r69.xyz = r24.yzw;
//         r58.w = r47.y;
//         r59.w = 100;
//         r51.x = -1;
//         r60.x = 0;
//         while (true) {
//           r61.x = cmp((uint)r60.x >= 5);
//           if (r61.x != 0) break;
//           r70.xyz = -cb0[1].xyz + r69.xyz;
//           r70.xyz = cb0[1].www + r70.xyz;
//           r70.xyz = max(float3(0,0,0), r70.xyz);
//           r71.xyz = -r69.xyz + r62.xyz;
//           r71.xyz = max(float3(0,0,0), r71.xyz);
//           r70.xyz = min(r71.xyz, r70.xyz);
//           r61.x = min(r70.y, r70.z);
//           r61.x = min(r70.x, r61.x);
//           r61.y = cmp(r1.w < r61.x);
//           if (r61.y != 0) {
//             r70.xyz = r69.xyz * cb0[5].www + cb0[5].xyz;
//             r59.w = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//           } else {
//             r70.xyz = -cb0[2].xyz + r69.xyz;
//             r70.xyz = cb0[2].www + r70.xyz;
//             r70.xyz = max(float3(0,0,0), r70.xyz);
//             r71.xyz = -r69.xyz + r65.xyz;
//             r71.xyz = max(float3(0,0,0), r71.xyz);
//             r70.xyz = min(r71.xyz, r70.xyz);
//             r61.y = min(r70.y, r70.z);
//             r61.y = min(r70.x, r61.y);
//             r61.y = cmp(r25.w < r61.y);
//             if (r61.y != 0) {
//               r70.xyz = r69.xyz * cb0[6].www + cb0[6].xyz;
//               r59.w = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//             } else {
//               r70.xyz = -cb0[3].xyz + r69.xyz;
//               r70.xyz = cb0[3].www + r70.xyz;
//               r70.xyz = max(float3(0,0,0), r70.xyz);
//               r71.xyz = -r69.xyz + r66.xyz;
//               r71.xyz = max(float3(0,0,0), r71.xyz);
//               r70.xyz = min(r71.xyz, r70.xyz);
//               r61.y = min(r70.y, r70.z);
//               r61.y = min(r70.x, r61.y);
//               r70.xyz = -cb0[4].xyz + r69.xyz;
//               r70.xyz = cb0[4].www + r70.xyz;
//               r70.xyz = max(float3(0,0,0), r70.xyz);
//               r71.xyz = -r69.xyz + r67.xyz;
//               r71.xyz = max(float3(0,0,0), r71.xyz);
//               r70.xyz = min(r71.xyz, r70.xyz);
//               r62.w = min(r70.y, r70.z);
//               r62.w = min(r70.x, r62.w);
//               r61.y = cmp(r52.w < r61.y);
//               if (r61.y != 0) {
//                 r70.xyz = r69.xyz * cb0[7].www + cb0[7].xyz;
//                 r59.w = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//               } else {
//                 r61.y = cmp(r55.y < r62.w);
//                 if (r61.y != 0) {
//                   r61.y = cb0[8].w * r62.w;
//                   r61.y = saturate(10 * r61.y);
//                   r70.xyz = r69.xyz * cb0[8].www + cb0[8].xyz;
//                   r62.w = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//                   r62.w = -cb0[0].x + r62.w;
//                   r59.w = r61.y * r62.w + cb0[0].x;
//                 } else {
//                   r59.w = cb0[0].x;
//                 }
//               }
//             }
//           }
//           r61.x = cmp(r48.w < r61.x);
//           if (r61.x != 0) {
//             r70.xyz = r69.xyz * cb0[5].www + cb0[5].xyz;
//             r71.xyz = cb0[9].yyy + r70.xyz;
//             r70.w = r71.x;
//             r61.x = t0.SampleLevel(s0_s, r70.wyz, 0).x;
//             r72.xyw = -cb0[9].yyy + r70.xyz;
//             r73.xw = r72.xy;
//             r73.yz = r70.yz;
//             r61.y = t0.SampleLevel(s0_s, r73.xyz, 0).x;
//             r73.xz = r70.xz;
//             r73.y = r71.y;
//             r62.w = t0.SampleLevel(s0_s, r73.xyz, 0).x;
//             r64.w = t0.SampleLevel(s0_s, r73.xwz, 0).x;
//             r72.xy = r70.xy;
//             r72.z = r71.z;
//             r65.w = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//             r66.w = t0.SampleLevel(s0_s, r72.xyw, 0).x;
//             r70.x = r61.x + -r61.y;
//             r70.y = -r64.w + r62.w;
//             r70.z = -r66.w + r65.w;
//             r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//             r68.xyz = r70.xyz / cb0[1].www;
//           } else {
//             r70.xyz = -cb0[2].xyz + r69.xyz;
//             r70.xyz = cb0[2].www + r70.xyz;
//             r70.xyz = max(float3(0,0,0), r70.xyz);
//             r71.xyz = -r69.xyz + r65.xyz;
//             r71.xyz = max(float3(0,0,0), r71.xyz);
//             r70.xyz = min(r71.xyz, r70.xyz);
//             r61.x = min(r70.y, r70.z);
//             r61.x = min(r70.x, r61.x);
//             r61.x = cmp(r55.z < r61.x);
//             if (r61.x != 0) {
//               r70.xyz = r69.xyz * cb0[6].www + cb0[6].xyz;
//               r71.xyz = cb0[9].yyy + r70.xyz;
//               r70.w = r71.x;
//               r61.x = t1.SampleLevel(s0_s, r70.wyz, 0).x;
//               r72.xyw = -cb0[9].yyy + r70.xyz;
//               r73.xw = r72.xy;
//               r73.yz = r70.yz;
//               r61.y = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//               r73.xz = r70.xz;
//               r73.y = r71.y;
//               r62.w = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//               r64.w = t1.SampleLevel(s0_s, r73.xwz, 0).x;
//               r72.xy = r70.xy;
//               r72.z = r71.z;
//               r65.w = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//               r66.w = t1.SampleLevel(s0_s, r72.xyw, 0).x;
//               r70.x = r61.x + -r61.y;
//               r70.y = -r64.w + r62.w;
//               r70.z = -r66.w + r65.w;
//               r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//               r68.xyz = r70.xyz / cb0[2].www;
//             } else {
//               r70.xyz = -cb0[3].xyz + r69.xyz;
//               r70.xyz = cb0[3].www + r70.xyz;
//               r70.xyz = max(float3(0,0,0), r70.xyz);
//               r71.xyz = -r69.xyz + r66.xyz;
//               r71.xyz = max(float3(0,0,0), r71.xyz);
//               r70.xyz = min(r71.xyz, r70.xyz);
//               r61.x = min(r70.y, r70.z);
//               r61.x = min(r70.x, r61.x);
//               r70.xyz = -cb0[4].xyz + r69.xyz;
//               r70.xyz = cb0[4].www + r70.xyz;
//               r70.xyz = max(float3(0,0,0), r70.xyz);
//               r71.xyz = -r69.xyz + r67.xyz;
//               r71.xyz = max(float3(0,0,0), r71.xyz);
//               r70.xyz = min(r71.xyz, r70.xyz);
//               r61.y = min(r70.y, r70.z);
//               r61.y = min(r70.x, r61.y);
//               r61.x = cmp(r56.w < r61.x);
//               if (r61.x != 0) {
//                 r70.xyz = r69.xyz * cb0[7].www + cb0[7].xyz;
//                 r71.xyz = cb0[9].yyy + r70.xyz;
//                 r70.w = r71.x;
//                 r61.x = t2.SampleLevel(s0_s, r70.wyz, 0).x;
//                 r72.xyw = -cb0[9].yyy + r70.xyz;
//                 r73.xw = r72.xy;
//                 r73.yz = r70.yz;
//                 r62.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//                 r73.xz = r70.xz;
//                 r73.y = r71.y;
//                 r64.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//                 r65.w = t2.SampleLevel(s0_s, r73.xwz, 0).x;
//                 r72.xy = r70.xy;
//                 r72.z = r71.z;
//                 r66.w = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//                 r67.w = t2.SampleLevel(s0_s, r72.xyw, 0).x;
//                 r70.x = -r62.w + r61.x;
//                 r70.y = -r65.w + r64.w;
//                 r70.z = -r67.w + r66.w;
//                 r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//                 r68.xyz = r70.xyz / cb0[3].www;
//               } else {
//                 r61.x = cmp(r58.z < r61.y);
//                 if (r61.x != 0) {
//                   r70.xyz = r69.xyz * cb0[8].www + cb0[8].xyz;
//                   r71.xyz = cb0[9].yyy + r70.xyz;
//                   r70.w = r71.x;
//                   r61.x = t3.SampleLevel(s0_s, r70.wyz, 0).x;
//                   r72.xyw = -cb0[9].yyy + r70.xyz;
//                   r73.xw = r72.xy;
//                   r73.yz = r70.yz;
//                   r61.y = t3.SampleLevel(s0_s, r73.xyz, 0).x;
//                   r73.xz = r70.xz;
//                   r73.y = r71.y;
//                   r62.w = t3.SampleLevel(s0_s, r73.xyz, 0).x;
//                   r64.w = t3.SampleLevel(s0_s, r73.xwz, 0).x;
//                   r72.xy = r70.xy;
//                   r72.z = r71.z;
//                   r65.w = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//                   r66.w = t3.SampleLevel(s0_s, r72.xyw, 0).x;
//                   r70.x = r61.x + -r61.y;
//                   r70.y = -r64.w + r62.w;
//                   r70.z = -r66.w + r65.w;
//                   r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//                   r68.xyz = r70.xyz / cb0[4].www;
//                 } else {
//                   r68.xyz = float3(0,0,0.00100000005);
//                 }
//               }
//             }
//           }
//           r61.xy = cmp(float2(0,25) < r59.ww);
//           r70.xyz = cmp(r68.xyz == float3(0,0,0.00100000005));
//           r62.w = r70.y ? r70.x : 0;
//           r62.w = r70.z ? r62.w : 0;
//           r61.x = r61.x ? r62.w : 0;
//           r61.x = ~(int)r61.x;
//           r51.x = r50.z ? r61.x : 0;
//           r70.xyz = r64.xyz * r59.www + r69.xyz;
//           r69.xyz = r61.yyy ? r70.xyz : r69.xyz;
//           r60.x = (int)r60.x + 1;
//           r58.w = r59.w;
//         }
//         r63.xyz = r68.xyz;
//         r47.y = r58.w;
//       } else {
//         r69.xyz = r24.yzw;
//         r59.w = 100;
//         r51.x = -1;
//       }
//     } else {
//       r69.xyz = r24.yzw;
//       r55.x = 0;
//       r59.w = 100;
//     }
//     r25.w = cmp(r47.y < 25);
//     r25.w = r25.w ? r51.x : 0;
//     r47.y = dot(r63.xyz, r63.xyz);
//     r63.w = sqrt(r47.y);
//     r47.y = cmp(r63.w < 9.99999975e-06);
//     r63.xyzw = r47.yyyy ? float4(0,0,1,1) : r63.xyzw;
//     r63.xyz = r63.xyz / r63.www;
//     r64.xyz = -r69.xyz + r24.yzw;
//     r51.x = dot(r64.xyz, r64.xyz);
//     r51.x = sqrt(r51.x);
//     r51.x = cmp(r51.x < 100);
//     r51.x = r25.w ? r51.x : 0;
//     r64.xyz = float3(2,0,0) + r69.xyz;
//     r65.xyz = -cb0[1].xyz + r64.xyz;
//     r65.xyz = cb0[1].www + r65.xyz;
//     r65.xyz = max(float3(0,0,0), r65.xyz);
//     r66.xyz = -r64.xyz + r62.xyz;
//     r66.xyz = max(float3(0,0,0), r66.xyz);
//     r65.xyz = min(r66.xyz, r65.xyz);
//     r52.w = min(r65.y, r65.z);
//     r52.w = min(r65.x, r52.w);
//     r55.y = cmp(r1.w < r52.w);
//     if (r55.y != 0) {
//       r65.xyz = r64.xyz * cb0[5].www + cb0[5].xyz;
//       r55.y = t0.SampleLevel(s0_s, r65.xyz, 0).x;
//     } else {
//       r65.xyz = -cb0[2].xyz + r64.xyz;
//       r65.xyz = cb0[2].www + r65.xyz;
//       r65.xyz = max(float3(0,0,0), r65.xyz);
//       r66.xyz = cb0[2].xyz + cb0[2].www;
//       r66.xyz = r66.xyz + -r64.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r65.xyz = min(r66.xyz, r65.xyz);
//       r55.z = min(r65.y, r65.z);
//       r55.z = min(r65.x, r55.z);
//       r56.w = cb0[9].y * cb0[2].w;
//       r55.z = cmp(r56.w < r55.z);
//       if (r55.z != 0) {
//         r65.xyz = r64.xyz * cb0[6].www + cb0[6].xyz;
//         r55.y = t1.SampleLevel(s0_s, r65.xyz, 0).x;
//       } else {
//         r65.xyz = -cb0[3].xyz + r64.xyz;
//         r65.xyz = cb0[3].www + r65.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r66.xyz = cb0[3].xyz + cb0[3].www;
//         r66.xyz = r66.xyz + -r64.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r65.xyz = min(r66.xyz, r65.xyz);
//         r55.z = min(r65.y, r65.z);
//         r55.z = min(r65.x, r55.z);
//         r65.xyz = -cb0[4].xyz + r64.xyz;
//         r65.xyz = cb0[4].www + r65.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r66.xyz = cb0[4].xyz + cb0[4].www;
//         r66.xyz = r66.xyz + -r64.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r65.xyz = min(r66.xyz, r65.xyz);
//         r56.w = min(r65.y, r65.z);
//         r56.w = min(r65.x, r56.w);
//         r58.z = cb0[9].y * cb0[3].w;
//         r55.z = cmp(r58.z < r55.z);
//         if (r55.z != 0) {
//           r65.xyz = r64.xyz * cb0[7].www + cb0[7].xyz;
//           r55.y = t2.SampleLevel(s0_s, r65.xyz, 0).x;
//         } else {
//           r55.z = cb0[9].y * cb0[4].w;
//           r55.z = cmp(r55.z < r56.w);
//           if (r55.z != 0) {
//             r55.z = cb0[8].w * r56.w;
//             r55.z = saturate(10 * r55.z);
//             r65.xyz = r64.xyz * cb0[8].www + cb0[8].xyz;
//             r56.w = t3.SampleLevel(s0_s, r65.xyz, 0).x;
//             r56.w = -cb0[0].x + r56.w;
//             r55.y = r55.z * r56.w + cb0[0].x;
//           } else {
//             r55.y = cb0[0].x;
//           }
//         }
//       }
//     }
//     r52.w = cmp(r48.w < r52.w);
//     if (r52.w != 0) {
//       r65.xyz = r64.xyz * cb0[5].www + cb0[5].xyz;
//       r66.xyz = cb0[9].yyy + r65.xyz;
//       r65.w = r66.x;
//       r52.w = t0.SampleLevel(s0_s, r65.wyz, 0).x;
//       r67.xyw = -cb0[9].yyy + r65.xyz;
//       r68.xw = r67.xy;
//       r68.yz = r65.yz;
//       r55.z = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r68.xz = r65.xz;
//       r68.y = r66.y;
//       r56.w = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r58.z = t0.SampleLevel(s0_s, r68.xwz, 0).x;
//       r67.xy = r65.xy;
//       r67.z = r66.z;
//       r58.w = t0.SampleLevel(s0_s, r67.xyz, 0).x;
//       r60.x = t0.SampleLevel(s0_s, r67.xyw, 0).x;
//       r65.x = -r55.z + r52.w;
//       r65.y = -r58.z + r56.w;
//       r65.z = -r60.x + r58.w;
//       r65.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//       r65.xyz = r65.xyz / cb0[1].www;
//     } else {
//       r66.xyz = -cb0[2].xyz + r64.xyz;
//       r66.xyz = cb0[2].www + r66.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r64.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r66.xyz = min(r67.xyz, r66.xyz);
//       r52.w = min(r66.y, r66.z);
//       r52.w = min(r66.x, r52.w);
//       r55.z = cb0[2].w * r47.z;
//       r52.w = cmp(r55.z < r52.w);
//       if (r52.w != 0) {
//         r66.xyz = r64.xyz * cb0[6].www + cb0[6].xyz;
//         r67.xyz = cb0[9].yyy + r66.xyz;
//         r66.w = r67.x;
//         r52.w = t1.SampleLevel(s0_s, r66.wyz, 0).x;
//         r68.xyw = -cb0[9].yyy + r66.xyz;
//         r70.xw = r68.xy;
//         r70.yz = r66.yz;
//         r55.z = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r70.xz = r66.xz;
//         r70.y = r67.y;
//         r56.w = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r58.z = t1.SampleLevel(s0_s, r70.xwz, 0).x;
//         r68.xy = r66.xy;
//         r68.z = r67.z;
//         r58.w = t1.SampleLevel(s0_s, r68.xyz, 0).x;
//         r60.x = t1.SampleLevel(s0_s, r68.xyw, 0).x;
//         r66.x = -r55.z + r52.w;
//         r66.y = -r58.z + r56.w;
//         r66.z = -r60.x + r58.w;
//         r66.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//         r65.xyz = r66.xyz / cb0[2].www;
//       } else {
//         r66.xyz = -cb0[3].xyz + r64.xyz;
//         r66.xyz = cb0[3].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r64.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r52.w = min(r66.y, r66.z);
//         r52.w = min(r66.x, r52.w);
//         r66.xyz = -cb0[4].xyz + r64.xyz;
//         r66.xyz = cb0[4].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r64.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r55.z = min(r66.y, r66.z);
//         r55.z = min(r66.x, r55.z);
//         r56.w = cb0[3].w * r47.z;
//         r52.w = cmp(r56.w < r52.w);
//         if (r52.w != 0) {
//           r66.xyz = r64.xyz * cb0[7].www + cb0[7].xyz;
//           r67.xyz = cb0[9].yyy + r66.xyz;
//           r66.w = r67.x;
//           r52.w = t2.SampleLevel(s0_s, r66.wyz, 0).x;
//           r68.xyw = -cb0[9].yyy + r66.xyz;
//           r70.xw = r68.xy;
//           r70.yz = r66.yz;
//           r56.w = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r70.xz = r66.xz;
//           r70.y = r67.y;
//           r58.z = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r58.w = t2.SampleLevel(s0_s, r70.xwz, 0).x;
//           r68.xy = r66.xy;
//           r68.z = r67.z;
//           r60.x = t2.SampleLevel(s0_s, r68.xyz, 0).x;
//           r61.x = t2.SampleLevel(s0_s, r68.xyw, 0).x;
//           r66.x = -r56.w + r52.w;
//           r66.y = r58.z + -r58.w;
//           r66.z = -r61.x + r60.x;
//           r66.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//           r65.xyz = r66.xyz / cb0[3].www;
//         } else {
//           r52.w = cb0[4].w * r47.z;
//           r52.w = cmp(r52.w < r55.z);
//           if (r52.w != 0) {
//             r64.xyz = r64.xyz * cb0[8].www + cb0[8].xyz;
//             r66.xyz = cb0[9].yyy + r64.xyz;
//             r64.w = r66.x;
//             r52.w = t3.SampleLevel(s0_s, r64.wyz, 0).x;
//             r67.xyw = -cb0[9].yyy + r64.xyz;
//             r68.xw = r67.xy;
//             r68.yz = r64.yz;
//             r55.z = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r68.xz = r64.xz;
//             r68.y = r66.y;
//             r56.w = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r58.z = t3.SampleLevel(s0_s, r68.xwz, 0).x;
//             r67.xy = r64.xy;
//             r67.z = r66.z;
//             r58.w = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//             r60.x = t3.SampleLevel(s0_s, r67.xyw, 0).x;
//             r64.x = -r55.z + r52.w;
//             r64.y = -r58.z + r56.w;
//             r64.z = -r60.x + r58.w;
//             r64.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//             r65.xyz = r64.xyz / cb0[4].www;
//           } else {
//             r65.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r52.w = cmp(0 < r55.y);
//     r64.xyz = cmp(r65.xyz == float3(0,0,0.00100000005));
//     r55.z = r64.y ? r64.x : 0;
//     r55.z = r64.z ? r55.z : 0;
//     r52.w = r52.w ? r55.z : 0;
//     r64.xyz = float3(-2,0,0) + r69.xyz;
//     r65.xyz = -cb0[1].xyz + r64.xyz;
//     r65.xyz = cb0[1].www + r65.xyz;
//     r65.xyz = max(float3(0,0,0), r65.xyz);
//     r66.xyz = -r64.xyz + r62.xyz;
//     r66.xyz = max(float3(0,0,0), r66.xyz);
//     r65.xyz = min(r66.xyz, r65.xyz);
//     r55.z = min(r65.y, r65.z);
//     r55.z = min(r65.x, r55.z);
//     r56.w = cmp(r1.w < r55.z);
//     if (r56.w != 0) {
//       r65.xyz = r64.xyz * cb0[5].www + cb0[5].xyz;
//       r56.w = t0.SampleLevel(s0_s, r65.xyz, 0).x;
//     } else {
//       r65.xyz = -cb0[2].xyz + r64.xyz;
//       r65.xyz = cb0[2].www + r65.xyz;
//       r65.xyz = max(float3(0,0,0), r65.xyz);
//       r66.xyz = cb0[2].xyz + cb0[2].www;
//       r66.xyz = r66.xyz + -r64.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r65.xyz = min(r66.xyz, r65.xyz);
//       r58.z = min(r65.y, r65.z);
//       r58.z = min(r65.x, r58.z);
//       r58.w = cb0[9].y * cb0[2].w;
//       r58.z = cmp(r58.w < r58.z);
//       if (r58.z != 0) {
//         r65.xyz = r64.xyz * cb0[6].www + cb0[6].xyz;
//         r56.w = t1.SampleLevel(s0_s, r65.xyz, 0).x;
//       } else {
//         r65.xyz = -cb0[3].xyz + r64.xyz;
//         r65.xyz = cb0[3].www + r65.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r66.xyz = cb0[3].xyz + cb0[3].www;
//         r66.xyz = r66.xyz + -r64.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r65.xyz = min(r66.xyz, r65.xyz);
//         r58.z = min(r65.y, r65.z);
//         r58.z = min(r65.x, r58.z);
//         r65.xyz = -cb0[4].xyz + r64.xyz;
//         r65.xyz = cb0[4].www + r65.xyz;
//         r65.xyz = max(float3(0,0,0), r65.xyz);
//         r66.xyz = cb0[4].xyz + cb0[4].www;
//         r66.xyz = r66.xyz + -r64.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r65.xyz = min(r66.xyz, r65.xyz);
//         r58.w = min(r65.y, r65.z);
//         r58.w = min(r65.x, r58.w);
//         r60.x = cb0[9].y * cb0[3].w;
//         r58.z = cmp(r60.x < r58.z);
//         if (r58.z != 0) {
//           r65.xyz = r64.xyz * cb0[7].www + cb0[7].xyz;
//           r56.w = t2.SampleLevel(s0_s, r65.xyz, 0).x;
//         } else {
//           r58.z = cb0[9].y * cb0[4].w;
//           r58.z = cmp(r58.z < r58.w);
//           if (r58.z != 0) {
//             r58.z = cb0[8].w * r58.w;
//             r58.z = saturate(10 * r58.z);
//             r65.xyz = r64.xyz * cb0[8].www + cb0[8].xyz;
//             r58.w = t3.SampleLevel(s0_s, r65.xyz, 0).x;
//             r58.w = -cb0[0].x + r58.w;
//             r56.w = r58.z * r58.w + cb0[0].x;
//           } else {
//             r56.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r55.z = cmp(r48.w < r55.z);
//     if (r55.z != 0) {
//       r65.xyz = r64.xyz * cb0[5].www + cb0[5].xyz;
//       r66.xyz = cb0[9].yyy + r65.xyz;
//       r65.w = r66.x;
//       r55.z = t0.SampleLevel(s0_s, r65.wyz, 0).x;
//       r67.xyw = -cb0[9].yyy + r65.xyz;
//       r68.xw = r67.xy;
//       r68.yz = r65.yz;
//       r58.z = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r68.xz = r65.xz;
//       r68.y = r66.y;
//       r58.w = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r60.x = t0.SampleLevel(s0_s, r68.xwz, 0).x;
//       r67.xy = r65.xy;
//       r67.z = r66.z;
//       r61.x = t0.SampleLevel(s0_s, r67.xyz, 0).x;
//       r61.y = t0.SampleLevel(s0_s, r67.xyw, 0).x;
//       r65.x = -r58.z + r55.z;
//       r65.y = -r60.x + r58.w;
//       r65.z = r61.x + -r61.y;
//       r65.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//       r65.xyz = r65.xyz / cb0[1].www;
//     } else {
//       r66.xyz = -cb0[2].xyz + r64.xyz;
//       r66.xyz = cb0[2].www + r66.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r64.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r66.xyz = min(r67.xyz, r66.xyz);
//       r55.z = min(r66.y, r66.z);
//       r55.z = min(r66.x, r55.z);
//       r58.z = cb0[2].w * r47.z;
//       r55.z = cmp(r58.z < r55.z);
//       if (r55.z != 0) {
//         r66.xyz = r64.xyz * cb0[6].www + cb0[6].xyz;
//         r67.xyz = cb0[9].yyy + r66.xyz;
//         r66.w = r67.x;
//         r55.z = t1.SampleLevel(s0_s, r66.wyz, 0).x;
//         r68.xyw = -cb0[9].yyy + r66.xyz;
//         r70.xw = r68.xy;
//         r70.yz = r66.yz;
//         r58.z = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r70.xz = r66.xz;
//         r70.y = r67.y;
//         r58.w = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r60.x = t1.SampleLevel(s0_s, r70.xwz, 0).x;
//         r68.xy = r66.xy;
//         r68.z = r67.z;
//         r61.x = t1.SampleLevel(s0_s, r68.xyz, 0).x;
//         r61.y = t1.SampleLevel(s0_s, r68.xyw, 0).x;
//         r66.x = -r58.z + r55.z;
//         r66.y = -r60.x + r58.w;
//         r66.z = r61.x + -r61.y;
//         r66.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//         r65.xyz = r66.xyz / cb0[2].www;
//       } else {
//         r66.xyz = -cb0[3].xyz + r64.xyz;
//         r66.xyz = cb0[3].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r64.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r55.z = min(r66.y, r66.z);
//         r55.z = min(r66.x, r55.z);
//         r66.xyz = -cb0[4].xyz + r64.xyz;
//         r66.xyz = cb0[4].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r64.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r58.z = min(r66.y, r66.z);
//         r58.z = min(r66.x, r58.z);
//         r58.w = cb0[3].w * r47.z;
//         r55.z = cmp(r58.w < r55.z);
//         if (r55.z != 0) {
//           r66.xyz = r64.xyz * cb0[7].www + cb0[7].xyz;
//           r67.xyz = cb0[9].yyy + r66.xyz;
//           r66.w = r67.x;
//           r55.z = t2.SampleLevel(s0_s, r66.wyz, 0).x;
//           r68.xyw = -cb0[9].yyy + r66.xyz;
//           r70.xw = r68.xy;
//           r70.yz = r66.yz;
//           r58.w = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r70.xz = r66.xz;
//           r70.y = r67.y;
//           r60.x = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r61.x = t2.SampleLevel(s0_s, r70.xwz, 0).x;
//           r68.xy = r66.xy;
//           r68.z = r67.z;
//           r61.y = t2.SampleLevel(s0_s, r68.xyz, 0).x;
//           r62.w = t2.SampleLevel(s0_s, r68.xyw, 0).x;
//           r66.x = -r58.w + r55.z;
//           r66.y = -r61.x + r60.x;
//           r66.z = -r62.w + r61.y;
//           r66.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//           r65.xyz = r66.xyz / cb0[3].www;
//         } else {
//           r55.z = cb0[4].w * r47.z;
//           r55.z = cmp(r55.z < r58.z);
//           if (r55.z != 0) {
//             r64.xyz = r64.xyz * cb0[8].www + cb0[8].xyz;
//             r66.xyz = cb0[9].yyy + r64.xyz;
//             r64.w = r66.x;
//             r55.z = t3.SampleLevel(s0_s, r64.wyz, 0).x;
//             r67.xyw = -cb0[9].yyy + r64.xyz;
//             r68.xw = r67.xy;
//             r68.yz = r64.yz;
//             r58.z = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r68.xz = r64.xz;
//             r68.y = r66.y;
//             r58.w = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r60.x = t3.SampleLevel(s0_s, r68.xwz, 0).x;
//             r67.xy = r64.xy;
//             r67.z = r66.z;
//             r61.x = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//             r61.y = t3.SampleLevel(s0_s, r67.xyw, 0).x;
//             r64.x = -r58.z + r55.z;
//             r64.y = -r60.x + r58.w;
//             r64.z = r61.x + -r61.y;
//             r64.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//             r65.xyz = r64.xyz / cb0[4].www;
//           } else {
//             r65.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r55.z = cmp(0 < r56.w);
//     r64.xyz = cmp(r65.xyz == float3(0,0,0.00100000005));
//     r58.z = r64.y ? r64.x : 0;
//     r58.z = r64.z ? r58.z : 0;
//     r55.z = r55.z ? r58.z : 0;
//     r64.x = -r56.w + r55.y;
//     r65.xyz = float3(0,2,0) + r69.xyz;
//     r66.xyz = -cb0[1].xyz + r65.xyz;
//     r66.xyz = cb0[1].www + r66.xyz;
//     r66.xyz = max(float3(0,0,0), r66.xyz);
//     r67.xyz = -r65.xyz + r62.xyz;
//     r67.xyz = max(float3(0,0,0), r67.xyz);
//     r66.xyz = min(r67.xyz, r66.xyz);
//     r55.y = min(r66.y, r66.z);
//     r55.y = min(r66.x, r55.y);
//     r56.w = cmp(r1.w < r55.y);
//     if (r56.w != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r56.w = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//     } else {
//       r66.xyz = -cb0[2].xyz + r65.xyz;
//       r66.xyz = cb0[2].www + r66.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r65.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r66.xyz = min(r67.xyz, r66.xyz);
//       r58.z = min(r66.y, r66.z);
//       r58.z = min(r66.x, r58.z);
//       r58.w = cb0[9].y * cb0[2].w;
//       r58.z = cmp(r58.w < r58.z);
//       if (r58.z != 0) {
//         r66.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r56.w = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//       } else {
//         r66.xyz = -cb0[3].xyz + r65.xyz;
//         r66.xyz = cb0[3].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r58.z = min(r66.y, r66.z);
//         r58.z = min(r66.x, r58.z);
//         r66.xyz = -cb0[4].xyz + r65.xyz;
//         r66.xyz = cb0[4].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r58.w = min(r66.y, r66.z);
//         r58.w = min(r66.x, r58.w);
//         r60.x = cb0[9].y * cb0[3].w;
//         r58.z = cmp(r60.x < r58.z);
//         if (r58.z != 0) {
//           r66.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r56.w = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//         } else {
//           r58.z = cb0[9].y * cb0[4].w;
//           r58.z = cmp(r58.z < r58.w);
//           if (r58.z != 0) {
//             r58.z = cb0[8].w * r58.w;
//             r58.z = saturate(10 * r58.z);
//             r66.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r58.w = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//             r58.w = -cb0[0].x + r58.w;
//             r56.w = r58.z * r58.w + cb0[0].x;
//           } else {
//             r56.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r55.y = cmp(r48.w < r55.y);
//     if (r55.y != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r67.xyz = cb0[9].yyy + r66.xyz;
//       r66.w = r67.x;
//       r55.y = t0.SampleLevel(s0_s, r66.wyz, 0).x;
//       r68.xyw = -cb0[9].yyy + r66.xyz;
//       r70.xw = r68.xy;
//       r70.yz = r66.yz;
//       r58.z = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r70.xz = r66.xz;
//       r70.y = r67.y;
//       r58.w = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r60.x = t0.SampleLevel(s0_s, r70.xwz, 0).x;
//       r68.xy = r66.xy;
//       r68.z = r67.z;
//       r61.x = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r61.y = t0.SampleLevel(s0_s, r68.xyw, 0).x;
//       r66.x = -r58.z + r55.y;
//       r66.y = -r60.x + r58.w;
//       r66.z = r61.x + -r61.y;
//       r66.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//       r66.xyz = r66.xyz / cb0[1].www;
//     } else {
//       r67.xyz = -cb0[2].xyz + r65.xyz;
//       r67.xyz = cb0[2].www + r67.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r68.xyz = cb0[2].xyz + cb0[2].www;
//       r68.xyz = r68.xyz + -r65.xyz;
//       r68.xyz = max(float3(0,0,0), r68.xyz);
//       r67.xyz = min(r68.xyz, r67.xyz);
//       r55.y = min(r67.y, r67.z);
//       r55.y = min(r67.x, r55.y);
//       r58.z = cb0[2].w * r47.z;
//       r55.y = cmp(r58.z < r55.y);
//       if (r55.y != 0) {
//         r67.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r68.xyz = cb0[9].yyy + r67.xyz;
//         r67.w = r68.x;
//         r55.y = t1.SampleLevel(s0_s, r67.wyz, 0).x;
//         r70.xyw = -cb0[9].yyy + r67.xyz;
//         r71.xw = r70.xy;
//         r71.yz = r67.yz;
//         r58.z = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r71.xz = r67.xz;
//         r71.y = r68.y;
//         r58.w = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r60.x = t1.SampleLevel(s0_s, r71.xwz, 0).x;
//         r70.xy = r67.xy;
//         r70.z = r68.z;
//         r61.x = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r61.y = t1.SampleLevel(s0_s, r70.xyw, 0).x;
//         r67.x = -r58.z + r55.y;
//         r67.y = -r60.x + r58.w;
//         r67.z = r61.x + -r61.y;
//         r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//         r66.xyz = r67.xyz / cb0[2].www;
//       } else {
//         r67.xyz = -cb0[3].xyz + r65.xyz;
//         r67.xyz = cb0[3].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[3].xyz + cb0[3].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r55.y = min(r67.y, r67.z);
//         r55.y = min(r67.x, r55.y);
//         r67.xyz = -cb0[4].xyz + r65.xyz;
//         r67.xyz = cb0[4].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[4].xyz + cb0[4].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r58.z = min(r67.y, r67.z);
//         r58.z = min(r67.x, r58.z);
//         r58.w = cb0[3].w * r47.z;
//         r55.y = cmp(r58.w < r55.y);
//         if (r55.y != 0) {
//           r67.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r68.xyz = cb0[9].yyy + r67.xyz;
//           r67.w = r68.x;
//           r55.y = t2.SampleLevel(s0_s, r67.wyz, 0).x;
//           r70.xyw = -cb0[9].yyy + r67.xyz;
//           r71.xw = r70.xy;
//           r71.yz = r67.yz;
//           r58.w = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r71.xz = r67.xz;
//           r71.y = r68.y;
//           r60.x = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r61.x = t2.SampleLevel(s0_s, r71.xwz, 0).x;
//           r70.xy = r67.xy;
//           r70.z = r68.z;
//           r61.y = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r62.w = t2.SampleLevel(s0_s, r70.xyw, 0).x;
//           r67.x = -r58.w + r55.y;
//           r67.y = -r61.x + r60.x;
//           r67.z = -r62.w + r61.y;
//           r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//           r66.xyz = r67.xyz / cb0[3].www;
//         } else {
//           r55.y = cb0[4].w * r47.z;
//           r55.y = cmp(r55.y < r58.z);
//           if (r55.y != 0) {
//             r65.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r67.xyz = cb0[9].yyy + r65.xyz;
//             r65.w = r67.x;
//             r55.y = t3.SampleLevel(s0_s, r65.wyz, 0).x;
//             r68.xyw = -cb0[9].yyy + r65.xyz;
//             r70.xw = r68.xy;
//             r70.yz = r65.yz;
//             r58.z = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r70.xz = r65.xz;
//             r70.y = r67.y;
//             r58.w = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r60.x = t3.SampleLevel(s0_s, r70.xwz, 0).x;
//             r68.xy = r65.xy;
//             r68.z = r67.z;
//             r61.x = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r61.y = t3.SampleLevel(s0_s, r68.xyw, 0).x;
//             r65.x = -r58.z + r55.y;
//             r65.y = -r60.x + r58.w;
//             r65.z = r61.x + -r61.y;
//             r65.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//             r66.xyz = r65.xyz / cb0[4].www;
//           } else {
//             r66.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r55.y = cmp(0 < r56.w);
//     r65.xyz = cmp(r66.xyz == float3(0,0,0.00100000005));
//     r58.z = r65.y ? r65.x : 0;
//     r58.z = r65.z ? r58.z : 0;
//     r55.y = r55.y ? r58.z : 0;
//     r65.xyz = float3(0,-2,0) + r69.xyz;
//     r66.xyz = -cb0[1].xyz + r65.xyz;
//     r66.xyz = cb0[1].www + r66.xyz;
//     r66.xyz = max(float3(0,0,0), r66.xyz);
//     r67.xyz = -r65.xyz + r62.xyz;
//     r67.xyz = max(float3(0,0,0), r67.xyz);
//     r66.xyz = min(r67.xyz, r66.xyz);
//     r58.z = min(r66.y, r66.z);
//     r58.z = min(r66.x, r58.z);
//     r58.w = cmp(r1.w < r58.z);
//     if (r58.w != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r58.w = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//     } else {
//       r66.xyz = -cb0[2].xyz + r65.xyz;
//       r66.xyz = cb0[2].www + r66.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r65.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r66.xyz = min(r67.xyz, r66.xyz);
//       r60.x = min(r66.y, r66.z);
//       r60.x = min(r66.x, r60.x);
//       r61.x = cb0[9].y * cb0[2].w;
//       r60.x = cmp(r61.x < r60.x);
//       if (r60.x != 0) {
//         r66.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r58.w = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//       } else {
//         r66.xyz = -cb0[3].xyz + r65.xyz;
//         r66.xyz = cb0[3].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r60.x = min(r66.y, r66.z);
//         r60.x = min(r66.x, r60.x);
//         r66.xyz = -cb0[4].xyz + r65.xyz;
//         r66.xyz = cb0[4].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r61.x = min(r66.y, r66.z);
//         r61.x = min(r66.x, r61.x);
//         r61.y = cb0[9].y * cb0[3].w;
//         r60.x = cmp(r61.y < r60.x);
//         if (r60.x != 0) {
//           r66.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r58.w = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//         } else {
//           r60.x = cb0[9].y * cb0[4].w;
//           r60.x = cmp(r60.x < r61.x);
//           if (r60.x != 0) {
//             r60.x = cb0[8].w * r61.x;
//             r60.x = saturate(10 * r60.x);
//             r66.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r61.x = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//             r61.x = -cb0[0].x + r61.x;
//             r58.w = r60.x * r61.x + cb0[0].x;
//           } else {
//             r58.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r58.z = cmp(r48.w < r58.z);
//     if (r58.z != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r67.xyz = cb0[9].yyy + r66.xyz;
//       r66.w = r67.x;
//       r58.z = t0.SampleLevel(s0_s, r66.wyz, 0).x;
//       r68.xyw = -cb0[9].yyy + r66.xyz;
//       r70.xw = r68.xy;
//       r70.yz = r66.yz;
//       r60.x = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r70.xz = r66.xz;
//       r70.y = r67.y;
//       r61.x = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r61.y = t0.SampleLevel(s0_s, r70.xwz, 0).x;
//       r68.xy = r66.xy;
//       r68.z = r67.z;
//       r62.w = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r63.w = t0.SampleLevel(s0_s, r68.xyw, 0).x;
//       r66.x = -r60.x + r58.z;
//       r66.y = r61.x + -r61.y;
//       r66.z = -r63.w + r62.w;
//       r66.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//       r66.xyz = r66.xyz / cb0[1].www;
//     } else {
//       r67.xyz = -cb0[2].xyz + r65.xyz;
//       r67.xyz = cb0[2].www + r67.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r68.xyz = cb0[2].xyz + cb0[2].www;
//       r68.xyz = r68.xyz + -r65.xyz;
//       r68.xyz = max(float3(0,0,0), r68.xyz);
//       r67.xyz = min(r68.xyz, r67.xyz);
//       r58.z = min(r67.y, r67.z);
//       r58.z = min(r67.x, r58.z);
//       r60.x = cb0[2].w * r47.z;
//       r58.z = cmp(r60.x < r58.z);
//       if (r58.z != 0) {
//         r67.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r68.xyz = cb0[9].yyy + r67.xyz;
//         r67.w = r68.x;
//         r58.z = t1.SampleLevel(s0_s, r67.wyz, 0).x;
//         r70.xyw = -cb0[9].yyy + r67.xyz;
//         r71.xw = r70.xy;
//         r71.yz = r67.yz;
//         r60.x = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r71.xz = r67.xz;
//         r71.y = r68.y;
//         r61.x = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r61.y = t1.SampleLevel(s0_s, r71.xwz, 0).x;
//         r70.xy = r67.xy;
//         r70.z = r68.z;
//         r62.w = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r63.w = t1.SampleLevel(s0_s, r70.xyw, 0).x;
//         r67.x = -r60.x + r58.z;
//         r67.y = r61.x + -r61.y;
//         r67.z = -r63.w + r62.w;
//         r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//         r66.xyz = r67.xyz / cb0[2].www;
//       } else {
//         r67.xyz = -cb0[3].xyz + r65.xyz;
//         r67.xyz = cb0[3].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[3].xyz + cb0[3].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r58.z = min(r67.y, r67.z);
//         r58.z = min(r67.x, r58.z);
//         r67.xyz = -cb0[4].xyz + r65.xyz;
//         r67.xyz = cb0[4].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[4].xyz + cb0[4].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r60.x = min(r67.y, r67.z);
//         r60.x = min(r67.x, r60.x);
//         r61.x = cb0[3].w * r47.z;
//         r58.z = cmp(r61.x < r58.z);
//         if (r58.z != 0) {
//           r67.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r68.xyz = cb0[9].yyy + r67.xyz;
//           r67.w = r68.x;
//           r58.z = t2.SampleLevel(s0_s, r67.wyz, 0).x;
//           r70.xyw = -cb0[9].yyy + r67.xyz;
//           r71.xw = r70.xy;
//           r71.yz = r67.yz;
//           r61.x = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r71.xz = r67.xz;
//           r71.y = r68.y;
//           r61.y = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r62.w = t2.SampleLevel(s0_s, r71.xwz, 0).x;
//           r70.xy = r67.xy;
//           r70.z = r68.z;
//           r63.w = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r65.w = t2.SampleLevel(s0_s, r70.xyw, 0).x;
//           r67.x = -r61.x + r58.z;
//           r67.y = -r62.w + r61.y;
//           r67.z = -r65.w + r63.w;
//           r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//           r66.xyz = r67.xyz / cb0[3].www;
//         } else {
//           r58.z = cb0[4].w * r47.z;
//           r58.z = cmp(r58.z < r60.x);
//           if (r58.z != 0) {
//             r65.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r67.xyz = cb0[9].yyy + r65.xyz;
//             r65.w = r67.x;
//             r58.z = t3.SampleLevel(s0_s, r65.wyz, 0).x;
//             r68.xyw = -cb0[9].yyy + r65.xyz;
//             r70.xw = r68.xy;
//             r70.yz = r65.yz;
//             r60.x = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r70.xz = r65.xz;
//             r70.y = r67.y;
//             r61.x = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r61.y = t3.SampleLevel(s0_s, r70.xwz, 0).x;
//             r68.xy = r65.xy;
//             r68.z = r67.z;
//             r62.w = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r63.w = t3.SampleLevel(s0_s, r68.xyw, 0).x;
//             r65.x = -r60.x + r58.z;
//             r65.y = r61.x + -r61.y;
//             r65.z = -r63.w + r62.w;
//             r65.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//             r66.xyz = r65.xyz / cb0[4].www;
//           } else {
//             r66.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r58.z = cmp(0 < r58.w);
//     r65.xyz = cmp(r66.xyz == float3(0,0,0.00100000005));
//     r60.x = r65.y ? r65.x : 0;
//     r60.x = r65.z ? r60.x : 0;
//     r58.z = r58.z ? r60.x : 0;
//     r64.y = -r58.w + r56.w;
//     r65.xyz = float3(0,0,2) + r69.xyz;
//     r66.xyz = -cb0[1].xyz + r65.xyz;
//     r66.xyz = cb0[1].www + r66.xyz;
//     r66.xyz = max(float3(0,0,0), r66.xyz);
//     r67.xyz = -r65.xyz + r62.xyz;
//     r67.xyz = max(float3(0,0,0), r67.xyz);
//     r66.xyz = min(r67.xyz, r66.xyz);
//     r56.w = min(r66.y, r66.z);
//     r56.w = min(r66.x, r56.w);
//     r58.w = cmp(r1.w < r56.w);
//     if (r58.w != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r58.w = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//     } else {
//       r66.xyz = -cb0[2].xyz + r65.xyz;
//       r66.xyz = cb0[2].www + r66.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r65.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r66.xyz = min(r67.xyz, r66.xyz);
//       r60.x = min(r66.y, r66.z);
//       r60.x = min(r66.x, r60.x);
//       r61.x = cb0[9].y * cb0[2].w;
//       r60.x = cmp(r61.x < r60.x);
//       if (r60.x != 0) {
//         r66.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r58.w = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//       } else {
//         r66.xyz = -cb0[3].xyz + r65.xyz;
//         r66.xyz = cb0[3].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r60.x = min(r66.y, r66.z);
//         r60.x = min(r66.x, r60.x);
//         r66.xyz = -cb0[4].xyz + r65.xyz;
//         r66.xyz = cb0[4].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r61.x = min(r66.y, r66.z);
//         r61.x = min(r66.x, r61.x);
//         r61.y = cb0[9].y * cb0[3].w;
//         r60.x = cmp(r61.y < r60.x);
//         if (r60.x != 0) {
//           r66.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r58.w = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//         } else {
//           r60.x = cb0[9].y * cb0[4].w;
//           r60.x = cmp(r60.x < r61.x);
//           if (r60.x != 0) {
//             r60.x = cb0[8].w * r61.x;
//             r60.x = saturate(10 * r60.x);
//             r66.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r61.x = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//             r61.x = -cb0[0].x + r61.x;
//             r58.w = r60.x * r61.x + cb0[0].x;
//           } else {
//             r58.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r56.w = cmp(r48.w < r56.w);
//     if (r56.w != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r67.xyz = cb0[9].yyy + r66.xyz;
//       r66.w = r67.x;
//       r56.w = t0.SampleLevel(s0_s, r66.wyz, 0).x;
//       r68.xyw = -cb0[9].yyy + r66.xyz;
//       r70.xw = r68.xy;
//       r70.yz = r66.yz;
//       r60.x = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r70.xz = r66.xz;
//       r70.y = r67.y;
//       r61.x = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r61.y = t0.SampleLevel(s0_s, r70.xwz, 0).x;
//       r68.xy = r66.xy;
//       r68.z = r67.z;
//       r62.w = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r63.w = t0.SampleLevel(s0_s, r68.xyw, 0).x;
//       r66.x = -r60.x + r56.w;
//       r66.y = r61.x + -r61.y;
//       r66.z = -r63.w + r62.w;
//       r66.xyz = float3(0.5,0.5,0.5) * r66.xyz;
//       r66.xyz = r66.xyz / cb0[1].www;
//     } else {
//       r67.xyz = -cb0[2].xyz + r65.xyz;
//       r67.xyz = cb0[2].www + r67.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r68.xyz = cb0[2].xyz + cb0[2].www;
//       r68.xyz = r68.xyz + -r65.xyz;
//       r68.xyz = max(float3(0,0,0), r68.xyz);
//       r67.xyz = min(r68.xyz, r67.xyz);
//       r56.w = min(r67.y, r67.z);
//       r56.w = min(r67.x, r56.w);
//       r60.x = cb0[2].w * r47.z;
//       r56.w = cmp(r60.x < r56.w);
//       if (r56.w != 0) {
//         r67.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r68.xyz = cb0[9].yyy + r67.xyz;
//         r67.w = r68.x;
//         r56.w = t1.SampleLevel(s0_s, r67.wyz, 0).x;
//         r70.xyw = -cb0[9].yyy + r67.xyz;
//         r71.xw = r70.xy;
//         r71.yz = r67.yz;
//         r60.x = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r71.xz = r67.xz;
//         r71.y = r68.y;
//         r61.x = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r61.y = t1.SampleLevel(s0_s, r71.xwz, 0).x;
//         r70.xy = r67.xy;
//         r70.z = r68.z;
//         r62.w = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r63.w = t1.SampleLevel(s0_s, r70.xyw, 0).x;
//         r67.x = -r60.x + r56.w;
//         r67.y = r61.x + -r61.y;
//         r67.z = -r63.w + r62.w;
//         r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//         r66.xyz = r67.xyz / cb0[2].www;
//       } else {
//         r67.xyz = -cb0[3].xyz + r65.xyz;
//         r67.xyz = cb0[3].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[3].xyz + cb0[3].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r56.w = min(r67.y, r67.z);
//         r56.w = min(r67.x, r56.w);
//         r67.xyz = -cb0[4].xyz + r65.xyz;
//         r67.xyz = cb0[4].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[4].xyz + cb0[4].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r60.x = min(r67.y, r67.z);
//         r60.x = min(r67.x, r60.x);
//         r61.x = cb0[3].w * r47.z;
//         r56.w = cmp(r61.x < r56.w);
//         if (r56.w != 0) {
//           r67.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r68.xyz = cb0[9].yyy + r67.xyz;
//           r67.w = r68.x;
//           r56.w = t2.SampleLevel(s0_s, r67.wyz, 0).x;
//           r70.xyw = -cb0[9].yyy + r67.xyz;
//           r71.xw = r70.xy;
//           r71.yz = r67.yz;
//           r61.x = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r71.xz = r67.xz;
//           r71.y = r68.y;
//           r61.y = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r62.w = t2.SampleLevel(s0_s, r71.xwz, 0).x;
//           r70.xy = r67.xy;
//           r70.z = r68.z;
//           r63.w = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r65.w = t2.SampleLevel(s0_s, r70.xyw, 0).x;
//           r67.x = -r61.x + r56.w;
//           r67.y = -r62.w + r61.y;
//           r67.z = -r65.w + r63.w;
//           r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//           r66.xyz = r67.xyz / cb0[3].www;
//         } else {
//           r56.w = cb0[4].w * r47.z;
//           r56.w = cmp(r56.w < r60.x);
//           if (r56.w != 0) {
//             r65.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r67.xyz = cb0[9].yyy + r65.xyz;
//             r65.w = r67.x;
//             r56.w = t3.SampleLevel(s0_s, r65.wyz, 0).x;
//             r68.xyw = -cb0[9].yyy + r65.xyz;
//             r70.xw = r68.xy;
//             r70.yz = r65.yz;
//             r60.x = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r70.xz = r65.xz;
//             r70.y = r67.y;
//             r61.x = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r61.y = t3.SampleLevel(s0_s, r70.xwz, 0).x;
//             r68.xy = r65.xy;
//             r68.z = r67.z;
//             r62.w = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r63.w = t3.SampleLevel(s0_s, r68.xyw, 0).x;
//             r65.x = -r60.x + r56.w;
//             r65.y = r61.x + -r61.y;
//             r65.z = -r63.w + r62.w;
//             r65.xyz = float3(0.5,0.5,0.5) * r65.xyz;
//             r66.xyz = r65.xyz / cb0[4].www;
//           } else {
//             r66.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r56.w = cmp(0 < r58.w);
//     r65.xyz = cmp(r66.xyz == float3(0,0,0.00100000005));
//     r60.x = r65.y ? r65.x : 0;
//     r60.x = r65.z ? r60.x : 0;
//     r56.w = r56.w ? r60.x : 0;
//     r65.xyz = float3(0,0,-2) + r69.xyz;
//     r66.xyz = -cb0[1].xyz + r65.xyz;
//     r66.xyz = cb0[1].www + r66.xyz;
//     r66.xyz = max(float3(0,0,0), r66.xyz);
//     r67.xyz = -r65.xyz + r62.xyz;
//     r67.xyz = max(float3(0,0,0), r67.xyz);
//     r66.xyz = min(r67.xyz, r66.xyz);
//     r60.x = min(r66.y, r66.z);
//     r60.x = min(r66.x, r60.x);
//     r61.x = cmp(r1.w < r60.x);
//     if (r61.x != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r61.x = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//     } else {
//       r66.xyz = -cb0[2].xyz + r65.xyz;
//       r66.xyz = cb0[2].www + r66.xyz;
//       r66.xyz = max(float3(0,0,0), r66.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r65.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r66.xyz = min(r67.xyz, r66.xyz);
//       r61.y = min(r66.y, r66.z);
//       r61.y = min(r66.x, r61.y);
//       r62.w = cb0[9].y * cb0[2].w;
//       r61.y = cmp(r62.w < r61.y);
//       if (r61.y != 0) {
//         r66.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r61.x = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//       } else {
//         r66.xyz = -cb0[3].xyz + r65.xyz;
//         r66.xyz = cb0[3].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r61.y = min(r66.y, r66.z);
//         r61.y = min(r66.x, r61.y);
//         r66.xyz = -cb0[4].xyz + r65.xyz;
//         r66.xyz = cb0[4].www + r66.xyz;
//         r66.xyz = max(float3(0,0,0), r66.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r65.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r66.xyz = min(r67.xyz, r66.xyz);
//         r62.w = min(r66.y, r66.z);
//         r62.w = min(r66.x, r62.w);
//         r63.w = cb0[9].y * cb0[3].w;
//         r61.y = cmp(r63.w < r61.y);
//         if (r61.y != 0) {
//           r66.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r61.x = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//         } else {
//           r61.y = cb0[9].y * cb0[4].w;
//           r61.y = cmp(r61.y < r62.w);
//           if (r61.y != 0) {
//             r61.y = cb0[8].w * r62.w;
//             r61.y = saturate(10 * r61.y);
//             r66.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r62.w = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//             r62.w = -cb0[0].x + r62.w;
//             r61.x = r61.y * r62.w + cb0[0].x;
//           } else {
//             r61.x = cb0[0].x;
//           }
//         }
//       }
//     }
//     r60.x = cmp(r48.w < r60.x);
//     if (r60.x != 0) {
//       r66.xyz = r65.xyz * cb0[5].www + cb0[5].xyz;
//       r67.xyz = cb0[9].yyy + r66.xyz;
//       r66.w = r67.x;
//       r60.x = t0.SampleLevel(s0_s, r66.wyz, 0).x;
//       r68.xyw = -cb0[9].yyy + r66.xyz;
//       r70.xw = r68.xy;
//       r70.yz = r66.yz;
//       r61.y = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r70.xz = r66.xz;
//       r70.y = r67.y;
//       r62.w = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r63.w = t0.SampleLevel(s0_s, r70.xwz, 0).x;
//       r68.xy = r66.xy;
//       r68.z = r67.z;
//       r65.w = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//       r66.x = t0.SampleLevel(s0_s, r68.xyw, 0).x;
//       r67.x = -r61.y + r60.x;
//       r67.y = -r63.w + r62.w;
//       r67.z = -r66.x + r65.w;
//       r66.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//       r66.xyz = r66.xyz / cb0[1].www;
//     } else {
//       r67.xyz = -cb0[2].xyz + r65.xyz;
//       r67.xyz = cb0[2].www + r67.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r68.xyz = cb0[2].xyz + cb0[2].www;
//       r68.xyz = r68.xyz + -r65.xyz;
//       r68.xyz = max(float3(0,0,0), r68.xyz);
//       r67.xyz = min(r68.xyz, r67.xyz);
//       r60.x = min(r67.y, r67.z);
//       r60.x = min(r67.x, r60.x);
//       r61.y = cb0[2].w * r47.z;
//       r60.x = cmp(r61.y < r60.x);
//       if (r60.x != 0) {
//         r67.xyz = r65.xyz * cb0[6].www + cb0[6].xyz;
//         r68.xyz = cb0[9].yyy + r67.xyz;
//         r67.w = r68.x;
//         r60.x = t1.SampleLevel(s0_s, r67.wyz, 0).x;
//         r70.xyw = -cb0[9].yyy + r67.xyz;
//         r71.xw = r70.xy;
//         r71.yz = r67.yz;
//         r61.y = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r71.xz = r67.xz;
//         r71.y = r68.y;
//         r62.w = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r63.w = t1.SampleLevel(s0_s, r71.xwz, 0).x;
//         r70.xy = r67.xy;
//         r70.z = r68.z;
//         r65.w = t1.SampleLevel(s0_s, r70.xyz, 0).x;
//         r66.w = t1.SampleLevel(s0_s, r70.xyw, 0).x;
//         r67.x = -r61.y + r60.x;
//         r67.y = -r63.w + r62.w;
//         r67.z = -r66.w + r65.w;
//         r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//         r66.xyz = r67.xyz / cb0[2].www;
//       } else {
//         r67.xyz = -cb0[3].xyz + r65.xyz;
//         r67.xyz = cb0[3].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[3].xyz + cb0[3].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r60.x = min(r67.y, r67.z);
//         r60.x = min(r67.x, r60.x);
//         r67.xyz = -cb0[4].xyz + r65.xyz;
//         r67.xyz = cb0[4].www + r67.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r68.xyz = cb0[4].xyz + cb0[4].www;
//         r68.xyz = r68.xyz + -r65.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r67.xyz = min(r68.xyz, r67.xyz);
//         r61.y = min(r67.y, r67.z);
//         r61.y = min(r67.x, r61.y);
//         r62.w = cb0[3].w * r47.z;
//         r60.x = cmp(r62.w < r60.x);
//         if (r60.x != 0) {
//           r67.xyz = r65.xyz * cb0[7].www + cb0[7].xyz;
//           r68.xyz = cb0[9].yyy + r67.xyz;
//           r67.w = r68.x;
//           r60.x = t2.SampleLevel(s0_s, r67.wyz, 0).x;
//           r70.xyw = -cb0[9].yyy + r67.xyz;
//           r71.xw = r70.xy;
//           r71.yz = r67.yz;
//           r62.w = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r71.xz = r67.xz;
//           r71.y = r68.y;
//           r63.w = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r65.w = t2.SampleLevel(s0_s, r71.xwz, 0).x;
//           r70.xy = r67.xy;
//           r70.z = r68.z;
//           r66.w = t2.SampleLevel(s0_s, r70.xyz, 0).x;
//           r67.x = t2.SampleLevel(s0_s, r70.xyw, 0).x;
//           r68.x = -r62.w + r60.x;
//           r68.y = -r65.w + r63.w;
//           r68.z = -r67.x + r66.w;
//           r67.xyz = float3(0.5,0.5,0.5) * r68.xyz;
//           r66.xyz = r67.xyz / cb0[3].www;
//         } else {
//           r60.x = cb0[4].w * r47.z;
//           r60.x = cmp(r60.x < r61.y);
//           if (r60.x != 0) {
//             r65.xyz = r65.xyz * cb0[8].www + cb0[8].xyz;
//             r67.xyz = cb0[9].yyy + r65.xyz;
//             r65.w = r67.x;
//             r60.x = t3.SampleLevel(s0_s, r65.wyz, 0).x;
//             r68.xyw = -cb0[9].yyy + r65.xyz;
//             r70.xw = r68.xy;
//             r70.yz = r65.yz;
//             r61.y = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r70.xz = r65.xz;
//             r70.y = r67.y;
//             r62.w = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r63.w = t3.SampleLevel(s0_s, r70.xwz, 0).x;
//             r68.xy = r65.xy;
//             r68.z = r67.z;
//             r65.x = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r65.y = t3.SampleLevel(s0_s, r68.xyw, 0).x;
//             r67.x = -r61.y + r60.x;
//             r67.y = -r63.w + r62.w;
//             r67.z = r65.x + -r65.y;
//             r65.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//             r66.xyz = r65.xyz / cb0[4].www;
//           } else {
//             r66.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r60.x = cmp(0 < r61.x);
//     r65.xyz = cmp(r66.xyz == float3(0,0,0.00100000005));
//     r61.y = r65.y ? r65.x : 0;
//     r61.y = r65.z ? r61.y : 0;
//     r60.x = r60.x ? r61.y : 0;
//     r64.z = -r61.x + r58.w;
//     r58.w = dot(r64.xyz, r64.xyz);
//     r64.w = sqrt(r58.w);
//     r58.w = cmp(r64.w < 9.99999975e-06);
//     r64.xyzw = r58.wwww ? float4(0,0,0,1) : r64.xyzw;
//     r64.xyz = r64.xyz / r64.www;
//     r64.xyz = r58.www ? float3(0,0,0) : r64.xyz;
//     r52.w = cmp((int)r52.w == 0);
//     r52.w = r50.z ? r52.w : 0;
//     r55.yz = cmp((int2)r55.yz == int2(0,0));
//     r52.w = r52.w ? r55.z : 0;
//     r52.w = r55.y ? r52.w : 0;
//     r55.y = cmp((int)r58.z == 0);
//     r52.w = r52.w ? r55.y : 0;
//     r55.y = cmp((int)r56.w == 0);
//     r52.w = r52.w ? r55.y : 0;
//     r55.y = cmp((int)r60.x == 0);
//     r52.w = r52.w ? r55.y : 0;
//     r52.w = r52.w ? r58.w : 0;
//     r63.xyz = r47.yyy ? float3(-0,-0,-1) : -r63.xyz;
//     r63.xyz = r52.www ? r64.xyz : r63.xyz;
//     r47.y = dot(r25.xyz, r63.xyz);
//     r47.y = r47.y + r47.y;
//     r64.xyz = -r47.yyy * r63.xyz + r25.xyz;
//     r64.xyz = r51.xxx ? r64.xyz : 0;
//     r47.y = dot(r64.xyz, r64.xyz);
//     r64.w = sqrt(r47.y);
//     r47.y = cmp(r64.w < 9.99999975e-06);
//     r64.xyzw = r47.yyyy ? float4(0,0,0,0) : r64.xyzw;
//     r64.xyz = r64.xyz / r64.www;
//     r64.xyz = r47.yyy ? float3(0,0,0) : r64.xyz;
//     r47.y = saturate(0.00999999978 * r59.w);
//     r47.y = 1 + -r47.y;
//     r25.w = r25.w ? 1 : r47.y;
//     r25.w = r25.w * r61.z;
//     r65.xyz = r64.xyz * r25.www;
//     r66.xyz = r25.xyz * float3(100,100,100) + r24.yzw;
//     r66.xyz = r51.xxx ? r69.xyz : r66.xyz;
//     r67.xyz = -r66.xyz + r24.yzw;
//     r20.xyz = r67.xyz * float3(0.5,0.5,0.5) + r66.xyz;
//     r25.w = dot(r67.xyz, r67.xyz);
//     r67.w = sqrt(r25.w);
//     r25.w = cmp(r67.w < 9.99999975e-06);
//     r66.xyzw = r25.wwww ? float4(0,0,0,1) : r67.xyzw;
//     r66.xyz = r66.xyz / r66.www;
//     r19.xyzw = r25.wwww ? float4(0,0,0,0) : r66.xyzw;
//     r66.xyz = r51.xxx ? float3(0,1,0) : float3(1,0,0);
//     r21.xyz = r55.xxx ? float3(0.992074013,1,0.00642299978) : r66.xyz;
//     r55.xyz = r64.xyz * float3(100,100,100) + r69.xyz;
//     r64.xyz = r69.xyz + -r55.xyz;
//     r12.xyz = r64.xyz * float3(0.5,0.5,0.5) + r55.xyz;
//     r25.w = dot(r64.xyz, r64.xyz);
//     r64.w = sqrt(r25.w);
//     r25.w = cmp(r64.w < 9.99999975e-06);
//     r64.xyzw = r25.wwww ? float4(0,0,0,1) : r64.xyzw;
//     r64.xyz = r64.xyz / r64.www;
//     r14.xyzw = r25.wwww ? float4(0,0,0,0) : r64.xyzw;
//     r55.xyz = r63.xyz * float3(-100,-100,-100) + r69.xyz;
//     r64.xyz = r69.xyz + -r55.xyz;
//     r18.xyz = r64.xyz * float3(0.5,0.5,0.5) + r55.xyz;
//     r25.w = dot(r64.xyz, r64.xyz);
//     r64.w = sqrt(r25.w);
//     r25.w = cmp(r64.w < 9.99999975e-06);
//     r64.xyzw = r25.wwww ? float4(0,0,0,1) : r64.xyzw;
//     r55.xyz = r64.xyz / r64.www;
//     r17.xyz = r25.www ? float3(0,0,0) : r55.xyz;
//     r16.xw = r51.xx ? float2(2,100) : 0;
//     r15.xyz = abs(r63.xyz);
//     if (r22.w != 0) {
//       r55.xyz = r24.yzw * cb0[5].www + cb0[5].xyz;
//       r22.w = t0.SampleLevel(s0_s, r55.xyz, 0).x;
//     } else {
//       r55.xyz = -cb0[2].xyz + r24.yzw;
//       r55.xyz = cb0[2].www + r55.xyz;
//       r55.xyz = max(float3(0,0,0), r55.xyz);
//       r63.xyz = cb0[2].xyz + cb0[2].www;
//       r63.xyz = r63.xyz + -r24.yzw;
//       r63.xyz = max(float3(0,0,0), r63.xyz);
//       r55.xyz = min(r63.xyz, r55.xyz);
//       r25.w = min(r55.y, r55.z);
//       r25.w = min(r55.x, r25.w);
//       r47.y = cb0[9].y * cb0[2].w;
//       r25.w = cmp(r47.y < r25.w);
//       if (r25.w != 0) {
//         r55.xyz = r24.yzw * cb0[6].www + cb0[6].xyz;
//         r22.w = t1.SampleLevel(s0_s, r55.xyz, 0).x;
//       } else {
//         r55.xyz = -cb0[3].xyz + r24.yzw;
//         r55.xyz = cb0[3].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r63.xyz = cb0[3].xyz + cb0[3].www;
//         r63.xyz = r63.xyz + -r24.yzw;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r55.xyz = min(r63.xyz, r55.xyz);
//         r25.w = min(r55.y, r55.z);
//         r25.w = min(r55.x, r25.w);
//         r55.xyz = -cb0[4].xyz + r24.yzw;
//         r55.xyz = cb0[4].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r63.xyz = cb0[4].xyz + cb0[4].www;
//         r63.xyz = r63.xyz + -r24.yzw;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r55.xyz = min(r63.xyz, r55.xyz);
//         r47.y = min(r55.y, r55.z);
//         r47.y = min(r55.x, r47.y);
//         r51.x = cb0[9].y * cb0[3].w;
//         r25.w = cmp(r51.x < r25.w);
//         if (r25.w != 0) {
//           r55.xyz = r24.yzw * cb0[7].www + cb0[7].xyz;
//           r22.w = t2.SampleLevel(s0_s, r55.xyz, 0).x;
//         } else {
//           r25.w = cb0[9].y * cb0[4].w;
//           r25.w = cmp(r25.w < r47.y);
//           if (r25.w != 0) {
//             r25.w = cb0[8].w * r47.y;
//             r25.w = saturate(10 * r25.w);
//             r55.xyz = r24.yzw * cb0[8].www + cb0[8].xyz;
//             r47.y = t3.SampleLevel(s0_s, r55.xyz, 0).x;
//             r47.y = -cb0[0].x + r47.y;
//             r22.w = r25.w * r47.y + cb0[0].x;
//           } else {
//             r22.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     if (r0.x != 0) {
//       r63.xyz = r24.yzw * cb0[5].www + cb0[5].xyz;
//       r55.xyz = cb0[9].yyy + r63.xyz;
//       r63.w = r55.x;
//       r0.x = t0.SampleLevel(s0_s, r63.wyz, 0).x;
//       r64.xyw = -cb0[9].yyy + r63.xyz;
//       r66.xw = r64.xy;
//       r66.yz = r63.yz;
//       r25.w = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//       r66.xz = r63.xz;
//       r66.y = r55.y;
//       r47.y = t0.SampleLevel(s0_s, r66.xyz, 0).x;
//       r51.x = t0.SampleLevel(s0_s, r66.xwz, 0).x;
//       r64.xy = r63.xy;
//       r64.z = r55.z;
//       r52.w = t0.SampleLevel(s0_s, r64.xyz, 0).x;
//       r55.x = t0.SampleLevel(s0_s, r64.xyw, 0).x;
//       r63.x = -r25.w + r0.x;
//       r63.y = -r51.x + r47.y;
//       r63.z = -r55.x + r52.w;
//       r55.xyz = float3(0.5,0.5,0.5) * r63.xyz;
//       r63.xyz = r55.xyz / cb0[1].www;
//     } else {
//       r55.xyz = -cb0[2].xyz + r24.yzw;
//       r55.xyz = cb0[2].www + r55.xyz;
//       r55.xyz = max(float3(0,0,0), r55.xyz);
//       r64.xyz = cb0[2].xyz + cb0[2].www;
//       r64.xyz = r64.xyz + -r24.yzw;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r55.xyz = min(r64.xyz, r55.xyz);
//       r0.x = min(r55.y, r55.z);
//       r0.x = min(r55.x, r0.x);
//       r25.w = cb0[2].w * r47.z;
//       r0.x = cmp(r25.w < r0.x);
//       if (r0.x != 0) {
//         r64.xyz = r24.yzw * cb0[6].www + cb0[6].xyz;
//         r55.xyz = cb0[9].yyy + r64.xyz;
//         r64.w = r55.x;
//         r0.x = t1.SampleLevel(s0_s, r64.wyz, 0).x;
//         r66.xyw = -cb0[9].yyy + r64.xyz;
//         r67.xw = r66.xy;
//         r67.yz = r64.yz;
//         r25.w = t1.SampleLevel(s0_s, r67.xyz, 0).x;
//         r67.xz = r64.xz;
//         r67.y = r55.y;
//         r47.y = t1.SampleLevel(s0_s, r67.xyz, 0).x;
//         r51.x = t1.SampleLevel(s0_s, r67.xwz, 0).x;
//         r66.xy = r64.xy;
//         r66.z = r55.z;
//         r52.w = t1.SampleLevel(s0_s, r66.xyz, 0).x;
//         r55.x = t1.SampleLevel(s0_s, r66.xyw, 0).x;
//         r64.x = -r25.w + r0.x;
//         r64.y = -r51.x + r47.y;
//         r64.z = -r55.x + r52.w;
//         r55.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//         r63.xyz = r55.xyz / cb0[2].www;
//       } else {
//         r55.xyz = -cb0[3].xyz + r24.yzw;
//         r55.xyz = cb0[3].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r64.xyz = cb0[3].xyz + cb0[3].www;
//         r64.xyz = r64.xyz + -r24.yzw;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r55.xyz = min(r64.xyz, r55.xyz);
//         r0.x = min(r55.y, r55.z);
//         r0.x = min(r55.x, r0.x);
//         r55.xyz = -cb0[4].xyz + r24.yzw;
//         r55.xyz = cb0[4].www + r55.xyz;
//         r55.xyz = max(float3(0,0,0), r55.xyz);
//         r64.xyz = cb0[4].xyz + cb0[4].www;
//         r64.xyz = r64.xyz + -r24.yzw;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r55.xyz = min(r64.xyz, r55.xyz);
//         r25.w = min(r55.y, r55.z);
//         r25.w = min(r55.x, r25.w);
//         r47.y = cb0[3].w * r47.z;
//         r0.x = cmp(r47.y < r0.x);
//         if (r0.x != 0) {
//           r64.xyz = r24.yzw * cb0[7].www + cb0[7].xyz;
//           r55.xyz = cb0[9].yyy + r64.xyz;
//           r64.w = r55.x;
//           r0.x = t2.SampleLevel(s0_s, r64.wyz, 0).x;
//           r66.xyw = -cb0[9].yyy + r64.xyz;
//           r67.xw = r66.xy;
//           r67.yz = r64.yz;
//           r47.y = t2.SampleLevel(s0_s, r67.xyz, 0).x;
//           r67.xz = r64.xz;
//           r67.y = r55.y;
//           r51.x = t2.SampleLevel(s0_s, r67.xyz, 0).x;
//           r52.w = t2.SampleLevel(s0_s, r67.xwz, 0).x;
//           r66.xy = r64.xy;
//           r66.z = r55.z;
//           r55.x = t2.SampleLevel(s0_s, r66.xyz, 0).x;
//           r55.y = t2.SampleLevel(s0_s, r66.xyw, 0).x;
//           r64.x = -r47.y + r0.x;
//           r64.y = -r52.w + r51.x;
//           r64.z = r55.x + -r55.y;
//           r55.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//           r63.xyz = r55.xyz / cb0[3].www;
//         } else {
//           r0.x = cb0[4].w * r47.z;
//           r0.x = cmp(r0.x < r25.w);
//           if (r0.x != 0) {
//             r64.xyz = r24.yzw * cb0[8].www + cb0[8].xyz;
//             r55.xyz = cb0[9].yyy + r64.xyz;
//             r64.w = r55.x;
//             r0.x = t3.SampleLevel(s0_s, r64.wyz, 0).x;
//             r66.xyw = -cb0[9].yyy + r64.xyz;
//             r67.xw = r66.xy;
//             r67.yz = r64.yz;
//             r25.w = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//             r67.xz = r64.xz;
//             r67.y = r55.y;
//             r47.y = t3.SampleLevel(s0_s, r67.xyz, 0).x;
//             r51.x = t3.SampleLevel(s0_s, r67.xwz, 0).x;
//             r66.xy = r64.xy;
//             r66.z = r55.z;
//             r52.w = t3.SampleLevel(s0_s, r66.xyz, 0).x;
//             r55.x = t3.SampleLevel(s0_s, r66.xyw, 0).x;
//             r64.x = -r25.w + r0.x;
//             r64.y = -r51.x + r47.y;
//             r64.z = -r55.x + r52.w;
//             r55.xyz = float3(0.5,0.5,0.5) * r64.xyz;
//             r63.xyz = r55.xyz / cb0[4].www;
//           } else {
//             r63.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r0.x = dot(r63.xyz, r63.xyz);
//     r63.w = sqrt(r0.x);
//     r0.x = cmp(r63.w < 9.99999975e-06);
//     r63.xyzw = r0.xxxx ? float4(0,0,0,1) : r63.xyzw;
//     r55.xyz = r63.xyz / r63.www;
//     r55.xyz = r0.xxx ? float3(0,0,0) : r55.xyz;
//     r63.xyz = r55.xyz * r22.www;
//     r64.xyz = -r63.xyz;
//     r66.xyz = -r22.www * r55.xyz + r24.yzw;
//     r67.xyz = float3(2,0,0) + r66.xyz;
//     r68.xyz = -cb0[1].xyz + r67.xyz;
//     r68.xyz = cb0[1].www + r68.xyz;
//     r68.xyz = max(float3(0,0,0), r68.xyz);
//     r69.xyz = -r67.xyz + r62.xyz;
//     r69.xyz = max(float3(0,0,0), r69.xyz);
//     r68.xyz = min(r69.xyz, r68.xyz);
//     r0.x = min(r68.y, r68.z);
//     r0.x = min(r68.x, r0.x);
//     r25.w = cmp(r1.w < r0.x);
//     if (r25.w != 0) {
//       r68.xyz = r67.xyz * cb0[5].www + cb0[5].xyz;
//       r25.w = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//     } else {
//       r68.xyz = -cb0[2].xyz + r67.xyz;
//       r68.xyz = cb0[2].www + r68.xyz;
//       r68.xyz = max(float3(0,0,0), r68.xyz);
//       r69.xyz = cb0[2].xyz + cb0[2].www;
//       r69.xyz = r69.xyz + -r67.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r68.xyz = min(r69.xyz, r68.xyz);
//       r47.y = min(r68.y, r68.z);
//       r47.y = min(r68.x, r47.y);
//       r51.x = cb0[9].y * cb0[2].w;
//       r47.y = cmp(r51.x < r47.y);
//       if (r47.y != 0) {
//         r68.xyz = r67.xyz * cb0[6].www + cb0[6].xyz;
//         r25.w = t1.SampleLevel(s0_s, r68.xyz, 0).x;
//       } else {
//         r68.xyz = -cb0[3].xyz + r67.xyz;
//         r68.xyz = cb0[3].www + r68.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r69.xyz = cb0[3].xyz + cb0[3].www;
//         r69.xyz = r69.xyz + -r67.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r68.xyz = min(r69.xyz, r68.xyz);
//         r47.y = min(r68.y, r68.z);
//         r47.y = min(r68.x, r47.y);
//         r68.xyz = -cb0[4].xyz + r67.xyz;
//         r68.xyz = cb0[4].www + r68.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r69.xyz = cb0[4].xyz + cb0[4].www;
//         r69.xyz = r69.xyz + -r67.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r68.xyz = min(r69.xyz, r68.xyz);
//         r51.x = min(r68.y, r68.z);
//         r51.x = min(r68.x, r51.x);
//         r52.w = cb0[9].y * cb0[3].w;
//         r47.y = cmp(r52.w < r47.y);
//         if (r47.y != 0) {
//           r68.xyz = r67.xyz * cb0[7].www + cb0[7].xyz;
//           r25.w = t2.SampleLevel(s0_s, r68.xyz, 0).x;
//         } else {
//           r47.y = cb0[9].y * cb0[4].w;
//           r47.y = cmp(r47.y < r51.x);
//           if (r47.y != 0) {
//             r47.y = cb0[8].w * r51.x;
//             r47.y = saturate(10 * r47.y);
//             r68.xyz = r67.xyz * cb0[8].www + cb0[8].xyz;
//             r51.x = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r51.x = -cb0[0].x + r51.x;
//             r25.w = r47.y * r51.x + cb0[0].x;
//           } else {
//             r25.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r0.x = cmp(r48.w < r0.x);
//     if (r0.x != 0) {
//       r68.xyz = r67.xyz * cb0[5].www + cb0[5].xyz;
//       r69.xyz = cb0[9].yyy + r68.xyz;
//       r68.w = r69.x;
//       r0.x = t0.SampleLevel(s0_s, r68.wyz, 0).x;
//       r70.xyw = -cb0[9].yyy + r68.xyz;
//       r71.xw = r70.xy;
//       r71.yz = r68.yz;
//       r47.y = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r71.xz = r68.xz;
//       r71.y = r69.y;
//       r51.x = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r52.w = t0.SampleLevel(s0_s, r71.xwz, 0).x;
//       r70.xy = r68.xy;
//       r70.z = r69.z;
//       r56.w = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r58.z = t0.SampleLevel(s0_s, r70.xyw, 0).x;
//       r68.x = -r47.y + r0.x;
//       r68.y = -r52.w + r51.x;
//       r68.z = -r58.z + r56.w;
//       r68.xyz = float3(0.5,0.5,0.5) * r68.xyz;
//       r68.xyz = r68.xyz / cb0[1].www;
//     } else {
//       r69.xyz = -cb0[2].xyz + r67.xyz;
//       r69.xyz = cb0[2].www + r69.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r70.xyz = cb0[2].xyz + cb0[2].www;
//       r70.xyz = r70.xyz + -r67.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r69.xyz = min(r70.xyz, r69.xyz);
//       r0.x = min(r69.y, r69.z);
//       r0.x = min(r69.x, r0.x);
//       r47.y = cb0[2].w * r47.z;
//       r0.x = cmp(r47.y < r0.x);
//       if (r0.x != 0) {
//         r69.xyz = r67.xyz * cb0[6].www + cb0[6].xyz;
//         r70.xyz = cb0[9].yyy + r69.xyz;
//         r69.w = r70.x;
//         r0.x = t1.SampleLevel(s0_s, r69.wyz, 0).x;
//         r71.xyw = -cb0[9].yyy + r69.xyz;
//         r72.xw = r71.xy;
//         r72.yz = r69.yz;
//         r47.y = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r72.xz = r69.xz;
//         r72.y = r70.y;
//         r51.x = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r52.w = t1.SampleLevel(s0_s, r72.xwz, 0).x;
//         r71.xy = r69.xy;
//         r71.z = r70.z;
//         r56.w = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r58.z = t1.SampleLevel(s0_s, r71.xyw, 0).x;
//         r69.x = -r47.y + r0.x;
//         r69.y = -r52.w + r51.x;
//         r69.z = -r58.z + r56.w;
//         r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//         r68.xyz = r69.xyz / cb0[2].www;
//       } else {
//         r69.xyz = -cb0[3].xyz + r67.xyz;
//         r69.xyz = cb0[3].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[3].xyz + cb0[3].www;
//         r70.xyz = r70.xyz + -r67.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r0.x = min(r69.y, r69.z);
//         r0.x = min(r69.x, r0.x);
//         r69.xyz = -cb0[4].xyz + r67.xyz;
//         r69.xyz = cb0[4].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[4].xyz + cb0[4].www;
//         r70.xyz = r70.xyz + -r67.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r47.y = min(r69.y, r69.z);
//         r47.y = min(r69.x, r47.y);
//         r51.x = cb0[3].w * r47.z;
//         r0.x = cmp(r51.x < r0.x);
//         if (r0.x != 0) {
//           r69.xyz = r67.xyz * cb0[7].www + cb0[7].xyz;
//           r70.xyz = cb0[9].yyy + r69.xyz;
//           r69.w = r70.x;
//           r0.x = t2.SampleLevel(s0_s, r69.wyz, 0).x;
//           r71.xyw = -cb0[9].yyy + r69.xyz;
//           r72.xw = r71.xy;
//           r72.yz = r69.yz;
//           r51.x = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r72.xz = r69.xz;
//           r72.y = r70.y;
//           r52.w = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r56.w = t2.SampleLevel(s0_s, r72.xwz, 0).x;
//           r71.xy = r69.xy;
//           r71.z = r70.z;
//           r58.z = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r58.w = t2.SampleLevel(s0_s, r71.xyw, 0).x;
//           r69.x = -r51.x + r0.x;
//           r69.y = -r56.w + r52.w;
//           r69.z = r58.z + -r58.w;
//           r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//           r68.xyz = r69.xyz / cb0[3].www;
//         } else {
//           r0.x = cb0[4].w * r47.z;
//           r0.x = cmp(r0.x < r47.y);
//           if (r0.x != 0) {
//             r67.xyz = r67.xyz * cb0[8].www + cb0[8].xyz;
//             r69.xyz = cb0[9].yyy + r67.xyz;
//             r67.w = r69.x;
//             r0.x = t3.SampleLevel(s0_s, r67.wyz, 0).x;
//             r70.xyw = -cb0[9].yyy + r67.xyz;
//             r71.xw = r70.xy;
//             r71.yz = r67.yz;
//             r47.y = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r71.xz = r67.xz;
//             r71.y = r69.y;
//             r51.x = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r52.w = t3.SampleLevel(s0_s, r71.xwz, 0).x;
//             r70.xy = r67.xy;
//             r70.z = r69.z;
//             r56.w = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r58.z = t3.SampleLevel(s0_s, r70.xyw, 0).x;
//             r67.x = -r47.y + r0.x;
//             r67.y = -r52.w + r51.x;
//             r67.z = -r58.z + r56.w;
//             r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//             r68.xyz = r67.xyz / cb0[4].www;
//           } else {
//             r68.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r0.x = cmp(0 < r25.w);
//     r67.xyz = cmp(r68.xyz == float3(0,0,0.00100000005));
//     r47.y = r67.y ? r67.x : 0;
//     r47.y = r67.z ? r47.y : 0;
//     r0.x = r0.x ? r47.y : 0;
//     r67.xyz = float3(-2,0,0) + r66.xyz;
//     r68.xyz = -cb0[1].xyz + r67.xyz;
//     r68.xyz = cb0[1].www + r68.xyz;
//     r68.xyz = max(float3(0,0,0), r68.xyz);
//     r69.xyz = -r67.xyz + r62.xyz;
//     r69.xyz = max(float3(0,0,0), r69.xyz);
//     r68.xyz = min(r69.xyz, r68.xyz);
//     r47.y = min(r68.y, r68.z);
//     r47.y = min(r68.x, r47.y);
//     r51.x = cmp(r1.w < r47.y);
//     if (r51.x != 0) {
//       r68.xyz = r67.xyz * cb0[5].www + cb0[5].xyz;
//       r51.x = t0.SampleLevel(s0_s, r68.xyz, 0).x;
//     } else {
//       r68.xyz = -cb0[2].xyz + r67.xyz;
//       r68.xyz = cb0[2].www + r68.xyz;
//       r68.xyz = max(float3(0,0,0), r68.xyz);
//       r69.xyz = cb0[2].xyz + cb0[2].www;
//       r69.xyz = r69.xyz + -r67.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r68.xyz = min(r69.xyz, r68.xyz);
//       r52.w = min(r68.y, r68.z);
//       r52.w = min(r68.x, r52.w);
//       r56.w = cb0[9].y * cb0[2].w;
//       r52.w = cmp(r56.w < r52.w);
//       if (r52.w != 0) {
//         r68.xyz = r67.xyz * cb0[6].www + cb0[6].xyz;
//         r51.x = t1.SampleLevel(s0_s, r68.xyz, 0).x;
//       } else {
//         r68.xyz = -cb0[3].xyz + r67.xyz;
//         r68.xyz = cb0[3].www + r68.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r69.xyz = cb0[3].xyz + cb0[3].www;
//         r69.xyz = r69.xyz + -r67.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r68.xyz = min(r69.xyz, r68.xyz);
//         r52.w = min(r68.y, r68.z);
//         r52.w = min(r68.x, r52.w);
//         r68.xyz = -cb0[4].xyz + r67.xyz;
//         r68.xyz = cb0[4].www + r68.xyz;
//         r68.xyz = max(float3(0,0,0), r68.xyz);
//         r69.xyz = cb0[4].xyz + cb0[4].www;
//         r69.xyz = r69.xyz + -r67.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r68.xyz = min(r69.xyz, r68.xyz);
//         r56.w = min(r68.y, r68.z);
//         r56.w = min(r68.x, r56.w);
//         r58.z = cb0[9].y * cb0[3].w;
//         r52.w = cmp(r58.z < r52.w);
//         if (r52.w != 0) {
//           r68.xyz = r67.xyz * cb0[7].www + cb0[7].xyz;
//           r51.x = t2.SampleLevel(s0_s, r68.xyz, 0).x;
//         } else {
//           r52.w = cb0[9].y * cb0[4].w;
//           r52.w = cmp(r52.w < r56.w);
//           if (r52.w != 0) {
//             r52.w = cb0[8].w * r56.w;
//             r52.w = saturate(10 * r52.w);
//             r68.xyz = r67.xyz * cb0[8].www + cb0[8].xyz;
//             r56.w = t3.SampleLevel(s0_s, r68.xyz, 0).x;
//             r56.w = -cb0[0].x + r56.w;
//             r51.x = r52.w * r56.w + cb0[0].x;
//           } else {
//             r51.x = cb0[0].x;
//           }
//         }
//       }
//     }
//     r47.y = cmp(r48.w < r47.y);
//     if (r47.y != 0) {
//       r68.xyz = r67.xyz * cb0[5].www + cb0[5].xyz;
//       r69.xyz = cb0[9].yyy + r68.xyz;
//       r68.w = r69.x;
//       r47.y = t0.SampleLevel(s0_s, r68.wyz, 0).x;
//       r70.xyw = -cb0[9].yyy + r68.xyz;
//       r71.xw = r70.xy;
//       r71.yz = r68.yz;
//       r52.w = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r71.xz = r68.xz;
//       r71.y = r69.y;
//       r56.w = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r58.z = t0.SampleLevel(s0_s, r71.xwz, 0).x;
//       r70.xy = r68.xy;
//       r70.z = r69.z;
//       r58.w = t0.SampleLevel(s0_s, r70.xyz, 0).x;
//       r59.w = t0.SampleLevel(s0_s, r70.xyw, 0).x;
//       r68.x = -r52.w + r47.y;
//       r68.y = -r58.z + r56.w;
//       r68.z = -r59.w + r58.w;
//       r68.xyz = float3(0.5,0.5,0.5) * r68.xyz;
//       r68.xyz = r68.xyz / cb0[1].www;
//     } else {
//       r69.xyz = -cb0[2].xyz + r67.xyz;
//       r69.xyz = cb0[2].www + r69.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r70.xyz = cb0[2].xyz + cb0[2].www;
//       r70.xyz = r70.xyz + -r67.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r69.xyz = min(r70.xyz, r69.xyz);
//       r47.y = min(r69.y, r69.z);
//       r47.y = min(r69.x, r47.y);
//       r52.w = cb0[2].w * r47.z;
//       r47.y = cmp(r52.w < r47.y);
//       if (r47.y != 0) {
//         r69.xyz = r67.xyz * cb0[6].www + cb0[6].xyz;
//         r70.xyz = cb0[9].yyy + r69.xyz;
//         r69.w = r70.x;
//         r47.y = t1.SampleLevel(s0_s, r69.wyz, 0).x;
//         r71.xyw = -cb0[9].yyy + r69.xyz;
//         r72.xw = r71.xy;
//         r72.yz = r69.yz;
//         r52.w = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r72.xz = r69.xz;
//         r72.y = r70.y;
//         r56.w = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r58.z = t1.SampleLevel(s0_s, r72.xwz, 0).x;
//         r71.xy = r69.xy;
//         r71.z = r70.z;
//         r58.w = t1.SampleLevel(s0_s, r71.xyz, 0).x;
//         r59.w = t1.SampleLevel(s0_s, r71.xyw, 0).x;
//         r69.x = -r52.w + r47.y;
//         r69.y = -r58.z + r56.w;
//         r69.z = -r59.w + r58.w;
//         r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//         r68.xyz = r69.xyz / cb0[2].www;
//       } else {
//         r69.xyz = -cb0[3].xyz + r67.xyz;
//         r69.xyz = cb0[3].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[3].xyz + cb0[3].www;
//         r70.xyz = r70.xyz + -r67.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r47.y = min(r69.y, r69.z);
//         r47.y = min(r69.x, r47.y);
//         r69.xyz = -cb0[4].xyz + r67.xyz;
//         r69.xyz = cb0[4].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[4].xyz + cb0[4].www;
//         r70.xyz = r70.xyz + -r67.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r52.w = min(r69.y, r69.z);
//         r52.w = min(r69.x, r52.w);
//         r56.w = cb0[3].w * r47.z;
//         r47.y = cmp(r56.w < r47.y);
//         if (r47.y != 0) {
//           r69.xyz = r67.xyz * cb0[7].www + cb0[7].xyz;
//           r70.xyz = cb0[9].yyy + r69.xyz;
//           r69.w = r70.x;
//           r47.y = t2.SampleLevel(s0_s, r69.wyz, 0).x;
//           r71.xyw = -cb0[9].yyy + r69.xyz;
//           r72.xw = r71.xy;
//           r72.yz = r69.yz;
//           r56.w = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r72.xz = r69.xz;
//           r72.y = r70.y;
//           r58.z = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r58.w = t2.SampleLevel(s0_s, r72.xwz, 0).x;
//           r71.xy = r69.xy;
//           r71.z = r70.z;
//           r59.w = t2.SampleLevel(s0_s, r71.xyz, 0).x;
//           r60.x = t2.SampleLevel(s0_s, r71.xyw, 0).x;
//           r69.x = -r56.w + r47.y;
//           r69.y = r58.z + -r58.w;
//           r69.z = -r60.x + r59.w;
//           r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//           r68.xyz = r69.xyz / cb0[3].www;
//         } else {
//           r47.y = cb0[4].w * r47.z;
//           r47.y = cmp(r47.y < r52.w);
//           if (r47.y != 0) {
//             r67.xyz = r67.xyz * cb0[8].www + cb0[8].xyz;
//             r69.xyz = cb0[9].yyy + r67.xyz;
//             r67.w = r69.x;
//             r47.y = t3.SampleLevel(s0_s, r67.wyz, 0).x;
//             r70.xyw = -cb0[9].yyy + r67.xyz;
//             r71.xw = r70.xy;
//             r71.yz = r67.yz;
//             r52.w = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r71.xz = r67.xz;
//             r71.y = r69.y;
//             r56.w = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r58.z = t3.SampleLevel(s0_s, r71.xwz, 0).x;
//             r70.xy = r67.xy;
//             r70.z = r69.z;
//             r58.w = t3.SampleLevel(s0_s, r70.xyz, 0).x;
//             r59.w = t3.SampleLevel(s0_s, r70.xyw, 0).x;
//             r67.x = -r52.w + r47.y;
//             r67.y = -r58.z + r56.w;
//             r67.z = -r59.w + r58.w;
//             r67.xyz = float3(0.5,0.5,0.5) * r67.xyz;
//             r68.xyz = r67.xyz / cb0[4].www;
//           } else {
//             r68.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r47.y = cmp(0 < r51.x);
//     r67.xyz = cmp(r68.xyz == float3(0,0,0.00100000005));
//     r52.w = r67.y ? r67.x : 0;
//     r52.w = r67.z ? r52.w : 0;
//     r47.y = r47.y ? r52.w : 0;
//     r67.x = -r51.x + r25.w;
//     r68.xyz = float3(0,2,0) + r66.xyz;
//     r69.xyz = -cb0[1].xyz + r68.xyz;
//     r69.xyz = cb0[1].www + r69.xyz;
//     r69.xyz = max(float3(0,0,0), r69.xyz);
//     r70.xyz = -r68.xyz + r62.xyz;
//     r70.xyz = max(float3(0,0,0), r70.xyz);
//     r69.xyz = min(r70.xyz, r69.xyz);
//     r25.w = min(r69.y, r69.z);
//     r25.w = min(r69.x, r25.w);
//     r51.x = cmp(r1.w < r25.w);
//     if (r51.x != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r51.x = t0.SampleLevel(s0_s, r69.xyz, 0).x;
//     } else {
//       r69.xyz = -cb0[2].xyz + r68.xyz;
//       r69.xyz = cb0[2].www + r69.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r70.xyz = cb0[2].xyz + cb0[2].www;
//       r70.xyz = r70.xyz + -r68.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r69.xyz = min(r70.xyz, r69.xyz);
//       r52.w = min(r69.y, r69.z);
//       r52.w = min(r69.x, r52.w);
//       r56.w = cb0[9].y * cb0[2].w;
//       r52.w = cmp(r56.w < r52.w);
//       if (r52.w != 0) {
//         r69.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r51.x = t1.SampleLevel(s0_s, r69.xyz, 0).x;
//       } else {
//         r69.xyz = -cb0[3].xyz + r68.xyz;
//         r69.xyz = cb0[3].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[3].xyz + cb0[3].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r52.w = min(r69.y, r69.z);
//         r52.w = min(r69.x, r52.w);
//         r69.xyz = -cb0[4].xyz + r68.xyz;
//         r69.xyz = cb0[4].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[4].xyz + cb0[4].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r56.w = min(r69.y, r69.z);
//         r56.w = min(r69.x, r56.w);
//         r58.z = cb0[9].y * cb0[3].w;
//         r52.w = cmp(r58.z < r52.w);
//         if (r52.w != 0) {
//           r69.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r51.x = t2.SampleLevel(s0_s, r69.xyz, 0).x;
//         } else {
//           r52.w = cb0[9].y * cb0[4].w;
//           r52.w = cmp(r52.w < r56.w);
//           if (r52.w != 0) {
//             r52.w = cb0[8].w * r56.w;
//             r52.w = saturate(10 * r52.w);
//             r69.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r56.w = t3.SampleLevel(s0_s, r69.xyz, 0).x;
//             r56.w = -cb0[0].x + r56.w;
//             r51.x = r52.w * r56.w + cb0[0].x;
//           } else {
//             r51.x = cb0[0].x;
//           }
//         }
//       }
//     }
//     r25.w = cmp(r48.w < r25.w);
//     if (r25.w != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r70.xyz = cb0[9].yyy + r69.xyz;
//       r69.w = r70.x;
//       r25.w = t0.SampleLevel(s0_s, r69.wyz, 0).x;
//       r71.xyw = -cb0[9].yyy + r69.xyz;
//       r72.xw = r71.xy;
//       r72.yz = r69.yz;
//       r52.w = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r72.xz = r69.xz;
//       r72.y = r70.y;
//       r56.w = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r58.z = t0.SampleLevel(s0_s, r72.xwz, 0).x;
//       r71.xy = r69.xy;
//       r71.z = r70.z;
//       r58.w = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r59.w = t0.SampleLevel(s0_s, r71.xyw, 0).x;
//       r69.x = -r52.w + r25.w;
//       r69.y = -r58.z + r56.w;
//       r69.z = -r59.w + r58.w;
//       r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//       r69.xyz = r69.xyz / cb0[1].www;
//     } else {
//       r70.xyz = -cb0[2].xyz + r68.xyz;
//       r70.xyz = cb0[2].www + r70.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r71.xyz = cb0[2].xyz + cb0[2].www;
//       r71.xyz = r71.xyz + -r68.xyz;
//       r71.xyz = max(float3(0,0,0), r71.xyz);
//       r70.xyz = min(r71.xyz, r70.xyz);
//       r25.w = min(r70.y, r70.z);
//       r25.w = min(r70.x, r25.w);
//       r52.w = cb0[2].w * r47.z;
//       r25.w = cmp(r52.w < r25.w);
//       if (r25.w != 0) {
//         r70.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r71.xyz = cb0[9].yyy + r70.xyz;
//         r70.w = r71.x;
//         r25.w = t1.SampleLevel(s0_s, r70.wyz, 0).x;
//         r72.xyw = -cb0[9].yyy + r70.xyz;
//         r73.xw = r72.xy;
//         r73.yz = r70.yz;
//         r52.w = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r73.xz = r70.xz;
//         r73.y = r71.y;
//         r56.w = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r58.z = t1.SampleLevel(s0_s, r73.xwz, 0).x;
//         r72.xy = r70.xy;
//         r72.z = r71.z;
//         r58.w = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r59.w = t1.SampleLevel(s0_s, r72.xyw, 0).x;
//         r70.x = -r52.w + r25.w;
//         r70.y = -r58.z + r56.w;
//         r70.z = -r59.w + r58.w;
//         r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//         r69.xyz = r70.xyz / cb0[2].www;
//       } else {
//         r70.xyz = -cb0[3].xyz + r68.xyz;
//         r70.xyz = cb0[3].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[3].xyz + cb0[3].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r25.w = min(r70.y, r70.z);
//         r25.w = min(r70.x, r25.w);
//         r70.xyz = -cb0[4].xyz + r68.xyz;
//         r70.xyz = cb0[4].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[4].xyz + cb0[4].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r52.w = min(r70.y, r70.z);
//         r52.w = min(r70.x, r52.w);
//         r56.w = cb0[3].w * r47.z;
//         r25.w = cmp(r56.w < r25.w);
//         if (r25.w != 0) {
//           r70.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r71.xyz = cb0[9].yyy + r70.xyz;
//           r70.w = r71.x;
//           r25.w = t2.SampleLevel(s0_s, r70.wyz, 0).x;
//           r72.xyw = -cb0[9].yyy + r70.xyz;
//           r73.xw = r72.xy;
//           r73.yz = r70.yz;
//           r56.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r73.xz = r70.xz;
//           r73.y = r71.y;
//           r58.z = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r58.w = t2.SampleLevel(s0_s, r73.xwz, 0).x;
//           r72.xy = r70.xy;
//           r72.z = r71.z;
//           r59.w = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r60.x = t2.SampleLevel(s0_s, r72.xyw, 0).x;
//           r70.x = -r56.w + r25.w;
//           r70.y = r58.z + -r58.w;
//           r70.z = -r60.x + r59.w;
//           r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//           r69.xyz = r70.xyz / cb0[3].www;
//         } else {
//           r25.w = cb0[4].w * r47.z;
//           r25.w = cmp(r25.w < r52.w);
//           if (r25.w != 0) {
//             r68.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r70.xyz = cb0[9].yyy + r68.xyz;
//             r68.w = r70.x;
//             r25.w = t3.SampleLevel(s0_s, r68.wyz, 0).x;
//             r71.xyw = -cb0[9].yyy + r68.xyz;
//             r72.xw = r71.xy;
//             r72.yz = r68.yz;
//             r52.w = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r72.xz = r68.xz;
//             r72.y = r70.y;
//             r56.w = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r58.z = t3.SampleLevel(s0_s, r72.xwz, 0).x;
//             r71.xy = r68.xy;
//             r71.z = r70.z;
//             r58.w = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r59.w = t3.SampleLevel(s0_s, r71.xyw, 0).x;
//             r68.x = -r52.w + r25.w;
//             r68.y = -r58.z + r56.w;
//             r68.z = -r59.w + r58.w;
//             r68.xyz = float3(0.5,0.5,0.5) * r68.xyz;
//             r69.xyz = r68.xyz / cb0[4].www;
//           } else {
//             r69.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r25.w = cmp(0 < r51.x);
//     r68.xyz = cmp(r69.xyz == float3(0,0,0.00100000005));
//     r52.w = r68.y ? r68.x : 0;
//     r52.w = r68.z ? r52.w : 0;
//     r25.w = r25.w ? r52.w : 0;
//     r68.xyz = float3(0,-2,0) + r66.xyz;
//     r69.xyz = -cb0[1].xyz + r68.xyz;
//     r69.xyz = cb0[1].www + r69.xyz;
//     r69.xyz = max(float3(0,0,0), r69.xyz);
//     r70.xyz = -r68.xyz + r62.xyz;
//     r70.xyz = max(float3(0,0,0), r70.xyz);
//     r69.xyz = min(r70.xyz, r69.xyz);
//     r52.w = min(r69.y, r69.z);
//     r52.w = min(r69.x, r52.w);
//     r56.w = cmp(r1.w < r52.w);
//     if (r56.w != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r56.w = t0.SampleLevel(s0_s, r69.xyz, 0).x;
//     } else {
//       r69.xyz = -cb0[2].xyz + r68.xyz;
//       r69.xyz = cb0[2].www + r69.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r70.xyz = cb0[2].xyz + cb0[2].www;
//       r70.xyz = r70.xyz + -r68.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r69.xyz = min(r70.xyz, r69.xyz);
//       r58.z = min(r69.y, r69.z);
//       r58.z = min(r69.x, r58.z);
//       r58.w = cb0[9].y * cb0[2].w;
//       r58.z = cmp(r58.w < r58.z);
//       if (r58.z != 0) {
//         r69.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r56.w = t1.SampleLevel(s0_s, r69.xyz, 0).x;
//       } else {
//         r69.xyz = -cb0[3].xyz + r68.xyz;
//         r69.xyz = cb0[3].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[3].xyz + cb0[3].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r58.z = min(r69.y, r69.z);
//         r58.z = min(r69.x, r58.z);
//         r69.xyz = -cb0[4].xyz + r68.xyz;
//         r69.xyz = cb0[4].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[4].xyz + cb0[4].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r58.w = min(r69.y, r69.z);
//         r58.w = min(r69.x, r58.w);
//         r59.w = cb0[9].y * cb0[3].w;
//         r58.z = cmp(r59.w < r58.z);
//         if (r58.z != 0) {
//           r69.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r56.w = t2.SampleLevel(s0_s, r69.xyz, 0).x;
//         } else {
//           r58.z = cb0[9].y * cb0[4].w;
//           r58.z = cmp(r58.z < r58.w);
//           if (r58.z != 0) {
//             r58.z = cb0[8].w * r58.w;
//             r58.z = saturate(10 * r58.z);
//             r69.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r58.w = t3.SampleLevel(s0_s, r69.xyz, 0).x;
//             r58.w = -cb0[0].x + r58.w;
//             r56.w = r58.z * r58.w + cb0[0].x;
//           } else {
//             r56.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r52.w = cmp(r48.w < r52.w);
//     if (r52.w != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r70.xyz = cb0[9].yyy + r69.xyz;
//       r69.w = r70.x;
//       r52.w = t0.SampleLevel(s0_s, r69.wyz, 0).x;
//       r71.xyw = -cb0[9].yyy + r69.xyz;
//       r72.xw = r71.xy;
//       r72.yz = r69.yz;
//       r58.z = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r72.xz = r69.xz;
//       r72.y = r70.y;
//       r58.w = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r59.w = t0.SampleLevel(s0_s, r72.xwz, 0).x;
//       r71.xy = r69.xy;
//       r71.z = r70.z;
//       r60.x = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r61.x = t0.SampleLevel(s0_s, r71.xyw, 0).x;
//       r69.x = -r58.z + r52.w;
//       r69.y = -r59.w + r58.w;
//       r69.z = -r61.x + r60.x;
//       r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//       r69.xyz = r69.xyz / cb0[1].www;
//     } else {
//       r70.xyz = -cb0[2].xyz + r68.xyz;
//       r70.xyz = cb0[2].www + r70.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r71.xyz = cb0[2].xyz + cb0[2].www;
//       r71.xyz = r71.xyz + -r68.xyz;
//       r71.xyz = max(float3(0,0,0), r71.xyz);
//       r70.xyz = min(r71.xyz, r70.xyz);
//       r52.w = min(r70.y, r70.z);
//       r52.w = min(r70.x, r52.w);
//       r58.z = cb0[2].w * r47.z;
//       r52.w = cmp(r58.z < r52.w);
//       if (r52.w != 0) {
//         r70.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r71.xyz = cb0[9].yyy + r70.xyz;
//         r70.w = r71.x;
//         r52.w = t1.SampleLevel(s0_s, r70.wyz, 0).x;
//         r72.xyw = -cb0[9].yyy + r70.xyz;
//         r73.xw = r72.xy;
//         r73.yz = r70.yz;
//         r58.z = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r73.xz = r70.xz;
//         r73.y = r71.y;
//         r58.w = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r59.w = t1.SampleLevel(s0_s, r73.xwz, 0).x;
//         r72.xy = r70.xy;
//         r72.z = r71.z;
//         r60.x = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r61.x = t1.SampleLevel(s0_s, r72.xyw, 0).x;
//         r70.x = -r58.z + r52.w;
//         r70.y = -r59.w + r58.w;
//         r70.z = -r61.x + r60.x;
//         r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//         r69.xyz = r70.xyz / cb0[2].www;
//       } else {
//         r70.xyz = -cb0[3].xyz + r68.xyz;
//         r70.xyz = cb0[3].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[3].xyz + cb0[3].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r52.w = min(r70.y, r70.z);
//         r52.w = min(r70.x, r52.w);
//         r70.xyz = -cb0[4].xyz + r68.xyz;
//         r70.xyz = cb0[4].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[4].xyz + cb0[4].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r58.z = min(r70.y, r70.z);
//         r58.z = min(r70.x, r58.z);
//         r58.w = cb0[3].w * r47.z;
//         r52.w = cmp(r58.w < r52.w);
//         if (r52.w != 0) {
//           r70.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r71.xyz = cb0[9].yyy + r70.xyz;
//           r70.w = r71.x;
//           r52.w = t2.SampleLevel(s0_s, r70.wyz, 0).x;
//           r72.xyw = -cb0[9].yyy + r70.xyz;
//           r73.xw = r72.xy;
//           r73.yz = r70.yz;
//           r58.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r73.xz = r70.xz;
//           r73.y = r71.y;
//           r59.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r60.x = t2.SampleLevel(s0_s, r73.xwz, 0).x;
//           r72.xy = r70.xy;
//           r72.z = r71.z;
//           r61.x = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r61.y = t2.SampleLevel(s0_s, r72.xyw, 0).x;
//           r70.x = -r58.w + r52.w;
//           r70.y = -r60.x + r59.w;
//           r70.z = r61.x + -r61.y;
//           r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//           r69.xyz = r70.xyz / cb0[3].www;
//         } else {
//           r52.w = cb0[4].w * r47.z;
//           r52.w = cmp(r52.w < r58.z);
//           if (r52.w != 0) {
//             r68.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r70.xyz = cb0[9].yyy + r68.xyz;
//             r68.w = r70.x;
//             r52.w = t3.SampleLevel(s0_s, r68.wyz, 0).x;
//             r71.xyw = -cb0[9].yyy + r68.xyz;
//             r72.xw = r71.xy;
//             r72.yz = r68.yz;
//             r58.z = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r72.xz = r68.xz;
//             r72.y = r70.y;
//             r58.w = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r59.w = t3.SampleLevel(s0_s, r72.xwz, 0).x;
//             r71.xy = r68.xy;
//             r71.z = r70.z;
//             r60.x = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r61.x = t3.SampleLevel(s0_s, r71.xyw, 0).x;
//             r68.x = -r58.z + r52.w;
//             r68.y = -r59.w + r58.w;
//             r68.z = -r61.x + r60.x;
//             r68.xyz = float3(0.5,0.5,0.5) * r68.xyz;
//             r69.xyz = r68.xyz / cb0[4].www;
//           } else {
//             r69.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r52.w = cmp(0 < r56.w);
//     r68.xyz = cmp(r69.xyz == float3(0,0,0.00100000005));
//     r58.z = r68.y ? r68.x : 0;
//     r58.z = r68.z ? r58.z : 0;
//     r52.w = r52.w ? r58.z : 0;
//     r67.y = -r56.w + r51.x;
//     r68.xyz = float3(0,0,2) + r66.xyz;
//     r69.xyz = -cb0[1].xyz + r68.xyz;
//     r69.xyz = cb0[1].www + r69.xyz;
//     r69.xyz = max(float3(0,0,0), r69.xyz);
//     r70.xyz = -r68.xyz + r62.xyz;
//     r70.xyz = max(float3(0,0,0), r70.xyz);
//     r69.xyz = min(r70.xyz, r69.xyz);
//     r51.x = min(r69.y, r69.z);
//     r51.x = min(r69.x, r51.x);
//     r56.w = cmp(r1.w < r51.x);
//     if (r56.w != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r56.w = t0.SampleLevel(s0_s, r69.xyz, 0).x;
//     } else {
//       r69.xyz = -cb0[2].xyz + r68.xyz;
//       r69.xyz = cb0[2].www + r69.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r70.xyz = cb0[2].xyz + cb0[2].www;
//       r70.xyz = r70.xyz + -r68.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r69.xyz = min(r70.xyz, r69.xyz);
//       r58.z = min(r69.y, r69.z);
//       r58.z = min(r69.x, r58.z);
//       r58.w = cb0[9].y * cb0[2].w;
//       r58.z = cmp(r58.w < r58.z);
//       if (r58.z != 0) {
//         r69.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r56.w = t1.SampleLevel(s0_s, r69.xyz, 0).x;
//       } else {
//         r69.xyz = -cb0[3].xyz + r68.xyz;
//         r69.xyz = cb0[3].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[3].xyz + cb0[3].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r58.z = min(r69.y, r69.z);
//         r58.z = min(r69.x, r58.z);
//         r69.xyz = -cb0[4].xyz + r68.xyz;
//         r69.xyz = cb0[4].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[4].xyz + cb0[4].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r58.w = min(r69.y, r69.z);
//         r58.w = min(r69.x, r58.w);
//         r59.w = cb0[9].y * cb0[3].w;
//         r58.z = cmp(r59.w < r58.z);
//         if (r58.z != 0) {
//           r69.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r56.w = t2.SampleLevel(s0_s, r69.xyz, 0).x;
//         } else {
//           r58.z = cb0[9].y * cb0[4].w;
//           r58.z = cmp(r58.z < r58.w);
//           if (r58.z != 0) {
//             r58.z = cb0[8].w * r58.w;
//             r58.z = saturate(10 * r58.z);
//             r69.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r58.w = t3.SampleLevel(s0_s, r69.xyz, 0).x;
//             r58.w = -cb0[0].x + r58.w;
//             r56.w = r58.z * r58.w + cb0[0].x;
//           } else {
//             r56.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r51.x = cmp(r48.w < r51.x);
//     if (r51.x != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r70.xyz = cb0[9].yyy + r69.xyz;
//       r69.w = r70.x;
//       r51.x = t0.SampleLevel(s0_s, r69.wyz, 0).x;
//       r71.xyw = -cb0[9].yyy + r69.xyz;
//       r72.xw = r71.xy;
//       r72.yz = r69.yz;
//       r58.z = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r72.xz = r69.xz;
//       r72.y = r70.y;
//       r58.w = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r59.w = t0.SampleLevel(s0_s, r72.xwz, 0).x;
//       r71.xy = r69.xy;
//       r71.z = r70.z;
//       r60.x = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r61.x = t0.SampleLevel(s0_s, r71.xyw, 0).x;
//       r69.x = -r58.z + r51.x;
//       r69.y = -r59.w + r58.w;
//       r69.z = -r61.x + r60.x;
//       r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//       r69.xyz = r69.xyz / cb0[1].www;
//     } else {
//       r70.xyz = -cb0[2].xyz + r68.xyz;
//       r70.xyz = cb0[2].www + r70.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r71.xyz = cb0[2].xyz + cb0[2].www;
//       r71.xyz = r71.xyz + -r68.xyz;
//       r71.xyz = max(float3(0,0,0), r71.xyz);
//       r70.xyz = min(r71.xyz, r70.xyz);
//       r51.x = min(r70.y, r70.z);
//       r51.x = min(r70.x, r51.x);
//       r58.z = cb0[2].w * r47.z;
//       r51.x = cmp(r58.z < r51.x);
//       if (r51.x != 0) {
//         r70.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r71.xyz = cb0[9].yyy + r70.xyz;
//         r70.w = r71.x;
//         r51.x = t1.SampleLevel(s0_s, r70.wyz, 0).x;
//         r72.xyw = -cb0[9].yyy + r70.xyz;
//         r73.xw = r72.xy;
//         r73.yz = r70.yz;
//         r58.z = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r73.xz = r70.xz;
//         r73.y = r71.y;
//         r58.w = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r59.w = t1.SampleLevel(s0_s, r73.xwz, 0).x;
//         r72.xy = r70.xy;
//         r72.z = r71.z;
//         r60.x = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r61.x = t1.SampleLevel(s0_s, r72.xyw, 0).x;
//         r70.x = -r58.z + r51.x;
//         r70.y = -r59.w + r58.w;
//         r70.z = -r61.x + r60.x;
//         r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//         r69.xyz = r70.xyz / cb0[2].www;
//       } else {
//         r70.xyz = -cb0[3].xyz + r68.xyz;
//         r70.xyz = cb0[3].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[3].xyz + cb0[3].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r51.x = min(r70.y, r70.z);
//         r51.x = min(r70.x, r51.x);
//         r70.xyz = -cb0[4].xyz + r68.xyz;
//         r70.xyz = cb0[4].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[4].xyz + cb0[4].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r58.z = min(r70.y, r70.z);
//         r58.z = min(r70.x, r58.z);
//         r58.w = cb0[3].w * r47.z;
//         r51.x = cmp(r58.w < r51.x);
//         if (r51.x != 0) {
//           r70.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r71.xyz = cb0[9].yyy + r70.xyz;
//           r70.w = r71.x;
//           r51.x = t2.SampleLevel(s0_s, r70.wyz, 0).x;
//           r72.xyw = -cb0[9].yyy + r70.xyz;
//           r73.xw = r72.xy;
//           r73.yz = r70.yz;
//           r58.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r73.xz = r70.xz;
//           r73.y = r71.y;
//           r59.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r60.x = t2.SampleLevel(s0_s, r73.xwz, 0).x;
//           r72.xy = r70.xy;
//           r72.z = r71.z;
//           r61.x = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r61.y = t2.SampleLevel(s0_s, r72.xyw, 0).x;
//           r70.x = -r58.w + r51.x;
//           r70.y = -r60.x + r59.w;
//           r70.z = r61.x + -r61.y;
//           r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//           r69.xyz = r70.xyz / cb0[3].www;
//         } else {
//           r51.x = cb0[4].w * r47.z;
//           r51.x = cmp(r51.x < r58.z);
//           if (r51.x != 0) {
//             r68.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r70.xyz = cb0[9].yyy + r68.xyz;
//             r68.w = r70.x;
//             r51.x = t3.SampleLevel(s0_s, r68.wyz, 0).x;
//             r71.xyw = -cb0[9].yyy + r68.xyz;
//             r72.xw = r71.xy;
//             r72.yz = r68.yz;
//             r58.z = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r72.xz = r68.xz;
//             r72.y = r70.y;
//             r58.w = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r59.w = t3.SampleLevel(s0_s, r72.xwz, 0).x;
//             r71.xy = r68.xy;
//             r71.z = r70.z;
//             r60.x = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r61.x = t3.SampleLevel(s0_s, r71.xyw, 0).x;
//             r68.x = -r58.z + r51.x;
//             r68.y = -r59.w + r58.w;
//             r68.z = -r61.x + r60.x;
//             r68.xyz = float3(0.5,0.5,0.5) * r68.xyz;
//             r69.xyz = r68.xyz / cb0[4].www;
//           } else {
//             r69.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r51.x = cmp(0 < r56.w);
//     r68.xyz = cmp(r69.xyz == float3(0,0,0.00100000005));
//     r58.z = r68.y ? r68.x : 0;
//     r58.z = r68.z ? r58.z : 0;
//     r51.x = r51.x ? r58.z : 0;
//     r68.xyz = float3(0,0,-2) + r66.xyz;
//     r69.xyz = -cb0[1].xyz + r68.xyz;
//     r69.xyz = cb0[1].www + r69.xyz;
//     r69.xyz = max(float3(0,0,0), r69.xyz);
//     r70.xyz = -r68.xyz + r62.xyz;
//     r70.xyz = max(float3(0,0,0), r70.xyz);
//     r69.xyz = min(r70.xyz, r69.xyz);
//     r58.z = min(r69.y, r69.z);
//     r58.z = min(r69.x, r58.z);
//     r58.w = cmp(r1.w < r58.z);
//     if (r58.w != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r58.w = t0.SampleLevel(s0_s, r69.xyz, 0).x;
//     } else {
//       r69.xyz = -cb0[2].xyz + r68.xyz;
//       r69.xyz = cb0[2].www + r69.xyz;
//       r69.xyz = max(float3(0,0,0), r69.xyz);
//       r70.xyz = cb0[2].xyz + cb0[2].www;
//       r70.xyz = r70.xyz + -r68.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r69.xyz = min(r70.xyz, r69.xyz);
//       r59.w = min(r69.y, r69.z);
//       r59.w = min(r69.x, r59.w);
//       r60.x = cb0[9].y * cb0[2].w;
//       r59.w = cmp(r60.x < r59.w);
//       if (r59.w != 0) {
//         r69.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r58.w = t1.SampleLevel(s0_s, r69.xyz, 0).x;
//       } else {
//         r69.xyz = -cb0[3].xyz + r68.xyz;
//         r69.xyz = cb0[3].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[3].xyz + cb0[3].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r59.w = min(r69.y, r69.z);
//         r59.w = min(r69.x, r59.w);
//         r69.xyz = -cb0[4].xyz + r68.xyz;
//         r69.xyz = cb0[4].www + r69.xyz;
//         r69.xyz = max(float3(0,0,0), r69.xyz);
//         r70.xyz = cb0[4].xyz + cb0[4].www;
//         r70.xyz = r70.xyz + -r68.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r69.xyz = min(r70.xyz, r69.xyz);
//         r60.x = min(r69.y, r69.z);
//         r60.x = min(r69.x, r60.x);
//         r61.x = cb0[9].y * cb0[3].w;
//         r59.w = cmp(r61.x < r59.w);
//         if (r59.w != 0) {
//           r69.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r58.w = t2.SampleLevel(s0_s, r69.xyz, 0).x;
//         } else {
//           r59.w = cb0[9].y * cb0[4].w;
//           r59.w = cmp(r59.w < r60.x);
//           if (r59.w != 0) {
//             r59.w = cb0[8].w * r60.x;
//             r59.w = saturate(10 * r59.w);
//             r69.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r60.x = t3.SampleLevel(s0_s, r69.xyz, 0).x;
//             r60.x = -cb0[0].x + r60.x;
//             r58.w = r59.w * r60.x + cb0[0].x;
//           } else {
//             r58.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r48.w = cmp(r48.w < r58.z);
//     if (r48.w != 0) {
//       r69.xyz = r68.xyz * cb0[5].www + cb0[5].xyz;
//       r70.xyz = cb0[9].yyy + r69.xyz;
//       r69.w = r70.x;
//       r48.w = t0.SampleLevel(s0_s, r69.wyz, 0).x;
//       r71.xyw = -cb0[9].yyy + r69.xyz;
//       r72.xw = r71.xy;
//       r72.yz = r69.yz;
//       r58.z = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r72.xz = r69.xz;
//       r72.y = r70.y;
//       r59.w = t0.SampleLevel(s0_s, r72.xyz, 0).x;
//       r60.x = t0.SampleLevel(s0_s, r72.xwz, 0).x;
//       r71.xy = r69.xy;
//       r71.z = r70.z;
//       r61.x = t0.SampleLevel(s0_s, r71.xyz, 0).x;
//       r61.y = t0.SampleLevel(s0_s, r71.xyw, 0).x;
//       r69.x = -r58.z + r48.w;
//       r69.y = -r60.x + r59.w;
//       r69.z = r61.x + -r61.y;
//       r69.xyz = float3(0.5,0.5,0.5) * r69.xyz;
//       r69.xyz = r69.xyz / cb0[1].www;
//     } else {
//       r70.xyz = -cb0[2].xyz + r68.xyz;
//       r70.xyz = cb0[2].www + r70.xyz;
//       r70.xyz = max(float3(0,0,0), r70.xyz);
//       r71.xyz = cb0[2].xyz + cb0[2].www;
//       r71.xyz = r71.xyz + -r68.xyz;
//       r71.xyz = max(float3(0,0,0), r71.xyz);
//       r70.xyz = min(r71.xyz, r70.xyz);
//       r48.w = min(r70.y, r70.z);
//       r48.w = min(r70.x, r48.w);
//       r58.z = cb0[2].w * r47.z;
//       r48.w = cmp(r58.z < r48.w);
//       if (r48.w != 0) {
//         r70.xyz = r68.xyz * cb0[6].www + cb0[6].xyz;
//         r71.xyz = cb0[9].yyy + r70.xyz;
//         r70.w = r71.x;
//         r48.w = t1.SampleLevel(s0_s, r70.wyz, 0).x;
//         r72.xyw = -cb0[9].yyy + r70.xyz;
//         r73.xw = r72.xy;
//         r73.yz = r70.yz;
//         r58.z = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r73.xz = r70.xz;
//         r73.y = r71.y;
//         r59.w = t1.SampleLevel(s0_s, r73.xyz, 0).x;
//         r60.x = t1.SampleLevel(s0_s, r73.xwz, 0).x;
//         r72.xy = r70.xy;
//         r72.z = r71.z;
//         r61.x = t1.SampleLevel(s0_s, r72.xyz, 0).x;
//         r61.y = t1.SampleLevel(s0_s, r72.xyw, 0).x;
//         r70.x = -r58.z + r48.w;
//         r70.y = -r60.x + r59.w;
//         r70.z = r61.x + -r61.y;
//         r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//         r69.xyz = r70.xyz / cb0[2].www;
//       } else {
//         r70.xyz = -cb0[3].xyz + r68.xyz;
//         r70.xyz = cb0[3].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[3].xyz + cb0[3].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r48.w = min(r70.y, r70.z);
//         r48.w = min(r70.x, r48.w);
//         r70.xyz = -cb0[4].xyz + r68.xyz;
//         r70.xyz = cb0[4].www + r70.xyz;
//         r70.xyz = max(float3(0,0,0), r70.xyz);
//         r71.xyz = cb0[4].xyz + cb0[4].www;
//         r71.xyz = r71.xyz + -r68.xyz;
//         r71.xyz = max(float3(0,0,0), r71.xyz);
//         r70.xyz = min(r71.xyz, r70.xyz);
//         r58.z = min(r70.y, r70.z);
//         r58.z = min(r70.x, r58.z);
//         r59.w = cb0[3].w * r47.z;
//         r48.w = cmp(r59.w < r48.w);
//         if (r48.w != 0) {
//           r70.xyz = r68.xyz * cb0[7].www + cb0[7].xyz;
//           r71.xyz = cb0[9].yyy + r70.xyz;
//           r70.w = r71.x;
//           r48.w = t2.SampleLevel(s0_s, r70.wyz, 0).x;
//           r72.xyw = -cb0[9].yyy + r70.xyz;
//           r73.xw = r72.xy;
//           r73.yz = r70.yz;
//           r59.w = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r73.xz = r70.xz;
//           r73.y = r71.y;
//           r60.x = t2.SampleLevel(s0_s, r73.xyz, 0).x;
//           r61.x = t2.SampleLevel(s0_s, r73.xwz, 0).x;
//           r72.xy = r70.xy;
//           r72.z = r71.z;
//           r61.y = t2.SampleLevel(s0_s, r72.xyz, 0).x;
//           r62.w = t2.SampleLevel(s0_s, r72.xyw, 0).x;
//           r70.x = -r59.w + r48.w;
//           r70.y = -r61.x + r60.x;
//           r70.z = -r62.w + r61.y;
//           r70.xyz = float3(0.5,0.5,0.5) * r70.xyz;
//           r69.xyz = r70.xyz / cb0[3].www;
//         } else {
//           r47.z = cb0[4].w * r47.z;
//           r47.z = cmp(r47.z < r58.z);
//           if (r47.z != 0) {
//             r68.xyz = r68.xyz * cb0[8].www + cb0[8].xyz;
//             r70.xyz = cb0[9].yyy + r68.xyz;
//             r68.w = r70.x;
//             r47.z = t3.SampleLevel(s0_s, r68.wyz, 0).x;
//             r71.xyw = -cb0[9].yyy + r68.xyz;
//             r72.xw = r71.xy;
//             r72.yz = r68.yz;
//             r48.w = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r72.xz = r68.xz;
//             r72.y = r70.y;
//             r58.z = t3.SampleLevel(s0_s, r72.xyz, 0).x;
//             r59.w = t3.SampleLevel(s0_s, r72.xwz, 0).x;
//             r71.xy = r68.xy;
//             r71.z = r70.z;
//             r60.x = t3.SampleLevel(s0_s, r71.xyz, 0).x;
//             r61.x = t3.SampleLevel(s0_s, r71.xyw, 0).x;
//             r68.x = -r48.w + r47.z;
//             r68.y = -r59.w + r58.z;
//             r68.z = -r61.x + r60.x;
//             r68.xyz = float3(0.5,0.5,0.5) * r68.xyz;
//             r69.xyz = r68.xyz / cb0[4].www;
//           } else {
//             r69.xyz = float3(0,0,0.00100000005);
//           }
//         }
//       }
//     }
//     r47.z = cmp(0 < r58.w);
//     r68.xyz = cmp(r69.xyz == float3(0,0,0.00100000005));
//     r48.w = r68.y ? r68.x : 0;
//     r48.w = r68.z ? r48.w : 0;
//     r47.z = r47.z ? r48.w : 0;
//     r67.z = -r58.w + r56.w;
//     r48.w = dot(r67.xyz, r67.xyz);
//     r67.w = sqrt(r48.w);
//     r48.w = cmp(r67.w < 9.99999975e-06);
//     r67.xyzw = r48.wwww ? float4(0,0,0,1) : r67.xyzw;
//     r67.xyz = r67.xyz / r67.www;
//     r67.xyz = r48.www ? float3(0,0,0) : r67.xyz;
//     r0.x = cmp((int)r0.x == 0);
//     r0.x = r0.x ? r50.z : 0;
//     r47.y = cmp((int)r47.y == 0);
//     r0.x = r0.x ? r47.y : 0;
//     r25.w = cmp((int)r25.w == 0);
//     r0.x = r0.x ? r25.w : 0;
//     r25.w = cmp((int)r52.w == 0);
//     r0.x = r0.x ? r25.w : 0;
//     r25.w = cmp((int)r51.x == 0);
//     r0.x = r0.x ? r25.w : 0;
//     r25.w = cmp((int)r47.z == 0);
//     r0.x = r0.x ? r25.w : 0;
//     r0.x = r0.x ? r48.w : 0;
//     r11.xyz = r0.xxx ? r67.xyz : r55.xyz;
//     r55.xyz = r61.zzz * r11.xyz;
//     r0.x = saturate(0.00999999978 * r22.w);
//     r0.x = 1 + -r0.x;
//     r9.xyz = r63.xyz * float3(-0.5,-0.5,-0.5) + r24.yzw;
//     r22.w = dot(r64.xyz, r64.xyz);
//     r64.w = sqrt(r22.w);
//     r22.w = cmp(r64.w < 9.99999975e-06);
//     r63.xyzw = r22.wwww ? float4(0,0,0,1) : r64.xyzw;
//     r63.xyz = r63.xyz / r63.www;
//     r7.xyzw = r22.wwww ? float4(0,0,0,0) : r63.xyzw;
//     r61.xyz = float3(3,0,0) + r66.xyz;
//     r63.xyz = -cb0[1].xyz + r61.xyz;
//     r63.xyz = cb0[1].www + r63.xyz;
//     r63.xyz = max(float3(0,0,0), r63.xyz);
//     r64.xyz = r62.xyz + -r61.xyz;
//     r64.xyz = max(float3(0,0,0), r64.xyz);
//     r63.xyz = min(r64.xyz, r63.xyz);
//     r22.w = min(r63.y, r63.z);
//     r22.w = min(r63.x, r22.w);
//     r22.w = cmp(r1.w < r22.w);
//     if (r22.w != 0) {
//       r63.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//       r22.w = t0.SampleLevel(s0_s, r63.xyz, 0).x;
//     } else {
//       r63.xyz = -cb0[2].xyz + r61.xyz;
//       r63.xyz = cb0[2].www + r63.xyz;
//       r63.xyz = max(float3(0,0,0), r63.xyz);
//       r64.xyz = cb0[2].xyz + cb0[2].www;
//       r64.xyz = r64.xyz + -r61.xyz;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r63.xyz = min(r64.xyz, r63.xyz);
//       r25.w = min(r63.y, r63.z);
//       r25.w = min(r63.x, r25.w);
//       r47.y = cb0[9].y * cb0[2].w;
//       r25.w = cmp(r47.y < r25.w);
//       if (r25.w != 0) {
//         r63.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//         r22.w = t1.SampleLevel(s0_s, r63.xyz, 0).x;
//       } else {
//         r63.xyz = -cb0[3].xyz + r61.xyz;
//         r63.xyz = cb0[3].www + r63.xyz;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r64.xyz = cb0[3].xyz + cb0[3].www;
//         r64.xyz = r64.xyz + -r61.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r63.xyz = min(r64.xyz, r63.xyz);
//         r25.w = min(r63.y, r63.z);
//         r25.w = min(r63.x, r25.w);
//         r63.xyz = -cb0[4].xyz + r61.xyz;
//         r63.xyz = cb0[4].www + r63.xyz;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r64.xyz = cb0[4].xyz + cb0[4].www;
//         r64.xyz = r64.xyz + -r61.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r63.xyz = min(r64.xyz, r63.xyz);
//         r47.y = min(r63.y, r63.z);
//         r47.y = min(r63.x, r47.y);
//         r47.z = cb0[9].y * cb0[3].w;
//         r25.w = cmp(r47.z < r25.w);
//         if (r25.w != 0) {
//           r63.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//           r22.w = t2.SampleLevel(s0_s, r63.xyz, 0).x;
//         } else {
//           r25.w = cb0[9].y * cb0[4].w;
//           r25.w = cmp(r25.w < r47.y);
//           if (r25.w != 0) {
//             r25.w = cb0[8].w * r47.y;
//             r25.w = saturate(10 * r25.w);
//             r61.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//             r47.y = t3.SampleLevel(s0_s, r61.xyz, 0).x;
//             r47.y = -cb0[0].x + r47.y;
//             r22.w = r25.w * r47.y + cb0[0].x;
//           } else {
//             r22.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r61.xyz = float3(-3,0,0) + r66.xyz;
//     r63.xyz = -cb0[1].xyz + r61.xyz;
//     r63.xyz = cb0[1].www + r63.xyz;
//     r63.xyz = max(float3(0,0,0), r63.xyz);
//     r64.xyz = r62.xyz + -r61.xyz;
//     r64.xyz = max(float3(0,0,0), r64.xyz);
//     r63.xyz = min(r64.xyz, r63.xyz);
//     r25.w = min(r63.y, r63.z);
//     r25.w = min(r63.x, r25.w);
//     r25.w = cmp(r1.w < r25.w);
//     if (r25.w != 0) {
//       r63.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//       r25.w = t0.SampleLevel(s0_s, r63.xyz, 0).x;
//     } else {
//       r63.xyz = -cb0[2].xyz + r61.xyz;
//       r63.xyz = cb0[2].www + r63.xyz;
//       r63.xyz = max(float3(0,0,0), r63.xyz);
//       r64.xyz = cb0[2].xyz + cb0[2].www;
//       r64.xyz = r64.xyz + -r61.xyz;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r63.xyz = min(r64.xyz, r63.xyz);
//       r47.y = min(r63.y, r63.z);
//       r47.y = min(r63.x, r47.y);
//       r47.z = cb0[9].y * cb0[2].w;
//       r47.y = cmp(r47.z < r47.y);
//       if (r47.y != 0) {
//         r63.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//         r25.w = t1.SampleLevel(s0_s, r63.xyz, 0).x;
//       } else {
//         r63.xyz = -cb0[3].xyz + r61.xyz;
//         r63.xyz = cb0[3].www + r63.xyz;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r64.xyz = cb0[3].xyz + cb0[3].www;
//         r64.xyz = r64.xyz + -r61.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r63.xyz = min(r64.xyz, r63.xyz);
//         r47.y = min(r63.y, r63.z);
//         r47.y = min(r63.x, r47.y);
//         r63.xyz = -cb0[4].xyz + r61.xyz;
//         r63.xyz = cb0[4].www + r63.xyz;
//         r63.xyz = max(float3(0,0,0), r63.xyz);
//         r64.xyz = cb0[4].xyz + cb0[4].www;
//         r64.xyz = r64.xyz + -r61.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r63.xyz = min(r64.xyz, r63.xyz);
//         r47.z = min(r63.y, r63.z);
//         r47.z = min(r63.x, r47.z);
//         r48.w = cb0[9].y * cb0[3].w;
//         r47.y = cmp(r48.w < r47.y);
//         if (r47.y != 0) {
//           r63.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//           r25.w = t2.SampleLevel(s0_s, r63.xyz, 0).x;
//         } else {
//           r47.y = cb0[9].y * cb0[4].w;
//           r47.y = cmp(r47.y < r47.z);
//           if (r47.y != 0) {
//             r47.y = cb0[8].w * r47.z;
//             r47.y = saturate(10 * r47.y);
//             r61.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//             r47.z = t3.SampleLevel(s0_s, r61.xyz, 0).x;
//             r47.z = -cb0[0].x + r47.z;
//             r25.w = r47.y * r47.z + cb0[0].x;
//           } else {
//             r25.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r63.x = -r25.w + r22.w;
//     r61.xyz = float3(0,3,0) + r66.xyz;
//     r64.xyz = -cb0[1].xyz + r61.xyz;
//     r64.xyz = cb0[1].www + r64.xyz;
//     r64.xyz = max(float3(0,0,0), r64.xyz);
//     r67.xyz = r62.xyz + -r61.xyz;
//     r67.xyz = max(float3(0,0,0), r67.xyz);
//     r64.xyz = min(r67.xyz, r64.xyz);
//     r22.w = min(r64.y, r64.z);
//     r22.w = min(r64.x, r22.w);
//     r22.w = cmp(r1.w < r22.w);
//     if (r22.w != 0) {
//       r64.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//       r22.w = t0.SampleLevel(s0_s, r64.xyz, 0).x;
//     } else {
//       r64.xyz = -cb0[2].xyz + r61.xyz;
//       r64.xyz = cb0[2].www + r64.xyz;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r61.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r64.xyz = min(r67.xyz, r64.xyz);
//       r25.w = min(r64.y, r64.z);
//       r25.w = min(r64.x, r25.w);
//       r47.y = cb0[9].y * cb0[2].w;
//       r25.w = cmp(r47.y < r25.w);
//       if (r25.w != 0) {
//         r64.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//         r22.w = t1.SampleLevel(s0_s, r64.xyz, 0).x;
//       } else {
//         r64.xyz = -cb0[3].xyz + r61.xyz;
//         r64.xyz = cb0[3].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r61.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r64.xyz = min(r67.xyz, r64.xyz);
//         r25.w = min(r64.y, r64.z);
//         r25.w = min(r64.x, r25.w);
//         r64.xyz = -cb0[4].xyz + r61.xyz;
//         r64.xyz = cb0[4].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r61.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r64.xyz = min(r67.xyz, r64.xyz);
//         r47.y = min(r64.y, r64.z);
//         r47.y = min(r64.x, r47.y);
//         r47.z = cb0[9].y * cb0[3].w;
//         r25.w = cmp(r47.z < r25.w);
//         if (r25.w != 0) {
//           r64.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//           r22.w = t2.SampleLevel(s0_s, r64.xyz, 0).x;
//         } else {
//           r25.w = cb0[9].y * cb0[4].w;
//           r25.w = cmp(r25.w < r47.y);
//           if (r25.w != 0) {
//             r25.w = cb0[8].w * r47.y;
//             r25.w = saturate(10 * r25.w);
//             r61.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//             r47.y = t3.SampleLevel(s0_s, r61.xyz, 0).x;
//             r47.y = -cb0[0].x + r47.y;
//             r22.w = r25.w * r47.y + cb0[0].x;
//           } else {
//             r22.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r61.xyz = float3(0,-3,0) + r66.xyz;
//     r64.xyz = -cb0[1].xyz + r61.xyz;
//     r64.xyz = cb0[1].www + r64.xyz;
//     r64.xyz = max(float3(0,0,0), r64.xyz);
//     r67.xyz = r62.xyz + -r61.xyz;
//     r67.xyz = max(float3(0,0,0), r67.xyz);
//     r64.xyz = min(r67.xyz, r64.xyz);
//     r25.w = min(r64.y, r64.z);
//     r25.w = min(r64.x, r25.w);
//     r25.w = cmp(r1.w < r25.w);
//     if (r25.w != 0) {
//       r64.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//       r25.w = t0.SampleLevel(s0_s, r64.xyz, 0).x;
//     } else {
//       r64.xyz = -cb0[2].xyz + r61.xyz;
//       r64.xyz = cb0[2].www + r64.xyz;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r61.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r64.xyz = min(r67.xyz, r64.xyz);
//       r47.y = min(r64.y, r64.z);
//       r47.y = min(r64.x, r47.y);
//       r47.z = cb0[9].y * cb0[2].w;
//       r47.y = cmp(r47.z < r47.y);
//       if (r47.y != 0) {
//         r64.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//         r25.w = t1.SampleLevel(s0_s, r64.xyz, 0).x;
//       } else {
//         r64.xyz = -cb0[3].xyz + r61.xyz;
//         r64.xyz = cb0[3].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r61.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r64.xyz = min(r67.xyz, r64.xyz);
//         r47.y = min(r64.y, r64.z);
//         r47.y = min(r64.x, r47.y);
//         r64.xyz = -cb0[4].xyz + r61.xyz;
//         r64.xyz = cb0[4].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r61.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r64.xyz = min(r67.xyz, r64.xyz);
//         r47.z = min(r64.y, r64.z);
//         r47.z = min(r64.x, r47.z);
//         r48.w = cb0[9].y * cb0[3].w;
//         r47.y = cmp(r48.w < r47.y);
//         if (r47.y != 0) {
//           r64.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//           r25.w = t2.SampleLevel(s0_s, r64.xyz, 0).x;
//         } else {
//           r47.y = cb0[9].y * cb0[4].w;
//           r47.y = cmp(r47.y < r47.z);
//           if (r47.y != 0) {
//             r47.y = cb0[8].w * r47.z;
//             r47.y = saturate(10 * r47.y);
//             r61.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//             r47.z = t3.SampleLevel(s0_s, r61.xyz, 0).x;
//             r47.z = -cb0[0].x + r47.z;
//             r25.w = r47.y * r47.z + cb0[0].x;
//           } else {
//             r25.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r63.y = -r25.w + r22.w;
//     r61.xyz = float3(0,0,3) + r66.xyz;
//     r64.xyz = -cb0[1].xyz + r61.xyz;
//     r64.xyz = cb0[1].www + r64.xyz;
//     r64.xyz = max(float3(0,0,0), r64.xyz);
//     r67.xyz = r62.xyz + -r61.xyz;
//     r67.xyz = max(float3(0,0,0), r67.xyz);
//     r64.xyz = min(r67.xyz, r64.xyz);
//     r22.w = min(r64.y, r64.z);
//     r22.w = min(r64.x, r22.w);
//     r22.w = cmp(r1.w < r22.w);
//     if (r22.w != 0) {
//       r64.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//       r22.w = t0.SampleLevel(s0_s, r64.xyz, 0).x;
//     } else {
//       r64.xyz = -cb0[2].xyz + r61.xyz;
//       r64.xyz = cb0[2].www + r64.xyz;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r67.xyz = cb0[2].xyz + cb0[2].www;
//       r67.xyz = r67.xyz + -r61.xyz;
//       r67.xyz = max(float3(0,0,0), r67.xyz);
//       r64.xyz = min(r67.xyz, r64.xyz);
//       r25.w = min(r64.y, r64.z);
//       r25.w = min(r64.x, r25.w);
//       r47.y = cb0[9].y * cb0[2].w;
//       r25.w = cmp(r47.y < r25.w);
//       if (r25.w != 0) {
//         r64.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//         r22.w = t1.SampleLevel(s0_s, r64.xyz, 0).x;
//       } else {
//         r64.xyz = -cb0[3].xyz + r61.xyz;
//         r64.xyz = cb0[3].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r67.xyz = cb0[3].xyz + cb0[3].www;
//         r67.xyz = r67.xyz + -r61.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r64.xyz = min(r67.xyz, r64.xyz);
//         r25.w = min(r64.y, r64.z);
//         r25.w = min(r64.x, r25.w);
//         r64.xyz = -cb0[4].xyz + r61.xyz;
//         r64.xyz = cb0[4].www + r64.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r67.xyz = cb0[4].xyz + cb0[4].www;
//         r67.xyz = r67.xyz + -r61.xyz;
//         r67.xyz = max(float3(0,0,0), r67.xyz);
//         r64.xyz = min(r67.xyz, r64.xyz);
//         r47.y = min(r64.y, r64.z);
//         r47.y = min(r64.x, r47.y);
//         r47.z = cb0[9].y * cb0[3].w;
//         r25.w = cmp(r47.z < r25.w);
//         if (r25.w != 0) {
//           r64.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//           r22.w = t2.SampleLevel(s0_s, r64.xyz, 0).x;
//         } else {
//           r25.w = cb0[9].y * cb0[4].w;
//           r25.w = cmp(r25.w < r47.y);
//           if (r25.w != 0) {
//             r25.w = cb0[8].w * r47.y;
//             r25.w = saturate(10 * r25.w);
//             r61.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//             r47.y = t3.SampleLevel(s0_s, r61.xyz, 0).x;
//             r47.y = -cb0[0].x + r47.y;
//             r22.w = r25.w * r47.y + cb0[0].x;
//           } else {
//             r22.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r61.xyz = float3(0,0,-3) + r66.xyz;
//     r64.xyz = -cb0[1].xyz + r61.xyz;
//     r64.xyz = cb0[1].www + r64.xyz;
//     r64.xyz = max(float3(0,0,0), r64.xyz);
//     r62.xyz = r62.xyz + -r61.xyz;
//     r62.xyz = max(float3(0,0,0), r62.xyz);
//     r62.xyz = min(r64.xyz, r62.xyz);
//     r25.w = min(r62.y, r62.z);
//     r25.w = min(r62.x, r25.w);
//     r1.w = cmp(r1.w < r25.w);
//     if (r1.w != 0) {
//       r62.xyz = r61.xyz * cb0[5].www + cb0[5].xyz;
//       r1.w = t0.SampleLevel(s0_s, r62.xyz, 0).x;
//     } else {
//       r62.xyz = -cb0[2].xyz + r61.xyz;
//       r62.xyz = cb0[2].www + r62.xyz;
//       r62.xyz = max(float3(0,0,0), r62.xyz);
//       r64.xyz = cb0[2].xyz + cb0[2].www;
//       r64.xyz = r64.xyz + -r61.xyz;
//       r64.xyz = max(float3(0,0,0), r64.xyz);
//       r62.xyz = min(r64.xyz, r62.xyz);
//       r25.w = min(r62.y, r62.z);
//       r25.w = min(r62.x, r25.w);
//       r47.y = cb0[9].y * cb0[2].w;
//       r25.w = cmp(r47.y < r25.w);
//       if (r25.w != 0) {
//         r62.xyz = r61.xyz * cb0[6].www + cb0[6].xyz;
//         r1.w = t1.SampleLevel(s0_s, r62.xyz, 0).x;
//       } else {
//         r62.xyz = -cb0[3].xyz + r61.xyz;
//         r62.xyz = cb0[3].www + r62.xyz;
//         r62.xyz = max(float3(0,0,0), r62.xyz);
//         r64.xyz = cb0[3].xyz + cb0[3].www;
//         r64.xyz = r64.xyz + -r61.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r62.xyz = min(r64.xyz, r62.xyz);
//         r25.w = min(r62.y, r62.z);
//         r25.w = min(r62.x, r25.w);
//         r62.xyz = -cb0[4].xyz + r61.xyz;
//         r62.xyz = cb0[4].www + r62.xyz;
//         r62.xyz = max(float3(0,0,0), r62.xyz);
//         r64.xyz = cb0[4].xyz + cb0[4].www;
//         r64.xyz = r64.xyz + -r61.xyz;
//         r64.xyz = max(float3(0,0,0), r64.xyz);
//         r62.xyz = min(r64.xyz, r62.xyz);
//         r47.y = min(r62.y, r62.z);
//         r47.y = min(r62.x, r47.y);
//         r47.z = cb0[9].y * cb0[3].w;
//         r25.w = cmp(r47.z < r25.w);
//         if (r25.w != 0) {
//           r62.xyz = r61.xyz * cb0[7].www + cb0[7].xyz;
//           r1.w = t2.SampleLevel(s0_s, r62.xyz, 0).x;
//         } else {
//           r25.w = cb0[9].y * cb0[4].w;
//           r25.w = cmp(r25.w < r47.y);
//           if (r25.w != 0) {
//             r25.w = cb0[8].w * r47.y;
//             r25.w = saturate(10 * r25.w);
//             r61.xyz = r61.xyz * cb0[8].www + cb0[8].xyz;
//             r47.y = t3.SampleLevel(s0_s, r61.xyz, 0).x;
//             r47.y = -cb0[0].x + r47.y;
//             r1.w = r25.w * r47.y + cb0[0].x;
//           } else {
//             r1.w = cb0[0].x;
//           }
//         }
//       }
//     }
//     r63.z = r22.w + -r1.w;
//     r1.w = dot(r63.xyz, r63.xyz);
//     r63.w = sqrt(r1.w);
//     r1.w = cmp(r63.w < 9.99999975e-06);
//     r62.xyzw = r1.wwww ? float4(0,0,0,1) : r63.xyzw;
//     r61.xyz = r62.xyz / r62.www;
//     r61.xyz = float3(20,20,20) * r61.xyz;
//     r61.xyz = r1.www ? float3(0,0,0) : r61.xyz;
//     r61.xyz = r66.xyz + r61.xyz;
//     r62.xyz = r66.xyz + -r61.xyz;
//     r10.yzw = r62.xyz * float3(0.5,0.5,0.5) + r61.xyz;
//     r1.w = dot(r62.xyz, r62.xyz);
//     r62.w = sqrt(r1.w);
//     r1.w = cmp(r62.w < 9.99999975e-06);
//     r62.xyzw = r1.wwww ? float4(0,0,0,1) : r62.xyzw;
//     r62.xyz = r62.xyz / r62.www;
//     r13.xyzw = r1.wwww ? float4(0,0,0,0) : r62.xyzw;
//     r55.xyz = r55.xyz * r0.xxx + r65.xyz;
//     r55.xyz = r4.yyy ? float3(0,0,0) : r55.xyz;
//     r54.xyz = r55.xyz + r54.xyz;
//     r0.xyz = mad((int3)r0.wyz, int3(0x19660d,0x19660d,0x19660d), int3(0x3c6ef35f,0x3c6ef35f,0x3c6ef35f));
//     r0.x = mad((int)r0.y, (int)r0.y, (int)r0.x);
//     r0.w = mad((int)r0.z, (int)r0.x, (int)r0.y);
//     r0.z = mad((int)r0.x, (int)r0.w, (int)r0.z);
//     r0.y = mad((int)r0.w, (int)r0.z, (int)r0.y);
//     r0.x = mad((int)r0.w, (int)r0.y, (int)r0.x);
//     r0.x = (uint)r0.x >> 8;
//     r0.x = (int)r0.x & 0x00ffffff;
//     r0.x = (uint)r0.x;
//     r0.x = r0.x * 1.78813941e-08 + 0.100000001;
//     r0.y = (int)r1.z | (int)r4.y;
//     r53.xyz = r24.yzw + -r53.xyz;
//     r55.xyz = cmp(float3(0,0,0) < r53.xyz);
//     r61.xyz = cmp(r53.xyz < float3(0,0,0));
//     r55.xyz = (int3)-r55.xyz + (int3)r61.xyz;
//     r55.xyz = (int3)r55.xyz;
//     r56.xyz = float3(0.5,0.5,0.5) * r56.xyz;
//     r53.xyz = abs(r56.xyz) + -abs(r53.xyz);
//     r53.xyz = saturate(float3(0.00999999978,0.00999999978,0.00999999978) * r53.xyz);
//     r53.xyz = float3(1,1,1) + -r53.xyz;
//     r53.xyz = r55.xyz * r53.xyz;
//     r53.xyz = float3(-200,-200,-200) * r53.xyz;
//     r0.yzw = r0.yyy ? float3(0,0,0) : r53.xyz;
//     r0.yzw = r54.xyz + r0.yzw;
//     r1.w = -r57.w + r51.y;
//     r1.w = saturate(r1.w / r57.z);
//     r1.w = -cb0[33].w + r1.w;
//     r1.w = saturate(cb0[34].y * r1.w);
//     r22.w = cb0[34].z * r1.w;
//     r22.w = floor(r22.w);
//     r25.w = cmp(r22.w < cb0[34].z);
//     r47.y = 1 + r22.w;
//     r25.w = r25.w ? r47.y : r22.w;
//     r1.w = r1.w * cb0[34].z + -r22.w;
//     r22.w = (uint)r22.w;
//     r22.w = t10.Load(r22.w).x;
//     r25.w = (uint)r25.w;
//     r25.w = t10.Load(r25.w).x;
//     r25.w = r25.w + -r22.w;
//     r1.w = r1.w * r25.w + r22.w;
//     r22.w = cmp((int)r17.w != 0);
//     r22.w = r22.w ? r1.z : 0;
//     r25.w = 500 * r1.w;
//     r53.xyz = -r28.yzw * r25.www + r0.yzw;
//     r44.xyz = r22.www ? r53.xyz : r0.yzw;
//     r0.y = 1 + -r1.w;
//     r0.yzw = r0.yyy * r59.xyz;
//     r49.xyz = r1.zzz ? r0.yzw : r59.xyz;
//     r0.y = max(9.99999975e-05, r31.w);
//     r0.y = 1 / r0.y;
//     r0.yzw = r0.yyy * r44.xyz;
//     r0.yzw = r0.yzw * r51.zzz + r52.xyz;
//     r0.x = r51.z * r0.x + 1;
//     r0.xyz = r0.yzw / r0.xxx;
//     r1.w = dot(r0.xyz, r0.xyz);
//     r0.w = sqrt(r1.w);
//     r1.w = cmp(r0.w < 9.99999975e-06);
//     r0.xyzw = r1.wwww ? float4(0,0,0,1) : r0.xyzw;
//     r0.xyz = r0.xyz / r0.www;
//     r0.xyzw = r1.wwww ? float4(0,0,0,0) : r0.xyzw;
//     r0.w = min(r0.w, r61.w);
//     r0.xyz = r0.zxy * r0.www;
//     r46.xyz = r0.yzx * r51.zzz + r24.yzw;
//     r53.xyz = r46.xyz + -r38.yzw;
//     r53.xyz = r53.xyz * r51.www;
//     r0.w = dot(r53.xyz, r53.xyz);
//     r0.w = sqrt(r0.w);
//     r1.w = 9.99999994e-09 * r18.w;
//     r22.w = cmp(r1.w >= -r1.w);
//     r1.w = frac(abs(r1.w));
//     r1.w = r22.w ? r1.w : -r1.w;
//     r1.w = 100000000 * r1.w;
//     r18.w = r0.w * 0.00999999978 + r1.w;
//     r45.xyz = -r0.xxx * float3(1,0,0) + r0.xyz;
//     r0.w = ~(int)r4.y;
//     r1.w = dot(r45.xyz, r45.xyz);
//     r45.w = sqrt(r1.w);
//     r1.w = cmp(r45.w < 9.99999975e-06);
//     r56.xyzw = r1.wwww ? float4(1,0,0,1) : r45.yzxw;
//     r53.xyz = r56.xyz / r56.www;
//     r53.xyz = r1.www ? float3(1,0,0) : r53.xyz;
//     r32.xyz = r1.xxx ? r53.zxy : r35.zxy;
//     r32.w = 1;
//     r56.xyzw = r1.wwww ? r32.yzxw : r45.yzxw;
//     r53.xyz = r56.xyz / r56.www;
//     r35.xyz = r1.www ? r32.yzx : r53.xyz;
//     r1.w = min(0.999000013, r51.z);
//     r1.w = r1.w * r30.z;
//     r1.w = -r1.w * 14 + r30.z;
//     r22.w = dot(r32.xyz, r32.xyz);
//     r33.z = sqrt(r22.w);
//     r22.w = cmp(r33.z < 9.99999975e-06);
//     r33.xy = r32.yz;
//     r32.yzw = r22.www ? float3(1,0,1) : r33.xyz;
//     r32.yz = r32.yz / r32.ww;
//     r32.yz = r22.ww ? float2(1,0) : r32.yz;
//     r22.w = dot(r35.xyz, r35.xyz);
//     r35.w = sqrt(r22.w);
//     r25.w = cmp(r35.w < 9.99999975e-06);
//     r53.xyz = r25.www ? float3(1,0,1) : r35.xyw;
//     r47.yz = r53.yx / r53.zz;
//     r47.yz = r25.ww ? float2(0,1) : r47.yz;
//     r25.w = r47.z * r32.z;
//     r25.w = r32.y * r47.y + -r25.w;
//     r25.w = r51.z * r25.w;
//     r1.w = -r25.w * 155 + r1.w;
//     r1.w = max(-0.0175000001, r1.w);
//     r30.z = min(0.0175000001, r1.w);
//     r1.w = cmp(0.00999999978 < abs(r30.z));
//     r25.w = cmp(0 < r30.z);
//     r25.w = r25.w ? 1 : -1;
//     r30.y = r1.w ? r25.w : r30.y;
//     r32.yzw = float3(0,-1,0) * r35.zxy;
//     r32.yzw = r35.yzx * float3(-1,0,0) + -r32.yzw;
//     r1.w = rsqrt(r22.w);
//     r51.xzw = r35.xyz * r1.www;
//     r22.w = dot(r32.yz, r32.yz);
//     r22.w = rsqrt(r22.w);
//     r32.yzw = r32.yzw * r22.www;
//     r53.xyz = r51.zwx * r32.yzw;
//     r32.yzw = r51.xzw * r32.zwy + -r53.xyz;
//     r22.w = dot(r32.yzw, r32.yzw);
//     r22.w = rsqrt(r22.w);
//     r32.yzw = r32.yzw * r22.www;
//     r53.xyz = r32.yzw * r51.zwx;
//     r32.yzw = r32.wyz * r51.wxz + -r53.xyz;
//     r22.w = dot(r32.yzw, r32.yzw);
//     r22.w = rsqrt(r22.w);
//     r53.xyz = r32.yzw * r22.www;
//     r54.xyz = r35.xyz * r1.www + -r36.xyz;
//     r54.xyz = r2.xxx * r54.xyz + r36.xyz;
//     r56.xyz = r1.xxx ? r51.xzw : r54.xyz;
//     r51.xzw = r35.xyz * r1.www + -r56.xyz;
//     r59.xyz = r51.xzw * float3(0.5,0.5,0.5) + r56.xyz;
//     r1.w = dot(r59.xyz, r59.xyz);
//     r59.w = sqrt(r1.w);
//     r1.w = cmp(r59.w < 9.99999975e-06);
//     r59.xyzw = r1.wwww ? float4(0,0,1,1) : r59.xyzw;
//     r51.xzw = r59.xyz / r59.www;
//     r59.xyz = r1.www ? float3(0,0,1) : r51.xzw;
//     r1.w = dot(r56.xyz, r56.xyz);
//     r56.w = sqrt(r1.w);
//     r1.w = cmp(r56.w < 9.99999975e-06);
//     r59.w = 1;
//     r56.xyzw = r1.wwww ? r59.xyzw : r56.xyzw;
//     r51.xzw = r56.xyz / r56.www;
//     r56.xyz = r1.www ? r59.xyz : r51.xzw;
//     r51.xzw = r32.yzw * r22.www + -r34.xyz;
//     r51.xzw = r2.xxx * r51.xzw + r34.xyz;
//     r59.xyz = r1.xxx ? r53.xyz : r51.xzw;
//     r32.yzw = r32.yzw * r22.www + -r59.xyz;
//     r61.xyz = r32.yzw * float3(0.5,0.5,0.5) + r59.xyz;
//     r1.w = dot(r61.xyz, r61.xyz);
//     r61.w = sqrt(r1.w);
//     r1.w = cmp(r61.w < 9.99999975e-06);
//     r61.xyzw = r1.wwww ? float4(0,0,1,1) : r61.xyzw;
//     r32.yzw = r61.xyz / r61.www;
//     r61.xyz = r1.www ? float3(0,0,1) : r32.yzw;
//     r1.w = dot(r59.xyz, r59.xyz);
//     r59.w = sqrt(r1.w);
//     r1.w = cmp(r59.w < 9.99999975e-06);
//     r61.w = 1;
//     r59.xyzw = r1.wwww ? r61.xyzw : r59.xyzw;
//     r32.yzw = r59.xyz / r59.www;
//     r59.xyz = r1.www ? r61.xyz : r32.yzw;
//     r32.yzw = r59.yzx * r56.zxy;
//     r61.xyz = r56.yzx * r59.zxy + -r32.yzw;
//     r1.w = dot(r61.xyz, r61.xyz);
//     r61.w = sqrt(r1.w);
//     r1.w = cmp(r61.w < 9.99999975e-06);
//     r61.xyzw = r1.wwww ? float4(0,0,1,1) : r61.xyzw;
//     r32.yzw = r61.yzx / r61.www;
//     r32.yzw = r1.www ? float3(0,1,0) : r32.yzw;
//     r1.w = dot(r56.xyz, r56.xyz);
//     r56.w = sqrt(r1.w);
//     r1.w = cmp(r56.w < 9.99999975e-06);
//     r56.xyzw = r1.wwww ? float4(1,0,0,1) : r56.xyzw;
//     r51.xzw = r56.yzx / r56.www;
//     r51.xzw = r1.www ? float3(0,0,1) : r51.xzw;
//     r53.xyz = r51.wxz * r32.yzw;
//     r32.yzw = r32.wyz * r51.xzw + -r53.xyz;
//     r1.w = dot(r59.xyz, r59.xyz);
//     r59.w = sqrt(r1.w);
//     r1.w = cmp(r59.w < 9.99999975e-06);
//     r56.xyzw = r1.wwww ? float4(0,1,0,1) : r59.xyzw;
//     r53.xyz = r56.xyz / r56.www;
//     r53.xyz = r1.www ? float3(0,1,0) : r53.xyz;
//     r54.xyz = r53.xyz * r51.xzw;
//     r51.xzw = r51.wxz * r53.yzx + -r54.xyz;
//     r53.xyz = r51.wxz * r32.yzw;
//     r36.xyz = r32.wyz * r51.xzw + -r53.xyz;
//     r32.yzw = r51.xzw * r36.yzx;
//     r34.xyz = r51.wxz * r36.zxy + -r32.yzw;
//     r1.w = r36.y * r34.x;
//     r1.w = r36.x * r34.y + -r1.w;
//     r22.w = r30.z + -r30.w;
//     r2.x = r2.x * r22.w + r30.w;
//     r30.w = r1.x ? r30.z : r2.x;
//     r1.w = cmp(r1.w < 0);
//     r2.x = 0.5 * r30.y;
//     r1.w = r1.w ? r2.x : 0;
//     r1.w = r1.w + -r44.w;
//     r44.w = r2.z * r1.w + r44.w;
//     r1.w = dot(r36.xyz, r36.xyz);
//     r36.w = sqrt(r1.w);
//     r1.w = cmp(r36.w < 0.00999999978);
//     r56.xyzw = r1.wwww ? float4(1,0,0,1) : r36.xyzw;
//     r32.yzw = r56.yzx / r56.www;
//     r32.yzw = r1.www ? float3(0,0,1) : r32.yzw;
//     r1.w = dot(r34.xyz, r34.xyz);
//     r34.w = sqrt(r1.w);
//     r1.w = cmp(r34.w < 0.00999999978);
//     r56.xyzw = r1.wwww ? float4(0,1,0,1) : r34.xyzw;
//     r51.xzw = r56.xyz / r56.www;
//     r51.xzw = r1.www ? float3(0,1,0) : r51.xzw;
//     r53.xyz = r51.xzw * r32.yzw;
//     r51.xzw = r32.wyz * r51.zwx + -r53.xyz;
//     r1.w = dot(r51.xzw, r51.xzw);
//     r1.w = rsqrt(r1.w);
//     r53.xyz = r51.xzw * r1.www;
//     r54.xyz = r53.xyz * r32.yzw;
//     r54.xyz = r53.zxy * r32.zwy + -r54.xyz;
//     r2.x = dot(r54.xyz, r54.xyz);
//     r2.x = rsqrt(r2.x);
//     r2.z = r54.y * r2.x;
//     r47.yz = r54.yx * r2.xx + r32.wy;
//     r22.w = r51.x * r1.w + r47.y;
//     r25.w = cmp(0 < r22.w);
//     r22.w = 1 + r22.w;
//     r22.w = rsqrt(r22.w);
//     r33.z = 0.5 * r22.w;
//     r55.xy = r54.zy * r2.xx + -r53.zx;
//     r56.x = r55.x * r33.z;
//     r57.zw = r51.zx * r1.ww + -r32.zw;
//     r56.y = r57.z * r33.z;
//     r58.zw = -r54.xy * r2.xx + r32.yw;
//     r56.z = r58.z * r33.z;
//     r22.w = rcp(r22.w);
//     r56.w = 0.5 * r22.w;
//     r22.w = cmp(r2.z < r32.w);
//     r32.y = cmp(r53.x < r32.w);
//     r22.w = r22.w ? r32.y : 0;
//     r32.y = -r51.x * r1.w + r58.w;
//     r32.y = 1 + r32.y;
//     r32.y = rsqrt(r32.y);
//     r33.z = 0.5 * r32.y;
//     r32.y = rcp(r32.y);
//     r59.x = 0.5 * r32.y;
//     r59.y = r47.z * r33.z;
//     r1.w = r51.z * r1.w + r32.z;
//     r59.z = r1.w * r33.z;
//     r59.w = r55.x * r33.z;
//     r2.z = cmp(r53.x < r2.z);
//     r32.y = r55.y + -r32.w;
//     r32.y = 1 + r32.y;
//     r32.y = rsqrt(r32.y);
//     r32.z = 0.5 * r32.y;
//     r61.x = r47.z * r32.z;
//     r32.y = rcp(r32.y);
//     r61.y = 0.5 * r32.y;
//     r32.y = r54.z * r2.x + r53.z;
//     r61.z = r32.y * r32.z;
//     r61.w = r57.z * r32.z;
//     r2.x = -r54.y * r2.x + r57.w;
//     r2.x = 1 + r2.x;
//     r2.x = rsqrt(r2.x);
//     r32.z = 0.5 * r2.x;
//     r62.x = r32.z * r1.w;
//     r62.y = r32.y * r32.z;
//     r1.w = rcp(r2.x);
//     r62.z = 0.5 * r1.w;
//     r62.w = r58.z * r32.z;
//     r61.xyzw = r2.zzzz ? r61.xyzw : r62.xyzw;
//     r59.xyzw = r22.wwww ? r59.xyzw : r61.xyzw;
//     r56.xyzw = r25.wwww ? r56.xyzw : r59.xyzw;
//     r1.w = r44.w + r30.w;
//     r1.w = 6.28318548 * r1.w;
//     sincos(r1.w, r2.x, r51.x);
//     r1.w = r51.x;
//     r2.x = -2 * r2.x;
//     r1.w = r1.w * 2 + 2;
//     r1.w = sqrt(r1.w);
//     r2.z = 0.5 * r1.w;
//     r1.w = r1.w + r1.w;
//     r1.w = rcp(r1.w);
//     r53.y = -r2.z;
//     r53.x = r2.x * r1.w;
//     r1.w = dot(r53.xy, r53.xy);
//     r1.w = rsqrt(r1.w);
//     r2.xz = r53.xy * r1.ww;
//     r59.xyzw = float4(0,0,0,1) * r2.zzzz;
//     r59.xyzw = r2.xxxx * float4(1,-0,0,-0) + r59.xyzw;
//     r61.xyzw = r59.wwxx * r56.xyyx;
//     r62.xw = float2(1,-1) * r61.xw;
//     r62.yz = float2(-0,0);
//     r62.xyzw = r56.wwww * r59.xyzw + r62.xyzw;
//     r61.xw = r56.yy;
//     r61.xyzw = r61.xyzw * float4(0,1,-1,-0) + r62.xyzw;
//     r59.yz = r59.xw * r56.zz;
//     r59.xw = r56.zz;
//     r56.xyzw = r59.xyzw * float4(-0,1,1,-0) + r61.xyzw;
//     r56.xyzw = r4.yyyy ? r40.yxzw : r56.xyzw;
//     r1.w = ~(int)r1.z;
//     r2.x = r42.x ? r0.w : 0;
//     r1.w = (int)r1.w & (int)r2.x;
//     r2.x = dot(r28.yzw, r28.yzw);
//     r27.w = sqrt(r2.x);
//     r2.x = cmp(r27.w < 0.00999999978);
//     r27.xyz = r28.yzw;
//     r59.xyzw = r2.xxxx ? float4(1,0,0,1) : r27.xyzw;
//     r28.yzw = r59.xyz / r59.www;
//     r59.xyz = r2.xxx ? float3(1,0,0) : r28.yzw;
//     r28.yzw = float3(1,0,0) * r59.yzx;
//     r61.xyz = r59.zxy * float3(0,1,0) + -r28.yzw;
//     r2.x = dot(r61.xy, r61.xy);
//     r61.w = sqrt(r2.x);
//     r2.x = cmp(r61.w < 9.99999975e-06);
//     r61.xyzw = r2.xxxx ? float4(0,1,0,1) : r61.xyzw;
//     r28.yzw = r61.xyz / r61.www;
//     r61.xyz = r2.xxx ? float3(0,1,0) : r28.yzw;
//     r2.x = dot(r59.xyz, r59.xyz);
//     r59.w = sqrt(r2.x);
//     r2.x = cmp(r59.w < 9.99999975e-06);
//     r59.xyzw = r2.xxxx ? float4(1,0,0,1) : r59.xyzw;
//     r28.yzw = r59.zxy / r59.www;
//     r28.yzw = r2.xxx ? float3(0,1,0) : r28.yzw;
//     r32.yzw = float3(0,0,1) * r28.yzw;
//     r32.yzw = r28.zwy * float3(1,0,0) + -r32.yzw;
//     r2.x = dot(r61.xy, r61.xy);
//     r61.w = sqrt(r2.x);
//     r2.x = cmp(r61.w < 9.99999975e-06);
//     r59.xyzw = r2.xxxx ? float4(0,1,0,1) : r61.xyzw;
//     r51.xzw = r59.yzx / r59.www;
//     r51.xzw = r2.xxx ? float3(1,0,0) : r51.xzw;
//     r53.xyz = r51.xzw * r28.yzw;
//     r28.yzw = r28.wyz * r51.zwx + -r53.xyz;
//     r51.xzw = r32.yzw * r28.yzw;
//     r32.yzw = r32.wyz * r28.zwy + -r51.xzw;
//     r51.xzw = r32.yzw * r28.yzw;
//     r28.yzw = r28.wyz * r32.zwy + -r51.xzw;
//     r51.xzw = r32.yzw * r28.yzw;
//     r51.xzw = r32.wyz * r28.zwy + -r51.xzw;
//     r2.xz = r32.zw + r28.yw;
//     r2.x = r2.x + r51.w;
//     r22.w = cmp(0 < r2.x);
//     r2.x = 1 + r2.x;
//     r2.x = rsqrt(r2.x);
//     r25.w = 0.5 * r2.x;
//     r47.yz = -r51.zw + r28.zy;
//     r59.x = r47.y * r25.w;
//     r53.xy = r51.xw + -r32.yz;
//     r59.y = r53.x * r25.w;
//     r54.xy = r32.wz + -r28.wy;
//     r59.z = r54.x * r25.w;
//     r2.x = rcp(r2.x);
//     r59.w = 0.5 * r2.x;
//     r2.x = cmp(r28.y < r32.z);
//     r25.w = cmp(r51.w < r32.z);
//     r2.x = r2.x ? r25.w : 0;
//     r25.w = r54.y + -r51.w;
//     r25.w = 1 + r25.w;
//     r25.w = rsqrt(r25.w);
//     r27.w = 0.5 * r25.w;
//     r25.w = rcp(r25.w);
//     r61.x = 0.5 * r25.w;
//     r61.y = r27.w * r2.z;
//     r25.w = r51.x + r32.y;
//     r61.z = r25.w * r27.w;
//     r61.w = r47.y * r27.w;
//     r27.w = cmp(r51.w < r28.y);
//     r28.w = r47.z + -r32.z;
//     r28.w = 1 + r28.w;
//     r28.w = rsqrt(r28.w);
//     r32.y = 0.5 * r28.w;
//     r62.x = r32.y * r2.z;
//     r2.z = rcp(r28.w);
//     r62.y = 0.5 * r2.z;
//     r2.z = r51.z + r28.z;
//     r62.z = r2.z * r32.y;
//     r62.w = r53.x * r32.y;
//     r28.y = r53.y + -r28.y;
//     r28.y = 1 + r28.y;
//     r28.y = rsqrt(r28.y);
//     r28.z = 0.5 * r28.y;
//     r63.x = r28.z * r25.w;
//     r63.y = r28.z * r2.z;
//     r2.z = rcp(r28.y);
//     r63.z = 0.5 * r2.z;
//     r63.w = r54.x * r28.z;
//     r62.xyzw = r27.wwww ? r62.xyzw : r63.xyzw;
//     r61.xyzw = r2.xxxx ? r61.xyzw : r62.xyzw;
//     r59.xyzw = r22.wwww ? r59.xyzw : r61.xyzw;
//     r56.xyzw = r1.wwww ? r59.xyzw : r56.xyzw;
//     r59.xyzw = r1.xxxx ? r56.xyzw : r39.xyzw;
//     r1.x = dot(r59.xyzw, r56.xyzw);
//     r1.x = cmp(0 < r1.x);
//     r56.xyzw = r1.xxxx ? r56.xyzw : -r56.xyzw;
//     r61.xyzw = r59.xyzw + -r56.xyzw;
//     r1.x = dot(r61.xyzw, r61.xyzw);
//     r61.xyzw = r59.xyzw + r56.xyzw;
//     r1.w = dot(r61.xyzw, r61.xyzw);
//     r1.xw = sqrt(r1.xw);
//     r2.x = min(r1.x, r1.w);
//     r2.z = max(r1.x, r1.w);
//     r2.z = 1 / r2.z;
//     r2.x = r2.x * r2.z;
//     r2.z = r2.x * r2.x;
//     r22.w = r2.z * 0.0208350997 + -0.0851330012;
//     r22.w = r2.z * r22.w + 0.180141002;
//     r22.w = r2.z * r22.w + -0.330299497;
//     r2.z = r2.z * r22.w + 0.999866009;
//     r22.w = r2.x * r2.z;
//     r1.x = cmp(r1.w < r1.x);
//     r1.w = r22.w * -2 + 1.57079637;
//     r1.x = r1.x ? r1.w : 0;
//     r1.x = r2.x * r2.z + r1.x;
//     r1.x = r1.x + r1.x;
//     r1.w = 1 + -r2.y;
//     r2.x = r1.x * r1.w;
//     r2.z = r2.x * r2.x;
//     r2.z = cmp(r2.z < 9.99999997e-07);
//     r22.w = sin(r2.x);
//     r2.x = r22.w / r2.x;
//     r2.x = r2.z ? 1 : r2.x;
//     r2.z = r1.x * r1.x;
//     r2.z = cmp(r2.z < 9.99999997e-07);
//     r22.w = sin(r1.x);
//     r22.w = r22.w / r1.x;
//     r2.z = r2.z ? 1 : r22.w;
//     r2.x = r2.x / r2.z;
//     r1.w = r2.x * r1.w;
//     r1.x = r1.x * r2.y;
//     r2.x = r1.x * r1.x;
//     r2.x = cmp(r2.x < 9.99999997e-07);
//     r22.w = sin(r1.x);
//     r1.x = r22.w / r1.x;
//     r1.x = r2.x ? 1 : r1.x;
//     r1.x = r1.x / r2.z;
//     r1.x = r1.x * r2.y;
//     r56.xyzw = r56.xyzw * r1.xxxx;
//     r56.xyzw = r1.wwww * r59.xyzw + r56.xyzw;
//     r1.x = dot(r56.xyzw, r56.xyzw);
//     r1.x = rsqrt(r1.x);
//     r40.xyzw = r56.yxzw * r1.xxxx;
//     r56.xyzw = cmp((int4)r5.wwww == int4(0,7,6,1));
//     r2.xyz = r56.xyz ? r60.wzy : 0;
//     r1.x = (int)r2.y | (int)r2.x;
//     r1.x = (int)r2.z | (int)r1.x;
//     r5.x = r1.y ? r1.x : 0;
//     r1.x = cmp((int)r5.w != (int)r17.w);
//     r1.x = (int)r5.x | (int)r1.x;
//     r48.x = r1.x ? r51.y : r48.x;
//     r1.xyw = r5.www ? float3(0,0,0) : float3(205,1,0.147058994);
//     r1.xyw = r56.www ? float3(49,206,0.625) : r1.xyw;
//     r59.xyzw = cmp((int4)r5.wwww == int4(2,3,4,5));
//     r1.xyw = r59.xxx ? float3(20,255,1.57895005) : r1.xyw;
//     r1.xyw = r59.yyy ? float3(41,275,0.75) : r1.xyw;
//     r1.xyw = r59.zzz ? float3(42,316,0.731706977) : r1.xyw;
//     r1.xyw = r59.www ? float3(42,358,0.731706977) : r1.xyw;
//     r1.xyw = r56.zzz ? float3(78,400,0.389609993) : r1.xyw;
//     r23.xyz = r56.yyy ? float3(50,478,0.612245023) : r1.xyw;
//     r20.w = r51.y + -r48.x;
//     r1.x = cmp(r30.x >= 1);
//     r1.x = (int)r4.x | (int)r1.x;
//     r4.x = (int)r0.w | (int)r1.x;
//     r0.w = -100 + r58.y;
//     r0.w = r58.x + -r0.w;
//     r0.w = saturate(0.00999999978 * r0.w);
//     r0.w = 1 + -r0.w;
//     r23.w = r4.x ? 1 : r0.w;
//     r10.x = r4.x ? 0 : 4;
//     r3.zw = float2(0.520833015,0.520833015);
//     r11.xyz = abs(r11.xyz);
//     r4.w = 1;
//     r6.xyzw = float4(0.520833015,1,2,2);
//     r11.w = 1;
//     r9.w = 2;
//     r12.w = 2;
//     r15.w = 1;
//     r24.x = r22.z;
//     r0.w = r5.w;
//     r29.xyzw = r26.yzwx;
//     r21.w = 0;
//     r30.x = r23.w;
//     r4.z = r1.z;
//     r1.xyz = r46.xyz;
//     r8.xy = r24.yz;
//     r42.z = r24.w;
//     r42.w = r52.x;
//     r16.z = r52.y;
//     r48.y = 0;
//     r8.z = r17.w;
//     r52.xy = r0.yz;
//     r39.xyzw = r40.yxzw;
//     r43.x = r52.z;
//   } else {
//     r0.w = r17.w;
//     r1.xyz = r24.yzw;
//     r0.x = r52.z;
//   }
//   r0.y = (int)r49.w & 1;
//   g0[vThreadIDInGroup.x].val[0/4] = r0.y;
//   GroupMemoryBarrierWithGroupSync();
//   r2.xy = (int2)vThreadIDInGroup.xx & int2(3,15);
//   if (r2.x == 0) {
//     r24.yzw = (int3)vThreadIDInGroup.xxx + int3(1,2,3);
//     r0.z = g0[r24.y].val[0/4];
//     r0.z = (int)r0.z + (int)r0.y;
//     r1.w = g0[r24.z].val[0/4];
//     r1.w = (int)r0.z + (int)r1.w;
//     r2.x = g0[r24.w].val[0/4];
//     r2.x = (int)r1.w + (int)r2.x;
//     g0[vThreadIDInGroup.x].val[0/4] = 0;
//     g0[r24.y].val[0/4] = r0.y;
//     g0[r24.z].val[0/4] = r0.z;
//     g0[r24.w].val[0/4] = r1.w;
//     r0.y = (uint)vThreadIDInGroup.x >> 2;
//     g1[r0.y].val[0/4] = r2.x;
//   }
//   GroupMemoryBarrierWithGroupSync();
//   if (r2.y == 0) {
//     r0.y = (uint)vThreadIDInGroup.x >> 2;
//     r0.z = g1[r0.y].val[0/4];
//     r2.xyz = (int3)r0.yyy + int3(1,2,3);
//     r1.w = g1[r2.x].val[0/4];
//     r1.w = (int)r0.z + (int)r1.w;
//     r17.w = g1[r2.y].val[0/4];
//     r17.w = (int)r1.w + (int)r17.w;
//     r22.z = g1[r2.z].val[0/4];
//     r22.z = (int)r17.w + (int)r22.z;
//     g1[r0.y].val[0/4] = 0;
//     g1[r2.x].val[0/4] = r0.z;
//     g1[r2.y].val[0/4] = r1.w;
//     g1[r2.z].val[0/4] = r17.w;
//     r0.y = (uint)r0.y >> 2;
//     g2[r0.y].val[0/4] = r22.z;
//   }
//   GroupMemoryBarrierWithGroupSync();
//   if (vThreadIDInGroup.x == 0) {
//     r0.y = g2[0].val[0/4];
//     r0.z = g2[1].val[0/4];
//     r0.z = (int)r0.z + (int)r0.y;
//     r1.w = g2[2].val[0/4];
//     r1.w = (int)r0.z + (int)r1.w;
//     r2.x = g2[3].val[0/4];
//     r2.x = (int)r1.w + (int)r2.x;
//     g2[0].val[0/4] = 0;
//     g2[1].val[0/4] = r0.y;
//     g2[2].val[0/4] = r0.z;
//     g2[3].val[0/4] = r1.w;
//     // Needs manual fix for instruction:
//     imm_atomic_iadd r51.x, u2, cb0[22].y, r2.x
//     InterlockedAdd(dest, imm_value, orig_value);
//   // No code for instruction (needs manual fix):
//     store_raw g3.x, l(0), r51.x
//   }
//   GroupMemoryBarrierWithGroupSync();
// // No code for instruction (needs manual fix):
// ld_raw r0.y, l(0), g3.xxxx
//   r2.xy = (uint2)vThreadIDInGroup.xx >> int2(4,2);
//   r0.z = g2[r2.x].val[0/4];
//   r0.y = (int)r0.z + (int)r0.y;
//   r0.z = g1[r2.y].val[0/4];
//   r0.y = (int)r0.z + (int)r0.y;
//   r0.z = g0[vThreadIDInGroup.x].val[0/4];
//   r0.y = (int)r0.z + (int)r0.y;
//   r0.z = r49.w ? r5.y : -1;
// // No code for instruction (needs manual fix):
// store_uav_typed u3.xyzw, r0.zzzz, r0.yyyy
//   if (r49.w != 0) {
//     r2.xy = (int2)r0.yy + asint(cb0[20].yw);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r2.xxxx, r2.wwww
//     r0.z = (int)r2.y + asint(cb0[20].y);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r0.zzzz, r3.yyyy
//     r51.xyzw = asuint(cb0[20].wwww) << int4(1,2,3,4);
//     r51.xyzw = (int4)r0.yyyy + (int4)r51.xyzw;
//     r51.xyzw = (int4)r51.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r51.xxxx, r3.zzzz
//     r56.xyzw = mad(int4(3,5,6,7), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r56.xyzw = (int4)r56.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r56.xxxx, r3.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r51.yyyy, r6.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r56.yyyy, r6.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r56.zzzz, r7.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r56.wwww, r7.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r51.zzzz, r7.zzzz
//     r58.xyzw = mad(int4(9,10,11,12), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r58.xyzw = (int4)r58.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r58.xxxx, r9.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r58.yyyy, r9.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r58.zzzz, r9.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r58.wwww, r6.zzzz
//     r59.xyzw = mad(int4(13,14,15,17), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r59.xyzw = (int4)r59.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r59.xxxx, r7.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r59.yyyy, r11.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r59.zzzz, r11.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r51.wwww, r11.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r59.wwww, r4.wwww
//     r7.xyzw = mad(int4(18,19,20,21), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r7.xyzw = (int4)r7.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.xxxx, r13.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.yyyy, r13.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.zzzz, r13.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.wwww, r10.yyyy
//     r7.xyzw = mad(int4(22,23,24,25), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r7.xyzw = (int4)r7.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.xxxx, r10.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.yyyy, r10.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.zzzz, r6.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r7.wwww, r13.wwww
//     r6.xyzw = mad(int4(26,27,28,29), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r14.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r14.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r14.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r12.xxxx
//     r6.xyzw = mad(int4(30,31,33,34), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r12.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r12.zzzz
//     r2.yzw = asuint(cb0[20].www) << int3(5,6,7);
//     r2.yzw = (int3)r0.yyy + (int3)r2.yzw;
//     r2.yzw = (int3)r2.yzw + asint(cb0[20].yyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r2.yyyy, r9.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r14.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r15.xxxx
//     r6.xyzw = mad(int4(35,36,37,38), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r15.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r15.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r11.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r17.xxxx
//     r6.xyzw = mad(int4(39,40,41,42), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r17.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r17.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r18.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r18.yyyy
//     r6.xyzw = mad(int4(43,44,45,46), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r18.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r16.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r16.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r19.xxxx
//     r6.xyzw = mad(int4(47,48,49,50), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r19.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r19.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r20.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r20.yyyy
//     r6.xyzw = mad(int4(51,52,53,54), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r20.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r12.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r19.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r21.xxxx
//     r6.xyzw = mad(int4(55,56,57,58), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r21.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r21.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r15.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r22.xxxx
//     r6.xyzw = mad(int4(59,60,61,62), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r22.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r24.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r25.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r25.yyyy
//     r6.xyzw = mad(int4(63,65,66,67), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r25.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r2.zzzz, r16.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r26.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r26.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r26.wwww
//     r6.xyzw = mad(int4(68,69,70,71), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r26.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r2.xxxx, r0.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r27.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r27.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r27.zzzz
//     r6.xyzw = mad(int4(72,73,74,75), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r28.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r29.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r29.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r29.zzzz
//     r6.xyzw = mad(int4(76,77,78,79), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r29.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r18.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r23.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r23.yyyy
//     r6.xyzw = mad(int4(80,81,82,83), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r23.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r20.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r21.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r23.wwww
//     r6.xyzw = mad(int4(84,85,86,87), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r6.xyzw = (int4)r6.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.xxxx, r31.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.yyyy, r31.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r0.zzzz, r3.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.zzzz, r30.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r51.xxxx, r4.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r6.wwww, r30.yyyy
//     r3.xyzw = mad(int4(88,89,90,91), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r30.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r33.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r33.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r32.xxxx
//     r3.xyzw = mad(int4(92,93,94,95), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r35.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r35.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r35.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r30.wwww
//     r3.xyzw = mad(int4(96,97,98,99), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r36.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r36.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r36.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r34.xxxx
//     r3.xyzw = mad(int4(100,101,102,103), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r34.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r34.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r56.xxxx, r5.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r51.yyyy, r4.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r56.yyyy, r5.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r56.zzzz, r5.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r37.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r37.yyyy
//     r3.xyzw = mad(int4(104,105,106,107), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r37.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r31.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r39.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r39.yyyy
//     r3.xyzw = mad(int4(108,109,110,111), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r39.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r39.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r31.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r33.wwww
//     r3.xyzw = mad(int4(112,113,114,115), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r40.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r40.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r40.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r40.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r56.wwww, r5.wwww
//     r3.xyzw = mad(int4(116,117,118,119), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r37.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r38.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r51.zzzz, r4.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r58.xxxx, r42.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r58.yyyy, r42.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r1.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r1.yyyy
//     r3.xyzw = mad(int4(120,121,122,123), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r3.xyzw = (int4)r3.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.xxxx, r1.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.yyyy, r44.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.zzzz, r44.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r3.wwww, r44.zzzz
//     r1.xyzw = mad(int4(124,125,126,127), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r8.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r8.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r42.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r42.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r2.wwww, r16.zzzz
//     r1.xyzw = mad(int4(129,130,131,132), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r43.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r41.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r41.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r41.zzzz
//     r1.xyzw = mad(int4(133,134,135,136), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r41.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r38.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r38.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r38.wwww
//     r1.xyzw = mad(int4(137,138,139,140), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r43.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r43.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r55.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r43.wwww
//     r1.xyzw = mad(int4(141,142,143,144), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r53.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r54.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r48.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r57.xxxx
//     r1.xyzw = mad(int4(145,146,147,148), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r57.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r58.zzzz, r8.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r45.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r45.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r45.xxxx
//     r1.xyzw = mad(int4(149,150,151,152), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r46.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r46.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r46.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r47.xxxx
//     r1.xyzw = mad(int4(153,154,155,156), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r49.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r49.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r49.zzzz
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r44.wwww
//     r1.xyzw = mad(int4(157,158,159,160), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r46.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r47.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r48.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r50.xxxx
//     r1.xyzw = mad(int4(161,162,163,164), asint(cb0[20].wwww), (int4)r0.yyyy);
//     r1.xyzw = (int4)r1.xyzw + asint(cb0[20].yyyy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.xxxx, r50.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.yyyy, r48.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.zzzz, r50.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r58.wwww, r8.wwww
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r1.wwww, r52.xxxx
//     r0.yz = mad(int2(165,166), asint(cb0[20].ww), (int2)r0.yy);
//     r0.yz = (int2)r0.yz + asint(cb0[20].yy);
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r0.yyyy, r52.yyyy
//   // No code for instruction (needs manual fix):
//     store_uav_typed u1.xyzw, r0.zzzz, r0.xxxx
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r59.xxxx, r10.xxxx
//   }
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// C:\Program Files (x86)\Steam\steamapps\common\Forever Skies\ProjectZeppelin\Binaries\Win64\ShaderFixes\a6b4198728940155-cs_replace.txt(13,8-12): error X3000: syntax error: unexpected token 'sint4'
/////////////////////////////////////////////////////////////////////////////
