JSFiddle - React, Tailwind, and code Playground
by evgkch
JavaScript
const fstHalf = n => x => x & ((1 << (n / 2)) - 1),
scdHalf = n => x => x >> (n / 2);
const T = n => x => {
const fst = fstHalf(n)(x);
const scd = scdHalf(n)(x);
return n == 1
? x
: T(n / 2)(fst) ^ (T(n / 2)(fst ^ scd) << (n / 2));
}