BitonicSortが理解できない

いま、どうしてもUnityで近傍探索がしたくて、bitonicsortを導入しようとしています。

正直このコードを流用したら、はい終了〜なのですが、ある程度理解してみたい。

github.com

ということで、以下のqiitaを読んでいます。

qiita.com

しかし、どうしても、

if ((i & d) == 0 && (x[i] > x[i | d]) === up) {

ここの部分の意味がわからない。うーむ。