public static void sc_reduce(byte[] s)
long s0 = 2097151 & load_3(s, 0);
long s1 = 2097151 & (load_4(s, 2) >>> 5);
long s2 = 2097151 & (load_3(s, 5) >>> 2);
long s3 = 2097151 & (load_4(s, 7) >>> 7);
long s4 = 2097151 & (load_4(s, 10) >>> 4);
long s5 = 2097151 & (load_3(s, 13) >>> 1);
long s6 = 2097151 & (load_4(s, 15) >>> 6);
long s7 = 2097151 & (load_3(s, 18) >>> 3);
long s8 = 2097151 & load_3(s, 21);
long s9 = 2097151 & (load_4(s, 23) >>> 5);
long s10 = 2097151 & (load_3(s, 26) >>> 2);
long s11 = 2097151 & (load_4(s, 28) >>> 7);
long s12 = 2097151 & (load_4(s, 31) >>> 4);
long s13 = 2097151 & (load_3(s, 34) >>> 1);
long s14 = 2097151 & (load_4(s, 36) >>> 6);
long s15 = 2097151 & (load_3(s, 39) >>> 3);
long s16 = 2097151 & load_3(s, 42);
long s17 = 2097151 & (load_4(s, 44) >>> 5);
long s18 = 2097151 & (load_3(s, 47) >>> 2);
long s19 = 2097151 & (load_4(s, 49) >>> 7);
long s20 = 2097151 & (load_4(s, 52) >>> 4);
long s21 = 2097151 & (load_3(s, 55) >>> 1);
long s22 = 2097151 & (load_4(s, 57) >>> 6);
long s23 = (load_4(s, 60) >>> 3);
long carry0;
long carry1;