# FP ARITHMETICS - CURVE: NIST521, Modulo = 01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; BIGmax = 2^521 #test1 FP_1 = 1423087A FP_2 = 07AB29FE06016F FPadd = 07AB2A122909E9 FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF854D6161D070A FP_1nres = 1423087A FP_2nres = 07AB29FE06016F FPmulmod = 9A6BEF9714E21D1526E6 FPsmallmul = C95E54C4 FPsqr = 01957E1E61A3DA24 FPreduce = 1423087A FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBDCF785 FPdiv2 = 0A11843D FPinv = 0161DE8D74086409C6E43242BA530D174A977E2C63BE098FA001054CB170DFAAA4F9DE35A1DD67D658C8AE93D5B2C57A8B4045E753F2F22A2502C4DE35194C9F1704 FPexp = 01DE6665F18C042295058E59F2DA3B660417F7F4E76CF41E3BD8795AF998A2E1C145A52FF2ACC7D2CF970A328CAE0BA4819CA327C82A2968639EF7A6B0CAC88060B3 #test2 FP_1 = 0122122287895D8FB5DDDB72 FP_2 = 01553335C74F375B4F9EBB483871 FPadd = 01553457D971BEE4AD2E712613E3 FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAACDEC4AD3502E0DF0FA95A300 FP_1nres = 0122122287895D8FB5DDDB72 FP_2nres = 01553335C74F375B4F9EBB483871 FPmulmod = 01829C2E8B01FB36E0F0787D5E2D2EC2E05F899045CCFECD52 FPsmallmul = 0B54B5594B5DA79D1AAA9274 FPsqr = 0148AD1783F2EF92FF44C787E4B1FEFC8375EFD2F03EC4 FPreduce = 0122122287895D8FB5DDDB72 FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDDEDDD7876A2704A22248D FPdiv2 = 91091143C4AEC7DAEEEDB9 FPinv = C5371834E05310DF52619E9D0BCE4525D641F21AF9EF2731B2001B2AA489AEE2F9A0BFE3063FF7FB1211DB82114D24AAE2C141666FED0E7B099759B63BA248776F FPexp = 01C2E12893CE7E4697527B734A87F1A18B542938DE9997059C98E250547709579E8EFEA1EE0376B9A752CA46418F9458642D9BC255A1C2CDCA7E49A2D877090B1B9F #test3 FP_1 = 4DA05FC9951B7973A972D94E43A9DDA8B4 FP_2 = 040C275A57BB8E16B5E0787C2601FB8781FC3EAB FPadd = 040C27A7F81B57ABD159EC2598DB49CB2BD9E75F FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF3D8F348A43B7E6598FB2D4CD752BC27E16A08 FP_1nres = 4DA05FC9951B7973A972D94E43A9DDA8B4 FP_2nres = 040C275A57BB8E16B5E0787C2601FB8781FC3EAB FPmulmod = 013A30F2775B2D8E6D37D037B6ECBC7C11D9F0C2BAD4F22A9E0B911FACC4500576EB1B483C FPsmallmul = 030843BDDFD312BE849E7C7D0EA4A2A89708 FPsqr = 1789DE17238424CD44A473FF856E106A12745914C0C4E84F2715BEB266E25DF4BE90 FPreduce = 4DA05FC9951B7973A972D94E43A9DDA8B4 FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB25FA0366AE4868C568D26B1BC5622574B FPdiv2 = 26D02FE4CA8DBCB9D4B96CA721D4EED45A FPinv = 1B69CE27F8D37786E716D17037EF0295B8DC156DC39C02619746BB33D8B294736B498F01BC90EDC9BF2B95E381D04E5C67C668D6A27D0D70551ADDDD51152757A6 FPexp = 015F362C3DB97B22A7F3EB8372D4691D3ECBEADB6AEAC839F054709EE64AD06B11D52FB0C8CA38E797CEB166D666CB93F9403DCE0452D95AFFDA7F5AB9C3B48ED68B #test4 FP_1 = 01EADC15CBFD4B7AC36FFB0FC1E33279F6A6B7D3419CFAD282DA FP_2 = 01100F630AA1D374097CD5DEEAF3FEE645CF09BD586E80574E238C FPadd = 0111FA3F206DD0BF844045D9FAB5E218BFC5B0752BB01D5220A666 FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF1DB790B2A29D771469A1C24CDE44C34279CFA7AD31CA3845F4D FP_1nres = 01EADC15CBFD4B7AC36FFB0FC1E33279F6A6B7D3419CFAD282DA FP_2nres = 01100F630AA1D374097CD5DEEAF3FEE645CF09BD586E80574E238C FPmulmod = 0209A757F58364A2611A42CFDBE5C76464DD65DD1274AB32BD29AECD00BD5FC012C1391298F8C678639D40DE8AFD67BFE76F5D38 FPsmallmul = 132C98D9F7E4F2CBA25FCE9D92DFF8C3A2832E409021CC391C84 FPsqr = 03AD2F40A65E1B65C93B0C990F8C753C99FB5D85A4174B4CECD629D3474D28EE8DF617509E987E5EC03070EC1E025CB88A21A4 FPreduce = 01EADC15CBFD4B7AC36FFB0FC1E33279F6A6B7D3419CFAD282DA FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1523EA3402B4853C9004F03E1CCD860959482CBE63052D7D25 FPdiv2 = F56E0AE5FEA5BD61B7FD87E0F1993CFB535BE9A0CE7D69416D FPinv = B26B4677EBF90CE3A45797100471610AD886A59FE634DDF6ADAE77B278CE82C4B2C57A036A07C1DD10DF3FD83CA2FFB5C2EAE92B4DD27D8B07E0DF7FD025749BFE FPexp = 175B794A028802BB887FC472F606B4F01FFF4E28B0C44F3FC79A2CC8FB70F9E826D2B503061BB5BF4560B1D709DA13C384B1DCC10BFCBED97BC1D5CEDD38561F7C #test5 FP_1 = 0A752B803F4AA74EF0ABAAF66A5C321F597957DE74 FP_2 = 1D96E6B16589DFC4F2888ECC72AE90244F10EC31CF93A035F47DC3D8B5FE9AC65F FPadd = 1D96E6B16589DFC4F2888ECC7D23BBA48E5B9380C03F4B2C5ED9F5F80F77F2A4D3 FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE269194E9A76203B0D77713397C69B5BF039BB1D21180AC075DE6E46A37ABD1814 FP_1nres = 0A752B803F4AA74EF0ABAAF66A5C321F597957DE74 FP_2nres = 1D96E6B16589DFC4F2888ECC72AE90244F10EC31CF93A035F47DC3D8B5FE9AC65F FPmulmod = 01357001888EB33CCB8FC03E93F70C0E38BD720861B9E0C58FE7325D869A3BA561B12D25A6D11F7FC6C03B15EECAA23F2BA4E771450C FPsmallmul = 6893B30278EA891566B4ADA02799F5397EBD6EB088 FPsqr = 6D5D06CF9004D187770E2DDE15E2113B68C9C14FCAAE41E5E0558E5108585C80EF25CCF31A9C256490 FPreduce = 0A752B803F4AA74EF0ABAAF66A5C321F597957DE74 FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58AD47FC0B558B10F54550995A3CDE0A686A8218B FPdiv2 = 053A95C01FA553A77855D57B352E190FACBCABEF3A FPinv = A62C9C668831AD621F8FD81114239BCBAE66EA398BFF071021306CC4F45BDE0F2B8A7CE71FD1674162554A0BFE137FCAAA79C56D8A2F577E7F2DD61313F8CCB808 FPexp = 40470DA51451EC61DF28E36615C33E1B20469E4AE62C89EBA14E0E2BBA7A1915E30CF49D37E8285EBBC75A8DA744B90F048BDFF1CC4F3B49154E44D23F8B136F54 #test6 FP_1 = 81D0531F31A6476F8CE03137EA FP_2 = 562363FE4188FC3BD26EFDE098606797AB51B23CDC8C39C738FBA09EC32191CA2E6AA9984C483B FPadd = 562363FE4188FC3BD26EFDE098606797AB51B23CDC8C39C738FC226F1640C37075DA36787D8025 FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9DC9C01BE7703C42D91021F679F986854AE4DC32373C638C704E1318FFD9FDC1904E347E4EFAE FP_1nres = 81D0531F31A6476F8CE03137EA FP_2nres = 562363FE4188FC3BD26EFDE098606797AB51B23CDC8C39C738FBA09EC32191CA2E6AA9984C483B FPmulmod = 2BADEE1C56048A9049E73951763B5B5E113264BBD593EAC6BE0DAF8D6CEA15D43E347CD1C49417220649DBFB3E76E9CF0C89B2EE FPsmallmul = 0512233F37F07ECA5B80C1EC2F24 FPsqr = 41D39D4C9DB78031637793A13F6E039DBB5524743F3FF3CA61E4 FPreduce = 81D0531F31A6476F8CE03137EA FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E2FACE0CE59B890731FCEC815 FPdiv2 = 40E8298F98D323B7C670189BF5 FPinv = 0127365ED3AC04A0535D1600B609B6E44994258A5EEAA7C80543D034AB2B03B8D6A1F4108979875F6214745F1A6A49B2BF379AE24BC089527A9B2E05EA77D7309D75 FPexp = 016D9E7511CA630591FDA345AC32CD461C158D53C1514FE0A1EC48771619FD89CAF392F821566500A48738EEB10DB3490E02F73B88F7CFCB19CA9F78DC5DF1A2028B #test7 FP_1 = 0DECA8DC3110129E1ACFE08C0C1512C32540E56AA8AF611E029694B803CE FP_2 = 0C05CF66FA56DACC6F6A21BFC5CB65B1FD13B3D8181450A763ADDD718B5B77CCE372D9C1771C9C9E9FA291B1F241 FPadd = 0C05CF66FA56DACC6F6A21BFC5CB65B20B005CB4492463457E7DBDFD97708A9008B3BF2C1FCBFDBCA2392669F60F FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FA309905A925339095DE403A349A4E10D8F50418FBC1F6B722031A80B99AF641CE0BA93192C47F62F40306118C FP_1nres = 0DECA8DC3110129E1ACFE08C0C1512C32540E56AA8AF611E029694B803CE FP_2nres = 0C05CF66FA56DACC6F6A21BFC5CB65B1FD13B3D8181450A763ADDD718B5B77CCE372D9C1771C9C9E9FA291B1F241 FPmulmod = 01217D32404649B23BF0D0AEA5C529B4A4973B449B7F61BA83D55CC16153BEF0B09BDDC495E68E165D99DC211F52067884FE81CF7A53C92B5955CC27EEFFF89CC3E2 FPsmallmul = 8B3E9899EAA0BA2D0C1EC57878D2BB9F7488F62A96D9CB2C19E1CF30260C FPsqr = C1E3EE2257D54FD7B1372602D3B6AEDB8AFC0D4DA26DA4EA6037DEDAA559996C00BD5CA1486DC88E0FF80B2AF8C0BD4330948C7E60F613A82E79C4 FPreduce = 0DECA8DC3110129E1ACFE08C0C1512C32540E56AA8AF611E029694B803CE FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2135723CEEFED61E5301F73F3EAED3CDABF1A9557509EE1FD696B47FC31 FPdiv2 = 06F6546E1888094F0D67F046060A896192A072B55457B08F014B4A5C01E7 FPinv = 0143BAFEE6415C3B0BD1BECBE00A9E6D9CBC69DBCC3BA0E69EEDF59866AE00DFDFEB5492D1E25F4660D076B0943BC352984D5A62D18E3262A546DA53FB1B47CAD038 FPexp = 01A4F02E9997E31CC5ED4803D734F564FBB17B92AE4C292C2FE6098E07FC40E731B053D5DAE8DEC559014AEC985AC8E76A2CD8C8C0E23D7372BDCEC21FFCCD4AC8A7 #test8 FP_1 = 0B14D10803474FC5DEF474328D FP_2 = 0148414468D4649EE023EA948A01849D941F79C05F322062D6852D63E962306C694474757C2A386505F008D49BE8F3E3273E66E8C5 FPadd = 0148414468D4649EE023EA948A01849D941F79C05F322062D6852D63E962306C694474757C2A38651104D9DC9F3043A90632DB1B52 FPsub = 01FFFFFFFFFFFFFFFFFFFFFFFFFEB7BEBB972B9B611FDC156B75FE7B626BE0863FA0CDDF9D297AD29C169DCF9396BB8B8A83D5C79B0524C833675E5BE2B7B60D49C7 FP_1nres = 0B14D10803474FC5DEF474328D FP_2nres = 0148414468D4649EE023EA948A01849D941F79C05F322062D6852D63E962306C694474757C2A386505F008D49BE8F3E3273E66E8C5 FPmulmod = 0E357F116868D78DE3AFF78ADB21C51F72C5155A0C565CE63FD8CAFC5A67C3ACA9800781E1DDDE2C712E038CC5B75AE6AE0D8BBC99EB186E100C1C9720B568AE81 FPsmallmul = 6ED02A5020C91DBAB58C89F982 FPsqr = 7ACBA80436B99A1CD4AA5390DCF440397721C863A6A1C361A9 FPreduce = 0B14D10803474FC5DEF474328D FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4EB2EF7FCB8B03A210B8BCD72 FPdiv2 = 0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058A688401A3A7E2EF7A3A1946 FPinv = 685A64B02D8C73FD6002B36E3722F1D6D5CEA725A1E7B0FA13A5182D163341613200E8B5F1397348B4270CA388570C0802055C7C45C20D39F9A5891DBD64052482 FPexp = F403C2EAE9B2BDE651BD513D488B2E1525B35B577687902A43F9FDA5F5C59C1FE8C0211A93AD3F39405F4A2BF02C6AF891DDB41284D1E41649280038549A98E5F3 #test9 FP_1 = 04E19F91DDD136830EBD9264 FP_2 = 15BE61AEDE8ED5BC5115B474D6B2DDBF9BA9394F5AC877535EFE47E0861DF4513F6851D47D83F18FA51194192F10DA67E5AA2FF78B7138905CDE2E FPadd = 15BE61AEDE8ED5BC5115B474D6B2DDBF9BA9394F5AC877535EFE47E0861DF4513F6851D47D83F18FA51194192F10DA6CC749C1D55CA7BB9F1A7092 FPsub = 01FFFFFFFFFFFFEA419E5121712A43AEEA4B8B294D22406456C6B0A53788ACA101B81F79E20BAEC097AE2B827C0E705AEE6BE6D0EF259CFBF561E645C54A7E60B435 FP_1nres = 04E19F91DDD136830EBD9264 FP_2nres = 15BE61AEDE8ED5BC5115B474D6B2DDBF9BA9394F5AC877535EFE47E0861DF4513F6851D47D83F18FA51194192F10DA67E5AA2FF78B7138905CDE2E FPmulmod = 01E68A919B04CEABB0508C57EFAF11981E252AD19124F48442DA42C594E552F7FB777B958FC1818C37097501E8EE44AC36393D7AAE92A0CA882077A38AE2F8A72239 FPsmallmul = 30D03BB2AA2C211E9367B7E8 FPsqr = 17D3D670CCF81CD3BF45ACF76CFAE1BFE74ABC6B5E3710 FPreduce = 04E19F91DDD136830EBD9264 FPneg = 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1E606E222EC97CF1426D9B FPdiv2 = 0270CFC8EEE89B41875EC932 FPinv = 0119DB4A5AAB55AAB0EF0DE7D5CBF7327EC392A7017405BCD25632355875770A20F48991079EA7E827ABEA14FC4C5985C0C1AC6D98A9D99A13F09DF22C5BAC3FD0D0 FPexp = FE465B91DDD65F7C94C7A91F74D0374214E83B84B07A82FC0249717464AAFFF48857A9DDD064157C24B81B7B05A171EEACFC02250FD1EA6400DE8854E318D27372 #test10 FP_1 = 013E3826D2CC014F09F34138CEDED912AF6000B886E5DE55511F345F21474CA084EB1AE21E3B2FF35BB54CDA5AF5C34376CFD62B99A51030CC FP_2 = 010A79894B0AB81625DD4919396552C6B7B962204E562AFEC7FDC1D8B04D6585B2285825280BFB25ADB8CC4A1460E1D3C72E67F57E721EE70F9957A2C8002FABCD49 FPadd = 010A79894B0AB81625DE875160381EC806C35561872509D7DAAD21D968D44B6407797759872D42724E3DB764F67F1D03BA8A1D4258CD14AA53102778F399D4BBFE15 FPsub = F58676B4F547E9DA23F51EED6D793A97509120EA78B3DA4AB19E2808398058A328C70F37154C26F2CC1ED0CDBD595C2C2D4D575BE8D6DC33DD7833639975646382 FP_1nres = 013E3826D2CC014F09F34138CEDED912AF6000B886E5DE55511F345F21474CA084EB1AE21E3B2FF35BB54CDA5AF5C34376CFD62B99A51030CC FP_2nres = 010A79894B0AB81625DD4919396552C6B7B962204E562AFEC7FDC1D8B04D6585B2285825280BFB25ADB8CC4A1460E1D3C72E67F57E721EE70F9957A2C8002FABCD49 FPmulmod = E21DFBDDEAA72F45E68739C97AF635FCEFDA3B6EAF027D678DE78063FC59949574965F639A4CA30CEFE3B244C0337C29F4CD412C6D7ADB28A105BDFDFAC83CE7A7 FPsmallmul = 0C6E31843BF80D1663808C3814B47ABAD9C0073544FAAF552B380BB74CC8FE45312F0CD52E4FDF81951500878D99A0A2A41E5DB40072A1E7F8 FPsqr = C82AD04633C6C4AA19769C69B021B3F8F599090E4B61AE003CD880A570E92D6525CFEB2CA8D61AAE7CA8B46365600D6A1433C5C3FFA6A5553B061D49EFEE4A8FEF FPreduce = 013E3826D2CC014F09F34138CEDED912AF6000B886E5DE55511F345F21474CA084EB1AE21E3B2FF35BB54CDA5AF5C34376CFD62B99A51030CC FPneg = 01FFFFFFFFFFFFFFFFFEC1C7D92D33FEB0F60CBEC7312126ED509FFF47791A21AAAEE0CBA0DEB8B35F7B14E51DE1C4D00CA44AB325A50A3CBC893029D4665AEFCF33 FPdiv2 = 9F1C13696600A784F9A09C676F6C8957B0005C4372EF2AA88F9A2F90A3A65042758D710F1D97F9ADDAA66D2D7AE1A1BB67EB15CCD2881866 FPinv = 0173FB1F98DA8809C80C7B7DF7F363AAD2882D64E51AC2093E4DAF8B19915EF4A93455E60075D90905B75BB31D89B33DF03306F67B1CA906F47BA536F0AF0F423846 FPexp = 017B9CFE9440A0A354D36C7E3E9C6327323FBD960BCDD92173A37DE3C08188FB3341CC2D3ACB4883864268DA14B16FD3DE0F513E38BF34E1AB618DAA6A68D6B69C98