]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/torture/bitint-16.c
testsuite: Refer more consistently to C23 not C2X
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / torture / bitint-16.c
CommitLineData
faff3170
JJ
1/* PR c/102989 */
2/* { dg-do run { target bitint } } */
54bac0ce 3/* { dg-options "-std=c23 -pedantic-errors" } */
faff3170
JJ
4/* { dg-skip-if "" { ! run_expensive_tests } { "*" } { "-O0" "-O2" } } */
5/* { dg-skip-if "" { ! run_expensive_tests } { "-flto" } { "" } } */
6
7#if __BITINT_MAXWIDTH__ >= 256
8__attribute__((noipa)) void
9test135_192_228_256 (unsigned _BitInt(135) *p, unsigned _BitInt(192) *q,
10 unsigned _BitInt(228) *r, unsigned _BitInt(256) *s)
11{
12 r[6] = (_BitInt(135)) (p[0] + p[1] + p[2]);
13 s[6] = (_BitInt(135)) (p[0] - p[1] + p[2]);
14 r[7] = p[0] + p[1] - p[2];
15 s[7] = p[0] - p[1] - p[2];
16 r[8] = (_BitInt(192)) (q[0] + q[1] + q[2]);
17 s[8] = (_BitInt(192)) (q[0] - q[1] + q[2]);
18 r[9] = q[0] + q[1] - q[2];
19 s[9] = q[0] - q[1] - q[2];
20 p[6] = (_BitInt(135)) (r[0] + r[1] + r[2]);
21 q[6] = (_BitInt(135)) (r[0] - r[1] + r[2]);
22 p[7] = r[0] + r[1] - r[2];
23 q[7] = r[0] - r[1] - r[2];
24 p[8] = (_BitInt(192)) (s[0] + s[1] + s[2]);
25 q[8] = (_BitInt(192)) (s[0] - s[1] + s[2]);
26 p[9] = s[0] + s[1] - s[2];
27 q[9] = s[0] - s[1] - s[2];
28 r[10] = ((unsigned _BitInt(228)) ((_BitInt(135)) p[3])) + ((_BitInt(135)) p[4]) + ((_BitInt(135)) p[5]);
29 s[10] = ((unsigned _BitInt(256)) ((_BitInt(135)) p[3])) + ((_BitInt(135)) p[4]) + ((_BitInt(135)) p[5]);
30 r[11] = ((unsigned _BitInt(228)) p[3]) + p[4] + p[5];
31 s[11] = ((unsigned _BitInt(256)) p[3]) + p[4] + p[5];
32 r[12] = ((unsigned _BitInt(228)) ((_BitInt(192)) q[3])) + ((_BitInt(192)) q[4]) + ((_BitInt(192)) q[5]);
33 s[12] = ((unsigned _BitInt(256)) ((_BitInt(192)) q[3])) + ((_BitInt(192)) q[4]) + ((_BitInt(192)) q[5]);
34 r[13] = ((unsigned _BitInt(228)) q[3]) + q[4] + q[5];
35 s[13] = ((unsigned _BitInt(256)) q[3]) + q[4] + q[5];
36 p[10] = ((unsigned _BitInt(135)) r[3]) + ((unsigned _BitInt(135)) r[4]) + ((unsigned _BitInt(135)) r[5]);
37 q[10] = ((unsigned _BitInt(192)) r[3]) + ((unsigned _BitInt(192)) r[4]) + ((unsigned _BitInt(192)) r[5]);
38 p[11] = ((unsigned _BitInt(135)) s[3]) + ((unsigned _BitInt(135)) s[4]) + ((unsigned _BitInt(135)) s[5]);
39 q[11] = ((unsigned _BitInt(192)) s[3]) + ((unsigned _BitInt(192)) s[4]) + ((unsigned _BitInt(192)) s[5]);
40 p[12] = ((_BitInt(228)) ((_BitInt(135)) p[3])) < ((_BitInt(228)) ((_BitInt(135)) p[4]));
41 q[12] = ((_BitInt(256)) ((_BitInt(135)) p[3])) > ((_BitInt(256)) ((_BitInt(135)) p[4]));
42 p[13] = ((_BitInt(228)) ((unsigned _BitInt(135)) p[3])) <= ((unsigned _BitInt(228)) ((_BitInt(135)) p[4]));
43 q[13] = ((_BitInt(256)) ((unsigned _BitInt(135)) p[3])) >= ((unsigned _BitInt(256)) ((_BitInt(135)) p[4]));
44 p[14] = ((_BitInt(228)) ((_BitInt(192)) q[3])) < ((_BitInt(228)) ((_BitInt(192)) q[4]));
45 q[14] = ((_BitInt(256)) ((_BitInt(192)) q[3])) <= ((_BitInt(256)) ((_BitInt(192)) q[4]));
46 r[14] = ((_BitInt(228)) ((unsigned _BitInt(192)) q[3])) >= ((unsigned _BitInt(228)) ((_BitInt(192)) q[4]));
47 s[14] = ((_BitInt(256)) ((unsigned _BitInt(192)) q[3])) > ((unsigned _BitInt(256)) ((_BitInt(192)) q[4]));
48}
49#endif
50
51#if __BITINT_MAXWIDTH__ >= 575
52__attribute__((noipa)) void
53test470_512_519_575 (unsigned _BitInt(470) *p, unsigned _BitInt(512) *q,
54 unsigned _BitInt(519) *r, unsigned _BitInt(575) *s)
55{
56 r[6] = (_BitInt(470)) (p[0] + p[1] + p[2]);
57 s[6] = (_BitInt(470)) (p[0] - p[1] + p[2]);
58 r[7] = p[0] + p[1] - p[2];
59 s[7] = p[0] - p[1] - p[2];
60 r[8] = (_BitInt(512)) (q[0] + q[1] + q[2]);
61 s[8] = (_BitInt(512)) (q[0] - q[1] + q[2]);
62 r[9] = q[0] + q[1] - q[2];
63 s[9] = q[0] - q[1] - q[2];
64 p[6] = (_BitInt(470)) (r[0] + r[1] + r[2]);
65 q[6] = (_BitInt(470)) (r[0] - r[1] + r[2]);
66 p[7] = r[0] + r[1] - r[2];
67 q[7] = r[0] - r[1] - r[2];
68 p[8] = (_BitInt(512)) (s[0] + s[1] + s[2]);
69 q[8] = (_BitInt(512)) (s[0] - s[1] + s[2]);
70 p[9] = s[0] + s[1] - s[2];
71 q[9] = s[0] - s[1] - s[2];
72 r[10] = ((unsigned _BitInt(519)) ((_BitInt(470)) p[3])) + ((_BitInt(470)) p[4]) + ((_BitInt(470)) p[5]);
73 s[10] = ((unsigned _BitInt(575)) ((_BitInt(470)) p[3])) + ((_BitInt(470)) p[4]) + ((_BitInt(470)) p[5]);
74 r[11] = ((unsigned _BitInt(519)) p[3]) + p[4] + p[5];
75 s[11] = ((unsigned _BitInt(575)) p[3]) + p[4] + p[5];
76 r[12] = ((unsigned _BitInt(519)) ((_BitInt(512)) q[3])) + ((_BitInt(512)) q[4]) + ((_BitInt(512)) q[5]);
77 s[12] = ((unsigned _BitInt(575)) ((_BitInt(512)) q[3])) + ((_BitInt(512)) q[4]) + ((_BitInt(512)) q[5]);
78 r[13] = ((unsigned _BitInt(519)) q[3]) + q[4] + q[5];
79 s[13] = ((unsigned _BitInt(575)) q[3]) + q[4] + q[5];
80 p[10] = ((unsigned _BitInt(470)) r[3]) + ((unsigned _BitInt(470)) r[4]) + ((unsigned _BitInt(470)) r[5]);
81 q[10] = ((unsigned _BitInt(512)) r[3]) + ((unsigned _BitInt(512)) r[4]) + ((unsigned _BitInt(512)) r[5]);
82 p[11] = ((unsigned _BitInt(470)) s[3]) + ((unsigned _BitInt(470)) s[4]) + ((unsigned _BitInt(470)) s[5]);
83 q[11] = ((unsigned _BitInt(512)) s[3]) + ((unsigned _BitInt(512)) s[4]) + ((unsigned _BitInt(512)) s[5]);
84 p[12] = ((_BitInt(519)) ((_BitInt(470)) p[3])) < ((_BitInt(519)) ((_BitInt(470)) p[4]));
85 q[12] = ((_BitInt(575)) ((_BitInt(470)) p[3])) > ((_BitInt(575)) ((_BitInt(470)) p[4]));
86 p[13] = ((_BitInt(519)) ((unsigned _BitInt(470)) p[3])) <= ((unsigned _BitInt(519)) ((_BitInt(470)) p[4]));
87 q[13] = ((_BitInt(575)) ((unsigned _BitInt(470)) p[3])) >= ((unsigned _BitInt(575)) ((_BitInt(470)) p[4]));
88 p[14] = ((_BitInt(519)) ((_BitInt(512)) q[3])) < ((_BitInt(519)) ((_BitInt(512)) q[4]));
89 q[14] = ((_BitInt(575)) ((_BitInt(512)) q[3])) <= ((_BitInt(575)) ((_BitInt(512)) q[4]));
90 r[14] = ((_BitInt(519)) ((unsigned _BitInt(512)) q[3])) >= ((unsigned _BitInt(519)) ((_BitInt(512)) q[4]));
91 s[14] = ((_BitInt(575)) ((unsigned _BitInt(512)) q[3])) > ((unsigned _BitInt(575)) ((_BitInt(512)) q[4]));
92}
93#endif
94
95#if __BITINT_MAXWIDTH__ >= 574
96__attribute__((noipa)) void
97test138_192_523_574 (unsigned _BitInt(138) *p, unsigned _BitInt(192) *q,
98 unsigned _BitInt(523) *r, unsigned _BitInt(574) *s)
99{
100 r[6] = (_BitInt(138)) (p[0] + p[1] + p[2]);
101 s[6] = (_BitInt(138)) (p[0] - p[1] + p[2]);
102 r[7] = p[0] + p[1] - p[2];
103 s[7] = p[0] - p[1] - p[2];
104 r[8] = (_BitInt(192)) (q[0] + q[1] + q[2]);
105 s[8] = (_BitInt(192)) (q[0] - q[1] + q[2]);
106 r[9] = q[0] + q[1] - q[2];
107 s[9] = q[0] - q[1] - q[2];
108 p[6] = (_BitInt(138)) (r[0] + r[1] + r[2]);
109 q[6] = (_BitInt(138)) (r[0] - r[1] + r[2]);
110 p[7] = r[0] + r[1] - r[2];
111 q[7] = r[0] - r[1] - r[2];
112 p[8] = (_BitInt(192)) (s[0] + s[1] + s[2]);
113 q[8] = (_BitInt(192)) (s[0] - s[1] + s[2]);
114 p[9] = s[0] + s[1] - s[2];
115 q[9] = s[0] - s[1] - s[2];
116 r[10] = ((unsigned _BitInt(523)) ((_BitInt(138)) p[3])) + ((_BitInt(138)) p[4]) + ((_BitInt(138)) p[5]);
117 s[10] = ((unsigned _BitInt(574)) ((_BitInt(138)) p[3])) + ((_BitInt(138)) p[4]) + ((_BitInt(138)) p[5]);
118 r[11] = ((unsigned _BitInt(523)) p[3]) + p[4] + p[5];
119 s[11] = ((unsigned _BitInt(574)) p[3]) + p[4] + p[5];
120 r[12] = ((unsigned _BitInt(523)) ((_BitInt(192)) q[3])) + ((_BitInt(192)) q[4]) + ((_BitInt(192)) q[5]);
121 s[12] = ((unsigned _BitInt(574)) ((_BitInt(192)) q[3])) + ((_BitInt(192)) q[4]) + ((_BitInt(192)) q[5]);
122 r[13] = ((unsigned _BitInt(523)) q[3]) + q[4] + q[5];
123 s[13] = ((unsigned _BitInt(574)) q[3]) + q[4] + q[5];
124 p[10] = ((unsigned _BitInt(138)) r[3]) + ((unsigned _BitInt(138)) r[4]) + ((unsigned _BitInt(138)) r[5]);
125 q[10] = ((unsigned _BitInt(192)) r[3]) + ((unsigned _BitInt(192)) r[4]) + ((unsigned _BitInt(192)) r[5]);
126 p[11] = ((unsigned _BitInt(138)) s[3]) + ((unsigned _BitInt(138)) s[4]) + ((unsigned _BitInt(138)) s[5]);
127 q[11] = ((unsigned _BitInt(192)) s[3]) + ((unsigned _BitInt(192)) s[4]) + ((unsigned _BitInt(192)) s[5]);
128 p[12] = ((_BitInt(523)) ((_BitInt(138)) p[3])) < ((_BitInt(523)) ((_BitInt(138)) p[4]));
129 q[12] = ((_BitInt(574)) ((_BitInt(138)) p[3])) > ((_BitInt(574)) ((_BitInt(138)) p[4]));
130 p[13] = ((_BitInt(523)) ((unsigned _BitInt(138)) p[3])) <= ((unsigned _BitInt(523)) ((_BitInt(138)) p[4]));
131 q[13] = ((_BitInt(574)) ((unsigned _BitInt(138)) p[3])) >= ((unsigned _BitInt(574)) ((_BitInt(138)) p[4]));
132 p[14] = ((_BitInt(523)) ((_BitInt(192)) q[3])) < ((_BitInt(523)) ((_BitInt(192)) q[4]));
133 q[14] = ((_BitInt(574)) ((_BitInt(192)) q[3])) <= ((_BitInt(574)) ((_BitInt(192)) q[4]));
134 r[14] = ((_BitInt(523)) ((unsigned _BitInt(192)) q[3])) >= ((unsigned _BitInt(523)) ((_BitInt(192)) q[4]));
135 s[14] = ((_BitInt(574)) ((unsigned _BitInt(192)) q[3])) > ((unsigned _BitInt(574)) ((_BitInt(192)) q[4]));
136}
137#endif
138
139int
140main ()
141{
142#if __BITINT_MAXWIDTH__ >= 256
143 static unsigned _BitInt(135) p135[24] = {
144 4187273188098476865668456823817923591884uwb,
145 6807534906955493735159263291613578822092uwb,
146 41026661032626929517457579844514879338728uwb,
147 21107725719388574292787309710748598888876uwb,
148 37762806761430755157975144430695583115875uwb,
149 26495620887646122219041406684145481614415uwb,
150 0, 0, 0, 0, 0, 0, 0, 0, 0,
151 24294442897610200845563470372394790405427uwb,
152 14494728260279138634407444539578218061153uwb,
153 35692618919905757032302955601299560733828uwb,
154 2073608133107652132583703172274308589354uwb,
155 23162446968047093866488519785733079173672uwb,
156 23215356388255044329396934936113503903836uwb,
157 0uwb,
158 1uwb,
159 0uwb
160 };
161 static unsigned _BitInt(192) q192[24] = {
162 2086085555369597859021791929925392355640686637062909369671uwb,
163 2680579114698255110186052616880338377881530773942412775534uwb,
164 3327728695296211902341553047509833116972847770197432421329uwb,
165 5940317943727487997168783552089315457607206947999336887004uwb,
166 5542354187267299678821667349861772942889507214082859925027uwb,
167 3271998891636156295842018666243687525289384908182662772181uwb,
168 0, 0, 0, 0, 0, 0, 0, 0, 0,
169 19403341198470336643414519815259741762743uwb,
170 5896270732876306173690375572457711356577732208000026578149uwb,
171 5124631678261056717896926088333660842277657529754581693718uwb,
172 3443509077298665851293720223028023121358922119534917222332uwb,
173 5756578284734093802702142887739107033567473420998759418408uwb,
174 4630861060283249917347323439223922476602768583090317402204uwb,
175 1uwb,
176 0uwb,
177 0uwb
178 };
179 static unsigned _BitInt(228) r228[24] = {
180 161966633757691155241945327015229701994331693366818788921573408319756uwb,
181 38296346596827362616775983079516749483975676455899963878059782490174uwb,
182 241591800199660287949868996521720659189646617902754527264229209396201uwb,
183 428902738798964850544466128550714169355105701114620489106903291340964uwb,
184 235528598555728562847947927417825731721784962388084030737368213942614uwb,
185 256292789834236084059292238814861516121661392325304427878120090497070uwb,
186 0, 0, 0, 0, 0, 0, 0, 0, 0,
187 8465326161800776794973350208680050686336uwb,
188 13524290028307164406682090022182954141616uwb,
189 1817291629977384107713608171107897434392709736738720053638uwb,
190 1438935974771641066866291499295897616549369640807889723876uwb,
191 431359146674410236714672241390567958214899515783829121020714765473886uwb,
192 85366153368465451669803860825589663619166uwb,
193 431359146670333602531143143072639192076766087438128192434530520032980uwb,
194 14754671022630943971832469568194775925786099070264859584212uwb,
195 0uwb
196 };
197 static unsigned _BitInt(256) s256[24] = {
198 33689368506800899324387091792297880425309542585828646830789259960880991063584uwb,
199 39571323848345650718084485253626478678560275338021939071625078673058668106679uwb,
200 110504693488819055796063554254198165064817853023249665372075921323272516500141uwb,
201 102297428517176642359444223748374693989314404662584768443522888625651626181283uwb,
202 80244728165314710913956389448156622901095909768247496334097456157707270969074uwb,
203 103665915010005983358711046736784166330673952063454224485339530724102504302279uwb,
204 0, 0, 0, 0, 0, 0, 0, 0, 0,
205 115792089237316195423570985008687907848120241013530353364112407633366022682088uwb,
206 43465363180276300259675513190222127563800uwb,
207 2733235135967554651177292360554887094732003633317929015466uwb,
208 2354879480761811610329975688742887276888663537387098685704uwb,
209 115792089237316195423570985008687907851523852102345769062637545330970131126366uwb,
210 85366153368465451669803860825589663619166uwb,
211 115792089237316195419494350825158809533595085964212340716936616744785885685460uwb,
212 14754671022630943971832469568194775925786099070264859584212uwb,
213 0uwb
214 };
215 test135_192_228_256 (p135, q192, r228, s256);
216 for (int i = 6; i < 15; ++i)
217 if (p135[i] != p135[i + 9]
218 || q192[i] != q192[i + 9]
219 || r228[i] != r228[i + 9]
220 || s256[i] != s256[i + 9])
221 __builtin_abort ();
222#endif
223#if __BITINT_MAXWIDTH__ >= 575
224 static unsigned _BitInt(470) p470[24] = {
225 290679861857217105576749510785172236097196317219002071340131005135259342235163792727727620685697644545754092322618593967328975789101613622756uwb,
226 3007766161917260990990922308983802917798001363835330597758175849272351861703814650851622073672692222948955250827120638757725725607466346547961uwb,
227 574060276709923148626402211078479568921550247040425483673763765831291153847648453629069366560426848580089729851582562589160127450838856742850uwb,
228 1513032643015460548072615957037831807842396447090608200111284706851223881642236182620260811534047670872236957008209636843038402328412186623867uwb,
229 736018121751614604248763744490396332128994581237940802611521314820643126961848250509301799425532301686788266718861244200351342613056372468552uwb,
230 30155063271645468057678848208011195960933215968662731964986808367634269990062216294334734731269355557159014770813970386099476462377224708070uwb,
231 0, 0, 0, 0, 0, 0, 0, 0, 0,
232 2336276654669971355000545579045474018643499545251683574017489057360457587609182251538648565538596336349157530705582440962441081292975829750725uwb,
233 2811887457092416012110559147431839355552932271928059605261212342070741952382405730371093476958614469776023370616340687057532287796176219869449uwb,
234 1454614080118846581654283867177010224989739028600678358170065228650331074859011839166100981351630244514069807407054058295180885648638359156315uwb,
235 1452099984535181412105251439415950646129930223001670876794248464265033550302786152371528494721306355739311614007226227128382131037961688117145uwb,
236 1700131771206195433306793035837240564903007159128880173423363038992576767815643454391004339339329935701073991719473097155654566696420734301605uwb,
237 687646008549017812028590579565520345681613774085522641973968443446824759773421489288886130070355380390157446333512774944224841451835655874095uwb,
238 0uwb,
239 0uwb,
240 1uwb
241 };
242 static unsigned _BitInt(512) q512[24] = {
243 11999607180890662234640611094796125402682182607671756821443119677915957826104697013256706604957461530042481930446302956354396703791101848051437136984190670uwb,
244 1669399929141703249463393746110522414573291237669539702537374904052097169767189303794997941915228747803109873985069631915369758962889453579386958506452828uwb,
245 11378992935330313540343401440793120879643841271871581700686172052228324616806874974534345697693861690426360116949795282888644662188134499896194148433768387uwb,
246 9993083190971384981726645923137348157759809443699348826766460590248782912389872021894301181692065821343040669086846645954670076835055767363529908044878460uwb,
247 4194741102820399815388565886074911339757551809782406262401319165104710890785047966633447456093482200519894213755964462654816313685699735398967845201704233uwb,
248 2421595337545745821088215118098296983215379552867408581490131959698723606384411644669422390261525987191387981272012502904825570949628276538570672660290088uwb,
249 0, 0, 0, 0, 0, 0, 0, 0, 0,
250 1513903473639259387274129463605791299347099137673287344952013483163916537193546764015586855259820134007663746976291793381162392640818043683999uwb,
251 12277156682318352235712463688522823330952278031457456554222055921981909263024261498262481023121115845377546131965398459894872235113782544708914458317029859uwb,
252 4027845254315197169423233647114376033430305844071443075105613565290966574715062841638133555232740863237407025233981863916917198547523085200055676796066563uwb,
253 10707639349311374361511081362429794348061398948029634783963376915733257208356397594815368492279579755336561685612483789993986308827288890748132804532704321uwb,
254 11909891944680678452073045961414477447224653685643721320079864331428768064778333088269746747399111241079878764522077445502337140106279379768026249427056037uwb,
255 5596625625751028170955045723080584878265817548746738005171988990687430526534540571089022256509279287347335747951148567883951414510786508005390890674578991uwb,
256 1uwb,
257 1uwb,
258 1uwb
259 };
260 static unsigned _BitInt(519) r519[24] = {
261 1030342010401113812244886675533462199253435182769422147430754601621146628252085744300635665226057568402783959871999680067593144181093412956713229194456894164uwb,
262 1399286804337892133001051165724092281210924970185276871571622362921173888386145177372320997003882614750136133472548611361735698398271314700469097220046489491uwb,
263 1187491577184187187658283970910931091626643735561997844498566871693437222121521301715871480084581538847004007675304538195851777836706064395267954449805214046uwb,
264 1590038038660143030887559697627655997346700459420257472659393551660904723658903805269248515919541163543209428329235720802030325145482255847896549116166445779uwb,
265 884402951942479884942778411278542758813719790602900630698855595508395145632292880569268024966776717352051287824788383446062053991609910742048548988449536210uwb,
266 326292950770117959333132136682031715802512494345703440528331497456255817028879418424543059879797143305345789113287071774990765627898999338681127138076566016uwb,
267 0, 0, 0, 0, 0, 0, 0, 0, 0,
268 823923731816440081735482986127565752359132554398497263261175151854750269095449533809682632145875337989030585578073140142878915098101850794143uwb,
269 2724385747064554947941269608690495584973647434013907185424543088576320050091329989950280327797963018914619613298156670135894573945729103427867uwb,
270 1714431799218129913570774556055636380759299408511854443817835408543138647401945680368622211813596383857215966052878410278731400359247393614777658018691007981uwb,
271 2290014174702051943760603400113526937611632573469714823294322529739730379065011342517358849178828587419231687481577305381121800565856801734629947056875111uwb,
272 2279205828038720620379058549736239335932324244297211734687792830039501278594146649423897345690849328116184238497884851429489221403845783800489uwb,
273 2279205828038720620379058549736239335932324244297211734687792830039501278594146649423897345690849328116184238497884851429489221403845783800489uwb,
274 3201611701394933518629401929104710353253374985756770292934350271330453379485784656395296729880170581364291005928337560660558078658437209354634776900788685uwb,
275 16609419631337530618203426927310556480732740806349163670657911715052217409559331633197171028047074009054322864114823611514311961470383779301068425906872781uwb,
276 1uwb
277 };
278 static unsigned _BitInt(575) s575[24] = {
279 96927313110651552741697906285845027560278665167912446772243994455709167318164555507475733363294500975052442014691905285678776198101396126432691790596947740988776944060654926uwb,
280 102707772385622802706823804871287360126470122215207829602545757786870641626119828685986043329520959072898431094747590180228385563652833016000194460109692900249703592758013356uwb,
281 110583747014804561196219218561034468168713024547408050239450245043477530907411843124501635977214033600051542621634445064425297114819990148482732834711384300709771384106312545uwb,
282 54306775370484796829739172393424070839859954453514190131950827429084664762249620446751937114044786249494515203860165437770921772021031551664278887501083036990545747406428169uwb,
283 46114759885997746928772223321204027410936673207704735367438056888037044881883997045448409583831956188379542065205564192543381437121786101651883495914008056100188006564313178uwb,
284 35190453913973191463478013966823372048936778121696189495901809463574016396767724553244869787736619209084040172125210006605333310947417602727114932375121134023666009552590284uwb,
285 0, 0, 0, 0, 0, 0, 0, 0, 0,
286 905556545317840426670820457599737857678360574120357846766614390078350723070174958903911342346373648262657058770329172970099291381779089937069uwb,
287 2806018560565955292876607080162667690292875453735767768929982326799920504066055415044509037998461329188246086490412702963114950229406342570793uwb,
288 123665200736552267025144844837017673343938243343672951569825529047137624617410727523806857743618811225191141477410357286961350974191432110603936918943400338433680414973687605uwb,
289 12359022246361242544407840906098328235944415918723028795943134165357300069604179711729237263515274519503043797697924092404136165452024464522289679050053551uwb,
290 2279205828038720620379058549736239335932324244297211734687792830039501278594146649423897345690849328116184238497884851429489221403845783800489uwb,
291 2279205828038720620379058549736239335932324244297211734687792830039501278594146649423897345690849328116184238497884851429489221403845783800489uwb,
292 3201611701394933518629401929104710353253374985756770292934350271330453379485784656395296729880170581364291005928337560660558078658437209354634776900788685uwb,
293 16609419631337530618203426927310556480732740806349163670657911715052217409559331633197171028047074009054322864114823611514311961470383779301068425906872781uwb,
294 1uwb
295 };
296 test470_512_519_575 (p470, q512, r519, s575);
297 for (int i = 6; i < 15; ++i)
298 if (p470[i] != p470[i + 9]
299 || q512[i] != q512[i + 9]
300 || r519[i] != r519[i + 9]
301 || s575[i] != s575[i + 9])
302 __builtin_abort ();
303#endif
304#if __BITINT_MAXWIDTH__ >= 574
305 static unsigned _BitInt(138) p138[24] = {
306 101422284254667607392742201719883227411625uwb,
307 160466466586635795278252037831376082677350uwb,
308 25107605609849786823351214520760656620933uwb,
309 295969175246745649031682884402595713219313uwb,
310 13181527086641487248448136085636319944955uwb,
311 235130534778709326353598872018612896874473uwb,
312 0, 0, 0, 0, 0, 0, 0, 0, 0,
313 167302456247167982996160810773690897220075uwb,
314 297389206356979455260412959683265332806635uwb,
315 335394759052458807357434855405547433962500uwb,
316 321901396962914134364671486134447068161226uwb,
317 120351777790732110377699121565672639601425uwb,
318 198373944314536120634408834917264425196481uwb,
319 1uwb,
320 0uwb,
321 1uwb
322 };
323 static unsigned _BitInt(192) t192[24] = {
324 911018684451330895893338523816772465484522458698266889768uwb,
325 2046183627271691614636061554682220483052698404211100534853uwb,
326 4678069061913127216263854322789964375230426789917042687454uwb,
327 3459784480694777343275716409755634649190978443376335561303uwb,
328 3867595273303447369888355921671728883273018646069926566645uwb,
329 4813052987333975223830750234077960301742057680559503213273uwb,
330 0, 0, 0, 0, 0, 0, 0, 0, 0,
331 6277101735386680684990022390197371509564931202241440203909uwb,
332 1278608194268128077434264942601213585924783150489231066757uwb,
333 4029427835151946963573253373549922510624267261072515255840uwb,
334 672033229033398034156049846020027986275380626166731032294uwb,
335 1357991472586126795792080074222943985598370321805879319313uwb,
336 2856538916789713009071224987092580961800045494832854440897uwb,
337 0uwb,
338 1uwb,
339 1uwb
340 };
341 static unsigned _BitInt(523) r523[24] = {
342 3195765699538496998535864601292347963256629173162679399458238383409531673496364786350189170351629279748663665677408547146700561030889355712400808816914064440uwb,
343 11159477301642000894502707350448750665412836731536210953742141163262563390545287499722678844509966339767235942912910312315832667904302744531360002727358824115uwb,
344 22101560948582634345286310809677329764046784779464227969587135587282924532940609616951363156766482627364659628549350689295905244730986420796580267097794699008uwb,
345 3492227525200477614910950479637037651613240112641204783475954014565794311494477327458692721172240707535504736878649393132370069751011176314509944329056779358uwb,
346 4470424684397392413407392569484317542436005833167916532642765757801563745613041876920796693178762870199674360069594704277190939739704629258367293449899462004uwb,
347 13549742618125959998093915668094856307843206900469464436576203440358812289708508455667681082349827642620118118540849103671482396581682398406739495271235801407uwb,
348 0, 0, 0, 0, 0, 0, 0, 0, 0,
349 27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923370695700676111069483100152175053778407572uwb,
350 236781145231453615847643025030498653468042uwb,
351 1358169638249468962957464978081290907665292208362375599179uwb,
352 4556234985196576058101335178916694989409149517456359250063uwb,
353 27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923279531437610013356035988992599748093205461uwb,
354 544281237112096462633729892506844930038741uwb,
355 27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818213218312780738081077635942247881191161149284549778122031141uwb,
356 12140432741332199936994822565505323834206054770005765341221uwb,
357 0uwb
358 };
359 static unsigned _BitInt(574) s574[24] = {
360 49523656310311432476097096707674348247864532997580458449189999134679927949102290921020347613627600560130921641399166416960416734901407545116688589513670229626633588928674165uwb,
361 42569658590233851212367348547775997184555788503209190045856322440515976044599442772511746833320065456241311597243171150757254859304810272116865990700066734780242713347731186uwb,
362 19981999860412564491215269984435969976814910925473334223760435541572601828084228297697056388524273994976358111097326046010839057122757304450178767567932398574496781000082333uwb,
363 8558322198907185372332169456108688881070480268559248312027066736995799133128362338305761323248219317368913715505110464564580744145522428754123209057064241016828671823488793uwb,
364 43811765949130776561433192718564194559949284938162910217959397270715482324290476494691373258084890889610745910962659657029995968487465144041804156738366622609326192386149788uwb,
365 45992921207674703917316226268947032522368981737128477902399950788131403664441772601690186531393245791394478464207683996776726761730838587963296718352656413407075666840676108uwb,
366 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576653865915164420374411133357560960838529992uwb,
368 264297355785223011877634547377877136644286uwb,
369 61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504032100640224964662421487833755255625414851874551633211704257uwb,
370 463867730653192828829212069552254023303752709034158180357uwb,
371 61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576535185441544553264934030675638276670151637uwb,
372 544281237112096462633729892506844930038741uwb,
373 61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504028143965376430734333289946182421100059190967588306698977317uwb,
374 12140432741332199936994822565505323834206054770005765341221uwb,
375 0uwb
376 };
377 test138_192_523_574 (p138, t192, r523, s574);
378 for (int i = 6; i < 15; ++i)
379 if (p138[i] != p138[i + 9]
380 || t192[i] != t192[i + 9]
381 || r523[i] != r523[i + 9]
382 || s574[i] != s574[i + 9])
383 __builtin_abort ();
384#endif
385}