1 //
2 // BAGEL - Brilliantly Advanced General Electronic Structure Library
3 // Filename: prim_op_var.h
4 // Copyright (C) 2015 Toru Shiozaki
5 //
6 // Author: Toru Shiozaki <shiozaki@northwestern.edu>
7 // Maintainer: Shiozaki group
8 //
9 // This file is part of the BAGEL package.
10 //
11 // This program is free software: you can redistribute it and/or modify
12 // it under the terms of the GNU General Public License as published by
13 // the Free Software Foundation, either version 3 of the License, or
14 // (at your option) any later version.
15 //
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
23 //
24 
25 #ifndef __SRC_UTIL_PRIM_OP_VAR_H
26 #define __SRC_UTIL_PRIM_OP_VAR_H
27 
28 #include <src/util/prim_op.h>
29 #include <src/util/constants.h>
30 
31 namespace bagel {
32 
33 template<typename DataType>
sort_indices(const std::array<int,1> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,1> & d)34 void sort_indices(const std::array<int,1>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,1>& d) {
35   throw std::logic_error("This case has not been implemented in prim_op_var.h");
36 }
37 
38 template<typename DataType>
sort_indices(const std::array<int,2> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,2> & d)39 void sort_indices(const std::array<int,2>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,2>& d) {
40   throw std::logic_error("This case has not been implemented in prim_op_var.h");
41 }
42 
43 template<typename DataType>
sort_indices(const std::array<int,3> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,3> & d)44 void sort_indices(const std::array<int,3>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,3>& d) {
45   throw std::logic_error("This case has not been implemented in prim_op_var.h");
46 }
47 
48 template<typename DataType>
sort_indices(const std::array<int,5> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,5> & d)49 void sort_indices(const std::array<int,5>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,5>& d) {
50   throw std::logic_error("This case has not been implemented in prim_op_var.h");
51 }
52 
53 template<typename DataType>
sort_indices(const std::array<int,7> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,7> & d)54 void sort_indices(const std::array<int,7>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,7>& d) {
55   throw std::logic_error("This case has not been implemented in prim_op_var.h");
56 }
57 template<typename DataType>
sort_indices(const std::array<int,4> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,4> & d)58 void sort_indices(const std::array<int,4>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,4>& d) {
59   size_t tag = 0ull;
60   for (int i = 0; i != 4; ++i)
61     tag = (tag << 4) + o[i];
62 
63   if (std::abs(1.0-a) < numerical_zero__ && std::abs(b) < numerical_zero__) {
64     switch (tag) {
65         case 291ull :
66           sort_indices<0,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
67         case 801ull :
68           sort_indices<0,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
69         case 4146ull :
70           sort_indices<1,0,3,2,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
71         case 4656ull :
72           sort_indices<1,2,3,0,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
73         case 8451ull :
74           sort_indices<2,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
75         case 8961ull :
76           sort_indices<2,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
77         case 12306ull :
78           sort_indices<3,0,1,2,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
79         case 12816ull :
80           sort_indices<3,2,1,0,0,1,1,1>(in, out, d[0], d[1], d[2], d[3]); break;
81         default:
82           throw std::logic_error("This case has not been implemented in prim_op_var.h");
83     }
84   }
85   else if (std::abs(-1.0-a) < numerical_zero__ && std::abs(b) < numerical_zero__) {
86     switch (tag) {
87         case 291ull :
88           sort_indices<0,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
89         case 801ull :
90           sort_indices<0,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
91         case 4146ull :
92           sort_indices<1,0,3,2,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
93         case 4656ull :
94           sort_indices<1,2,3,0,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
95         case 8451ull :
96           sort_indices<2,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
97         case 8961ull :
98           sort_indices<2,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
99         case 12306ull :
100           sort_indices<3,0,1,2,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
101         case 12816ull :
102           sort_indices<3,2,1,0,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3]); break;
103         default:
104           throw std::logic_error("This case has not been implemented in prim_op_var.h");
105     }
106   }
107   else {
108     throw std::logic_error("This case has not been implemented in prim_op_var.h");
109   }
110 }
111 
112 template<typename DataType>
sort_indices(const std::array<int,6> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,6> & d)113 void sort_indices(const std::array<int,6>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,6>& d) {
114   size_t tag = 0ull;
115   for (int i = 0; i != 6; ++i)
116     tag = (tag << 4) + o[i];
117 
118   if (std::abs(1.0-a) < numerical_zero__ && std::abs(b) < numerical_zero__) {
119     switch (tag) {
120         case 74565ull :
121           sort_indices<0,1,2,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
122         case 75075ull :
123           sort_indices<0,1,2,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
124         case 205125ull :
125           sort_indices<0,3,2,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
126         case 206145ull :
127           sort_indices<0,3,2,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
128         case 336195ull :
129           sort_indices<0,5,2,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
130         case 336705ull :
131           sort_indices<0,5,2,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
132         case 82725ull :
133           sort_indices<0,1,4,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
134         case 83235ull :
135           sort_indices<0,1,4,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
136         case 213285ull :
137           sort_indices<0,3,4,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
138         case 214305ull :
139           sort_indices<0,3,4,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
140         case 344355ull :
141           sort_indices<0,5,4,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
142         case 344865ull :
143           sort_indices<0,5,4,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
144         case 2163525ull :
145           sort_indices<2,1,0,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
146         case 2164035ull :
147           sort_indices<2,1,0,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
148         case 2294085ull :
149           sort_indices<2,3,0,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
150         case 2295105ull :
151           sort_indices<2,3,0,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
152         case 2425155ull :
153           sort_indices<2,5,0,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
154         case 2425665ull :
155           sort_indices<2,5,0,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
156         case 2179845ull :
157           sort_indices<2,1,4,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
158         case 2180355ull :
159           sort_indices<2,1,4,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
160         case 2310405ull :
161           sort_indices<2,3,4,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
162         case 2311425ull :
163           sort_indices<2,3,4,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
164         case 2441475ull :
165           sort_indices<2,5,4,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
166         case 2441985ull :
167           sort_indices<2,5,4,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
168         case 4260645ull :
169           sort_indices<4,1,0,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
170         case 4261155ull :
171           sort_indices<4,1,0,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
172         case 4391205ull :
173           sort_indices<4,3,0,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
174         case 4392225ull :
175           sort_indices<4,3,0,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
176         case 4522275ull :
177           sort_indices<4,5,0,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
178         case 4522785ull :
179           sort_indices<4,5,0,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
180         case 4268805ull :
181           sort_indices<4,1,2,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
182         case 4269315ull :
183           sort_indices<4,1,2,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
184         case 4399365ull :
185           sort_indices<4,3,2,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
186         case 4400385ull :
187           sort_indices<4,3,2,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
188         case 4530435ull :
189           sort_indices<4,5,2,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
190         case 4530945ull :
191           sort_indices<4,5,2,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
192         default:
193           throw std::logic_error("This case has not been implemented in prim_op_var.h");
194     }
195   }
196   else if (std::abs(-1.0-a) < numerical_zero__ && std::abs(b) < numerical_zero__) {
197     switch (tag) {
198         case 74565ull :
199           sort_indices<0,1,2,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
200         case 75075ull :
201           sort_indices<0,1,2,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
202         case 205125ull :
203           sort_indices<0,3,2,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
204         case 206145ull :
205           sort_indices<0,3,2,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
206         case 336195ull :
207           sort_indices<0,5,2,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
208         case 336705ull :
209           sort_indices<0,5,2,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
210         case 82725ull :
211           sort_indices<0,1,4,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
212         case 83235ull :
213           sort_indices<0,1,4,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
214         case 213285ull :
215           sort_indices<0,3,4,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
216         case 214305ull :
217           sort_indices<0,3,4,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
218         case 344355ull :
219           sort_indices<0,5,4,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
220         case 344865ull :
221           sort_indices<0,5,4,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
222         case 2163525ull :
223           sort_indices<2,1,0,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
224         case 2164035ull :
225           sort_indices<2,1,0,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
226         case 2294085ull :
227           sort_indices<2,3,0,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
228         case 2295105ull :
229           sort_indices<2,3,0,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
230         case 2425155ull :
231           sort_indices<2,5,0,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
232         case 2425665ull :
233           sort_indices<2,5,0,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
234         case 2179845ull :
235           sort_indices<2,1,4,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
236         case 2180355ull :
237           sort_indices<2,1,4,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
238         case 2310405ull :
239           sort_indices<2,3,4,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
240         case 2311425ull :
241           sort_indices<2,3,4,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
242         case 2441475ull :
243           sort_indices<2,5,4,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
244         case 2441985ull :
245           sort_indices<2,5,4,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
246         case 4260645ull :
247           sort_indices<4,1,0,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
248         case 4261155ull :
249           sort_indices<4,1,0,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
250         case 4391205ull :
251           sort_indices<4,3,0,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
252         case 4392225ull :
253           sort_indices<4,3,0,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
254         case 4522275ull :
255           sort_indices<4,5,0,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
256         case 4522785ull :
257           sort_indices<4,5,0,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
258         case 4268805ull :
259           sort_indices<4,1,2,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
260         case 4269315ull :
261           sort_indices<4,1,2,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
262         case 4399365ull :
263           sort_indices<4,3,2,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
264         case 4400385ull :
265           sort_indices<4,3,2,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
266         case 4530435ull :
267           sort_indices<4,5,2,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
268         case 4530945ull :
269           sort_indices<4,5,2,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5]); break;
270         default:
271           throw std::logic_error("This case has not been implemented in prim_op_var.h");
272     }
273   }
274   else {
275     throw std::logic_error("This case has not been implemented in prim_op_var.h");
276   }
277 }
278 
279 template<typename DataType>
sort_indices(const std::array<int,8> & o,const double a,const double b,const DataType * in,DataType * out,const std::array<int,8> & d)280 void sort_indices(const std::array<int,8>& o, const double a, const double b, const DataType* in, DataType* out, const std::array<int,8>& d) {
281   size_t tag = 0ull;
282   for (int i = 0; i != 8; ++i)
283     tag = (tag << 4) + o[i];
284 
285   if (std::abs(1.0-a) < numerical_zero__ && std::abs(b) < numerical_zero__) {
286     switch (tag) {
287         case 19088743ull :
288           sort_indices<0,1,2,3,4,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
289         case 19089253ull :
290           sort_indices<0,1,2,3,4,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
291         case 19219303ull :
292           sort_indices<0,1,2,5,4,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
293         case 19220323ull :
294           sort_indices<0,1,2,5,4,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
295         case 19350373ull :
296           sort_indices<0,1,2,7,4,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
297         case 19350883ull :
298           sort_indices<0,1,2,7,4,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
299         case 52512103ull :
300           sort_indices<0,3,2,1,4,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
301         case 52512613ull :
302           sort_indices<0,3,2,1,4,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
303         case 52773223ull :
304           sort_indices<0,3,2,5,4,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
305         case 52774753ull :
306           sort_indices<0,3,2,5,4,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
307         case 52904293ull :
308           sort_indices<0,3,2,7,4,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
309         case 52905313ull :
310           sort_indices<0,3,2,7,4,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
311         case 86066023ull :
312           sort_indices<0,5,2,1,4,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
313         case 86067043ull :
314           sort_indices<0,5,2,1,4,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
315         case 86196583ull :
316           sort_indices<0,5,2,3,4,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
317         case 86198113ull :
318           sort_indices<0,5,2,3,4,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
319         case 86458723ull :
320           sort_indices<0,5,2,7,4,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
321         case 86459233ull :
322           sort_indices<0,5,2,7,4,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
323         case 119620453ull :
324           sort_indices<0,7,2,1,4,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
325         case 119620963ull :
326           sort_indices<0,7,2,1,4,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
327         case 119751013ull :
328           sort_indices<0,7,2,3,4,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
329         case 119752033ull :
330           sort_indices<0,7,2,3,4,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
331         case 119882083ull :
332           sort_indices<0,7,2,5,4,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
333         case 119882593ull :
334           sort_indices<0,7,2,5,4,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
335         case 19096903ull :
336           sort_indices<0,1,2,3,6,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
337         case 19097413ull :
338           sort_indices<0,1,2,3,6,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
339         case 19227463ull :
340           sort_indices<0,1,2,5,6,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
341         case 19228483ull :
342           sort_indices<0,1,2,5,6,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
343         case 19358533ull :
344           sort_indices<0,1,2,7,6,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
345         case 19359043ull :
346           sort_indices<0,1,2,7,6,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
347         case 52520263ull :
348           sort_indices<0,3,2,1,6,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
349         case 52520773ull :
350           sort_indices<0,3,2,1,6,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
351         case 52781383ull :
352           sort_indices<0,3,2,5,6,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
353         case 52782913ull :
354           sort_indices<0,3,2,5,6,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
355         case 52912453ull :
356           sort_indices<0,3,2,7,6,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
357         case 52913473ull :
358           sort_indices<0,3,2,7,6,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
359         case 86074183ull :
360           sort_indices<0,5,2,1,6,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
361         case 86075203ull :
362           sort_indices<0,5,2,1,6,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
363         case 86204743ull :
364           sort_indices<0,5,2,3,6,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
365         case 86206273ull :
366           sort_indices<0,5,2,3,6,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
367         case 86466883ull :
368           sort_indices<0,5,2,7,6,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
369         case 86467393ull :
370           sort_indices<0,5,2,7,6,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
371         case 119628613ull :
372           sort_indices<0,7,2,1,6,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
373         case 119629123ull :
374           sort_indices<0,7,2,1,6,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
375         case 119759173ull :
376           sort_indices<0,7,2,3,6,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
377         case 119760193ull :
378           sort_indices<0,7,2,3,6,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
379         case 119890243ull :
380           sort_indices<0,7,2,5,6,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
381         case 119890753ull :
382           sort_indices<0,7,2,5,6,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
383         case 21177703ull :
384           sort_indices<0,1,4,3,2,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
385         case 21178213ull :
386           sort_indices<0,1,4,3,2,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
387         case 21308263ull :
388           sort_indices<0,1,4,5,2,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
389         case 21309283ull :
390           sort_indices<0,1,4,5,2,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
391         case 21439333ull :
392           sort_indices<0,1,4,7,2,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
393         case 21439843ull :
394           sort_indices<0,1,4,7,2,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
395         case 54601063ull :
396           sort_indices<0,3,4,1,2,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
397         case 54601573ull :
398           sort_indices<0,3,4,1,2,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
399         case 54862183ull :
400           sort_indices<0,3,4,5,2,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
401         case 54863713ull :
402           sort_indices<0,3,4,5,2,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
403         case 54993253ull :
404           sort_indices<0,3,4,7,2,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
405         case 54994273ull :
406           sort_indices<0,3,4,7,2,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
407         case 88154983ull :
408           sort_indices<0,5,4,1,2,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
409         case 88156003ull :
410           sort_indices<0,5,4,1,2,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
411         case 88285543ull :
412           sort_indices<0,5,4,3,2,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
413         case 88287073ull :
414           sort_indices<0,5,4,3,2,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
415         case 88547683ull :
416           sort_indices<0,5,4,7,2,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
417         case 88548193ull :
418           sort_indices<0,5,4,7,2,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
419         case 121709413ull :
420           sort_indices<0,7,4,1,2,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
421         case 121709923ull :
422           sort_indices<0,7,4,1,2,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
423         case 121839973ull :
424           sort_indices<0,7,4,3,2,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
425         case 121840993ull :
426           sort_indices<0,7,4,3,2,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
427         case 121971043ull :
428           sort_indices<0,7,4,5,2,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
429         case 121971553ull :
430           sort_indices<0,7,4,5,2,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
431         case 21194023ull :
432           sort_indices<0,1,4,3,6,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
433         case 21194533ull :
434           sort_indices<0,1,4,3,6,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
435         case 21324583ull :
436           sort_indices<0,1,4,5,6,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
437         case 21325603ull :
438           sort_indices<0,1,4,5,6,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
439         case 21455653ull :
440           sort_indices<0,1,4,7,6,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
441         case 21456163ull :
442           sort_indices<0,1,4,7,6,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
443         case 54617383ull :
444           sort_indices<0,3,4,1,6,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
445         case 54617893ull :
446           sort_indices<0,3,4,1,6,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
447         case 54878503ull :
448           sort_indices<0,3,4,5,6,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
449         case 54880033ull :
450           sort_indices<0,3,4,5,6,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
451         case 55009573ull :
452           sort_indices<0,3,4,7,6,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
453         case 55010593ull :
454           sort_indices<0,3,4,7,6,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
455         case 88171303ull :
456           sort_indices<0,5,4,1,6,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
457         case 88172323ull :
458           sort_indices<0,5,4,1,6,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
459         case 88301863ull :
460           sort_indices<0,5,4,3,6,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
461         case 88303393ull :
462           sort_indices<0,5,4,3,6,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
463         case 88564003ull :
464           sort_indices<0,5,4,7,6,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
465         case 88564513ull :
466           sort_indices<0,5,4,7,6,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
467         case 121725733ull :
468           sort_indices<0,7,4,1,6,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
469         case 121726243ull :
470           sort_indices<0,7,4,1,6,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
471         case 121856293ull :
472           sort_indices<0,7,4,3,6,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
473         case 121857313ull :
474           sort_indices<0,7,4,3,6,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
475         case 121987363ull :
476           sort_indices<0,7,4,5,6,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
477         case 121987873ull :
478           sort_indices<0,7,4,5,6,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
479         case 23274823ull :
480           sort_indices<0,1,6,3,2,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
481         case 23275333ull :
482           sort_indices<0,1,6,3,2,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
483         case 23405383ull :
484           sort_indices<0,1,6,5,2,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
485         case 23406403ull :
486           sort_indices<0,1,6,5,2,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
487         case 23536453ull :
488           sort_indices<0,1,6,7,2,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
489         case 23536963ull :
490           sort_indices<0,1,6,7,2,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
491         case 56698183ull :
492           sort_indices<0,3,6,1,2,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
493         case 56698693ull :
494           sort_indices<0,3,6,1,2,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
495         case 56959303ull :
496           sort_indices<0,3,6,5,2,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
497         case 56960833ull :
498           sort_indices<0,3,6,5,2,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
499         case 57090373ull :
500           sort_indices<0,3,6,7,2,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
501         case 57091393ull :
502           sort_indices<0,3,6,7,2,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
503         case 90252103ull :
504           sort_indices<0,5,6,1,2,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
505         case 90253123ull :
506           sort_indices<0,5,6,1,2,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
507         case 90382663ull :
508           sort_indices<0,5,6,3,2,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
509         case 90384193ull :
510           sort_indices<0,5,6,3,2,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
511         case 90644803ull :
512           sort_indices<0,5,6,7,2,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
513         case 90645313ull :
514           sort_indices<0,5,6,7,2,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
515         case 123806533ull :
516           sort_indices<0,7,6,1,2,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
517         case 123807043ull :
518           sort_indices<0,7,6,1,2,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
519         case 123937093ull :
520           sort_indices<0,7,6,3,2,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
521         case 123938113ull :
522           sort_indices<0,7,6,3,2,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
523         case 124068163ull :
524           sort_indices<0,7,6,5,2,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
525         case 124068673ull :
526           sort_indices<0,7,6,5,2,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
527         case 23282983ull :
528           sort_indices<0,1,6,3,4,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
529         case 23283493ull :
530           sort_indices<0,1,6,3,4,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
531         case 23413543ull :
532           sort_indices<0,1,6,5,4,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
533         case 23414563ull :
534           sort_indices<0,1,6,5,4,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
535         case 23544613ull :
536           sort_indices<0,1,6,7,4,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
537         case 23545123ull :
538           sort_indices<0,1,6,7,4,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
539         case 56706343ull :
540           sort_indices<0,3,6,1,4,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
541         case 56706853ull :
542           sort_indices<0,3,6,1,4,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
543         case 56967463ull :
544           sort_indices<0,3,6,5,4,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
545         case 56968993ull :
546           sort_indices<0,3,6,5,4,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
547         case 57098533ull :
548           sort_indices<0,3,6,7,4,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
549         case 57099553ull :
550           sort_indices<0,3,6,7,4,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
551         case 90260263ull :
552           sort_indices<0,5,6,1,4,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
553         case 90261283ull :
554           sort_indices<0,5,6,1,4,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
555         case 90390823ull :
556           sort_indices<0,5,6,3,4,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
557         case 90392353ull :
558           sort_indices<0,5,6,3,4,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
559         case 90652963ull :
560           sort_indices<0,5,6,7,4,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
561         case 90653473ull :
562           sort_indices<0,5,6,7,4,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
563         case 123814693ull :
564           sort_indices<0,7,6,1,4,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
565         case 123815203ull :
566           sort_indices<0,7,6,1,4,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
567         case 123945253ull :
568           sort_indices<0,7,6,3,4,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
569         case 123946273ull :
570           sort_indices<0,7,6,3,4,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
571         case 124076323ull :
572           sort_indices<0,7,6,5,4,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
573         case 124076833ull :
574           sort_indices<0,7,6,5,4,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
575         case 553862503ull :
576           sort_indices<2,1,0,3,4,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
577         case 553863013ull :
578           sort_indices<2,1,0,3,4,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
579         case 553993063ull :
580           sort_indices<2,1,0,5,4,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
581         case 553994083ull :
582           sort_indices<2,1,0,5,4,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
583         case 554124133ull :
584           sort_indices<2,1,0,7,4,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
585         case 554124643ull :
586           sort_indices<2,1,0,7,4,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
587         case 587285863ull :
588           sort_indices<2,3,0,1,4,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
589         case 587286373ull :
590           sort_indices<2,3,0,1,4,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
591         case 587546983ull :
592           sort_indices<2,3,0,5,4,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
593         case 587548513ull :
594           sort_indices<2,3,0,5,4,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
595         case 587678053ull :
596           sort_indices<2,3,0,7,4,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
597         case 587679073ull :
598           sort_indices<2,3,0,7,4,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
599         case 620839783ull :
600           sort_indices<2,5,0,1,4,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
601         case 620840803ull :
602           sort_indices<2,5,0,1,4,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
603         case 620970343ull :
604           sort_indices<2,5,0,3,4,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
605         case 620971873ull :
606           sort_indices<2,5,0,3,4,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
607         case 621232483ull :
608           sort_indices<2,5,0,7,4,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
609         case 621232993ull :
610           sort_indices<2,5,0,7,4,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
611         case 654394213ull :
612           sort_indices<2,7,0,1,4,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
613         case 654394723ull :
614           sort_indices<2,7,0,1,4,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
615         case 654524773ull :
616           sort_indices<2,7,0,3,4,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
617         case 654525793ull :
618           sort_indices<2,7,0,3,4,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
619         case 654655843ull :
620           sort_indices<2,7,0,5,4,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
621         case 654656353ull :
622           sort_indices<2,7,0,5,4,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
623         case 553870663ull :
624           sort_indices<2,1,0,3,6,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
625         case 553871173ull :
626           sort_indices<2,1,0,3,6,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
627         case 554001223ull :
628           sort_indices<2,1,0,5,6,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
629         case 554002243ull :
630           sort_indices<2,1,0,5,6,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
631         case 554132293ull :
632           sort_indices<2,1,0,7,6,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
633         case 554132803ull :
634           sort_indices<2,1,0,7,6,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
635         case 587294023ull :
636           sort_indices<2,3,0,1,6,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
637         case 587294533ull :
638           sort_indices<2,3,0,1,6,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
639         case 587555143ull :
640           sort_indices<2,3,0,5,6,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
641         case 587556673ull :
642           sort_indices<2,3,0,5,6,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
643         case 587686213ull :
644           sort_indices<2,3,0,7,6,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
645         case 587687233ull :
646           sort_indices<2,3,0,7,6,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
647         case 620847943ull :
648           sort_indices<2,5,0,1,6,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
649         case 620848963ull :
650           sort_indices<2,5,0,1,6,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
651         case 620978503ull :
652           sort_indices<2,5,0,3,6,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
653         case 620980033ull :
654           sort_indices<2,5,0,3,6,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
655         case 621240643ull :
656           sort_indices<2,5,0,7,6,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
657         case 621241153ull :
658           sort_indices<2,5,0,7,6,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
659         case 654402373ull :
660           sort_indices<2,7,0,1,6,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
661         case 654402883ull :
662           sort_indices<2,7,0,1,6,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
663         case 654532933ull :
664           sort_indices<2,7,0,3,6,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
665         case 654533953ull :
666           sort_indices<2,7,0,3,6,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
667         case 654664003ull :
668           sort_indices<2,7,0,5,6,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
669         case 654664513ull :
670           sort_indices<2,7,0,5,6,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
671         case 558040423ull :
672           sort_indices<2,1,4,3,0,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
673         case 558040933ull :
674           sort_indices<2,1,4,3,0,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
675         case 558170983ull :
676           sort_indices<2,1,4,5,0,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
677         case 558172003ull :
678           sort_indices<2,1,4,5,0,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
679         case 558302053ull :
680           sort_indices<2,1,4,7,0,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
681         case 558302563ull :
682           sort_indices<2,1,4,7,0,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
683         case 591463783ull :
684           sort_indices<2,3,4,1,0,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
685         case 591464293ull :
686           sort_indices<2,3,4,1,0,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
687         case 591724903ull :
688           sort_indices<2,3,4,5,0,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
689         case 591726433ull :
690           sort_indices<2,3,4,5,0,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
691         case 591855973ull :
692           sort_indices<2,3,4,7,0,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
693         case 591856993ull :
694           sort_indices<2,3,4,7,0,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
695         case 625017703ull :
696           sort_indices<2,5,4,1,0,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
697         case 625018723ull :
698           sort_indices<2,5,4,1,0,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
699         case 625148263ull :
700           sort_indices<2,5,4,3,0,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
701         case 625149793ull :
702           sort_indices<2,5,4,3,0,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
703         case 625410403ull :
704           sort_indices<2,5,4,7,0,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
705         case 625410913ull :
706           sort_indices<2,5,4,7,0,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
707         case 658572133ull :
708           sort_indices<2,7,4,1,0,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
709         case 658572643ull :
710           sort_indices<2,7,4,1,0,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
711         case 658702693ull :
712           sort_indices<2,7,4,3,0,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
713         case 658703713ull :
714           sort_indices<2,7,4,3,0,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
715         case 658833763ull :
716           sort_indices<2,7,4,5,0,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
717         case 658834273ull :
718           sort_indices<2,7,4,5,0,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
719         case 558064903ull :
720           sort_indices<2,1,4,3,6,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
721         case 558065413ull :
722           sort_indices<2,1,4,3,6,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
723         case 558195463ull :
724           sort_indices<2,1,4,5,6,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
725         case 558196483ull :
726           sort_indices<2,1,4,5,6,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
727         case 558326533ull :
728           sort_indices<2,1,4,7,6,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
729         case 558327043ull :
730           sort_indices<2,1,4,7,6,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
731         case 591488263ull :
732           sort_indices<2,3,4,1,6,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
733         case 591488773ull :
734           sort_indices<2,3,4,1,6,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
735         case 591749383ull :
736           sort_indices<2,3,4,5,6,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
737         case 591750913ull :
738           sort_indices<2,3,4,5,6,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
739         case 591880453ull :
740           sort_indices<2,3,4,7,6,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
741         case 591881473ull :
742           sort_indices<2,3,4,7,6,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
743         case 625042183ull :
744           sort_indices<2,5,4,1,6,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
745         case 625043203ull :
746           sort_indices<2,5,4,1,6,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
747         case 625172743ull :
748           sort_indices<2,5,4,3,6,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
749         case 625174273ull :
750           sort_indices<2,5,4,3,6,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
751         case 625434883ull :
752           sort_indices<2,5,4,7,6,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
753         case 625435393ull :
754           sort_indices<2,5,4,7,6,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
755         case 658596613ull :
756           sort_indices<2,7,4,1,6,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
757         case 658597123ull :
758           sort_indices<2,7,4,1,6,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
759         case 658727173ull :
760           sort_indices<2,7,4,3,6,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
761         case 658728193ull :
762           sort_indices<2,7,4,3,6,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
763         case 658858243ull :
764           sort_indices<2,7,4,5,6,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
765         case 658858753ull :
766           sort_indices<2,7,4,5,6,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
767         case 560137543ull :
768           sort_indices<2,1,6,3,0,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
769         case 560138053ull :
770           sort_indices<2,1,6,3,0,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
771         case 560268103ull :
772           sort_indices<2,1,6,5,0,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
773         case 560269123ull :
774           sort_indices<2,1,6,5,0,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
775         case 560399173ull :
776           sort_indices<2,1,6,7,0,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
777         case 560399683ull :
778           sort_indices<2,1,6,7,0,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
779         case 593560903ull :
780           sort_indices<2,3,6,1,0,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
781         case 593561413ull :
782           sort_indices<2,3,6,1,0,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
783         case 593822023ull :
784           sort_indices<2,3,6,5,0,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
785         case 593823553ull :
786           sort_indices<2,3,6,5,0,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
787         case 593953093ull :
788           sort_indices<2,3,6,7,0,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
789         case 593954113ull :
790           sort_indices<2,3,6,7,0,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
791         case 627114823ull :
792           sort_indices<2,5,6,1,0,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
793         case 627115843ull :
794           sort_indices<2,5,6,1,0,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
795         case 627245383ull :
796           sort_indices<2,5,6,3,0,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
797         case 627246913ull :
798           sort_indices<2,5,6,3,0,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
799         case 627507523ull :
800           sort_indices<2,5,6,7,0,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
801         case 627508033ull :
802           sort_indices<2,5,6,7,0,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
803         case 660669253ull :
804           sort_indices<2,7,6,1,0,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
805         case 660669763ull :
806           sort_indices<2,7,6,1,0,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
807         case 660799813ull :
808           sort_indices<2,7,6,3,0,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
809         case 660800833ull :
810           sort_indices<2,7,6,3,0,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
811         case 660930883ull :
812           sort_indices<2,7,6,5,0,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
813         case 660931393ull :
814           sort_indices<2,7,6,5,0,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
815         case 560153863ull :
816           sort_indices<2,1,6,3,4,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
817         case 560154373ull :
818           sort_indices<2,1,6,3,4,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
819         case 560284423ull :
820           sort_indices<2,1,6,5,4,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
821         case 560285443ull :
822           sort_indices<2,1,6,5,4,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
823         case 560415493ull :
824           sort_indices<2,1,6,7,4,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
825         case 560416003ull :
826           sort_indices<2,1,6,7,4,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
827         case 593577223ull :
828           sort_indices<2,3,6,1,4,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
829         case 593577733ull :
830           sort_indices<2,3,6,1,4,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
831         case 593838343ull :
832           sort_indices<2,3,6,5,4,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
833         case 593839873ull :
834           sort_indices<2,3,6,5,4,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
835         case 593969413ull :
836           sort_indices<2,3,6,7,4,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
837         case 593970433ull :
838           sort_indices<2,3,6,7,4,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
839         case 627131143ull :
840           sort_indices<2,5,6,1,4,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
841         case 627132163ull :
842           sort_indices<2,5,6,1,4,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
843         case 627261703ull :
844           sort_indices<2,5,6,3,4,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
845         case 627263233ull :
846           sort_indices<2,5,6,3,4,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
847         case 627523843ull :
848           sort_indices<2,5,6,7,4,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
849         case 627524353ull :
850           sort_indices<2,5,6,7,4,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
851         case 660685573ull :
852           sort_indices<2,7,6,1,4,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
853         case 660686083ull :
854           sort_indices<2,7,6,1,4,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
855         case 660816133ull :
856           sort_indices<2,7,6,3,4,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
857         case 660817153ull :
858           sort_indices<2,7,6,3,4,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
859         case 660947203ull :
860           sort_indices<2,7,6,5,4,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
861         case 660947713ull :
862           sort_indices<2,7,6,5,4,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
863         case 1090725223ull :
864           sort_indices<4,1,0,3,2,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
865         case 1090725733ull :
866           sort_indices<4,1,0,3,2,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
867         case 1090855783ull :
868           sort_indices<4,1,0,5,2,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
869         case 1090856803ull :
870           sort_indices<4,1,0,5,2,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
871         case 1090986853ull :
872           sort_indices<4,1,0,7,2,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
873         case 1090987363ull :
874           sort_indices<4,1,0,7,2,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
875         case 1124148583ull :
876           sort_indices<4,3,0,1,2,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
877         case 1124149093ull :
878           sort_indices<4,3,0,1,2,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
879         case 1124409703ull :
880           sort_indices<4,3,0,5,2,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
881         case 1124411233ull :
882           sort_indices<4,3,0,5,2,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
883         case 1124540773ull :
884           sort_indices<4,3,0,7,2,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
885         case 1124541793ull :
886           sort_indices<4,3,0,7,2,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
887         case 1157702503ull :
888           sort_indices<4,5,0,1,2,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
889         case 1157703523ull :
890           sort_indices<4,5,0,1,2,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
891         case 1157833063ull :
892           sort_indices<4,5,0,3,2,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
893         case 1157834593ull :
894           sort_indices<4,5,0,3,2,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
895         case 1158095203ull :
896           sort_indices<4,5,0,7,2,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
897         case 1158095713ull :
898           sort_indices<4,5,0,7,2,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
899         case 1191256933ull :
900           sort_indices<4,7,0,1,2,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
901         case 1191257443ull :
902           sort_indices<4,7,0,1,2,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
903         case 1191387493ull :
904           sort_indices<4,7,0,3,2,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
905         case 1191388513ull :
906           sort_indices<4,7,0,3,2,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
907         case 1191518563ull :
908           sort_indices<4,7,0,5,2,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
909         case 1191519073ull :
910           sort_indices<4,7,0,5,2,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
911         case 1090741543ull :
912           sort_indices<4,1,0,3,6,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
913         case 1090742053ull :
914           sort_indices<4,1,0,3,6,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
915         case 1090872103ull :
916           sort_indices<4,1,0,5,6,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
917         case 1090873123ull :
918           sort_indices<4,1,0,5,6,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
919         case 1091003173ull :
920           sort_indices<4,1,0,7,6,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
921         case 1091003683ull :
922           sort_indices<4,1,0,7,6,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
923         case 1124164903ull :
924           sort_indices<4,3,0,1,6,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
925         case 1124165413ull :
926           sort_indices<4,3,0,1,6,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
927         case 1124426023ull :
928           sort_indices<4,3,0,5,6,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
929         case 1124427553ull :
930           sort_indices<4,3,0,5,6,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
931         case 1124557093ull :
932           sort_indices<4,3,0,7,6,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
933         case 1124558113ull :
934           sort_indices<4,3,0,7,6,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
935         case 1157718823ull :
936           sort_indices<4,5,0,1,6,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
937         case 1157719843ull :
938           sort_indices<4,5,0,1,6,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
939         case 1157849383ull :
940           sort_indices<4,5,0,3,6,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
941         case 1157850913ull :
942           sort_indices<4,5,0,3,6,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
943         case 1158111523ull :
944           sort_indices<4,5,0,7,6,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
945         case 1158112033ull :
946           sort_indices<4,5,0,7,6,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
947         case 1191273253ull :
948           sort_indices<4,7,0,1,6,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
949         case 1191273763ull :
950           sort_indices<4,7,0,1,6,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
951         case 1191403813ull :
952           sort_indices<4,7,0,3,6,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
953         case 1191404833ull :
954           sort_indices<4,7,0,3,6,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
955         case 1191534883ull :
956           sort_indices<4,7,0,5,6,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
957         case 1191535393ull :
958           sort_indices<4,7,0,5,6,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
959         case 1092814183ull :
960           sort_indices<4,1,2,3,0,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
961         case 1092814693ull :
962           sort_indices<4,1,2,3,0,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
963         case 1092944743ull :
964           sort_indices<4,1,2,5,0,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
965         case 1092945763ull :
966           sort_indices<4,1,2,5,0,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
967         case 1093075813ull :
968           sort_indices<4,1,2,7,0,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
969         case 1093076323ull :
970           sort_indices<4,1,2,7,0,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
971         case 1126237543ull :
972           sort_indices<4,3,2,1,0,5,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
973         case 1126238053ull :
974           sort_indices<4,3,2,1,0,7,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
975         case 1126498663ull :
976           sort_indices<4,3,2,5,0,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
977         case 1126500193ull :
978           sort_indices<4,3,2,5,0,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
979         case 1126629733ull :
980           sort_indices<4,3,2,7,0,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
981         case 1126630753ull :
982           sort_indices<4,3,2,7,0,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
983         case 1159791463ull :
984           sort_indices<4,5,2,1,0,3,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
985         case 1159792483ull :
986           sort_indices<4,5,2,1,0,7,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
987         case 1159922023ull :
988           sort_indices<4,5,2,3,0,1,6,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
989         case 1159923553ull :
990           sort_indices<4,5,2,3,0,7,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
991         case 1160184163ull :
992           sort_indices<4,5,2,7,0,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
993         case 1160184673ull :
994           sort_indices<4,5,2,7,0,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
995         case 1193345893ull :
996           sort_indices<4,7,2,1,0,3,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
997         case 1193346403ull :
998           sort_indices<4,7,2,1,0,5,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
999         case 1193476453ull :
1000           sort_indices<4,7,2,3,0,1,6,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1001         case 1193477473ull :
1002           sort_indices<4,7,2,3,0,5,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1003         case 1193607523ull :
1004           sort_indices<4,7,2,5,0,1,6,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1005         case 1193608033ull :
1006           sort_indices<4,7,2,5,0,3,6,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1007         case 1092838663ull :
1008           sort_indices<4,1,2,3,6,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1009         case 1092839173ull :
1010           sort_indices<4,1,2,3,6,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1011         case 1092969223ull :
1012           sort_indices<4,1,2,5,6,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1013         case 1092970243ull :
1014           sort_indices<4,1,2,5,6,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1015         case 1093100293ull :
1016           sort_indices<4,1,2,7,6,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1017         case 1093100803ull :
1018           sort_indices<4,1,2,7,6,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1019         case 1126262023ull :
1020           sort_indices<4,3,2,1,6,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1021         case 1126262533ull :
1022           sort_indices<4,3,2,1,6,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1023         case 1126523143ull :
1024           sort_indices<4,3,2,5,6,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1025         case 1126524673ull :
1026           sort_indices<4,3,2,5,6,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1027         case 1126654213ull :
1028           sort_indices<4,3,2,7,6,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1029         case 1126655233ull :
1030           sort_indices<4,3,2,7,6,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1031         case 1159815943ull :
1032           sort_indices<4,5,2,1,6,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1033         case 1159816963ull :
1034           sort_indices<4,5,2,1,6,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1035         case 1159946503ull :
1036           sort_indices<4,5,2,3,6,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1037         case 1159948033ull :
1038           sort_indices<4,5,2,3,6,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1039         case 1160208643ull :
1040           sort_indices<4,5,2,7,6,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1041         case 1160209153ull :
1042           sort_indices<4,5,2,7,6,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1043         case 1193370373ull :
1044           sort_indices<4,7,2,1,6,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1045         case 1193370883ull :
1046           sort_indices<4,7,2,1,6,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1047         case 1193500933ull :
1048           sort_indices<4,7,2,3,6,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1049         case 1193501953ull :
1050           sort_indices<4,7,2,3,6,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1051         case 1193632003ull :
1052           sort_indices<4,7,2,5,6,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1053         case 1193632513ull :
1054           sort_indices<4,7,2,5,6,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1055         case 1097008423ull :
1056           sort_indices<4,1,6,3,0,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1057         case 1097008933ull :
1058           sort_indices<4,1,6,3,0,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1059         case 1097138983ull :
1060           sort_indices<4,1,6,5,0,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1061         case 1097140003ull :
1062           sort_indices<4,1,6,5,0,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1063         case 1097270053ull :
1064           sort_indices<4,1,6,7,0,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1065         case 1097270563ull :
1066           sort_indices<4,1,6,7,0,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1067         case 1130431783ull :
1068           sort_indices<4,3,6,1,0,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1069         case 1130432293ull :
1070           sort_indices<4,3,6,1,0,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1071         case 1130692903ull :
1072           sort_indices<4,3,6,5,0,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1073         case 1130694433ull :
1074           sort_indices<4,3,6,5,0,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1075         case 1130823973ull :
1076           sort_indices<4,3,6,7,0,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1077         case 1130824993ull :
1078           sort_indices<4,3,6,7,0,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1079         case 1163985703ull :
1080           sort_indices<4,5,6,1,0,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1081         case 1163986723ull :
1082           sort_indices<4,5,6,1,0,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1083         case 1164116263ull :
1084           sort_indices<4,5,6,3,0,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1085         case 1164117793ull :
1086           sort_indices<4,5,6,3,0,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1087         case 1164378403ull :
1088           sort_indices<4,5,6,7,0,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1089         case 1164378913ull :
1090           sort_indices<4,5,6,7,0,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1091         case 1197540133ull :
1092           sort_indices<4,7,6,1,0,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1093         case 1197540643ull :
1094           sort_indices<4,7,6,1,0,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1095         case 1197670693ull :
1096           sort_indices<4,7,6,3,0,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1097         case 1197671713ull :
1098           sort_indices<4,7,6,3,0,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1099         case 1197801763ull :
1100           sort_indices<4,7,6,5,0,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1101         case 1197802273ull :
1102           sort_indices<4,7,6,5,0,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1103         case 1097016583ull :
1104           sort_indices<4,1,6,3,2,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1105         case 1097017093ull :
1106           sort_indices<4,1,6,3,2,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1107         case 1097147143ull :
1108           sort_indices<4,1,6,5,2,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1109         case 1097148163ull :
1110           sort_indices<4,1,6,5,2,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1111         case 1097278213ull :
1112           sort_indices<4,1,6,7,2,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1113         case 1097278723ull :
1114           sort_indices<4,1,6,7,2,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1115         case 1130439943ull :
1116           sort_indices<4,3,6,1,2,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1117         case 1130440453ull :
1118           sort_indices<4,3,6,1,2,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1119         case 1130701063ull :
1120           sort_indices<4,3,6,5,2,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1121         case 1130702593ull :
1122           sort_indices<4,3,6,5,2,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1123         case 1130832133ull :
1124           sort_indices<4,3,6,7,2,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1125         case 1130833153ull :
1126           sort_indices<4,3,6,7,2,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1127         case 1163993863ull :
1128           sort_indices<4,5,6,1,2,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1129         case 1163994883ull :
1130           sort_indices<4,5,6,1,2,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1131         case 1164124423ull :
1132           sort_indices<4,5,6,3,2,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1133         case 1164125953ull :
1134           sort_indices<4,5,6,3,2,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1135         case 1164386563ull :
1136           sort_indices<4,5,6,7,2,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1137         case 1164387073ull :
1138           sort_indices<4,5,6,7,2,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1139         case 1197548293ull :
1140           sort_indices<4,7,6,1,2,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1141         case 1197548803ull :
1142           sort_indices<4,7,6,1,2,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1143         case 1197678853ull :
1144           sort_indices<4,7,6,3,2,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1145         case 1197679873ull :
1146           sort_indices<4,7,6,3,2,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1147         case 1197809923ull :
1148           sort_indices<4,7,6,5,2,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1149         case 1197810433ull :
1150           sort_indices<4,7,6,5,2,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1151         case 1627596103ull :
1152           sort_indices<6,1,0,3,2,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1153         case 1627596613ull :
1154           sort_indices<6,1,0,3,2,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1155         case 1627726663ull :
1156           sort_indices<6,1,0,5,2,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1157         case 1627727683ull :
1158           sort_indices<6,1,0,5,2,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1159         case 1627857733ull :
1160           sort_indices<6,1,0,7,2,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1161         case 1627858243ull :
1162           sort_indices<6,1,0,7,2,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1163         case 1661019463ull :
1164           sort_indices<6,3,0,1,2,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1165         case 1661019973ull :
1166           sort_indices<6,3,0,1,2,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1167         case 1661280583ull :
1168           sort_indices<6,3,0,5,2,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1169         case 1661282113ull :
1170           sort_indices<6,3,0,5,2,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1171         case 1661411653ull :
1172           sort_indices<6,3,0,7,2,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1173         case 1661412673ull :
1174           sort_indices<6,3,0,7,2,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1175         case 1694573383ull :
1176           sort_indices<6,5,0,1,2,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1177         case 1694574403ull :
1178           sort_indices<6,5,0,1,2,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1179         case 1694703943ull :
1180           sort_indices<6,5,0,3,2,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1181         case 1694705473ull :
1182           sort_indices<6,5,0,3,2,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1183         case 1694966083ull :
1184           sort_indices<6,5,0,7,2,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1185         case 1694966593ull :
1186           sort_indices<6,5,0,7,2,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1187         case 1728127813ull :
1188           sort_indices<6,7,0,1,2,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1189         case 1728128323ull :
1190           sort_indices<6,7,0,1,2,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1191         case 1728258373ull :
1192           sort_indices<6,7,0,3,2,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1193         case 1728259393ull :
1194           sort_indices<6,7,0,3,2,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1195         case 1728389443ull :
1196           sort_indices<6,7,0,5,2,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1197         case 1728389953ull :
1198           sort_indices<6,7,0,5,2,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1199         case 1627604263ull :
1200           sort_indices<6,1,0,3,4,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1201         case 1627604773ull :
1202           sort_indices<6,1,0,3,4,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1203         case 1627734823ull :
1204           sort_indices<6,1,0,5,4,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1205         case 1627735843ull :
1206           sort_indices<6,1,0,5,4,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1207         case 1627865893ull :
1208           sort_indices<6,1,0,7,4,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1209         case 1627866403ull :
1210           sort_indices<6,1,0,7,4,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1211         case 1661027623ull :
1212           sort_indices<6,3,0,1,4,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1213         case 1661028133ull :
1214           sort_indices<6,3,0,1,4,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1215         case 1661288743ull :
1216           sort_indices<6,3,0,5,4,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1217         case 1661290273ull :
1218           sort_indices<6,3,0,5,4,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1219         case 1661419813ull :
1220           sort_indices<6,3,0,7,4,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1221         case 1661420833ull :
1222           sort_indices<6,3,0,7,4,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1223         case 1694581543ull :
1224           sort_indices<6,5,0,1,4,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1225         case 1694582563ull :
1226           sort_indices<6,5,0,1,4,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1227         case 1694712103ull :
1228           sort_indices<6,5,0,3,4,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1229         case 1694713633ull :
1230           sort_indices<6,5,0,3,4,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1231         case 1694974243ull :
1232           sort_indices<6,5,0,7,4,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1233         case 1694974753ull :
1234           sort_indices<6,5,0,7,4,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1235         case 1728135973ull :
1236           sort_indices<6,7,0,1,4,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1237         case 1728136483ull :
1238           sort_indices<6,7,0,1,4,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1239         case 1728266533ull :
1240           sort_indices<6,7,0,3,4,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1241         case 1728267553ull :
1242           sort_indices<6,7,0,3,4,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1243         case 1728397603ull :
1244           sort_indices<6,7,0,5,4,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1245         case 1728398113ull :
1246           sort_indices<6,7,0,5,4,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1247         case 1629685063ull :
1248           sort_indices<6,1,2,3,0,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1249         case 1629685573ull :
1250           sort_indices<6,1,2,3,0,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1251         case 1629815623ull :
1252           sort_indices<6,1,2,5,0,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1253         case 1629816643ull :
1254           sort_indices<6,1,2,5,0,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1255         case 1629946693ull :
1256           sort_indices<6,1,2,7,0,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1257         case 1629947203ull :
1258           sort_indices<6,1,2,7,0,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1259         case 1663108423ull :
1260           sort_indices<6,3,2,1,0,5,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1261         case 1663108933ull :
1262           sort_indices<6,3,2,1,0,7,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1263         case 1663369543ull :
1264           sort_indices<6,3,2,5,0,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1265         case 1663371073ull :
1266           sort_indices<6,3,2,5,0,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1267         case 1663500613ull :
1268           sort_indices<6,3,2,7,0,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1269         case 1663501633ull :
1270           sort_indices<6,3,2,7,0,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1271         case 1696662343ull :
1272           sort_indices<6,5,2,1,0,3,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1273         case 1696663363ull :
1274           sort_indices<6,5,2,1,0,7,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1275         case 1696792903ull :
1276           sort_indices<6,5,2,3,0,1,4,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1277         case 1696794433ull :
1278           sort_indices<6,5,2,3,0,7,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1279         case 1697055043ull :
1280           sort_indices<6,5,2,7,0,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1281         case 1697055553ull :
1282           sort_indices<6,5,2,7,0,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1283         case 1730216773ull :
1284           sort_indices<6,7,2,1,0,3,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1285         case 1730217283ull :
1286           sort_indices<6,7,2,1,0,5,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1287         case 1730347333ull :
1288           sort_indices<6,7,2,3,0,1,4,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1289         case 1730348353ull :
1290           sort_indices<6,7,2,3,0,5,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1291         case 1730478403ull :
1292           sort_indices<6,7,2,5,0,1,4,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1293         case 1730478913ull :
1294           sort_indices<6,7,2,5,0,3,4,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1295         case 1629701383ull :
1296           sort_indices<6,1,2,3,4,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1297         case 1629701893ull :
1298           sort_indices<6,1,2,3,4,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1299         case 1629831943ull :
1300           sort_indices<6,1,2,5,4,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1301         case 1629832963ull :
1302           sort_indices<6,1,2,5,4,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1303         case 1629963013ull :
1304           sort_indices<6,1,2,7,4,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1305         case 1629963523ull :
1306           sort_indices<6,1,2,7,4,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1307         case 1663124743ull :
1308           sort_indices<6,3,2,1,4,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1309         case 1663125253ull :
1310           sort_indices<6,3,2,1,4,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1311         case 1663385863ull :
1312           sort_indices<6,3,2,5,4,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1313         case 1663387393ull :
1314           sort_indices<6,3,2,5,4,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1315         case 1663516933ull :
1316           sort_indices<6,3,2,7,4,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1317         case 1663517953ull :
1318           sort_indices<6,3,2,7,4,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1319         case 1696678663ull :
1320           sort_indices<6,5,2,1,4,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1321         case 1696679683ull :
1322           sort_indices<6,5,2,1,4,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1323         case 1696809223ull :
1324           sort_indices<6,5,2,3,4,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1325         case 1696810753ull :
1326           sort_indices<6,5,2,3,4,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1327         case 1697071363ull :
1328           sort_indices<6,5,2,7,4,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1329         case 1697071873ull :
1330           sort_indices<6,5,2,7,4,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1331         case 1730233093ull :
1332           sort_indices<6,7,2,1,4,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1333         case 1730233603ull :
1334           sort_indices<6,7,2,1,4,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1335         case 1730363653ull :
1336           sort_indices<6,7,2,3,4,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1337         case 1730364673ull :
1338           sort_indices<6,7,2,3,4,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1339         case 1730494723ull :
1340           sort_indices<6,7,2,5,4,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1341         case 1730495233ull :
1342           sort_indices<6,7,2,5,4,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1343         case 1631782183ull :
1344           sort_indices<6,1,4,3,0,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1345         case 1631782693ull :
1346           sort_indices<6,1,4,3,0,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1347         case 1631912743ull :
1348           sort_indices<6,1,4,5,0,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1349         case 1631913763ull :
1350           sort_indices<6,1,4,5,0,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1351         case 1632043813ull :
1352           sort_indices<6,1,4,7,0,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1353         case 1632044323ull :
1354           sort_indices<6,1,4,7,0,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1355         case 1665205543ull :
1356           sort_indices<6,3,4,1,0,5,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1357         case 1665206053ull :
1358           sort_indices<6,3,4,1,0,7,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1359         case 1665466663ull :
1360           sort_indices<6,3,4,5,0,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1361         case 1665468193ull :
1362           sort_indices<6,3,4,5,0,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1363         case 1665597733ull :
1364           sort_indices<6,3,4,7,0,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1365         case 1665598753ull :
1366           sort_indices<6,3,4,7,0,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1367         case 1698759463ull :
1368           sort_indices<6,5,4,1,0,3,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1369         case 1698760483ull :
1370           sort_indices<6,5,4,1,0,7,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1371         case 1698890023ull :
1372           sort_indices<6,5,4,3,0,1,2,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1373         case 1698891553ull :
1374           sort_indices<6,5,4,3,0,7,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1375         case 1699152163ull :
1376           sort_indices<6,5,4,7,0,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1377         case 1699152673ull :
1378           sort_indices<6,5,4,7,0,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1379         case 1732313893ull :
1380           sort_indices<6,7,4,1,0,3,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1381         case 1732314403ull :
1382           sort_indices<6,7,4,1,0,5,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1383         case 1732444453ull :
1384           sort_indices<6,7,4,3,0,1,2,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1385         case 1732445473ull :
1386           sort_indices<6,7,4,3,0,5,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1387         case 1732575523ull :
1388           sort_indices<6,7,4,5,0,1,2,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1389         case 1732576033ull :
1390           sort_indices<6,7,4,5,0,3,2,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1391         case 1631790343ull :
1392           sort_indices<6,1,4,3,2,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1393         case 1631790853ull :
1394           sort_indices<6,1,4,3,2,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1395         case 1631920903ull :
1396           sort_indices<6,1,4,5,2,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1397         case 1631921923ull :
1398           sort_indices<6,1,4,5,2,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1399         case 1632051973ull :
1400           sort_indices<6,1,4,7,2,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1401         case 1632052483ull :
1402           sort_indices<6,1,4,7,2,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1403         case 1665213703ull :
1404           sort_indices<6,3,4,1,2,5,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1405         case 1665214213ull :
1406           sort_indices<6,3,4,1,2,7,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1407         case 1665474823ull :
1408           sort_indices<6,3,4,5,2,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1409         case 1665476353ull :
1410           sort_indices<6,3,4,5,2,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1411         case 1665605893ull :
1412           sort_indices<6,3,4,7,2,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1413         case 1665606913ull :
1414           sort_indices<6,3,4,7,2,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1415         case 1698767623ull :
1416           sort_indices<6,5,4,1,2,3,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1417         case 1698768643ull :
1418           sort_indices<6,5,4,1,2,7,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1419         case 1698898183ull :
1420           sort_indices<6,5,4,3,2,1,0,7,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1421         case 1698899713ull :
1422           sort_indices<6,5,4,3,2,7,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1423         case 1699160323ull :
1424           sort_indices<6,5,4,7,2,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1425         case 1699160833ull :
1426           sort_indices<6,5,4,7,2,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1427         case 1732322053ull :
1428           sort_indices<6,7,4,1,2,3,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1429         case 1732322563ull :
1430           sort_indices<6,7,4,1,2,5,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1431         case 1732452613ull :
1432           sort_indices<6,7,4,3,2,1,0,5,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1433         case 1732453633ull :
1434           sort_indices<6,7,4,3,2,5,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1435         case 1732583683ull :
1436           sort_indices<6,7,4,5,2,1,0,3,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1437         case 1732584193ull :
1438           sort_indices<6,7,4,5,2,3,0,1,0,1,1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1439         default:
1440           throw std::logic_error("This case has not been implemented in prim_op_var.h");
1441     }
1442   }
1443   else if (std::abs(-1.0-a) < numerical_zero__ && std::abs(b) < numerical_zero__) {
1444     switch (tag) {
1445         case 19088743ull :
1446           sort_indices<0,1,2,3,4,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1447         case 19089253ull :
1448           sort_indices<0,1,2,3,4,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1449         case 19219303ull :
1450           sort_indices<0,1,2,5,4,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1451         case 19220323ull :
1452           sort_indices<0,1,2,5,4,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1453         case 19350373ull :
1454           sort_indices<0,1,2,7,4,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1455         case 19350883ull :
1456           sort_indices<0,1,2,7,4,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1457         case 52512103ull :
1458           sort_indices<0,3,2,1,4,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1459         case 52512613ull :
1460           sort_indices<0,3,2,1,4,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1461         case 52773223ull :
1462           sort_indices<0,3,2,5,4,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1463         case 52774753ull :
1464           sort_indices<0,3,2,5,4,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1465         case 52904293ull :
1466           sort_indices<0,3,2,7,4,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1467         case 52905313ull :
1468           sort_indices<0,3,2,7,4,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1469         case 86066023ull :
1470           sort_indices<0,5,2,1,4,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1471         case 86067043ull :
1472           sort_indices<0,5,2,1,4,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1473         case 86196583ull :
1474           sort_indices<0,5,2,3,4,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1475         case 86198113ull :
1476           sort_indices<0,5,2,3,4,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1477         case 86458723ull :
1478           sort_indices<0,5,2,7,4,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1479         case 86459233ull :
1480           sort_indices<0,5,2,7,4,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1481         case 119620453ull :
1482           sort_indices<0,7,2,1,4,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1483         case 119620963ull :
1484           sort_indices<0,7,2,1,4,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1485         case 119751013ull :
1486           sort_indices<0,7,2,3,4,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1487         case 119752033ull :
1488           sort_indices<0,7,2,3,4,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1489         case 119882083ull :
1490           sort_indices<0,7,2,5,4,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1491         case 119882593ull :
1492           sort_indices<0,7,2,5,4,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1493         case 19096903ull :
1494           sort_indices<0,1,2,3,6,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1495         case 19097413ull :
1496           sort_indices<0,1,2,3,6,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1497         case 19227463ull :
1498           sort_indices<0,1,2,5,6,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1499         case 19228483ull :
1500           sort_indices<0,1,2,5,6,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1501         case 19358533ull :
1502           sort_indices<0,1,2,7,6,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1503         case 19359043ull :
1504           sort_indices<0,1,2,7,6,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1505         case 52520263ull :
1506           sort_indices<0,3,2,1,6,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1507         case 52520773ull :
1508           sort_indices<0,3,2,1,6,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1509         case 52781383ull :
1510           sort_indices<0,3,2,5,6,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1511         case 52782913ull :
1512           sort_indices<0,3,2,5,6,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1513         case 52912453ull :
1514           sort_indices<0,3,2,7,6,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1515         case 52913473ull :
1516           sort_indices<0,3,2,7,6,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1517         case 86074183ull :
1518           sort_indices<0,5,2,1,6,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1519         case 86075203ull :
1520           sort_indices<0,5,2,1,6,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1521         case 86204743ull :
1522           sort_indices<0,5,2,3,6,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1523         case 86206273ull :
1524           sort_indices<0,5,2,3,6,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1525         case 86466883ull :
1526           sort_indices<0,5,2,7,6,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1527         case 86467393ull :
1528           sort_indices<0,5,2,7,6,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1529         case 119628613ull :
1530           sort_indices<0,7,2,1,6,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1531         case 119629123ull :
1532           sort_indices<0,7,2,1,6,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1533         case 119759173ull :
1534           sort_indices<0,7,2,3,6,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1535         case 119760193ull :
1536           sort_indices<0,7,2,3,6,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1537         case 119890243ull :
1538           sort_indices<0,7,2,5,6,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1539         case 119890753ull :
1540           sort_indices<0,7,2,5,6,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1541         case 21177703ull :
1542           sort_indices<0,1,4,3,2,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1543         case 21178213ull :
1544           sort_indices<0,1,4,3,2,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1545         case 21308263ull :
1546           sort_indices<0,1,4,5,2,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1547         case 21309283ull :
1548           sort_indices<0,1,4,5,2,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1549         case 21439333ull :
1550           sort_indices<0,1,4,7,2,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1551         case 21439843ull :
1552           sort_indices<0,1,4,7,2,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1553         case 54601063ull :
1554           sort_indices<0,3,4,1,2,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1555         case 54601573ull :
1556           sort_indices<0,3,4,1,2,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1557         case 54862183ull :
1558           sort_indices<0,3,4,5,2,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1559         case 54863713ull :
1560           sort_indices<0,3,4,5,2,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1561         case 54993253ull :
1562           sort_indices<0,3,4,7,2,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1563         case 54994273ull :
1564           sort_indices<0,3,4,7,2,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1565         case 88154983ull :
1566           sort_indices<0,5,4,1,2,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1567         case 88156003ull :
1568           sort_indices<0,5,4,1,2,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1569         case 88285543ull :
1570           sort_indices<0,5,4,3,2,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1571         case 88287073ull :
1572           sort_indices<0,5,4,3,2,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1573         case 88547683ull :
1574           sort_indices<0,5,4,7,2,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1575         case 88548193ull :
1576           sort_indices<0,5,4,7,2,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1577         case 121709413ull :
1578           sort_indices<0,7,4,1,2,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1579         case 121709923ull :
1580           sort_indices<0,7,4,1,2,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1581         case 121839973ull :
1582           sort_indices<0,7,4,3,2,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1583         case 121840993ull :
1584           sort_indices<0,7,4,3,2,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1585         case 121971043ull :
1586           sort_indices<0,7,4,5,2,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1587         case 121971553ull :
1588           sort_indices<0,7,4,5,2,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1589         case 21194023ull :
1590           sort_indices<0,1,4,3,6,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1591         case 21194533ull :
1592           sort_indices<0,1,4,3,6,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1593         case 21324583ull :
1594           sort_indices<0,1,4,5,6,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1595         case 21325603ull :
1596           sort_indices<0,1,4,5,6,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1597         case 21455653ull :
1598           sort_indices<0,1,4,7,6,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1599         case 21456163ull :
1600           sort_indices<0,1,4,7,6,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1601         case 54617383ull :
1602           sort_indices<0,3,4,1,6,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1603         case 54617893ull :
1604           sort_indices<0,3,4,1,6,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1605         case 54878503ull :
1606           sort_indices<0,3,4,5,6,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1607         case 54880033ull :
1608           sort_indices<0,3,4,5,6,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1609         case 55009573ull :
1610           sort_indices<0,3,4,7,6,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1611         case 55010593ull :
1612           sort_indices<0,3,4,7,6,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1613         case 88171303ull :
1614           sort_indices<0,5,4,1,6,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1615         case 88172323ull :
1616           sort_indices<0,5,4,1,6,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1617         case 88301863ull :
1618           sort_indices<0,5,4,3,6,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1619         case 88303393ull :
1620           sort_indices<0,5,4,3,6,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1621         case 88564003ull :
1622           sort_indices<0,5,4,7,6,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1623         case 88564513ull :
1624           sort_indices<0,5,4,7,6,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1625         case 121725733ull :
1626           sort_indices<0,7,4,1,6,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1627         case 121726243ull :
1628           sort_indices<0,7,4,1,6,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1629         case 121856293ull :
1630           sort_indices<0,7,4,3,6,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1631         case 121857313ull :
1632           sort_indices<0,7,4,3,6,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1633         case 121987363ull :
1634           sort_indices<0,7,4,5,6,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1635         case 121987873ull :
1636           sort_indices<0,7,4,5,6,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1637         case 23274823ull :
1638           sort_indices<0,1,6,3,2,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1639         case 23275333ull :
1640           sort_indices<0,1,6,3,2,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1641         case 23405383ull :
1642           sort_indices<0,1,6,5,2,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1643         case 23406403ull :
1644           sort_indices<0,1,6,5,2,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1645         case 23536453ull :
1646           sort_indices<0,1,6,7,2,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1647         case 23536963ull :
1648           sort_indices<0,1,6,7,2,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1649         case 56698183ull :
1650           sort_indices<0,3,6,1,2,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1651         case 56698693ull :
1652           sort_indices<0,3,6,1,2,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1653         case 56959303ull :
1654           sort_indices<0,3,6,5,2,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1655         case 56960833ull :
1656           sort_indices<0,3,6,5,2,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1657         case 57090373ull :
1658           sort_indices<0,3,6,7,2,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1659         case 57091393ull :
1660           sort_indices<0,3,6,7,2,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1661         case 90252103ull :
1662           sort_indices<0,5,6,1,2,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1663         case 90253123ull :
1664           sort_indices<0,5,6,1,2,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1665         case 90382663ull :
1666           sort_indices<0,5,6,3,2,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1667         case 90384193ull :
1668           sort_indices<0,5,6,3,2,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1669         case 90644803ull :
1670           sort_indices<0,5,6,7,2,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1671         case 90645313ull :
1672           sort_indices<0,5,6,7,2,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1673         case 123806533ull :
1674           sort_indices<0,7,6,1,2,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1675         case 123807043ull :
1676           sort_indices<0,7,6,1,2,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1677         case 123937093ull :
1678           sort_indices<0,7,6,3,2,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1679         case 123938113ull :
1680           sort_indices<0,7,6,3,2,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1681         case 124068163ull :
1682           sort_indices<0,7,6,5,2,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1683         case 124068673ull :
1684           sort_indices<0,7,6,5,2,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1685         case 23282983ull :
1686           sort_indices<0,1,6,3,4,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1687         case 23283493ull :
1688           sort_indices<0,1,6,3,4,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1689         case 23413543ull :
1690           sort_indices<0,1,6,5,4,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1691         case 23414563ull :
1692           sort_indices<0,1,6,5,4,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1693         case 23544613ull :
1694           sort_indices<0,1,6,7,4,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1695         case 23545123ull :
1696           sort_indices<0,1,6,7,4,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1697         case 56706343ull :
1698           sort_indices<0,3,6,1,4,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1699         case 56706853ull :
1700           sort_indices<0,3,6,1,4,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1701         case 56967463ull :
1702           sort_indices<0,3,6,5,4,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1703         case 56968993ull :
1704           sort_indices<0,3,6,5,4,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1705         case 57098533ull :
1706           sort_indices<0,3,6,7,4,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1707         case 57099553ull :
1708           sort_indices<0,3,6,7,4,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1709         case 90260263ull :
1710           sort_indices<0,5,6,1,4,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1711         case 90261283ull :
1712           sort_indices<0,5,6,1,4,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1713         case 90390823ull :
1714           sort_indices<0,5,6,3,4,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1715         case 90392353ull :
1716           sort_indices<0,5,6,3,4,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1717         case 90652963ull :
1718           sort_indices<0,5,6,7,4,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1719         case 90653473ull :
1720           sort_indices<0,5,6,7,4,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1721         case 123814693ull :
1722           sort_indices<0,7,6,1,4,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1723         case 123815203ull :
1724           sort_indices<0,7,6,1,4,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1725         case 123945253ull :
1726           sort_indices<0,7,6,3,4,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1727         case 123946273ull :
1728           sort_indices<0,7,6,3,4,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1729         case 124076323ull :
1730           sort_indices<0,7,6,5,4,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1731         case 124076833ull :
1732           sort_indices<0,7,6,5,4,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1733         case 553862503ull :
1734           sort_indices<2,1,0,3,4,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1735         case 553863013ull :
1736           sort_indices<2,1,0,3,4,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1737         case 553993063ull :
1738           sort_indices<2,1,0,5,4,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1739         case 553994083ull :
1740           sort_indices<2,1,0,5,4,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1741         case 554124133ull :
1742           sort_indices<2,1,0,7,4,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1743         case 554124643ull :
1744           sort_indices<2,1,0,7,4,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1745         case 587285863ull :
1746           sort_indices<2,3,0,1,4,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1747         case 587286373ull :
1748           sort_indices<2,3,0,1,4,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1749         case 587546983ull :
1750           sort_indices<2,3,0,5,4,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1751         case 587548513ull :
1752           sort_indices<2,3,0,5,4,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1753         case 587678053ull :
1754           sort_indices<2,3,0,7,4,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1755         case 587679073ull :
1756           sort_indices<2,3,0,7,4,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1757         case 620839783ull :
1758           sort_indices<2,5,0,1,4,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1759         case 620840803ull :
1760           sort_indices<2,5,0,1,4,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1761         case 620970343ull :
1762           sort_indices<2,5,0,3,4,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1763         case 620971873ull :
1764           sort_indices<2,5,0,3,4,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1765         case 621232483ull :
1766           sort_indices<2,5,0,7,4,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1767         case 621232993ull :
1768           sort_indices<2,5,0,7,4,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1769         case 654394213ull :
1770           sort_indices<2,7,0,1,4,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1771         case 654394723ull :
1772           sort_indices<2,7,0,1,4,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1773         case 654524773ull :
1774           sort_indices<2,7,0,3,4,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1775         case 654525793ull :
1776           sort_indices<2,7,0,3,4,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1777         case 654655843ull :
1778           sort_indices<2,7,0,5,4,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1779         case 654656353ull :
1780           sort_indices<2,7,0,5,4,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1781         case 553870663ull :
1782           sort_indices<2,1,0,3,6,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1783         case 553871173ull :
1784           sort_indices<2,1,0,3,6,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1785         case 554001223ull :
1786           sort_indices<2,1,0,5,6,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1787         case 554002243ull :
1788           sort_indices<2,1,0,5,6,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1789         case 554132293ull :
1790           sort_indices<2,1,0,7,6,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1791         case 554132803ull :
1792           sort_indices<2,1,0,7,6,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1793         case 587294023ull :
1794           sort_indices<2,3,0,1,6,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1795         case 587294533ull :
1796           sort_indices<2,3,0,1,6,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1797         case 587555143ull :
1798           sort_indices<2,3,0,5,6,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1799         case 587556673ull :
1800           sort_indices<2,3,0,5,6,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1801         case 587686213ull :
1802           sort_indices<2,3,0,7,6,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1803         case 587687233ull :
1804           sort_indices<2,3,0,7,6,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1805         case 620847943ull :
1806           sort_indices<2,5,0,1,6,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1807         case 620848963ull :
1808           sort_indices<2,5,0,1,6,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1809         case 620978503ull :
1810           sort_indices<2,5,0,3,6,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1811         case 620980033ull :
1812           sort_indices<2,5,0,3,6,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1813         case 621240643ull :
1814           sort_indices<2,5,0,7,6,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1815         case 621241153ull :
1816           sort_indices<2,5,0,7,6,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1817         case 654402373ull :
1818           sort_indices<2,7,0,1,6,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1819         case 654402883ull :
1820           sort_indices<2,7,0,1,6,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1821         case 654532933ull :
1822           sort_indices<2,7,0,3,6,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1823         case 654533953ull :
1824           sort_indices<2,7,0,3,6,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1825         case 654664003ull :
1826           sort_indices<2,7,0,5,6,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1827         case 654664513ull :
1828           sort_indices<2,7,0,5,6,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1829         case 558040423ull :
1830           sort_indices<2,1,4,3,0,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1831         case 558040933ull :
1832           sort_indices<2,1,4,3,0,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1833         case 558170983ull :
1834           sort_indices<2,1,4,5,0,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1835         case 558172003ull :
1836           sort_indices<2,1,4,5,0,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1837         case 558302053ull :
1838           sort_indices<2,1,4,7,0,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1839         case 558302563ull :
1840           sort_indices<2,1,4,7,0,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1841         case 591463783ull :
1842           sort_indices<2,3,4,1,0,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1843         case 591464293ull :
1844           sort_indices<2,3,4,1,0,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1845         case 591724903ull :
1846           sort_indices<2,3,4,5,0,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1847         case 591726433ull :
1848           sort_indices<2,3,4,5,0,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1849         case 591855973ull :
1850           sort_indices<2,3,4,7,0,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1851         case 591856993ull :
1852           sort_indices<2,3,4,7,0,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1853         case 625017703ull :
1854           sort_indices<2,5,4,1,0,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1855         case 625018723ull :
1856           sort_indices<2,5,4,1,0,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1857         case 625148263ull :
1858           sort_indices<2,5,4,3,0,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1859         case 625149793ull :
1860           sort_indices<2,5,4,3,0,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1861         case 625410403ull :
1862           sort_indices<2,5,4,7,0,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1863         case 625410913ull :
1864           sort_indices<2,5,4,7,0,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1865         case 658572133ull :
1866           sort_indices<2,7,4,1,0,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1867         case 658572643ull :
1868           sort_indices<2,7,4,1,0,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1869         case 658702693ull :
1870           sort_indices<2,7,4,3,0,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1871         case 658703713ull :
1872           sort_indices<2,7,4,3,0,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1873         case 658833763ull :
1874           sort_indices<2,7,4,5,0,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1875         case 658834273ull :
1876           sort_indices<2,7,4,5,0,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1877         case 558064903ull :
1878           sort_indices<2,1,4,3,6,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1879         case 558065413ull :
1880           sort_indices<2,1,4,3,6,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1881         case 558195463ull :
1882           sort_indices<2,1,4,5,6,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1883         case 558196483ull :
1884           sort_indices<2,1,4,5,6,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1885         case 558326533ull :
1886           sort_indices<2,1,4,7,6,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1887         case 558327043ull :
1888           sort_indices<2,1,4,7,6,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1889         case 591488263ull :
1890           sort_indices<2,3,4,1,6,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1891         case 591488773ull :
1892           sort_indices<2,3,4,1,6,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1893         case 591749383ull :
1894           sort_indices<2,3,4,5,6,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1895         case 591750913ull :
1896           sort_indices<2,3,4,5,6,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1897         case 591880453ull :
1898           sort_indices<2,3,4,7,6,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1899         case 591881473ull :
1900           sort_indices<2,3,4,7,6,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1901         case 625042183ull :
1902           sort_indices<2,5,4,1,6,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1903         case 625043203ull :
1904           sort_indices<2,5,4,1,6,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1905         case 625172743ull :
1906           sort_indices<2,5,4,3,6,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1907         case 625174273ull :
1908           sort_indices<2,5,4,3,6,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1909         case 625434883ull :
1910           sort_indices<2,5,4,7,6,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1911         case 625435393ull :
1912           sort_indices<2,5,4,7,6,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1913         case 658596613ull :
1914           sort_indices<2,7,4,1,6,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1915         case 658597123ull :
1916           sort_indices<2,7,4,1,6,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1917         case 658727173ull :
1918           sort_indices<2,7,4,3,6,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1919         case 658728193ull :
1920           sort_indices<2,7,4,3,6,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1921         case 658858243ull :
1922           sort_indices<2,7,4,5,6,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1923         case 658858753ull :
1924           sort_indices<2,7,4,5,6,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1925         case 560137543ull :
1926           sort_indices<2,1,6,3,0,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1927         case 560138053ull :
1928           sort_indices<2,1,6,3,0,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1929         case 560268103ull :
1930           sort_indices<2,1,6,5,0,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1931         case 560269123ull :
1932           sort_indices<2,1,6,5,0,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1933         case 560399173ull :
1934           sort_indices<2,1,6,7,0,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1935         case 560399683ull :
1936           sort_indices<2,1,6,7,0,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1937         case 593560903ull :
1938           sort_indices<2,3,6,1,0,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1939         case 593561413ull :
1940           sort_indices<2,3,6,1,0,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1941         case 593822023ull :
1942           sort_indices<2,3,6,5,0,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1943         case 593823553ull :
1944           sort_indices<2,3,6,5,0,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1945         case 593953093ull :
1946           sort_indices<2,3,6,7,0,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1947         case 593954113ull :
1948           sort_indices<2,3,6,7,0,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1949         case 627114823ull :
1950           sort_indices<2,5,6,1,0,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1951         case 627115843ull :
1952           sort_indices<2,5,6,1,0,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1953         case 627245383ull :
1954           sort_indices<2,5,6,3,0,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1955         case 627246913ull :
1956           sort_indices<2,5,6,3,0,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1957         case 627507523ull :
1958           sort_indices<2,5,6,7,0,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1959         case 627508033ull :
1960           sort_indices<2,5,6,7,0,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1961         case 660669253ull :
1962           sort_indices<2,7,6,1,0,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1963         case 660669763ull :
1964           sort_indices<2,7,6,1,0,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1965         case 660799813ull :
1966           sort_indices<2,7,6,3,0,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1967         case 660800833ull :
1968           sort_indices<2,7,6,3,0,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1969         case 660930883ull :
1970           sort_indices<2,7,6,5,0,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1971         case 660931393ull :
1972           sort_indices<2,7,6,5,0,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1973         case 560153863ull :
1974           sort_indices<2,1,6,3,4,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1975         case 560154373ull :
1976           sort_indices<2,1,6,3,4,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1977         case 560284423ull :
1978           sort_indices<2,1,6,5,4,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1979         case 560285443ull :
1980           sort_indices<2,1,6,5,4,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1981         case 560415493ull :
1982           sort_indices<2,1,6,7,4,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1983         case 560416003ull :
1984           sort_indices<2,1,6,7,4,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1985         case 593577223ull :
1986           sort_indices<2,3,6,1,4,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1987         case 593577733ull :
1988           sort_indices<2,3,6,1,4,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1989         case 593838343ull :
1990           sort_indices<2,3,6,5,4,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1991         case 593839873ull :
1992           sort_indices<2,3,6,5,4,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1993         case 593969413ull :
1994           sort_indices<2,3,6,7,4,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1995         case 593970433ull :
1996           sort_indices<2,3,6,7,4,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1997         case 627131143ull :
1998           sort_indices<2,5,6,1,4,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
1999         case 627132163ull :
2000           sort_indices<2,5,6,1,4,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2001         case 627261703ull :
2002           sort_indices<2,5,6,3,4,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2003         case 627263233ull :
2004           sort_indices<2,5,6,3,4,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2005         case 627523843ull :
2006           sort_indices<2,5,6,7,4,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2007         case 627524353ull :
2008           sort_indices<2,5,6,7,4,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2009         case 660685573ull :
2010           sort_indices<2,7,6,1,4,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2011         case 660686083ull :
2012           sort_indices<2,7,6,1,4,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2013         case 660816133ull :
2014           sort_indices<2,7,6,3,4,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2015         case 660817153ull :
2016           sort_indices<2,7,6,3,4,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2017         case 660947203ull :
2018           sort_indices<2,7,6,5,4,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2019         case 660947713ull :
2020           sort_indices<2,7,6,5,4,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2021         case 1090725223ull :
2022           sort_indices<4,1,0,3,2,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2023         case 1090725733ull :
2024           sort_indices<4,1,0,3,2,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2025         case 1090855783ull :
2026           sort_indices<4,1,0,5,2,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2027         case 1090856803ull :
2028           sort_indices<4,1,0,5,2,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2029         case 1090986853ull :
2030           sort_indices<4,1,0,7,2,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2031         case 1090987363ull :
2032           sort_indices<4,1,0,7,2,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2033         case 1124148583ull :
2034           sort_indices<4,3,0,1,2,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2035         case 1124149093ull :
2036           sort_indices<4,3,0,1,2,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2037         case 1124409703ull :
2038           sort_indices<4,3,0,5,2,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2039         case 1124411233ull :
2040           sort_indices<4,3,0,5,2,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2041         case 1124540773ull :
2042           sort_indices<4,3,0,7,2,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2043         case 1124541793ull :
2044           sort_indices<4,3,0,7,2,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2045         case 1157702503ull :
2046           sort_indices<4,5,0,1,2,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2047         case 1157703523ull :
2048           sort_indices<4,5,0,1,2,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2049         case 1157833063ull :
2050           sort_indices<4,5,0,3,2,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2051         case 1157834593ull :
2052           sort_indices<4,5,0,3,2,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2053         case 1158095203ull :
2054           sort_indices<4,5,0,7,2,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2055         case 1158095713ull :
2056           sort_indices<4,5,0,7,2,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2057         case 1191256933ull :
2058           sort_indices<4,7,0,1,2,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2059         case 1191257443ull :
2060           sort_indices<4,7,0,1,2,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2061         case 1191387493ull :
2062           sort_indices<4,7,0,3,2,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2063         case 1191388513ull :
2064           sort_indices<4,7,0,3,2,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2065         case 1191518563ull :
2066           sort_indices<4,7,0,5,2,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2067         case 1191519073ull :
2068           sort_indices<4,7,0,5,2,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2069         case 1090741543ull :
2070           sort_indices<4,1,0,3,6,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2071         case 1090742053ull :
2072           sort_indices<4,1,0,3,6,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2073         case 1090872103ull :
2074           sort_indices<4,1,0,5,6,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2075         case 1090873123ull :
2076           sort_indices<4,1,0,5,6,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2077         case 1091003173ull :
2078           sort_indices<4,1,0,7,6,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2079         case 1091003683ull :
2080           sort_indices<4,1,0,7,6,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2081         case 1124164903ull :
2082           sort_indices<4,3,0,1,6,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2083         case 1124165413ull :
2084           sort_indices<4,3,0,1,6,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2085         case 1124426023ull :
2086           sort_indices<4,3,0,5,6,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2087         case 1124427553ull :
2088           sort_indices<4,3,0,5,6,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2089         case 1124557093ull :
2090           sort_indices<4,3,0,7,6,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2091         case 1124558113ull :
2092           sort_indices<4,3,0,7,6,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2093         case 1157718823ull :
2094           sort_indices<4,5,0,1,6,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2095         case 1157719843ull :
2096           sort_indices<4,5,0,1,6,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2097         case 1157849383ull :
2098           sort_indices<4,5,0,3,6,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2099         case 1157850913ull :
2100           sort_indices<4,5,0,3,6,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2101         case 1158111523ull :
2102           sort_indices<4,5,0,7,6,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2103         case 1158112033ull :
2104           sort_indices<4,5,0,7,6,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2105         case 1191273253ull :
2106           sort_indices<4,7,0,1,6,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2107         case 1191273763ull :
2108           sort_indices<4,7,0,1,6,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2109         case 1191403813ull :
2110           sort_indices<4,7,0,3,6,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2111         case 1191404833ull :
2112           sort_indices<4,7,0,3,6,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2113         case 1191534883ull :
2114           sort_indices<4,7,0,5,6,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2115         case 1191535393ull :
2116           sort_indices<4,7,0,5,6,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2117         case 1092814183ull :
2118           sort_indices<4,1,2,3,0,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2119         case 1092814693ull :
2120           sort_indices<4,1,2,3,0,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2121         case 1092944743ull :
2122           sort_indices<4,1,2,5,0,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2123         case 1092945763ull :
2124           sort_indices<4,1,2,5,0,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2125         case 1093075813ull :
2126           sort_indices<4,1,2,7,0,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2127         case 1093076323ull :
2128           sort_indices<4,1,2,7,0,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2129         case 1126237543ull :
2130           sort_indices<4,3,2,1,0,5,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2131         case 1126238053ull :
2132           sort_indices<4,3,2,1,0,7,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2133         case 1126498663ull :
2134           sort_indices<4,3,2,5,0,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2135         case 1126500193ull :
2136           sort_indices<4,3,2,5,0,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2137         case 1126629733ull :
2138           sort_indices<4,3,2,7,0,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2139         case 1126630753ull :
2140           sort_indices<4,3,2,7,0,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2141         case 1159791463ull :
2142           sort_indices<4,5,2,1,0,3,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2143         case 1159792483ull :
2144           sort_indices<4,5,2,1,0,7,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2145         case 1159922023ull :
2146           sort_indices<4,5,2,3,0,1,6,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2147         case 1159923553ull :
2148           sort_indices<4,5,2,3,0,7,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2149         case 1160184163ull :
2150           sort_indices<4,5,2,7,0,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2151         case 1160184673ull :
2152           sort_indices<4,5,2,7,0,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2153         case 1193345893ull :
2154           sort_indices<4,7,2,1,0,3,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2155         case 1193346403ull :
2156           sort_indices<4,7,2,1,0,5,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2157         case 1193476453ull :
2158           sort_indices<4,7,2,3,0,1,6,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2159         case 1193477473ull :
2160           sort_indices<4,7,2,3,0,5,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2161         case 1193607523ull :
2162           sort_indices<4,7,2,5,0,1,6,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2163         case 1193608033ull :
2164           sort_indices<4,7,2,5,0,3,6,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2165         case 1092838663ull :
2166           sort_indices<4,1,2,3,6,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2167         case 1092839173ull :
2168           sort_indices<4,1,2,3,6,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2169         case 1092969223ull :
2170           sort_indices<4,1,2,5,6,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2171         case 1092970243ull :
2172           sort_indices<4,1,2,5,6,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2173         case 1093100293ull :
2174           sort_indices<4,1,2,7,6,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2175         case 1093100803ull :
2176           sort_indices<4,1,2,7,6,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2177         case 1126262023ull :
2178           sort_indices<4,3,2,1,6,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2179         case 1126262533ull :
2180           sort_indices<4,3,2,1,6,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2181         case 1126523143ull :
2182           sort_indices<4,3,2,5,6,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2183         case 1126524673ull :
2184           sort_indices<4,3,2,5,6,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2185         case 1126654213ull :
2186           sort_indices<4,3,2,7,6,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2187         case 1126655233ull :
2188           sort_indices<4,3,2,7,6,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2189         case 1159815943ull :
2190           sort_indices<4,5,2,1,6,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2191         case 1159816963ull :
2192           sort_indices<4,5,2,1,6,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2193         case 1159946503ull :
2194           sort_indices<4,5,2,3,6,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2195         case 1159948033ull :
2196           sort_indices<4,5,2,3,6,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2197         case 1160208643ull :
2198           sort_indices<4,5,2,7,6,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2199         case 1160209153ull :
2200           sort_indices<4,5,2,7,6,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2201         case 1193370373ull :
2202           sort_indices<4,7,2,1,6,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2203         case 1193370883ull :
2204           sort_indices<4,7,2,1,6,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2205         case 1193500933ull :
2206           sort_indices<4,7,2,3,6,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2207         case 1193501953ull :
2208           sort_indices<4,7,2,3,6,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2209         case 1193632003ull :
2210           sort_indices<4,7,2,5,6,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2211         case 1193632513ull :
2212           sort_indices<4,7,2,5,6,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2213         case 1097008423ull :
2214           sort_indices<4,1,6,3,0,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2215         case 1097008933ull :
2216           sort_indices<4,1,6,3,0,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2217         case 1097138983ull :
2218           sort_indices<4,1,6,5,0,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2219         case 1097140003ull :
2220           sort_indices<4,1,6,5,0,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2221         case 1097270053ull :
2222           sort_indices<4,1,6,7,0,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2223         case 1097270563ull :
2224           sort_indices<4,1,6,7,0,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2225         case 1130431783ull :
2226           sort_indices<4,3,6,1,0,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2227         case 1130432293ull :
2228           sort_indices<4,3,6,1,0,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2229         case 1130692903ull :
2230           sort_indices<4,3,6,5,0,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2231         case 1130694433ull :
2232           sort_indices<4,3,6,5,0,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2233         case 1130823973ull :
2234           sort_indices<4,3,6,7,0,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2235         case 1130824993ull :
2236           sort_indices<4,3,6,7,0,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2237         case 1163985703ull :
2238           sort_indices<4,5,6,1,0,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2239         case 1163986723ull :
2240           sort_indices<4,5,6,1,0,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2241         case 1164116263ull :
2242           sort_indices<4,5,6,3,0,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2243         case 1164117793ull :
2244           sort_indices<4,5,6,3,0,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2245         case 1164378403ull :
2246           sort_indices<4,5,6,7,0,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2247         case 1164378913ull :
2248           sort_indices<4,5,6,7,0,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2249         case 1197540133ull :
2250           sort_indices<4,7,6,1,0,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2251         case 1197540643ull :
2252           sort_indices<4,7,6,1,0,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2253         case 1197670693ull :
2254           sort_indices<4,7,6,3,0,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2255         case 1197671713ull :
2256           sort_indices<4,7,6,3,0,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2257         case 1197801763ull :
2258           sort_indices<4,7,6,5,0,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2259         case 1197802273ull :
2260           sort_indices<4,7,6,5,0,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2261         case 1097016583ull :
2262           sort_indices<4,1,6,3,2,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2263         case 1097017093ull :
2264           sort_indices<4,1,6,3,2,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2265         case 1097147143ull :
2266           sort_indices<4,1,6,5,2,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2267         case 1097148163ull :
2268           sort_indices<4,1,6,5,2,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2269         case 1097278213ull :
2270           sort_indices<4,1,6,7,2,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2271         case 1097278723ull :
2272           sort_indices<4,1,6,7,2,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2273         case 1130439943ull :
2274           sort_indices<4,3,6,1,2,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2275         case 1130440453ull :
2276           sort_indices<4,3,6,1,2,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2277         case 1130701063ull :
2278           sort_indices<4,3,6,5,2,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2279         case 1130702593ull :
2280           sort_indices<4,3,6,5,2,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2281         case 1130832133ull :
2282           sort_indices<4,3,6,7,2,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2283         case 1130833153ull :
2284           sort_indices<4,3,6,7,2,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2285         case 1163993863ull :
2286           sort_indices<4,5,6,1,2,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2287         case 1163994883ull :
2288           sort_indices<4,5,6,1,2,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2289         case 1164124423ull :
2290           sort_indices<4,5,6,3,2,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2291         case 1164125953ull :
2292           sort_indices<4,5,6,3,2,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2293         case 1164386563ull :
2294           sort_indices<4,5,6,7,2,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2295         case 1164387073ull :
2296           sort_indices<4,5,6,7,2,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2297         case 1197548293ull :
2298           sort_indices<4,7,6,1,2,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2299         case 1197548803ull :
2300           sort_indices<4,7,6,1,2,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2301         case 1197678853ull :
2302           sort_indices<4,7,6,3,2,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2303         case 1197679873ull :
2304           sort_indices<4,7,6,3,2,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2305         case 1197809923ull :
2306           sort_indices<4,7,6,5,2,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2307         case 1197810433ull :
2308           sort_indices<4,7,6,5,2,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2309         case 1627596103ull :
2310           sort_indices<6,1,0,3,2,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2311         case 1627596613ull :
2312           sort_indices<6,1,0,3,2,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2313         case 1627726663ull :
2314           sort_indices<6,1,0,5,2,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2315         case 1627727683ull :
2316           sort_indices<6,1,0,5,2,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2317         case 1627857733ull :
2318           sort_indices<6,1,0,7,2,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2319         case 1627858243ull :
2320           sort_indices<6,1,0,7,2,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2321         case 1661019463ull :
2322           sort_indices<6,3,0,1,2,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2323         case 1661019973ull :
2324           sort_indices<6,3,0,1,2,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2325         case 1661280583ull :
2326           sort_indices<6,3,0,5,2,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2327         case 1661282113ull :
2328           sort_indices<6,3,0,5,2,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2329         case 1661411653ull :
2330           sort_indices<6,3,0,7,2,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2331         case 1661412673ull :
2332           sort_indices<6,3,0,7,2,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2333         case 1694573383ull :
2334           sort_indices<6,5,0,1,2,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2335         case 1694574403ull :
2336           sort_indices<6,5,0,1,2,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2337         case 1694703943ull :
2338           sort_indices<6,5,0,3,2,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2339         case 1694705473ull :
2340           sort_indices<6,5,0,3,2,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2341         case 1694966083ull :
2342           sort_indices<6,5,0,7,2,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2343         case 1694966593ull :
2344           sort_indices<6,5,0,7,2,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2345         case 1728127813ull :
2346           sort_indices<6,7,0,1,2,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2347         case 1728128323ull :
2348           sort_indices<6,7,0,1,2,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2349         case 1728258373ull :
2350           sort_indices<6,7,0,3,2,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2351         case 1728259393ull :
2352           sort_indices<6,7,0,3,2,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2353         case 1728389443ull :
2354           sort_indices<6,7,0,5,2,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2355         case 1728389953ull :
2356           sort_indices<6,7,0,5,2,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2357         case 1627604263ull :
2358           sort_indices<6,1,0,3,4,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2359         case 1627604773ull :
2360           sort_indices<6,1,0,3,4,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2361         case 1627734823ull :
2362           sort_indices<6,1,0,5,4,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2363         case 1627735843ull :
2364           sort_indices<6,1,0,5,4,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2365         case 1627865893ull :
2366           sort_indices<6,1,0,7,4,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2367         case 1627866403ull :
2368           sort_indices<6,1,0,7,4,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2369         case 1661027623ull :
2370           sort_indices<6,3,0,1,4,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2371         case 1661028133ull :
2372           sort_indices<6,3,0,1,4,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2373         case 1661288743ull :
2374           sort_indices<6,3,0,5,4,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2375         case 1661290273ull :
2376           sort_indices<6,3,0,5,4,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2377         case 1661419813ull :
2378           sort_indices<6,3,0,7,4,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2379         case 1661420833ull :
2380           sort_indices<6,3,0,7,4,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2381         case 1694581543ull :
2382           sort_indices<6,5,0,1,4,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2383         case 1694582563ull :
2384           sort_indices<6,5,0,1,4,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2385         case 1694712103ull :
2386           sort_indices<6,5,0,3,4,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2387         case 1694713633ull :
2388           sort_indices<6,5,0,3,4,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2389         case 1694974243ull :
2390           sort_indices<6,5,0,7,4,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2391         case 1694974753ull :
2392           sort_indices<6,5,0,7,4,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2393         case 1728135973ull :
2394           sort_indices<6,7,0,1,4,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2395         case 1728136483ull :
2396           sort_indices<6,7,0,1,4,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2397         case 1728266533ull :
2398           sort_indices<6,7,0,3,4,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2399         case 1728267553ull :
2400           sort_indices<6,7,0,3,4,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2401         case 1728397603ull :
2402           sort_indices<6,7,0,5,4,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2403         case 1728398113ull :
2404           sort_indices<6,7,0,5,4,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2405         case 1629685063ull :
2406           sort_indices<6,1,2,3,0,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2407         case 1629685573ull :
2408           sort_indices<6,1,2,3,0,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2409         case 1629815623ull :
2410           sort_indices<6,1,2,5,0,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2411         case 1629816643ull :
2412           sort_indices<6,1,2,5,0,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2413         case 1629946693ull :
2414           sort_indices<6,1,2,7,0,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2415         case 1629947203ull :
2416           sort_indices<6,1,2,7,0,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2417         case 1663108423ull :
2418           sort_indices<6,3,2,1,0,5,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2419         case 1663108933ull :
2420           sort_indices<6,3,2,1,0,7,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2421         case 1663369543ull :
2422           sort_indices<6,3,2,5,0,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2423         case 1663371073ull :
2424           sort_indices<6,3,2,5,0,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2425         case 1663500613ull :
2426           sort_indices<6,3,2,7,0,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2427         case 1663501633ull :
2428           sort_indices<6,3,2,7,0,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2429         case 1696662343ull :
2430           sort_indices<6,5,2,1,0,3,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2431         case 1696663363ull :
2432           sort_indices<6,5,2,1,0,7,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2433         case 1696792903ull :
2434           sort_indices<6,5,2,3,0,1,4,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2435         case 1696794433ull :
2436           sort_indices<6,5,2,3,0,7,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2437         case 1697055043ull :
2438           sort_indices<6,5,2,7,0,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2439         case 1697055553ull :
2440           sort_indices<6,5,2,7,0,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2441         case 1730216773ull :
2442           sort_indices<6,7,2,1,0,3,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2443         case 1730217283ull :
2444           sort_indices<6,7,2,1,0,5,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2445         case 1730347333ull :
2446           sort_indices<6,7,2,3,0,1,4,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2447         case 1730348353ull :
2448           sort_indices<6,7,2,3,0,5,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2449         case 1730478403ull :
2450           sort_indices<6,7,2,5,0,1,4,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2451         case 1730478913ull :
2452           sort_indices<6,7,2,5,0,3,4,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2453         case 1629701383ull :
2454           sort_indices<6,1,2,3,4,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2455         case 1629701893ull :
2456           sort_indices<6,1,2,3,4,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2457         case 1629831943ull :
2458           sort_indices<6,1,2,5,4,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2459         case 1629832963ull :
2460           sort_indices<6,1,2,5,4,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2461         case 1629963013ull :
2462           sort_indices<6,1,2,7,4,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2463         case 1629963523ull :
2464           sort_indices<6,1,2,7,4,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2465         case 1663124743ull :
2466           sort_indices<6,3,2,1,4,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2467         case 1663125253ull :
2468           sort_indices<6,3,2,1,4,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2469         case 1663385863ull :
2470           sort_indices<6,3,2,5,4,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2471         case 1663387393ull :
2472           sort_indices<6,3,2,5,4,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2473         case 1663516933ull :
2474           sort_indices<6,3,2,7,4,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2475         case 1663517953ull :
2476           sort_indices<6,3,2,7,4,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2477         case 1696678663ull :
2478           sort_indices<6,5,2,1,4,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2479         case 1696679683ull :
2480           sort_indices<6,5,2,1,4,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2481         case 1696809223ull :
2482           sort_indices<6,5,2,3,4,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2483         case 1696810753ull :
2484           sort_indices<6,5,2,3,4,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2485         case 1697071363ull :
2486           sort_indices<6,5,2,7,4,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2487         case 1697071873ull :
2488           sort_indices<6,5,2,7,4,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2489         case 1730233093ull :
2490           sort_indices<6,7,2,1,4,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2491         case 1730233603ull :
2492           sort_indices<6,7,2,1,4,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2493         case 1730363653ull :
2494           sort_indices<6,7,2,3,4,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2495         case 1730364673ull :
2496           sort_indices<6,7,2,3,4,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2497         case 1730494723ull :
2498           sort_indices<6,7,2,5,4,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2499         case 1730495233ull :
2500           sort_indices<6,7,2,5,4,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2501         case 1631782183ull :
2502           sort_indices<6,1,4,3,0,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2503         case 1631782693ull :
2504           sort_indices<6,1,4,3,0,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2505         case 1631912743ull :
2506           sort_indices<6,1,4,5,0,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2507         case 1631913763ull :
2508           sort_indices<6,1,4,5,0,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2509         case 1632043813ull :
2510           sort_indices<6,1,4,7,0,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2511         case 1632044323ull :
2512           sort_indices<6,1,4,7,0,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2513         case 1665205543ull :
2514           sort_indices<6,3,4,1,0,5,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2515         case 1665206053ull :
2516           sort_indices<6,3,4,1,0,7,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2517         case 1665466663ull :
2518           sort_indices<6,3,4,5,0,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2519         case 1665468193ull :
2520           sort_indices<6,3,4,5,0,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2521         case 1665597733ull :
2522           sort_indices<6,3,4,7,0,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2523         case 1665598753ull :
2524           sort_indices<6,3,4,7,0,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2525         case 1698759463ull :
2526           sort_indices<6,5,4,1,0,3,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2527         case 1698760483ull :
2528           sort_indices<6,5,4,1,0,7,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2529         case 1698890023ull :
2530           sort_indices<6,5,4,3,0,1,2,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2531         case 1698891553ull :
2532           sort_indices<6,5,4,3,0,7,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2533         case 1699152163ull :
2534           sort_indices<6,5,4,7,0,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2535         case 1699152673ull :
2536           sort_indices<6,5,4,7,0,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2537         case 1732313893ull :
2538           sort_indices<6,7,4,1,0,3,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2539         case 1732314403ull :
2540           sort_indices<6,7,4,1,0,5,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2541         case 1732444453ull :
2542           sort_indices<6,7,4,3,0,1,2,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2543         case 1732445473ull :
2544           sort_indices<6,7,4,3,0,5,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2545         case 1732575523ull :
2546           sort_indices<6,7,4,5,0,1,2,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2547         case 1732576033ull :
2548           sort_indices<6,7,4,5,0,3,2,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2549         case 1631790343ull :
2550           sort_indices<6,1,4,3,2,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2551         case 1631790853ull :
2552           sort_indices<6,1,4,3,2,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2553         case 1631920903ull :
2554           sort_indices<6,1,4,5,2,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2555         case 1631921923ull :
2556           sort_indices<6,1,4,5,2,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2557         case 1632051973ull :
2558           sort_indices<6,1,4,7,2,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2559         case 1632052483ull :
2560           sort_indices<6,1,4,7,2,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2561         case 1665213703ull :
2562           sort_indices<6,3,4,1,2,5,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2563         case 1665214213ull :
2564           sort_indices<6,3,4,1,2,7,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2565         case 1665474823ull :
2566           sort_indices<6,3,4,5,2,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2567         case 1665476353ull :
2568           sort_indices<6,3,4,5,2,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2569         case 1665605893ull :
2570           sort_indices<6,3,4,7,2,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2571         case 1665606913ull :
2572           sort_indices<6,3,4,7,2,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2573         case 1698767623ull :
2574           sort_indices<6,5,4,1,2,3,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2575         case 1698768643ull :
2576           sort_indices<6,5,4,1,2,7,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2577         case 1698898183ull :
2578           sort_indices<6,5,4,3,2,1,0,7,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2579         case 1698899713ull :
2580           sort_indices<6,5,4,3,2,7,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2581         case 1699160323ull :
2582           sort_indices<6,5,4,7,2,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2583         case 1699160833ull :
2584           sort_indices<6,5,4,7,2,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2585         case 1732322053ull :
2586           sort_indices<6,7,4,1,2,3,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2587         case 1732322563ull :
2588           sort_indices<6,7,4,1,2,5,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2589         case 1732452613ull :
2590           sort_indices<6,7,4,3,2,1,0,5,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2591         case 1732453633ull :
2592           sort_indices<6,7,4,3,2,5,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2593         case 1732583683ull :
2594           sort_indices<6,7,4,5,2,1,0,3,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2595         case 1732584193ull :
2596           sort_indices<6,7,4,5,2,3,0,1,0,1,-1,1>(in, out, d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;
2597         default:
2598           throw std::logic_error("This case has not been implemented in prim_op_var.h");
2599     }
2600   }
2601   else {
2602     throw std::logic_error("This case has not been implemented in prim_op_var.h");
2603   }
2604 }
2605 
2606 }
2607 #endif
2608 
2609