2 /* { dg-do run { target bitint } } */
3 /* { dg-options "-std=c23 -pedantic-errors" } */
4 /* { dg-skip-if "" { ! run_expensive_tests } { "*" } { "-O0" "-O2" } } */
5 /* { dg-skip-if "" { ! run_expensive_tests } { "-flto" } { "" } } */
7 #if __BITINT_MAXWIDTH__ >= 259
8 struct S259
{ unsigned _BitInt(259) c
, d
; } s259
[2];
9 unsigned _BitInt(259) v259
;
11 __attribute__((noipa
)) void
12 test259 (unsigned _BitInt(259) a
, unsigned _BitInt(259) *b
, int i
, int *j
)
14 s259
[0].c
= a
+ (b
[0] - b
[i
+ 1]) + (b
[2] << 7) - (b
[3] + 42);
15 s259
[i
].d
= (a
| (b
[4] & b
[5])) ^ b
[6 + i
];
16 j
[0] = s259
[1 - i
].d
== 0;
17 j
[1] = b
[7] == 853796348253166026572322331766419194644297857346047602312235759502541501989541uwb
;
18 if (b
[8] != (b
[9] << 25))
20 v259
= b
[11] + 131672585462768721291717421546274215675860478844820049742378853291513419577293uwb
;
25 __attribute__((noipa
)) void
28 static unsigned _BitInt(259) b
[] = {
29 918480562371960593090410127982602516965623024307296422252015063457072276190019uwb
,
30 805591267508470730905808815897672235976825560202638463105454632689132956230159uwb
,
31 918331245995907029502562304060195532137531507866437159352108797919955179870191uwb
,
32 813875127751611422577721650805025403235043641932299023318765404699420543383496uwb
,
33 312693756633721376836885884755241545403854394304071110713260437525889451361210uwb
,
34 649538941042539125892439630557027126879421922847150643068762916100064243451309uwb
,
35 773306487188996490948079630445764609771546927800966605886964877358699258715670uwb
,
36 853796348253166026572322331766419194644297857346047602312235759502541501989541uwb
,
37 76083267877106286558555438489752654093377337000667150108584195505702104870323uwb
,
38 433731305334336103344926930540791423313226370883401849111287164916738117506640uwb
,
39 57656267431091314368862950118941867863238118931858464589826085330125773498121uwb
,
40 64173041359832501449385133817329349658818599309611908558002991010875611848746uwb
,
41 42346589146173514762997245981921905757283138481803437257678854533030144461674uwb
,
42 61227931681037412178262565289688995250776671963152062289442760797238154015232uwb
,
46 unsigned _BitInt(259) a
47 = 466268672176961050215569613615746490713100259736768099838759141406021022194231uwb
;
48 s259
[1].d
= 289647636390911494735348665819031670280022785262945335571175835860869121921853uwb
;
49 test259 (a
, b
, 0, &j
[0]);
50 if (s259
[0].c
!= 593256375550214279190871305843268365974742545847394880963235621252368145099513uwb
51 || s259
[0].d
!= 258470741923291377781882672832254987468877297321140017579156131137149865493929uwb
54 || v259
!= 195845626822601222741102555363603565334679078154431958300381844302389031426039uwb
55 || b
[10] != 926336713898529563388567880069503262826159877325124512315660672063305037119487uwb
56 || b
[12] != 865108782217492151210305314779814267575383205361972450026217911266066883104255uwb
57 || b
[14] != 865108782217492151210305314779814267575383205361972450026217911266066883104256uwb
)
59 static unsigned _BitInt(259) c
[] = {
60 280836731241256517108451767043891202691471765896401168847540724952507405972497uwb
,
61 840411222605516639870988613734990053662001382735609723401814266406994078815101uwb
,
62 315675972612806440596502686972210055502484407915611896031513380334465695474313uwb
,
63 203899119027212320906468030526379653925169232409139699654080707114835986996999uwb
,
64 128451577752218373908172046011152144714641252063864956677744337179480421046978uwb
,
65 287567473759168733146788470777196081514207657452235204870489646221804917429977uwb
,
66 750296306916736952737909920532226142314659927184810908344954406682013838424980uwb
,
67 656663422127941740082895518453608245693505586454580487767696297787796578828932uwb
,
68 879879542531872983872988522489746684941859186676324312036446053929728989986816uwb
,
69 26222453788872748132735148742489417938645457824359068633212031541160613uwb
,
70 721087878418777615469711741435156333032292047533740164381818331009890349325379uwb
,
71 441184423645775123821015863267700095523103297061220954332335218574744406423193uwb
,
72 84779661426980563874304295256885870100654945451373784779121036518843563800060uwb
,
73 720201829457536541913713975070870089885671802608506320469648510576137739651426uwb
,
76 a
= 18070271922856865288654809596744903817727150511379287511935119712627107404963uwb
;
78 test259 (a
, c
, 0, &j
[0]);
79 if (s259
[0].c
!= 754979172232367155652142901903016464541317666806124208079545327296101909258886uwb
80 || s259
[0].d
!= 726067720449610868402876758678941562623370067217056480941991810113614143071607uwb
83 || v259
!= 572857009108543845112733284813974311198963775906041004074714071866257826000486uwb
84 || c
[10] != 721087878418777615469711741435156333032292047533740164381818331009890349325379uwb
85 || c
[12] != 206134884440993021474853904998633172940488074716618191846012161487167297468061uwb
86 || c
[14] != 206134884440993021474853904998633172940488074716618191846012161487167297468062uwb
)
91 #if __BITINT_MAXWIDTH__ >= 508
92 struct S508
{ unsigned _BitInt(508) c
, d
; } s508
[2];
93 unsigned _BitInt(508) v508
;
95 __attribute__((noipa
)) void
96 test508 (unsigned _BitInt(508) a
, unsigned _BitInt(508) *b
, int i
, int *j
)
98 s508
[0].c
= a
+ (b
[0] - b
[i
+ 1]) + (b
[2] << 7) - (b
[3] + 42);
99 s508
[i
].d
= (a
| (b
[4] & b
[5])) ^ b
[6 + i
];
100 j
[0] = s508
[1 - i
].d
== (unsigned _BitInt(508)) -1;
101 j
[1] = (b
[7] - b
[6]) == 323515224000201027366899758000237142291440124580568781353226908396916757538679852963577209476426722029505026752120305126905670783187399192585916919546571uwb
;
102 if (b
[8] != (b
[9] << 25))
104 v508
= b
[11] + 716024231508310591151659913627069746319678908481108351681014830741662356869311236055018626572200723297424975249553920015269741669328444662913268383663677uwb
;
109 __attribute__((noipa
)) void
112 static unsigned _BitInt(508) b
[] = {
113 832078183434045927540487103804907011739266549356223191691643561067749769975943908404638920166502402329694585519922110244852912407804057166046933883008194uwb
,
114 713936147229868929139293139988718979167626862529198392930772721993480948457421027732398866594698271934473685041618760204074421885407508961194284075992372uwb
,
115 617361847118081522653471977724056261996473287264427111568008587684000569753190215945768169015576241392153003921766059387579429385226558246856562678192104uwb
,
116 558345641413420470280223467353393511714120008866888151814287282910208158712080338084981427985120538158019424401062183786473300529579273867747687575759264uwb
,
117 499761439373420902958682462789094939629857960756907734602342350501615831252037617149223977152737393272833291045861050465948469241674239312800301147123184uwb
,
118 41458778840616754230715683890502356563717287755866620113981050014317462591845066532973853075702831495501272233490672301990969026267150137016150650508199uwb
,
119 418458681135681746732437152058641717690726059977788598152959959313259063414620594315807075298922056786187386710006952502872115288914005302859339669672594uwb
,
120 178590258028275731715530947756428839232212382672258470295756987295058447444774755851491768941934611483011083453873652899758014544959831694913681677646689uwb
,
121 356770203054529564617317933555709062197425817471944056561734674021988369183029131819074076937899959445814817800565023050865025285444839826004948142681410uwb
,
122 584112461551758657888253754473884153359686350173736669541862380483308304473624923065781205318194340854082383073991675143564628127579536789385040891716043uwb
,
123 680157864635886168227443104616994718021643051017205364932604743260844971234200794270551054794576522886616288751944237137476474081129540389630063933035924uwb
,
124 624234678396543393542036481071764142163163163113602945911969155623637623734341260164471554708546709676358706745261925658188877241381613170733888758848256uwb
,
125 454784507207582406161930055875861559038811204428592354757758685948743133937531828752051902975778637734147167150365830445107092680154259745175825282331123uwb
,
126 319986047127156205965562926466827182744423938150941443628321307635789163001042001590072115090024768392582441327268266695557745771318045725281606272507745uwb
,
130 unsigned _BitInt(508) a
131 = 711291826680524221552366807721297346517830107349701196208230744872277012932938686554048942571552181657477920414828724120656294188547596916447951866844703uwb
;
132 s508
[1].d
= 44300483028507681832691655975564116229472905643882332053402780694878295874197390896801387042830042144560060996721375070892413197614373985836807183707843uwb
;
133 test508 (a
, b
, 0, &j
[0]);
134 if (s508
[0].c
!= 522533064172957689320353588403947403982656359176197029733990042723046927465640381488621700421437034411326731632519943219324383970178228415895248995946467uwb
135 || s508
[0].d
!= 544171514892154666305054228710247267670694798806087644332682606744854247388929324492327007054644882499782210854566003344906189740262758953265414281741613uwb
138 || v508
!= 502270914283441665970319832310968505515381707807686711485261396132689728724055810169373037645315968743156690858160467495099001234963397211995054079631677uwb
139 || b
[10] != 837987995621412318723376562387865382967460363787024586107722590232610251879596686050117143635431464230626991136655378178359617675746660621652103062880255uwb
140 || b
[12] != 518001948494256112757813635921038200223036425636083142479401282596821088878554684460045028545406695838044549809387111482801871904428614896370496790372510uwb
141 || b
[14] != 518001948494256112757813635921038200223036425636083142479401282596821088878554684460045028545406695838044549809387111482801871904428614896370496790372511uwb
)
143 static unsigned _BitInt(508) c
[] = {
144 647557698892184285650475800644782894130830134743039316064874048572238802447391019320461822795528468837172509913850428906715002084926186679743636685547834uwb
,
145 19893833808289543304534784415999074892775857443659529983103990809804459295154825463722400943836101951812379338522524133647269361956787413321377320775949uwb
,
146 167225090603369392131840179341189845624248307670461180275627141145612180756017010718187841360639781066493394970424816391919242343853725482848930838565833uwb
,
147 425038857255644658246682026149139094877872271690333163307937973752297810646903055053327010856106694556745086838630642887918900506053243909959679540607590uwb
,
148 710399860501404196180909731021634278197730505954614106387836731661196474327340462005364906935941520263965559590135721186838498741274345456365502514761552uwb
,
149 517100391187257228299118348633309855520848206928211390424040909382822545139910418018096605353580518981578830214711288569084195564658992133538762776045012uwb
,
150 337049882664509041243030742301206305462316697436525762870825130294272111721357923024083663351305745791606079615492796115999045732841532642628230422676768uwb
,
151 660565106664710068609930500301443447753756822017094544224052038691188869260037775987660872827732467821111106367613101242904716516028931835214147342223339uwb
,
152 264311519140803818482685788811186614544730978154943534367495114584051059508245461660412877555306257793689596804946554756871772168758950748494862728822784uwb
,
153 7877097104215735747894221210813123421213954036085114907249662714721294030792875935447599814990349346211242580561237178947680359147755823984589062uwb
,
154 67442667089892250469544199468501425015399920231234867688030078116216928480132993764590084699986918086331763703967003811392074730155208796825341891897256uwb
,
155 85129756049329066391994997807963865671611392223804816975886973237646888963379984739504507746795881579055447505908308844315081721803505794221196177586220uwb
,
156 707371868440287371388093572489945370955349752876981733417655198143352744491182974880452293708290631899668322081620029303621428033853319295154190475832548uwb
,
157 538419296440305382227520128849893548498555312954035671105518356624711212650496087782309622044337222159048223665137702366210806405686462563977378378472852uwb
,
160 a
= 708586050532895903124837960170867540022772026063196035415656948205052808113573236752572838768221960601298200594769808975966326249462737081924621284351278uwb
;
162 test508 (a
, c
, 0, &j
[0]);
163 if (s508
[0].c
!= 528334769435707893291849283838312547132767955028634494668975752805681928519569910180983209404481539444766030992803736389428118910242578080095668810055499uwb
164 || s508
[0].d
!= 626861153942807538339962839367652023698436836743736597401578432880275274177104419034373833881253982548479037772997711030061561577382993299825586823026782uwb
167 || v508
!= 801153987557639657543654911435033611991290300704913168656901803979309245832691220794523134318996604876480422755462228859584823391131950457134464561249897uwb
168 || c
[10] != 67442667089892250469544199468501425015399920231234867688030078116216928480132993764590084699986918086331763703967003811392074730155208796825341891897256uwb
169 || c
[12] != 299568699181106936495856433537971834468905050832988915002204233607899039229100598267807521591094242071578767471517675812148811270060198057674724684407403uwb
170 || c
[14] != 299568699181106936495856433537971834468905050832988915002204233607899039229100598267807521591094242071578767471517675812148811270060198057674724684407404uwb
)
175 #if __BITINT_MAXWIDTH__ >= 512
176 struct S512
{ unsigned _BitInt(512) c
, d
; } s512
[2];
177 unsigned _BitInt(512) v512
;
179 __attribute__((noipa
)) void
180 test512 (unsigned _BitInt(512) a
, unsigned _BitInt(512) *b
, int i
, int *j
)
182 s512
[0].c
= a
+ (b
[0] - b
[i
+ 1]) + (b
[2] << 15) - (b
[3] - 259wb
);
183 s512
[i
].d
= (a
| (b
[4] & b
[5])) ^ b
[6 + i
];
184 j
[0] = s512
[1 - i
].d
== 4522353484324747955267125937291948655749617973066893955369024131525488299108320993071208813642361430492411037439152575330738596343613170269621629934531241uwb
;
185 j
[1] = (b
[7] - b
[6]) == 374577815990281408677256593783629954432691286119512435557712294960563169554809756081207157974945869359369961439855092584877150233312923919236788786326875uwb
;
186 if (b
[8] != (b
[9] << 63))
188 v512
= b
[11] + 105302399496355811946685122261964785380738245520086820947909580844925217183297uwb
;
193 __attribute__((noipa
)) void
196 static unsigned _BitInt(512) b
[] = {
197 6021199531765212801884676816470799034908236595092557744734057443805875347290483033829674243182977894869999446238486916822395301604705319217995654295432902uwb
,
198 2118944847509270465197760108216002226005910220953364492400962085188310835486567249208768553765555672830161371433385656186687932945648641289635143624153621uwb
,
199 2468011621780240906908738384251283152842243623265843874579649124218711735704146024693879862235081238297926460688162588400193067305227164327914340959869992uwb
,
200 7852261253584637784169919081877553866282673859198296203117153724887988256894439079095114803178078464315049063160714347766105329320309211116124084359320890uwb
,
201 6881429107351001058295162119545491230166185795246928525617516768009088834586165228975554760023030849264752345389888178729929909699157633918182461033495556uwb
,
202 7490938212743615293405934133782451317533822019734363666709765080515130781799097345699393688357934162148290248912225980297047575683793284504381422978757040uwb
,
203 10120569572654605122639402565568718563995238635532261987812601502126969028367382422209505735533685455107591090283702679606268593966759672963076962700307022uwb
,
204 6544115361584477201664859993249450245040478983518054359791236989888339451701690370158568050118785002344520392336988100105900733099550716973249399480839328uwb
,
205 7998211385715595185432216755958202893898483475426306631076103969688188023218591677753885970448355780373235280537235089173590925156414399326886601942858952uwb
,
206 1101608905235198391935063146859712526167216410759556463737474438201976460429148065105316982180322610546500122551969559689893274021338053420958788359583115uwb
,
207 5547339070657168956577880025794227235978722359584966491999832792960847505505357241452219444649567336517274817160074290099346053369308053580179899142505418uwb
,
208 1750269279776476441267578744631933548060353310561690992260040183595109596951578483669111308170823694772335056351746927981021331305166802991213646334514404uwb
,
209 4192336828386954798960532308463588917660266569128375313949004426859425573394438991510991296156896119249870038323974327749964728970306928745553011492449651uwb
,
210 1900177384209047479231940933911260783674256383613355641699143750453309311902806908717431412257630234621978137884266303399427482666060857148046946256701407uwb
,
214 unsigned _BitInt(512) a
215 = 10930130497064002394702882970302938462793108526726281176439996378763909442554754292732278993783426604574021331155984114583431563021614093376741477610729300uwb
;
216 s512
[1].d
= 1062548863735806614766555155689890005619504886385354582078741512313209800319722918322963204342249477855349130571262241563029708157593686639667293170464985uwb
;
217 test512 (a
, b
, 0, &j
[0]);
218 if (s512
[0].c
!= 2887513008923639902240466565062692784517178403522406023075811881559011847285804098407629056403311082480905591628208975136041938382372340398331672243318734uwb
219 || s512
[0].d
!= 972130803422634759391069517910461958937573607139260059384360471797756640789653835842301525452796103317707145350644624256211972219907968589876206212846874uwb
222 || v512
!= 1750269279776476441267578744631933548060353310561690992260040183595109596951683786068607663982770379894597021137127666226541418126114712572058571551697701uwb
223 || b
[10] != 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095uwb
224 || b
[12] != 11507630545733549620342084064294585343805109436979037736024417693268454718170740068084442885909273193068053720302219747454326400145885712798386702749382688uwb
225 || b
[14] != 11507630545733549620342084064294585343805109436979037736024417693268454718170740068084442885909273193068053720302219747454326400145885712798386702749382689uwb
)
227 static unsigned _BitInt(512) c
[] = {
228 4310457364893777373602665157014873559135384447597675565065759273827483949324526981781306465942744538806150653124143200561193417791157963881792904451069362uwb
,
229 5958789020370015340565416950487013712033450466320460334048228974568661716557882588498670105211169302921483448876614084424938615986458325610065852828118306uwb
,
230 8284743202872517242207866690683488538720128091867223206119391935721931034359590521893173196995749495634003248491356217756384997245149844917613657244100946uwb
,
231 12664079984606974422077559239355618815941897900272441909795959033933251997534364342568914887960377305762259523811571861079808666818626009150755656127832627uwb
,
232 1277280061505669581991258509578719709995272247404983496353130395005685346463372196431685623256422418143892881140710485556437791815840558839002633040897782uwb
,
233 12215250731983666777320125323169237871547944066095330125912513738032966095255991063167892594205142430862706904005862880547898319287711754622854549074643186uwb
,
234 9251003287718566323105383813392168970560299412448652319116761599247007001244197366325250786747301353984616744521839526461090225556617577043580629233001099uwb
,
235 9625581103708847731782640407175798924992990698568164754674473894207570170799007122406457944722247223343986705961694619045967375789930500962817418019327974uwb
,
236 9625581103708847731782640407175798924992990698568164754674473894207570170799007122406457944722247223343986705961694619045967375789930495977475637258485760uwb
,
237 1043607594407655227216500911938969602142764645410552381359002950524059754591300096857049049719237072025508574484388968507628527351266845uwb
,
238 11998753448729239344000141538200052195237540636029454316657436691685826543599848607581685084378245778577663489979887014434647868686320656434403040763612551uwb
,
239 11434040832182557441766779829155897224389793286294752961027160601623012283276511030063398944055141766189843896068181650049692814441787333867085760205626564uwb
,
240 3023331158039332614691238368394682484299421409956298474635469941534054266475913779087200438226804802431840397460566948014999950457892777550113994388831586uwb
,
241 6643992699881938834553303739293839845351896246066261353792165016004958058241209888845214001951224186762526613611217678738912897449639764896432567428225735uwb
,
244 a
= 8297086167455412951314345399041666622690871902388991853000149614722648899348042581378229717518281695539366926410544760114561024579207473131456671312516393uwb
;
245 s512
[1].d
= 4522353484324747955267125937291948655749617973066893955369024131525488299108320993071208813642361430492411037439152575330738596343613170269621629934531241uwb
;
246 test512 (a
, c
, 0, &j
[0]);
247 if (s512
[0].c
!= 562788706253718154365616008999801360288452754375064525508119581728036130536904720042355361715252120605188469823973820439731595153197657174657215322741897uwb
248 || s512
[0].d
!= 2450664880034868237736952350867106482818480521222495256778680955285041346939852822760111651975591771880097571588399256063032055281563320405249761438168944uwb
251 || v512
!= 11434040832182557441766779829155897224389793286294752961027160601623012283276616332462895299867088451312105860853562388295212901262735243447930685422809861uwb
252 || c
[10] != 11998753448729239344000141538200052195237540636029454316657436691685826543599848607581685084378245778577663489979887014434647868686320656434403040763612551uwb
253 || c
[12] != 6763815230060658265020721258912006282127469574526132023931396427716805971832337087956660296215679240927505244575268372114840985362306805050001081577858360uwb
254 || c
[14] != 6763815230060658265020721258912006282127469574526132023931396427716805971832337087956660296215679240927505244575268372114840985362306805050001081577858361uwb
)
259 #if __BITINT_MAXWIDTH__ >= 575
260 struct S575
{ unsigned _BitInt(575) c
, d
; } s575
[2];
261 unsigned _BitInt(575) v575
;
263 __attribute__((noipa
)) void
264 test575 (unsigned _BitInt(575) a
, unsigned _BitInt(575) *b
, int i
, int *j
)
266 s575
[0].c
= a
+ (b
[0] - b
[i
+ 1]) + (b
[2] << 27) - (b
[3] + 4958475968475894375894357484535984375489wb
);
267 s575
[i
].d
= (a
| (b
[4] & b
[5])) ^ b
[6 + i
];
268 j
[0] = s575
[1 - i
].d
== 95573020206290249524150023772890126071219633117171019262766503336310672999410172030736216511031014256906040106668955921896748704905692143264499542165901631357858279597168868uwb
;
269 j
[1] = (b
[7] - b
[6]) == 27145700341365416267735847217275690336177396856349392593186862163108423829551399123342676161793491631779988040463555034191451268734796110296927769088083654195518127550378112uwb
;
270 if (b
[8] != (b
[9] << 42))
272 v575
= b
[11] + 23747340451678047735163360653763407761482933548732248545666538557842792154643066748753917518601117103336304219106042161459437965550611189291922027839274834493025750978734016uwb
;
277 __attribute__((noipa
)) void
280 static unsigned _BitInt(575) b
[] = {
281 109629911866606562961096883957886177157168492273877379264846777289230149818443125999912223814388744273336157512735477622882702153104102811897060843654669684146016128756706531uwb
,
282 49737336835254330810961852329841465152166265671267895624334663745208596732097722057750738167775257956975985814734408710423060394871412870929476144910662495171305515147160358uwb
,
283 38554548935224072640061799348846572892670189944581591586656577942689453406789240916780049368436228529892778822796853383245767382205374048871923124561885190260824233296311215uwb
,
284 71058269942432013527315378010985114704370555413208353814319452373530227298981545120481154232525349782777377989106743248998743352091363716737509221664926215529843633715687782uwb
,
285 4160385932463020068352363207252688161266437324266506898550050263305674040252431030407032416831730109735167157770872898962184845623991414528191955840335425228637597057146575uwb
,
286 92940635878626680004989100258386964603204572877596438304889779253809889656868292370355114313083957669380421733891295145627252962536732023763637134129797695217583987460880286uwb
,
287 2497863814760324764248624507199774997376419692946013954829621482125467045874636227196983588067358574709667157879971660264026959433911373287725284674927778585806087674600393uwb
,
288 39669551656169181196901167730139627329430801053972757381518801156276770602506281629333177027704798069522455806177708556852756692341281267078419473323939938196300261349249844uwb
,
289 34099204187046170921511393567690620643856679870121903412545567510502014273081623781684214852562822343760228918685024070983005024483424026237793838354204070380961780255948800uwb
,
290 7753261385697935775513404580053843493227914193567335908607121271075360317145537870074853083807016069786238612933862912310133884712609875859423900318280191272825uwb
,
291 110004311053786619259986678143505471501869971439303158252331533020072292936027495587470733973742054917424528022233289606593259788774806137554470308009293095009499747765639537uwb
,
292 96833004631961538015767463838833105015474376492192681907732908245833058438294860656404685183010591497179132293246891860908865398765545161691520277203799562157174917228796219uwb
,
293 80702609348091643417538298383109408004428354134511559457823339372643632518010615100071083122949651809745536686693833088575054309697466950053942939485340693253073606951812769uwb
,
294 33407553983903825388268227905051448847634610694178184538233348977258089995501154824364933504268463263804419263252997491873433785923300213087774501277469095977333397324099995uwb
,
298 unsigned _BitInt(575) a
299 = 37458390908651944486318701298774946253221298284079678879752196062749754015767054813622389341442171327838532365078549465402085621913002861059272532398763941224574356382919877uwb
;
300 s575
[1].d
= 95573020206290249524150023772890126071219633117171019262766503336310672999410172030736216511031014256906040106668955921896748704905692143264499542165901631357858279597168868uwb
;
301 test575 (a
, b
, 0, &j
[0]);
302 if (s575
[0].c
!= 71835056112914750846225746791835613082740285561642802348494468629675719606761159266011893596664019145187589550627068973430325671456228503438760044269704956730966806603380315uwb
303 || s575
[0].d
!= 35092678436051398145450456092160957085574382283207240091541444540207322324444176804583959098631686867119531362746451350477963519431922701372937009164511004298364112449348870uwb
306 || v575
!= 120580345083639585750930824492596512776957310040924930453399446803675850592937927405158602701611708600515436512352934022368303364316156350983442305043074396650200668207530235uwb
307 || b
[10] != 110004311053786619259986678143505471501869971439303158252331533020072292936027495587470733973742054917424528022233289606593259788774806137554470308009293095009499747765639537uwb
308 || b
[12] != 90257646752648441641983032604772146169931063856427735418798179069190522557764778760793267026353059230994416449755072177802248731230075391895998576273477487980969988750249572uwb
309 || b
[14] != 90257646752648441641983032604772146169931063856427735418798179069190522557764778760793267026353059230994416449755072177802248731230075391895998576273477487980969988750249573uwb
)
311 static unsigned _BitInt(575) c
[] = {
312 82504361427244542991820094956691549960754114745978822099335511938351682595536290531725259255179129363075052806202441257721202109466202003805606931995490008444343669600699853uwb
,
313 42079105016133747306704896727331693360594255070597992997150557389990664988368628699356162986776491822580146238976269442994821141806156379826188754250358560351182286381406736uwb
,
314 711769802844526498820507696850878181897548931161560217731770512934668229904523420294613194965001881326982097300327085293326593185529346399uwb
,
315 89175170277971754813127791070754356690231836881294855904530631438372575707050409381165002268066908066508189405070930638781220028058233443902931422213686026604811589591935872uwb
,
316 94050888747959189678836802993335292608994888939368012114118213842817585341848237784852826131167319219605431056321492019432538459246136124892413917192336008119041481208682712uwb
,
317 38239296209217737134837463059250986563276353222124626638871007389306434648840299613965667293607942327919361664341059433984563767109851991087195673676603874741464175459967356uwb
,
318 97333559006669714102408081289832637446384482871277430301688457830360630424953635234987417481437096537137502568526675247478692954009451991021793982942577536513823999917011895uwb
,
319 814058611482863339892667997284732764996205177020902937843791947020441701239100773171893112609065674118654895982160611994461705590872496334948674479714606751038741393040439uwb
,
320 97705579217072075210280690501837541720113857756901619907589735305607760170945080008347962500870233338612695073361639697585534957702253004388475713115759324045158713339246602uwb
,
321 10982982241715500518624383020617613623499620192753751475894180095116406586056643710374985626416110420394932716762424522515613555006307631143920933236927136144852926571503121uwb
,
322 55829504657908340201404797796793782979617205764045686020250304202907511578861596703885712251150659580577184194460916884943183841026041393794213790496185940144912189048827888uwb
,
323 100875306823715847300644682553337559470837966294108010157772959400031914000172409603541204719305055682465391367527242389796209306256295618004852296452270010541263847504922010uwb
,
324 15279010635266215057483690428202871735658936908535846754770399078825578981747757698046709583412828936255448971025234637952103022364332558473695317217263761931457640744952794uwb
,
325 48444770867335255303325633099437372188650970089231857000193390748362558989590160188759337817835818168773038925935268431818011879469195339807606486208276196817195956747180163uwb
,
328 a
= 8297086167455412951314345399041666622690871902388991853000149614722648899348042581378229717518281695539366926410544760114561024579207473131456671312516393uwb
;
329 s575
[1].d
= 4522353484324747955267125937291948655749617973066893955369024131525488299108320993071208813642361430492411037439152575330738596343613170269621629934531241uwb
;
330 test575 (a
, c
, 0, &j
[0]);
331 if (s575
[0].c
!= 74915286869691307910535753931416633675608326651216782655214347437885792615716349010228495093791076801730572987413666208183802410598889783023687426699732483562656666028609189uwb
332 || s575
[0].d
!= 67322626164534684432128142510263628633851970452429406664125475042690110884386765927066456699852665904022478919125681907729713202628765997176929559711053556150174518973540046uwb
335 || v575
!= 957446538841628005556782697277372214755225292234338746407969911426093601549542767136921707284650291002859873625214881579964754653531202313001246740598261075986212409306458uwb
336 || c
[10] != 123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349567uwb
337 || c
[12] != 75220429869217011726925627410386222828914704461374062956838137298086053563675773396398862712785704326025796787072801237857670637684180265176166591342670387141107429327169404uwb
338 || c
[14] != 75220429869217011726925627410386222828914704461374062956838137298086053563675773396398862712785704326025796787072801237857670637684180265176166591342670387141107429327169405uwb
)
346 #if __BITINT_MAXWIDTH__ >= 259
349 #if __BITINT_MAXWIDTH__ >= 508
352 #if __BITINT_MAXWIDTH__ >= 512
355 #if __BITINT_MAXWIDTH__ >= 575