# BigInt validation file # These are all in decimal, mostly to help make sure the I/O and decimal # conversion stuff is working. We test the hex conversion in the PK tests # anyway... # Some of the numbers have very simple binary representations (such as # 2^256-2^192-1) while others are chosen 'randomly', mostly by me hitting # random keys into 'bc'. Some where also machine generated with a strong PRNG. [Addition] 0:0:0 0:1:1 1:0:1 1:1:2 1:-1:0 5:-0:5 -5:-0:-5 -0:5:5 255:1:256 65535:1:65536 4294967295:1:4294967296 18446744073709551615:1:18446744073709551616 124536363637272472:124536363637272472:249072727274544944 9223372036854775807:281474976710655:9223653511831486462 9223372036854775807:137438953471:9223372174293729278 # Carry tests 340282366920938463463374607431768211455:\ 340282366920938463463374607431768211455:\ 680564733841876926926749214863536422910 340282366920938463463374607431768211455:\ 340282366920938463463374607431768211450:\ 680564733841876926926749214863536422905 11579208923731619542357098500868790785326998466564056403945758400791\ 3129639935:\ 11579208923731619542357098500868790785326998466564056403945758400791\ 3129639935:\ 23158417847463239084714197001737581570653996933128112807891516801582\ 6259279870 11579208923731619542357098500868790785326998466564056403945758400791\ 3129639935:\ 11579208923731619542357098500868790785326998466564056403945758400791\ 3129639919:\ 23158417847463239084714197001737581570653996933128112807891516801582\ 6259279854 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:\ 18446744073709551616:\ 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194658\ 8393177722715635711 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:1:\ 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084096 -397942700139194066108348269604271467697661897648384734165029652\ 9192053560111268857919862747528477749805933030612876334500852832\ 5994574657552726381901:\ -342238655038:\ -397942700139194066108348269604271467697661897648384734165029652\ 9192053560111268857919862747528477749805933030612876334500852832\ 5994574657894965036939 2511029185349894083125189792298767815734633609329237357694542628\ 9097725034326735312448621015537884914:\ -365510811543986457345339657399796975273732516080550566276869562\ 81114038842935173436543461:\ 2511029185346238975009749927725314419160635639576500032533737123\ 2470038078045621273605685842101341453 27802650352:\ 660736146705288303126411072388564329913778942:\ 660736146705288303126411072388564357716429294 -134824589995504186480095446370988146623149603821668360871542456\ 6397833766910915722793041224478985289:\ 1151714952286618235856515264359526625702022859705853911311473221\ 8008332987904361457299261161227276764386173666571334749062651694\ 592291882972:\ 1151714952286618235856515264359526625701888035115858407124993126\ 3544623106438129961261044477618561339819775832804423833339858653\ 367812897683 -175405304416816169628682516351336019150390262549968865836182439\ 14226325157426408929602625346567256761818:\ 8652004279835272452069018101603566414024194616420826231795446815\ 19016990:\ -175405304416816169628682516351327367146110427277516796818080835\ 57584922737964766846979445801885737744828 1288447760742982615563987140969486034581770182750513292185554983\ 74:\ 4438163138291508763620522351346106032205489281076979612299536118\ 73695276391917150913346479060246759720475193648:\ 4438163138291508763620522351346106032205489282365427373042518734\ 30093990488865754371523497335298088939030692022 1709484189262457846620911889502097055085989595277300243221975568\ 275935717696463:\ -1646592344139809206374540620411514484579951199941360:\ 1709484189262457846620911887855504710946180388902759622810461083\ 695984517755103 3201758654296371761657093415761871025401806278064180152049287711\ 7023353895132395250905592913967322327352806288308303059519915387\ 7335714942842:\ -282824169696073608987996588238668793593857085654548122761949764\ 0844399275054327390050478930503975773972:\ 3201758654296371761657093415761871025373523861094572791150488052\ 8784685101538538165251044791205372563268366360802870320514867494\ 6831739168870 -403539836054218172590829531210749614210541501474425943996337720\ 4111754181625695349185753326709217:\ 85450213703789913646546187382091037800:\ -403539836054218172590829531210749614210541501474425943996329175\ 3898050391712048802998371235671417 -129216644607347987680152236338235788743165763918415128477552538\ 7363973852756087726243671676713861533673009088319851:\ 8045388958745181755374994252823750582362455317985903504033438417\ 6695557207064326714194569562489510933024274993575473943439469171\ 4971:\ 8045388958745181742453329792088951814347231684162324629716862025\ 8280428729511787977797184286880738308657107322189320576138560339\ 5120 -451986588700926309459451756852005697379481014956007968529234251\ 884946522682901215022086432597024324062240835564200177389:\ 15762983479:\ -451986588700926309459451756852005697379481014956007968529234251\ 884946522682901215022086432597024324062240835548437193910 -390747541211572881697456702205527837411679402562428747433403883\ 1885743634200801846649105209920908153587891040882946582394429615\ 396962188674594744360388466:\ 1938936112365378546948796774781062371570792073982831173929981754\ 54362643521031390:\ -390747541211572881697456702205527837411679402562428747433403883\ 1885743634006908235412567355226028476109784803725867374996146498\ 003964013220232100839357076 -72603710637966201224690926289:\ -136184426422985332615812550349236126405125071507280171067688615\ 06299813289801666559564532:\ -136184426422985332615812550349236126405125071507280171067689341\ 10010451256002891250490821 5607796083571305683140294840679074710788944676935750975947220760\ 3483968107693997028111823994257399379783658853302692762256851623\ 103019589392739:\ -427057313888431079237360487703561848638868677065083968842:\ 5607796083571305683140294840679074710788944676935750975947220760\ 3483968107693997028111396936943510948704421492814989200408212754\ 425954505423897 -220980083850850444349478376253480033771210140515678470878219758\ 0824527899758308:\ 4284407650303949586450021392583759850781770841835415277411207859\ 6443089606598570396235816327987463393971710495985285591895096794\ 994387176281079:\ 4284407650303949586450021392583759850781770841835415277411207859\ 4233288768090065952741032565452663056259609090828500883112899214\ 169859276522771 3388776730880982684241784117615223232127223178833840452685901937\ 0507113927387984766381329515371768224976188337692:\ 349484339542971517481628970179002500341:\ 3388776730880982684241784117615223232127223178833840452685901937\ 0507113927737469105924301032853397195155190838033 8574808963985866072258732162153629808269070752641242695163010155\ 1228144063151688592419555048867068162:\ -383634567691961960211191292397062452265352651123492760493087381\ 707279:\ 8574808963985866072258732162153591444812301556445221576033770448\ 8775878710500565099659061961485360883 23889807888563742283608049816129153552608399262924421832404872043475:\ 995:\ 23889807888563742283608049816129153552608399262924421832404872044470 -654786925833474864669230962582694222611472680701859262466465606\ 239654996048306783957549697781271829257774329538985:\ -276137507159648540503039013089014674747:\ -654786925833474864669230962582694222611472680701859262466465606\ 239654996048582921464709346321774868270863344213732 50463316268089933:\ -140591583463431806921000349498135287589005423318927850947894242\ 9953101385694731575213124136524392343244191305277028999171613076\ 57443381774866237429:\ -140591583463431806921000349498135287589005423318927850947894242\ 9953101385694731575213124136524392343244191305277028999171613076\ 57392918458598147496 1339015021665554488163337105187026760232395594198925052890859936\ 418304234254229440059229155546157793544192:\ 6294037420283433712414743361937677483761554699961644450461297486\ 2247932788230044871756877711635975905661325925915992499702811257\ 81761944353272:\ 6294037420283433712414743361937677485100569721627198938624634591\ 4118200390554000813746128240544575269844368268458286900295102813\ 27919737897464 -241446683:\ -282671163032866994488211995758272717472259277760825940523445628\ 442206062910449311538519756165635175664610569214430918184214:\ -282671163032866994488211995758272717472259277760825940523445628\ 442206062910449311538519756165635175664610569214431159630897 2358605503303452637996081421902056515951744611718383128442445119\ 505739707550326378912342448355046239066896995563581:\ -383043722914532516527336452555126144064884579194968166126094695\ 6860463720730123941973615:\ 2358605503303452637996081418071619286806419446445018602891183678\ 856893915600644717651395491494582518336773053589966 1860794367587960058388097846258490:\ -237344494507203983863096991896035366478949095337787603280:\ -237344494507203983863095131101667778518890707239941344790 -286399096802321907543674770412181810379003627366516307780436082\ 546:\ 6433131620680089024037442172197761714707480582555136398379812339\ 597187475099646442833150194:\ 6433131620680089024037441885798664912385573038880365986198001960\ 593560108583338662397067648 1811803390771023695595378175836278947833228041818597295747524425\ 7214680056902377349016498752054120312533829578576324428322456925\ 9250011493:\ -119912766577350317025030707802803587547945939765717835695952624\ 5067549497129923023348187933280753018204983010837846725666878521\ 137637491:\ 1799812114113288663892875105055998589078433447842025512177929163\ 2707925107189385046681679958726045010713331277492539755755769073\ 8112374002 -641402013955555338114086428916201846520512758110759261762820321\ 4491558550345077676836677565241902214951203461131114985869530775\ 0874152:\ 174441039:\ -641402013955555338114086428916201846520512758110759261762820321\ 4491558550345077676836677565241902214951203461131114985869530757\ 6433113 1272757944308835857208037878018507337530557445422230495561634616\ 5037244198775127175123602392596401935136013522028214622088960493\ 31599624285621:\ 7326562354017884140300121264633612334070903165496641915889499701\ 38457507491850467631029977010:\ 1272757944308835857208037878018507337530557445422963151797036404\ 9177544320039760787457673295761898577051903021729599197163878997\ 99230654262631 -296171972628230:\ -829576609912184321900082369936222286517382010256973151771639172\ 7126741710202086962877467940292139:\ -829576609912184321900082369936222286517382010256973151771639172\ 7126741710202086963173639912920369 7469859140681995100248436821088394448284142227691915206159676323\ 62127522466922882591:\ -20487191102299831461877807785745372724903547246374023:\ 7469859140681995100248436821088189576373119229377296428081818869\ 89402618919676508568 -4:\ -234439009075326480604323496098115161312227136676259000693031887\ 6906455201397017135:\ -234439009075326480604323496098115161312227136676259000693031887\ 6906455201397017139 -448761802739957373377693318750581411296787367117499463888322757\ 67882143882764:\ 20982187786:\ -448761802739957373377693318750581411296787367117499463888322757\ 67861161694978 -601944008264824351134005823298148744369561537910415436895793990\ 7896782179207195666302228625496897271988494:\ 5325663024991554160033166078015937845836527207540797603647364222\ 91735917382015688217276924340984564880:\ -601890751634574435592405491637368584991103172638340028919757517\ 1474490443289813650614011348572556287423614 -737554715636160268477263493571675308338509596629210590529282292\ 3781472871944886871927821129478599825311797681268315326408823018\ 2865250970217610487:\ -30100016097092378349958946184353117306134810372681:\ -737554715636160268477263493571675308338509596629210590529282292\ 3781472871944886871927821129478602835313407390506150322303441453\ 5982557105027983168 -221117706668970434568685275663894630667495895204444708028536428\ 3965878599873864667094550865713828159912:\ -536556043937245689200756579876160678199726920153847573681478030\ 0517383963455858081652308237033460360040921820049494698892905680\ 307378540208:\ -536556043937245689200756579876160678420844626822818008250163305\ 7156330270130817033696755317318824644006800419923359365987456546\ 021206700120 6074122512337108841968521649035076841633691574254417104144285970\ 8190687151580370231498672521465704184848502349798380642493738161\ 63440:\ 301843614094506325875637699:\ 6074122512337108841968521649035076841633691574254417104144285970\ 8190687151580370231498672521465704184848505368234521587556996918\ 01139 -518214776931158149908771340564348982010543985108065053479219152\ 7346598920424997741288096547136515478330872068932567407374262007\ 15673766732196603988:\ -298351725577476937261155258873861370046745453114225573456588840\ 38760353928226157702249175218280718951979:\ -518214776931158149908771340564348982010544014943237611226912878\ 8501857794286367788033549661362088934919712456536106689635839029\ 64848985012915555967 15937412249227240968245047444122:\ 1862146803761694261088224507009788278865690534402542585855766455\ 30381613666540347032550716844628275956253:\ 1862146803761694261088224507009788278865690534402542585855766455\ 30381613682477759281777957812873323400375 -125280101162586858550475042529281076239231054587017617079119695\ 27003855713485846140551107967495813584097081777160:\ -539986280927242338236008809854961759996986302156061552378097160\ 849129372827386927545686899193598721998757419572890:\ -552514291043501024091056314107889867620909407614763314086009130\ 376133228540872773686238007161094535582854501350050 -2454746908:\ -382295712788939478005524215636037018707559207865555237605060467\ 9934415014573879513870030211860839641756441626913419699098985245\ 833920954444218:\ -382295712788939478005524215636037018707559207865555237605060467\ 9934415014573879513870030211860839641756441626913419699098985245\ 833923409191126 -54288706131860071583318409080596095357980447323635:\ -425339410556015631098973742993327323051438456819027069606294261\ 157940297643297240559452124432779202181589763874:\ -425339410556015631098973742993327323051438456819027069606294315\ 446646429503368823877861205028874560162037087509 1418766894051319870818496026367686195459604395660119754151922014\ 257535705077512233275240217434104:\ -111987390206074845527:\ 1418766894051319870818496026367686195459604395660119754151922014\ 257535705077400245885034142588577 -690410131860410477456103857594543515409677479242833618634809302\ 4529626004763532868225501682312348541164651530788457447229874477\ 19420052500874721214723:\ -258469037743394674731135699243278836145549479106673938483740960\ 9897387109736539600623155880918146331681272708396146283818299:\ -690410131860410477456103860179233892843624226554190611067597663\ 9084573915430926716599597781286219638530047537020016256411337794\ 00692760897021005033022 -2326153002179462643778624079324592172489363679671158:\ -109819757548464054181938329012610459679:\ -2326153002179572463536172543378774110818376290130837 -442875225056652548835385770919494174299378557880791141401695920\ 6453045495320705299466107784149485981354180907411034982168391:\ -392477782593742153255217680053880075265812358324465405897205608\ 55741992694947322437679214611686905696:\ -442875225056652548835389695697320111720911110057591680202448578\ 7688877941861295020026963526142180928676618586625646669074087 3047:\ -735645878503131535237769321637196107334337768903902046180401737\ 9719600010085607082927794304834315616579528230750813527764131521\ 4:\ -735645878503131535237769321637196107334337768903902046180401737\ 9719600010085607082927794304834315616579528230750813527764131216\ 7 -89094716573076464980713547115099137014719483620102078148320806773871\ 083148864:\ 89094716573076464980713547115099137014719483620102078148320806773871\ 083148864:0 -89094716573076464980713547115099137014719483620102078148320806773871\ 083148864:\ -89094716573076464980713547115099137014719483620102078148320806773871\ 083148864:\ -17818943314615292996142709423019827402943896724020415629664161354774\ 2166297728 7139718976538104911036273126224339498939049952371944598728684359\ 8407339615555456955143712741779487184644001767776382991377987516\ 772847242986:\ -5821969555717973232123574849275726788359152255219972775831:\ 7139718976538104911036273126224339498939049952371944598728684359\ 8407339615555456949321743186061513952520426918500656203018835261\ 552874467155 -181409752656613138777964092635909379021826360390960647186726991\ 165227400176766831466541160049935205507919070233410228328274:\ -523301382154855044703947051892202646490840761177533623732372519\ 6899184207698424247726764075013505280967149049152973476842478027\ 73107355881667545916901:\ -523301382154855044703947052073612399147453899955497716368281898\ 7117447811608030719594033986665779282734817363818385077341830082\ 81026426115077774245175 6858961373707073067:\ -334051508933893061433844279764271107181974906283364991309903077\ 649971606436918071327072869826471946094594594115614990907:\ -334051508933893061433844279764271107181974906283364991309903077\ 649971606436918071327072869826471946087735632741907917840 -236350989303745694071719069604296168709084242815199446584909401\ 09956689534874971218650241680916564611:\ -189589178757795228335995891331428279524485393011427187469792714\ 4384667023598274379343968662673642819854164720298367788750543006\ 0922528525205:\ -189589178757795228335995891331428279524721744000730933163864433\ 5080709985285365221772120657139491913865160389251855285872408030\ 2603445089816 [Subtraction] 0:0:0 0:1:-1 1:-1:2 100:-100:200 0:-1:1 0:4294967296:-4294967296 4294967296:-4294967296:8589934592 4294967295:-4294967295:8589934590 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:\ 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:0 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:\ -13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:\ 26815615859885194199148049996411692254958731641184786755447122887443\ 52806014709395360374859633380685538006371637297210170750776562389313\ 9892867298012168190 17976931348623159077293051907890247336179769789423065727343008115773\ 26758055009631327084773224075360211201138798713933576587897688144166\ 22492847430639474124377767893424865485276302219601246094119453082952\ 08500576883815068234246288147391311054082723716335051068458629823994\ 7245938479716304835356329624224137215:\ -17976931348623159077293051907890247336179769789423065727343008115773\ 26758055009631327084773224075360211201138798713933576587897688144166\ 22492847430639474124377767893424865485276302219601246094119453082952\ 08500576883815068234246288147391311054082723716335051068458629823994\ 7245938479716304835356329624224137215:\ 35953862697246318154586103815780494672359539578846131454686016231546\ 53516110019262654169546448150720422402277597427867153175795376288332\ 44985694861278948248755535786849730970552604439202492188238906165904\ 17001153767630136468492576294782622108165447432670102136917259647989\ 4491876959432609670712659248448274430 # 2^512 - 1 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:1:\ 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084094 89094716573076464980713547115099137014719483620102078148320806773871\ 083148864:\ 49505213825110728957828173754776257356620450607893971553289366249708\ 672306581:\ 39589502747965736022885373360322879658099033012208106595031440524162\ 410842283 65894747009896006767807716946835412110318548717263922395390971078905\ 789585431:\ 38842697419255082259907154168620472841946037999026507486310396086843\ 67281358:\ 62010477267970498541817001529973364826123944917361271646759931470221\ 422304073 5950196396451977566902121301707054218364717196893101360011491777\ 7619522537369647091659626133477106071641786829877837558948110242\ 88429224592316636383:\ 8750653273562160761286422180115618621879821429145276197424652349\ 306577311499807887070429373153777028581165316131683348567:\ 5950196396451977566902121292956400944802556435606679179895873155\ 8821308245916885117413102640411332956643707959173543827410339957\ 07263908460633287816 9815262808265519920770782360080149146267723690:\ 1406700576889160928136491935811529134135218991825578039756006074\ 8765650205261663193732434161580120817:\ -140670057688916092813649193581152913413521899182557803877447979\ 40500130284490880833652285015312397127 -390149102941948621568479722346940666704376013734485343840154221\ 6058534125031549938788864908670209347775308945934163371753998650\ 65870417717658815158195790:\ 1456031684988128870809574635750149625240648487837308:\ -390149102941948621568479722346940666704376013734485343840154221\ 6058534125031549938788864908670209347789869262784044660462094397\ 01620567342899463646033098 7473774301764883450943:\ -262563698593678907551573728200523874834027237901855629084919338\ 12453:\ 2625636985936789075515737282005238748340272379765933721025681726\ 3396 3624634325121492202413918675700914884929548559339795200323734966\ 0142296147421019916619944353877490544706223768684758263065399016\ 597969:\ 2574427901445527995149185461475228850098549655325125750771680756\ 4031046245695227927925972232181431549249881995623555170649626659\ 54307425375180:\ -257442786519918474393426343733604209308940080602964015737372875\ 3165754964427226645371577306598198801047497654856131748380204402\ 888908408777211 30129746266682790628283889040897642317014108334116727:\ -158048052389539876256372171547438090363007387136214391586439872\ 4834897608423:\ 1580480523895398762563751845220647586420702155251184813506715738\ 943231725150 -4614735863800137951667138933166372061:\ 87175694379075561307234146162193190462135078700346746992273:\ -87175694379075561307238760898056990600086745839279913364334 -3753904:\ -11269137783745339515071988205310702154422777729974:\ 11269137783745339515071988205310702154422773976070 5925239484953794400820212797381700884029188584554700501406527871\ 71830058864932939900794505955437856926902975870288:\ -205854658295495452479104108497931263758143158076949293929661651\ 111:\ 5925239484953794400820212797381700884029188584556759047989482826\ 24309162973430871164552649113514806220832637521399 -33993701617495591491176844355:\ 3438065097398894672826284379125235190693300918673662774192379185\ 002391232383325160416036963599856704698280:\ -343806509739889467282628437912523519069330091867366277419237918\ 5002391232383359154117654459191347881542635 26876428790838270949718735111909136008255051776703:\ -178112811296681037328619200883114927554699563526876724185996760\ 9117529616872536681035700534316457543887601645022:\ 1781128112966810373286192008831149275546995635268767241859967635\ 993958407710807630754435646225593552142653421725 2059771092932179758019770618974659367350250375647433386639519387\ 69317693429941871882153770641334267205446421916220398066553188:\ 3342500267594994347156312297990633112620923791590960237694328174\ 171473763026:\ 2059771092932179758019770618974659367350250375647399961636843437\ 74970537117643881249041149717542676245208727588046226592790162 5545520403000578843599072515870982842927227412121917598877293331\ 575380404618111609:\ 5991287327241003718821424770352575362437680738923552868139860461\ 945460339860477495902:\ -598574180683800313997782569783670437959475351151143095054098316\ 8613884959455859384293 248039029608125071340:\ 3664608673:\ 248039029604460462667 15425705711415937103627:\ -143550406551774570344004527686898291075408140547412300376755421\ 1132837427846963435621523810229738262235546179779885824:\ 1435504065517745703440045276868982910754081405474123003767554211\ 132837427846963435621523810229753687941257595716989451 5088284720510864560728156892268365268867173823603073291434760082\ 1086:\ 12176160963158:\ 5088284720510864560728156892268365268867173823603073290217143985\ 7928 -354265185659858189476700478770330228855421724619735662285097710\ 5341631254320181588119095376220762923216041205830017303882425678\ 3171761132:\ -486486260736646884318469435312383053458853801109381241820880813\ 5799:\ -354265185659858189476700478770330228855421724619735662285097710\ 5341630767833920851472211057751327610832987746976216194501183857\ 4363625333 -142859621471226831038214482817138481252017914160812187001355640\ 2879770424002218157546599921571184:\ -4054101:\ -142859621471226831038214482817138481252017914160812187001355640\ 2879770424002218157546599917517083 -200931:\ -445588024601304957594828329131607177911517867255705194754496076\ 5970517168228311149083493083504573514296684748300915751495017756\ 5952218520297258834187372:\ 4455880246013049575948283291316071779115178672557051947544960765\ 9705171682283111490834930835045735142966847483009157514950177565\ 952218520297258833986441 105704314890799915321259:\ 8279235459450764155749124384991698144145630668774941008316577611\ 9049069747385436947778487411878749535140554980332961534712093812\ 3226038208:\ -827923545945076415574912438499169814414563066877494100831657761\ 1904906974738543694777848741187874953514055498033295096428060473\ 23310716949 1448979433940064018828919290452280235308901982649341:\ 303926827425887072291878308433008512899006711759770318009:\ -303925378446453132227859479513718060618771402857787668668 -243237595290235750457450892290434789864:\ 1981770207633427640298127306741732109846753330094746386538370200\ 5126562800253466403934608765512316565811954342319565128573969:\ -198177020763342764029812730674173210984675333009474638653837020\ 05126562800253466403934852003107606801562411793211855563363833 294037338365659932242802023634:\ 4401245995535867764294876849802142926077599828776505639975554254\ 356763769548465:\ -440124599553586776429487684980214292607759982877621160263718859\ 4424520967524831 7303853946195223307036710881687367004566538357189824031021831088\ 365362:\ 119286025999378935715794641163321741:\ 7303853946195223307036710881687366885280512357810888315227189925\ 043621 5711673553432872356876026107141104160674262893635054129088049406\ 96550592413192300554016875:\ 15872188842802631759540597:\ 5711673553432872356876026107141104160674262893635054129088049406\ 80678403570389668794476278 1002240129784524388754179399598974973256811336031329881209395070\ 412702275169416754240:\ 5942948247886059134314539354042003351647830595287234900671578947\ 7946474753657206800070515207967709079933420746952:\ -594294824788605913431453935394177933866937815641181696071168145\ 04689663417625876918861120137555006804764003992712 1370431648825444838359719050380239722263203134555431526491525074\ 601463042144798545817957389:\ 3473869878:\ 1370431648825444838359719050380239722263203134555431526491525074\ 601463042144798542344087511 8548280229254726209:\ 3306612503526990498184932043401689273494314593558214198996828084\ 6973981913056248918:\ -330661250352699049818493204340168927349431459355821419899682808\ 38425701683801522709 -190235588326875064895081507959663321759901299630299289585841701\ 1175963029327693964733408210016910253836443785984639809506517193\ 6899503:\ 2489927112752354534228346876280965340763863196622012469575197689\ 4193103779443050843040771191227522843088079031762445684377195650\ 493065096847292797:\ -248992711275425689011161562692991615584345982983961148257150068\ 2315168794955481047333404813087485692518824813430081012223704204\ 8588130268784192300 -180035357552270638928830562379719669053087020435672292804206122\ 8497437075035917720399302198953687023:\ -118756682615304660537085387309407764121711064830726245327571774\ 71384128016458332544642788404765469924496127460164:\ 1187566826152866570013301602455148810654730928638209366255282074\ 8456085955229835107567752487045070622297173773141 -29861551039945217879:\ 1113473025916855642353456146647542930581669082348409639697282960\ 8778892265003199963808382325823762328728689476247937892128298859\ 34:\ -111347302591685564235345614664754293058166908234840963969728296\ 0877889226500319996380838232582376232872868947654655340252775103\ 813 5655329636567611538382182775649579176587072976497579206763033016\ 55328103665512287797108510139837643506491641987188791892506290:\ -2188105671531473889939411772533707:\ 5655329636567611538382182775649579176587072976497579206763033016\ 55328103665512287797108510142025749178023115877128203665039997 -349535960680522202843083381184496349093812380954435872337802226:\ -1829600726218222026679938:\ -349535960680522202843083381184496349091982780228217650311122288\ -1:-6726974989587128275:6726974989587128274 -107142709838121196902389095205618516687047338619382145236348309\ 762148611647954748824:42484103615491:\ -107142709838121196902389095205618516687047338619382145236348309\ 762148654132058364315 -905466304300857697648396075281161213818488784945743608120275996\ 40018921358040178215575723:\ -118922408531468986902800063237122125617455464103913195171141030\ 774109638861272017660698580914239435114280434761425243:\ 1189224085314689869028000631465754951873696943390735876430249093\ 92260760366697656848670981274220513756240256545849520 -554504466708242712880172641672765736000158843011357818285065757\ 3063241939882570324573086267287272360432363387213743735507218270\ 373633222520429:\ -151423255459028627628896755237194376177115:\ -554504466708242712880172641672765736000158843011357818285065757\ 3063241939882570324573086267287272360280940131754715107878321515\ 136438846343314 -5247636471953421659649611318164848102069:\ -4024324110573096565232590473170599175885004:\ 4019076474101143143572940861852434327782935 3941289260601504332248485425387937172318645783859022479504017847\ 2832:\ -503832132195745214503468781543289068482546657912347492184846539\ 3400312:\ 5077734214563467188357172669686770056548653036962065146643505571\ 873144 -559794145880092270356836245052087667531874697277996402772042742\ 07843317583292736333912783829528270272642583004969175230274821:\ -109633110576212669339535976775635762395927171313557427036242111\ 4760163985793453669084013340255712657141281083080320737794421813\ 69365924213118258269679:\ 1096331105762126693395359207962211743867001356299329218274753582\ 8854667077970508970412712618225368242139177439524824425117190872\ 6782919243943027994858 -387523538981733893474792162857729999063252864213028668543507370\ 50533204094183249691110:\ 2428819407377764342156426895396654728835493564788997075896393065\ 230009911546390816091652653701035085361:\ -242881940737776438090878079357004407631470985056199698222167948\ 6532876765897127866624856747884284776471 -2784579005241382005249492720344:\ -164204542616919252351131740123094674:\ 164201758037914010969126490630374330 2009488574208715447478080609723750390524012808225058048517328681\ 00:\ -795957177479360455258269298038670876462147576765875895105714:\ 2009496533780490241082633192416730777232777429700825707276279738\ 14 217570540819:\ 1219550835977204209833842821666933073941855304313684768349807483\ 02158718406063500763434561937200696970170700:\ -121955083597720420983384282166693307394185530431368476834980748\ 302158718406063500763434561937200479399629881 2335319252198456765380587281374076367944:\ -4500271:\ 2335319252198456765380587281374080868215 -393694614027544181700073367147249369966344727230221941008713805\ 434207925307052598:\ -153972676737062409261153899615588515236137907791841623991260363\ 8406802955653131579724891681323455217806580074596028231257978067\ 70:\ 1539726767370624092611538996155885152361379077914479293772328196\ 5898022219816590860252282340511529983964929365416861520049075417\ 2 114832549702862263167:\ 1292186490722995955874527641883028787538667360089228102228659716\ 5773569473039953984775959232814911435097412913078625:\ -129218649072299595587452764188302878753866736008922810222865971\ 65773569473039953984775959232814796602547710050815458 6489502346837936889305337487724547956628371915228387374094443896\ 2663621059310651530729834259117675802940765940789328350084947778\ 66083:\ 1099205476533612407829257935144627350486541654788267826664706620\ 630745291371323154513322608446957760026881954001581:\ 6489502346837936888206132011190935548799113980083760023607902241\ 4780942792663585324422381345404444257807539856319750749816128238\ 64502 1699911441239587542538013131736629773378508702733583789516405216\ 01077152994474340806917796870911557233689087716056557:\ -15409167:\ 1699911441239587542538013131736629773378508702733583789516405216\ 01077152994474340806917796870911557233689087731465724 [Multiplication] 0:0:0 0:1:0 1:0:0 1:-1:-1 -1:1:-1 -1:-1:1 -0:5:0 5:-0:0 -5:-0:0 -0:-5:0 4294967296:4294967295:18446744069414584320 # Tests on sign handling and linear mul 15928512:20395958369873946873946873498674938762987:\ 324877267646037601269025261886125746185503585344 -15928512:20395958369873946873946873498674938762987:\ -324877267646037601269025261886125746185503585344 15928512:-20395958369873946873946873498674938762987:\ -324877267646037601269025261886125746185503585344 -15928512:-20395958369873946873946873498674938762987:\ 324877267646037601269025261886125746185503585344 20395958369873946873946873498674938762987:15928512:\ 324877267646037601269025261886125746185503585344 -20395958369873946873946873498674938762987:15928512:\ -324877267646037601269025261886125746185503585344 20395958369873946873946873498674938762987:-15928512:\ -324877267646037601269025261886125746185503585344 -20395958369873946873946873498674938762987:-15928512:\ 324877267646037601269025261886125746185503585344 # Some tests for comba4 340282366920938463444927863358058067579:\ 340282366920938463463374325956791500548:\ 11579208923731619541729378749232972134965448161202875719419539386122\ 8599533292 340282366920938463463374607431768211455:\ 170141183460469231731687303715884105728:\ 57896044618658097711785492504343953926464851149359812787997104700240\ 680714240 170141183460469231731687303715884697989:\ 255211775190703847597530955573823923340:\ 43422033463993573283839119378257736288536818090295526758568867574118\ 988163260 297747071055821155530452781502797180927:\ 170141183460468022805867689086709264301:\ 50659039041325475543690391927479197318639397862390185708883012434796\ 959187027 14601326942920387013816701832353570086:\ 24264364577528921915881695974297771845:\ 35429192025871610141024926748879851702222338457773664017578783702084\ 5028670 146013269429203870138167018323535700860:\ 242643645775289219158816959742977718450:\ 35429192025871610141024926748879851702222338457773664017578783702084\ 502867000 14601326942920387013816701832353570086:\ 242643645775289219158816959742977718450:\ 35429192025871610141024926748879851702222338457773664017578783702084\ 50286700 146013269429203870138167018323535700860:\ 24264364577528921915881695974297771845:\ 35429192025871610141024926748879851702222338457773664017578783702084\ 50286700 # This one triggered an internal error in the Karatsuba routines pre-1.5.1 84464209123861960605955522581978104887597821936897255830387847065955\ 8899906113628751877643450961:\ 98736951733086678034646082696089517704609210537259909243889983275639\ 1381482452634765035178337262:\ 83397385394360978145497699467080869269009479990938738462835142243431\ 68965095514489024855209740810586369398339972616667107927536797156602\ 16305715905081674268833475056324309733116240691616008782 # Bunch of random tests 65391683115015322641882045438465620784076516421367563767344998373464\ 211053082289513139:\ 14690551177765498638640685224012137037306962019402563878738998365076\ 1050984890:\ 96063986740135661881270234408778414507112892608292678410994214305223\ 58175678639192181958429173932035325313118014847793404794351246657465\ 400198770681540554545469710 1459164589787755339073553407089181299573246969:\ 4955710571301004201072727045590614350659542263:\ 72311973828792724517911747511119452992590495960205135450079047249531\ 44018123225390192150847 3793974577745786452436021977649815501504431203:\ 2923303082707524288431115654231878223978230055:\ 11090937578838235312365399492067271746660860774658228109409108903923\ 640884753924587454406165 101303541515453867913135264584014138619190734343846977507421629791:\ 36729564208551355196057918758932548366821793131129547653209379728:\ 37208349326455106997710672468998674976019345812041319483326955314975\ 51053692760634209776285429196890853333966465984989349956276848 44895767034162990997987303986882660674722497505237491649296190658571\ 47197906588923414435381184370662953551284823547380833018151742197013\ 59303201872276975123159197578062043415450227149917179130060317248184\ 61724742069401359454784533576615919680949125073761586043027941204059\ 690093447093117249681641020785611986:\ 16696330082433130739210985196630214321753266552182432027772967004925\ 52487573743509832387533060375698218277114850491112782115377202073776\ 62825100480410971654051009789510884031202872930809935194297665183801\ 70736075740497155051843194560584923206479837331572253151736065154330\ 02181215131563438851752144164132708:\ 74959454570640520505374182178324326203870806497691482733643463532317\ 75442982425470080130736910895976501997512084030656668411349679742847\ 21690931312000529989464756559726986788294230843854125058213935382088\ 33087270201941766663613578038620398830216648062658181759195126557523\ 37555785758593956590738976578724612143644830770362020115624628734003\ 14793973405636949715493148568894826023486325367366577289710265462268\ 93078189596361078496041841642207401666400444087608269521582499768080\ 07159362627730642339199533209051979652974085966347840098279340160090\ 19527545420793815544675402025957881285966830564213200530247666994380\ 88 31239732497959818638292779200667312725332984706050265703512759466859\ 84736003183931208107094690791134882086398364414246612787541657212152\ 296954515345861259:\ 44486010269203082806521604993132013139417339215738521529001729101974\ 65470989031351517957857643691181436996411785695418178273749379126148\ 152297344989418668:\ 13897310607113977660431400418487955410781290158603183057898927941454\ 42790371799023389229350908578189623154651948470463734628718228022175\ 37160459735416212605027206307627525795256098590275806474422724678539\ 64782315844000916960349331847619603498272594899577643345409426860228\ 282896290162148120168283702192583012 91271582:\ 1044096341139516502862794205655492738851558322471722173871372437\ 43310942332:\ 952963248162153539313947560906101692644945912572602330737192268\ 7571591624552409224 -91271582:\ 1044096341139516502862794205655492738851558322471722173871372437\ 43310942332:\ -952963248162153539313947560906101692644945912572602330737192268\ 7571591624552409224 91271582:\ -1044096341139516502862794205655492738851558322471722173871372437\ 43310942332:\ -952963248162153539313947560906101692644945912572602330737192268\ 7571591624552409224 -91271582:\ -1044096341139516502862794205655492738851558322471722173871372437\ 43310942332:\ 952963248162153539313947560906101692644945912572602330737192268\ 7571591624552409224 -9007685545468534598743641658049346286545924671394080257:\ 2708960019652616340610787776914583117699836940876415749938089814\ 6081690884713840035653793589401490015282276:\ -244014600122770296285710957465763428914667734328300934010213909\ 4856883353826536741655516010662407431799548978798414309377210905\ 45677125226465989158836569253624932 428475864:\ 1642909320501970182957064144199510240834448195404018829560344234\ 44879791407290995292738391711524351126135935031044584272585059146:\ 7039469905757345878447661340893057388183882714889777970681372359\ 9286724999378785107476015314565835105810467743874695068716694731\ 073452144 3804585298456788532803090036944486:\ 9742592765295469751314273699067197683737589672961737725951028020\ 8013084557451228262241241203602290304633025697300826898557186337\ 686135242:\ 3706652520369461349681131925078860959899355051485269139180490532\ 0467536020217182138330427311026318308608257076867490449833762996\ 8681057630927906028048393947534475842175612 -35149344750729324695898480464299390828429941822615:\ 1752615203067497391770113249494248437526672507748487522889401580\ 803582387921659886646983402010731854517398777968222841997058767:\ -616032759879889488930577794740723910260183908336496340745761376\ 2386195653397211971686493794958963315038864032857733526167220510\ 1088470032335610958791871921057479688753244615705 2224887148112689653000916580023252657898661078193469990759133236\ 362617772742210818665763748892926451655031017362736825860:\ -2254472752938568904593125981795197834529:\ -501594745378325694157035263090451802038729306146676277613732491\ 0318865702652093235942446178330845500337957245272966813848791221\ 008304843258214793080794968119940 -326328701700361893997973482656600190641887240518503116265346556\ 55295515493003511016396059566561:\ -21680483:\ 7074963869626767136670866125187215271008195405978317997637869508\ 45488283622299239531287490699813128963 4389513377810870521262475775128351860157070070803223156864617016\ 76781196153736168934878334587194620411888:\ 1591402338122279449286758479905480147444383058415555680119818315\ :\ 6985481852667243947827954917503754523391596798272663056116832798\ 8639257425760121941859610354487659319836581325691828420744517855\ 7475650610301655551351877918657026128720 -5742879080477972131875:-117203:\ 673082656869259767772145625 -41663152776865616597841653055290004804009193:\ 5835026797641751552624640633869101411165325469966866477145:\ -243105612927253227498125135247022492715711849036333775420426222\ 096834839368617968764219011608104393985 4173221:-226716880742:-946139647767009982 -2:-419149616949225277707956479498985786267693664978807:\ 838299233898450555415912958997971572535387329957614 -7465837654969091645574504830799010297689933581098938996:\ -202766795624052324242807175739440132217946363911505883055059139\ 6802793334274781900133686867487904621446567316359570842284699541\ 23774859572282855983153:\ 1513823977947471878037349023375096499530047411943626417913495002\ 9266163268789802231784935230530990513196596039364219349962480236\ 2882318096853516252518151818670572226535777283574688903592768015\ 9878750734388 3279753735679960497081857312:\ -120409079507914667933587089469886612743428895521786295640815348\ 9755449324053336110735728979481112654778080841040146337772577107\ 9932:\ -394912128325868511771837525267263805962903118191080245346895278\ 2101319174909498798792301813784053942666817514010081546325334905\ 4670131212205861739934570662784 4087017444924453990694625061188553846924665921421375573052029701\ 043709060984050262732827338392612774866740696110490073121:\ 3201354694306000008850909268274836475189060544721638298393454399\ 7010152870984867537367271090975150700374414635283625090662581086\ 8464508777654674:\ 1308399248301941463281797376424136020032561422146839113205163993\ 0095140051921364225220153999482159067766281848161373837807682105\ 9323529563247238502827327776282135135915279474234713191582888777\ 1511404594446973439104298431438185694530043948690757478249515261\ 147417554 -179313367402631288677862721876578030440889951889929042528322527\ 8085266134713795430545312954193172520148465554221323897345577960\ 264434757547077538451:\ -33744480794260115381826015778:\ 6050836482472199350882052360070598557985968830769735487227048700\ 2553193437634540742425617610465933528817398184780529934951394335\ 131691780368690568505046871430214639380927679878 3180313045123330718974011402998828102633:\ -395949120505103380356259679899143757026704962287504981215815665\ 380:\ -125924215314748995932963128833366357734780900635789980947564937\ 2075592673896477843481666129302983824945540 78394433139310872652394899769973779113149326061838893498:\ -506317937717:\ -396925077155891232039161994526220415197346559686986697686085602\ 64066 6992304690095528264306828961300165566845561346363146805401105701\ 874655545973774463962200355744318214727682521358902:\ -133619017321721689986267587295828262450483752049648766344634742\ 91685037600448415:\ -934304881504630204568833073073911400366279420013023235031438382\ 2934806501904607000964107025275607243164225972618594885288739045\ 8800341193419320569112624739820560918330202201239246722530352040\ 330 -279747165826180670739009508896477442612565831634509:\ 1001070223323787961662547493417138134890156942660669560843733241\ 4633638061364752177870909932683912027813180522891316:\ -280046557767811427898723527174997897592562433513837063010261215\ 7561198396498373067781895023542952270308263849208412127831845586\ 715174925803969788307318868622842023844 -152342817045381492055715979459468344477216937481934776490228525\ 31778605803188114866165739904589756975:\ -2212835903613879894390831209261230372573882516571420663066:\ 3371096552157007383916181066595556807779212082757370662982557178\ 6303181325061530061815766217946054712863588378057790411549645679\ 971413325974723607366298385350 -6494091656668836641394369738257289569440116499061905611026:\ 1112275782840317521987084233672591688806254182453409490318139855\ 2744964172429976273740793816660934415725201105937791700128767940\ 628761787374194934304:\ -722322088125810479882613158179027486065378866899909715094586413\ 7631103621500568007359634288605863429230875357724233639767911115\ 2068815511020712301669909478881408853498125187530355741482610911\ 208923048035904 1259075970239705718009909682383850925181613342972607875664276820\ 78026:\ -318663749166949940724436640747496455489904112200179629829091439\ 2694468149048117282961429675979014117768927070124265356881836359\ 049426402836926666527884852:\ -401221869162599711356856060105595763645472859526212982202400149\ 5177647664741074762667141421159412849263518723551697751858002053\ 7542672075930439535906386249755965714824568354356750289932068520\ 3787316784029369163777807462152 2209196064019679034549708549203671427517764511470713969280084552\ 75125503453318134640933653347485145888239438775112197321859:\ 124322370280092642752:\ 2746524910923777881431201305680978264281158564024544236980377993\ 0636867162970792373254349391903852439413048040893096230035640839\ 019184047515968 3082058203728546610432890576347992072668373530737159518097003484\ 3125203068791784796435721368414598060677372556794113220896530315\ 739449185455779351233:\ -552090427013053554588518469958636851397777719282856055637956259\ 9226137:\ -170157482977557810525065897604283065952067566293743982849411731\ 4057452157313429551986153220866320527892664570619020242072409661\ 0134368039649413644973455415575096896642638467426667020714240674\ 6077334196123944909716776921 -750276999830609236437180125267494301299136351451377419221886149\ 8911986254315057380891206497595590249266192106292303419043717156\ 81219472681905129612:\ 4205355271908551:\ -315518133662938357806548055254433388492269241826339016138263604\ 4618312099336135707474248962067915083570475597285597855437079628\ 850888491804577876260379972266112212 -891480538085009501272618223055661423871310460861205688650041631\ 6753749755092306432442174291514301244257968406437077389253407330\ 1027650622821713282798669:\ 1823891225274156993815141670030683418070006803521364429343774264\ 50339496570500278332821206013754250417471107492:\ -162596353091593275777884582766611115972439819895849702568800957\ 2367685595981932088283461337162038543383704114341129033405716497\ 0880798827330185683075499346562579922155299739327439570345879557\ 1617840239191503928488539315719099552021212289189718073280973406\ 93528148 2124681182585249920847800665256356364758375848619965937406893722\ 55899052138313727858090571132568351249080019:\ 166675024913973810158544:\ 3541312890416478684229072496000778308444354108581194567659019593\ 9857314201986899403459218685673527418723464730927296640736532532\ 336 1821270812209449323858422000208483696090755511739052940949819411\ 630382944845340233359392421633:\ 2128599324432790723202832411330404647604668944765842006449683716\ 50019:\ 3876755820478193889141631692181181045914395285524928078325690250\ 7363257606428059488182369494828732792776883797717522047063810333\ 3437096328016399478420072360461027 -335011184237031303208123967960797661123087083840830392886248022\ 143119440501379:\ -230989343999262588479185165706529031246884375719671837094628940\ 050182325:\ 7738401367932796012865144293474273194190542200590231371857014534\ 2578579884777706655220887725142189714172038628849075667359933189\ 054779585318363926175 9198355732743233736216530024186914753135748283508055875656089812\ 193:\ 5265840759145098384429490542373787636725124845354712989635142593\ 95934459401303991397630:\ 4843707653459529764586164414557294257741706853681297466140467212\ 4298268715305496704100180574245676306441226124334746402488026433\ 56143901511622354285302590 8714296327732867082392471731937188058841333771145620157971112718\ 8495045603213379592320067530490555856585188563018570084376435672\ 250185088374873:\ 4210349889307237465841484620878589644044295847340349009991385858\ 7615774626884639631625125100679586906920885988199787927848195684\ 62193938751049439136295957:\ 3669023657886054286232729883213956427553614823342184148988934625\ 8269564694550999939890817870432701814483867503196358666291080568\ 3307419798404926447543906006174853340917944983123029252530968474\ 2688682844881192340842766518335434033712938061191158275417587681\ 07991512024470998588265108393429890288461 2981019:\ 4433245119720584557487584549690245587480169135936518003445698498\ 9177614053957189552768994493672410015:\ 1321558793354433725697708180673306621094454631744034296211369269\ 35453261869513407243405875196532834030505285 3371841482115264548260749392909612923666167033836512042138667346\ 1110922005108438730679287361069225:\ -1224839645782921647445211493292528894:\ -412996512659022216647456819920862349778936230990047619735626685\ 9000246454258876625428723876322584511859911068016361053904468404\ 6687150 -339290341643379646242121130133274175571738607527:\ 3271401581452035936363564486098243173858343994842704626634540604\ 0333753792872314861533886742557607640566446319092917014148799834\ 8498182361629081026057:\ -110995496022355374018357458920157866276843573465657648989031507\ 1492983893793639677118229990155541637204519376994267321550212870\ 3024690173524970745190362239190804266551097416929422331908148558\ 3331039 -302193108025958893465396831014238400181355654244499365872812914\ 0671578942520441667218976086488594667623103779245243552871642908\ 5538517727995241:\ 2017851085218627867440914776334445037676170997318580940821659303\ 5046997219650546605682041506090881913886238203842281306969809595\ 246163485422064601589012:\ -609780690975771196107607785560739006824539433569270870499177868\ 0127071341610096112489032765719159734331084718676312427284431166\ 3160752183891441001416955478885614399224358737795082762053960238\ 3642229098982445564368202356432336746046757695325766162758445391\ 517573101567916271503836326565773891892 -35188123484838216734793425643059054080:\ 9000600267361446370368675857998:\ -316714233645582443508665110125938608546684298371094101256326282\ 531840 -287546392987328273673797823271747266125547785306672698267720774\ 608232552065:-724:\ 2081835885228256701398296240487450206748965965620310335458298408\ 16360367695060 7239719440345013275638025455463886572537307213436218405718641390\ 921197615256801869733473418374:\ 1273855558831670011845427584052189147328498974982056877978612327\ 370857472534105245496452412950690926717874:\ 9222356853465202151464594272999727525831895475287638674380433334\ 6933374970835844231896759667044442575039030759210684473734626375\ 4867082551600245844507805177238750672856996150996602083141097106\ 5816876 -467193764317015751447832154618223252689085556761857235622959651\ 6527745:\ 4062614168720459964554950353412675872692580185950353528672485067\ 66348747462819:\ -189802800645215543819126042173342480893460145936335827236015901\ 5836446083789360925533289958276050415814781716398053517857780132\ 893397801668369413155 -256291521346916076469577753590332243088939322304016068224382551\ 5025546499325406138:\ -605053480861014149406513375530972230393655979785947325614347032\ 55672033601321733124376224905086861012031956149097:\ 1550700771061164855884803447589885127420417575088485989466750817\ 5220547092689946197222125349076097067231864772732377382975294424\ 7005994565440548405623573916996459703805738162154040744466006957\ 386 37657585687987148872355696565539718:\ -1434800894234388160687:\ -54031137619832058507887448613713814837731429449464666266 4393856668836163872660314169038850961070596126492582636740923958\ 869429568049592915508:\ -725654263195468754856026662040358630736857297829750596111795962\ 7542041685201743870533093436197634453:\ -318842082361080325483580016771866191199973311649234286812044253\ 9591641099237099919800666371105550379907533870255064162462208188\ 3994207992073068621770789270796474452792924978217098797124 -22262682191673391309862211106958012450603677337242458360760:\ 220733215635032249425562508910063071532478728405839033930940264210:\ -491411342882883504420371271016231681619217410641501118113820080\ 3099803240779721785281408106422401055283687004275837896399600 -1943809061953917342683052893090:\ 7700827546161027851150293971073751401383411867756623153657156490\ 3719544057834222201379883202137441380031452353172493763083243:\ -149689383687721546514336832201365455374120959277626078690972108\ 3971845846592875060793450410610935237925773161603531529842259112\ 43685728191984096169649490870 3786170367178724834730573252874138148565139634940161475730134462\ 072806346795721773969696184:\ 5642009735645474144794852846572624514752624565190901861011302937\ 5113755663421195546:\ 2136161007243476508223846179651669079978058344237194176489154392\ 7622668375501304536598877419397709190638503067245194075783305398\ 2326877049744197485569753314370744763673996464 13489797398057489738508057443:\ -39829491566872094526554950598431919339453350924955014031891083289:\ -537291771704743910798219370322043426391226290103531988511540464\ 278547553363892492512309370027 -323325112374943657482631147177688351925959386858544487312506089\ 86289604167358883842577746321363893167908786:\ -246925431746938028131175064627088867042153744157154625487424933\ 24630571161151476958595194:\ 7983719296781021810724607567340308787943618592037051108694438338\ 2489270621359904712938918152105643713875728369108646194020367483\ 4484438934808794593359943127130153265367987222230213154933289974\ 484 -435100258456539648627052287294649432161393329378094060187883773\ 2690708495675481854054541928447945875268:\ -10155417715410577307402999881053155099930501238885853034128275227:\ 4418624872709263597834477604499556163338660202529113122166495103\ 6300436212506625541915615934966052700868562630468721925914800339\ 297995368984918582710621377945716385836 # comba8 tests (256x256->512) 11579208923731619541729388327330122708943419524243289762333678181937\ 5385575424:\ 74179307167655687693225162271190690968501083926425986337482366849894\ 604086426:\ 85893769551194762664489787067237470111583081643887491027483108939248\ 54152414995879834924747381994424629165311199542893443807287227310529\ 677629685837594624 11574114654373435432769681547953871289980961721498085841658839565237\ 8326940031:\ 10711660777805634592035489333768778748163480146501669697332609614056\ 735426801:\ 12397798998107734697368913960056304565756856899698066529320990905885\ 80174831683647898327881664370985256756518936891247178025618131778049\ 267698975117170831 27006267526871349343129256945225699676622244016828866963870625652221\ 609619338:\ 10706691322561929820710026337093404691680917641214496572907959829962\ 995350055:\ 28914777018473950489193423936996699498718323255670979720398132582868\ 12326099575727022500582226148289338093647474428048875439902371078972\ 17011952607363590 # Karatsuba tests (512x512->1024) 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243025426876941405973284\ 973216824503042048:\ 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243025426876941405973284\ 973216824503042048:\ 44942328371557897693232629769725618340449424473557664318357520289433\ 16895137524078317711933060188400528002846996784833941469744220360415\ 56232118576598685310944419733562163713190755549003115235298632707380\ 21251442209537670585615720368478277635206809290837627671146574559986\ 811484619929076208839082406056034304 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243025426876941405973284\ 973216824503042048:\ 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243025426876941405973284\ 973216824503042049:\ 44942328371557897693232629769725618340449424473557664318357520289433\ 16895137524078317711933060188400528002846996784833941469744220360415\ 56232118576598685377983459383275149211060880540032345872695461810342\ 17940303990259531467630757141966678572355892742551472687075667803012\ 238361561335049493812299230559076352 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149085058651889274919368784987519218104008495487\ 966999617338343424:\ 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149085058651889274919368784987519218104008495487\ 966999617338343423:\ 44942328371557897693232629769725618340449424473557664318357520289433\ 16895137524078317711933062342952193277060785350743397497444921769834\ 74555755777883734829695075352889186645794406339299840443362841695908\ 49124479353346416074683250011190629511478487550142982175186156043821\ 992372090244262099992413871225700352 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:\ 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084095:\ 17976931348623159077293051907890247336179769789423065727343008115773\ 26758055009631327084773224075360211201138798713933576587897688144166\ 22492847430639474097562152033539671286128252223189553839160721441767\ 29825032171526323881440273437995950679223090335649513062086992526784\ 5538430714092411695463462326211969025 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243365709243862344436748\ 347824256271253504:\ 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243365709243862344436748\ 347824256271253504:\ 44942328371557897693232629769725618340449424473557664318357520289433\ 16895137524078317711933060188400528002846996785290185531506439882279\ 67948175579511934243229492219161469505115934541754787322072497766508\ 32568813609316312895189314891581055577244380152406865341154204627445\ 048144934853380616505964511432278016 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243365709243862344436748\ 347824256271253504:\ 67039039649712985497870124991029230637396829102961966888617807218608\ 82015036773488400937149083451713845015929093243025426876941405973303\ 419960898212593664:\ 44942328371557897693232629769725618340449424473557664318357520289433\ 16895137524078317711933060188400528002846996785062063500625330121359\ 98742154443577980079599561074597766784810090551438150849000845701430\ 39463393843012149940933139094628420823280505085783531419710269806521\ 710678242326571370194267352288198656 13407807929942597099574024998205846127479365820592393377723561443372\ 67729797885965581514188847955651931542202341709841678538338597448558\ 6698740166243034228:\ 13407807929942597099574024998205846127479365820592393377723557015178\ 15690541073572989474743035547506906776301480077261237516040494971968\ 7212579269664735026:\ 17976931348623159077293051907890247336179769789423065727343002177599\ 00942480367760499251857295455939596154105772404450931317906536826768\ 15455762278256937871060873932808316066099592555454681197347421682785\ 09568862593066461743520871555375522976812396705343420538862100685795\ 3308142564518141627105027011868469928 13407807929942597099574024998205846127479365820592393377723557015178\ 15690541073572989474743035547506906776301480077261237516040494971968\ 7212579269664735026:\ 13407807929942597099574024998205846127479365820592393377723561443372\ 67729797885965581514188847955651931542202341709841678538338597448558\ 6698740166243034228:\ 17976931348623159077293051907890247336179769789423065727343002177599\ 00942480367760499251857295455939596154105772404450931317906536826768\ 15455762278256937871060873932808316066099592555454681197347421682785\ 09568862593066461743520871555375522976812396705343420538862100685795\ 3308142564518141627105027011868469928 # 1024x1024->2048 17976931348623159077293051907890247336179769789423065727343008115773\ 26758055009631327084773224075360211201138798713933576587897688144166\ 22492847430639474137785575823367462584850327217807092221598818903544\ 47838349239959440410649295502088991241512540406677820071644448472599\ 8099692362528251405302763273230221311:\ 17976931348623159077293051907890247336179769789423065727343008115773\ 26758055009631327084773224075360211201138798713933576587897688144166\ 22492847430639474124377767893424865485276302219601246094119453082952\ 08500576883815068234246288158970519977814343258692149569327420609321\ 7230604120280344292940337537353777151:\ 32317006071311007300714876688669951960444102669715484032130345427524\ 65513886789089319720141152291346368871796092189801949411955915049092\ 10950881523864482855309433042883335846718668037787037650188893055840\ 73018927951831283900011347985854627812829075980481789955530757008122\ 88824849145421420410206954413439564292684600051414432901225421532791\ 01381942730678481306279979329106412319570512109276383150572147028830\ 25199880085119057947572011024091985929007350883874353448844224836795\ 78442377318748543006187648103374862164234771293283689764786919194438\ 37888284136626985706746129572759980426766233612587290367814732695050\ 64961 17976931348623159077293051907890247336179769789423065727343008115773\ 26758055009631327084773224075360211201138798713933576587897688144166\ 22492847430639474124377767893424865485276302219601246094119453082952\ 08500576883815068234246288147391311054082723716335051068458629823994\ 7245938479716304835356329624224137247:\ 10112023883600526980977341698188264126601120506550474471630442065122\ 46301405942917621485184938542390118800640574276587636830692449581093\ 50152226679734704194962494440051486835467919998525700927942192359160\ 54781574497145975881763537082907612467921532090438466226007979275997\ 0325840394840421469887935413626077183:\ 18178315915112441606652118137376847977749807751714959768073319302982\ 61851561318862742342579398163882332490385301856763596544225202215114\ 31159870857173771592553548685191068103016094862345941793100727824215\ 91038007155695622986473612841033928065392845889702175791770421586624\ 26143899184951734174822450721084185903177062211837438496534372480202\ 97467411486790074725866007726424039330919514310082034160544731735015\ 05505148992020823080165429348056649053453259548580079987024817945821\ 06278219961860441688154154020423122651667491374047530445279534822367\ 96606089062121158502205590789299321244993290459201196063373244192071\ 35201 17976931348623159077293051907890247336179769789423065727343008115773\ 26758055009616165775278099964665396948321782087417396060386782903823\ 07012341545824090641587839835926419363551226096078071585202389405050\ 15136893796472153753067084907045685619026471680211462175364329863209\ 0971267582066228875273648785630167039:\ 16853373139334211634962236163647106877668534177584124119384070108537\ 43835676571529369141974897570650198001067623794312728051154082635155\ 83587044466224506991604157400085811392446533330876168213236987265267\ 57969290828576626469605895138179354113202553484064110376679965459995\ 054306732473403578314655902271012864:\ 30297193191854069344420196895628079962916346252858266280122198838304\ 36419268864745685317012104530668242911371513575805609806190451951607\ 10557715881476395538121318622342054920551385626039497775648111929192\ 11010149235353314669473560070738635821344900819492979642122564308821\ 93832836355009007808239907501987022158846860226885245037291654118972\ 21789040347542992939815493420694907963244430325400081905612531817013\ 53434121697017777687388707760265950247661467236793723639977817395453\ 05333658727917987431471148302830409557728284992844256725143219605511\ 19105089461515317003555642348174884134868178964134073119096779203778\ 9696 # a1 = random 512 bit integer # b1 = (17*a1) mod 2^512 # a = (a1 * 2^512) + a1 # b = (b1 * 2^512) + b1 17930121528120518743193890185292405362795914617726312913105692310966\ 79834089760159821608571760102261884739604751290203318392915809389705\ 18533152042879507565469760620770664602498091326659618430896499562864\ 33097556186753511259807783990999180942484334496111552855551238437298\ 5931442517394084353378720570213259961:\ 17181164400078273397607302623726933788654231870578267885308639434063\ 29050645768615733989348336532688661355059992510519187273205749318328\ 55178025838720042408416717379221896884862317068300037779659390111981\ 97244867335458644846343599813562216158033039927051277398059877872479\ 1239444995247411522594037321941878345:\ 30806036568802130707161344222425760549041581576622091565254201628592\ 14385467809668014385184785152271193843047948236592285206889142604429\ 75839733409984928244101830825691058271214860952936075111998155431716\ 66320122704699248615782786577874030694743967942269571299270175479177\ 49821546067026790701696727687868585663474591471567191830596615534450\ 88805296433793120856742255208087463783715754626092601017174650889346\ 66486074650833697034162201049220647206717383818466106882937622653918\ 76822429098414628373727606690842310063586870064304131814649299854186\ 12692628024925259230119912648154125622594020560204924767989260701214\ 44545 # 4096x4096->8192 46230924351836247700632620916046176424079105466354534064042561034208\ 87179012808190823424753309565308557946849439937602914646826017759588\ 34308955397574010098112170264341488598373518621050984822173335661543\ 05503155484221582314725443772226962279179435429752927046418702379683\ 85046488722729558633796252405133615796333361764094300077585699651413\ 87522520295445886581348613967739679507144536630498779984858498466466\ 53949495585121328172175753765616536867610443894070462179968529055982\ 76558996753670646519698363689763792814553110716478538561711411517385\ 25392668340231371551312445292385216029091676115617060930552232679124\ 82696223439453451825724430911002048100764625928528148630937654751536\ 06304398468385126736497735857773379804983839043683211519322520305495\ 88047388177062785807692948814175519084337222913843071456581602029935\ 54683753460812611659451099340378672619627415242236591287093912255783\ 13140160231289453522976275483766396153309206695863277854402154450459\ 37546852895213179224578947936523539421852140479791200605839865108481\ 29541228564089187837510575385124529321309276742969232912010920107981\ 03957776659416089212281297890809164014975660550116306748020139153256\ 22848023511467181919573893647538869361729907908714966872881945389100\ 86101428:\ 54530990288249437719619266581633527950202167725686915722413802215908\ 13898808427693785305297340466057132347876044193194335670208491816947\ 45347065813804383143878587001488929429088856726119741100265880818083\ 08072469093027021085621909472228082331188302646328041787611120322548\ 39496025029182050271578730610401719162676648561607998168984589242763\ 61184308631479552158835170369552925804999967396481740557274002486324\ 19060734996166150772822594482483029608131347141723539465860333111879\ 99028176225288916692803103016047215834727819406429598388635703974625\ 46062134344556400079860063468483319482068487707023772004276424916600\ 70752394601181923057555584615258415106502514105268940487020754841912\ 85424335310397208518018385485167186844809177247714124187041081497708\ 96511319230068019588583992177882717832582994338933822583078086805742\ 83390233167682320436242724359199417834794808081825191377785708613777\ 86102596609226847851937748841875768625507263876321447582064560528748\ 35920609680394258473797857062463125872573573911021820161622994930998\ 20654635987081600595958107506315942531393518613570935900767436989518\ 52479980745679719049556332080920670567304319030704337342023640878866\ 09889825375285512294624431826722345023789066121979651546281497741903\ 392437648:\ 25210180868467768546757726362059843626852926905412382608676629170550\ 13500472614635251047265443464861022066815047034258382305517605789179\ 87828662358961696066164456254433404354134132444755460484661087112315\ 33092792254341786823634449794876609511305489030701548587221933119990\ 83152382137766693945997257582640307701836825909703642483047169261811\ 29415178374784201058252543144281486261236848516767550523665279551861\ 74465512384172617149107052187550658300617578084736260341723260747161\ 99876271562142167533309479325645255667176279131317552047451026692967\ 20839234037422676688042090117497405271103578405099807691583810119265\ 54336379063605406653618342419878681737223923065560012276952760198274\ 01935961653423534734281217002142980219703525915889622098752381243251\ 51337680928833690966007811584949672395686773570000393884061584225434\ 46095563213259068817841045213587660574716357554630835216272902060443\ 34556862089899310391156917797805143517814316196396914215338901147216\ 79277404380234128913536426196746405226500140030500544578565101666905\ 45355602687691883828602277709718492121846971571916556642975486330113\ 36222756064112088369190359637323581593192113210931211230367909305308\ 34626706120315368242528268242337577529275810260388371559227416421225\ 18288153930546296286935770867979820870699234878779491860155905073232\ 51502558862837164130223049756749662881084284616449485647823253076640\ 97817765026456231979422968578849627137552880186111486959114938973490\ 88961199014636207851962534069247724700485273408823799958467863418841\ 50462661461823344684758580652604422779162692518313890388399982545703\ 35206898267568862459046844795531325319249988156277069565297520226091\ 64600766297485223302985129710063725127737025349700933151412377658954\ 23709434501778907216692625235665266668930171909330255035266777372724\ 58877961350127654808072552639834541127026665379146043251830475968219\ 15018615283403488179263459581211497821758602281724174575392739616669\ 25703910463568680165861589391919447127830393426572990195899393637221\ 86477741974371802750413668808535147675421719142045765725335254381364\ 41785131009861024178374832421597792578801840696203626157231517656464\ 14052894526701810933176118179541201020906393719709492349877490392992\ 00696634018140352649412293680281970033556175696751860800582932013588\ 35349743517428143168973670929259662004881928288066741418602389631277\ 36600832956552929991925721216698487543280154312867126099744478225237\ 72707253967514116707979742986501040393426058104944823682176865543029\ 42410605893761344 # Tests for the asymetric Karatsuba. Historically this code has had # more bugs in it. Getting good test cases can be hard for this stuff 14092703816360934475287812379721584643540920654551533543420378905278\ 43263869087702953436962300677113653357118503684241080095903812797217\ 981771103880205148628392675409404139:\ 85196387648463903836201075338727419426772257423386800834159433024105\ 22722534550698330414221220484658429569965031071685565584585568273727\ 521831711430243837:\ 12006474573536728376030033121297441343323401321882664768043719554452\ 72355962084445501636044192472676171283378029237295859040510289867684\ 42082336586473179649397097120830906529744851914004493486594202273964\ 92849411579105282151504500626551480203959164076691081552725026900241\ 832342905034386191256909160400547992155689411647041343 57586096570152913699974892898380567793532123114264532903689671329431\ 52103259504474008372078212980297151898765610906745757706580551032703\ 6019308994315074097345724415:\ 14396524142538228424993723224595141948383030778566133225922417832357\ 88025814876118502093019553245074287974691402726686439426645137758175\ 9004827248578768524336431105:\ 82903962954674429277182094016068528967498403743392611678986796248035\ 46708705089408694697316410864619322862709322416615890526565883322100\ 81247286886157264936638535413026388243763541729092783487919143933560\ 11669949922966041936103836718052579102251260556254458882685015932709\ 9748064577321171189330220691056136254107213091963928575 # Got this one wrong in early versions of the asymetric Karatsuba code 69328033643988284668153554428298153814569184083886776453465872993395\ 29710746972404168269687728407520676676052832464833364865313305188652\ 27796258747613771385136143521786728820782913230366107236761071531140\ 69858079626875179117509513890923817643832927518504150773412897517798\ 24069151513573630274310883822191771430575394116104021217164852793487\ 74039487132887730707079890109620203394040795732717864706534187311456\ 47616397480632810489298476433897092835849191354914181079718876936239\ 96759799034047278741267946259806379049845381337965241128934112089387\ 26387200493807084368512264417392541693498708056601725438254379619500\ 04878549999476514473638562844231061393907117784824855718620742441873\ 33707730767137725282689693949863277338600908221830652962675544003225\ 784824252054526036890965:\ 69328033643988284668153554428298153814569184083886776453465872993395\ 29710746972404168269687728407520676676052832464833364865313305188652\ 27796258747613771385136143521786728820782913230366107236761071531140\ 69858079626875179117509513890923817643832927518504150773412897517798\ 24069151513573630274310883822191771430575394116104021217164852793487\ 74039487132887730707079890109620203394040795732717864706534187311456\ 47616397480632810489298476433897092835849191354914181079718876936239\ 96759799034047278741267946259806379049845381337965241128934112089387\ 26387200493807084368512264417392541693498708056601725438254379619500\ 04878549999476514473638562844231061393907117784824855718620742441873\ 33707730767137725282689693949863277338600908221830652962675544003225\ 784824252054526036890965:\ 48063762489419715168951981307754794589808870758952639965091476616647\ 54056167932393419567481296681069246248216008267853889839320423981745\ 60479443107279226057663425943342008520701374986979347783572983701184\ 85422697584729139817700527441440371002219958422883649678565900879400\ 20025210106297773515746894906726443036026187076658079744151459354129\ 76880294234848336533442648147663722096199825871118396947178334215521\ 76943880892409643115274415151713386236948639022804530054018234460138\ 65934020545172727964007195157289495135921213561302426988267171336165\ 92297396800884174510773976233843978906677436838567701962214997325767\ 17494685809458185719292759364630203908885946118898336175097083972837\ 89342035200573700398720235821406614593531258231227043379738167751614\ 68684582976839207443768269161778663395778873870774323940683360928515\ 48027194465603770338336645857674917792255648723659298382428421752797\ 57375177034382470966583814365325881784225896969066012430257742547184\ 72418596829523189950619686978201887223055028706607853375875849336866\ 58034693741263352377027728101357005623322435070019152178347117503006\ 68898867912930645058149633650634442077017541758124699937775536013889\ 00090985949751232201541388041823183135436540422469067343022614303960\ 55855903221443598575395492738166423176780792097697804248465562838489\ 55947563036566122615600202990367217608222400507033340848053927107788\ 50110168698504066173013701126736282373942179302874896060705586003228\ 79037941627812442489494360833298836822298442280730034168111230609093\ 310545565906004082962175112065394876123298631225 [Square] 0:0 -1:1 1:1 549755813888:302231454903657293676544 18140671814051116644:329083973865108631122076757343293822736 18446744073709551615:340282366920938463426481119284349108225 85070591670813493966310340604280700927:\ 72370055672222822149686532165239924548184855554193955235705358728264\ 18659329 85070591670813493966310340603475394559:\ 72370055672222822149686532163869766764144178225565969340654319581407\ 26804481 85070591670813493970922026622708088831:\ 72370055672222822157532909328992644361925323993014681825303471075565\ 86946561 85070591670813493980145398659562864639:\ 72370055672222822173225663656498083990682319746609654242487350548038\ 36600321 340282366920938463463374607431768211455:\ 11579208923731619542357098500868790785258941993179868711253083479304\ 9593217025 3138550867693340381917894711603833208069318394046068373092:\ 98505015490986198030697600250359034513838056601414221774853647899383\ 99716620339203600092485547982803495343709640464 3291009114642412084309938365114701009965471749407831540748334692:\ 10830740992659433045228180406808920716548582445089016068317535718032\ 308295472658277178853031537853949474393196307576171250734864 # These set off the bug in word3_muladd_2 with sizeof(word) == 1 251232322172118783022840239225457019863:\ 63117679703995287066909540140557654581113950055128878944628202319505\ 176538769 273689842353342519508740475928754711696:\ 74906129807397480797309133044676004424334564639782656684007505697520\ 079196416 271302823667110475639266093952890097614:\ 73605222129747240032647628582852465568122948805929122728180342334818\ 448492996 319387279021025860024422185475130973014:\ 10200823400045462544411223752203740218511249559589398235010527269723\ 0396244196 293643199753680203052743123832843662352:\ 86226328761579733262787961688682814116999624225084316052032576511892\ 182171904 # word3_muladd_2 bug with sizeof(word) == 2 202324725318880963191371356135299852624:\ 40935294475360631472543732691759944656086403346062162368816126408076\ 119685376 309321842385349400717946354447033364075:\ 95680002176666937035836738263162897574421497416350873907840493696211\ 500605625 233489517300128090786970749707229607527:\ 54517354689046815002040771363970021549478312409815296261172173208794\ 455055729 [LeftShift] 2121258017766159160754962465958381577677890208124499494536189186\ 869637798499791383037162061664492554205374097:204:\ 5453968336700566799508983726051663849667997549076624612345231282\ 8439638899716201006845993775936915589934028192020733447985075402\ 867441526514914927633382250278301101719552 9127815530925814339720645654057304030995143310324020188491605652\ 0167383202307739291645752386748299386607033417580789665740910548\ 485496057884342754125:116:\ 7583092465041842489806678334004575989684288504372713429243106807\ 3821340263788338036051275796540123856480834349684104861172576642\ 18512263948855799232636502228939840695954790558990336000 2720447254558553014578566972012963115777446398846598038146885883\ 1866886314261120634838361392523025566783357944737665:164:\ 6361500986895495805616781332881685455158868774711923425935172754\ 6665493357037199343516238602124200135772591677608344475613159685\ 2488399997844504678061831690534256640 2346814922039931311567833556790864002896525919808081028569793383\ 4008825609596357974972673276604:112:\ 1218535974727059175894407931694205043690238717758619344357411498\ 0976423842428997921600747804778709388243970226872640908420343398\ 4 136766652934857914:106:\ 11095829099781028284216214312551702886842940522496 -401051144733532769909045041716441134958154294462987253741112236\ 561026903932355958855274471955131:63:\ -369904391368386363775763871932535866765470702774151965641848084\ 2144652587998489299622223077809753503943936440270848 2620878467008554581948549874850974711547561914123735587938770041\ 8388598339275821514904454964587607270922729716663659446422771149\ 9620476383257:195:\ 1316121661879758521098806625253965626323323320500789427869263340\ 6367324456851018233189899650111735222276905756611447392283605658\ 6424209018483795579529997393099798973115070359293039187878410704\ 39858176 4986386024639314608574963909430738820138995826850354329027683283\ 7084148930520285795218001501791951858649714264370213994065039723\ 183:24:\ 8365767539475510328001762170072394222505708301016699425463251243\ 0365357678350782716810417828388796339416772455162018414465188948\ 4421398528 -455552309543147716127587827277903635248610246950391821050011180\ 4998378889619941436810075030388024035287640271262080871447338739:\ 87:\ -704933054965487499017626788420861259932661059464379088499410099\ 2559199084336675766400427127749751321008643932765664940335284556\ 99667386383995835821064192 1037757592587696398725288196824188929011363632075879222442626801\ 16359163984447531185310046467135652319371987503:95:\ 4110981359797486520990313529905064933484217701344426282406713957\ 3073026585644903347542613235747258250235327631427113860134353360\ 95122325504 1078541466278039800083311:111:\ 2800053733577506391526406073538574747169164913752227708928 -458929098580755:143:\ -5117230445820379540747782782105603341274706553475212247040 -122928855329072870073433015110819526943336867562196620340919010\ 07272608951275193:11:\ -251758295713941237910390814946958391179953904767378678458202132\ 62894303132211595264 2253797880121520663606973674330182144804901367932449178312384948\ 1031054670305841291542789729087450336886747413803342773383544037\ 2581272420142035100:211:\ 7417269366041670925252065169199359207792625796677651698479867559\ 0580700643261572311187905593603949279149066613049589728766147448\ 5040626948461011388280995781694782614846527093302465736147768556\ 526048195169484800 6442142951860149863781434107200105215105005142361888584824558528\ 2484597164156116892847036815:107:\ 1045297456599241794709977613787275378715930460342137602357284620\ 3705135174457613106078796927549665575893358403516669173432320 5097783526093860243839154243285093453167843731134916160503060680\ 6809190520533632436146045688586:126:\ 4336714610774466073591769540544761879648163769201204653675081413\ 2084346529112353622016096796405522770364375296300671020674092934\ 10304 -331899363008322441533569955164860025843805741291332922663910367\ 2943065616917605415617171113991360901486760154578289560762927508\ 7724:91:\ -821743020962630744101604179924332933222787625033777030204941339\ 2423604240087684356284281911697948345840642580768340681886419299\ 0501324963749459198616746852352 -184253938912501307159324447512804721862709269931381112790263931\ 81321750494139191589459903767473167677816275893773523:152:\ -105190403673940947755727602264308003613546006738759564870362217\ 0667469418523232027185126832293519850235443686300723583174147136\ 58107043639016550258714106195345408 4027173611709683208685144938635076643642081573452904517803697826\ 5275420130:216:\ 4241108819962870257795832303288513204199186270237663098986852370\ 8839925819263809342179370062199525789246961806149451534207820475\ 33392199680 1654910280148247058930466878701929681980555724947453908536393353\ 732583647848670616170583254506:78:\ 5001659417042237892080348861898586734617398707583112481824590338\ 23652150179951382510963323144882735068533089594507264 -353256518864739539912727355980967022578755727546889874982122719\ 759:107:\ -573191472861980058226433447553366186933814120008015485620963412\ 26306829015345625594865954588721152 3358622889967376849369646308014887582255587127977426994425421674\ 4686208321633331897065809513496651:69:\ 1982581020522590603474492135975397792733918369926415317084561070\ 3822831264254057644126980676514200036423975856884416512 -8326918561933317515897484042242279813635:222:\ -561233200828572354853379214799650393202723352144809535912742619\ 21980589457786088539861748815344432096215040 1738239605092625935802720509793:210:\ 2860281191896129448328585042777498571666530315075635885634512550\ 142285038644212151822720172032 1541590531164046827151493969434074217996086405826244177284191842\ 623229626655598394491064824017724575585890968239654882203827:130:\ 2098304299069634414151232805637412871131277307615398366601971342\ 9665834217942888720462643703124214574302721592303513592056859315\ 13427518479162077139334989713768448 1822414219485473007729455052579570934353421556802754634400780753\ 581487672806631709:25:\ 6115007400355837902569347395883763750593834759507216779268585854\ 2958784576028372828684288 5336246625295048457347325312327723275413189882766845079019668950\ 23491709759645168524198853958247909:145:\ 2380045526144475863333782125314997581392105067362688736487270903\ 5095219526391819075074039117499741190364575496806391148745118026\ 089345253900288 -276651306081170196285504936260680311592104354245874357656134941\ 6718897362629511494172851413903784541053958724076679151843367695\ 9748070409785949098743856:225:\ -149170089146918319214991272148007797149650392266859882932532072\ 0896314266755406819672840795334582356690986796948912969229786129\ 8759392443252182124719967927140260518022196506128222178285661500\ 32303899305525355025417633792 -103357876921000174182112715460846616262383449332882137139998255\ 68582685162004410585410474998733490779307256347656936844453628:\ 128:\ -351708629986009787155639181729583046307639877673123732501848524\ 3559886115426724541117518475093181639785217728536729396711614403\ 275792414126622561825487435090362368 1094708276267187017583512230031436979221999105657255772315062187\ 0590945418853726695999585645264076550:76:\ 8271381875782668577777728720058787519656348054693237381352477271\ 29815039067706300744940289871871309203285264026829638860800 -815525457724752321603940535029563571154068567797107498491974746\ 2624523816971433695155984655769263875263814891:185:\ -399932520776254684164524385851380762766645298639846935216904114\ 2896647055743804753583601279854374681737834012702515619494942793\ 50304095670986950350223830081561690112 4052679849880044255138459864411550773099421944874654179650065311\ 7857061613513287290910396020606030441122363087181232793161493035:1:\ 8105359699760088510276919728823101546198843889749308359300130623\ 5714123227026574581820792041212060882244726174362465586322986070\ -248399491197694456686506789360892375748400795979825040399299010\ 53517808438265883:176:\ -237919445383638978127975473390525029152877274034190677596480116\ 8519869938343860007136898454280955008871656020990685920874468986\ 585088 -341602794141123390057384653491582990307091266762526194256752907\ 742814:102:\ -173213194813054140534683117609830955377834183581805190021073324\ 3591496880056169249935512491320672256 -958393530005648757477093349096350288904499954214052393312348399\ 2770943667934610603880158622319612235433869275282625539708353046\ 09:167:\ -179288795303756735253272048111864507295054051907270903858033299\ 1984105913251800521090082264035457471680922762784248326006303327\ 80357892372568802535086338017562314555143800752177152 -244934270799654899396979330417224591920216069659327770883960842\ 308099872348715409398096:24:\ -410931516700830297264139197394514709915731976734558842691872198\ 6944930107966825746000286580736 -2106457461641547906609473458:69:\ -1243433014305839647767580171740431469025056260096 135142685675091:202:\ 8686636920585527698499063657324055240285043487766458873488405392\ 44004900864 -116790541221558472322206451254911347381714818839018118383610841\ 510309754344586351337420036400717803838650415501291198800754587:74:\ -220611094952357360270322465694065886169870282492555195903063877\ 7058528470895456709658637256734101042181231965942902938524566534\ 006236702950668894208 -113662437497188191611046105180147670725123405622356749057822533\ 9374200354866981925638532649150827622554422704805900523233811186\ 7804339566343416115467056:164:\ -265788541608259131511323286352380846617232004964000794820926894\ 1982659118064626109656559724002147778215968030048122363389101341\ 4916257633270717425007538758533769604203658211543099937688495500\ 8515178496 3139835124875473212694109318074161136799592793072048253708819570\ 6031251397956934770541559259048189239569502903816890554914148616\ 8710074892985168204104697:95:\ 1243816837708147260845084661039007547826018395188591656306366764\ 7513402868999491043335036172230767347465042406686594960568733454\ 486595586019513727045751542829562936306306793756164096 5599994070119518146348:199:\ 4499421759449900671784284327121118030698801585196299978528243915\ 527017858726887424 10270683209834825258725306919273690176679518030925177258309490:43:\ 9034188491533697033850866046124648731048958323889347163636163337\ 5107153920 4578000383070746273307:184:\ 1122522427702119950972128384343669227408405080033193267723578847\ 06832894656512 4806080526717717017641435948049790217951184540837962383194474375\ 4177372178226:213:\ 6326741927653364567544399799665952033829979000600292660407440869\ 8862171634248299057579558184663298119372699195026451647955448240\ 7792959291392 -213240753886670778938493896779297584390212374893239014196784169\ 31016786722016582:85:\ -824935210136591658197356601203169660873055716952680926144487605\ 063939313393392322678258809253441593933824 -187286407031666462047035483383441327248520717346072223723620843\ 4454125887374738735368124928725176429609366:134:\ -407873676011864041904214443478531790285593140265704678916369737\ 8659007443902659865299628228125085923760625746613398039989747449\ 2137333668230201344 8621689714197434562630867265841464865623072938828506100870809463\ 96744539349725331277869713700313427547966:97:\ 1366161267647991190642664883853673418069284183801958399635868396\ 0937205383180691314472971265906730508050012658612328503341173152\ 3633152 16955933412697913917032678757506722466737685:229:\ 1462819393593898553961710324275156357656459346902684987437691843\ 5481519688706703310919911715271056730027164958720 2180018258288311836232601230248111131649953969135839015779353659\ 8104321725586576274057148974991731503239472085567581116:165:\ 1019552081247881910408108587819850135603932052219933414781931958\ 7658929796456697439849089055853009742845594506749609005029155283\ 87206223717397886377023326519137153318912 [RightShift] 3163645694280286863843274284995813000413750703767888062060371447\ 2548769377833432476732199026703457620511:71:\ 1339856068247304299517035929669762064048406302964464795193542030\ 8616778680708128951 -14453551017278988424486997167045:183:0 -14453551017278988424486997167045:184:0 -14453551017278988424486997167045:250:0 -243110742861195501591733619507439366721710893401851315001032874\ 934976816617401149916967847829528780962:77:\ -160877194558516235935268045675608004834374082748681492335699377\ 1554731869523279 1578511491667772739870432690812184603408439934845400990951391424\ 2042606791815444346835351458430330984370157647950174636188696067\ 901582998887813:172:\ 2636868630877883693962671763727310843333678410156464570287439347\ 867714845687034115945072876 -369990587551414900909444219626623817296602594145580698921004093\ 03886523992221862362854753622740275252526720452:175:\ -772576394901327014846975657022405166419128733678436351046 664523869708591456637358847652496607157050130461836524747531314:\ 191:211729 -424946102426960838249158490450106473832054726611725352096551869\ 301633439915:132:-78050272313569003846694186065678698 -2477488754280410161548750939069:92:-500 3885576822798328723491155206700259517121985332303318810671479550\ 5721679465077987975131032494226814645578292798864088316633495241\ 72281732561:116:\ 4677092971402698635823599561404354384957452158155534044221842927\ 8654700322373721814974862542990905781201 -7784136527805956:72:0 173:199:0 4615578569620677656625:149:0 4905579994733063495470152932606524195238444602458194107223829134\ 6548096468622028014016518915362921381743841987304665341504653820\ 77:36:\ 7138558422932784735851095949483750439304923351240277562790767311\ 0236786987839191008266816665655527877597839669476765763 6860659646513892651503913841872495917865372347379124495074404003\ 48669:86:\ 8867194763939375066201545129950170866662337 4932993580763155556722299514:18:18817877123882887102975 -278747767898647506540238310041925406724691634519605101611983422\ 6204966588409142854005261436295569885823506142825506136904961441\ 137712103262466261:104:\ -137433260320539729826934608254525294966481185197904919592889909\ 661839883445042061361887992911622135941137977531125 1882169262671501641122532021045100553271183358274828402533612516\ 4:215:0 -113308045504297792964762442633165425691924733661899127245385800\ 0508491250659909229734510933018929528943605300925959716095482095\ 0781551497986883190460:29:\ -211052681327420832523633619087125036291637893136402829075950756\ 7637583707757125105214325586369129883020381072398200102328289477\ 3001878518586 57567025533800:64:0 -132072785244069918116388563501248470774742728409639846537789812\ 5119402223003876981196535555849118422274367340745545:47:\ -938433581467776307621794014588434654731534070106419040781914109\ 4019259860231421876594989980795833320 332:218:0 -559822315679298304410139625796782279674102061246050482023351416\ 534297836795811816038579409314284017985789979551604:185:\ -11415659555585642743745444064957984965053472879394546525917 -165370654266946240954843198912509990578949570887804349975976624\ 7848:193:-131725325 -194216125550322203453264566553636693381698:190:0 -574918037852237888178117788291362893480850545560575590351360319\ 3555180688115045992424767676514653030256481410814556185745502407\ 367635738697301:25:\ -171338927105736103110944565621424583637967868316345092758941745\ 5659860577617599365837802790556744644122267189864682014508695127\ 77556053 22512966965683176238772169284:210:0 -571304627859240495908938310435848221105034147099897333911621990\ 2429210200375110530363596454364595974303366523715867605148466947\ 82:64:\ -309704859338005592964733519326108195603366962254800737268694205\ 05469907491401631445860907279418326766038568169 -309596777436591740355404153813541201302898762127036944631572788\ 15893302883997570045883151320905855931366:104:\ -152642996313836176964502120620181580006920013080253805054740742\ 4297460034 29089712758204609787443669188235835:57:201850430524318292 3772893855139299527739062333307773429569483215869291954483303258\ 8826307095346005890226120725877767624562307811438348806708086825\ 272884:33:\ 4392226523649063342878434729422178852336345258948034553885580109\ 062873187398771509787314655943513804180816259635420144385202 -107286131603440054982169113843212878238243177589333571934531:\ 220:0 -171860798431436300064006491940938069877937918743982288348494291\ 9605122825021394820452085254301230580701:35:\ -500180753970740770641733228522754710510890927235544334248681238\ 27185564005671616773239955489 -736899297617589968040433744284158522983339306401749767611116884\ 1084063920382957413309258573768392475688901297388389668250828837:10:\ -719628220329677703164486078402498557600917291407958757432731332\ 1371156172248981848934822825945695777039942673230849285401200 6494520002849829489554410861273180035603713191696971145227421658\ 53859125361930352324226:199:808309944002185489853551692 -8811428348398:35:-256 -472961757341800595001320983673882525933533190954393100297169797\ 9931906653571844489680727773893833490556432129528242730860714016\ 19:32:\ -110119990385556732071871166972881771142951490114068868639219970\ 906430544647663936244340794484453124239957708155928243204 -950911712685005613285113124954832473131420819362306322439787774\ 9569705:103:-937671343067445278042307956226145570513 -879814295274183624334539929331740552569451467718612745386330333\ 5306363907959342879342226672:194:\ -350406259275000216456910916623341 5510885178270303556262037168746873477241029300667748255749519664\ 7790961278402228092443936180348351958592120159109985931085584854\ 072:127:\ 3239007197543508321556333059695431531874740086907067131644479312\ 48944861718637164159925014157 -532599980357955121299969897485530088860096014928320106613667412\ 7658734:197:-26515022518 -751201308625232459519354741343046361775777470541080710058601279\ 4485802280356383896946090:190:-4786930913611882742357623031549 3399159309738603281217586458627167057868700201720622195013008494\ 5155275705802319966198750893042523074386045050458079803807735428\ 3187:206:\ 3305159424435509522890985455639702285024494664087298807252559331\ 827343 -163860953109333686549278104073264560158695392823410089526219985\ 3597217435977552163706193289327636667043413089396300868558342495\ 10158:28:\ -610429618914923394282453149830045402641204717842527067386433427\ 630818425110560716579181436198814461768944967313222910671808 1169677491246850751212:155:0 1636926214665128743997698266803409352776056144809201:28:\ 6098025346789988666764267782879655632287473 32036789:197:0 -179819529231495425818261190658137469439875298005446780128564386\ 431:217:0 -13881:96:0 -201081314010698664682270171218698566959371060867314287561113777\ 01129681335253:40:\ -182882389718268918552230544463508128464464844789576352524012488\ 18 [Division] 31082702275611665134711390509176302506278509424834232340028998555822\ 468563283335970816:\ 12141680576410806693246636917646993166515042744075872007823827560868\ 1517825325531136:256 31082702275611665134711390509176302506278509424834232340028998555822\ 468563283335970816:\ 12947964052188086825220046400459488806478932301299660383343378609832\ 0524868413554688:240 44966555772413807289969128318278041600000000000000000000000000000000\ 00000000000000000000000000000000000000000000000000000000000:\ 10000000000000000000000000000000000000000000000000000000000000000:\ 449665557724138072899691283182780416000000000000000000000000000 21098512396730698729871269182769821769128761892761987:3:\ 7032837465576899576623756394256607256376253964253995 105492561983653493649356345913849108845643809463809935:13:\ 8114812460281037973027411224142239141972600727985379 60281463990659139228203626236485205054653605407891394:5:\ 12056292798131827845640725247297041010930721081578278 105210958105812350283560987:65536:\ 1605391816800115208184 29614251982539440611171209425825912338459:524288:\ 56484703030661469671575945712711167 56978246562469415670177504927986945371616100345225344293332816228560\ 0752167:2147483648:\ 265325636428172773077047918587862259576172103850288988525666372052 37676726270241192487393385601963645387543268661126:\ 3162948793160806:11911898906396771271361947212182077 5381521826168870805682913114359466560841856996681731280221235281\ 1509347982906963231033117814383486428722076978472087592957820313\ 6046584241121779503933:\ 9668544070174123246320200737076440955801117408066349193856053605\ 114866903799592820480948520645947171624952907359157045540:\ 55660105462724064753070630466 1723834528325652138144287068293892732593026664886852512770150633\ 2776744620689:880523393623328:\ 19577384778297865485961051332688212998820791370774585297291841 1515496213019297763233177841945187397678421298227998213327928627\ 88716894139006899352549523462891658:\ 2837504714791238631293154232954335398939684196417059468771514311\ 350:53409469422883270966457345156344 9404536008735908917791097512770771428224998938693723982728653696\ 7624988457783138098124870580583091:142622867370:\ 6593988875807797411127801190252266506668676674421094260691453448\ 48811732719710346250661 1392866713189645633121390285073523887805815484659191269343858827\ 8526805205835017180928664701580352738609190657216273081064279937\ 78000446364:\ 3994371100075737516464195988347917583672726362309747721542773781\ 23623981222779902598092910701666748270156408025264:\ 3487073880449504057292395 2676049916504901888523537181437273561212503:\ 9341913943837642277221766393692439892564:286 2596351449981306834637204601381844425730435831169992187762230868\ 9984974618995828593891933726738665906555705360752479986:\ 1206034745333560481629722627489368003481730232554297338790:\ 21527998758138745589857127563572880142324265819094147184332850 5972458816709701659388787816816316579897252032508674599704692592\ 7058649324526265892715874715058327035883363955854176049442032564\ 309441091155243908284:363119954882801248387416067701593:\ 1644761940620239975738766021378227306491031556802927687823754679\ 29691855045229469191916674982018556672788351294907277 1179031947959075688529396972036519234258725785851394295456390535\ 71085372280587925290861953121759382460651235055866819:\ 6944577951175401788316018705171160466581578649464599557174064469\ 156454663085245879135170220436247473693597253951:\ 16977 2026650664981190253207120825245989396597395032888279675327874031\ 6428571783495257002384926183573616802093352971457675644937672443\ 66086144671180173:\ 11631153560785819891286797700491247192758386954476186081000494851:\ 1742433073718499161789694097861808628892528194276009183278062135\ 44214369556426533 2839636837334372650605745847855168203149142969651746071725807516\ 5633540988132586349575016474518431300299708784295829212402097919\ 78638935225269061241787155:\ 1906569338917937819117576221675263213381604280817243982366441014\ 3748504584308116848567559666016129206267348790454121809997280576\ 258634989:\ 148939604732445334 6371345663036222144347827991463755679970672243967017350001151581\ 3149043621560543503748545334895102360498672050891243434943238417\ 147807583195634840:\ 2803012481163625225461909183974367795369310930636762769680881703\ 4432088350353366279882990440057382400481292913134:\ 2273035067040180000190499573423209 3448761565369806483093631443732798385337886837688124530151199904\ 35214907404151562329499651293972622329230621111836:\ 1154398728297611607347339889796530761810873173035278653857672812\ 71070669711745252818396963830424218:\ 2987495984559585 3939766758764969916635508714517181254109527059899723535687606136\ 704576526260284945948460575945132796870670558656976658696699246:\ 2039193601576864286342975169071164596968234:\ 1932021930491755924504494733348282114697992509296048596879364255\ 013992177897790479689 2599570067192469214877296440421668709321992436666111483543544040\ 9558626508316404576861534763496892008536679796682457407142:\ 9865947223638288117488793858111648559036360190603549966937638974\ 384878768890886202494341034:\ 2634891519553273835810191600375 9953582546881861626054758979348156073957328868768555275026281270\ 3558132981561279486898511993570779719758639416109225470113031476\ 11758278075817:\ 72753887765933437843645860013004267290394240181603205482549:\ 1368116928528260130222427481511416637491457702447115334585560552\ 89688431510521935105 2777707354230450548824097922478859820718131575494711827631509815\ 849966141849784996342423141941423856370057172664302140424005921:\ 9887732931045287681192967993534615207992429003750153183843126191\ 7060602813748941:\ 28092459349393082079339190162534632411372212185 135175390055754599158926343035891673287590:4587240067074273761847622538022:\ 29467694753 1474508901852067097539817612956066371267340106475397703336120311\ 3477874932185558462473899178369214022436285310129280494436591650245178:\ 4880369721764333040209711516636996332699096293749849371410907103\ 371872025659064629729192743174282304112524555885248623478:\ 3021305732793 2458344447588213641014490759478425477739674803315383837923650388\ 1993781110774393121943801110702528757067967698929051580978401073\ 21258908424060287326045:\ 4220549808710022650484813532790907621975000231990739804525754365\ 8980362:\ 5824701896693376525879103155093475976637389780048291339267026554\ 0931549290645770 2235359829795993754168620762055024950392775900247276637443301544\ 6834872612125728471199341647165418100481804191461888838714869412\ 86190239242546459829:\ 1079446102417965701004684159063911518960227791488787275338443605\ 347380965151141469660172384738541132220010177148:\ 2070839687862853380670878474716925600 2261859020237326202277047516915478440734386573562935959890434522\ 4642995494057840711903761496596915458217743732578579075270459080\ 0633340:14203382288913876345794743990430:\ 1592479153365299674692434597912939527498958604158881610792107099\ 0007263922267553892387895651241383531760 1627272730547121895847771240538443456605751355188756262440532414\ 6146087377529161595400371637008556124469065:\ 4556444082143966348635739253264:\ 3571365523663868043578518888635769405026391569324510140958668270\ 949379670607 7053322761929289086579214480771179517943045501137109771651701088\ 637150889882789201445500740549670389506:\ 5820761818383944703677222410067006495183070681923349620668953689\ 735114782073218950052335558230765131355225215024903803474:0 72782874795717830428761392759834069051935680000647471818367555:\ 676006789231214575171585611498648177407768:\ 107665893235317651024 2678488124982838045802785770118519145558475116428679203089749164\ 976612334859762291787998110260325948674165281:\ 7944336793457702698467826157627761976858612495202494286895968701\ 65:3371569200324712887203021916554964731360476 [Modulo] 9:7:2 7:9:7 36049713:3409630:1953413 -5:7:2 -14:7:0 0:512568576:0 -0:512568576:0 -512568576:512568576:0 -10062526826820804:29:0 -5:199461981:199461976 -8:7:6 -7:7:0 -6:7:1 -5:7:2 -4:7:3 -3:7:4 -2:7:5 -1:7:6 0:7:0 8254156815303331281824478486972822803470138521315156647307553049\ 3310587284245750487869183215107304761500042605982935676360476706\ 01141527698603403:\ 3106222408827874796097424168822651228359402578430811:\ 595826521675090943156444889338281014934863303289705 136863920521571139850391995526246731:\ 271472461994419020251392394864015015809448271748774:\ 136863920521571139850391995526246731 1828810863480002099820314884714568551379787631093473955109129851\ 510111922379100046301719263372:567966528088927995495333:\ 385016512426968327768361 861:7863900424362475800352483828371:861 31298056599359036104:\ 6834101648969675037772759079916190769657938079502342632053787936\ 8365474573457851465113672049521142215618176993202488827600681:\ 31298056599359036104 301132649529789235293089719211083808148317022029687377:\ 8985923799959631221206612:\ 174445061721403490019281 2281346996471575399039236209159382841371310520671504115347726755\ 6405318252398792419321309385257790020895332595371743866761791127\ 088953387770:\ 9148250100428904287337426958133211831148659494946573378694903126\ 9368755379167072338:\ 5712279541400722125363135520469561121058328307700157395773665287\ 3288007253222581108 18204134548129881201198951067056774604374867858971160:\ 2073934172352760752130567032660041512076751995427049488228564629\ 5445506418304709424209443465714405592187482184410284216568297836\ 202471453:\ 18204134548129881201198951067056774604374867858971160 1965719248782007406536742098914361273948365800827075363669455004\ 986089949754002988457038216772776062129273:55:8 242013738395129963274394550113335771936345:\ 5855690525992972254238170169720083764160159959672754491605994128\ 073126517:242013738395129963274394550113335771936345 25207834098049778316063817949139583672551899941064748428641:\ 2394034335403109766635463364608199166358381072109847929528549615\ 46998:25207834098049778316063817949139583672551899941064748428641 2806019740162818318268355414902530432876592478224294545991479160\ 4283116668034698476687974823971:\ 1582972323756438784786521922113831032463998151772165:\ 1502639578247286068956607674581436779911413521925746 7646186835577905185055298334837136208896759894169440852778842148\ 501161592245256816858212924947738806827200173857627:\ 52896776132731697503809705:\ 24742696196904988498029477 173957948128989810779090250062796172580059019371598891820856745013:\ 1799947313993959943024637237734385080822192208938376976998702929\ 3875551371653028911096579734599831769935491738680281300932262194\ 4984764:\ 173957948128989810779090250062796172580059019371598891820856745013 1013844499640750066199242350792839164:\ 19498430190523094593606790431509419:\ 19424559924072241925296038785858795 8622490124309718848844541942762:\ 2809153572052317438723547427922294488297174937286864313874241961\ 8679887592231751654390695362494978870866660168195696176431350266\ 533:\ 8622490124309718848844541942762 1072609375974667769429773421465107051839877399085576311546582931\ 2311070154546061306145007166868107111741792231898435921633768385:\ 1463259917133913245195500729566820615925140728085869641490936807\ 875627045359340:\ 1136336627131206018599354228978585378999102832169870507738700505\ 866665661308205 434178716356826614868022910336:\ 6634862369769044245968610325063754582:\ 434178716356826614868022910336 1415406337306642091120413528271804224015406023026499:\ 7034899662310880590118948531539534220057245091097123989790225455\ 718320598907482500:\ 1415406337306642091120413528271804224015406023026499 2119242142523650184634691519911880425707508853468661410230000555\ 581608937:\ 2008383355777044545530942339055540267683709901883165870378113231\ 22625039264578687:\ 2119242142523650184634691519911880425707508853468661410230000555\ 581608937 69585923602069681658329224976930117468163915197373271065425178:\ 2020927964630024370658097798162044021281840678272412358937742685\ 874564410640015186840535854739937:\ 69585923602069681658329224976930117468163915197373271065425178 96975588332536394385315130323058:\ 1315802351305852717882890944093568207768868622073415386004618717\ 2175427025633631880306918912341930581398571945990395254404556930\ 1546423248306886079218006:\ 96975588332536394385315130323058 1005028458858291820643604063469013555486792420347821851888080697\ 7432670023176937393067923:\ 9828498588177084544380049:\ 2075442833247971646995411 1189727226195844529530585:\ 6538657640728177165013773329092206385482700449306247249506942167\ 8887069241318642226489470387127398972818622366:\ 1189727226195844529530585 9913890361391387217552509180:38186248654:26592864996 7734726198125785627433577053431512633637067455428717621996818752\ 2575060294193475687274421372950273116057529131026941243649403546\ 7830323368528007:\ 5416039783030069273660577195279406145075794925910316773014188695\ 424126525007469657167631593847463121496915435500645:\ 4964806369541933457271704487044498217022879054817785578812091084\ 454769612571500637156272668116039380758996484864172 71080186231578425712419354407360937437540:\ 1176980859009014803857106593068944458701173958687578469120934483\ 659139465526500936333672752:\ 71080186231578425712419354407360937437540 6766067674766915237012186799976734148500111990982325235714483836\ 083584935230592805199170249391665243373021274113:\ 324423691845570163374834:\ 252059054229526041391927 2823188323141882531578618333354253113311374951152404070296742852\ 061375867436124935489341:\ 1728156565766891281495579170663414558716728498925558384066168759\ 527625796619507427264134231896939288551956874380:\ 2823188323141882531578618333354253113311374951152404070296742852\ 061375867436124935489341 262779290090979866282191640705312933450751046001:\ 1089280788909080319090197382760567576418992525818853374350259176\ 94325561016010292207663524094967470016917014:\ 262779290090979866282191640705312933450751046001 8360271732029582503734310894572886727078012043023629221111060787\ 7138104216267918615216895281636771:555311145:120907711 2366610337862898747408792992366342895990689944827378360469117410:\ 76427322404335731456359122655716444433:\ 30544640615708299605352469363039636872 97771381685586783382636393:2:1 435337671693078154773623349696989:834970971193485102214182395:\ 506732218892181192932591889 2322513198662380013738103320830701289301787295559139301156091472\ 554729188662496855277024270062871128249398241623259939409120778:\ 2:0 4680113793844806249835648380663376025372596959777178380:\ 2904997032241569138092132512949608009650334804336242983698449850\ 529852963482246181:\ 4680113793844806249835648380663376025372596959777178380 2117036483187135:\ 2956811587252136030883436487547510285350147695210005035315279431\ 098717006229487861087796324851514192381549211074032:\ 2117036483187135 5405482742629299751643548818366182062777872542836164736969326959\ 5853544020603118041671461286137567987302593373027659716:\ 4573526887169513117846642791864935937856091980821696964895032993\ 8:16470976317121249525195764490105435306011497015289420117425749982 4359239142132654586747373757743417755349625230737312986309991827\ 8424863374421135266551983:64803544028311:37353941578659 6890135792819098747339200650197811212669835729907537732727533511\ 643927448939258863466836536126445044614:1696179960288:\ 1324995865638 4586314642595210536059912268094819407838151440257177384187072112:\ 2948676315159331003320418147316303300898329201084534802048646109\ 2015178004559585679:\ 4586314642595210536059912268094819407838151440257177384187072112\ 1295408061166295007189929428327291997766033572889635238933149973:\ 1972670797419796219560042479665734511348274052918937432115112357\ 6010380851770692946791:\ 1295408061166295007189929428327291997766033572889635238933149973\ 3293867584681053035957322938418784576730188582989206165304195433\ 9408357109851822801814954109216343414383237957096721562712712888\ 0653015247183660828064748:\ 8765772621072630220689785618513364012217258182568420497034708789\ 586373847828131714253297705781538931737255620107899492006608937806:\ 8601837373552535609108321170415754873427613358207755850219844413\ 541399748799344512722771514163410191291986915042108883348141430988 1377746154164779665651413126473853834067870962817490604919589355\ 6407321117598745222627688834382600647541603271142562521784054:6:2 1667979945553031384209256450228364963479415272610809793730506411\ 9303788198076909155676052962187532066482528524026964557345352216\ 5283446668047080:\ 1259826323514238805985170200301657600905328450695745758777562588\ 7186049156983679189477135784008594900590887239:\ 8186664560221138319073860758641161066866118482696737858152118048\ 749012625273296415253954330502016523386663032 1604558310259870720456999045309843418780215517:\ 2314764593137129686707089727262818413583267016192300531282204770\ 7680963809189153750977995631646696992678572235424774049002424266\ 88494047914464727456:\ 1604558310259870720456999045309843418780215517 1409736422781005655489884086727910650059319122250699179352885575\ 1322893090584507459430329601684018675016713:\ 3037097985924054837918:2373301421797167262781 6701198625704:\ 3208271584698650102424018685293737567361186784549354155908725982\ 8050085877527140878207342707:6701198625704 6570726263552141736792215188836614380398234183174708281848591553\ 9115168019938378584836876558466414158281554497244823448201181:\ 1502182222571155013035645850314652637622098563760970718145694442\ 1198813038883709721878584487611894267955370991921368152768464674\ 7953186479:\ 6570726263552141736792215188836614380398234183174708281848591553\ 9115168019938378584836876558466414158281554497244823448201181 334479763778167:\ 2620180822092752558176129834916304534899606970427451061631144668\ 8169619730877675269585659135601795114355310342255614595194757773\ 7880241235214292696563:334479763778167 # Some that exposed old bugs -19182011317708747655415793663840398231387658659684921854518950675010744\ 798088074160106794721561977563494710663654383617982647307741145787165689\ 415568325855995687160688325738126476982782410876428471011884289880631644\ 788665773228578260075978399410972382915954067959276715042755056729572829\ 093851913104244223672:\ 110589902576771067285674161059371867150853087104563757926013065022800986\ 359888876672387170062905874195180770816843413908369113777424570833424320\ 42777093021:\ 109391537162363400163656468557497811793910234020743027803411478222848317\ 478652922638466903221971706458039541796317994671218746507915453121571156\ 99186806428 -12729002947374921813333325067985579104471306056810166870370214872461518\ 835258302087462325432188644174454003894356884235513517741560628902891180\ 85736535643:\ 857393771208094202104259627990318636601332086981:\ 347124740076798815206019311966363093945724145995 -33561455954313714494272438259200225781962996013006223887793125858291980\ 416548560804296564715491363651855619074936805970007723556609659667595500\ 71261003601:\ 857393771208094202104259627990318636601332086981:\ 69829137374876952908916033728673445025 [ModExp] # Sanity tests # 1:0:1:0 ??? 1:0:2:1 2:103:150:8 3923:380:4033:1 6208938:141338444:179403587:74845992 # Random small test cases 35541290007:27861071413:54405498455:18392163817 33810311815:21623687837:67955609697:6168450286 390846234986723490867:258069:77811797476286981199753:388669864014945308514 # g=2 is a special case in pow_mod.cpp; make sure it's well tested 2:1024:159387639486734986734896734289672398467:\ 101251470522689220420018278313264853126 2:4096:4634968374896:302457470528 2:8190:46349683748963469823749683276389476398467349287:\ 22477714489988909289079275821119423277588139290 2:65537:4634968374896346982374968327638947639846734928734603867934764974\ 978569847636666666666663948673967394673496739673496739486739467:\ 39545100683930137608837226660935619825254176150139370772680647311426\ 83367133155871655171332348089412143539565993577352969480643 # A very big test case. bitsizes: (2624^2395)%2565 79929780860261081309977632552711610540802328270286009268787208946266\ 52959801126270181797858326539991808408501955736107211154089990880864\ 13303849208224219100591662616178697815457369194539353353497852835501\ 41050889822915371610531527622477756791100346237932148802218221147910\ 83764160121545158487346802968250797762918640822953726116267698324397\ 97218709812746716531207101626249641544666652454598936868588048379676\ 16272912941048200311549530333983535276332190445765429717475889329196\ 82723327383286444096495073061099816572815545646462399372759381873394\ 86919484956198277784202729520512749754342112052047850740549446316888\ 78036856294503455545058266059097463500482961705306677988487417742491\ 15342399979893391684184998084322821589461452070845054017545885544579\ 571298686351226398527864005606439403913215:\ 57905475544917604320471424647112496473975795682168523689996102576776\ 26237088778306631051069455546703439634818835586436374397201459270953\ 73320224593906109498830519623033054321336538157343986271182875008898\ 46400895285646814945099135578078712638653971354390893897513549226862\ 42288943235147182911794944000641930092937330351756206882625430975695\ 44517498509112574132890275024912111320852904074917394291149467803521\ 35858911321807178002982306495559510988786798025982798386952917933172\ 94803214105228859170942097230151211488601051217081893388443911838163\ 36005486029723368697022501011466335322002083542926898677979222112122\ 26602746563675308094794277325137581108077975533806822750634437146271\ 95586058676179645844985231821190979452929:\ 10399205046598242703229657351883132701652276964362108506952937688714\ 32748288996020332036899375414937330955428206666889017559888570519250\ 50646752050470991826964779958550793771265289251619085920928563751890\ 69887180372385733236214632572059802975058104127044922162389962101924\ 84687865663461891419811205882677932740064370564080283318891658075996\ 58544432626283448453420230409266259464245167575870377225089095472270\ 35936225873319683727097162939426767650247431692626091054378261933883\ 04444592844359283277150336016415487591544524543727803303478523219741\ 67585351918391390323730198435093034895278122139553159165456287861721\ 05733915744785361299323192153909893286267220726431407206795271107384\ 11115626646378829487932946663804144605711055044827184543371896600950\ 5066861013496859002404865:\ 76383126271403199465553629505580460064061138700480822311446783865005\ 94033351331759734478813350785616549057262115034183484701333480536277\ 68750392900860337148760236002293999903452043982157916536463831543329\ 81510716218290076553514718078562286562453573978032941974718159086704\ 26254141182888039292181731039710070744775875012183282365743418038436\ 68118132938651461047089720835645326444415743163725663534054526664632\ 63369477979502118345322416804826584935088694928774075019074758940531\ 93696779256795084313220287359244619510038817488191412143951928835003\ 09516216069636385063459729195557820282023577637677540172121768705892\ 64355863735811421469235193223472628311338081133201771681274202506343\ 43861119601917402017293095701055272115112783553081034528116130152891\ 276971073856411987253305 958568327191:\ 10820434407851188405104973511902906513518224342681350271810370438073617412:\ 385412694768521967592874726457715560537359750887572236310781387057217187291:\ 124514485573662879135724475226939854111051534076732305767767212261825204773 993:\ 158082274092371197688912481356696199899964270448955828125938845871237934609:\ 195335598174576479907825469879133749630277214529613044392254617116806465841:\ 76319125426811367239700120840606231265432388418754186363393007030575232763 5837:5387594231:\ 52910803894426776035608204231136092295842162542576147924991587830017346711785:\ 41256038256951041015975957103736087906734912779021641091323861709915393683478 11820:\ 349248154095284306437849303504509069624812572044321414531019412890823663:\ 11695070112125499434524238623571455233638695379976237857792518028967433696813:\ 4877591936163920485322716677654737966141266950607206024720481980778956876733 1279509:\ 228828116455132585158359573618073983726467809680019810077325482377363026:\ 596955405275729008892203759914236488647769846458724773926971979942130809:\ 548455744959985761919173432531376978888129348803576565818991241228678799 1169325226204036541181168587818457846915410492286163370049583817559172758:583:\ 1347789004686354026667591408699204029024258192368477695588810277715014901:\ 986753196897611638420753041983500285520492197918271348656818055904410861 39684855714221597676995827906679339738237777820353232844682939092337386955:\ 79808721821529030962053171978817611068275131312667370272216709366985607610:\ 168218000729293476661981768796405354274622797227127241788417326533874081227:\ 10243904434954110191313565832244070050272803217812912164431747671168317597 473396006114590115230521230276516897096:\ 387145532418575837430469368595868663742:\ 554862946848974049157489689418354631387:\ 448855900130388136390865414336576134923 383239913102526615892890047333017777270:\ 5212692713946112175761972297467118924556477:\ 9600330398725582192064124044651400063154809:\ 553434761331054066751131351244038395387413 17023533902565202029648472226171284665775885307:\ 172062909283726569049023770937247425801:\ 2803129820108668499802071463467295777012106623420016438138627500\ 520764503324471534463345465793841061510744977815:\ 1087221030676278725112163308497001956646825599606083907052530601\ 511129847691028000053571012933461738616679305207 6861608600119069162748766903320668621565184418412102985517914652\ 495806067714718757017641467375130420763543:\ 6090170638405015131997058617056249184350028938641981546887188901\ 427704577888167364319592127129279546370159:\ 9244137284483765901488318500741614548852246750950515340492572279\ 249663219793564958021372197661101436416951:\ 4357639256086891490742558173162011739263189633058589469209912059\ 837628983627026566654010174880786564650028 1708391349301269900029298214389921761264445766152620652843393219\ 358035361114524948237829535432550149898389816132:\ 2879295558693495162441272767383253789140301947026867788739382060\ 6202058461437115060253107180150356177029255392:\ 4562451461011443048616592993727831094905333529601929282014937177\ 804484518010765376407040702135536959480150175881:\ 4780971485381051463987885157471185516431563444901967941411376359\ 86642717690683975282976174121121834972342669810 10517206412589906914919094336031596865011:\ 76918459253520716071622848977323758816926:\ 1505994032870020776188597437379504956214103601873594169817828353\ 64671206273170823011738702809865490437980268482169:\ 6782959072847327960243512935142614796318322133888530532951869324\ 5770409979689571346380672589348570036123781607470 11150372599265311570767859136324180752990207:\ 242724485078592151169084549880604092836:\ 5335081937310201228237642071226891497098426337909703107583644285\ 670654712470768061820964879543360755501155583507:\ 5289945663803755598608137950548888139591380435852466790487033227\ 703935262787324650046364967638572584406632742426 931466513478626427306310727788682496419061:\ 217994111091681034507066335081667319859874:\ 961964829688733829104056632507823404588589:\ 833173750092106303567501575871102318441517 33561455954313714494272438259200225781962996013006223887793125858291\ 98041654856080429656471549136365185561907493680597000772355660965966\ 759550071261003601:2:857393771208094202104259627990318636601332086981:\ 466300477512220407817532870461493708182430162598 # Format number:is_prime, where is_prime is 0 or 1 [PrimeTest] 0:0 1:0 2:1 3:1 4:0 65537:1 # This one passes Miller-Rabin with a base of 2, but not with most others 4294967297:0 # Random ones 10416536965533130067:1 62073521899194104903553565787:1 170585900781008069215236465296032411499:1 1443993313735051633697456797423139085424112074517:1 10771372029656662585340604592252023412983364818055143344382694346546\ 2298290643:1 11771372029656662585340604592252023412983364818055143344382694346546\ 2298290643:0 42588518477191145729:0 # The following are of the form p1*p2*p3*...*pn + 1 where px is the x'th prime # This is to make sure the number gets past any checks for small prime factors, # and tests the Miller-Rabin routines. It would be nice to look up or search # for some Carmichael numbers to help this testing some. 32589158477190044731:0 4014476939333036189094441199026045136645885247731:0 1907826688958019501360189182099275775721983966835701205590751690\ 4309700014933909014729740191:0 4445236185272185438169240794291312557432222642727183809026451438\ 704160103479600800432029464271:0 6107692946593319609927894338899785515035614388823837148866549657\ 4810764573680243467182799164806563626522181311132959748531230211:0 6989612506894284794136067796445539076219364950255126280242854713\ 9923075880112964253713561700013194221462347575861905534037645370\ 21369947456703810795390696338067840821591:0 2577426147548683169379880845613862450845254401055092509543183257\ 2701791887072337189992932234179329410389241899414841054215169960\ 1546741832617953638436279944072980418788682453341495300190580109\ 0622787969540076319408964006231:0