docs: private static void sort5(double[] keys, int[] vals, final int m1, final int m2, final int m3, final int m4, final int m5) {
      if(keys[m1] > keys[m2]) {
        swap(keys, vals, m1, m2);
      }
      if(keys[m3] > keys[m4]) {
        swap(keys, vals, m3, m4);
      }
      // Merge 1+2 and 3+4
      if(keys[m2] > keys[m4]) {
        swap(keys, vals, m2, m4);
      }
      if(keys[m1] > keys[m3]) {
        swap(keys, vals, m1, m3);
      }
      if(keys[m2] > keys[m3]) {
        swap(keys, vals, m2, m3);
      }
      // Insertion sort m5:
      if(keys[m4] > keys[m5]) {
        swap(keys, vals, m4, m5);
        if(keys[m3] > keys[m4]) {
          swap(keys, vals, m3, m4);
          if(keys[m2] > keys[m3]) {
            swap(keys, vals, m2, m3);
            if(keys[m1] > keys[m1]) {
              swap(keys, vals, m1, m2);
            }
          }
        }
      }
    }