# FP ARITHMETICS - CURVE: NIST384, Modulo = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff; BIGmax = 2^384

#test1
FP_1 = 16E5DD
FP_2 = 0DC0CA239D
FPadd = 0DC0E1097A
FPsub = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFFFFFFFFF33F4CC23F
FP_1nres = 16E5DD
FP_2nres = 0DC0CA239D
FPmulmod = 013AEAB34FDA2F89
FPsmallmul = E4FAA2
FPsqr = 020C506120C9
FPreduce = 16E5DD
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFE91A22
FPdiv2 = 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF8000000000000000800B72EE
FPinv = 05664F599014E7C19FB9D03DD0AE23CD4B12D5721EDBACDA08A378060035E4328F08E3B5DFF48AA18991543C65A97081
FPexp = 570EB7523078C17BE360964BD02321286350DB5A1C943EE07D5EA95C9A456186851B492B038348C82934C5244EE24995

#test2
FP_1 = 93AB775C
FP_2 = 16F83808244CDCE96EF3
FPadd = 16F83808244D7094E64F
FPsub = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFE907C7F7DBB4B6C20868
FP_1nres = 93AB775C
FP_2nres = 16F83808244CDCE96EF3
FPmulmod = 0D3FEAAFBD884DFE60F28BC7D454
FPsmallmul = 05C4B2A998
FPsqr = 552E5DEC548EA910
FPreduce = 93AB775C
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF00000000000000006C5488A3
FPdiv2 = 49D5BBAE
FPinv = 9CC2F7A9F9816E8BE38A068C86F0A7395D1BF11786662290C76F9018C1FB0233DE62919A62201154093537AE58BEE612
FPexp = 5F570BD3A4E75482C3EEC85A1CA724F03F8ABD19EFA22A380B09CD689A8EE60A0BBBE2BEBFB7CB6E4AF57CF28A61630D

#test3
FP_1 = 0B6A12A80F88E51848D8
FP_2 = 19883FB63796BD54E01EE0979F00
FPadd = 19883FB64300CFFCEFA7C5AFE7D8
FPsub = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE676C049D3D355532F6B0480A9D7
FP_1nres = 0B6A12A80F88E51848D8
FP_2nres = 19883FB63796BD54E01EE0979F00
FPmulmod = 01236F038D47C100F2198AC15FC3BB1ECB4FF0AA0CA62800
FPsmallmul = 7224BA909B58F2F2D870
FPsqr = 82498DE5DEB1917334510B0ADB2A202D3A3640
FPreduce = 0B6A12A80F88E51848D8
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFF495ED57F0781AE7B727
FPdiv2 = 05B5095407C4728C246C
FPinv = 12C70A9960D253EBAA745464964F6110F76DF00826F37E2B865E7A11F3862E2CB96EB96657ABD1BD2C2EFBBE4AD98DA3
FPexp = 5C22D5B865A3F2B8BE5C0789FB98968D5C403ED4FB1D7FB4145439FE33A7D960F017CCF0510F43CF74562C35972CFB5D

#test4
FP_1 = 396BEB4A52117F997D065B
FP_2 = 02574DE5ACD0A9B2A18C549806922993AA0F12AF
FPadd = 02574DE5ACD0A9B2A1C5C08350E43B13438C190A
FPsub = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8B219532F564C5EAD175343BFE7ECEF6DF3AB
FP_1nres = 396BEB4A52117F997D065B
FP_2nres = 02574DE5ACD0A9B2A18C549806922993AA0F12AF
FPmulmod = 866CFC84F82AF1A84C4B8C042E97D32E6D0A6A5CC0D540712CD1843EBE35
FPsmallmul = 023E3730E734AEFBFEE23F8E
FPsqr = 0CE13C45A0EDEDB2B0AC1F0C8AD2EF3712F1FB066459
FPreduce = 396BEB4A52117F997D065B
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFC69414B5ADEE816682F9A4
FPdiv2 = 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF801CB5F5A52908C04CBE832D
FPinv = B94306BCF552C65620F184A90491B25D6EB3901972FEF96FC86BADC74071DBE14799B5ACEBB1E732DB4667F875C79A9E
FPexp = 316D1DCFFDECE465A2F10D42B086D6800A4CFC408BA21A0433D488C53CE8C19B4C189D271BD8EE7E84F0214DB08CBEB1

#test5
FP_1 = EED682BBBC4247C4F9EA2D82F0AE1C
FP_2 = 5183DB413FFD19CE90AB68359BD4DC96064DED62799EAAF5
FPadd = 5183DB413FFD19CE919A3EB857911EDDCB47D78FFC8F5911
FPsub = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE7C24BEC002E63070436E4C1FE765B1BEABFCCC09520326
FP_1nres = EED682BBBC4247C4F9EA2D82F0AE1C
FP_2nres = 5183DB413FFD19CE90AB68359BD4DC96064DED62799EAAF5
FPmulmod = 4C0CE3B0AEA306969E502FB4F5444339711577586D19600EFDC8837BA4ABF17B687C10D53D38CC
FPsmallmul = 0954611B555A96CDB1C325C71D66CD18
FPsqr = DED38ED3E6AD3122222B924CE58542AA939E6FA781CCDC59B8F35AEA1310
FPreduce = EED682BBBC4247C4F9EA2D82F0AE1C
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF11297C4443BDB83B0615D37D0F51E3
FPdiv2 = 776B415DDE2123E27CF516C178570E
FPinv = 2D60032CC7422B32F71A2F4F37C4E2A84EA84AD45D09D4B7EA6263F29C5829D25C04EF59E2361AC85F5B1D636E00697C
FPexp = C4054D1AAF530FB57C99B4121DDA77ED888A9F6E9E02552F7300DF5CC8CCF4324DF3C2339BEAEF2218A1C9EECCB36F02

#test6
FP_1 = 05777B98C945E4
FP_2 = 5BA29B32982ED699E485D7E79ADDAE9EA605BB52C1848D96D967C45DBE
FPadd = 5BA29B32982ED699E485D7E79ADDAE9EA605BB52C184930E55008DA3A2
FPsub = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA45D64CD67D129661B7A28186422516158FA44AD3E7B77E0A33104E825
FP_1nres = 05777B98C945E4
FP_2nres = 5BA29B32982ED699E485D7E79ADDAE9EA605BB52C1848D96D967C45DBE
FPmulmod = 01F4F1DBF2A6CD6B00440E4343EC8880F9D24312164A12FBEC2E9257B5B45FB8C255B338
FPsmallmul = 36AAD3F7DCBAE8
FPsqr = 1DE2981B94067AC255931CB310
FPreduce = 05777B98C945E4
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFFFFFA88856736BA1B
FPdiv2 = 02BBBDCC64A2F2
FPinv = AD367502FB3E2918596E1ED254CB7444006F0822F0E85BD30106C279B3FA1D453ECB722C927FD1D288D4EBD46EEFC85B
FPexp = A1D210B75FD951FAE0B0CE7E200A7C9099F34344A846A5434B5CCBC360C1E5F912E9CBF469C39614434AE5E1A34F5021

#test7
FP_1 = D216763074348018106B990AB858F97870531879B3A95E94CBBFA07F501E
FP_2 = 153DCB0351884CB8E6E542AD0A5E30BADC8CCA1B29B764AE1929DD6C8C05E65C7909
FPadd = 153DCB04239EC2E95B19C2C51AC9C9C594E5C3939A0A7D27CCD33C0157C586DBC927
FPsub = FFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC234FD808E29778D4F3D6B060D684FDBCB2F5D469AB3CB9A7F81283FBABA22D714
FP_1nres = D216763074348018106B990AB858F97870531879B3A95E94CBBFA07F501E
FP_2nres = 153DCB0351884CB8E6E542AD0A5E30BADC8CCA1B29B764AE1929DD6C8C05E65C7909
FPmulmod = 9928EC277BE6D48EF9F77F5ED90067E6F3D003493164849303AC07585CD0636F1AFC07EFAFD8A32AD41BF0D240112663
FPsmallmul = 0834E09DE48A0D00F0A433FA6B3379BEB4633EF4C1049DB1CFF57C44F9212C
FPsqr = 56792FA23204C81743C550C1257C929D35E46ED9D94903DAF740849392BDB9C5938AB91BE6F45207CE4A231CC46FF41B
FPreduce = D216763074348018106B990AB858F97870531879B3A95E94CBBFA07F501E
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DE989CF8BCB7FE7EF9466F547A606878FABE7864C56A16B34415F80AFE1
FPdiv2 = 690B3B183A1A400C0835CC855C2C7CBC38298C3CD9D4AF4A65DFD03FA80F
FPinv = EE2521CD3CEE4EC10CE4D79748EEA3CBD223DEC00A42CF1032E1A1706FDCD8F390484864DC4F85CB71CFC0F960605380
FPexp = E2B4DBBCE9D550E6DA2A61AC0805E30688F9C15E4B15A663E9705BAAFAB3D6209B641FF0A1F9809CEFB0FCC4FA95710A

#test8
FP_1 = 126F06D962237C9D5842CDBF26D658F8137AFB
FP_2 = 0367F1894B1278B251C5A783A2A3689F51D96D406E0D112D313E21DE54CC3B321FA3E5C7BFFA4D
FPadd = 0367F1894B1278B251C5A783A2A3689F51D96D40807C180693619E7BAD0F08F1467A3EBFD37548
FPsub = FFFFFFFFFFFFFFFFFFFC980E76B4ED874DAE3A587C5D5C9760AE2692BFA461F4AC30E559BF0376928D073274305380AD
FP_1nres = 126F06D962237C9D5842CDBF26D658F8137AFB
FP_2nres = 0367F1894B1278B251C5A783A2A3689F51D96D406E0D112D313E21DE54CC3B321FA3E5C7BFFA4D
FPmulmod = 6D67D5247672F9D361DAF067AED3DD464B58B4FA7936411EF31C1C07532B5C55B4940E8F4708B5487387299694311179
FPsmallmul = B856447DD562DE25729C0977845F79B0C2CDCE
FPsqr = 0153CD1D827F017D607BC213D761AC46A11CE91E26B98B925B88DD3BF6F51BE9F051CC563219
FPreduce = 126F06D962237C9D5842CDBF26D658F8137AFB
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED90F8269DDC8262A7BD3240D929A807EC8504
FPdiv2 = 8000000000000000000000000000000000000000000000000000000000093782ECB111BDCEAC2166DF936B2CFC09BD7D
FPinv = 376F506D25F77AF97D45E1396F025FFCC39C11A08DC887A47AB285E775D34081EBE0F57F2492BE0F8D771AC35100725A
FPexp = 656FF50EC2309DF47CF61A0829F8421F26B977A4AC26AE790FC7DDF6B23EFE47E375C7A36050ACF585ADDC59E8F21698

#test9
FP_1 = 0E978A9D1744F5FEE9695406
FP_2 = 01795FFD55FFB571DFFD9F1255171F0CF0299E8C5677D0F34AB978E9A6FEA2D44C560AB0B61C43B87F4530B2
FPadd = 01795FFD55FFB571DFFD9F1255171F0CF0299E8C5677D0F34AB978E9A6FEA2D45AED954DCD6139B768AE84B8
FPsub = FFFFFFFFFE86A002AA004A8E200260EDAAE8E0F30FD66173A9882F0CB546871559015D2AC2417FEC6128B2476A242353
FP_1nres = 0E978A9D1744F5FEE9695406
FP_2nres = 01795FFD55FFB571DFFD9F1255171F0CF0299E8C5677D0F34AB978E9A6FEA2D44C560AB0B61C43B87F4530B2
FPmulmod = B8B43C65330291A3852D54244745D9DA1A683892C5537B6E90658B948BD439BC09EC053C59A3BE42DA900847790DFDED
FPsmallmul = 91EB6A22E8B19BF51E1D483C
FPsqr = D4ECDDFEEABBBDFA28E4890A9A5D0153D71E30F47FF024
FPreduce = 0E978A9D1744F5FEE9695406
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEF1687562E8BB0A021696ABF9
FPdiv2 = 074BC54E8BA27AFF74B4AA03
FPinv = A8B324782A1FF406E6A0CB5C67A929A1165414C50E5C39C7D1DFD893BE58E5CF12DCFFA563C371AFA1277F92D2038895
FPexp = 04B1A0DC6FB2A90817CFAA19F2FB025BFA5FC95C0E9C667D58B9965767F640776DE2ADAC7D1E8197F619D37596413F29

#test10
FP_1 = 1FFB33B40592EC4ACF010825118D
FP_2 = 87ABAADB6FF5D9C32BC4A37E444520B4B53CDF6FC895928DB9D0C33DA3C49FBB76E61B7E5A5C8A0261C7F2472660616F
FPadd = 87ABAADB6FF5D9C32BC4A37E444520B4B53CDF6FC895928DB9D0C33DA3C49FBB76E63B798E108F954E12C1482E8572FC
FPsub = 78545524900A263CD43B5C81BBBADF4B4AC32090376A6D72462F3CC25C3B6043891A047BD9577B908A82DCBAE1C4B01D
FP_1nres = 1FFB33B40592EC4ACF010825118D
FP_2nres = 87ABAADB6FF5D9C32BC4A37E444520B4B53CDF6FC895928DB9D0C33DA3C49FBB76E61B7E5A5C8A0261C7F2472660616F
FPmulmod = FF6090F0BFD1EB90A69C836A3252B8B8621BBDCC10FBF01D1BA50A031EF4142BF38F4B195000EEE625A1AB818064B2DA
FPsmallmul = 013FD0050837BD3AEC160A5172AF82
FPsqr = 03FECD0406CDBC25D9B55539C126F4A1D43F3FCB20727F90E3F607A9
FPreduce = 1FFB33B40592EC4ACF010825118D
FPneg = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE003CC4BFA6D13B530FFF7DAEE72
FPdiv2 = 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000FFD19DA02C976256781041288C6
FPinv = 087BE1E4531A836E3EF28F5B63B1E0EB76AF1FA61832EB510295E493EFC2DBD5E003437A9FF474E45145DE30C5734D03
FPexp = 19774F54ABA28A78A985ACB6C85C4793413D8E5A771C2FE9C6DC743ACE7A22F733256D86DF6C59108F62E309031FD94C